Ernesto,
Your Equinox-based sample app using wicket would be of great interest!
Many thanks,
David
Ernesto Reinaldo Barreiro wrote:
>
> Hi Igor,
>
> The main problem I see here is that there is not a single approach on
> building a wicket based OSGi application. For instance, we have taken a
> different approach to the one described in a previous e-mail. Moreover,
> as we had some code base already working when we decided go OSGi what we
> did was to look for a "fast" way to get that code base working on an
> OSGi environment: we simply couldn't go the PAX way because that would
> mean re-writing an existing code base. As we were using Eclipse as
> development tool the way we found to get back on track is eclipse
> dependent (in fact, equinox dependent, which is eclipses implementation
> of OSGi). As I mentioned before almost all problems we found boiled down
> to classloading issues. We have solved then using a "technique" called
> buddy class loading (equinox has an extension that makes it very easy to
> solve these problems). All this code is property of the company I work
> for, so it is not up to me to disclose it (or part of it).
>
> If you (and/or others) think it could be useful I could try to build a
> very simple (equinox depended) quick start sample application, maybe
> containing one or two bundles to illustrate how to solve classloading
> problems on equinox, as well as a README explaining how to get on track.
>
> Best regards,
>
> Ernesto
>
>
> Igor Vaynberg wrote:
>> perhaps one of the groups who are using wicket and osgi successfully
>> can put together an example project that demonstrates all these
>> concepts so the community does not have to reinvent the wheel and
>> solve problems that have already been solved by others...thats what
>> this is all about afterall
>>
>> -igor
>>
>>
>> On Nov 16, 2007 5:37 AM, dado <[EMAIL PROTECTED]> wrote:
>>
>>> Edgar and all,
>>>
>>> I am new to wicket but have built an application using Velocity and
>>> Equinox
>>> OSGi. I am hoping to switch from Velocity to Wicket. Edgar's code
>>> below is
>>> most helpful! Do you or anyone have any other code to share? Bundles?
>>> For
>>> example, this code would be helpful as well
>>> "you have to register an OsgiWicketServlet instance in the HttpService".
>>>
>>> Thanks for your help!
>>> David
>>>
>>>
>>>
>>> Edgar Poce wrote:
>>>
>>>> Hi,
>>>>
>>>> I ran a helloworld application in osgi, the only problem I found was
>>>> a classloader issue, I had to use a custom IWebApplicationFactory. I
>>>> copy the code bellow.
>>>> In order to make it work you have to register an OsgiWicketServlet
>>>> instance in the HttpService.
>>>>
>>>> hope it helps,
>>>> Edgar
>>>>
>>>>
>>>> public class OsgiWebApplicationFactory implements
>>>> IWebApplicationFactory {
>>>>
>>>> private Class webApplication;
>>>>
>>>> public OsgiWebApplicationFactory(Class webApplication) {
>>>> super();
>>>> this.webApplication = webApplication;
>>>> }
>>>>
>>>> public WebApplication createApplication(WicketFilter filter) {
>>>> try {
>>>> return (WebApplication)
>>>> this.webApplication.newInstance();
>>>> } catch (Exception e) {
>>>> throw new RuntimeException("unable to start
>>>> application", e);
>>>> }
>>>> }
>>>>
>>>> }
>>>>
>>>> public class OsgiWicketFilter extends WicketFilter {
>>>>
>>>> private Class webApplication;
>>>>
>>>> public OsgiWicketFilter(Class webApplication) {
>>>> super();
>>>> this.webApplication = webApplication;
>>>> }
>>>>
>>>> @Override
>>>> protected IWebApplicationFactory getApplicationFactory() {
>>>> return new
>>>> OsgiWebApplicationFactory(this.webApplication);
>>>> }
>>>>
>>>> }
>>>>
>>>> public class OsgiWicketServlet extends WicketServlet {
>>>>
>>>> private String name;
>>>>
>>>> private Class webApplication;
>>>>
>>>> public OsgiWicketServlet(Class webApplication) {
>>>> super();
>>>> this.webApplication = webApplication;
>>>> }
>>>>
>>>> @Override
>>>> protected WicketFilter newWicketFilter() {
>>>> return new OsgiWicketFilter(this.webApplication);
>>>> }
>>>>
>>>> /**
>>>> * The servlet name can't contain * characters because Wicket
>>>> uses the
>>>> name
>>>> * of the servlet to create a temporary folder.
>>>> */
>>>> public String getServletName() {
>>>> if (name == null) {
>>>> synchronized (this) {
>>>> name = super.getServletName();
>>>> if (name.endsWith("*")) {
>>>> name = name.substring(0,
>>>> name.length() - 1);
>>>> }
>>>> }
>>>> }
>>>> return name;
>>>> }
>>>>
>>>> }
>>>>
>>>> On Nov 14, 2007 11:46 AM, Thies Edeling <[EMAIL PROTECTED]> wrote:
>>>>
>>>>> Hello all,
>>>>>
>>>>> Does anyone have any experience with using Wicket and OSGi? I'm
>>>>> looking
>>>>> for the most flexible way of composing an application and deploying
>>>>> Wicket pages/panels as OSGi bundles seems like a nice way.I noticed
>>>>> the
>>>>> Pax Wicket project but am not sure how stable that is.
>>>>>
>>>>> regards,
>>>>> Thies
>>>>>
>>>>> --
>>>>> http://www.ehour.nl/
>>>>> http://blog.ehour.nl/
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Wicket---OSGi-tf4805767.html#a13793200
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
>
--
View this message in context:
http://www.nabble.com/Wicket---OSGi-tf4805767.html#a13808793
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]