You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by na...@apache.org on 2009/09/13 23:46:58 UTC
svn commit: r814389 - in /tuscany/branches/sca-java-1.x: itest/domainmgr/
itest/domainmgr/basic/runtest/ itest/domainmgr/transaction/
itest/domainmgr/transaction/payment/ itest/domainmgr/transaction/payment/src/
itest/domainmgr/transaction/payment/src/...
Author: nash
Date: Sun Sep 13 21:46:57 2009
New Revision: 814389
URL: http://svn.apache.org/viewvc?rev=814389&view=rev
Log:
Copy r797984, r797987 and r797991 changes from 1.5.1 branch to 1.x branch
Added:
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/ (props changed)
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/pom.xml
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/pom.xml
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/payment/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/payment/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/payment/PaymentImpl.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/payment/PaymentImpl.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/Customer.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/Customer.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/CustomerNotFoundException.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/CustomerNotFoundException.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/CustomerRegistry.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/CustomerRegistry.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/CustomerRegistryImpl.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/customer/CustomerRegistryImpl.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/emailgateway/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/emailgateway/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/emailgateway/EmailGateway.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/emailgateway/EmailGateway.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/java/scatours/emailgateway/EmailGatewayImpl.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/java/scatours/emailgateway/EmailGatewayImpl.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/CreditCardPayment.wsdl
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/CreditCardPayment.wsdl
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/META-INF/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/META-INF/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/META-INF/sca-contribution.xml
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/META-INF/sca-contribution.xml
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/Payment.wsdl
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/Payment.wsdl
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/definitions.xml
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/definitions.xml
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/src/main/resources/payment.composite
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/payment/src/main/resources/payment.composite
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/pom.xml
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/pom.xml
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/ (props changed)
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/pom.xml
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/pom.xml
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/java/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/java/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/java/domainmgr/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/java/domainmgr/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/java/domainmgr/DomainManagerTransactionTestCase.java
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/java/domainmgr/DomainManagerTransactionTestCase.java
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/domain/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/domain/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/domain/cloud/
- copied from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/domain/cloud/
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/domain/cloud.composite
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/domain/cloud.composite
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/domain/cloud/PaymentNode.composite
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/domain/cloud/PaymentNode.composite
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/domain/domain.composite
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/domain/domain.composite
tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/src/test/resources/domain/workspace.xml
- copied unchanged from r797987, tuscany/branches/sca-java-1.5.1/itest/domainmgr/transaction/runtest/src/test/resources/domain/workspace.xml
Modified:
tuscany/branches/sca-java-1.x/itest/domainmgr/basic/runtest/pom.xml
tuscany/branches/sca-java-1.x/itest/domainmgr/pom.xml
tuscany/branches/sca-java-1.x/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java
tuscany/branches/sca-java-1.x/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
Modified: tuscany/branches/sca-java-1.x/itest/domainmgr/basic/runtest/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/itest/domainmgr/basic/runtest/pom.xml?rev=814389&r1=814388&r2=814389&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/itest/domainmgr/basic/runtest/pom.xml (original)
+++ tuscany/branches/sca-java-1.x/itest/domainmgr/basic/runtest/pom.xml Sun Sep 13 21:46:57 2009
@@ -70,14 +70,6 @@
<version>1.5.1-SNAPSHOT</version>
<scope>test</scope>
</dependency>
- <!--
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- -->
<dependency>
<groupId>junit</groupId>
Modified: tuscany/branches/sca-java-1.x/itest/domainmgr/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/itest/domainmgr/pom.xml?rev=814389&r1=814388&r2=814389&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/itest/domainmgr/pom.xml (original)
+++ tuscany/branches/sca-java-1.x/itest/domainmgr/pom.xml Sun Sep 13 21:46:57 2009
@@ -33,9 +33,10 @@
<packaging>pom</packaging>
<build>
- <defaultGoal>install</defaultGoal>
+ <defaultGoal>install</defaultGoal>
</build>
<modules>
<module>basic</module>
+ <module>transaction</module>
</modules>
</project>
Propchange: tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/payment/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Sep 13 21:46:57 2009
@@ -0,0 +1,15 @@
+target
+*.iws
+*.ipr
+*.iml
+.project
+.classpath
+maven.log
+velocity.log*
+junit*.properties
+surefire*.properties
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders
+maven-eclipse.xml
Propchange: tuscany/branches/sca-java-1.x/itest/domainmgr/transaction/runtest/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Sep 13 21:46:57 2009
@@ -0,0 +1,15 @@
+target
+*.iws
+*.ipr
+*.iml
+.project
+.classpath
+maven.log
+velocity.log*
+junit*.properties
+surefire*.properties
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders
+maven-eclipse.xml
Modified: tuscany/branches/sca-java-1.x/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java?rev=814389&r1=814388&r2=814389&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java (original)
+++ tuscany/branches/sca-java-1.x/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java Sun Sep 13 21:46:57 2009
@@ -55,6 +55,7 @@
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeIncludeBuilderImpl;
+import org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.contribution.Artifact;
import org.apache.tuscany.sca.contribution.Contribution;
@@ -65,7 +66,10 @@
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory;
+import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
import org.apache.tuscany.sca.contribution.service.ContributionReadException;
import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
@@ -75,17 +79,26 @@
import org.apache.tuscany.sca.data.collection.Item;
import org.apache.tuscany.sca.data.collection.LocalItemCollection;
import org.apache.tuscany.sca.data.collection.NotFoundException;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
+import org.apache.tuscany.sca.definitions.util.SCADefinitionsUtil;
import org.apache.tuscany.sca.implementation.node.NodeImplementation;
import org.apache.tuscany.sca.implementation.node.builder.impl.NodeCompositeBuilderImpl;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.policy.Intent;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.provider.SCADefinitionsProvider;
+import org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint;
import org.apache.tuscany.sca.workspace.Workspace;
import org.apache.tuscany.sca.workspace.WorkspaceFactory;
import org.apache.tuscany.sca.workspace.builder.ContributionDependencyBuilder;
import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl;
import org.apache.tuscany.sca.workspace.processor.impl.ContributionContentProcessor;
+import org.osoa.sca.ServiceRuntimeException;
import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Reference;
import org.osoa.sca.annotations.Scope;
@@ -125,10 +138,16 @@
private StAXArtifactProcessor<Composite> compositeProcessor;
private XMLOutputFactory outputFactory;
private ContributionDependencyBuilder contributionDependencyBuilder;
- private CompositeBuilder compositeBuilder;
private CompositeBuilder compositeIncludeBuilder;
private CompositeBuilder nodeConfigurationBuilder;
private Monitor monitor;
+ private List<SCADefinitions> policyDefinitions;
+ private ModelResolver policyDefinitionsResolver;
+ private SCABindingFactory scaBindingFactory;
+ private IntentAttachPointTypeFactory intentAttachPointTypeFactory;
+ private DocumentBuilderFactory documentBuilderFactory;
+ private TransformerFactory transformerFactory;
+ private InterfaceContractMapper contractMapper;
/**
* Initialize the component.
@@ -158,26 +177,37 @@
URLArtifactProcessorExtensionPoint urlProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
URLArtifactProcessor<Object> urlProcessor = new ExtensibleURLArtifactProcessor(urlProcessors, monitor);
-
+ policyDefinitionsResolver = new DefaultModelResolver();
+ policyDefinitions = new ArrayList<SCADefinitions>();
+
+ // The following was copied from RuntimeBuilder to fix TUSCANY-3171
+ XMLInputFactory validatingInputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class);
+ documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class);
+ //documentBuilderFactory.setNamespaceAware(true);
+ urlProcessors.getProcessor(Composite.class);
+ urlProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, validatingInputFactory,
+ documentBuilderFactory, policyDefinitions, monitor));
+
// Create contribution processor
modelResolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class);
- contributionProcessor = new ContributionContentProcessor(extensionPoints, monitor);
+ contributionProcessor = new ContributionContentProcessor(extensionPoints, monitor, policyDefinitionsResolver, policyDefinitions);
// Create contribution and composite builders
- DocumentBuilderFactory documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class);
- TransformerFactory transformerFactory = modelFactories.getFactory(TransformerFactory.class);
+ transformerFactory = modelFactories.getFactory(TransformerFactory.class);
contributionDependencyBuilder = new ContributionDependencyBuilderImpl(monitor);
- SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
- IntentAttachPointTypeFactory intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
- InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class);
- compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, documentBuilderFactory, transformerFactory, contractMapper, monitor);
+ scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
+ intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
+ contractMapper = utilities.getUtility(InterfaceContractMapper.class);
compositeIncludeBuilder = new CompositeIncludeBuilderImpl(monitor);
nodeConfigurationBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, documentBuilderFactory, transformerFactory, contractMapper, null, monitor);
+
+ // Load the definitions.xml
+ loadSCADefinitions(extensionPoints);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
+
// Get the request path
String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
String key;
@@ -284,6 +314,7 @@
try {
compositeIncludeBuilder.build(deployable);
} catch (CompositeBuilderException e) {
+ e.printStackTrace(); //[nash]
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString());
}
@@ -347,9 +378,17 @@
}
// Build the domain composite
+ SCADefinitions aggregatedDefinitions = new SCADefinitionsImpl();
+ for (SCADefinitions definition : policyDefinitions) {
+ SCADefinitionsUtil.aggregateSCADefinitions(definition, aggregatedDefinitions);
+ }
+ CompositeBuilder compositeBuilder = new CompositeBuilderImpl(assemblyFactory, null, scaBindingFactory,
+ intentAttachPointTypeFactory, documentBuilderFactory, transformerFactory,
+ contractMapper, aggregatedDefinitions, monitor);
try {
compositeBuilder.build(domainComposite);
} catch (CompositeBuilderException e) {
+ e.printStackTrace(); //[nash]
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString());
return;
}
@@ -416,7 +455,9 @@
QName formatName = new QName(format.substring(0, s), format.substring(s +1));
processor = (StAXArtifactProcessor<Composite>)staxProcessors.getProcessor(formatName);
if (processor == null) {
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, new IllegalArgumentException(queryString).toString());
+ Exception e = new IllegalArgumentException(queryString); //[nash]
+ e.printStackTrace(); //[nash]
+ response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString()); //[nash]
return;
}
} else {
@@ -427,6 +468,7 @@
XMLStreamWriter writer = outputFactory.createXMLStreamWriter(response.getOutputStream());
processor.write(requestedComposite, writer);
} catch (Exception e) {
+ e.printStackTrace(); //[nash]
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString());
return;
}
@@ -516,4 +558,52 @@
}
}
+ /**
+ * The following code was copied from RuntimeBootStrapper to fix TUSCANY-3171
+ *
+ * @param registry
+ */
+ private void loadSCADefinitions(ExtensionPointRegistry registry) throws ParserConfigurationException {
+ try {
+ URLArtifactProcessorExtensionPoint documentProcessors =
+ registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ URLArtifactProcessor<SCADefinitions> definitionsProcessor =
+ documentProcessors.getProcessor(SCADefinitions.class);
+ SCADefinitionsProviderExtensionPoint scaDefnProviders =
+ registry.getExtensionPoint(SCADefinitionsProviderExtensionPoint.class);
+
+ SCADefinitions systemSCADefinitions = new SCADefinitionsImpl();
+ SCADefinitions aSCADefn = null;
+ for (SCADefinitionsProvider aProvider : scaDefnProviders.getSCADefinitionsProviders()) {
+ aSCADefn = aProvider.getSCADefinition();
+ SCADefinitionsUtil.aggregateSCADefinitions(aSCADefn, systemSCADefinitions);
+ }
+
+ policyDefinitions.add(systemSCADefinitions);
+
+ //we cannot expect that providers will add the intents and policysets into the resolver
+ //so we do this here explicitly
+ for (Intent intent : systemSCADefinitions.getPolicyIntents()) {
+ policyDefinitionsResolver.addModel(intent);
+ }
+
+ for (PolicySet policySet : systemSCADefinitions.getPolicySets()) {
+ policyDefinitionsResolver.addModel(policySet);
+ }
+
+ for (IntentAttachPointType attachPoinType : systemSCADefinitions.getBindingTypes()) {
+ policyDefinitionsResolver.addModel(attachPoinType);
+ }
+
+ for (IntentAttachPointType attachPoinType : systemSCADefinitions.getImplementationTypes()) {
+ policyDefinitionsResolver.addModel(attachPoinType);
+ }
+
+ //now that all system sca definitions have been read, lets resolve them right away
+ definitionsProcessor.resolve(systemSCADefinitions, policyDefinitionsResolver);
+ } catch (Exception e) {
+ throw new ServiceRuntimeException(e);
+ }
+ }
+
}
Modified: tuscany/branches/sca-java-1.x/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java?rev=814389&r1=814388&r2=814389&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java (original)
+++ tuscany/branches/sca-java-1.x/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java Sun Sep 13 21:46:57 2009
@@ -50,9 +50,13 @@
import org.apache.tuscany.sca.contribution.scanner.ContributionScanner;
import org.apache.tuscany.sca.contribution.service.ContributionReadException;
import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.policy.Intent;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
+import org.apache.tuscany.sca.policy.PolicySet;
import org.apache.tuscany.sca.workspace.scanner.impl.DirectoryContributionScanner;
import org.apache.tuscany.sca.workspace.scanner.impl.JarContributionScanner;
@@ -71,6 +75,8 @@
private StAXArtifactProcessor<Object> extensionProcessor;
private UtilityExtensionPoint utilities;
private Monitor monitor = null;
+ private ModelResolver policyDefinitionsResolver = null;
+ private List<SCADefinitions> policyDefinitions = null;
public ContributionContentProcessor(ExtensionPointRegistry extensionPoints, Monitor monitor) {
this.extensionPoints = extensionPoints;
@@ -89,6 +95,13 @@
this.contributionFactory = modelFactories.getFactory(ContributionFactory.class);
}
+ public ContributionContentProcessor(ExtensionPointRegistry extensionPoints, Monitor monitor,
+ ModelResolver policyDefinitionsResolver, List<SCADefinitions> policyDefinitions) {
+ this(extensionPoints, monitor);
+ this.policyDefinitionsResolver = policyDefinitionsResolver;
+ this.policyDefinitions = policyDefinitions;
+ }
+
/*
public ContributionContentProcessor(ModelFactoryExtensionPoint modelFactories, ModelResolverExtensionPoint modelResolvers,
URLArtifactProcessor<Object> artifactProcessor, StAXArtifactProcessor<Object> extensionProcessor, Monitor monitor) {
@@ -116,7 +129,12 @@
Contribution contribution = contributionFactory.createContribution();
contribution.setURI(contributionURI.toString());
contribution.setLocation(contributionURL.toString());
- ModelResolver modelResolver = new ExtensibleModelResolver(contribution, extensionPoints);
+ ModelResolver modelResolver;
+ if (policyDefinitionsResolver != null) {
+ modelResolver = new ExtensibleModelResolver(contribution, extensionPoints, modelResolvers, modelFactories, policyDefinitionsResolver);
+ } else {
+ modelResolver = new ExtensibleModelResolver(contribution, extensionPoints);
+ }
contribution.setModelResolver(modelResolver);
contribution.setUnresolved(true);
@@ -150,6 +168,11 @@
// Add the loaded model to the model resolver
modelResolver.addModel(model);
+ // Add policy definitions to the list of policy definitions
+ if (policyDefinitionsResolver != null) {
+ addPolicyDefinitions(model);
+ }
+
// Merge contribution metadata into the contribution model
if (model instanceof ContributionMetadata) {
contributionMetadata = true;
@@ -245,4 +268,38 @@
}
}
}
+
+ /**
+ * The following code was copied from ContributionServiceImpl to fix TUSCANY-3171
+ *
+ * @param model
+ */
+ private void addPolicyDefinitions(Object model) {
+
+ // Add policy definitions to the list of policy definitions
+ if (model instanceof SCADefinitions) {
+ policyDefinitions.add((SCADefinitions)model);
+
+ SCADefinitions definitions = (SCADefinitions)model;
+ for (Intent intent : definitions.getPolicyIntents() ) {
+ policyDefinitionsResolver.addModel(intent);
+ }
+
+ for (PolicySet policySet : definitions.getPolicySets() ) {
+ policyDefinitionsResolver.addModel(policySet);
+ }
+
+ for (IntentAttachPointType attachPointType : definitions.getBindingTypes() ) {
+ policyDefinitionsResolver.addModel(attachPointType);
+ }
+
+ for (IntentAttachPointType attachPointType : definitions.getImplementationTypes() ) {
+ policyDefinitionsResolver.addModel(attachPointType);
+ }
+ for (Object binding : definitions.getBindings() ) {
+ policyDefinitionsResolver.addModel(binding);
+ }
+ }
+ }
+
}