You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/05/07 05:27:56 UTC
svn commit: r535720 [1/2] - in /incubator/tuscany/java/sca/modules:
assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/
assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/
binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/ bi...
Author: jsdelfino
Date: Sun May 6 20:27:50 2007
New Revision: 535720
URL: http://svn.apache.org/viewvc?view=rev&rev=535720
Log:
Allow a resolver to be associated with each contribution, import or export. Adjusted SPI to take a resolver when a contribution is contributed. Renamed ArtifactResolver to ModelResolver as it really resolves models and not Artifacts, which in a Contribution represent documents/resources.
Added:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java (with props)
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java (with props)
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java (with props)
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java (with props)
Removed:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ArtifactResolver.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultArtifactResolver.java
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeProcessor.java
incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadDocumentTestCase.java
incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ResolveTestCase.java
incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java
incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionFactoryImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImportImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/Contribution.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionFactory.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionImport.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessor.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleStAXArtifactProcessor.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleURLArtifactProcessor.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionMetadataLoader.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionService.java
incubator/tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/contribution/resolver/DefaultArtifactResolverTestCase.java
incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/core/spring/runtime/ComponentContext.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOProcessor.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOProcessorTestCase.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/ReallySmallRuntimeBuilder.java
incubator/tuscany/java/sca/modules/host-embedded/src/test/java/crud/CRUDImplementationProcessor.java
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java
incubator/tuscany/java/sca/modules/implementation-java-xml/src/test/java/org/apache/tuscany/implementation/java/xml/ReadTestCase.java
incubator/tuscany/java/sca/modules/implementation-script/src/main/java/org/apache/tuscany/implementation/spi/AbstractStAXArtifactProcessor.java
incubator/tuscany/java/sca/modules/interface-java-xml/src/main/java/org/apache/tuscany/interfacedef/java/xml/JavaInterfaceProcessor.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospector.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/interfacedef/wsdl/introspect/WSDLInterfaceIntrospector.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/interfacedef/wsdl/introspect/WSDLOperation.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/interfacedef/wsdl/xml/WSDLDocumentProcessor.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/interfacedef/wsdl/xml/XSDDocumentProcessor.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospectorTestCase.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/interfacedef/wsdl/introspect/WSDLOperationTestCase.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java Sun May 6 20:27:50 2007
@@ -52,7 +52,7 @@
import org.apache.tuscany.assembly.Property;
import org.apache.tuscany.assembly.Reference;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.interfacedef.InterfaceContract;
@@ -383,16 +383,16 @@
* @return
* @throws ContributionResolveException
*/
- protected Implementation resolveImplementation(Implementation implementation, ArtifactResolver resolver) throws ContributionResolveException {
+ protected Implementation resolveImplementation(Implementation implementation, ModelResolver resolver) throws ContributionResolveException {
if (implementation != null) {
if (implementation.isUnresolved()) {
- implementation = resolver.resolve(Implementation.class, implementation);
+ implementation = resolver.resolveModel(Implementation.class, implementation);
// Lazily resolve implementations
if (implementation.isUnresolved()) {
extensionProcessor.resolve(implementation, resolver);
if (!implementation.isUnresolved()) {
- resolver.add(implementation);
+ resolver.addModel(implementation);
}
}
}
@@ -405,7 +405,7 @@
* @param contracts the list of contracts
* @param resolver the resolver to use to resolve models
*/
- protected <C extends Contract> void resolveContracts(List<C> contracts, ArtifactResolver resolver) throws ContributionResolveException {
+ protected <C extends Contract> void resolveContracts(List<C> contracts, ModelResolver resolver) throws ContributionResolveException {
for (Contract contract: contracts) {
// Resolve the interface contract
@@ -427,7 +427,7 @@
* @param contracts the list of contracts
* @param resolver the resolver to use to resolve models
*/
- protected <C extends AbstractContract> void resolveAbstractContracts(List<C> contracts, ArtifactResolver resolver) throws ContributionResolveException {
+ protected <C extends AbstractContract> void resolveAbstractContracts(List<C> contracts, ModelResolver resolver) throws ContributionResolveException {
for (AbstractContract contract: contracts) {
// Resolve the interface contract
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeDocumentProcessor.java Sun May 6 20:27:50 2007
@@ -31,7 +31,7 @@
import org.apache.tuscany.assembly.ComponentType;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.contribution.processor.URLArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
@@ -80,7 +80,7 @@
}
}
- public void resolve(ComponentType componentType, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(ComponentType componentType, ModelResolver resolver) throws ContributionResolveException {
extensionProcessor.resolve(componentType, resolver);
}
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ComponentTypeProcessor.java Sun May 6 20:27:50 2007
@@ -40,7 +40,7 @@
import org.apache.tuscany.assembly.Reference;
import org.apache.tuscany.assembly.Service;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.ContributionWriteException;
@@ -254,7 +254,7 @@
}
}
- public void resolve(ComponentType componentType, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(ComponentType componentType, ModelResolver resolver) throws ContributionResolveException {
// Resolve component type services and references
resolveContracts(componentType.getServices(), resolver);
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeDocumentProcessor.java Sun May 6 20:27:50 2007
@@ -31,7 +31,7 @@
import org.apache.tuscany.assembly.Composite;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.contribution.processor.URLArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
@@ -79,7 +79,7 @@
}
}
- public void resolve(Composite composite, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(Composite composite, ModelResolver resolver) throws ContributionResolveException {
extensionProcessor.resolve(composite, resolver);
}
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/CompositeProcessor.java Sun May 6 20:27:50 2007
@@ -52,7 +52,7 @@
import org.apache.tuscany.assembly.Wire;
import org.apache.tuscany.assembly.builder.impl.DefaultCompositeBuilder;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.ContributionWireException;
@@ -443,17 +443,17 @@
}
}
- public void resolve(Composite composite, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(Composite composite, ModelResolver resolver) throws ContributionResolveException {
// Resolve constraining type
ConstrainingType constrainingType = composite.getConstrainingType();
- constrainingType = resolver.resolve(ConstrainingType.class, constrainingType);
+ constrainingType = resolver.resolveModel(ConstrainingType.class, constrainingType);
composite.setConstrainingType(constrainingType);
// Resolve includes in the composite
for (int i = 0, n = composite.getIncludes().size(); i < n; i++) {
Composite include = composite.getIncludes().get(i);
- include = resolver.resolve(Composite.class, include);
+ include = resolver.resolveModel(Composite.class, include);
composite.getIncludes().set(i, include);
}
@@ -467,7 +467,7 @@
// Resolve component implementations, services and references
for (Component component: composite.getComponents()) {
constrainingType = component.getConstrainingType();
- constrainingType = resolver.resolve(ConstrainingType.class, constrainingType);
+ constrainingType = resolver.resolveModel(ConstrainingType.class, constrainingType);
component.setConstrainingType(constrainingType);
Implementation implementation = component.getImplementation();
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeDocumentProcessor.java Sun May 6 20:27:50 2007
@@ -31,7 +31,7 @@
import org.apache.tuscany.assembly.ConstrainingType;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.contribution.processor.URLArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
@@ -79,7 +79,7 @@
}
}
- public void resolve(ConstrainingType constrainingType, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(ConstrainingType constrainingType, ModelResolver resolver) throws ContributionResolveException {
extensionProcessor.resolve(constrainingType, resolver);
}
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/ConstrainingTypeProcessor.java Sun May 6 20:27:50 2007
@@ -34,7 +34,7 @@
import org.apache.tuscany.assembly.AssemblyFactory;
import org.apache.tuscany.assembly.ConstrainingType;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.ContributionWriteException;
@@ -188,7 +188,7 @@
}
}
- public void resolve(ConstrainingType constrainingType, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(ConstrainingType constrainingType, ModelResolver resolver) throws ContributionResolveException {
// Resolve component type services and references
resolveAbstractContracts(constrainingType.getServices(), resolver);
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadDocumentTestCase.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadDocumentTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadDocumentTestCase.java Sun May 6 20:27:50 2007
@@ -35,7 +35,7 @@
import org.apache.tuscany.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.contribution.processor.ExtensibleURLArtifactProcessor;
import org.apache.tuscany.contribution.processor.URLArtifactProcessorExtensionPoint;
-import org.apache.tuscany.contribution.resolver.DefaultArtifactResolver;
+import org.apache.tuscany.contribution.resolver.DefaultModelResolver;
import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
import org.apache.tuscany.policy.DefaultPolicyFactory;
@@ -49,7 +49,7 @@
public class ReadDocumentTestCase extends TestCase {
private ExtensibleURLArtifactProcessor documentProcessor;
- private DefaultArtifactResolver resolver;
+ private DefaultModelResolver resolver;
public void setUp() throws Exception {
AssemblyFactory factory = new DefaultAssemblyFactory();
@@ -72,7 +72,7 @@
documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, inputFactory));
documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory));
- resolver = new DefaultArtifactResolver(getClass().getClassLoader());
+ resolver = new DefaultModelResolver(getClass().getClassLoader());
}
public void tearDown() throws Exception {
@@ -85,7 +85,7 @@
URL url = getClass().getResource("CalculatorComponent.constrainingType");
ConstrainingType constrainingType = (ConstrainingType)documentProcessor.read(null, null, url);
assertNotNull(constrainingType);
- resolver.add(constrainingType);
+ resolver.addModel(constrainingType);
url = getClass().getResource("TestAllCalculator.composite");
Composite composite = (Composite)documentProcessor.read(null, null, url);
@@ -101,7 +101,7 @@
URL url = getClass().getResource("Calculator.composite");
Composite nestedComposite = (Composite)documentProcessor.read(null, null, url);
assertNotNull(nestedComposite);
- resolver.add(nestedComposite);
+ resolver.addModel(nestedComposite);
url = getClass().getResource("TestAllCalculator.composite");
Composite composite = (Composite)documentProcessor.read(null, null, url);
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ResolveTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ResolveTestCase.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ResolveTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ResolveTestCase.java Sun May 6 20:27:50 2007
@@ -33,7 +33,7 @@
import org.apache.tuscany.assembly.DefaultAssemblyFactory;
import org.apache.tuscany.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.DefaultArtifactResolver;
+import org.apache.tuscany.contribution.resolver.DefaultModelResolver;
import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
import org.apache.tuscany.policy.DefaultPolicyFactory;
@@ -49,7 +49,7 @@
private XMLInputFactory inputFactory;
private DefaultStAXArtifactProcessorExtensionPoint staxProcessors;
private ExtensibleStAXArtifactProcessor staxProcessor;
- private DefaultArtifactResolver resolver;
+ private DefaultModelResolver resolver;
private AssemblyFactory factory;
private PolicyFactory policyFactory;
private InterfaceContractMapper mapper;
@@ -61,7 +61,7 @@
inputFactory = XMLInputFactory.newInstance();
staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
- resolver = new DefaultArtifactResolver(getClass().getClassLoader());
+ resolver = new DefaultModelResolver(getClass().getClassLoader());
}
public void tearDown() throws Exception {
@@ -80,7 +80,7 @@
ConstrainingType constrainingType = constrainingTypeReader.read(reader);
is.close();
assertNotNull(constrainingType);
- resolver.add(constrainingType);
+ resolver.addModel(constrainingType);
is = getClass().getResourceAsStream("TestAllCalculator.composite");
CompositeProcessor compositeReader = new CompositeProcessor(factory, policyFactory, mapper, staxProcessor);
@@ -102,7 +102,7 @@
Composite nestedComposite = compositeReader.read(reader);
is.close();
assertNotNull(nestedComposite);
- resolver.add(nestedComposite);
+ resolver.addModel(nestedComposite);
is = getClass().getResourceAsStream("TestAllCalculator.composite");
compositeReader = new CompositeProcessor(factory, policyFactory, mapper, staxProcessor);
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WireTestCase.java Sun May 6 20:27:50 2007
@@ -34,7 +34,7 @@
import org.apache.tuscany.assembly.builder.impl.DefaultCompositeBuilder;
import org.apache.tuscany.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.DefaultArtifactResolver;
+import org.apache.tuscany.contribution.resolver.DefaultModelResolver;
import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
import org.apache.tuscany.policy.DefaultPolicyFactory;
@@ -50,7 +50,7 @@
private XMLInputFactory inputFactory;
private DefaultStAXArtifactProcessorExtensionPoint staxProcessors;
private ExtensibleStAXArtifactProcessor staxProcessor;
- private DefaultArtifactResolver resolver;
+ private DefaultModelResolver resolver;
private AssemblyFactory factory;
private PolicyFactory policyFactory;
private InterfaceContractMapper mapper;
@@ -59,7 +59,7 @@
inputFactory = XMLInputFactory.newInstance();
staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
- resolver = new DefaultArtifactResolver(getClass().getClassLoader());
+ resolver = new DefaultModelResolver(getClass().getClassLoader());
factory = new DefaultAssemblyFactory();
policyFactory = new DefaultPolicyFactory();
mapper = new DefaultInterfaceContractMapper();
@@ -81,7 +81,7 @@
ConstrainingType constrainingType = constrainingTypeReader.read(reader);
is.close();
assertNotNull(constrainingType);
- resolver.add(constrainingType);
+ resolver.addModel(constrainingType);
is = getClass().getResourceAsStream("TestAllCalculator.composite");
CompositeProcessor compositeReader = new CompositeProcessor(factory, policyFactory, mapper, staxProcessor);
@@ -105,7 +105,7 @@
Composite nestedComposite = compositeReader.read(reader);
is.close();
assertNotNull(nestedComposite);
- resolver.add(nestedComposite);
+ resolver.addModel(nestedComposite);
is = getClass().getResourceAsStream("TestAllCalculator.composite");
compositeReader = new CompositeProcessor(factory, policyFactory, mapper, staxProcessor);
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/WriteAllTestCase.java Sun May 6 20:27:50 2007
@@ -35,7 +35,7 @@
import org.apache.tuscany.assembly.builder.impl.DefaultCompositeBuilder;
import org.apache.tuscany.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.DefaultArtifactResolver;
+import org.apache.tuscany.contribution.resolver.DefaultModelResolver;
import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
import org.apache.tuscany.policy.DefaultPolicyFactory;
@@ -49,7 +49,7 @@
public class WriteAllTestCase extends TestCase {
private DefaultStAXArtifactProcessorExtensionPoint staxProcessors;
private ExtensibleStAXArtifactProcessor staxProcessor;
- private DefaultArtifactResolver resolver;
+ private DefaultModelResolver resolver;
private AssemblyFactory factory;
private PolicyFactory policyFactory;
private InterfaceContractMapper mapper;
@@ -66,7 +66,7 @@
staxProcessors.addArtifactProcessor(new CompositeProcessor(factory, policyFactory, mapper, staxProcessor));
staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(factory, policyFactory, staxProcessor));
staxProcessors.addArtifactProcessor(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessor));
- resolver = new DefaultArtifactResolver(getClass().getClassLoader());
+ resolver = new DefaultModelResolver(getClass().getClassLoader());
}
public void tearDown() throws Exception {
Modified: incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java Sun May 6 20:27:50 2007
@@ -33,7 +33,7 @@
import org.apache.tuscany.binding.rmi.RMIBindingConstants;
import org.apache.tuscany.binding.rmi.RMIBindingFactory;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.ContributionWriteException;
@@ -100,7 +100,7 @@
}
}
- public void resolve(RMIBinding model, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(RMIBinding model, ModelResolver resolver) throws ContributionResolveException {
}
public QName getArtifactType() {
Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java Sun May 6 20:27:50 2007
@@ -96,7 +96,7 @@
URI name = URI.create(context.getComponentId() + "#" + compositeReference.getName());
ReferenceBinding referenceBinding = new Axis2ReferenceBinding(name, targetURI, wsBinding);
- referenceBindings.add(referenceBinding); // track binding so that its resources can be released
+ referenceBindings.addModel(referenceBinding); // track binding so that its resources can be released
return referenceBinding;
}
@@ -117,7 +117,7 @@
// TODO: if <binding.ws> specifies the wsdl service then should create a service for every port
ServiceBinding serviceBinding = new Axis2ServiceBinding(uri, wsBinding, servletHost, configContext);
- serviceBindings.add(serviceBinding); // track binding so that its resources can be released
+ serviceBindings.addModel(serviceBinding); // track binding so that its resources can be released
return serviceBinding;
}
Modified: incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java Sun May 6 20:27:50 2007
@@ -38,7 +38,7 @@
import org.apache.tuscany.binding.ws.WebServiceBinding;
import org.apache.tuscany.binding.ws.WebServiceBindingFactory;
import org.apache.tuscany.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.ContributionWriteException;
@@ -211,11 +211,11 @@
}
}
- public void resolve(WebServiceBinding model, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(WebServiceBinding model, ModelResolver resolver) throws ContributionResolveException {
WSDLDefinition wsdlDefinition = wsdlFactory.createWSDLDefinition();
wsdlDefinition.setUnresolved(true);
wsdlDefinition.setNamespace(model.getNamespace());
- wsdlDefinition = resolver.resolve(WSDLDefinition.class, wsdlDefinition);
+ wsdlDefinition = resolver.resolveModel(WSDLDefinition.class, wsdlDefinition);
if (!wsdlDefinition.isUnresolved()) {
model.setDefinition(wsdlDefinition);
Definition definition = wsdlDefinition.getDefinition();
Added: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java?view=auto&rev=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java Sun May 6 20:27:50 2007
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.contribution.impl;
+
+import org.apache.tuscany.contribution.ContributionExport;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
+
+/**
+ * The representation of an export for the contribution
+ *
+ * @version $Rev$ $Date$
+ */
+public class ContributionExportImpl implements ContributionExport {
+ private String namespace; // The namespace to be imported
+ private ModelResolver modelResolver;
+
+ protected ContributionExportImpl() {
+ }
+
+ public String getNamespace() {
+ return namespace;
+ }
+
+ public void setNamespace(String namespace) {
+ this.namespace = namespace;
+ }
+
+ public ModelResolver getModelResolver() {
+ return modelResolver;
+ }
+
+ public void setModelResolver(ModelResolver modelResolver) {
+ this.modelResolver = modelResolver;
+ }
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionExportImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionFactoryImpl.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionFactoryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionFactoryImpl.java Sun May 6 20:27:50 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.contribution.impl;
import org.apache.tuscany.contribution.Contribution;
+import org.apache.tuscany.contribution.ContributionExport;
import org.apache.tuscany.contribution.ContributionFactory;
import org.apache.tuscany.contribution.ContributionImport;
import org.apache.tuscany.contribution.DeployedArtifact;
@@ -30,11 +31,15 @@
return new ContributionImpl();
}
- public DeployedArtifact createDeplyedArtifact() {
+ public DeployedArtifact createDeployedArtifact() {
return new DeployedArtifactImpl();
}
public ContributionImport createContributionImport() {
return new ContributionImportImpl();
+ }
+
+ public ContributionExport createContributionExport() {
+ return new ContributionExportImpl();
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImpl.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImpl.java Sun May 6 20:27:50 2007
@@ -24,8 +24,10 @@
import org.apache.tuscany.assembly.Composite;
import org.apache.tuscany.contribution.Contribution;
+import org.apache.tuscany.contribution.ContributionExport;
import org.apache.tuscany.contribution.ContributionImport;
import org.apache.tuscany.contribution.DeployedArtifact;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
/**
* The representation of a deployed contribution
@@ -33,9 +35,10 @@
* @version $Rev: 531146 $ $Date: 2007-04-21 22:40:50 -0700 (Sat, 21 Apr 2007) $
*/
public class ContributionImpl extends ArtifactImpl implements Contribution {
- private List<String> exports = new ArrayList<String>();
+ private List<ContributionExport> exports = new ArrayList<ContributionExport>();
private List<ContributionImport> imports = new ArrayList<ContributionImport>();
private List<Composite> deployables = new ArrayList<Composite>();
+ private ModelResolver modelResolver;
/**
* A list of artifacts in the contribution
@@ -45,7 +48,7 @@
protected ContributionImpl() {
}
- public List<String> getExports() {
+ public List<ContributionExport> getExports() {
return exports;
}
@@ -60,5 +63,12 @@
public List<DeployedArtifact> getArtifacts() {
return artifacts;
}
-
+
+ public ModelResolver getModelResolver() {
+ return modelResolver;
+ }
+
+ public void setModelResolver(ModelResolver modelResolver) {
+ this.modelResolver = modelResolver;
+ }
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImportImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImportImpl.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImportImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/impl/ContributionImportImpl.java Sun May 6 20:27:50 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.contribution.impl;
import org.apache.tuscany.contribution.ContributionImport;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
/**
* The representation of an import for the contribution
@@ -29,6 +30,7 @@
public class ContributionImportImpl implements ContributionImport {
private String namespace; // The namespace to be imported
private String location; // Optional location to hint the where it should be imported
+ private ModelResolver modelResolver;
protected ContributionImportImpl() {
}
@@ -47,5 +49,13 @@
public void setNamespace(String namespace) {
this.namespace = namespace;
+ }
+
+ public ModelResolver getModelResolver() {
+ return modelResolver;
+ }
+
+ public void setModelResolver(ModelResolver modelResolver) {
+ this.modelResolver = modelResolver;
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java Sun May 6 20:27:50 2007
@@ -28,6 +28,7 @@
import org.apache.tuscany.assembly.AssemblyFactory;
import org.apache.tuscany.assembly.Composite;
import org.apache.tuscany.contribution.Contribution;
+import org.apache.tuscany.contribution.ContributionExport;
import org.apache.tuscany.contribution.ContributionFactory;
import org.apache.tuscany.contribution.ContributionImport;
import org.apache.tuscany.contribution.service.ContributionMetadataLoader;
@@ -61,12 +62,8 @@
return CONTRIBUTION;
}
- /* (non-Javadoc)
- * @see org.apache.tuscany.services.contribution.ContributionMetadataLoader#load(javax.xml.stream.XMLStreamReader)
- */
- public Contribution load(XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException {
+ public void load(Contribution contribution, XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException {
- Contribution contribution = this.contributionFactory.createContribution();
while (true) {
int event = reader.next();
switch (event) {
@@ -116,12 +113,14 @@
if (ns == null) {
throw new InvalidValueException("Attribute 'namespace' is missing");
}
- contribution.getExports().add(ns);
+ ContributionExport contributionExport = this.contributionFactory.createContributionExport();
+ contributionExport.setNamespace(ns);
+ contribution.getExports().add(contributionExport);
}
break;
case XMLStreamConstants.END_ELEMENT:
if (CONTRIBUTION.equals(reader.getName())) {
- return contribution;
+ return;
}
break;
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java Sun May 6 20:27:50 2007
@@ -40,7 +40,7 @@
import org.apache.tuscany.contribution.DeployedArtifact;
import org.apache.tuscany.contribution.processor.PackageProcessor;
import org.apache.tuscany.contribution.processor.URLArtifactProcessor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionException;
import org.apache.tuscany.contribution.service.ContributionMetadataLoaderException;
import org.apache.tuscany.contribution.service.ContributionRepository;
@@ -69,11 +69,6 @@
private URLArtifactProcessor artifactProcessor;
/**
- * Artifact Resolver
- */
- private ArtifactResolver artifactResolver;
-
- /**
* xml factory used to create reader instance to load contribution metadata
*/
private XMLInputFactory xmlFactory;
@@ -97,7 +92,7 @@
public ContributionServiceImpl(ContributionRepository repository,
PackageProcessor packageProcessor,
URLArtifactProcessor artifactProcessor,
- ArtifactResolver artifactResolver,
+ ModelResolver artifactResolver,
AssemblyFactory assemblyFactory,
ContributionFactory contributionFactory,
XMLInputFactory xmlFactory) {
@@ -105,14 +100,13 @@
this.contributionRepository = repository;
this.packageProcessor = packageProcessor;
this.artifactProcessor = artifactProcessor;
- this.artifactResolver = artifactResolver;
this.xmlFactory = xmlFactory;
this.contributionFactory = contributionFactory;
this.contributionLoader = new ContributionMetadataLoaderImpl(assemblyFactory, contributionFactory);
}
- public Contribution contribute(String contributionURI, URL sourceURL, boolean storeInRepository) throws ContributionException,
+ public Contribution contribute(String contributionURI, URL sourceURL, ModelResolver modelResolver, boolean storeInRepository) throws ContributionException,
IOException {
if (contributionURI == null) {
throw new IllegalArgumentException("URI for the contribution is null");
@@ -120,15 +114,17 @@
if (sourceURL == null) {
throw new IllegalArgumentException("Source URL for the contribution is null");
}
- return addContribution(contributionURI, sourceURL, null, storeInRepository);
+
+ return addContribution(contributionURI, sourceURL, null, modelResolver, storeInRepository);
}
- public Contribution contribute(String contributionURI, URL sourceURL, InputStream input)
+ public Contribution contribute(String contributionURI, URL sourceURL, InputStream input, ModelResolver modelResolver)
throws ContributionException, IOException {
- return addContribution(contributionURI, sourceURL, input, true);
+
+ return addContribution(contributionURI, sourceURL, input, modelResolver, true);
}
- private Contribution initializeContributionMetadata(URL sourceURL) throws ContributionException {
+ private Contribution initializeContributionMetadata(URL sourceURL, ModelResolver modelResolver) throws ContributionException {
Contribution contributionMetadata = null;
URL contributionMetadataURL;
URL generatedContributionMetadataURL;
@@ -141,16 +137,16 @@
generatedContributionMetadataURL = cl.getResource(Contribution.SCA_CONTRIBUTION_GENERATED_META);
try {
- if (contributionMetadataURL == null && generatedContributionMetadataURL == null) {
- contributionMetadata = this.contributionFactory.createContribution();
- } else {
+ contributionMetadata = this.contributionFactory.createContribution();
+ contributionMetadata.setModelResolver(modelResolver);
+ if (contributionMetadataURL != null || generatedContributionMetadataURL != null) {
URL metadataURL = contributionMetadataURL != null ? contributionMetadataURL
: generatedContributionMetadataURL;
try {
metadataStream = metadataURL.openStream();
XMLStreamReader xmlReader = this.xmlFactory.createXMLStreamReader(metadataStream);
- contributionMetadata = this.contributionLoader.load(xmlReader);
+ this.contributionLoader.load(contributionMetadata, xmlReader);
} catch (IOException ioe) {
throw new InvalidContributionMetadataException(ioe.getMessage(), metadataURL.toExternalForm(), ioe);
@@ -183,17 +179,9 @@
this.contributionRegistry.remove(contribution);
}
- public void addDeploymentComposite(String contributionURI, Composite composite) throws ContributionException {
- Contribution contribution = getContribution(contributionURI);
-
- if (contribution == null) {
- throw new InvalidContributionURIException("Invalid/Inexistent contribution uri '"
- + contributionURI.toString());
- }
-
- URI compositeURI = URI.create(composite.getURI());
- DeployedArtifact artifact = this.contributionFactory.createDeplyedArtifact();
- artifact.setURI(compositeURI.toString());
+ public void addDeploymentComposite(Contribution contribution, Composite composite) throws ContributionException {
+ DeployedArtifact artifact = this.contributionFactory.createDeployedArtifact();
+ artifact.setURI(composite.getURI());
artifact.setModel(composite);
contribution.getArtifacts().add(artifact);
@@ -228,6 +216,7 @@
private Contribution addContribution(String contributionURI,
URL sourceURL,
InputStream contributionStream,
+ ModelResolver modelResolver,
boolean storeInRepository) throws IOException, ContributionException {
if (contributionStream == null && sourceURL == null) {
@@ -244,7 +233,7 @@
}
}
- Contribution contribution = initializeContributionMetadata(locationURL);
+ Contribution contribution = initializeContributionMetadata(locationURL, modelResolver);
contribution.setURI(contributionURI.toString());
contribution.setLocation(locationURL.toString());
@@ -292,9 +281,9 @@
Object model = this.artifactProcessor.read(contributionURL, a, artifactURL);
if (model != null) {
- artifactResolver.add(model);
+ contribution.getModelResolver().addModel(model);
- DeployedArtifact artifact = this.contributionFactory.createDeplyedArtifact();
+ DeployedArtifact artifact = this.contributionFactory.createDeployedArtifact();
artifact.setURI(a.toString());
artifact.setLocation(artifactURL.toString());
artifact.setModel(model);
@@ -316,14 +305,14 @@
for (DeployedArtifact artifact : contribution.getArtifacts()) {
// resolve the model object
if (artifact.getModel() != null) {
- this.artifactProcessor.resolve(artifact.getModel(), artifactResolver);
+ this.artifactProcessor.resolve(artifact.getModel(), contribution.getModelResolver());
}
}
//resolve deployables from contribution metadata
List<Composite> resolvedDeployables = new ArrayList<Composite>();
for (Composite deployableComposite : contribution.getDeployables()) {
- Composite resolvedDeployable = artifactResolver.resolve(Composite.class, deployableComposite);
+ Composite resolvedDeployable = contribution.getModelResolver().resolveModel(Composite.class, deployableComposite);
resolvedDeployables.add(resolvedDeployable);
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java Sun May 6 20:27:50 2007
@@ -28,7 +28,9 @@
import org.apache.tuscany.assembly.DefaultAssemblyFactory;
import org.apache.tuscany.contribution.Contribution;
+import org.apache.tuscany.contribution.ContributionFactory;
import org.apache.tuscany.contribution.impl.ContributionFactoryImpl;
+import org.apache.tuscany.contribution.resolver.DefaultModelResolver;
import org.apache.tuscany.contribution.service.impl.ContributionMetadataLoaderImpl;
import org.apache.tuscany.contribution.service.impl.InvalidValueException;
@@ -65,9 +67,12 @@
public void testLoad() throws Exception {
XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(VALID_XML));
+ ContributionFactory factory = new ContributionFactoryImpl();
ContributionMetadataLoaderImpl loader =
- new ContributionMetadataLoaderImpl(new DefaultAssemblyFactory(), new ContributionFactoryImpl());
- Contribution contribution = loader.load(reader);
+ new ContributionMetadataLoaderImpl(new DefaultAssemblyFactory(), factory);
+ Contribution contribution = factory.createContribution();
+ contribution.setModelResolver(new DefaultModelResolver(getClass().getClassLoader()));
+ loader.load(contribution, reader);
assertNotNull(contribution);
assertEquals(1, contribution.getImports().size());
assertEquals(1, contribution.getExports().size());
@@ -76,10 +81,13 @@
public void testLoadInvalid() throws Exception {
XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(INVALID_XML));
+ ContributionFactory factory = new ContributionFactoryImpl();
ContributionMetadataLoaderImpl loader =
- new ContributionMetadataLoaderImpl(new DefaultAssemblyFactory(), new ContributionFactoryImpl());
+ new ContributionMetadataLoaderImpl(new DefaultAssemblyFactory(), factory);
+ Contribution contribution = factory.createContribution();
+ contribution.setModelResolver(new DefaultModelResolver(getClass().getClassLoader()));
try {
- loader.load(reader);
+ loader.load(contribution, reader);
fail("InvalidException should have been thrown");
} catch (InvalidValueException e) {
assertTrue(true);
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/Contribution.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/Contribution.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/Contribution.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/Contribution.java Sun May 6 20:27:50 2007
@@ -22,6 +22,7 @@
import java.util.List;
import org.apache.tuscany.assembly.Composite;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
/**
* The representation of a deployed contribution
@@ -37,7 +38,7 @@
* Get a list of exports based on the Contribution metadata sidefile
* @return
*/
- List<String> getExports();
+ List<ContributionExport> getExports();
/**
* Get a list of imports based on the Contribution metadata sidefile
@@ -57,5 +58,21 @@
* @return
*/
List<DeployedArtifact> getArtifacts();
+
+ /**
+ * Returns the model resolver for the models representing the artifacts
+ * visible in the scope of this contribution.
+ *
+ * @return
+ */
+ ModelResolver getModelResolver();
+
+ /**
+ * Sets the model resolver for the models representing the artifacts
+ * visible in the scope of this contribution.
+ *
+ * @param modelResolver
+ */
+ void setModelResolver(ModelResolver modelResolver);
}
Added: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java?view=auto&rev=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java (added)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java Sun May 6 20:27:50 2007
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.contribution;
+
+import org.apache.tuscany.contribution.resolver.ModelResolver;
+
+
+/**
+ * The representation of an export for the contribution
+ *
+ * @version $Rev$ $Date$
+ */
+public interface ContributionExport {
+
+ /**
+ * Get Namespace that identifies the import
+ * @return
+ */
+ String getNamespace();
+
+ /**
+ * Set Namespace that identifies the import
+ * @param namespace
+ */
+ void setNamespace(String namespace);
+
+ /**
+ * Returns the model resolver for the models representing artifacts
+ * made available by this export.
+ *
+ * @return
+ */
+ ModelResolver getModelResolver();
+
+ /**
+ * Sets the model resolver for the models representing artifacts
+ * made available by this export.
+ *
+ * @param modelResolver
+ */
+ void setModelResolver(ModelResolver modelResolver);
+
+}
Propchange: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionExport.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionFactory.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionFactory.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionFactory.java Sun May 6 20:27:50 2007
@@ -29,7 +29,7 @@
* Create a deployedArtifact model object
* @return
*/
- DeployedArtifact createDeplyedArtifact();
+ DeployedArtifact createDeployedArtifact();
/**
* Create a contribution model object
@@ -42,4 +42,11 @@
* @return
*/
ContributionImport createContributionImport();
+
+ /**
+ * Create a contribution import model
+ * @return
+ */
+ ContributionExport createContributionExport();
+
}
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionImport.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionImport.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionImport.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/ContributionImport.java Sun May 6 20:27:50 2007
@@ -19,6 +19,8 @@
package org.apache.tuscany.contribution;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
+
/**
* The representation of an import for the contribution
@@ -49,4 +51,21 @@
* @param namespace
*/
void setNamespace(String namespace);
+
+ /**
+ * Returns the model resolver for the models representing artifacts
+ * made available by this import.
+ *
+ * @return
+ */
+ ModelResolver getModelResolver();
+
+ /**
+ * Sets the model resolver for the models representing artifacts
+ * made available by this import.
+ *
+ * @param modelResolver
+ */
+ void setModelResolver(ModelResolver modelResolver);
+
}
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ArtifactProcessor.java Sun May 6 20:27:50 2007
@@ -18,7 +18,7 @@
*/
package org.apache.tuscany.contribution.processor;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionResolveException;
@@ -37,7 +37,7 @@
* @param model the model to resolve
* @param the resolver to use to resolve referenced models
*/
- void resolve(M model, ArtifactResolver resolver) throws ContributionResolveException;
+ void resolve(M model, ModelResolver resolver) throws ContributionResolveException;
/**
* Returns the type of model handled by this artifact processor.
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleStAXArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleStAXArtifactProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleStAXArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleStAXArtifactProcessor.java Sun May 6 20:27:50 2007
@@ -30,7 +30,7 @@
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.ContributionWriteException;
@@ -94,7 +94,7 @@
}
@SuppressWarnings("unchecked")
- public void resolve(Object model, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException {
// Delegate to the processor associated with the model type
if (model != null) {
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleURLArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleURLArtifactProcessor.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleURLArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/processor/ExtensibleURLArtifactProcessor.java Sun May 6 20:27:50 2007
@@ -21,7 +21,7 @@
import java.net.URI;
import java.net.URL;
-import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
import org.apache.tuscany.contribution.service.ContributionReadException;
import org.apache.tuscany.contribution.service.ContributionResolveException;
import org.apache.tuscany.contribution.service.UnrecognizedElementException;
@@ -64,7 +64,7 @@
}
@SuppressWarnings("unchecked")
- public void resolve(Object model, ArtifactResolver resolver) throws ContributionResolveException {
+ public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException {
// Delegate to the processor associated with the model type
if (model != null) {
Added: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java?view=auto&rev=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java (added)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java Sun May 6 20:27:50 2007
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.contribution.resolver;
+
+import java.lang.ref.WeakReference;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * A default implementation of an artifact resolver, based on a map.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DefaultModelResolver implements ModelResolver {
+ private static final long serialVersionUID = -7826976465762296634L;
+
+ private Map<Object, Object> map = new HashMap<Object, Object>();
+
+ private WeakReference<ClassLoader> classLoader;
+
+ public DefaultModelResolver(ClassLoader classLoader) {
+ this.classLoader = new WeakReference<ClassLoader>(classLoader);
+ }
+
+ public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+ Object resolved = map.get(unresolved);
+ if (resolved != null) {
+
+ // Return the resolved object
+ return modelClass.cast(resolved);
+
+ } else if (unresolved instanceof ClassReference) {
+
+ // Load a class on demand
+ ClassReference classReference = (ClassReference)unresolved;
+ Class clazz;
+ try {
+ clazz = Class.forName(classReference.getClassName(), true, classLoader.get());
+ } catch (ClassNotFoundException e) {
+
+ // Return the unresolved object
+ return unresolved;
+ }
+
+ // Store a new ClassReference wrappering the loaded class
+ resolved = new ClassReference(clazz);
+ map.put(resolved, resolved);
+
+ // Return the resolved ClassReference
+ return modelClass.cast(resolved);
+
+ } else {
+
+ // Return the unresolved object
+ return unresolved;
+ }
+ }
+
+ public void addModel(Object resolved) {
+ map.put(resolved, resolved);
+ }
+
+ public Object removeModel(Object resolved) {
+ return map.remove(resolved);
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/DefaultModelResolver.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java?view=auto&rev=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java (added)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java Sun May 6 20:27:50 2007
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.contribution.resolver;
+
+
+
+/**
+ * SCA Assemblies reference many artifacts of a wide variety of types. These
+ * include:
+ * <ul>
+ * <li> Reference from one SCA composite to another SCA composite
+ * <li> Reference to PolicySet files
+ * <li> Reference to interface definition files, either WSDL or Java interfaces
+ * <li> Reference to XSD files
+ * <li> Reference to any of a wide variety of implementation artifact files,
+ * including Java classes, BPEL scripts, C++ DLLs and classes, PHP scripts
+ * </ul>
+ * In the SCA assemblies, these various artifacts are referenced using either
+ * QNames or URIs that do not point to a specific entity. Resolution of these
+ * references to concrete artifacts is necessary as part of the operation of the
+ * SCA domain.
+ *
+ * @version $Rev$ $Date$
+ */
+public interface ModelResolver {
+
+ /**
+ * Resolve the model representing an artifact.
+ * @param modelClass the type of artifact
+ * @param unresolved the unresolved model
+ * @return the resolved model
+ */
+ <T> T resolveModel(Class<T> modelClass, T unresolved);
+
+ /**
+ * Add a resolved model.
+ * @param resolved
+ */
+ void addModel(Object resolved);
+
+ /**
+ * Remove a resolved model.
+ * @param resolved
+ * @return the removed model, or null if the model was not removed
+ */
+ Object removeModel(Object resolved);
+
+}
Propchange: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/resolver/ModelResolver.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionMetadataLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionMetadataLoader.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionMetadataLoader.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionMetadataLoader.java Sun May 6 20:27:50 2007
@@ -27,10 +27,11 @@
public interface ContributionMetadataLoader {
/**
* Create the model object for Contribution Service metadata information
+ * @param contribution the contribution to load
* @param reader the XML stream reader positioned on the applicable START_ELEMENT
* @return
* @throws XMLStreamException
* @throws ContributionMetadataReadException
*/
- Contribution load(XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException;
+ void load(Contribution contribution, XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException;
}
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionService.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionService.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/contribution/service/ContributionService.java Sun May 6 20:27:50 2007
@@ -25,6 +25,7 @@
import org.apache.tuscany.assembly.Composite;
import org.apache.tuscany.contribution.Contribution;
+import org.apache.tuscany.contribution.resolver.ModelResolver;
/**
@@ -41,13 +42,15 @@
*
* @param contributionURI The URI that is used as the contribution unique ID.
* @param sourceURL the location of the resource containing the artifact
+ * @param modelResolver the model resolver to use to resolve models in the
+ * scope of this contribution
* @param storeInRepository flag that identifies if you want to copy the
* contribution to the repository
* @return the contribution model representing the contribution
* @throws DeploymentException if there was a problem with the contribution
* @throws IOException if there was a problem reading the resource
*/
- Contribution contribute(String contributionURI, URL sourceURL, boolean storeInRepository) throws ContributionException,
+ Contribution contribute(String contributionURI, URL sourceURL, ModelResolver modelResolver, boolean storeInRepository) throws ContributionException,
IOException;
/**
@@ -57,6 +60,8 @@
* @param sourceURL the location of the resource containing the artifact.
* This is used to identify what name should be used when storing
* the contribution on the repository
+ * @param modelResolver the model resolver to use to resolve models in the
+ * scope of this contribution
* @param contributionContent a stream containing the resource being
* contributed; the stream will not be closed but the read
* position after the call is undefined
@@ -64,7 +69,7 @@
* @throws DeploymentException if there was a problem with the contribution
* @throws IOException if there was a problem reading the stream
*/
- Contribution contribute(String contributionURI, URL sourceURL, InputStream contributionContent)
+ Contribution contribute(String contributionURI, URL sourceURL, InputStream contributionContent, ModelResolver modelResolver)
throws ContributionException, IOException;
/**
@@ -84,7 +89,7 @@
* matches the "name" attribute of the composite, with a ".composite"
* suffix.
*/
- void addDeploymentComposite(String contribution, Composite composite) throws ContributionException;
+ void addDeploymentComposite(Contribution contribution, Composite composite) throws ContributionException;
/**
* Remove a contribution from the SCA domain
Modified: incubator/tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/contribution/resolver/DefaultArtifactResolverTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/contribution/resolver/DefaultArtifactResolverTestCase.java?view=diff&rev=535720&r1=535719&r2=535720
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/contribution/resolver/DefaultArtifactResolverTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/contribution/resolver/DefaultArtifactResolverTestCase.java Sun May 6 20:27:50 2007
@@ -28,10 +28,10 @@
*/
public class DefaultArtifactResolverTestCase extends TestCase {
- private ArtifactResolver resolver;
+ private ModelResolver resolver;
protected void setUp() throws Exception {
- resolver = new DefaultArtifactResolver(getClass().getClassLoader());
+ resolver = new DefaultModelResolver(getClass().getClassLoader());
}
protected void tearDown() throws Exception {
@@ -40,27 +40,27 @@
public void testResolved() {
Model a = new Model("a");
- resolver.add(a);
+ resolver.addModel(a);
Model x = new Model("a");
- x = resolver.resolve(Model.class, x);
+ x = resolver.resolveModel(Model.class, x);
assertTrue(x == a);
}
public void testUnresolved() {
Model x = new Model("a");
- Model y = resolver.resolve(Model.class, x);
+ Model y = resolver.resolveModel(Model.class, x);
assertTrue(x == y);
}
public void testResolveClass() {
ClassReference ref = new ClassReference(getClass().getName());
- ClassReference clazz = resolver.resolve(ClassReference.class, ref);
+ ClassReference clazz = resolver.resolveModel(ClassReference.class, ref);
assertTrue(clazz.getJavaClass() == getClass());
}
public void testUnresolvedClass() {
ClassReference ref = new ClassReference("NonExistentClass");
- ClassReference clazz = resolver.resolve(ClassReference.class, ref);
+ ClassReference clazz = resolver.resolveModel(ClassReference.class, ref);
assertTrue(clazz.isUnresolved());
assertTrue(clazz.getJavaClass() == null);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org