You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ch...@apache.org on 2013/03/06 12:25:02 UTC

svn commit: r1453296 - in /felix/trunk/jaas: pom.xml src/main/java/org/apache/felix/jaas/internal/Activator.java

Author: chetanm
Date: Wed Mar  6 11:25:01 2013
New Revision: 1453296

URL: http://svn.apache.org/r1453296
Log:
FELIX-3956 - JAAS Support bundle should have optional dependency on Servlet API

Marking the javax.servlet package as optional. And handling exception while creating plugin instance in absence of servlet api

Modified:
    felix/trunk/jaas/pom.xml
    felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java

Modified: felix/trunk/jaas/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/jaas/pom.xml?rev=1453296&r1=1453295&r2=1453296&view=diff
==============================================================================
--- felix/trunk/jaas/pom.xml (original)
+++ felix/trunk/jaas/pom.xml Wed Mar  6 11:25:01 2013
@@ -87,6 +87,10 @@
                         <Bundle-Activator>
                             org.apache.felix.jaas.internal.Activator
                         </Bundle-Activator>
+                        <Import-Package>
+                          javax.servlet.*;resolution:=optional,
+                          *
+                        </Import-Package>
                         <_removeheaders>
                             Embed-Dependency,Private-Package,Include-Resource
                         </_removeheaders>

Modified: felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java?rev=1453296&r1=1453295&r2=1453296&view=diff
==============================================================================
--- felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java (original)
+++ felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java Wed Mar  6 11:25:01 2013
@@ -21,6 +21,7 @@ package org.apache.felix.jaas.internal;
 
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
+import org.osgi.service.log.LogService;
 
 public class Activator implements BundleActivator
 {
@@ -38,7 +39,7 @@ public class Activator implements Bundle
         loginModuleCreator = new BundleLoginModuleCreator(context, logger);
         jaasConfigFactory = new JaasConfigFactory(context, loginModuleCreator, logger);
         configSpi = new ConfigSpiOsgi(context, logger);
-        webConsolePlugin = new JaasWebConsolePlugin(context, configSpi,loginModuleCreator);
+        registerWebConsolePlugin(context);
 
         logger.open();
         loginModuleCreator.open();
@@ -63,4 +64,14 @@ public class Activator implements Bundle
             logger.close();
         }
     }
+
+    private void registerWebConsolePlugin(BundleContext context){
+        try{
+            webConsolePlugin = new JaasWebConsolePlugin(context, configSpi,loginModuleCreator);
+        }catch(NoClassDefFoundError t){
+            //Servlet API is not present. This is an optional requirement
+            logger.log(LogService.LOG_INFO,"HTTP support not found. JAAS WebConsole Plugin would not be registered");
+        }
+    }
+
 }



Re: svn commit: r1453296 - in /felix/trunk/jaas: pom.xml src/main/java/org/apache/felix/jaas/internal/Activator.java

Posted by Chetan Mehrotra <ch...@gmail.com>.
>A common trick is to no instantiate the plugin ahead of time but register
a ServiceFactory whose getService method creates the plugin to use.

Interesting .. I was also not feeling good using the current approach.
Would try that approach. Thanx for the pointer!!

regards
Chetan

Chetan Mehrotra


On Wed, Mar 6, 2013 at 5:37 PM, Felix Meschberger <fm...@adobe.com>wrote:

> Hi Chetan
>
> A common trick is to no instantiate the plugin ahead of time but register
> a ServiceFactory whose getService method creates the plugin to use.
>
> In a few Web Console servlets we do DynamicImport-Package for the servlet
> API and thus can wire and use at the point where the service is used and
> the API is presumably available.
>
> Regards
> Felix
>
> Am 06.03.2013 um 12:25 schrieb <ch...@apache.org>:
>
> > Author: chetanm
> > Date: Wed Mar  6 11:25:01 2013
> > New Revision: 1453296
> >
> > URL: http://svn.apache.org/r1453296
> > Log:
> > FELIX-3956 - JAAS Support bundle should have optional dependency on
> Servlet API
> >
> > Marking the javax.servlet package as optional. And handling exception
> while creating plugin instance in absence of servlet api
> >
> > Modified:
> >    felix/trunk/jaas/pom.xml
> >
>  felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
> >
> > Modified: felix/trunk/jaas/pom.xml
> > URL:
> http://svn.apache.org/viewvc/felix/trunk/jaas/pom.xml?rev=1453296&r1=1453295&r2=1453296&view=diff
> >
> ==============================================================================
> > --- felix/trunk/jaas/pom.xml (original)
> > +++ felix/trunk/jaas/pom.xml Wed Mar  6 11:25:01 2013
> > @@ -87,6 +87,10 @@
> >                         <Bundle-Activator>
> >                             org.apache.felix.jaas.internal.Activator
> >                         </Bundle-Activator>
> > +                        <Import-Package>
> > +                          javax.servlet.*;resolution:=optional,
> > +                          *
> > +                        </Import-Package>
> >                         <_removeheaders>
> >
> Embed-Dependency,Private-Package,Include-Resource
> >                         </_removeheaders>
> >
> > Modified:
> felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
> > URL:
> http://svn.apache.org/viewvc/felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java?rev=1453296&r1=1453295&r2=1453296&view=diff
> >
> ==============================================================================
> > ---
> felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
> (original)
> > +++
> felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
> Wed Mar  6 11:25:01 2013
> > @@ -21,6 +21,7 @@ package org.apache.felix.jaas.internal;
> >
> > import org.osgi.framework.BundleActivator;
> > import org.osgi.framework.BundleContext;
> > +import org.osgi.service.log.LogService;
> >
> > public class Activator implements BundleActivator
> > {
> > @@ -38,7 +39,7 @@ public class Activator implements Bundle
> >         loginModuleCreator = new BundleLoginModuleCreator(context,
> logger);
> >         jaasConfigFactory = new JaasConfigFactory(context,
> loginModuleCreator, logger);
> >         configSpi = new ConfigSpiOsgi(context, logger);
> > -        webConsolePlugin = new JaasWebConsolePlugin(context,
> configSpi,loginModuleCreator);
> > +        registerWebConsolePlugin(context);
> >
> >         logger.open();
> >         loginModuleCreator.open();
> > @@ -63,4 +64,14 @@ public class Activator implements Bundle
> >             logger.close();
> >         }
> >     }
> > +
> > +    private void registerWebConsolePlugin(BundleContext context){
> > +        try{
> > +            webConsolePlugin = new JaasWebConsolePlugin(context,
> configSpi,loginModuleCreator);
> > +        }catch(NoClassDefFoundError t){
> > +            //Servlet API is not present. This is an optional
> requirement
> > +            logger.log(LogService.LOG_INFO,"HTTP support not found.
> JAAS WebConsole Plugin would not be registered");
> > +        }
> > +    }
> > +
> > }
> >
> >
>
>
> --
> Felix Meschberger | Principal Scientist | Adobe
>
>
>
>
>
>
>
>

