Pax Wicket - 0.6.0

Pax Wicket - 0.6.0

Release 0.6.0 (2011-06-08)

Overview

This release is the first release since almost three years again. While the base structure of pax-wicket is still the same it contains updates to the latest software components (including Wicket 1.4.17). 

  • It is possible to register Filter now as OSGi Services similar as formerly in the web.xml (a priority property defines the order).
  • Almost everything which is done formerly in code could be done now by using spring-dm. This reduces the complexity of the code drastically since most factories could be abstracted quite simple by spring. (The sample application is now available as spring and "regular" version).
  • PaxWicketBean annotation allows injection of beans via the Spring-Application Context.
  • Stabilized classloader/serialization.
  • Added Karaf Feature files for service and samples.
  • Added PaxWicketMountPoint annotation to automatically mount pages at specific places.
  • Added pax-wicket-test project containing classes to create unit-tests for classes using the PaxWicketBean annotation and wicket-tester.
  • Introduced easy testability by using "mvn clean install", "cd samples", "mvn pax:provision" to start pax-wicket including the examples

Besides the changes visible for users the code had gotten drastically changes

  • Increase jdoc at various places
  • Remove tons of warnings
  • Changed to Java Coding Standard
  • Adapted license on all files
  • Cleanup code and file structure

Maven

All artifacts are distributed and available via the maven central repository

<!-- Wicket & Pax Wicket Core -->
<dependency>
  <groupId>org.ops4j.pax.wicket</groupId>
  <artifactId>pax-wicket</artifactId>
  <version>0.6.0</version>
</dependency>
<!-- Pax Wicket Test Utilities -->
<dependency>
  <groupId>org.ops4j.pax.wicket</groupId>
  <artifactId>pax-wicket-test</artifactId>
  <version>0.6.0</version>
</dependency>

Karaf

Pax Wicket comes with Karaf feature files for the pax-wicket core and for the samples:

features:addurl mvn:org.ops4j.pax.wicket/pax-wicket-features/0.6.0/xml/features
features:addurl mvn:org.ops4j.pax.wicket.samples/pax-wicket-samples-features/0.6.0/xml/features

Source code

You can browse, download and checkout the source code at http://github.com/ops4j/org.ops4j.pax.wicket/tree/wicket-0.6.0/.

Detailed Changelog

In detail we've fixed 112 issues in this release which are:

Bug

  • [PAXWICKET-2] - Need to create a handle to Application.init()
  • [PAXWICKET-8] - department-store/floor needs NullArgumentException in Eclipse
  • [PAXWICKET-9] - menus sample broken
  • [PAXWICKET-10] - Cannot store data in session context
  • [PAXWICKET-11] - ZipExceptions when starting OSGi containers
  • [PAXWICKET-14] - Need to remove extra slashes in URL
  • [PAXWICKET-15] - URL produces "//" in link in https mode
  • [PAXWICKET-16] - Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory`
  • [PAXWICKET-17] - Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory`
  • [PAXWICKET-19] - Problems with classloading and serialization
  • [PAXWICKET-20] - CSS resources are not resolved properly
  • [PAXWICKET-25] - Cannot deserialize proxy classes
  • [PAXWICKET-28] - PaxWicketApplicationFactory should not be final
  • [PAXWICKET-29] - no session
  • [PAXWICKET-31] - Maven fails with: URL [mvn:org.ops4j.pax.drone/pax-drone-runtime/0.2.1-SNAPSHOT] could not be resolved.
  • [PAXWICKET-34] - cannot create regular pages
  • [PAXWICKET-35] - after login, redirection is wrong
  • [PAXWICKET-36] - InputStream not closed in DevModeObjectInputStream
  • [PAXWICKET-37] - No way to inject a custom ISessionStore
  • [PAXWICKET-38] - Need to change injection of ISessionStore to SessionStoreFactory
  • [PAXWICKET-39] - Cannot instantiate a Page using constructor Page( PageParameters )
  • [PAXWICKET-41] - PageFinder ignores bundle context
  • [PAXWICKET-43] - Artifact not resolved during integration tests
  • [PAXWICKET-44] - NPE thrown when resolving resources
  • [PAXWICKET-45] - NPE thrown when resolving resources (2)
  • [PAXWICKET-46] - Remove wicket-datetime project
  • [PAXWICKET-48] - Remove PaxWicketRequest
  • [PAXWICKET-49] - Update to Wicket 1.4.8
  • [PAXWICKET-51] - Synchronization problems in DelegatingClassResolver
  • [PAXWICKET-70] - Make pax-wicket importing without errors in eclipse using eclipse:eclipse
  • [PAXWICKET-77] - Current equinox-target-platform is out-dated
  • [PAXWICKET-83] - Some new libraries also request context from pax-wicket out of mountpoint
  • [PAXWICKET-86] - Wrong parent correlations between bundles
  • [PAXWICKET-98] - Pax-Wicket required jetty-plus to run
  • [PAXWICKET-121] - PaxWicketApplication does not register applicaiton properties

