Author: svkrish
Date: Tue Aug 21 14:08:22 2007
New Revision: 568287

URL: http://svn.apache.org/viewvc?rev=568287&view=rev
Log:
integrating loading of definitions.xml and resolving domain definitions into 
the runtime

Modified:
    incubator/tuscany/java/sca/modules/host-embedded/pom.xml
    
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
    
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java

Modified: incubator/tuscany/java/sca/modules/host-embedded/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/pom.xml?rev=568287&r1=568286&r2=568287&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/pom.xml Tue Aug 21 
14:08:22 2007
@@ -65,6 +65,12 @@
             <version>1.0-incubating-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-policy-xml</artifactId>
+            <version>1.0-incubating-SNAPSHOT</version>
+        </dependency>
                         
     </dependencies>
 </project>

Modified: 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?rev=568287&r1=568286&r2=568287&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
 Tue Aug 21 14:08:22 2007
@@ -20,10 +20,14 @@
 package org.apache.tuscany.sca.host.embedded.impl;
 
 import java.io.IOException;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
@@ -31,7 +35,14 @@
 import org.apache.tuscany.sca.context.DefaultContextFactoryExtensionPoint;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import 
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import 
org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
+import 
org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import 
org.apache.tuscany.sca.contribution.service.ContributionResolveException;
 import org.apache.tuscany.sca.contribution.service.ContributionService;
+import 
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ModuleActivator;
@@ -45,7 +56,12 @@
 import org.apache.tuscany.sca.interfacedef.impl.TempServiceDeclarationUtil;
 import org.apache.tuscany.sca.invocation.MessageFactory;
 import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
+import org.apache.tuscany.sca.policy.Intent;
 import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.ProfileIntent;
+import org.apache.tuscany.sca.policy.QualifiedIntent;
+import org.apache.tuscany.sca.policy.SCADefinitions;
+import org.apache.tuscany.sca.policy.xml.SCADefinitionsDocumentProcessor;
 import org.apache.tuscany.sca.scope.ScopeRegistry;
 import org.apache.tuscany.sca.work.WorkScheduler;
 
@@ -100,13 +116,17 @@
         factories.addFactory(scaBindingFactory);
         ContributionFactory contributionFactory = 
factories.getFactory(ContributionFactory.class); 
         
+        SCADefinitionsDocumentProcessor scaDocDefnProcessor = 
+            
ReallySmallRuntimeBuilder.createSCADefinitionsDocProcessor(registry, 
policyFactory);
+        
         // Create a contribution service
         contributionService = 
ReallySmallRuntimeBuilder.createContributionService(classLoader,
                                                                                
   registry,
                                                                                
   contributionFactory,
                                                                                
   assemblyFactory,
                                                                                
   policyFactory,
-                                                                               
   mapper);
+                                                                               
   mapper,
+                                                                               
   scaDocDefnProcessor.getDomainModelResolver());
 
         // Create the ScopeRegistry
         scopeRegistry = 
ReallySmallRuntimeBuilder.createScopeRegistry(registry);
@@ -125,11 +145,29 @@
                                                                                
 scopeRegistry,
                                                                                
 workScheduler);
 
+        
         // Load the runtime modules
         modules = loadModules(registry, classLoader);
         
         // Start the runtime modules
         startModules(registry, modules);
+        
+        loadDomainDefinitions(scaDocDefnProcessor);
+    }
+    
+    private void loadDomainDefinitions(SCADefinitionsDocumentProcessor 
scaDocDefnProcessor) throws ActivationException {
+        URL url = this.classLoader.getResource("definitions.xml");
+        
+        if ( url != null ) {
+            try {
+                SCADefinitions scaDefinitions = scaDocDefnProcessor.read(null, 
null, url);
+                scaDocDefnProcessor.resolve(scaDefinitions, 
scaDocDefnProcessor.getDomainModelResolver());
+            } catch ( ContributionReadException e ) {
+                throw new ActivationException(e);
+            } catch ( ContributionResolveException e ) {
+                throw new ActivationException(e);
+            }
+        } 
     }
 
     public void stop() throws ActivationException {
@@ -138,7 +176,7 @@
         stopModules(registry, modules);
 
         // Stop and destroy the work manager
-        workScheduler.destroy();
+        workScheduler.destroy(); 
 
         // Cleanup
         modules = null;

Modified: 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=568287&r1=568286&r2=568287&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
 Tue Aug 21 14:08:22 2007
@@ -49,6 +49,7 @@
 import 
org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint;
 import 
org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import 
org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import 
org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
 import 
org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint;
 import org.apache.tuscany.sca.contribution.service.ContributionRepository;
@@ -75,6 +76,7 @@
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
 import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.xml.SCADefinitionsDocumentProcessor;
 import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
 import org.apache.tuscany.sca.runtime.RuntimeWireProcessor;
 import org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint;
@@ -145,7 +147,8 @@
                                                                 
ContributionFactory contributionFactory,
                                                                 
AssemblyFactory assemblyFactory,
                                                                 PolicyFactory 
policyFactory,
-                                                                
InterfaceContractMapper mapper)
+                                                                
InterfaceContractMapper mapper,
+                                                                ModelResolver 
domainModelResolver)
         throws ActivationException {
 
         XMLInputFactory xmlFactory = 
registry.getExtensionPoint(XMLInputFactory.class);
@@ -198,9 +201,11 @@
 
         ExtensibleURLArtifactProcessor documentProcessor = new 
ExtensibleURLArtifactProcessor(documentProcessors);
 
-        ContributionService contributionService =
-            new ContributionServiceImpl(repository, packageProcessor, 
documentProcessor, staxProcessor, contributionListener,
-                    postProcessor, modelResolvers, modelFactories, 
assemblyFactory, contributionFactory, xmlFactory);
+        ContributionService contributionService = 
+            new ContributionServiceImpl(repository, packageProcessor, 
documentProcessor,
+                                        staxProcessor, contributionListener, 
+                                        postProcessor, domainModelResolver, 
modelResolvers, modelFactories,
+                                        assemblyFactory, contributionFactory, 
xmlFactory);
         return contributionService;
     }
 
@@ -221,5 +226,20 @@
 
         return scopeRegistry;
     }
+    
+    public static SCADefinitionsDocumentProcessor 
createSCADefinitionsDocProcessor(ExtensionPointRegistry registry,
+                                                                               
    PolicyFactory policyFactory) {
+        XMLInputFactory xmlFactory = 
registry.getExtensionPoint(XMLInputFactory.class);
+        StAXArtifactProcessorExtensionPoint staxProcessors = 
registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        ExtensibleStAXArtifactProcessor staxProcessor = 
+            new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory, 
XMLOutputFactory.newInstance());
+        SCADefinitionsDocumentProcessor scaDocDefnProcessor = new 
SCADefinitionsDocumentProcessor(staxProcessors,
+                                                                               
                   staxProcessor,
+                                                                               
                   xmlFactory,
+                                                                               
                   policyFactory);
+
+        return scaDocDefnProcessor;
+    }
+
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to