Hi Martin,

added WICKET-3088. Thank you for your support!

Eike

On [Sun, 03.10.2010 17:36], Martin Grigorov wrote:
> Hi Eike,
> 
> Please file a bug in Jira with link to this mail thread.
> 
> On Sun, Oct 3, 2010 at 2:33 PM, Eike Kettner <e...@eknet.org> wrote:
> 
> > Hi Martin
> >
> > thanks for your advice. I didn't know the maven-shade-plugin, but I
> > create on big wicket jar containing all wicket jars like wicket-request,
> > wicket-xyz with pax:wrap-jar. This also works fine.
> >
> > Just want to mention that with this change in wicket 1.5, wicket cannot
> > be used in OSGi environments as easiliy as wicket 1.4. One usually has
> > to create a wrapped jar somehow. Maybe this is worth to mention on the
> > migration guide wiki page?
> >
> >
> > On [Sun, 03.10.2010 13:59], Martin Grigorov wrote:
> > > Hi Elke,
> > >
> > > As I said I don't use OSGi so I can say something that is against OSGi
> > > rules, but here is what I'd do in your case:
> > > create a Maven project (named for example 'wicket-bundle'), packaging
> > type
> > > 'jar' and empty src/ folder. Then use maven-shade-plugin just to produce
> > one
> > > bigger .jar out of all required ones (wicket-util, wicket-request,
> > wicket,
> > > wicket-xyz, ...) and maven-bnd-plugin to add the OSGi stuff in
> > > META-INF/MANIFEST.MF.
> > >
> > > Since Wicket's artefacts are not splitted in -api and -impl .jars I don't
> > > see a reason not to mix them all in one bigger jar for OSGi environments.
> > >
> > > On Sun, Oct 3, 2010 at 1:48 PM, Eike Kettner <n...@eknet.org> wrote:
> > >
> > > > Hi there,
> > > >
> > > > Just a few updates from my side :
> > > >
> > > > I recompiled wicket-trunk with changed a package structure and then my
> > > > application starts happily with wicket 1.5-M21. (by the way, I'm using
> > > > Apache Felix 3.0.2)
> > > >
> > > > I now use the workaround of wrapping the wicket jars I need into one
> > > > jar. So it's no big deal to use wicket in OSGi as a wrapped jar, but
> > > > surely not as convienient as before.
> > > >
> > > > Is anybody having these issues with wicket 1.5+OSGi, too? Or even
> > > > better, is anybody not having issues with this combination?
> > > >
> > > > Regards,
> > > > Eike
> > > >
> > > > On [Fri, 01.10.2010 22:12], Eike Kettner wrote:
> > > > >
> > > > > Hello again,
> > > > >
> > > > > I just had a look at the wicket packages of 1.4.12 and 1.5-M2.1 and I
> > > > > found some differences. For example, wicket 1.5 has a new artifact
> > > > > "wicket-request" and comparing the package structure there are some
> > > > > changes, which are probably related to my problem:
> > > > >
> > > > > wicket-1.4.12.jar:
> > > > > org.apache
> > > > > `-- wicket
> > > > >     |-- authorization
> > > > >     |   |-- Action.java
> > > > >     |   |-- AuthorizationException.java
> > > > >     |   |-- strategies
> > > > >     |   |   |-- action
> > > > >     |   |   |   |-- ActionAuthorizationStrategy.java
> > > > >     |   |   |   `-- IActionAuthorizer.java
> > > > >     |   |   |-- CompoundAuthorizationStrategy.java
> > > > >     |   |   `-- page
> > > > >     |   |       |-- AbstractPageAuthorizationStrategy.java
> > > > >     |   |       `-- SimplePageAuthorizationStrategy.java
> > > > >     |   |-- UnauthorizedActionException.java
> > > > >     |   `-- UnauthorizedInstantiationException.java
> > > > >
> > > > >
> > > > > wicket-auth-roles-1.4.12.jar:
> > > > > org.apache
> > > > > `-- wicket
> > > > >    |-- authentication
> > > > >    |   |-- AuthenticatedWebApplication.java
> > > > >    |   |-- AuthenticatedWebSession.java
> > > > >    |   |-- pages
> > > > >    |   |   |-- SignInPage_fr.html
> > > > >    `-- authorization
> > > > >        `-- strategies
> > > > >            `-- role
> > > > >                |-- AbstractRoleAuthorizationStrategy.java
> > > > >                |   |-- ActionPermissions.java
> > > > >                `-- Roles.java
> > > > >
> > > > > This looks good to OSGi as the classes are in disjoint packages in
> > the
> > > > > two bundles.
> > > > >
> > > > >
> > > > > This changed in 1.5. There the structure looks like this:
> > > > >
> > > > > wicket-1.5-M2.1.jar
> > > > > org.apache
> > > > > `-- wicket
> > > > >     |-- authentication
> > > > >     |   |-- IAuthenticationStrategy.java
> > > > >     |   `-- strategy
> > > > >     |       |-- DefaultAuthenticationStrategy.java
> > > > >     |       `-- NoOpAuthenticationStrategy.java
> > > > >
> > > > > wicket-auth-roles-1.5-M2.1.jar
> > > > > org.apache
> > > > > `-- wicket
> > > > >     |-- authentication
> > > > >     |   |-- AuthenticatedWebApplication.java
> > > > >     |   |-- AuthenticatedWebSession.java
> > > > >     |   |-- pages
> > > > >     |   |   |-- SignInPage.html
> > > > >     |   |   |-- SignInPage.java
> > > > >
> > > > >
> > > > > The problem is the package org.apache.wicket.authentication now,
> > because
> > > > > the bundle wicket-1.5-M2.1 and wicket-auth-roles-1.5-M2.1 provide
> > > > > classes from this package. The same refers to
> > org.apache.wicket.request,
> > > > > which is exported by wicket-request and wicket in 1.5. This leads to
> > > > > problems in an OSGi environment. OSGi discourages those scenarios,
> > but
> > > > > still offers an solution for this. A (rather old) blog post on
> > osgi.org
> > > > > gives some hints on this:
> > > > >
> > > > >
> > http://www.osgi.org/blog/2006/04/misconceptions-about-osgi-headers.html
> > > > >
> > > > > It probably gets to weird loading errors if two classes from the same
> > > > > package want to access each others fields or methods with package
> > access,
> > > > > but come from a different classloader...
> > > > >
> > > > > I'm no OSGi expert, so I don't know the right OSGi header that solves
> > > > > this. Of course, a real solution would be to only have disjoint
> > packages
> > > > > :) I usually put the artifact name in my package name, to avoid any
> > > > > clashes (in fact it makes sense in my module structure).
> > > > >
> > > > >
> > > > > Kind regards,
> > > > > Eike
> > > > >
> > > > >
> > > > > On [Fri, 01.10.2010 10:05], Martin Grigorov wrote:
> > > > > > Hi Elke,
> > > > > >
> > > > > > On Fri, Oct 1, 2010 at 8:34 AM, Eike Kettner <n...@eknet.org>
> > wrote:
> > > > > >
> > > > > > > Hello!
> > > > > > >
> > > > > > > I developed a wicket app using OSGi (felix) where different
> > bundles
> > > > may
> > > > > > > contribute content to the wicket bundle. It works really nice
> > using
> > > > > > > wicket 1.4.9+. Now I want to upgrade to wicket 1.5 and I run in
> > > > problems
> > > > > > > starting the osgi container.
> > > > > > >
> > > > > > > It complains with the good-known classnotfound-exception for
> > classes
> > > > > > > like IClusterable and AuthenticatedWebapplication which all are
> > > > classes
> > > > > > > in packages exported by more than one bundle (for example
> > > > > > > org.apache.wicket or org.apache.wicket.authentication). Earlier I
> > > > found
> > > > > > > this was a problem or at least a "not-good" for OSGi bundles. But
> > as
> > > > am
> > > > > > > using OSGi 4.2 this may work with some special treatment (I'v
> > never
> > > > > > > tried this though). Do you think I'm doing something wrong or is
> > this
> > > > > > > something on the road for 1.5?
> > > > > > >
> > > > > > I don't have much experience with OSGi so can you give more details
> > > > what
> > > > > > exactly is the problem  ?
> > > > > > I think there is no difference in these two classes between 1.4.x
> > and
> > > > 1.5.x.
> > > > > > They are packed the same way.
> > > > > > There is no difference in the bnd-maven-plugin configuration as
> > well.
> > > > > > If you can find where the problem comes from then we can improve
> > it.
> > > > > >
> > > > > > >
> > > > > > > Also, since I have implemented ..UrlCodingStrategy and a custom
> > > > > > > RequestTarget I'm studying the new request handling in 1.5
> > sources to
> > > > > > > find out where to "plugin" my stuff. Are there any documentation
> > > > besides
> > > > > > > source and javadoc for the new concepts? The code is good to read
> > but
> > > > if
> > > > > > > there are some pictures and text available it would be of great
> > help.
> > > > > > >
> > > > > > Unfortunately there is other documentation yet.
> > > > > > The idea is:
> > > > > > with application.getRootRequestMapperAsCompound().add(myMapper) you
> > can
> > > > add
> > > > > > a IRequestMapper to the list of mappers.
> > > > > > When a request comes Wicket asks all registered mappers whether
> > they
> > > > are
> > > > > > able to process the request. Mappers with bigger
> > > > > >
> > org.apache.wicket.request.IRequestMapper.getCompatibilityScore(Request)
> > > > are
> > > > > > asked first. So Wicket calls
> > > > > > org.apache.wicket.request.IRequestMapper.mapRequest(Request) for
> > each
> > > > mapper
> > > > > > and if it returns non-null IRequestHandler then this is the handler
> > > > which
> > > > > > will be used. In #mapRequest(Request) use have to check request's
> > > > segments
> > > > > > (this is similar to httpServletRequest#getPath()) and request's
> > > > parameters
> > > > > > (get and post) and decide whether they match to your logic.
> > > > > > After the handling of the request
> > > > > > (org.apache.wicket.request.IRequestHandler.respond(IRequestCycle))
> > > > Wicket
> > > > > > will ask the mapper to create a Url which will be used for all
> > urlFor()
> > > > > > calls, i.e. to create the urls for all links, form action, etc. via
> > > > > >
> > org.apache.wicket.request.IRequestMapper.mapHandler(IRequestHandler)
> > > > > >
> > > > > > There are IRequestMapper implementations for all url coding
> > strategies
> > > > from
> > > > > > 1.4.x so you can use them as examples.
> > > > > > Let us know if you need more help.
> > > > > >
> > > > > > >
> > > > > > > Thanks in advance!
> > > > > > > Eike
> > > > > > >
> > > > > > > martin-g
> > > > > >
> > > > > > >
> > > > > > >
> > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > > > > >
> > > > > > >
> > > > >
> > > > > --
> > > > > email: e...@eknet.org   https://www.eknet.org  pgp: 481161A0
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > > >
> > > >
> > > > --
> > > > email: e...@eknet.org   https://www.eknet.org  pgp: 481161A0
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > >
> > > >
> >
> > --
> > email: e...@eknet.org   https://www.eknet.org  pgp: 481161A0
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >

-- 
email: e...@eknet.org   https://www.eknet.org  pgp: 481161A0

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to