Improvement

  • [PAXWICKET-3] - (Site) On Concepts page, create links when referring to other concepts
  • [PAXWICKET-4] - (Site) Define additional concepts on Concepts page
  • [PAXWICKET-5] - (Site) Decide on (and use) standard notation for concepts, classes, etc.
  • [PAXWICKET-6] - Change name from service-xxx.jar to something more meaningful
  • [PAXWICKET-12] - Include RootContentAggregator in contructor of AbstractPageFactory?
  • [PAXWICKET-13] - Need to create a createWicketComponent(String, MarkupContainer) method
  • [PAXWICKET-24] - Change priority of log message on line 115 of DelegatingClassResolver from "warn" to "info"
  • [PAXWICKET-32] - PaxWicketApplication should set the application key to the application name
  • [PAXWICKET-33] - Provide support for serialization / deserialization of enums
  • [PAXWICKET-40] - Mounting pax wicket at / breaks css references
  • [PAXWICKET-47] - Add generics
  • [PAXWICKET-50] - Update to use Wicket 1.4.9
  • [PAXWICKET-53] - Add devutils for debugging
  • [PAXWICKET-54] - Add method for IComponentOnBeforeRenderListener and IComponentOnAfterRenderListener in PaxWicketApplicationFactory
  • [PAXWICKET-58] - Upgrade org.osgi.felix 1.2 with org.osgi 4.2 libraries
  • [PAXWICKET-59] - Upgrade to pax-exam 1.2.3
  • [PAXWICKET-61] - Cleanup direct version numbers in osgi.bundle files
  • [PAXWICKET-62] - Make pax-wicket build clean in maven3
  • [PAXWICKET-79] - Create one integration test project instead of using three
  • [PAXWICKET-99] - No version should be used for the eventadmin feature
  • [PAXWICKET-102] - Remove not required repositories to speed up build
  • [PAXWICKET-106] - Merge equinox-target-platform and samples/provision
  • [PAXWICKET-115] - Allow logical creation of tabs as content
  • [PAXWICKET-120] - BundleDelegatingClassResolver should also "shoot" on registered applications
  • [PAXWICKET-123] - Warn if a page is not registered via a page factory
  • [PAXWICKET-124] - Allow to directly register/dispose DefaultPageMounter
  • [PAXWICKET-125] - Default mountpoint should return unmodifyable list
  • [PAXWICKET-127] - Automatically set objects stream factory in Activator of wicket service
  • [PAXWICKET-130] - Add ability to inject Application- and BundleContext into filters

New Feature

  • [PAXWICKET-21] - Smart serialization of OSGi Bundle Context and OSGi Bundle
  • [PAXWICKET-22] - Update pax wicket to use wicket 1.3.4
  • [PAXWICKET-55] - Add ability to inject RequestCycle
  • [PAXWICKET-57] - provide karaf features.xml for pax-wicket
  • [PAXWICKET-72] - Add aries blueprint example to departmentstore
  • [PAXWICKET-73] - Add spring-dm example to departmentstore
  • [PAXWICKET-85] - Add OSGI-INF/bundle.info as used in Karaf to the pax-wicket bundles
  • [PAXWICKET-100] - Allow to register own WicketApplication classes in pax-wicket
  • [PAXWICKET-101] - Allow to start examples using pax-construct
  • [PAXWICKET-111] - Provide spring namespace handler for direct spring(dm)-paxwicket integration
  • [PAXWICKET-113] - Methods should be directly accessible via content aggregator
  • [PAXWICKET-117] - Allow unit tests similar to wicket
  • [PAXWICKET-119] - Support SLF4J logging
  • [PAXWICKET-122] - Provide support for registration of Http filters
  • [PAXWICKET-129] - Automatically mount page with PaxWicketMountPoint annotation

Task