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/05 09:17:32 UTC
svn commit: r525735 - in
/incubator/tuscany/java/sca/modules/contribution-impl/src:
main/java/org/apache/tuscany/services/contribution/
main/java/org/apache/tuscany/services/contribution/processor/
main/java/org/apache/tuscany/services/contribution/res...
Author: lresende
Date: Thu Apr 5 00:17:31 2007
New Revision: 525735
URL: http://svn.apache.org/viewvc?view=rev&rev=525735
Log:
Updating the contribution implementation to the latest contribution model
Added:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionMetadataLoaderImpl.java (with props)
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionPackageProcessorRegistryImpl.java
- copied, changed from r525633, incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionProcessorRegistryImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImpl.java (with props)
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImplTestCase.java (with props)
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java
- copied, changed from r525633, incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessorTestCase.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java
- copied, changed from r525633, incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessorTestCase.java
Removed:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/AbstractDeploymentContext.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionDeploymentContext.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionLoader.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionProcessorRegistryImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/CompositeContributionProcessor.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/InvalidComponentDefinitionlException.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/InvalidPojoComponentDefinitionlException.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/JavaContributionProcessor.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessorTestCase.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessorTestCase.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/main/java/org/apache/tuscany/services/contribution/InvalidValueException.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessor.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessor.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/ComponentDefinitionArtifactResolver.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContentTypeDescriberImplTestCase.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionLoaderTestCase.java
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionServiceImplTestCase.java
Added: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionMetadataLoaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionMetadataLoaderImpl.java?view=auto&rev=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionMetadataLoaderImpl.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionMetadataLoaderImpl.java Thu Apr 5 00:17:31 2007
@@ -0,0 +1,121 @@
+/*
+ * 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.services.contribution;
+
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.services.contribution.model.Contribution;
+import org.apache.tuscany.services.contribution.model.ContributionImport;
+import org.apache.tuscany.services.spi.contribution.loader.ContributionMetadataLoader;
+import org.apache.tuscany.services.spi.contribution.loader.ContributionMetadataLoaderException;
+
+/**
+ * Loader that handles contribution metadata files
+ *
+ * @version $Rev: 515261 $ $Date: 2007-03-06 11:22:46 -0800 (Tue, 06 Mar 2007) $
+ */
+public class ContributionMetadataLoaderImpl implements ContributionMetadataLoader {
+ //FIXME use this from constants ?
+ private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
+
+ 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");
+
+
+ public ContributionMetadataLoaderImpl() {
+ super();
+ }
+
+ public QName getXMLType() {
+ return CONTRIBUTION;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.tuscany.services.contribution.ContributionMetadataLoader#load(javax.xml.stream.XMLStreamReader)
+ */
+ public Contribution load(XMLStreamReader reader) throws XMLStreamException, ContributionMetadataLoaderException {
+
+ Contribution contribution = new Contribution();
+ while (true) {
+ int event = reader.next();
+ switch (event) {
+ case START_ELEMENT:
+ QName element = reader.getName();
+ if (DEPLOYABLE.equals(element)) {
+ String name = reader.getAttributeValue(null, "composite");
+ if (name == null) {
+ throw new InvalidValueException("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);
+ String ns = reader.getNamespaceContext().getNamespaceURI(prefix);
+ if (ns == null) {
+ throw new InvalidValueException("Invalid prefix: " + prefix);
+ }
+ compositeName = new QName(ns, localPart, prefix);
+ } else {
+ String prefix = "";
+ String ns = reader.getNamespaceURI();
+ String localPart = name;
+ compositeName = new QName(ns, localPart, prefix);
+ }
+ contribution.getDeployables().add(compositeName);
+ } else if (IMPORT.equals(element)) {
+ String ns = reader.getAttributeValue(null, "namespace");
+ if (ns == null) {
+ throw new InvalidValueException("Attribute 'namespace' is missing");
+ }
+ String location = reader.getAttributeValue(null, "location");
+ ContributionImport contributionImport = new ContributionImport();
+ if (location != null) {
+ contributionImport.setLocation(URI.create(location));
+ }
+ contributionImport.setNamespace(ns);
+ contribution.getImports().add(contributionImport);
+ } else if (EXPORT.equals(element)) {
+ String ns = reader.getAttributeValue(null, "namespace");
+ if (ns == null) {
+ throw new InvalidValueException("Attribute 'namespace' is missing");
+ }
+ contribution.getExports().add(ns);
+ }
+ break;
+ case XMLStreamConstants.END_ELEMENT:
+ if (CONTRIBUTION.equals(reader.getName())) {
+ return contribution;
+ }
+ break;
+
+ }
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionMetadataLoaderImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionPackageProcessorRegistryImpl.java (from r525633, incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionProcessorRegistryImpl.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionPackageProcessorRegistryImpl.java?view=diff&rev=525735&p1=incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionProcessorRegistryImpl.java&r1=525633&p2=incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionPackageProcessorRegistryImpl.java&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionProcessorRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/ContributionPackageProcessorRegistryImpl.java Thu Apr 5 00:17:31 2007
@@ -29,8 +29,8 @@
import org.apache.tuscany.services.contribution.model.Contribution;
import org.apache.tuscany.services.spi.contribution.ContentTypeDescriber;
import org.apache.tuscany.services.spi.contribution.ContributionException;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessor;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessor;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.UnsupportedContentTypeException;
/**
@@ -38,25 +38,25 @@
*
* @version $Rev$ $Date$
*/
-public class ContributionProcessorRegistryImpl implements ContributionProcessorRegistry {
+public class ContributionPackageProcessorRegistryImpl implements ContributionPackageProcessorRegistry {
/**
* Processor registry
*/
- private Map<String, ContributionProcessor> registry = new HashMap<String, ContributionProcessor>();
+ private Map<String, ContributionPackageProcessor> registry = new HashMap<String, ContributionPackageProcessor>();
/**
* Helper method to describe contentType for each artifact
*/
- private ContentTypeDescriber contentTypeDescriber;
+ private ContentTypeDescriber packageTypeDescriber;
- public ContributionProcessorRegistryImpl(ContentTypeDescriber contentTypeDescriber) {
+ public ContributionPackageProcessorRegistryImpl(ContentTypeDescriber contentTypeDescriber) {
if (contentTypeDescriber == null) {
- this.contentTypeDescriber = new ContentTypeDescriberImpl();
+ this.packageTypeDescriber = new PackageTypeDescriberImpl();
} else {
- this.contentTypeDescriber = contentTypeDescriber;
+ this.packageTypeDescriber = contentTypeDescriber;
}
}
- public void register(String contentType, ContributionProcessor processor) {
+ public void register(String contentType, ContributionPackageProcessor processor) {
registry.put(contentType, processor);
}
@@ -68,21 +68,16 @@
throws ContributionException, IOException {
URL locationURL = contribution.getArtifact(source).getLocation();
- String contentType = this.contentTypeDescriber.getContentType(locationURL, null);
+ String contentType = this.packageTypeDescriber.getContentType(locationURL, null);
if (contentType == null) {
- throw new UnsupportedContentTypeException("Invalid contentType: null");
+ throw new UnsupportedContentTypeException("Unsupported contribution package", source.toString());
}
- ContributionProcessor processor = this.registry.get(contentType);
+ ContributionPackageProcessor processor = this.registry.get(contentType);
if (processor == null) {
throw new UnsupportedContentTypeException(contentType, locationURL.getPath());
}
processor.processContent(contribution, source, inputStream);
-
- }
-
- public void processModel(Contribution contribution, URI source, Object modelObject) throws ContributionException,
- IOException {
}
}
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=525735&r1=525734&r2=525735
==============================================================================
--- 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 Thu Apr 5 00:17:31 2007
@@ -34,15 +34,16 @@
import org.apache.tuscany.services.contribution.util.IOHelper;
import org.apache.tuscany.services.spi.contribution.ArtifactResolverRegistry;
import org.apache.tuscany.services.spi.contribution.ContributionException;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessorRegistry;
+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.loader.ContributionLoaderException;
+import org.apache.tuscany.services.spi.contribution.loader.ContributionMetadataLoaderException;
/**
* @version $Rev$ $Date$
*/
public class ContributionServiceImpl implements ContributionService {
+
/**
* Repository where contributions are stored. Usually set by injection.
*/
@@ -51,7 +52,7 @@
/**
* Registry of available processors. Usually set by injection.
*/
- protected ContributionProcessorRegistry processorRegistry;
+ protected ContributionPackageProcessorRegistry processorRegistry;
/**
* xml factory used to create reader instance to load contribution metadata
@@ -60,7 +61,7 @@
/**
* contribution metadata loader
*/
- protected ContributionLoader contributionLoader;
+ protected ContributionMetadataLoaderImpl contributionLoader;
/**
@@ -72,7 +73,7 @@
protected ArtifactResolverRegistry resolverRegistry;
public ContributionServiceImpl(ContributionRepository repository,
- ContributionProcessorRegistry processorRegistry,
+ ContributionPackageProcessorRegistry processorRegistry,
ArtifactResolverRegistry resolverRegistry) {
super();
this.contributionRepository = repository;
@@ -80,7 +81,7 @@
this.resolverRegistry = resolverRegistry;
this.xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
- this.contributionLoader = new ContributionLoader();
+ this.contributionLoader = new ContributionMetadataLoaderImpl();
}
public void contribute(URI contributionURI, URL sourceURL, boolean storeInRepository) throws ContributionException,
@@ -129,7 +130,7 @@
} catch (XMLStreamException xmle) {
throw new
InvalidContributionMetadataException(xmle.getMessage(), metadataURL.toExternalForm(), xmle);
- } catch (ContributionLoaderException le) {
+ } catch (ContributionMetadataLoaderException le) {
throw new
InvalidContributionMetadataException(le.getMessage(), metadataURL.toExternalForm(), le);
}
@@ -217,6 +218,7 @@
*/
}
+ /*
public <T> T resolve(URI contribution, Class<T> definitionType, String namespace, String name) {
Contribution contributionObject = getContribution(contribution);
return resolverRegistry.resolve(contributionObject, definitionType, namespace, name, null);
@@ -226,5 +228,11 @@
Contribution contributionObject = getContribution(contribution);
return resolverRegistry.resolve(contributionObject, namespace, uri.toString(), baseURI.toString());
}
+ */
+ public <M> M resolve(Class modelClass, Class<M> elementClass, Object modelKey, Object elementKey, Map<String, Object> attributes) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/InvalidValueException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/InvalidValueException.java?view=diff&rev=525735&r1=525734&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/InvalidValueException.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/InvalidValueException.java Thu Apr 5 00:17:31 2007
@@ -19,9 +19,10 @@
package org.apache.tuscany.services.contribution;
-import org.apache.tuscany.services.spi.contribution.loader.ContributionLoaderException;
+import org.apache.tuscany.services.spi.contribution.loader.ContributionMetadataLoaderException;
-public class InvalidValueException extends ContributionLoaderException {
+
+public class InvalidValueException extends ContributionMetadataLoaderException {
/**
*
*/
Added: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImpl.java?view=auto&rev=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImpl.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImpl.java Thu Apr 5 00:17:31 2007
@@ -0,0 +1,98 @@
+/*
+ * 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.services.contribution;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.tuscany.services.contribution.model.ContentType;
+import org.apache.tuscany.services.contribution.util.FileHelper;
+import org.apache.tuscany.services.spi.contribution.ContentTypeDescriber;
+
+/**
+ * Implementation of the content describer
+ *
+ * @version $Rev$ $Date$
+ */
+public class PackageTypeDescriberImpl implements ContentTypeDescriber {
+ private final Map<String, String> contentTypeRegistry = new HashMap<String, String>();
+
+ public PackageTypeDescriberImpl() {
+ super();
+ init();
+ }
+
+ /**
+ * Initialize contentType registry with know types based on known file extensions
+ */
+ private void init() {
+ contentTypeRegistry.put("JAR", ContentType.JAR);
+ }
+
+ protected String resolveContentyTypeByExtension(URL resourceURL) {
+ String artifactExtension = FileHelper.getExtension(resourceURL.getPath());
+ if (artifactExtension == null) {
+ return null;
+ }
+ return contentTypeRegistry.get(artifactExtension.toUpperCase());
+ }
+
+ /**
+ * Build contentType for a specific resource. We first check if the file is
+ * a supported one (looking into our registry based on resource extension)
+ * If not found, we try to check file contentType Or we return
+ * defaultContentType provided
+ *
+ * @param url
+ * @param defaultContentType
+ * @return
+ */
+ public String getContentType(URL resourceURL, String defaultContentType) {
+ URLConnection connection = null;
+ String contentType = defaultContentType;
+
+ if (resourceURL.getProtocol().equals("file") && FileHelper.toFile(resourceURL).isDirectory()) {
+ // Special case : contribution is a folder
+ contentType = ContentType.FOLDER;
+ } else {
+ contentType = resolveContentyTypeByExtension(resourceURL);
+ if (contentType == null) {
+ try {
+ connection = resourceURL.openConnection();
+ contentType = connection.getContentType();
+
+ if (contentType == null || contentType.equals("content/unknown")) {
+ // here we couldn't figure out from our registry or from URL and it's not a special file
+ // return defaultContentType if provided
+ contentType = defaultContentType;
+ }
+ } catch (IOException io) {
+ // could not access artifact, just ignore and we will return
+ // null contentType
+ }
+ }
+ }
+ return contentType == null ? defaultContentType : contentType;
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessor.java?view=diff&rev=525735&r1=525734&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessor.java Thu Apr 5 00:17:31 2007
@@ -36,18 +36,18 @@
import org.apache.tuscany.services.contribution.util.IOHelper;
import org.apache.tuscany.services.spi.contribution.ContentTypeDescriber;
import org.apache.tuscany.services.spi.contribution.ContributionException;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessor;
-import org.apache.tuscany.services.spi.contribution.extension.ContributionProcessorExtension;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessor;
+import org.apache.tuscany.services.spi.contribution.extension.ContributionPackageProcessorExtension;
-public class FolderContributionProcessor extends ContributionProcessorExtension implements ContributionProcessor {
+public class FolderContributionProcessor extends ContributionPackageProcessorExtension implements ContributionPackageProcessor {
/**
- * Content-type that this processor can handle
+ * Package-type that this package processor can handle
*/
- public static final String CONTENT_TYPE = ContentType.FOLDER;
+ public static final String PACKAGE_TYPE = ContentType.FOLDER;
@Override
public String getContentType() {
- return CONTENT_TYPE;
+ return PACKAGE_TYPE;
}
/**
@@ -122,6 +122,7 @@
ContentTypeDescriber contentTypeDescriber = new ContentTypeDescriberImpl();
String contentType = contentTypeDescriber.getContentType(artifactURL, null);
+
// just process scdl and contribution metadata for now
if (ContentType.COMPOSITE.equals(contentType)) {
InputStream is = artifactURL.openStream();
@@ -134,10 +135,4 @@
}
}
}
-
- public void processModel(Contribution contribution, URI source, Object modelObject) throws ContributionException,
- IOException {
- // NOOP
- }
-
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessor.java?view=diff&rev=525735&r1=525734&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessor.java Thu Apr 5 00:17:31 2007
@@ -36,18 +36,18 @@
import org.apache.tuscany.services.contribution.util.IOHelper;
import org.apache.tuscany.services.spi.contribution.ContentTypeDescriber;
import org.apache.tuscany.services.spi.contribution.ContributionException;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessor;
-import org.apache.tuscany.services.spi.contribution.extension.ContributionProcessorExtension;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessor;
+import org.apache.tuscany.services.spi.contribution.extension.ContributionPackageProcessorExtension;
-public class JarContributionProcessor extends ContributionProcessorExtension implements ContributionProcessor {
+public class JarContributionProcessor extends ContributionPackageProcessorExtension implements ContributionPackageProcessor {
/**
- * Content-type that this processor can handle
+ * Package-type that this package processor can handle
*/
- public static final String CONTENT_TYPE = ContentType.JAR;
+ public static final String PACKAGE_TYPE = ContentType.JAR;
@Override
public String getContentType() {
- return CONTENT_TYPE;
+ return PACKAGE_TYPE;
}
/**
@@ -136,11 +136,4 @@
}
}
-
- public void processModel(Contribution contribution, URI source, Object modelObject) throws ContributionException,
- IOException {
- // TODO Auto-generated method stub
-
- }
-
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/ComponentDefinitionArtifactResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/ComponentDefinitionArtifactResolver.java?view=diff&rev=525735&r1=525734&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/ComponentDefinitionArtifactResolver.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/services/contribution/resolver/ComponentDefinitionArtifactResolver.java Thu Apr 5 00:17:31 2007
@@ -29,7 +29,7 @@
import org.apache.tuscany.services.spi.contribution.ArtifactResolverRegistry;
import org.apache.tuscany.services.spi.contribution.extension.ArtifactResolverExtension;
-public class ComponentDefinitionArtifactResolver extends ArtifactResolverExtension implements ArtifactResolver {
+public class ComponentDefinitionArtifactResolver { /*extends ArtifactResolverExtension implements ArtifactResolver {
public ComponentDefinitionArtifactResolver(ArtifactResolverRegistry registry) {
super(registry);
@@ -44,8 +44,7 @@
Class<ComponentDefinition> modelClass,
String namespace,
String name,
- Map attributes/*,
- DeploymentContext context*/) {
+ Map attributes) {
// generate artifact uri based on it's name
URI artifactURI = contribution.getUri().resolve(name);
@@ -60,5 +59,5 @@
// TODO Auto-generated method stub
return null;
}
-
+*/
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContentTypeDescriberImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContentTypeDescriberImplTestCase.java?view=diff&rev=525735&r1=525734&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContentTypeDescriberImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContentTypeDescriberImplTestCase.java Thu Apr 5 00:17:31 2007
@@ -25,28 +25,28 @@
import org.apache.tuscany.services.contribution.model.ContentType;
public class ContentTypeDescriberImplTestCase extends TestCase {
- private ContentTypeDescriberImpl contentTypeBuilder;
+ private ContentTypeDescriberImpl contentTypeDescriber;
public void testResolveContentType() throws Exception {
URL artifactURL = getClass().getResource("test.scdl");
- assertEquals(ContentType.COMPOSITE, contentTypeBuilder.getContentType(artifactURL, null));
+ assertEquals(ContentType.COMPOSITE, contentTypeDescriber.getContentType(artifactURL, null));
}
- public void testUnknownResolveContentType() throws Exception {
+ public void testResolveUnknownContentType() throws Exception {
URL artifactURL = getClass().getResource("test.ext");
- assertNull(contentTypeBuilder.getContentType(artifactURL, null));
+ assertNull(contentTypeDescriber.getContentType(artifactURL, null));
}
public void testDefaultContentType() throws Exception {
URL artifactURL = getClass().getResource("test.ext");
assertEquals("application/vnd.tuscany.ext",
- contentTypeBuilder.getContentType(artifactURL, "application/vnd.tuscany.ext"));
+ contentTypeDescriber.getContentType(artifactURL, "application/vnd.tuscany.ext"));
}
protected void setUp() throws Exception {
super.setUp();
- contentTypeBuilder = new ContentTypeDescriberImpl();
+ contentTypeDescriber = new ContentTypeDescriberImpl();
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionLoaderTestCase.java?view=diff&rev=525735&r1=525734&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/ContributionLoaderTestCase.java Thu Apr 5 00:17:31 2007
@@ -60,7 +60,7 @@
public void testLoad() throws Exception {
XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(VALID_XML));
- ContributionLoader loader = new ContributionLoader();
+ ContributionMetadataLoaderImpl loader = new ContributionMetadataLoaderImpl();
Contribution contribution = loader.load(reader);
assertNotNull(contribution);
assertEquals(1, contribution.getImports().size());
@@ -70,7 +70,7 @@
public void testLoadInvalid() throws Exception {
XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(INVALID_XML));
- ContributionLoader loader = new ContributionLoader();
+ ContributionMetadataLoaderImpl loader = new ContributionMetadataLoaderImpl();
try {
loader.load(reader);
fail("InvalidException should have been thrown");
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=525735&r1=525734&r2=525735
==============================================================================
--- 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 Thu Apr 5 00:17:31 2007
@@ -22,7 +22,7 @@
import junit.framework.TestCase;
import org.apache.tuscany.services.spi.contribution.ContentTypeDescriber;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.apache.tuscany.services.spi.contribution.ContributionRepository;
import org.apache.tuscany.services.spi.contribution.ContributionService;
@@ -33,7 +33,7 @@
private static final String JAR_CONTRIBUTION = "/repository/sample-calculator.jar";
private ContributionRepository repository;
private ContentTypeDescriber contentTypeDescriber;
- private ContributionProcessorRegistry registry;
+ private ContributionPackageProcessorRegistry registry;
private ContributionService contributionService;
protected void setUp() throws Exception {
Added: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImplTestCase.java?view=auto&rev=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImplTestCase.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImplTestCase.java Thu Apr 5 00:17:31 2007
@@ -0,0 +1,51 @@
+/*
+ * 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.services.contribution;
+
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.services.contribution.model.ContentType;
+
+public class PackageTypeDescriberImplTestCase extends TestCase {
+ private PackageTypeDescriberImpl packageTypeDescriber;
+
+ public void testResolvePackageType() throws Exception {
+ URL artifactURL = getClass().getResource("/deployables/sample-calculator.jar");
+ assertEquals(ContentType.JAR, this.packageTypeDescriber.getContentType(artifactURL, null));
+ }
+
+ public void testResolveUnknownPackageType() throws Exception {
+ URL artifactURL = getClass().getResource("test.ext");
+ assertNull(this.packageTypeDescriber.getContentType(artifactURL, null));
+ }
+
+ public void testDefaultPackageType() throws Exception {
+ URL artifactURL = getClass().getResource("test.ext");
+ assertEquals("application/vnd.tuscany.ext",
+ packageTypeDescriber.getContentType(artifactURL, "application/vnd.tuscany.ext"));
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ packageTypeDescriber = new PackageTypeDescriberImpl();
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/PackageTypeDescriberImplTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java (from r525633, incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessorTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java?view=diff&rev=525735&p1=incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessorTestCase.java&r1=525633&p2=incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/FolderContributionPackageProcessorTestCase.java Thu Apr 5 00:17:31 2007
@@ -25,10 +25,10 @@
import junit.framework.TestCase;
import org.apache.tuscany.services.contribution.model.Contribution;
-import org.apache.tuscany.services.spi.contribution.ContributionProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.easymock.EasyMock;
-public class FolderContributionProcessorTestCase extends TestCase {
+public class FolderContributionPackageProcessorTestCase extends TestCase {
private static final String CONTRIBUTION_URI = "sca://contributions/002/";
private static final String DIRECTORY_CONTRIBUTION = "../../../../core-samples/common/calculator";
@@ -42,8 +42,8 @@
}
public final void testProcessJarArtifacts() throws Exception {
- ContributionProcessorRegistry mockRegistry = EasyMock.createMock(ContributionProcessorRegistry.class);
- mockRegistry.register(FolderContributionProcessor.CONTENT_TYPE, folderProcessor);
+ ContributionPackageProcessorRegistry mockRegistry = EasyMock.createMock(ContributionPackageProcessorRegistry.class);
+ mockRegistry.register(FolderContributionProcessor.PACKAGE_TYPE, folderProcessor);
mockRegistry.processContent((Contribution)EasyMock.anyObject(), (URI) EasyMock.anyObject(), (InputStream) EasyMock.anyObject() );
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(mockRegistry);
Copied: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java (from r525633, incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessorTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java?view=diff&rev=525735&p1=incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessorTestCase.java&r1=525633&p2=incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java&r2=525735
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/services/contribution/processor/JarContributionPackageProcessorTestCase.java Thu Apr 5 00:17:31 2007
@@ -27,10 +27,10 @@
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.ContributionProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.ContributionPackageProcessorRegistry;
import org.easymock.EasyMock;
-public class JarContributionProcessorTestCase extends TestCase {
+public class JarContributionPackageProcessorTestCase extends TestCase {
private static final String CONTRIBUTION_URI = "sca://contributions/001/";
private static final String JAR_CONTRIBUTION = "/repository/sample-calculator.jar";
@@ -43,8 +43,8 @@
}
public final void testProcessJarArtifacts() throws Exception {
- ContributionProcessorRegistry mockRegistry = EasyMock.createMock(ContributionProcessorRegistry.class);
- mockRegistry.register(JarContributionProcessor.CONTENT_TYPE, jarProcessor);
+ ContributionPackageProcessorRegistry mockRegistry = EasyMock.createMock(ContributionPackageProcessorRegistry.class);
+ mockRegistry.register(JarContributionProcessor.PACKAGE_TYPE, jarProcessor);
mockRegistry.processContent((Contribution)EasyMock.anyObject(), (URI) EasyMock.anyObject(), (InputStream) EasyMock.anyObject() );
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(mockRegistry);
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org