| Version | Date | Description |
|---|---|---|
| 1.2-alpha1 | tbd | Wicket CVS HEAD development |
| 1.1.1 | 2006-01-25 | Wicket 1.1.1 |
| 1.1 | 2005-10-30 | Wicket 1.1 final |
| 1.1-rc2 | 2005-10-04 | Second release candidate for 1.1 |
| 1.1-rc1 | 2005-09-11 | First release candidate for 1.1 |
| 1.1-b4 | 2005-08-30 | Wicket 1.1 Beta 4 |
| 1.1-b3 | 2005-08-22 | 1.1 Beta 3 |
| 1.1-b2 | 2005-08-01 | 1.1 Beta 2 |
| 1.1-b1 | 2005-07-24 | 1.1.0 Beta 1 |
| 1.0.1 | 2005-07-17 | 1.0.1 |
| 1.0 | 2005-06-21 | 1.0.0 final |
| 1.0.0-rc3 | 2005-05-22 | 1.0 Release Candidate 3 |
| 1.0.0-rc2 | 2005-04-16 | 1.0 Release Candidate 2 |
| 1.0.0-rc1 | 2005-04-03 | 1.0 Release Candidate 1 |
| 0.9.19-beta | 2005-03-04 | Pre release candidate? |
| 0.9.18-beta | 2005-02-20 | Still more refactorings, documentation upgrades and bug fixes |
| 0.9.17-beta | 2005-01-26 | Major refactorings |
| 0.9.16-beta | 2004-12-26 | Really the last release before march to 1.0 |
| 0.9.15-beta | 2004-12-19 | Last release before march to 1.0 |
| 0.9.14-alpha | 2004-12-06 | State of CVS |
| 0.9.13-alpha | 25-10-2004 | State of CVS |
| Type | Changes | By |
|---|---|---|
|
back ported wicket:message tag functionality from 1.2 | Igor Vaynberg |
|
clarified PropertyModel javadoc Thanks to Frank Silbermann . | Igor Vaynberg |
|
Added check and better exception when servlet's init param is missing | Igor Vaynberg |
|
Added label tags for generated input tags in CheckBoxMultipleChoice and RadioChoice Fixes 1345198. | Igor Vaynberg |
|
Fixed autolink NPE problem | Juergen Donnerstag |
|
Fixed bug in button that caused the value attirbute to disappear after form submit Fixes 1357755. | Igor Vaynberg |
| Type | Changes | By |
|---|---|---|
|
fixed: Invalid Panel markup throws weird exception Fixes 1339686. Thanks to Janne Hietam???¨?ki . | Juergen Donnerstag |
|
Removed experimental code: page sets. | Jonathan Locke |
|
added ValueMap.isMutable() Thanks to Simon Berriman . | Eelco Hillenius |
|
introduced methods WebPage.beforeCallComponent and WebPage.afterCallComponent to enable you to put functionality 'around' any component handler call, like setting up dependencies, enfore authorization, do logging, etc. | Eelco Hillenius |
|
added RadioGroup and Radio form components Fixes 1329439. | Igor Vaynberg |
|
css can be overriden for tree Fixes 1312969. Thanks to Phil Kulak . | Eelco Hillenius |
|
fixes a bug in Link Fixes 1315986. Thanks to Igor Vaynberg . | Johan Compagner |
|
RequiredValidator for RadioChoice Fixes 1325155. Thanks to Ralf Ebert . | Johan Compagner |
|
Default converter throws exception for empty values Fixes 1327434. Thanks to Ralf Ebert . | Johan Compagner |
|
added ${label} to variables available for form component validator messages and implemented validator default messages accessible by the validators simple class name. Fixes 1249907. Thanks to Igor Vaynberg . | Juergen Donnerstag |
|
onload event handler does no longer string append on each render Fixes 1318438. | Juergen Donnerstag |
|
Allow for user specifc Localizer, e.g one using Spring MessageSources. | Juergen Donnerstag |
|
Bookmarkable Pages parameter encoding using URLEncoder.encode(value,charset)
For tomcat you have to use useBodyEncodingForURI="true" in the Connector configuration in the server.xml |
Johan Compagner |
|
Improved wicket:head mis-placement detection. Fixes 1318196. | Juergen Donnerstag |
|
wicket:head tags is no longer required in the inherited base panel. It is automatically inserted if required. Fixes 1318175. | Juergen Donnerstag |
|
wicket1.1 CVS HEAD depends on jdk1.5. Fixes 1317715. Thanks to Zoltan Luspai . | Juergen Donnerstag |
|
Add locale/style support for autolinks Fixes 1315708. Thanks to Ari Suutari . | Juergen Donnerstag |
|
Enhanced MockWebApplication For Testing Controller Logic Fixes 1287539. Thanks to Ingrem Chen . | Juergen Donnerstag |
| Type | Changes | By |
|---|---|---|
|
Wicket-extensions distribution doesn't contain javadoc. Fixes 1290799. Thanks to Jan Bares . | Martijn Dashorst |
|
Image components inside a border component are resolved by the parent of the border, thus keeping pre-viewability and componentization. Fixes 1312787. Thanks to Ari Suutari . | Juergen Donnerstag |
|
Borders now treat autolinked resources within wicket:head tags correctly Fixes 1289768. Thanks to Jan Bares . | Juergen Donnerstag |
|
skip content of script tag. Treat it as raw markup Fixes 1287640. Thanks to Jan Bares . | Juergen Donnerstag |
|
Wrong impl. on getParameters() of WebRequestWithCryptedUrl Fixes 1275726. | Johan Compagner |
|
Added serialversionuid to all the serialized wicket classes Fixes 1288373. | Johan Compagner |
|
Add WebPage(PageParameters) constructor (helps with your IDE's code completion features) Fixes 1284625. Thanks to Gwyn Evans . | Eelco Hillenius |
|
Link altered child visibility based on wicket id; hidden 'feature' is removed now. Fixes 1297446. Thanks to Sven Meier . | Eelco Hillenius |
|
Improved hangman letter images to use just one image reference. Fixes 1297449. Thanks to Sven Meier . | Eelco Hillenius |
|
doc fix for Button.setDefaultFormProcessing Fixes 1287878. Thanks to Leo West . | Eelco Hillenius |
|
Call invalidate after each setXXX invocation on DefaultButtonImageResource to force re-rendering Fixes 1266998. Thanks to Johan Compagner . | Eelco Hillenius |
|
Made WicketExampleHeader.html (X)HTML compliant Fixes 1267147. Thanks to Jan Bares . | Eelco Hillenius |
|
Link.autoEnable is now false by default, and when setEnabled is called, autoEnable will be set to false too as calling setEnabled is a consious action that has no effect when autoEnable is true Fixes 1251658. Thanks to Zhenbang Wei, Niclas Hedhman . | Eelco Hillenius |
|
Link.autoEnable is now false by default, and when setEnabled is called, autoEnable will be set to false too as calling setEnabled is a consious action that has no effect when autoEnable is true. Autolinks are autoEnabled by default, and so are the paging navigator links. CHECK YOUR CODE WHETHER THIS HAS CONSEQUENCES FOR YOU! Fixes 1240768. Thanks to Gili Tzabari . | Eelco Hillenius |
|
added class wicket.markup.html.image.resource.BlobImageResource to make working with images from databases easier. | Eelco Hillenius |
|
made Link.isEnabled non final so that users can more easily customize on/off behaviour. | Eelco Hillenius |
|
Models not detached when checkAccess() returns false. Fixes 1290352. Thanks to Phil Kulak . | Johan Compagner |
|
DatePicker fails when used multiple times in the same page Fixes 1290843. Thanks to Ralf Ebert . | Johan Compagner |
|
Buttons with empty value are not found as submit button Fixes 1298789. | Johan Compagner |
|
Persisted form values not loaded for bookmarkable/redirect pages Fixes 1298795. | Johan Compagner |
|
Moved Dojo and Scriptaculous dependencies out of core into contrib packages Fixes 1298082. | Martijn Dashorst |
|
Renamed pageableListViewNavigation field and getter in PagingNavigator Fixes 1288863. Thanks to Igor Vaynberg . | Martijn Dashorst |
|
Patch for error in javadoc in ApplicationPages Fixes 1294381. Thanks to Igor Vaynberg . | Martijn Dashorst |
|
form now checks on enctype attribute. If the attribute is multipart, the multipart property of the form object will be set to that. | Eelco Hillenius |
|
AJAX component doesn't get correct request parameter path Fixes 1292416. | Martijn Dashorst |
|
Made FileResourceStream non-final to support using custom content type schemas etc | Eelco Hillenius |
| Type | Changes | By |
|---|---|---|
|
Resource.setHeaders(WebResponse response) so that users can add any header they want (cacheable/content disposition) when the resource is served Fixes 1286190,1221732. | Johan Compagner |
|
AttributeModifer can't be shared between components Fixes 1286620. | Johan Compagner |
|
Infinite loop when adding attributemodifier twice Fixes 1286607. | Johan Compagner |
|
Moved resource reference classes from extensions into core Fixes 1255188. Thanks to Gili Tzabari . | Martijn Dashorst |
|
StaticFileResource wasn't used and seemed to be a relic that was refactored to PackageResource. StaticFileResource is removed from Wicket. Fixes 1263833. Thanks to Johan Compagner . | Eelco Hillenius |
|
Attributes should preserve case. Before this fix, attributes were converted to lower case. Not anymore now. Fixes 1286616. Thanks to Cameron Braid . | Eelco Hillenius |
|
Internal Error when using back buttons and Links in ListView Fixes 1284498. Thanks to Kenneth Foo Chuan Khit . | Johan Compagner |
|
Buttons can have a model now, for the buttons value attribute | Johan Compagner |
|
Odd behaviour when Wicket is the "root" (/*) servlet Fixes 1284029. Thanks to Gwyn Evans . | Johan Compagner |
|
Integrated classes from concurrent.jar into wicket.util, removing the need for concurrent.jar Fixes 1283301. | Martijn Dashorst |
|
null values in PageParameters are now ignored totally when generating urls, instead of resulting in 'x=null'. Fixes 1284508. Thanks to Matej Knop . | Eelco Hillenius |
|
fix: now allow multiple ajax handler implementations to contribute to the page's header Thanks to Arto Arffman . | Eelco Hillenius |
|
Redirect url generating issues. The url was generated before Component.onInternalBeginRequest() and that method can generate another version. | Johan Compagner |
|
added protected method Session.attach() that is called right before a session is used for a request | Johan Compagner |
|
Added FormComponent.getInputName() that by default generates a name from the Form (not included) to the component for better/smaller input names | Johan Compagner |
|
Clearer message when trying to render abstract Page. Fixes 1255061. Thanks to Gili Tzabari . | Juergen Donnerstag |
|
< wicket:head > behaviour slighty changed to be more intuitiv. | Juergen Donnerstag |
|
addToHeader() is nor longer required. Just use add() to add components which are inside a head section | Juergen Donnerstag |
|
xmlns:wicket="http:/..." is now removed from markup as well if setStripWicketTag(true) Fixes 1276640. Thanks to Simon Berriman . | Juergen Donnerstag |
|
< select .../ > is now allowed and will automatically be converted into a open-body-close tag Fixes 1243152. Thanks to Eelco Hillenius . | Juergen Donnerstag |
|
Fixed wrong implementation off getParameters() in WebRequestWithCryptedUrl Fixes 1275726. Thanks to Ingram Chen . | Juergen Donnerstag |
|
Unescaped < b > tag in XmlTag Javadoc Fixes 1280468. Thanks to Simon Berriman . | Gwyn Evans |
| Type | Changes | By |
|---|---|---|
|
CheckBoxMultipleChoice code submission Fixes 1276126. Thanks to Gwyn Evans . | Johan Compagner |
|
Strings.toMultilineMarkup doesn't generate valid xhtml Fixes 1275263. Thanks to Martijn Dashorst . | Johan Compagner |
|
ICompoundModel for compound models as an interface instead of a hard check for CompoundPropertyModel | Johan Compagner |
|
IComponentValueComparator for comparing current model data and new value | Johan Compagner |
|
Renamed Ajax stuff: IEventRequestListener - > IAjaxListener, IEventRequestHandler - > IAjaxHandler, AbstractEventRequestHandler - > AbstractAjaxHandler, DojoEventRequestHandler - > DojoAjaxHandler, ValidationEventRequestHandler - > ValidationAjaxHandler. Also renamed onEventRequest - > onRequest and rendered - > onComponentRendered. | Eelco Hillenius |
|
ListView removeLink notified only ListItem over model changes. It now notifies the ListView instead. Fixes 1267247. Thanks to Oliver Schoenherr . | Eelco Hillenius |
|
AJAX: removed Rico ajax support. Added script.aculo.us support. Fixed javascript registrations using the Wicket initializer. | Eelco Hillenius |
|
Incorrect 1.1-b3 examples documentation Fixes 1267370. Thanks to Stephen Bate . | Martijn Dashorst |
|
Factored out the commons-fileupload dependency. As for portlets we would need the development version of that lib, but the last release was in december 2004, I have no trust in how this library will be maintained. Also, the development version introduces a new dependency, commons-io, for just one concrete class. I lifted out the classes we use, put it in Wicket specific packages and cleaned up the deprecations. | Eelco Hillenius |
|
Implemented the basic changes that are needed support other kind of webapplications, such as portlets. The main change in this is that WebRequest is now abstract, and that in a servlet environment ServletWebRequest is the concrete implementation. The changes are mostly internals; the only break (actually for clients that depended on internals anyway) is that instead of doing: javax.servlet.http.HttpServletRequest httpRequest = ((WebRequest) cycle.getRequest()).getHttpServletRequest(); to get the servlet http request, you should now do: javax.servlet.http.HttpServletRequest httpRequest = ((ServletWebRequest)cycle.getRequest()).getHttpServletRequest(); NOTE: As a consequence of this and other changes, it is now possible to have requests that do not live in a session, or that the session is created after the request. This should never get you in trouble actually, except when you do: Session.get().getApplication() in a constructor of a wicket.Request subclass. Replace this with Application.get() (which was a better idea anyway). Thanks to Ate Douma . | Eelco Hillenius |
|
Exception when replacing non-existent components Fixes 1266090. Thanks to Ralf Ebert . | Juergen Donnerstag |
|
More explicit exceptions with WicketServlet Fixes 1259548. Thanks to Seth Ladd . | Juergen Donnerstag |
|
fixed bug where response encoding was null Fixes 1267120. | Juergen Donnerstag |
|
wicket:link tag now gets removed as well if setStripWicketTag(true) Fixes 1274320. | Juergen Donnerstag |
|
fixed problem with markup inheritance in combination with head and wi cket:head tags. Components inside these tags were not properly processed. | Juergen Donnerstag |
|
ByteArrayResource and DynamicByteArrayResource classes Fixes 1271523. Thanks to Ralf Ebert . | Johan Compagner |
|
ResourceLink and Resources Fixes 1271510. Thanks to Ralf Ebert . | Johan Compagner |
|
Document lifecycle of resources (idle/cache Timers on resources) Fixes 1260087. Thanks to Gili Tzabari . | Johan Compagner |
|
You can now provide a label component to synchronize ids with the datepicker component Thanks to Jan Bares . | Eelco Hillenius |
|
improvements: newValue is now called if the replacement value is null, allowing to supply new values just by subclassing. ReplaceModel can now be null. | Eelco Hillenius |
|
fixed problem with markup inheritance in combination with head and wicket:head tags. Components inside these tags were not properly processed. Fixes 1272174. | Juergen Donnerstag |
|
Child and Extend tags are no longer appearing in HTML when strip=true. Fixes 1272174. | Juergen Donnerstag |
|
Default date parsing is now in non-lenient mode, which means that it will fail fast. Fixes 1273827. | Eelco Hillenius |
|
DefaultResourceStreamLocator now implements List like methods to allow for more flexibility, similar to chaining | Juergen Donnerstag |
|
Invisible components are not rendered any more Fixes 1267233. | Juergen Donnerstag |
|
Fixed autolink support for none-html files Thanks to Gili Tzabari . | Juergen Donnerstag |
|
Invalid image URLs should produce HTTP 404 Fixes 1250570. Thanks to Gili Tzabari . | Johan Compagner |
|
Consistent homepage URL with NO_REDIRECT Fixes 1251385. Thanks to Gili Tzabari . | Johan Compagner |
|
Links to resources won't append the current locale of the user anymore to there url. The locale binding is done on request and now with the proper fallback. First the full locale is used. Then only the language and then no locale. If you set a different locale to a resource then the current locale then the locale is still appended to the url. So that one is forced to be used when the lookup occurs. Fixes 1265068. Thanks to Gili Tzabari . | Johan Compagner |
|
Paging refactor, now the paging code is extraced from PageableListView and it is moved to there own package, wicket.markup.html.navigation.paging. It has 2 interfaces now: IPageable and IPagingLabelProvider. IPageable should be used by components that are pageable. They have to return the total pagecount and be able to set and get the current page what that they are displaying. The IPagingLabelProvider can be used to override the default link text of a page link. Default it is just the page number. But with a labelprovider you can set this for example to [1-10],[11-20],[21-24]. The PagingNavigator or the PagingNavigation both have constructors for a IPagingLabelProvider. Fixes 1256084. | Johan Compagner |
|
UrlResourceStream.length() of changed resources Fixes 1254857. Thanks to Jan Bares . | Johan Compagner |
|
Refactored PackageResource to not depend on package anymore. Package provides the wrong classloader (if any) for loading the resource. It now uses the scope class, which is consistent with the rest of our resource story. Fixes 1263801. | Johan Compagner, Eelco Hillenius |
|
Lot's of serialization fixes, also refactored Static- > PackageResoures Fixes 1251853. | Johan Compagner |
|
Conent type of static resources is content/unknown Fixes 1251710. Thanks to Jan Bares . | Johan Compagner |
| Type | Changes | By |
|---|---|---|
|
Refactored PackageResource to not depend on package anymore. Package provides the wrong classloader (if any) for loading the resource. It now uses the scope class, which is consistent with the rest of our resource story. Fixes 1263801. | Johan Compagner, Eelco Hillenius |
|
Added debug toString() methods to all models in wicket.model Fixes 1260304. Thanks to Dariusz Wojtas . | Martijn Dashorst |
|
AbstractDetachableModel doesn't propogate attach/detach Fixes 1253113. Thanks to Cameron Braid . | Eelco Hillenius |
|
Javadoc missing for AbstractChoice Fixes 1247719. Thanks to Gili Tzabari . | Martijn Dashorst |
|
ListMultipleChoice doesn't support maxRows Fixes 1253999. | Martijn Dashorst |
|
PageParameters doesn't escape markup in values Fixes 1259701. Thanks to Francis Amanfo . | Eelco Hillenius |
|
Can't have two FeedbackPanels - fixed in conjunction with 1219458 Fixes 1263096. Thanks to Simon Berriman . | Martijn Dashorst |
|
FeedbackPanel produces illegal HTML - The initial state of the FeedbackPanel produces empty ul open and close tag since there is no initial message to display. This is illegal HTML according to the HTML validator (XHTML strict mode). Fixes 1219458. Thanks to Gili Tzabari . | Martijn Dashorst |
|
Fixed WicketServlet.doGet URI bug Fixes 1261052. Thanks to Jan Bares . | Juergen Donnerstag |
|
Extended markup inheritance to support panels and borders as well | Juergen Donnerstag |
|
Added MarkupContainer.iterator(Comparator comparator) | Jonathan Locke |
|
fix for classloading problems that caused problems loading markup/ resources for components that were loaded by another classloader than the current one. | Eelco Hillenius |
|
Fix HTML generated from AbstractChoice - Added missing space after 'option selected="selected"' Fixes 1249961. Thanks to Cameron Braid . | Gwyn Evans |
|
Added getBoolean() to ValueMap Fixes 1254379. Thanks to Phil Kulak . | Eelco Hillenius |
|
AbstractDetachableModel didn't propogate attach/detach Fixes 1253113. Thanks to Cameron Braid . | Eelco Hillenius |
|
Made LoadableDetachableModel.getNestedModel() non final Fixes 1253111. Thanks to Cameron Braid . | Eelco Hillenius |
|
Changed implementation of component map in MarkupContainer to an array model like the validators changed. This made a significant reduction in the size of pages, especially big pages. For example, nested shrank from 69,958 bytes to 55,231 bytes which is a savings of 14,727 bytes that was due to HashMap overhead. Very large containers may run slower, but most containers are likely to be faster as should be recursion/iteration. The main downside is that this code is very ugly and involves the same kinds of tests and casts that we did to make the validators implementation more space efficient. | Jonathan Locke |
|
refactored feedback completely. the new code is smaller, more powerful and more elegant. but it will break clients. most clients who are using simple features of the old feedback code will only have to (a) change their package imports from wicket to wicket.feedback (because the feedback stuff is several more class files that are polluting the root package and likely to grow due to the new filtering mechanism) and (b) delete any IFeedback argument to Form. clients who are looking for more powerful ways to filter their messages will now have completely unlimited capacity to do so through the new IFeedbackMessageFilt er interface and the default filter implementations ComponentFeedbackMessageFilter, ContainedByFeedbackMessageFilter and ErrorLevelFeedbackMessageFilter. the whole model for feedback messages has changed from one of component-orientation, which was a mistake, to one of message orientation. to give feedback, a feedback component implements the new IFeedback interface which contains just updateFeedback(). in this method, which is called before the page is rendered, the component can use the FeedbackMessages.messages() method in combination with a filter implementing IFeedbackMessageFilter to retrieve a list of appropriate messages. all feedback messages on the page are pushed through this filter. messages for which IFeedbackMessageFilter.accept() returns true are added to the list. for example, the new FormComponentFeedbackBorder uses the ContainedByFeedbackMessageFilter in its call to FeedbackMessages.messages(). The filter being used by the form component feedback border can be changed by overriding the getFeedbackMessagesFilter() method. This combination allows FormComponentFeedbackBorder to show its error indicator by default when a component that it contains has an error, but allows the user to override this behavior. another example is provided in FormComponentFeedbackIndicator, which is a panel showing a red star (and overridable with you own markup!) that shows or hides itself depending on the result of the filter returned by the overridable getFeedbackMessageFilter() method. if the filter accepts at least one message, the indicator will show itself. if no message matches the filter, the indicator will hide itself. note that feedback message filters do not necessarily have to have anything to do with components. you can install, for example, an ErrorLevelFeedbackMessageFilter which filters out messages below a certain threshold. or you can make a custom filter that uses any attribute of FeedbackMessage to filter on. the new FeedbackPanel also provides a getFeedbackMessageFilter() override. | Jonathan Locke |
|
Maximized efficiency of validators list by doing a little neat object casting in the private implementation. This also simplified things conceptually. | Jonathan Locke |
|
Made FormComponent more space efficient by using boolean flag bit in Component superclass to keep track of persistent boolean. | Jonathan Locke |
|
Changed RequestCycle.internalOnRuntimeException() implementation so that it checks the new Page return value from onRuntimeException. if onRuntimeException returns a Page, it will be redirected to. if not, wicket will use the default page. this provides a nice low-level way of doing something totally different to handle runtime exceptions. if you just want to change the basic look of your InternalErrorPage, you can still just subclass that. but if you want to do sophisticated things with runtime exceptions, you want to override RequestCycle's onRuntimeException method. | Jonathan Locke |
|
Refactored intializer code. Now wicket.properties is checked for each jar or root folder on the classpath. If it contains either initializer=[class] or [app-name]-initializer=[class], that class is instantiated and the IInitializer.init(Application) method is called on the resulting object. So, both libraries and applications can easily initialize their resources now. For example, the core wicket.properties file contains just this: "initializer=wicket.Initializer", which invokes the wicket.Initializer class with the application being loaded. The wicket.Initializer.init() method will contain a sequence of initializations. For example, "new TreeComponentInitializer().init(application)". This is a much better and safer and more Java way of initializing components for a library like core. Updated the images example to show how this is done. | Jonathan Locke |
|
Changed structure of process() back to its original no-parameter form and introduced a nice, logical return value in onFormSubmitted to determined whether to call delegateSubmit(). | Jonathan Locke |
|
HtmlHeaderContainer to supports markup inheritance. Fixes 1255293. Thanks to Gili Tzabari . | Juergen Donnerstag |
|
Changed StaticResourceReference and StaticResource to PackageResourceReference and PackageResource, then added an Application parameter to each to make that explicit. Added IComponentInitializer method that is called in Application constructor for each class listed in META-INF/wicket-component-initializers.txt. This will allow component developers to initialize resources when the app starts up. For applications, you can also create a META-INF/[ApplicationName]-wicket-component-initializers.txt if you want to preload resources or otherwise initialize for pages. Made changes to ImagesApplication to demo this, including an example that preloads the cancel button via META-INF/ImagesApplication-wicket-component-initializers.txt | Jonathan Locke |
|
Added min, max and length parameters to the error message interpolation of LengthValidator | Martijn Dashorst |
|
Added automatic multiPart support to Form. You can still call Form.setMultiPart() if you want to, but it is no longer necessary. Fixes 1255297. | Jonathan Locke |
|
Added WebSession.getId() and WebRequestCycle.getWebSession() | Jonathan Locke |
|
added AbstractReadOnlyModel Fixes 1250030. Thanks to Igor Vaynberg . | Eelco Hillenius |
|
allow protected access to AttributeModifier's replacement model Fixes 1249929. Thanks to Igor Vaynberg . | Eelco Hillenius |
| Type | Changes | By |
|---|---|---|
|
Upgraded dependencies to latests versions: log4j (1.2.8 - > 1.2.11), concurrent (1.3.3 - > 1.3.4). Fixes 1231300. | Martijn Dashorst |
|
Removed dependency on dom4j Fixes 1248759. Thanks to Brad Pardee . | Martijn Dashorst |
|
Folded UploadForm and Form into one (Form). Instead of using UploadForm, you can now just use Form and call setMultipart(true). Thanks to Cameron Braid . | Eelco Hillenius |
|
Made FormComponent.updateModel() public for AJAX support. Fixes 1246322. | Martijn Dashorst |
| Type | Changes | By |
|---|---|---|
|
removed wicketNamspace property from ApplicationSettings, instead clients should use the xmlns attribute in the markup file ( < html xmlns:namespace > ) Fixes 1223348. | Juergen Donnerstag, Eelco Hillenius |
|
Component.setShouldEscapeModelStrings renamed to setEscapeModelStrings | Eelco Hillenius |
|
Buttons now have an 'immediate' property. If true, this button behaves much like a normal link; no validation nor updating of the nested form components is done automatically in that case. This property is false by default. | Eelco Hillenius |
|
Only validate components that are visible | Eelco Hillenius |
|
setStripWicketTags now takes Wicket namespaces (setWicketNamespace) into account. Fixes 1216017. Thanks to Janne Hietam???¨?ki . | Juergen Donnerstag |
|
Added support for JavaScript and CSS. Please see the Wiki for more details. | Juergen Donnerstag |
|
Added component wicket.markup.html.include.Include for including content from non-Wicket resources. | Eelco Hillenius |
| Type | Changes | By |
|---|---|---|
|
FeedbackPanel: made some methods that were not meant for overriding final , and added methods that make extending feedbackpanel easier Thanks to Phil Kulak . | Eelco Hillenius |
|
fixed bug in AbstractPropertyModel which gave problems using custom converters (overriding getConverter for a component) with compound property models Thanks to Adam Howard . | Eelco Hillenius |
|
ComponentStringResourceLoader: resources are now inherited from parent classes when components have been subclassed Thanks to Jonathan Carlson . | Chris Turner |
| Type | Changes | By |
|---|---|---|
|
StaticResourceReference now binds itself immediately so clients don't have to know about the binding internals. | Eelco Hillenius |
|
Pageable list view navigator did not handle the "last" link properly in situations where additional elements have been added to the underlying list. Fixes 1209753. | Juergen Donnerstag |
|
Image didn't like webapps with urlpattern set to /*. It does now. Fixes 1213229. | Eelco Hillenius |
|
Fixed negative numbers in PageParameters. Fixes 1275631. | Martijn Dashorst |
|
added PageableListView.setRowsPerPage | Eelco Hillenius |
|
Fixed converters once and for all. Null check results so that e.g., empty strings for numbers (e.g.) now return null instead of throwing a NPE Fixes 1211663. Thanks to Martijn Dashorst . | Eelco Hillenius |
|
The UploadForm now considers the encoding Fixes 1209027. | Eelco Hillenius |
|
By means of Component.setRenderBodyOnly(boolean) it is now easily possible to print the tag's body only. This is e.g. necessary with < span > tags and Panels where in cases you want to be strictly HTML compliant the < span > tag itself must be removed. The (tag's) body will always be printed. | Juergen Donnerstag |
| Type | Changes | By |
|---|---|---|
|
Added constructors with just the id to the Choice component to be consistent with other Wicket components. | Eelco Hillenius |
|
Strings.escapeMarkup now properly escapes unicode. | Eelco Hillenius |
|
Made the rendering strategy pluggable. From javadoc of ApplicationSettings:
renderStrategy- Sets in what way the render part of a request is handled. Basically, there are two different options:
|
Johan Compagner, Eelco Hillenius |
|
Fixed a bug that made MostRecentlyUsedMap (used to store page in the session) behave like a MostRecentlyAddedToMap. Fixes lots of frames/ popup problems in one strike. | Eelco Hillenius |
|
Added method setChoices and some np checks to AbstractChoice Thanks to Jonathan Carlson . | Eelco Hillenius |
|
Implemented support for obfuscating URLs Fixes 1169374. | Juergen Donnerstag |
|
Fixed Javascript parse error. CDATA section are properly handled now. Fixes 1192572. | Juergen Donnerstag |
|
Refactored resources and fixed some issues along the way. The major change is that we removed ImageResource from the inheritance tree. So, if you have compile problems, replace any reference to ImageResource with wicket.markup.html.WebResource. Furthermore, StaticImageResource and StaticImageResourceReference are renamed to StaticResource and StaticResourceReference, as it is perfectly acceptable to reference e.g. a PDF (we did some testing with this as well). Also, as we fixed a localization bug in this, you could for example package resources like 'mydoc.pdf' and 'mydoc_nl.pdf' and reference them with a StaticResource(Reference), and let Wicket find out which one should be loaded. | Johan Compagner, Eelco Hillenius |
|
ResourceLinks were not binded for static resources. Fixes 1188417. | Eelco Hillenius |
|
Application is not serializable. Application in StaticImageResource is now transient and is set just before it is needed. Fixes 1192671. | Johan Compagner |
|
Nesting of message receivers should work without any problems due to the recent feedback message refactorings. Fixes 1197005. | Eelco Hillenius |
|
Instead of throwing an exception when a request could not be processed, Wicket now sends a 404. Fixes 1198740. | Eelco Hillenius |
|
in Form: Form components were persisted before the form was updated. | Eelco Hillenius |
|
When the upload does not validate, super.onSubmit will now not be called anymore. | Eelco Hillenius |
|
It is now possible to set a Comparator for sorting messages on both FeedbackPanel and FeedbackMessagesModel. | Eelco Hillenius |
|
Refactored feedback message handling to be independent (using pull models) of the flow of execution of a page again. This makes it easier to use, and results in less spagethi code. Introduced IFeedbackBoundary that is a tagging interface to implement message hierarchy blocks. Currently it is implemented by Page and Form. IFeedback now has one method that can be used b y implementing classes to set (override) the actual component from where messages are collected. Form uses this to set the collection point when a IFeedback instance is provided. The add/remove methods of IFeedback are removed. Made both FeedbackPanel and FormComponentFeedbackBorder non-final, so users can provide their own markup. Also, FeedbackMessagesModel that is used by FeedbackPanel is public, so that it can be used for custom implementations without having to know too much about the internals of message collecting. | Eelco Hillenius |
|
Added escapes for & , " and ' in Strings utilities class. | Eelco Hillenius |
|
This bug prevented running Wicket on VM's that don't use SUN's security implementation classes. Don Ledford reported it for Blackdown 1.4.2 j2sdk. Removed SunJceCrypt's static initializer and put it in it's constructor. Application now reuses the ICrypt instance once it is created, so that it is easier to provide a dummy one. The current ICrypt instances seem to be thread safe, so that shouldn't give any problems, and users can override the factory method if they want to use non-thread safe instances. Fixes 1196140. | Eelco Hillenius |
|
In ResourceTest URL.getFile() was used while it should use a URI to construct a file. | Eelco Hillenius |
|
ClassCastException on ListItem.onAttach using CompoundPropertyModel. When using a CompoundPropertyModel to bind a list to a listview, the ListItem.onAttach throws a ClassCastException. This is because the model of the ListView is not used to cast to an element, but the root model. Fixed by using ListView.getModelObject() instead of having the ListItemModel try to retrieve the model itself. The ListItem now takes a ListView instead of a ListModel, and requests the model on the listview. Fixes 1194464. | Martijn Dashorst |
|
RequestCycle.onEndRequest not called after Exception. When an exception occurs, onEndRequest is not always called. This results in open database connections etc. when these are allocated and deallocated using a custom RequestCycle. Fixed by moving the endRequest method calls into the finally block of RequestCycle.request(). Fixes 1194460. | Martijn Dashorst |
|
Fixed the beginning/ending callbacks of pages. This was not done properly for listener interface calls: internalBeginRequest was called to late, or in case the listener set another page to render, not at all. The same problem applied to internalEndRequest. As this method is where the component models must be detached (see earlier fix), this had the effect that models were often not detached. Which in turn gave problems - besides a temporary memory leak - with lazy Hibernate initialization etc. | Eelco Hillenius |
|
Fixed JavaScript parsing bug as reported on the user list by Andrew de Torres. Fixes 1192572. | Juergen Donnerstag |
|
Validators (LengthValidator, IntegerValidator and PatternValidator) now only check non empty values. | Eelco Hillenius |
|
Made a clear seperation between IModel.getModel(), IModel.getNestedModel() and IModel.getObject(). getNestedModel()/getRootModel() semantics getNestedModel() and getRootModel() returned Objects. They now return IModel. Fixes 1190287. | Martijn Dashorst |
|
Added new Model LoadableDetachableModel that makes working with DetachableModels super easy. | Eelco Hillenius |
|
PageableListviewNavigation number of pages shrinks when the number of listview items gets smaller. This becomes a problem when the number of listitems gets bigger again. Fixes 1190208. | Johan Compagner |
|
setModel triggers a model clone. It shouldn't as in fact it is a component state change. Fixes 1190148. | Johan Compagner |
|
Fixes that BoundCompoundPropertyModel.Binding doesn't implement Serializable. Fixes 1189444. | Martijn Dashorst |
|
Made a number of small refactoring changes to support url path encryption. The code is not that far from working, but the feature is turned off. Added a method Session.getPathCrypt() to get an instance of ICrypt for encrypting url paths for a given session (it's probably not a good idea in general to encrypt all paths for an application with the same key). Moved ICrypt and related implementations to wicket.util.crypt since the usage is more general now. Made a first pass at url encoding that doesn't work when path encryption is enabled. Also made a first pass at url decoding/reparsing that doesn't quite work either. If someone out there has the time to fix my implementation (I don't think it's too far off), we could probably ship this with 1.0. | Jonathan Locke |
|
Added RadioChoice and multiple select lists to the form input example. Also fixes issue 1185624 Fixes 1185624. | Eelco Hillenius |
|
'-' in a attributes are parsed good now. Fixes 1187903. | Juergen Donnerstag |
|
added support for redirecting to external url's (e.g. Google) directly by introducing RedirectPage. Also added an example of this in the link-o-matic example. | Eelco |
|
Form validation now occurs for every form submit in Form.onValidate(). If the form validates, Form.onSubmit is called unconditionally. If there is more than one button on the form and the form validates, then Button.onSubmit() is also called. Since multi-button forms (which are a common case) are unlikely to want to override Form.onSubmit(), made this method non-abstract. | Jonathan Locke |
|
Enhanced CompoundPropertyModel's propertyType method to use the value from any TypeValidator attached to the FormComponent. Also, removed type field from TextField in favor of using the more space-efficient FormComponent.getValidationType() method (which was added to implement CompoundPropertyModel.propertyType()). If no TypeValidator has been assigned, the default OGNL conversion will still occur. Fixes 1186940. | Jonathan Locke |
|
Fixed problem with check in add() when undoing a remove operation. Added internalAdd() method to MarkupContainer and used it from Remove.undo() in the undo version manager. Fixes 1186293. | Jonathan Locke |
|
In a search form containing textfields, the input value is set to the empty string when no value is in the textfield. This should be configurable, so the user has the option to override this behaviour. Default usage should be that the value becomes NULL instead of empty string. Fixes 1188128. | Martijn Dashorst |
|
added support for CompoundPropertyModels to ListView, thus making it possible to add a ListView to a Form with a list property as the model without having to specify a seperate list model. Fixes 1186504. | Martijn Dashorst |
|
removed final from getLocale to enable users to pin a locale (or use another algorithm) for custom sessions. | Eelco Hillenius |
|
Added additional constructor for MultiLineLabel for it to work with CompoundPropertyModels. | Martijn Dashorst |
|
Made constructor of ListItem public as class ListItem is public, and ListView.newItem is overrideable while returning ListItem. | Eelco Hillenius |
|
as in ListView accessor getOptimizeItemRemoval() is overrideable, the field should never be used directly. Fixed that. | Eelco Hillenius |
|
Introduced property optimizeItemRemoval for tree as well. Many internal improvements that fixed some unreported issues. Tree is versioned again. | Eelco Hillenius |
| Type | Changes | By |
|---|---|---|
|
tree does not need versioning by default. Fixes 1178309. | Eelco Hillenius |
|
Wickets mistakes < a .../ > for an open-tag. Fixes 1161111. | Juergen Donnerstag |
|
Tree can be extended by providing a custom panel for a node. This way the tree can be used to nest arbitrairy components, like input fields and (more) images. | Eelco Hillenius |
|
modelChanging and modelChanged were never called in the link handlers of the delete and moveUp/Down listview links Fixes 1183947. | Eelco Hillenius |
|
Tree is not a listener for tree events by default, as registering the tree as a listener by default can lead to memory leaks | Eelco Hillenius |
|
Wrap catched exception so that we not only get the 'markup not found exception', but also what caused the problem in the first place. | Johan Compagner |
|
Removed 'removeAll' from the render method in ListView | Eelco Hillenius |
|
Added extra null pointer check in MultipartWebRequest | Eelco Hillenius |
|
Resources were requested from the servlet context by relative path. This gives problems on some containers (like Jetty 5.1.x) with a paths like 'mysubdir/foo.css'. The change is: final String url = '/' + getWebRequest().getRelativeURL(); | Eelco Hillenius |
|
Added updateCluster boolean to RequestCycle. As a request is parsed, this boolean is set in order to determine if the end of the request cycle should update the cluster. In WebRequestCycle, if the resourceReference call returns true, there was a bug where parseRequest would return true, which is incorrect. Now, resourceReference() and staticContent() both return false (since they don't involve pages). In addition, both set the updateCluster boolean to false. Then each of bookmarkablePage, callComponentListener and homePage() set updateCluster to true. Finally, in Page.onRedirect, updateCluster is set to false to override the true value set in callComponentListener for simple page redirects. Fixes 1182158. | Jonathan Locke |
|
Added PageMap.remove() method and PopupCloseLink class, which calls this method on Page.getPageMap(), which is now public. A little trick was necessary to invoke the java code AND close the window. When PopupCloseLink is clicked, the page map is removed and then the response page is set to a nested class with markup found in PopupCloseLink$1. This markup contains javascript that closes the window when it is loaded. Fixes 1182728. | Jonathan Locke |
|
Factored out SharedResources class from Application and made some minor improvements to the static path() methods. This will clear the way to make Session relative SharedResources in the future. It also will enable us to make changes to the SharedResources class without having to add more methods to Application, which is already complex enough. | Jonathan Locke |
|
Any image path is now part of the resource key for shared images. Fixes 1181983. | Jonathan Locke |
|
Added some parameter validation and finalized some methods that should not be overridden. In particular, Component.getSession() is now final as well as Component.getId(). The change to Component.getId() also eliminated a field in Page that is really not necessary. The result of these changes is a tighter API. There will be more changes of this nature as we lock down the API for 1.0 final. | Jonathan Locke |
|
Minor refactoring in Application and ApplicationSettings. Changed Application.sourcePath property to resourcePath since that's what it really is. Changed getCrypt() and getMarkupParser() to newCrypt() and newMarkupParser() since these are really factory methods and they should indicate that. Made a bunch of methods final that should be and reformatted some stuff. Would like to make getSettings() final too so that hotspot will inline accesses. Unfortunately, some Spring related subclass has already overridden the method and so now we cannot make it final... | Jonathan Locke |
|
Added FLAG_USER* bits to Component and made setFlag/getFlag protected. This will help avoid flag bit conflicts and will also make it possible to reduce the space needs of Components other than Page (which already uses bits in Component.flags). | Jonathan Locke |
|
Added Page.setDirty/isDirty and changed Session to replicate each dirty page in the session based on this flag. Then added code that sets the flag when a Page is modified (in case someone changes some random page), but also set flag on by default and each time a Page object is pulled out of a Session PageMap. This will cause the default replication behavior described in this bug. Unfortunately, even though the change seems to work fine, there appears to be a problem with one of the test cases. It looks like MockWebApplication was subtly dependent on something I changed and I suspect the test case rather than the code since all the examples seem to work fine. So I'm checking in and hoping someone can take a look at the test since I can't make time for a few days. Fixes 1177751. | Jonathan Locke |
|
Javadoc enhancement for ResouceReference. Fixes 1176169. | Jonathan Locke |
|
Changed my mind about defaulting resources that are not lazy-inited. If a resource like "plus-sign.gif" is requested in the netherlands (locale nl_nl), first an attempt is made to load "plus-sign_nl_nl.gif", then the lazy init code is given a chance to create a resource for the nl_nl locale. Then if /that/ doesn't create a resource, we default it to "plus-sign.gif". This kind of defaulting behavior is important in supporting non-localized static resource references (which would not really be possible without this change). | Jonathan Locke |
|
Fixed a bunch of unreported problems with image resources. The new method Application.localizedPath(name, locale, style) constructs more reasonable paths for images by inserting the locale just before the extension (instead of after it, which looks wrong and confusing). This method will omit the locale if it is equal to Locale.getDefault(), which means foo_en_US.gif and foo.gif are the same resource in the US. Updated Application.getResource() methods to use this method when searching for a resource in the shared resource cache. The new getResource() method will actually fail if it cannot find a resource that matches the locale (as opposed to defaulting to the default locale). This will help keep localization problems to a minimum and also ensures that lazy initialization will work (which it did not, before). Undid a change that Johan made to InputForm since we do not search for anything other than Locale.toString(), meaning nl and nl_nl are not equal in Wicket at this time (which is really a bug if anyone wants to report it). Finally, made changes to the static image resolution code so that it automatically creates shared resources! This means that the code for the Pub example did not have to change in order to be efficient /and/ localized. | Jonathan Locke |
|
Changed SharedResource to ResourceReference. ResourceReference does not inherit from Resource since it is a reference to a resource and not an actual resource now. Added StaticImageResourceReference to make it easy to create references to static image resources. See the Tree class for an example usage. SharedResourceLink was changed to ResourceLink. Fixes 1177942. | Jonathan Locke |
![]() |