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