The wicket team is pleased to announce the Wicket 1.0.0-rc2 release!

http://wicket.sourceforge.net

Wicket is a Java web application framework that takes simplicity,
separation
of concerns and ease of development to a whole new level. Wicket pages
can be
mocked up, previewed and later revised using standard WYSIWYG HTML design
tools. Dynamic content processing and form handling is all handled in Java
code using a first-class component model backed by POJO data beans that can
easily be persisted with frameworks like Hibernate.

Changes in this version include:

  Fixed bugs:

o tree does not need versioning by default. Issue: 1178309.
o Wickets mistakes <a .../> for an open-tag. Issue: 1161111.
o modelChanging and modelChanged were never called in the link handlers of
  the delete and moveUp/Down listview links Issue: 1183947.
o Tree is not a listener for tree events by default, as registering the
tree
  as a listener by default can lead to memory leaks
o Wrap catched exception so that we not only get the 'markup not found
  exception', but also what caused the problem in the first place.
o Removed 'removeAll' from the render method in ListView
o Added extra null pointer check in MultipartWebRequest
o 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();
o 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. Issue: 1182158.
o 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. Issue: 1182728.
o Any image path is now part of the resource key for shared images. Issue:
  1181983.
o 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. Issue: 1177751.
o Javadoc enhancement for ResouceReference. Issue: 1176169.
o 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. Issue:
  1177942.
o Fixed shared resource localization problem manifested in forminput
example.
  Image resources are now correctly shared under a URL that includes locale
  and style (as originally intended). Switching between locales will be
  correct and efficient now. The earlier code would result in unpredictable
  locale shifts when used by multiple users. It would also be very
  inefficient. Issue: 1175835.

  Changes:

o 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.
o 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.
o 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.
o 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...
o 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).
o 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).
o 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.
o Fixed problem where error pages failing could cause recursive
redirection.
  In doing this, added Page.isErrorPage() method that returns false by
  default. Error pages override this to let RequestCycle know when a
  recursive failure is happening.
o Moved WebResource from http protocol package to markup.html package,
which
  seems more appropriate since it's used in web markup by ImageResource
which
  is in markup.html.image.resource.
o Added UploadForm.setMaxSize() method to limit the size of uploads. This
  change includes an update to the upload example which shows how to use
the
  feature and localize the strings involved.
o Changed message model for "exception" to use Exception object:
  model.put("exception", e); This will allow full access to exception
  properties in localized Strings. In particular, you can now say
  ${exception.localizedMessage}.
o Added Component.getString(final String key, final IModel model, final
  String defaultValue)  

Have fun!
-The wicket team
     


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to