Author: ffang
Date: Tue Jan 19 04:45:27 2010
New Revision: 900659
URL: http://svn.apache.org/viewvc?rev=900659&view=rev
Log:
[FELIX-1994]Web Console admin,features and gogo plugins do not work with Equinox
Modified:
felix/trunk/karaf/webconsole/admin/src/main/java/org/apache/felix/karaf/webconsole/admin/AdminPlugin.java
felix/trunk/karaf/webconsole/features/src/main/java/org/apache/felix/karaf/webconsole/features/FeaturesPlugin.java
felix/trunk/karaf/webconsole/gogo/src/main/java/org/apache/felix/karaf/webconsole/gogo/GogoPlugin.java
Modified:
felix/trunk/karaf/webconsole/admin/src/main/java/org/apache/felix/karaf/webconsole/admin/AdminPlugin.java
URL:
http://svn.apache.org/viewvc/felix/trunk/karaf/webconsole/admin/src/main/java/org/apache/felix/karaf/webconsole/admin/AdminPlugin.java?rev=900659&r1=900658&r2=900659&view=diff
==============================================================================
---
felix/trunk/karaf/webconsole/admin/src/main/java/org/apache/felix/karaf/webconsole/admin/AdminPlugin.java
(original)
+++
felix/trunk/karaf/webconsole/admin/src/main/java/org/apache/felix/karaf/webconsole/admin/AdminPlugin.java
Tue Jan 19 04:45:27 2010
@@ -174,6 +174,15 @@
protected URL getResource(String path) {
path = path.substring(NAME.length() + 1);
+ if (path.length() == 0) {
+ //it means input parameter path is just plugin name like /admin
but not real resource path.
+ //on felix the return url would be null in this case, which is
correct expected behavior.
+ //but on equinox the return url is like
bundleresource://184.fwk1674485910/,
+ //which cause NPE in AbstractWebConsolePlugin.spoolResource
+ //so just return null ensure it works both with felix and equinox
+ return null;
+ }
+
URL url = this.classLoader.getResource(path);
try {
InputStream ins = url.openStream();
Modified:
felix/trunk/karaf/webconsole/features/src/main/java/org/apache/felix/karaf/webconsole/features/FeaturesPlugin.java
URL:
http://svn.apache.org/viewvc/felix/trunk/karaf/webconsole/features/src/main/java/org/apache/felix/karaf/webconsole/features/FeaturesPlugin.java?rev=900659&r1=900658&r2=900659&view=diff
==============================================================================
---
felix/trunk/karaf/webconsole/features/src/main/java/org/apache/felix/karaf/webconsole/features/FeaturesPlugin.java
(original)
+++
felix/trunk/karaf/webconsole/features/src/main/java/org/apache/felix/karaf/webconsole/features/FeaturesPlugin.java
Tue Jan 19 04:45:27 2010
@@ -195,6 +195,15 @@
protected URL getResource( String path )
{
path = path.substring( NAME.length() + 1 );
+ if (path.length() == 0) {
+ //it means input parameter path is just plugin name like /features
but not real resource path.
+ //on felix the return url would be null in this case, which is
correct expected behavior.
+ //but on equinox the return url is like
bundleresource://184.fwk1674485910/,
+ //which cause NPE in AbstractWebConsolePlugin.spoolResource
+ //so just return null ensure it works both with felix and equinox
+ return null;
+ }
+
URL url = this.classLoader.getResource( path );
try
{
Modified:
felix/trunk/karaf/webconsole/gogo/src/main/java/org/apache/felix/karaf/webconsole/gogo/GogoPlugin.java
URL:
http://svn.apache.org/viewvc/felix/trunk/karaf/webconsole/gogo/src/main/java/org/apache/felix/karaf/webconsole/gogo/GogoPlugin.java?rev=900659&r1=900658&r2=900659&view=diff
==============================================================================
---
felix/trunk/karaf/webconsole/gogo/src/main/java/org/apache/felix/karaf/webconsole/gogo/GogoPlugin.java
(original)
+++
felix/trunk/karaf/webconsole/gogo/src/main/java/org/apache/felix/karaf/webconsole/gogo/GogoPlugin.java
Tue Jan 19 04:45:27 2010
@@ -135,6 +135,15 @@
protected URL getResource( String path )
{
path = path.substring( NAME.length() + 1 );
+ if (path.length() == 0) {
+ //it means input parameter path is just plugin name like /gogo but
not real resource path.
+ //on felix the return url would be null in this case, which is
correct expected behavior.
+ //but on equinox the return url is like
bundleresource://184.fwk1674485910/,
+ //which cause NPE in AbstractWebConsolePlugin.spoolResource
+ //so just return null ensure it works both with felix and equinox
+ return null;
+ }
+
URL url = this.getClass().getClassLoader().getResource( path );
try
{