For this assignment, I had to create a Google meter chart using Apache Wicket and the Google Chart’s api. Basically, the professor provided the setup of Wicket with the Jetty server so that the student’s can focus more upon the creation of webpages using wicket, rather than focus upon setting up a server with the Wicket framework.
Since I program JavaServer Pages using JavaServer Standard Tab Library for work, I am having problems with the Wicket Framework in numerous areas. At first I found the idea of placing the “wicket:id” tags inline with HTML to be a bit odd because I seemed as if I had to write code twice; first in the HTML, then in the Java source.
The other problem that I have is the method of passing parameters to Java. Generally when I submit a form to a new page, I am able to use firebug to view the get/post parameters that the web browser sends. Wicket places wicket:interface parameter inside the HTML form’s action attribute while also silently sending the parameters. This actually may be a bug in Firebug rather than Wicket because Wicket is not related to the method that the web browser sends the parameters.
Basically, my web application will store these sessions variables: image dimensions, graph title, graph axis bounds, and graph arrow index value. On the form to create the Google meter, I only have these values as input fields: graph title, graph axis bounds, and graph arrow index value. Each input field has a pattern validation method, but does not currently return any message input. I have not found out how to easily return an error message. In this same manner, I have not figure out how to validate the input against each other. For example, if the graph’s bounds range from 0 to 90, then the graph arrow cannot be set to index 100.
In terms of software engineering and web application development, I have tasted the complexity of the Wicket framework. Although Wicket is written using Java code, the actual Java objects and methods are specialized for web purposes. In my opinion it may be comparable to standard American English and Hawaiian Creole English where both are the same language, but Hawaii Creole has specialized vocabulary. In essence, Wicket’s complexity does not stem from the code syntax, but rather is based in having to understand its specialized Java methods along with the way to interface web pages with Java code.