You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Sahoo (JIRA)" <ji...@apache.org> on 2010/03/21 01:02:27 UTC

[jira] Created: (FELIX-2216) Web console needs to be able to use service bundles like obr installed after it

Web console needs to be able to use service bundles like obr installed after it
-------------------------------------------------------------------------------

                 Key: FELIX-2216
                 URL: https://issues.apache.org/jira/browse/FELIX-2216
             Project: Felix
          Issue Type: Bug
          Components: Web Console
    Affects Versions: webconsole-2.0.6
         Environment: generic
            Reporter: Sahoo
             Fix For: webconsole-3.0.0


When I started web console, I didn't have any obr service bundle in my system. Since obr is an optional dependency, webconsole started and when I navigated to obr tab, it printed a nice message stating:
"RepositoryAdmin Service not available." Then I installed and started obr bundle. Upon refreshing the obr page in web console, I got:
java.lang.NoClassDefFoundError: org/osgi/service/obr/RepositoryAdmin
	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.getRepositoryAdmin(BundleRepositoryRender.java:434)
	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.renderContent(BundleRepositoryRender.java:109)
	at org.apache.felix.webconsole.AbstractWebConsolePlugin.doGet(AbstractWebConsolePlugin.java:116)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:325)

When I refreshed web console bundle, it started working.

Looking at the code, I fail to understand why I did not getting NCDFE when I navigated to that tab for the first time. Any explanation for this?

I think if web console had a dynamic dependency on org.osgi.service.obr, it could have been avoided. So, add something like:
DynamicImport-Package: org.osgi.service.obr

To make it work, we may also have to pass true while opening the ServiceTracker in BaseWebConsolePlugin.getService and have appropriate checks to deal with possible ClassCastException.

This may be applicable to other optional dependencies as well. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (FELIX-2216) Web console needs to be able to use service bundles like obr installed after it

Posted by "Sahoo (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sahoo closed FELIX-2216.
------------------------

    Resolution: Duplicate

Closing as a duplicate of FELIX-2117.

> Web console needs to be able to use service bundles like obr installed after it
> -------------------------------------------------------------------------------
>
>                 Key: FELIX-2216
>                 URL: https://issues.apache.org/jira/browse/FELIX-2216
>             Project: Felix
>          Issue Type: Bug
>          Components: Web Console
>    Affects Versions: webconsole-2.0.6
>         Environment: generic
>            Reporter: Sahoo
>             Fix For: webconsole-3.0.0
>
>
> When I started web console, I didn't have any obr service bundle in my system. Since obr is an optional dependency, webconsole started and when I navigated to obr tab, it printed a nice message stating:
> "RepositoryAdmin Service not available." Then I installed and started obr bundle. Upon refreshing the obr page in web console, I got:
> java.lang.NoClassDefFoundError: org/osgi/service/obr/RepositoryAdmin
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.getRepositoryAdmin(BundleRepositoryRender.java:434)
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.renderContent(BundleRepositoryRender.java:109)
> 	at org.apache.felix.webconsole.AbstractWebConsolePlugin.doGet(AbstractWebConsolePlugin.java:116)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
> 	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:325)
> When I refreshed web console bundle, it started working.
> Looking at the code, I fail to understand why I did not getting NCDFE when I navigated to that tab for the first time. Any explanation for this?
> I think if web console had a dynamic dependency on org.osgi.service.obr, it could have been avoided. So, add something like:
> DynamicImport-Package: org.osgi.service.obr
> To make it work, we may also have to pass true while opening the ServiceTracker in BaseWebConsolePlugin.getService and have appropriate checks to deal with possible ClassCastException.
> This may be applicable to other optional dependencies as well. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-2216) Web console needs to be able to use service bundles like obr installed after it

Posted by "Sahoo (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12847854#action_12847854 ] 

Sahoo commented on FELIX-2216:
------------------------------

I have another question related to the NCDFE. How did ServiceTracker return the object even though web console was not wired to obr package? Is there a core/compendium issue here as well?

> Web console needs to be able to use service bundles like obr installed after it
> -------------------------------------------------------------------------------
>
>                 Key: FELIX-2216
>                 URL: https://issues.apache.org/jira/browse/FELIX-2216
>             Project: Felix
>          Issue Type: Bug
>          Components: Web Console
>    Affects Versions: webconsole-2.0.6
>         Environment: generic
>            Reporter: Sahoo
>             Fix For: webconsole-3.0.0
>
>
> When I started web console, I didn't have any obr service bundle in my system. Since obr is an optional dependency, webconsole started and when I navigated to obr tab, it printed a nice message stating:
> "RepositoryAdmin Service not available." Then I installed and started obr bundle. Upon refreshing the obr page in web console, I got:
> java.lang.NoClassDefFoundError: org/osgi/service/obr/RepositoryAdmin
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.getRepositoryAdmin(BundleRepositoryRender.java:434)
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.renderContent(BundleRepositoryRender.java:109)
> 	at org.apache.felix.webconsole.AbstractWebConsolePlugin.doGet(AbstractWebConsolePlugin.java:116)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
> 	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:325)
> When I refreshed web console bundle, it started working.
> Looking at the code, I fail to understand why I did not getting NCDFE when I navigated to that tab for the first time. Any explanation for this?
> I think if web console had a dynamic dependency on org.osgi.service.obr, it could have been avoided. So, add something like:
> DynamicImport-Package: org.osgi.service.obr
> To make it work, we may also have to pass true while opening the ServiceTracker in BaseWebConsolePlugin.getService and have appropriate checks to deal with possible ClassCastException.
> This may be applicable to other optional dependencies as well. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-2216) Web console needs to be able to use service bundles like obr installed after it

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848684#action_12848684 ] 

Felix Meschberger commented on FELIX-2216:
------------------------------------------

For the bundle repository plugin this has been implemented as of FELIX-2217.

As for the rest of the core web console I think this is a duplicate of FELIX-2117, right ?

Are you ok with closing this as a duplicate of FELIX-2117 and retargetting for the next web console release ?

> Web console needs to be able to use service bundles like obr installed after it
> -------------------------------------------------------------------------------
>
>                 Key: FELIX-2216
>                 URL: https://issues.apache.org/jira/browse/FELIX-2216
>             Project: Felix
>          Issue Type: Bug
>          Components: Web Console
>    Affects Versions: webconsole-2.0.6
>         Environment: generic
>            Reporter: Sahoo
>             Fix For: webconsole-3.0.0
>
>
> When I started web console, I didn't have any obr service bundle in my system. Since obr is an optional dependency, webconsole started and when I navigated to obr tab, it printed a nice message stating:
> "RepositoryAdmin Service not available." Then I installed and started obr bundle. Upon refreshing the obr page in web console, I got:
> java.lang.NoClassDefFoundError: org/osgi/service/obr/RepositoryAdmin
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.getRepositoryAdmin(BundleRepositoryRender.java:434)
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.renderContent(BundleRepositoryRender.java:109)
> 	at org.apache.felix.webconsole.AbstractWebConsolePlugin.doGet(AbstractWebConsolePlugin.java:116)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
> 	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:325)
> When I refreshed web console bundle, it started working.
> Looking at the code, I fail to understand why I did not getting NCDFE when I navigated to that tab for the first time. Any explanation for this?
> I think if web console had a dynamic dependency on org.osgi.service.obr, it could have been avoided. So, add something like:
> DynamicImport-Package: org.osgi.service.obr
> To make it work, we may also have to pass true while opening the ServiceTracker in BaseWebConsolePlugin.getService and have appropriate checks to deal with possible ClassCastException.
> This may be applicable to other optional dependencies as well. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.