dev@glassfish.java.net

Re: About the GLASSFISH-16651

From: Tang Yong <tangyong_at_cn.fujitsu.com>
Date: Sat, 07 Jul 2012 15:16:32 +0900

Dear Sahoo,Hong Zhang

Thanks your suggestions very much!

> Hong is right. No, we don't want --type=wab. Instead, we should let
> user use --type=osgi and we automatically wrap it if user has given us
>a war file.
>
>> For step 2, did you mean --type osgi instead of --type wab? I >
>don't think we want to introduce another type here..

OK, I have understood and will modify my prototype.

>> I think we already have an archive handler for OSGI today
>>
(main/appserver/extras/osgi-container/src/main/java/org/glassfish/extras/osgicontainer/OSGIArchiveHandler),

>> maybe we could re-use that class instead of adding a new class, but
>> Sahoo is the expert in this area so I will let him comment on it.

If using --type=osgi, indeedly,OSGIArchiveHandler could be reused.

I will continue to finish my prototype according to your suggestions.

--Best Regard!
--Tang

Sahoo wrote:
> Hong is right. No, we don't want --type=wab. Instead, we should let
> user use --type=osgi and we automatically wrap it if user has given us a
> war file.
>
> Thanks,
> Sahoo
> On Friday 06 July 2012 07:48 PM, hong.hz.zhang_at_oracle.com wrote:
>> Hi, Tang
>> Thanks for contributing to the GlassFish!
>>
>> For step 2, did you mean --type osgi instead of --type wab? I don't
>> think we want to introduce another type here..
>>
>> I think we already have an archive handler for OSGI today
>> (main/appserver/extras/osgi-container/src/main/java/org/glassfish/extras/osgicontainer/OSGIArchiveHandler),
>> maybe we could re-use that class instead of adding a new class, but
>> Sahoo is the expert in this area so I will let him comment on it.
>>
>> Thanks,
>>
>> - Hong
>>
>> On 7/6/2012 3:05 AM, Tang Yong wrote:
>>> Dear Sahoo
>>> CC: Hong Zhang
>>>
>>> I have made a prototype of GLASSFISH-16651 and put the modified files
>>> into https://github.com/tangyong/GLASSFISH-16651 .
>>>
>>> Currently, the prototype can work for me. If using the following way,
>>> plain vanilla WAR can be wraped WAB(osgi rfc#66) and can be accessed
>>> from Brawser.
>>>
>>> 1 asadmin start-domain
>>>
>>> 2 asadmin deploy --type=wab
>>> e:\test_sample1.war?Web-ContextPath=/test_sample1"
>>>
>>> 3 access "http://localhost:8080/test_sample1/" and "Hello! Servlet3.0
>>> Sample1111111111" appeared!
>>>
>>> In addtion, after teleneting localhost 6666, executing "lb" on shell,
>>> and will find the following bundle info:
>>>
>>> " 274|Active | 1|org.glassfish.fighterfish.autogenerated_0 (0.0.0)"
>>>
>>> [My Design Idea]
>>> The critical point is to find the integration point between the deploy
>>> moudle and fighterfish\module\osgi-web-container moudle. So, I made a
>>> new subclass of GenericHandler called(OSGiWABArchiveHandler) in
>>> org\glassfish\extras\osgicontainer. Then, in the "expand" method, add
>>> the following logic:
>>>
>>> 1) getting WebBundleURLStreamHandlerService service from osgi registry
>>> 2) while the deploy process is expanding war, rewrite the war's Manifest
>>>
>>> If having time, wish you can see it and I will continue to contribute it
>>> according your suggestions.
>>>
>>> BTW: when I made the prototype, I found that some dependency declarings
>>> of pom file in the fighterfish\module(etc.osgi-web-container) did not
>>> keep consistent with GFv4 main/pom.xml, such as:
>>>
>>> <dependency>
>>> <groupId>org.glassfish.web</groupId>
>>> <artifactId>web-glue</artifactId>
>>> </dependency>
>>>
>>> In GFv4, the groupId of web-glue has changed into org.glassfish.main.web.
>>>
>>> --Best Regard!
>>> --Tang
>>>
>