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]