Hi Ray,

I think the issue is in the org.apache.jasper.glassfish bundle that is
repackaged by the orbit project.  This bundle must import the package
org.xml.sax if it uses that package.  This situation must also fail on
felix.  In fact I would expect it to fail by default in felix also unless
you are setting the org.osgi.framework.bootdelegation configuration
property to include the org.xml.sax package.  I suspected in equinox that
you were setting the framework configuration property
osgi.compatibility.bootdelegation=false (by default this configuration
property is set to true in equinox).  When this option is set to true then
the bundle class loader does a last resort delegation to the boot class
loader before throwing a class not found.  Because this option is set to
true by default must be why we are not seeing this CNFE when running
eclipse help in Juno.

If I am understanding your situation correctly it seems to be a bug in the
org.apache.jasper.glassfish bundle maintained in orbit.  If you agree,
please open a bug against orbit at
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Orbit

Thanks.

Tom




|------------>
| From:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Raymond Auge <[email protected]>                                      
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Equinox development mailing list <[email protected]>,                  
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |09/12/2012 09:34 PM                                                          
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Re: [equinox-dev] org.xml.sax                                                
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|





Forgive me Tomas if I'm misunderstanding,

I don't think the issue is actually with Equinox in any way. I just think
there may be a different assumption in the Felix defaults compared to
Equinox. Obviously there is no issue in Glassfish with this bundle, but
under Equinox these are considered missing imports.

I was simply trying to understand the behavior. Your statement however,
that these packages should be imported, leads me to believe that the
problem lies with glassfish's jasper bundle.

I solved the issue by attaching a fragment bundle to the jasper bundle
which included the missing imports and that solved that problem.

Thanks,
- Ray

On Wed, Sep 12, 2012 at 4:41 PM, Thomas Watson <[email protected]> wrote:
  The answer is yes.  Bundles must import any package that is not from one
  of the java.* packages.  I suspect this is working for the default
  equinox configuration because we have a compatibility flag enabled by
  default that does a boot delegation as a last resort.  Could you please
  open an eclipse orbit bug for this at:
  https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Orbit

  Tom



  Inactive hide details for Raymond Auge ---09/12/2012 02:42:00
  PM---excerpt of log: BundleLoader[org.apache.jasper.glassfish_2.2Raymond
  Auge ---09/12/2012 02:42:00 PM---excerpt of log: BundleLoader
  [org.apache.jasper.glassfish_2.2.2.v201112011158] found local class
  org.apache.jasper.compiler.Node



                                                                       
                                                                       
       From:      Raymond Auge <[email protected]>              
                                                                       
                                                                       
       To:        Equinox development mailing list <                   
                  [email protected]>,                            
                                                                       
                                                                       
       Date:      09/12/2012 02:42 PM                                  
                                                                       
                                                                       
       Subject:   Re: [equinox-dev] org.xml.sax                        
                                                                       






  excerpt of log:

  BundleLoader[org.apache.jasper.glassfish_2.2.2.v201112011158] found local
  class org.apache.jasper.compiler.Node$Root
  BundleClassLoader
  [org.apache.jasper.glassfish_2.2.2.v201112011158].loadClass
  (org.xml.sax.Attributes)
  BundleLoader
  [org.apache.jasper.glassfish_2.2.2.v201112011158].loadBundleClass
  (org.xml.sax.Attributes)
  BundleLoader
  [org.apache.jasper.glassfish_2.2.2.v201112011158].findLocalClass
  (org.xml.sax.Attributes)
  BundleClassLoader
  
[/home/rotty/AS/liferay-portal/data/framework/state/org.eclipse.osgi/bundles/69/1/bundlefile].findClassImpl
(org.xml.sax.Attributes)
  BundleClassLoader
  [org.apache.jasper.glassfish_2.2.2.v201112011158].loadClass
  (org.xml.sax.Attributes) failed.
  java.lang.ClassNotFoundException: org.xml.sax.Attributes
  at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal
  (BundleLoader.java:501)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass
  (BundleLoader.java:421)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass
  (BundleLoader.java:412)
  at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass
  (DefaultClassLoader.java:107)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
  at org.apache.jasper.compiler.ParserController.doParse
  (ParserController.java:244)
  at org.apache.jasper.compiler.ParserController.parse
  (ParserController.java:145)
  at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:212)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
  at org.apache.jasper.JspCompilationContext.compile
  (JspCompilationContext.java:625)
  at org.apache.jasper.servlet.JspServletWrapper.service
  (JspServletWrapper.java:374)
  at org.apache.jasper.servlet.JspServlet._serviceJspFile
  (JspServlet.java:492)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

  - Ray


  On Wed, Sep 12, 2012 at 3:40 PM, Raymond Auge <[email protected]>
  wrote:
        Do bundles have to declare this import?

        It appears that it's a default package exported by the system
        bundle.

        However, if you take a look at this
        bundle org.apache.jasper.glassfish_2.2.2.v201112011158 it does not
        declare that package as an import, but still fails to resolve it as
        well.

        Thoughts?

        I'm testing to see if I can solve this by attaching a fragment
        bundle which imports the package.

        --
        Raymond Augé  | Senior Software Architect | Liferay, Inc.



        ---


        8-9 October 2012 | Liferay North America Symposium |
        liferay.com/northamerica2012


        16-17 October 2012 | Liferay Europe Symposium |
        liferay.com/europe2012


        24-25 October 2012 | Liferay Spain Symposium |
        liferay.com/spain2012





  --
  Raymond Augé  | Senior Software Architect | Liferay, Inc.


  ---


  8-9 October 2012 | Liferay North America Symposium |
  liferay.com/northamerica2012


  16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012


  24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012


  _______________________________________________
  equinox-dev mailing list
  [email protected]
  https://dev.eclipse.org/mailman/listinfo/equinox-dev

  _______________________________________________
  equinox-dev mailing list
  [email protected]
  https://dev.eclipse.org/mailman/listinfo/equinox-dev




--
Raymond Augé  | Senior Software Architect | Liferay, Inc.


---


8-9 October 2012 | Liferay North America Symposium |
liferay.com/northamerica2012


16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012


24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012


_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev





<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to