GeertjanWielenga (2) [Avatar] Offline
-- Page 5: "Cricket is mostly popular in The United Kingdom and South Asia where it is by far the most popular sport in several countries including India and Pakistan." What about South Africa and Australia? And New Zealand? I.e., probably best to refer to them as the group of ex-British colonies.
-- Page 6: " not anything related to 22 men running after a red ball in white suits on a green field". That never happens in cricket. Only two batsmen from one team are on the field, together with everyone from the other team. That means 13 at most. And not all of them ever run after the ball at the same time, as in soccer. (And it's a game that's also played by women.) Maybe instead: "...has no connection whatsoever with two batsmen and a bowler."
-- At some point I'd like to know WHY Wicket is called Wicket, but that's never explained and is something other readers will wonder about too.
-- Page 7: "What is you can above..."
-- Page 7: "...which sends directly returns a response."
-- Page 8: "And these HTTP request/ response cycles are rather crude." -- here I think there shouldn't be a space after the slash, I've seen this in other places in the book too.
-- Page 10: "Think about the tabs of last example,..."
-- Page 10: et-cetera
-- Page 11: fahsion
-- Page 14: "...they way you code with Wicket..."
-- Page 14: focussed
-- Page 15: "or maintaining like layout"
-- Page 15: "will help you find your way around Wicket smoothly": easily is better than smoothly here
-- Page 15: "making them easy to understand reason about"
-- Page 15: "and the fact that the web is build"
-- Page 15: place holders: this should be one word
-- Page 15: "In the examples in this section, and throughout this book you will encounter": there should be a comma after "book"
-- Page 19: "Let’s see how this looks like": "how" should be "what" (also on page 143 and 145)
-- Page 23: "...class that echoes the message send using the form..."
-- Page 25: Mixed metaphor: "Also, by lifting the veil on the magical Wicket box..."
-- Page 25: "we hope" is followed in the next paragraph by "I would like to introduce"
-- Page 25: "Like many Dutch" should be "Like many Dutch people"
-- Page 25: "award winning store" should be "award-winning store"
-- Page 25: "I really crave for a piece" should be "I really crave a piece"
-- Page 25: "well ripened Dutch farmer’s cheese" could imply that the Dutch farmer is well-ripened
-- Page 25: "I didn’t think their selection and pricing wasn’t particularly impressing either" -- double negative and "impressing" should be "impressive"
-- Page 26: "things like browsing through the catalog and place orders", here "place" should be "placing"
-- Page 27: "Let’s take a closer look at each one of these classes next." -- should omit "one"
-- Page 29: "It doesn’t sound a fresh anymore..."
-- Page 39: "I have seen some people argue it is a fight of the past. But we believe that": first "I" is used, then "we".
-- Page 39: Not a complete sentence: "Whatever that data is, and whatever the components in question want to do with it.
-- Page 39: "Labels use models to replace their tag bodies, list views to get the rows to render, text fields to render their value attribute and to write user input to, and so forth." should be: "Models are used by labels to replace their tag bodies, list views to render their rows, text fields to render their value attributes and to write user input to, and so forth."
-- Page 40: "for which the system is build"
-- Page 40: Here "textfield" is one word, but elsewhere it is "text field", while on page 41 it is "TextField".
-- Page 40: "User input can range from the value of textfield, a checkbox selection to the user clicking a link or pushing a button."
-- Page 41: "a component uses it's model"; page 43: "...first handles it’s own tag..."; page 45: "...which would load it’s parent..."; page 47: "...this model throws away it’s temporary object..."
-- Page 42: "...without actually have to write a special link class..."
-- Page 43: " the appropriate values. After which..."
-- Page 44: "...which will explained in a later chapter..."
-- Page 44: "wicket" should start in uppercase
-- Page 45: "Hibernate generates proxy object in the background..."
-- Page 47: "Nice about models like these is that..."
-- Page 47: "You already learned that..." should be "You already know that..." or "Remember that... ?"
-- Page 48: "...and that request cycles handles separate requests..."
-- Page 108: "We will even go as far so you can roll your own..." should be "We will even go so far that you'll be able to roll your own..."
-- Page 108: "recoup" should be "recap"
-- Page 109: "fulfill" should be "fulfil"
-- Page 110: Here Swing models should be mentioned, because they work in the same way: "Conversely from our point of view the model acts as the actual value of the component. Instead of asking the component for its value we ask the model, and instead of setting the value on the component, we change the model value."
-- Page 112: Incomplete sentence: "In the next section we will take a look at a way to remedy this using property"
-- Page 112: "We already touched on the subject of..."
-- Page 113: " a Wicket Extensions component..." You need to add a footnote explaining that this is not in the Wicket core libraries, but in a separate library, and specify where to find that library, so that someone can try out the example that you're describing here.
-- Page 115: "There is a good reason for it."
-- Page 121: An extra parentheses at the end of this statement:
WebMarkupContainer parent = new WebMarkupContainer("address"));
-- Page 122: "This is not an cataclysmic event,": here "an" should be "a"
-- Page 123: "There still remains one thing that is an open issue with the compound property models.": should be: "We still have one open issue in relation to compound property models."
-- Page 133: "by sacrificing a bit performance"
-- Page 138 (and elsewhere): "Let’s get a reminder of..." should be "Let's remind ourselves of..." or "Let's recap how..."
-- Page 140: "To Wicket has a special Label component..." should not have "To"
-- Page 142: "Displaying text on the web is rewarding in its own," should not have "in its own"
-- Page 143: "Taking a stroll about memory lane": "about" should be "along"
-- Page 154: "Please take a look at the following example": here "please" seems unnecessary
-- Page 155: "...the menu can look anyway you want...": here "anyway" should be "any way"
-- Page 156: "...we created a menu item abstraction, and provide our page..."
-- Page 254: "jar" is in lowercase here and throughout the book; I believe it should be uppercase: "JAR"
-- Page 273: "which’ use got famous"
-- Page 351: "for a french visitor"

-- Page 76: "...separate the how things look like..."
-- Page 89: "To make things more clear..."
-- Page 89: "So what is happening?" should be "So what's going on?"
-- Page 90: " java file with an empty class..."
-- Page 91: "setResponsePage(new CheckoutPage());" but elsewhere it is called "CheckOut"
-- Page 94: "Now it is time to make the wallets of our customer a bit lighter."
-- Page 95: Screenshot within paragraph.
-- Page 97: Closing parentheses missing in the "form.add" lines.
-- Page 102: "you can look at table X in chapter 7"
-- Page 102: "Chapter X will also show you how to customize the validation messages..."
-- Page 102: "...our customers like to see what they are actually going to receive in return..."
-- Page 103: "...without much fuzz."
-- Page 103: "We have dedicated two whole chapters to this subject..." (Which ones?)
-- Page 104: "Now that we have a simple, and do nothing Java class..."
-- Page 106: " probably not the first thing that comes to your mind when you want to build..."
-- Page 106. Code is wrong. Should be this:
add(new PagingNavigator("navigator", cheeses));
add(new ShoppingCartPanel("shoppingcart", getCart()));
add(new Link("checkout") {
public void onClick() {
setResponsePage(new CheckOut());