Author: alesj
Date: 2009-11-23 16:19:56 -0500 (Mon, 23 Nov 2009)
New Revision: 96760
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:
[JBOSGI-141]; getTarget should be simpl, tracking is done elsewhere.
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-23
21:18:59 UTC (rev 96759)
+++
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiScopeInfo.java 2009-11-23
21:19:56 UTC (rev 96760)
@@ -77,7 +77,7 @@
if (qualifier instanceof Class)
return key;
- Object service = serviceState.getService();
+ Object service = serviceState.getTarget();
if (service != null)
{
Class<?> clazz = service.getClass();
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-23
21:18:59 UTC (rev 96759)
+++
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiServiceState.java 2009-11-23
21:19:56 UTC (rev 96760)
@@ -41,7 +41,6 @@
import org.jboss.osgi.framework.plugins.FrameworkEventsPlugin;
import org.jboss.osgi.framework.util.CaseInsensitiveDictionary;
import org.jboss.osgi.spi.util.BundleClassLoader;
-import org.jboss.reflect.spi.ClassInfo;
import org.jboss.util.collection.ConcurrentSet;
import org.jboss.util.id.GUID;
import org.osgi.framework.Bundle;
@@ -198,39 +197,18 @@
setScopeInfo(OSGiScopeInfo.createScopeInfo(getName(), className, clazz, this));
}
- /**
- * Get service directly.
- *
- * @return the service
- */
- Object getService()
- {
- return getService(bundleState);
- }
-
@Override
public Object getTarget()
{
- return bundleState.getService(this);
+ // get service directly
+ return getService(bundleState);
}
- public Object ungetTarget()
- {
- bundleState.ungetService(this);
- return getService();
- }
-
public Object invoke(String name, Object[] parameters, String[] signature) throws
Throwable
{
- Object service = getService();
- return getBeanInfo().invoke(service, name, signature, parameters);
+ return getBeanInfo().invoke(getTarget(), name, signature, parameters);
}
- public ClassInfo getClassInfo()
- {
- return getBeanInfo().getClassInfo();
- }
-
public ClassLoader getClassLoader() throws Throwable
{
SecurityManager sm = System.getSecurityManager();
@@ -242,27 +220,32 @@
public Object get(String name) throws Throwable
{
- Object service = getService();
- return getBeanInfo().getProperty(service, name);
+ return getBeanInfo().getProperty(getTarget(), name);
}
public void set(String name, Object value) throws Throwable
{
- Object service = getService();
- getBeanInfo().setProperty(service, name, value);
+ getBeanInfo().setProperty(getTarget(), name, value);
}
- public BeanInfo getBeanInfo()
+ /**
+ * Get bean info.
+ *
+ * @return the bean info
+ */
+ protected BeanInfo getBeanInfo()
{
+ if (isUnregistered())
+ return null;
+
if (beanInfo == null)
{
try
{
Kernel kernel = bundleState.getBundleManager().getKernel();
KernelConfigurator configurator = kernel.getConfigurator();
- Object service = getService();
- if (service != null)
- beanInfo = configurator.getBeanInfo(service.getClass());
+ Object service = getTarget(); // should not be null, we're not
unregistered
+ beanInfo = configurator.getBeanInfo(service.getClass());
}
catch (Throwable t)
{