You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/05/09 20:56:24 UTC

svn commit: r405498 - in /incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo: injection/ injection/XSDHelperObjectFactory.java system/ system/SDOService.java

Author: jmarino
Date: Tue May  9 11:56:22 2006
New Revision: 405498

URL: http://svn.apache.org/viewcvs?rev=405498&view=rev
Log:
beginning sdo helper injector

Added:
    incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/injection/
    incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/injection/XSDHelperObjectFactory.java
    incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/system/
    incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/system/SDOService.java

Added: incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/injection/XSDHelperObjectFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/injection/XSDHelperObjectFactory.java?rev=405498&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/injection/XSDHelperObjectFactory.java (added)
+++ incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/injection/XSDHelperObjectFactory.java Tue May  9 11:56:22 2006
@@ -0,0 +1,49 @@
+package org.apache.tuscany.databinding.sdo.injection;
+
+import commonj.sdo.helper.XSDHelper;
+import org.apache.tuscany.core.builder.ContextResolver;
+import org.apache.tuscany.core.builder.ObjectFactory;
+import org.apache.tuscany.core.context.AutowireContext;
+import org.apache.tuscany.core.context.CompositeContext;
+import org.apache.tuscany.core.injection.ObjectCreationException;
+import org.apache.tuscany.databinding.sdo.system.SDOService;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class XSDHelperObjectFactory implements ObjectFactory<XSDHelper> {
+
+
+    private ContextResolver resolver;
+
+    /**
+     * @throws org.apache.tuscany.core.injection.FactoryInitException
+     *
+     */
+    public XSDHelperObjectFactory(ContextResolver resolver) {
+        this.resolver = resolver;
+    }
+
+
+    public XSDHelper getInstance() throws ObjectCreationException {
+        CompositeContext parent = resolver.getCurrentContext();
+        if (parent == null) {
+            return null;// FIXME semantic here means required is not followed
+        }
+        if (!(parent instanceof AutowireContext)) {
+            ObjectCreationException e = new ObjectCreationException("Parent does not implement "
+                    + AutowireContext.class.getName());
+            e.setIdentifier(parent.getName());
+            throw e;
+        }
+        AutowireContext ctx = (AutowireContext) parent;
+        SDOService assemblyCtx = ctx.resolveInstance(SDOService.class);
+        return assemblyCtx.getHelper();
+    }
+
+    public void setContextResolver(ContextResolver resolver) {
+        this.resolver = resolver;
+    }
+
+
+}

Added: incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/system/SDOService.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/system/SDOService.java?rev=405498&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/system/SDOService.java (added)
+++ incubator/tuscany/java/sca/databinding/sdo/src/main/java/org/apache/tuscany/databinding/sdo/system/SDOService.java Tue May  9 11:56:22 2006
@@ -0,0 +1,15 @@
+package org.apache.tuscany.databinding.sdo.system;
+
+import commonj.sdo.helper.XSDHelper;
+import commonj.sdo.helper.DataFactory;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public interface SDOService {
+
+    public XSDHelper getHelper();
+
+    public DataFactory getDataFactory();
+    
+}