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/07/23 17:53:07 UTC
svn commit: r558780 - in /incubator/tuscany/java/sca:
itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/
modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/
modules/contribution-impl/src/tes...
Author: lresende
Date: Mon Jul 23 08:53:06 2007
New Revision: 558780
URL: http://svn.apache.org/viewvc?view=rev&rev=558780
Log:
Re-applying the extensibility for reading contribution metadata, this is to allow different types of import/export with missing file
Added:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataDocumentProcessorImpl.java
- copied unchanged from r558649, incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataDocumentProcessorImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataProcessor.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionMetadataDocumentProcessorTestCase.java
- copied unchanged from r558649, incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionMetadataDocumentProcessorTestCase.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionMetadataDocumentProcessor.java
- copied unchanged from r558649, incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionMetadataDocumentProcessor.java
Modified:
incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
Modified: incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java?view=diff&rev=558780&r1=558779&r2=558780
==============================================================================
--- incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java Mon Jul 23 08:53:06 2007
@@ -68,6 +68,7 @@
import org.apache.tuscany.sca.contribution.service.util.IOHelper;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
@@ -82,66 +83,20 @@
private static final String JAR_CONTRIBUTION = "/repository/sample-calculator.jar";
private static final String FOLDER_CONTRIBUTION = "target/classes/";
+ private ClassLoader cl;
+ private EmbeddedSCADomain domain;
private ContributionService contributionService;
protected void setUp() throws Exception {
-
- // Create default factories
- AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
- PolicyFactory policyFactory = new DefaultPolicyFactory();
- InterfaceContractMapper mapper = new InterfaceContractMapperImpl();
-
- // Create an extension point registry
- ExtensionPointRegistry extensionRegistry = new DefaultExtensionPointRegistry();
-
- // Add artifact processor extension points
- DefaultStAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
- extensionRegistry.addExtensionPoint(staxProcessors);
- ExtensibleStAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
- DefaultURLArtifactProcessorExtensionPoint documentProcessors = new DefaultURLArtifactProcessorExtensionPoint();
- extensionRegistry.addExtensionPoint(documentProcessors);
- ExtensibleURLArtifactProcessor documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
-
- // Register base artifact processors
- staxProcessors.addArtifactProcessor(new CompositeProcessor(assemblyFactory, policyFactory, mapper,
- staxProcessor));
- staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
- staxProcessors.addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory,
- staxProcessor));
-
- XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- documentProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, inputFactory));
- documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, inputFactory));
- documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory));
-
- // Create package processor extension point
- PackageTypeDescriberImpl describer = new PackageTypeDescriberImpl();
- PackageProcessorExtensionPoint packageProcessors = new DefaultPackageProcessorExtensionPoint();
- PackageProcessor packageProcessor = new ExtensiblePackageProcessor(packageProcessors, describer);
- extensionRegistry.addExtensionPoint(packageProcessors);
-
- // Register base package processors
- packageProcessors.addPackageProcessor(new JarContributionProcessor());
- packageProcessors.addPackageProcessor(new FolderContributionProcessor());
-
- //Create Contribution Model Resolver extension point
- ModelResolverExtensionPoint modelResolverExtensionPoint = new DefaultModelResolverExtensionPoint();
-
+ //Create a test embedded SCA domain
+ cl = getClass().getClassLoader();
+ domain = new EmbeddedSCADomain(cl, "http://localhost");
- //Create contribution postProcessor extension point
- DefaultContributionPostProcessorExtensionPoint contributionPostProcessors = new DefaultContributionPostProcessorExtensionPoint();
- ContributionPostProcessor postProcessor = new ExtensibleContributionPostProcessor(contributionPostProcessors);
- extensionRegistry.addExtensionPoint(contributionPostProcessors);
-
-
- // Create a repository
- ContributionRepository repository = new ContributionRepositoryImpl("target");
+ //Start the domain
+ domain.start();
- // Create an artifact resolver and contribution service
- this.contributionService = new ContributionServiceImpl(repository, packageProcessor, documentProcessor,
- postProcessor, modelResolverExtensionPoint, assemblyFactory,
- new ContributionFactoryImpl(),
- XMLInputFactory.newInstance());
+ //get a reference to the contribution service
+ contributionService = domain.getContributionService();
}
public void testContributeJAR() throws Exception {
Added: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataProcessor.java?view=auto&rev=558780
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataProcessor.java Mon Jul 23 08:53:06 2007
@@ -0,0 +1,167 @@
+/*
+ * 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.sca.contribution.service.impl;
+
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.NamespaceExport;
+import org.apache.tuscany.sca.contribution.NamespaceImport;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionMetadataLoaderException;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+
+/**
+ * Loader that handles contribution metadata files
+ *
+ * @version $Rev: 515261 $ $Date: 2007-03-06 11:22:46 -0800 (Tue, 06 Mar 2007) $
+ */
+public class ContributionMetadataProcessor implements StAXArtifactProcessor<Contribution> {
+ private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
+ private static final String TARGET_NAMESPACE = "targetNamespace";
+
+ private static final QName CONTRIBUTION = new QName(SCA10_NS, "contribution");
+ private static final QName DEPLOYABLE = new QName(SCA10_NS, "deployable");
+ private static final QName IMPORT = new QName(SCA10_NS, "import");
+ private static final QName EXPORT = new QName(SCA10_NS, "export");
+
+ private final AssemblyFactory assemblyFactory;
+ private final ContributionFactory contributionFactory;
+
+ public ContributionMetadataProcessor(AssemblyFactory assemblyFactory, ContributionFactory contributionFactory) {
+ super();
+ this.assemblyFactory = assemblyFactory;
+ this.contributionFactory = contributionFactory;
+ }
+
+
+ public QName getArtifactType() {
+ return CONTRIBUTION;
+ }
+
+ public Class<Contribution> getModelType() {
+ return Contribution.class;
+ }
+
+ public Contribution read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+ Contribution contribution = this.contributionFactory.createContribution();
+ String targetNameSpaceURI = null;
+ QName element = null;
+
+
+ while (reader.hasNext()) {
+ int event = reader.getEventType();
+ switch (event) {
+ case START_ELEMENT:
+ element = reader.getName();
+
+ if (CONTRIBUTION.equals(element)) {
+ targetNameSpaceURI = reader.getAttributeValue(null, TARGET_NAMESPACE);
+ } else if (DEPLOYABLE.equals(element)) {
+ String name = reader.getAttributeValue(null, "composite");
+ if (name == null) {
+ throw new ContributionReadException("Attribute 'composite' is missing");
+ }
+ QName compositeName = null;
+
+ int index = name.indexOf(':');
+ if (index != -1) {
+ String prefix = name.substring(0, index);
+ String localPart = name.substring(index + 1);
+ String ns = reader.getNamespaceContext().getNamespaceURI(prefix);
+ if (ns == null) {
+ throw new ContributionReadException("Invalid prefix: " + prefix);
+ }
+ compositeName = new QName(targetNameSpaceURI, localPart, prefix);
+ } else {
+ String prefix = "";
+ String localPart = name;
+ compositeName = new QName(targetNameSpaceURI, localPart, prefix);
+ }
+
+ Composite composite = assemblyFactory.createComposite();
+ composite.setName(compositeName);
+ composite.setUnresolved(true);
+
+ contribution.getDeployables().add(composite);
+ } else if (IMPORT.equals(element)) {
+ String ns = reader.getAttributeValue(null, "namespace");
+ if (ns == null) {
+ throw new ContributionReadException("Attribute 'namespace' is missing");
+ }
+ String location = reader.getAttributeValue(null, "location");
+ NamespaceImport namespaceImport = this.contributionFactory.createNamespaceImport();
+ if (location != null) {
+ namespaceImport.setLocation(location);
+ }
+ namespaceImport.setNamespace(ns);
+ contribution.getImports().add(namespaceImport);
+ } else if (EXPORT.equals(element)) {
+ String ns = reader.getAttributeValue(null, "namespace");
+ if (ns == null) {
+ throw new ContributionReadException("Attribute 'namespace' is missing");
+ }
+ NamespaceExport namespaceExport = this.contributionFactory.createNamespaceExport();
+ namespaceExport.setNamespace(ns);
+ contribution.getExports().add(namespaceExport);
+ }
+ break;
+ case XMLStreamConstants.END_ELEMENT:
+ if (CONTRIBUTION.equals(reader.getName())) {
+ return contribution;
+ }
+ break;
+ }
+
+ //Read the next element
+ if (reader.hasNext()) {
+ reader.next();
+ }
+ }
+
+ return contribution;
+ }
+
+ public void write(Contribution model, XMLStreamWriter outputSource) throws ContributionWriteException, XMLStreamException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void resolve(Contribution model, ModelResolver resolver) throws ContributionResolveException {
+ // TODO Auto-generated method stub
+
+ }
+
+
+ public void load(Contribution contribution, XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException {
+
+ }
+}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=558780&r1=558779&r2=558780
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java Mon Jul 23 08:53:06 2007
@@ -31,7 +31,6 @@
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Composite;
@@ -44,6 +43,7 @@
import org.apache.tuscany.sca.contribution.NamespaceImport;
import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
import org.apache.tuscany.sca.contribution.processor.PackageProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -52,7 +52,7 @@
import org.apache.tuscany.sca.contribution.resolver.impl.NamespaceImportAllModelResolverImpl;
import org.apache.tuscany.sca.contribution.resolver.impl.NamespaceImportModelResolverImpl;
import org.apache.tuscany.sca.contribution.service.ContributionException;
-import org.apache.tuscany.sca.contribution.service.ContributionMetadataLoaderException;
+import org.apache.tuscany.sca.contribution.service.ContributionMetadataDocumentProcessor;
import org.apache.tuscany.sca.contribution.service.ContributionRepository;
import org.apache.tuscany.sca.contribution.service.ContributionService;
import org.apache.tuscany.sca.contribution.service.util.IOHelper;
@@ -62,6 +62,9 @@
*
* @version $Rev$ $Date$
*/
+/**
+ *
+ */
public class ContributionServiceImpl implements ContributionService {
/**
@@ -81,6 +84,12 @@
private URLArtifactProcessor artifactProcessor;
/**
+ * Registry of available stax processors,
+ * used for loading contribution metadata in a extensible way
+ */
+ private StAXArtifactProcessor staxProcessor;
+
+ /**
* Registry of available model resolvers
*/
@@ -106,10 +115,6 @@
*/
private ContributionFactory contributionFactory;
- /**
- * contribution metadata loader
- */
- private ContributionMetadataLoaderImpl contributionLoader;
/**
* Contribution registry This is a registry of processed Contributions indexed by URI
@@ -118,7 +123,8 @@
public ContributionServiceImpl(ContributionRepository repository,
PackageProcessor packageProcessor,
- URLArtifactProcessor artifactProcessor,
+ URLArtifactProcessor documentProcessor,
+ StAXArtifactProcessor staxProcessor,
ContributionPostProcessor postProcessor,
ModelResolverExtensionPoint modelResolverExtensionPoint,
AssemblyFactory assemblyFactory,
@@ -127,13 +133,13 @@
super();
this.contributionRepository = repository;
this.packageProcessor = packageProcessor;
- this.artifactProcessor = artifactProcessor;
+ this.artifactProcessor = documentProcessor;
+ this.staxProcessor = staxProcessor;
this.postProcessor = postProcessor;
this.modelResolverExtensionPoint = modelResolverExtensionPoint;
this.xmlFactory = xmlFactory;
this.assemblyFactory = assemblyFactory;
this.contributionFactory = contributionFactory;
- this.contributionLoader = new ContributionMetadataLoaderImpl(assemblyFactory, contributionFactory);
}
public Contribution contribute(String contributionURI, URL sourceURL, boolean storeInRepository)
@@ -172,46 +178,29 @@
return addContribution(contributionURI, sourceURL, input, modelResolver, true);
}
- private Contribution initializeContributionMetadata(URL sourceURL, ModelResolver modelResolver) throws ContributionException {
+ /**
+ * Perform read of the contribution metada loader (sca-contribution.xml and sca-contribution-generated.xml)
+ * When the two metadata files are available, the information provided are merged, and the sca-contribution has priorities
+ *
+ * @param sourceURL
+ * @return Contribution
+ * @throws ContributionException
+ */
+ private Contribution readContributionMetadata(URL sourceURL) throws ContributionException {
Contribution contributionMetadata = null;
- URL contributionMetadataURL;
- URL generatedContributionMetadataURL;
- InputStream metadataStream = null;
URL[] clUrls = {sourceURL};
URLClassLoader cl = new URLClassLoader(clUrls, null);
-
- contributionMetadataURL = cl.getResource(Contribution.SCA_CONTRIBUTION_META);
- generatedContributionMetadataURL = cl.getResource(Contribution.SCA_CONTRIBUTION_GENERATED_META);
-
+
+
+ ContributionMetadataDocumentProcessor metadataDocumentProcessor =
+ new ContributionMetadataDocumentProcessorImpl(cl, this.staxProcessor, this.assemblyFactory, this.contributionFactory, this.xmlFactory);
+ contributionMetadata = contributionFactory.createContribution();
try {
- 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);
- this.contributionLoader.load(contributionMetadata, xmlReader);
-
- } catch (IOException ioe) {
- throw new InvalidContributionMetadataException(ioe.getMessage(), metadataURL.toExternalForm(), ioe);
- } catch (XMLStreamException xmle) {
- throw new InvalidContributionMetadataException(xmle.getMessage(), metadataURL.toExternalForm(),
- xmle);
- } catch (ContributionMetadataLoaderException le) {
- throw new InvalidContributionMetadataException(le.getMessage(), metadataURL.toExternalForm(), le);
- }
- }
- } finally {
- IOHelper.closeQuietly(metadataStream);
- metadataStream = null;
- }
+ metadataDocumentProcessor.read(contributionMetadata);
+ } catch (XMLStreamException e) {
+ throw new InvalidContributionMetadataException("Invalid contribution metadata for contribution.");
- if (contributionMetadata == null) {
- contributionMetadata = this.contributionFactory.createContribution();
}
return contributionMetadata;
@@ -273,7 +262,7 @@
}
//initialize contribution based on it's metadata if available
- Contribution contribution = initializeContributionMetadata(locationURL, modelResolver);
+ Contribution contribution = readContributionMetadata(locationURL);
//create contribution model resolver
if (modelResolver == null) {
Modified: incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java?view=diff&rev=558780&r1=558779&r2=558780
==============================================================================
--- incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java Mon Jul 23 08:53:06 2007
@@ -52,6 +52,7 @@
import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
import org.apache.tuscany.sca.contribution.service.ContributionRepository;
import org.apache.tuscany.sca.contribution.service.ContributionService;
+import org.apache.tuscany.sca.contribution.service.impl.ContributionMetadataProcessor;
import org.apache.tuscany.sca.contribution.service.impl.ContributionRepositoryImpl;
import org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl;
import org.apache.tuscany.sca.contribution.service.impl.PackageTypeDescriberImpl;
@@ -91,14 +92,12 @@
registry.addExtensionPoint(staxProcessors);
// Create and register STAX processors for SCA assembly XML
- ExtensibleStAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory,
- XMLOutputFactory
- .newInstance());
- staxProcessors.addArtifactProcessor(new CompositeProcessor(assemblyFactory, policyFactory, mapper,
- staxProcessor));
+ ExtensibleStAXArtifactProcessor staxProcessor =
+ new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory, XMLOutputFactory.newInstance());
+ staxProcessors.addArtifactProcessor(new CompositeProcessor(assemblyFactory, policyFactory, mapper, staxProcessor));
staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
- staxProcessors
- .addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
+ staxProcessors.addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
+ staxProcessors.addArtifactProcessor(new ContributionMetadataProcessor(assemblyFactory, contributionFactory));
// Create URL artifact processor extension point
// FIXME use the interface instead of the class
@@ -147,6 +146,7 @@
ContributionService contributionService = new ContributionServiceImpl(repository,
packageProcessor,
documentProcessor,
+ staxProcessor,
postProcessor,
modelResolverExtensionPoint,
assemblyFactory,
Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?view=diff&rev=558780&r1=558779&r2=558780
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java Mon Jul 23 08:53:06 2007
@@ -70,6 +70,7 @@
import org.apache.tuscany.sca.contribution.service.ContributionRepository;
import org.apache.tuscany.sca.contribution.service.ContributionService;
import org.apache.tuscany.sca.contribution.service.TypeDescriber;
+import org.apache.tuscany.sca.contribution.service.impl.ContributionMetadataProcessor;
import org.apache.tuscany.sca.contribution.service.impl.ContributionRepositoryImpl;
import org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl;
import org.apache.tuscany.sca.contribution.service.impl.PackageTypeDescriberImpl;
@@ -174,14 +175,12 @@
registry.addExtensionPoint(staxProcessors);
// Create and register STAX processors for SCA assembly XML
- ExtensibleStAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory,
- XMLOutputFactory
- .newInstance());
- staxProcessors.addArtifactProcessor(new CompositeProcessor(assemblyFactory, policyFactory, mapper,
- staxProcessor));
+ ExtensibleStAXArtifactProcessor staxProcessor =
+ new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory, XMLOutputFactory.newInstance());
+ staxProcessors.addArtifactProcessor(new CompositeProcessor(assemblyFactory, policyFactory, mapper, staxProcessor));
staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
- staxProcessors
- .addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
+ staxProcessors.addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
+ staxProcessors.addArtifactProcessor(new ContributionMetadataProcessor(assemblyFactory,contributionFactory));
// Create URL artifact processor extension point
URLArtifactProcessorExtensionPoint documentProcessors = new DefaultURLArtifactProcessorExtensionPoint();
@@ -225,8 +224,9 @@
}
ExtensibleURLArtifactProcessor documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
+
ContributionService contributionService = new ContributionServiceImpl(repository, packageProcessor,
- documentProcessor, postProcessor,
+ documentProcessor, staxProcessor, postProcessor,
modelResolverExtensionPoint, assemblyFactory,
contributionFactory, xmlFactory);
return contributionService;
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org