You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gn...@apache.org on 2009/04/18 20:25:32 UTC

svn commit: r766370 - /geronimo/sandbox/blueprint/org.apache.felix.blueprint/src/main/java/org/apache/felix/blueprint/context/Instanciator.java

Author: gnodet
Date: Sat Apr 18 18:25:32 2009
New Revision: 766370

URL: http://svn.apache.org/viewvc?rev=766370&view=rev
Log:
Add TODOs

Modified:
    geronimo/sandbox/blueprint/org.apache.felix.blueprint/src/main/java/org/apache/felix/blueprint/context/Instanciator.java

Modified: geronimo/sandbox/blueprint/org.apache.felix.blueprint/src/main/java/org/apache/felix/blueprint/context/Instanciator.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/org.apache.felix.blueprint/src/main/java/org/apache/felix/blueprint/context/Instanciator.java?rev=766370&r1=766369&r2=766370&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/org.apache.felix.blueprint/src/main/java/org/apache/felix/blueprint/context/Instanciator.java (original)
+++ geronimo/sandbox/blueprint/org.apache.felix.blueprint/src/main/java/org/apache/felix/blueprint/context/Instanciator.java Sat Apr 18 18:25:32 2009
@@ -59,6 +59,8 @@
 import org.osgi.service.blueprint.reflect.TypedStringValue;
 import org.osgi.service.blueprint.reflect.Value;
 import org.osgi.service.blueprint.reflect.ServiceExportComponentMetadata;
+import org.osgi.service.blueprint.reflect.UnaryServiceReferenceComponentMetadata;
+import org.osgi.service.blueprint.reflect.CollectionBasedServiceReferenceComponentMetadata;
 import org.osgi.service.blueprint.namespace.ComponentDefinitionRegistry;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.framework.BundleContext;
@@ -67,6 +69,8 @@
 /**
  * TODO: javadoc
  *
+ * TODO: compound property names
+ *
  * @author <a href="mailto:dev@felix.apache.org">Apache Felix Project</a>
  * @version $Rev: 760378 $, $Date: 2009-03-31 11:31:38 +0200 (Tue, 31 Mar 2009) $
  */
@@ -148,9 +152,14 @@
             ExportedServiceRecipe recipe = new ExportedServiceRecipe((ServiceExportComponentMetadata) component);
             recipe.setName(component.getName());
             return recipe;
-        } else {
+        } else if (component instanceof UnaryServiceReferenceComponentMetadata) {
             // TODO
-            throw new IllegalStateException("Unsupported component " + component.getClass());
+            throw new IllegalStateException("Unsupported component type " + component.getClass());
+        } else if (component instanceof CollectionBasedServiceReferenceComponentMetadata) {
+            // TODO
+            throw new IllegalStateException("Unsupported component type " + component.getClass());
+        } else {
+            throw new IllegalStateException("Unsupported component type " + component.getClass());
         }
     }
 
@@ -232,9 +241,9 @@
     }
     
     private class BundleObjectRecipe extends ObjectRecipe {
-        
+
         String typeName;
-        
+
         public BundleObjectRecipe(String typeName) {
             super(typeName);
             this.typeName = typeName;
@@ -255,6 +264,7 @@
 
     /**
      * TODO: section 5.4.1.5 : expose a proxy to the ServiceRegistration
+     * TODO: destruction should unregister the service
      */
     private class ExportedServiceRecipe extends AbstractRecipe {
 
@@ -272,6 +282,7 @@
         protected Object internalCreate(Type expectedType, boolean lazyRefAllowed) throws ConstructionException {
             // TODO: metadata.getRegistrationListeners()
             try {
+                // TODO: if the exported component as a scope='bundle' we should create a ServiceFactory to honor that
                 Object service = getValue(metadata.getExportedComponent(),  null);
                 service = RecipeHelper.convert(Object.class, service, false);
                 Set<String> classes;