Re: svn commit: r1453296 - in /felix/trunk/jaas: pom.xml src/main/java/org/apache/felix/jaas/internal/Activator.java

Posted by Felix Meschberger <fm...@adobe.com>.
Hi Chetan

A common trick is to no instantiate the plugin ahead of time but register a ServiceFactory whose getService method creates the plugin to use.

In a few Web Console servlets we do DynamicImport-Package for the servlet API and thus can wire and use at the point where the service is used and the API is presumably available.

Regards
Felix

Am 06.03.2013 um 12:25 schrieb <ch...@apache.org>:

> Author: chetanm
> Date: Wed Mar  6 11:25:01 2013
> New Revision: 1453296
> 
> URL: http://svn.apache.org/r1453296
> Log:
> FELIX-3956 - JAAS Support bundle should have optional dependency on Servlet API
> 
> Marking the javax.servlet package as optional. And handling exception while creating plugin instance in absence of servlet api
> 
> Modified:
>    felix/trunk/jaas/pom.xml
>    felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
> 
> Modified: felix/trunk/jaas/pom.xml
> URL: http://svn.apache.org/viewvc/felix/trunk/jaas/pom.xml?rev=1453296&r1=1453295&r2=1453296&view=diff
> ==============================================================================
> --- felix/trunk/jaas/pom.xml (original)
> +++ felix/trunk/jaas/pom.xml Wed Mar  6 11:25:01 2013
> @@ -87,6 +87,10 @@
>                         <Bundle-Activator>
>                             org.apache.felix.jaas.internal.Activator
>                         </Bundle-Activator>
> +                        <Import-Package>
> +                          javax.servlet.*;resolution:=optional,
> +                          *
> +                        </Import-Package>
>                         <_removeheaders>
>                             Embed-Dependency,Private-Package,Include-Resource
>                         </_removeheaders>
> 
> Modified: felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java
> URL: http://svn.apache.org/viewvc/felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java?rev=1453296&r1=1453295&r2=1453296&view=diff
> ==============================================================================
> --- felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java (original)
> +++ felix/trunk/jaas/src/main/java/org/apache/felix/jaas/internal/Activator.java Wed Mar  6 11:25:01 2013
> @@ -21,6 +21,7 @@ package org.apache.felix.jaas.internal;
> 
> import org.osgi.framework.BundleActivator;
> import org.osgi.framework.BundleContext;
> +import org.osgi.service.log.LogService;
> 
> public class Activator implements BundleActivator
> {
> @@ -38,7 +39,7 @@ public class Activator implements Bundle
>         loginModuleCreator = new BundleLoginModuleCreator(context, logger);
>         jaasConfigFactory = new JaasConfigFactory(context, loginModuleCreator, logger);
>         configSpi = new ConfigSpiOsgi(context, logger);
> -        webConsolePlugin = new JaasWebConsolePlugin(context, configSpi,loginModuleCreator);
> +        registerWebConsolePlugin(context);
> 
>         logger.open();
>         loginModuleCreator.open();
> @@ -63,4 +64,14 @@ public class Activator implements Bundle
>             logger.close();
>         }
>     }
> +
> +    private void registerWebConsolePlugin(BundleContext context){
> +        try{
> +            webConsolePlugin = new JaasWebConsolePlugin(context, configSpi,loginModuleCreator);
> +        }catch(NoClassDefFoundError t){
> +            //Servlet API is not present. This is an optional requirement
> +            logger.log(LogService.LOG_INFO,"HTTP support not found. JAAS WebConsole Plugin would not be registered");
> +        }
> +    }
> +
> }
> 
> 


--
Felix Meschberger | Principal Scientist | Adobe