[jboss-cvs] JBossAS SVN: r96605 - projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 19 18:56:49 EST 2009


Author: alesj
Date: 2009-11-19 18:56:49 -0500 (Thu, 19 Nov 2009)
New Revision: 96605

Modified:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiScopeInfo.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiServiceState.java
Log:
Fix scope info usage #2.

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiScopeInfo.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiScopeInfo.java	2009-11-19 23:40:30 UTC (rev 96604)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiScopeInfo.java	2009-11-19 23:56:49 UTC (rev 96605)
@@ -22,9 +22,10 @@
 package org.jboss.osgi.framework.bundle;
 
 import org.jboss.dependency.plugins.AbstractScopeInfo;
+import org.jboss.dependency.spi.ScopeInfo;
+import org.jboss.metadata.spi.scope.CommonLevels;
+import org.jboss.metadata.spi.scope.Scope;
 import org.jboss.metadata.spi.scope.ScopeKey;
-import org.jboss.metadata.spi.scope.Scope;
-import org.jboss.metadata.spi.scope.CommonLevels;
 
 /**
  * OSGi ScopeInfo
@@ -33,18 +34,40 @@
  */
 public class OSGiScopeInfo extends AbstractScopeInfo
 {
-   public OSGiScopeInfo(Object name, String className)
+   private OSGiScopeInfo(Object name, String className)
    {
       super(name, className);
    }
 
    /**
+    * Create scope info.
+    *
+    * @param name the name
+    * @param className the class name
+    * @param clazz the class
+    * @return new scope info
+    */
+   static ScopeInfo createScopeInfo(Object name, String className, Class<?> clazz)
+   {
+      if (className == null && clazz != null)
+         className = clazz.getName();
+
+      OSGiScopeInfo result = new OSGiScopeInfo(name, className);
+      if (clazz != null)
+         result.update(clazz);
+      return result;
+   }
+
+   /**
     * Add class scope.
     *
     * @param clazz the class
     */
    void update(Class<?> clazz)
    {
+      if (clazz == null)
+         throw new IllegalArgumentException("Null class");
+
       ScopeKey key = getScope();
       key.addScope(new Scope(CommonLevels.CLASS, clazz));
    }

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiServiceState.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiServiceState.java	2009-11-19 23:40:30 UTC (rev 96604)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiServiceState.java	2009-11-19 23:56:49 UTC (rev 96605)
@@ -187,14 +187,15 @@
    protected void initOSGiScopeInfo()
    {
       String className = null;
+      Class<?> clazz = null;
 
       Object target = serviceOrFactory;
       if (target != null && target instanceof ServiceFactory == false)
-         className = target.getClass().getName();
+         clazz = target.getClass();
       else if (clazzes.length == 1)
          className = clazzes[0];
 
-      setScopeInfo(new OSGiScopeInfo(getName(), className));
+      setScopeInfo(OSGiScopeInfo.createScopeInfo(getName(), className, clazz));
    }
 
    @Override




More information about the jboss-cvs-commits mailing list