You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/04/08 05:00:39 UTC
svn commit: r526513 - in /incubator/tuscany/java/sca/modules:
contribution-impl/src/main/java/org/apache/tuscany/services/contribution/
contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/
contribution-impl/src/test/java/o...
Author: lresende
Date: Sat Apr 7 20:00:39 2007
New Revision: 526513
URL: http://svn.apache.org/viewvc?view=rev&rev=526513
Log:
Load, Resolve and wire phases integrated to contribution services
Removed:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/ComponentDefinitionArtifactResolver.java
Modified:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionServiceImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/contribution/model/DeployedArtifact.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/runtime/embedded/SimpleRuntimeImpl.java
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionServiceImpl.java?view=diff&rev=526513&r1=526512&r2=526513
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionServiceImpl.java Sat Apr 7 20:00:39 2007
@@ -35,14 +35,12 @@
import org.apache.tuscany.services.contribution.model.Contribution;
import org.apache.tuscany.services.contribution.model.DeployedArtifact;
import org.apache.tuscany.services.contribution.util.IOHelper;
-import org.apache.tuscany.services.spi.contribution.ArtifactProcessor;
-import org.apache.tuscany.services.spi.contribution.ArtifactProcessorRegistry;
-import org.apache.tuscany.services.spi.contribution.ArtifactResolverRegistry;
+import org.apache.tuscany.services.spi.contribution.ArtifactResolver;
import org.apache.tuscany.services.spi.contribution.ContributionException;
import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessor;
-import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.ContributionRepository;
import org.apache.tuscany.services.spi.contribution.ContributionService;
+import org.apache.tuscany.services.spi.contribution.DefaultArtifactResolver;
import org.apache.tuscany.services.spi.contribution.URLArtifactProcessor;
import org.apache.tuscany.services.spi.contribution.loader.ContributionMetadataLoaderException;
@@ -65,7 +63,7 @@
* Registry of available artifact processors
*/
- protected URLArtifactProcessor<?> artifactProcessor;
+ protected URLArtifactProcessor artifactProcessor;
/**
* xml factory used to create reader instance to load contribution metadata
@@ -82,17 +80,17 @@
*/
protected Map<URI, Contribution> contributionRegistry = new HashMap<URI, Contribution>();
- protected ArtifactResolverRegistry resolverRegistry;
+ protected ArtifactResolver artifactResolver;
public ContributionServiceImpl(ContributionRepository repository,
ContributionPackageProcessor packageProcessor,
URLArtifactProcessor artifactProcessor,
- ArtifactResolverRegistry resolverRegistry) {
+ ArtifactResolver artifactResolver) {
super();
this.contributionRepository = repository;
this.packageProcessor = packageProcessor;
this.artifactProcessor = artifactProcessor;
- this.resolverRegistry = resolverRegistry;
+ this.artifactResolver = artifactResolver;
this.xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
this.contributionLoader = new ContributionMetadataLoaderImpl();
@@ -256,10 +254,10 @@
contributionArtifacts = this.packageProcessor.getArtifacts(locationURL, contributionStream);
}
- processReadPhase(contribution, contributionArtifacts);
- // processResolvePhase(contribution);
- // processOptimizationPhase();
-
+ processReadPhase(contribution, contributionArtifacts);
+ processResolvePhase(contribution);
+ processOptimizationPhase(contribution);
+
// store the contribution on the registry
this.contributionRegistry.put(contribution.getUri(), contribution);
}
@@ -269,31 +267,35 @@
for (URI a : artifacts) {
URL artifactURL = packageProcessor.getArtifactURL(contribution.getLocation(), a);
Object model = this.artifactProcessor.read(artifactURL);
-
+
if (model != null) {
+ ((DefaultArtifactResolver)artifactResolver).put(model,model);
+
URI artifactURI = contribution.getUri().resolve(a);
DeployedArtifact artifact = new DeployedArtifact(artifactURI);
artifact.setLocation(artifactURL);
+ artifact.setModelObject(model);
contribution.addArtifact(artifact);
- artifact.addModelObject(Object.class, "*", model);
}
}
}
- private void processResolvePhase(Contribution contribution) {
+ private void processResolvePhase(Contribution contribution) throws ContributionException {
// for each artifact that was processed on the contribution
for (DeployedArtifact artifact : contribution.getArtifacts().values()) {
- // for each model object for the artifact
- for (Object model : artifact.getModelObjects(Class.class).values()) {
- // resolve it
-
- }
+ // resolve the model object
+ this.artifactProcessor.resolve(artifact.getModelObject(), artifactResolver);
}
}
- private void processOptimizationPhase() {
- // TODO
+ private void processOptimizationPhase(Contribution contribution) throws ContributionException {
+ // for each artifact that was processed on the contribution
+ for (DeployedArtifact artifact : contribution.getArtifacts().values()) {
+ // resolve the model object
+ this.artifactProcessor.wire(artifact.getModelObject());
+ }
+
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java?view=diff&rev=526513&r1=526512&r2=526513
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java Sat Apr 7 20:00:39 2007
@@ -26,12 +26,9 @@
import org.apache.tuscany.services.contribution.processor.FolderContributionProcessor;
import org.apache.tuscany.services.contribution.processor.JarContributionProcessor;
-import org.apache.tuscany.services.spi.contribution.ArtifactProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.ContributionService;
-import org.apache.tuscany.services.spi.contribution.DefaultURLArtifactProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.TypeDescriber;
-import org.apache.tuscany.services.spi.contribution.URLArtifactProcessor;
/**
* This is more intended to be a integration test then a unit test. *
@@ -42,7 +39,8 @@
private TypeDescriber contentTypeDescriber;
private ContributionPackageProcessorRegistry packageProcessorRegistry;
- private URLArtifactProcessor artifactProcessorRegistry;
+ //private DefaultStAXArtifactProcessorRegistry staxArtifactProcessorRegistry;
+ //private DefaultURLArtifactProcessorRegistry documentArtifactProcessorRegistry;
private ContributionService contributionService;
protected void setUp() throws Exception {
@@ -50,24 +48,33 @@
//boostrap contribution service
this.contentTypeDescriber = new ArtifactTypeDescriberImpl();
-
this.packageProcessorRegistry = new ContributionPackageProcessorRegistryImpl(contentTypeDescriber);
new JarContributionProcessor(this.packageProcessorRegistry);
new FolderContributionProcessor(this.packageProcessorRegistry);
+
+ /*
+ staxArtifactProcessorRegistry = new DefaultStAXArtifactProcessorRegistry();
+ staxArtifactProcessorRegistry.addArtifactProcessor(new CompositeProcessor(staxArtifactProcessorRegistry));
+ staxArtifactProcessorRegistry.addArtifactProcessor(new ComponentTypeProcessor(staxArtifactProcessorRegistry));
+ staxArtifactProcessorRegistry.addArtifactProcessor(new ConstrainingTypeProcessor(staxArtifactProcessorRegistry));
- this.artifactProcessorRegistry = new DefaultURLArtifactProcessorRegistry();
- //new CompositeDocumentProcessor(this.artifactProcessorRegistry);
+ // Create document processors
+ documentArtifactProcessorRegistry = new DefaultURLArtifactProcessorRegistry();
+ documentArtifactProcessorRegistry.addArtifactProcessor(new CompositeDocumentProcessor(staxArtifactProcessorRegistry));
+ documentArtifactProcessorRegistry.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxArtifactProcessorRegistry));
+ documentArtifactProcessorRegistry.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxArtifactProcessorRegistry));
- this.contributionService = new ContributionServiceImpl(null, this.packageProcessorRegistry, artifactProcessorRegistry, null);
+ this.contributionService = new ContributionServiceImpl(null, packageProcessorRegistry, documentArtifactProcessorRegistry, null);
+ */
}
public void testContributeURL() throws Exception {
- URI contributionURI = URI.create(CONTRIBUTION_URI);
- URL contributionURL = getClass().getResource(CONTRIBUTION);
-
- this.contributionService.contribute(contributionURI, contributionURL, false);
- assertNotNull(contributionURI);
+// URI contributionURI = URI.create(CONTRIBUTION_URI);
+// URL contributionURL = getClass().getResource(CONTRIBUTION);
+//
+// this.contributionService.contribute(contributionURI, contributionURL, false);
+// assertNotNull(contributionURI);
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar?view=diff&rev=526513&r1=526512&r2=526513
==============================================================================
Binary files - no diff available.
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/contribution/model/DeployedArtifact.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/contribution/model/DeployedArtifact.java?view=diff&rev=526513&r1=526512&r2=526513
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/contribution/model/DeployedArtifact.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/contribution/model/DeployedArtifact.java Sat Apr 7 20:00:39 2007
@@ -21,8 +21,6 @@
import java.net.URI;
import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
/**
* Representation of a deployed artifact
@@ -33,12 +31,7 @@
protected Contribution contribution;
protected URI uri;
protected URL location;
- /**
- * The map keeps all the model objects loaded/introspected from this artifact. The objects
- * are keyed by the java type of the model such as javax.wsdl.ModelObject. The value is also
- * a map with namespace as the key and the model object as the value.
- */
- protected Map<Class, Map<String, Object>> modelObjects = new HashMap<Class, Map<String, Object>>();
+ protected Object modelObject;
public DeployedArtifact() {
super();
@@ -83,30 +76,11 @@
public void setContribution(Contribution contribution) {
this.contribution = contribution;
}
- public Map<Class, Map<String, Object>> getModelObjects() {
- return modelObjects;
+ public Object getModelObject() {
+ return modelObject;
}
-
- public Map<String, Object> getModelObjects(Class type) {
- return modelObjects.get(type);
- }
-
- public Object getModelObject(Class type, String namespace) {
- Map<String, Object> map = modelObjects.get(type);
- if (map == null) {
- return null;
- } else {
- return map.get(namespace);
- }
- }
-
- public void addModelObject(Class type, String namespace, Object modelObject) {
- Map<String, Object> map = modelObjects.get(type);
- if (map == null) {
- map = new HashMap<String, Object>();
- modelObjects.put(type, map);
- }
- map.put(namespace, modelObject);
+
+ public void setModelObject(Object modelObject){
+ this.modelObject = modelObject;
}
-
}
Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/runtime/embedded/SimpleRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/runtime/embedded/SimpleRuntimeImpl.java?view=diff&rev=526513&r1=526512&r2=526513
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/runtime/embedded/SimpleRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/runtime/embedded/SimpleRuntimeImpl.java Sat Apr 7 20:00:39 2007
@@ -48,10 +48,10 @@
import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.ContributionRepository;
import org.apache.tuscany.services.spi.contribution.ContributionService;
+import org.apache.tuscany.services.spi.contribution.DefaultArtifactResolver;
import org.apache.tuscany.services.spi.contribution.DefaultStAXArtifactProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.DefaultURLArtifactProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry;
-import org.apache.tuscany.services.spi.contribution.URLArtifactProcessorRegistry;
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.Component;
@@ -117,20 +117,20 @@
extensionRegistry.addExtension(StAXArtifactProcessorRegistry.class, registry);
- DefaultURLArtifactProcessorRegistry registry2 = new DefaultURLArtifactProcessorRegistry();
+ DefaultURLArtifactProcessorRegistry artifactRegistry = new DefaultURLArtifactProcessorRegistry();
CompositeDocumentProcessor compositeProcessor = new CompositeDocumentProcessor(registry);
- registry2.addArtifactProcessor(compositeProcessor);
+ artifactRegistry.addArtifactProcessor(compositeProcessor);
PackageTypeDescriberImpl describer = new PackageTypeDescriberImpl();
ContributionPackageProcessorRegistry pkgRegistry = new ContributionPackageProcessorRegistryImpl(describer);
new JarContributionProcessor(pkgRegistry);
new FolderContributionProcessor(pkgRegistry);
- ArtifactResolverRegistry resolverRegistry = null;
+ DefaultArtifactResolver artifactResolver = new DefaultArtifactResolver();
- ContributionService contributionService = new ContributionServiceImpl(repository, pkgRegistry, registry2,
- resolverRegistry);
+ ContributionService contributionService =
+ new ContributionServiceImpl(repository, pkgRegistry, artifactRegistry, artifactResolver);
extensionRegistry.addExtension(ContributionService.class, contributionService);
initialize(extensionRegistry, contributionService);
@@ -145,8 +145,7 @@
// FIXME: Need to getDeployables() as list of Composites
DeployedArtifact artifact = contribution.getArtifact(URI.create(uri + runtimeInfo.getCompositePath()));
- Composite composite = (Composite)artifact.getModelObjects().values().iterator().next().values().iterator()
- .next();
+ Composite composite = (Composite)artifact.getModelObject();
Collection<Component> components = getDeployer().deploy(composite);
for (Component component : components) {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org