FELIX-1530 Add methods to ask for the activate/deactivate method names and whether
they have been declared or not.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@822290 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
index ee2b809..f597314 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
@@ -595,6 +595,38 @@
         return m_componentMetadata.isEnabled();
     }
 
+
+    public String getActivate()
+    {
+        return m_componentMetadata.getActivate();
+    }
+
+
+    public boolean isActivateDeclared()
+    {
+        return m_componentMetadata.isActivateDeclared();
+    }
+
+
+    public String getDeactivate()
+    {
+        return m_componentMetadata.getDeactivate();
+    }
+
+
+    public boolean isDeactivateDeclared()
+    {
+        return m_componentMetadata.isDeactivateDeclared();
+    }
+
+
+    public String getModified()
+    {
+        return m_componentMetadata.getModified();
+
+    }
+
+
     public boolean isServiceFactory()
     {
         return m_componentMetadata.getServiceMetadata() != null
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
index 5bb3360..b6db017 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
@@ -199,6 +199,16 @@
         return this;
     }
 
+    //---------- Component interface
+
+
+    public ComponentInstance getComponentInstance()
+    {
+        // a ComponentFactory is not a real component and as such does
+        // not have a ComponentInstance
+        return null;
+    }
+
 
     //---------- ComponentHolder interface
 
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java
index 17d359f..340f160 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java
@@ -29,6 +29,7 @@
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentConstants;
 import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.ComponentInstance;
 import org.osgi.service.log.LogService;
 
 
@@ -155,6 +156,15 @@
         }
     }
 
+    //---------- Component interface
+
+    public ComponentInstance getComponentInstance()
+    {
+        // TODO: should return the component instance corresponding to the
+        // bundle owning ScrService
+        return super.getComponentInstance();
+    }
+
     private static class BundleComponentContext extends ComponentContextImpl
     {