diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-15 06:50:04 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-15 06:50:04 +0000 |
commit | 147ed48e86bb4a13e42df35f1d1d800a7b564f4b (patch) | |
tree | 2412db1dcc7b46a214d2b7b46d21349ac08aa9b8 /branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany | |
parent | 512771c8a42d2cde253f6df55ef552f7a0b4f792 (diff) |
Removed more modules as in Oscar's TUSCANY-2440 reduced-set patch. Also removed newer modules added since r643746 and are not required to run the minimum set that we are porting to android. Set svn ignore properties to ignore Manifest files produced by the build.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@695356 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany')
11 files changed, 0 insertions, 806 deletions
diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java deleted file mode 100644 index a71fa61a54..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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.namespace; - -import org.apache.tuscany.sca.contribution.namespace.impl.NamespaceImportExportFactoryImpl; - -/** - * Default Namespace Import/Export model factory implementation - * - * @version $Rev$ $Date$ - */ -public class DefaultNamespaceImportExportFactory extends NamespaceImportExportFactoryImpl implements NamespaceImportExportFactory { -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java deleted file mode 100644 index c68aee8521..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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.namespace; - -import org.apache.tuscany.sca.contribution.Export; - - -/** - * The representation of an XML namespace export. - * - * @version $Rev$ $Date$ - */ -public interface NamespaceExport extends Export { - - /** - * Get Namespace that identifies the export - * - * @return The exported namespace - */ - String getNamespace(); - - /** - * Set Namespace that identifies the export - * - * @param namespace The exported namespace - */ - void setNamespace(String namespace); - -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java deleted file mode 100644 index 8af36d7da0..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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.namespace; - -import org.apache.tuscany.sca.contribution.Import; - -/** - * The representation of an XML namespace import. - * - * @version $Rev$ $Date$ - */ -public interface NamespaceImport extends Import { - - /** - * Get the location used to resolve the definitions for this import - * - * @return The import location - */ - String getLocation(); - - /** - * Set the location used to resolve the definitions for this import - * - * @param location The import location - */ - void setLocation(String location); - - /** - * Get Namespace that identifies the import - * - * @return The namespace - */ - String getNamespace(); - - /** - * Set Namespace that identifies the import - * - * @param namespace The namespace - */ - void setNamespace(String namespace); - -}
\ No newline at end of file diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java deleted file mode 100644 index cfbac8bb1f..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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.namespace; - -/** - * Base Namespace import/export model factory - * - * @version $Rev$ $Date$ - */ -public interface NamespaceImportExportFactory { - - /** - * Create a namespace import model object - * - * @return The new NamespaceImport model object - */ - NamespaceImport createNamespaceImport(); - - /** - * Create a namespace export model object - * - * @return The new NamespaceExport model object - */ - NamespaceExport createNamespaceExport(); -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java deleted file mode 100644 index 8991585d32..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an export for the contribution - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportImpl implements NamespaceExport { - private String namespace; - private ModelResolver modelResolver; - - protected NamespaceExportImpl() { - super(); - } - - 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; - } - -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java deleted file mode 100644 index 5c5ae22f77..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A model resolver for namespace exports. - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportModelResolver implements ModelResolver { - - private ModelResolver resolver; - - public NamespaceExportModelResolver(ModelResolver resolver) { - this.resolver = resolver; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - - // Just delegate to the contribution's model resolver, namespace - // based filtering is implemented in the model specific model - // resolver, which know how to get the namespace of the particular - // type of model that they handle - return resolver.resolveModel(modelClass, unresolved); - } - -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java deleted file mode 100644 index 64862301c1..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * 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.namespace.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.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Namespace export - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportProcessor implements StAXArtifactProcessor<NamespaceExport> { - - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - private static final QName EXPORT = new QName(SCA10_NS, "export"); - private static final String NAMESPACE = "namespace"; - - private final NamespaceImportExportFactory factory; - private final Monitor monitor; - - public NamespaceExportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(NamespaceImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return EXPORT; - } - - public Class<NamespaceExport> getModelType() { - return NamespaceExport.class; - } - - /** - * Process <export namespace=""/> - */ - public NamespaceExport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - NamespaceExport namespaceExport = this.factory.createNamespaceExport(); - QName element = null; - - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read <export> - if (EXPORT.equals(element)) { - String ns = reader.getAttributeValue(null, NAMESPACE); - if (ns == null) { - error("AttributeNameSpaceMissing", reader); - //throw new ContributionReadException("Attribute 'namespace' is missing"); - } else - namespaceExport.setNamespace(ns); - } - - break; - case XMLStreamConstants.END_ELEMENT: - if (EXPORT.equals(reader.getName())) { - return namespaceExport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return namespaceExport; - } - - public void write(NamespaceExport namespaceExport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write <export> - writer.writeStartElement(EXPORT.getNamespaceURI(), EXPORT.getLocalPart()); - - if (namespaceExport.getNamespace() != null) { - writer.writeAttribute(NAMESPACE, namespaceExport.getNamespace()); - } - - writer.writeEndElement(); - } - - public void resolve(NamespaceExport namespaceExport, ModelResolver resolver) throws ContributionResolveException { - - if (namespaceExport.getNamespace() != null) - // Initialize the export's resolver - namespaceExport.setModelResolver(new NamespaceExportModelResolver(resolver)); - } -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java deleted file mode 100644 index 1146e593a9..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory; - -/** - * Namespace Import/Export model factory implementation - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportExportFactoryImpl implements NamespaceImportExportFactory { - - public NamespaceImport createNamespaceImport() { - return new NamespaceImportImpl(); - } - - public NamespaceExport createNamespaceExport() { - return new NamespaceExportImpl(); - } - -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java deleted file mode 100644 index 7ea09a47c7..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.DefaultImportAllModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionListener; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; - -/** - * Namespace Import/Export contribution listener - * The listener would process all import/export from a given contribution - * and initialize the model resolvers properly - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportExportListener implements ContributionListener { - - /** - * Initialize the import/export model resolvers - * Export model resolvers are same as Contribution model resolver - * Import model resolvers are matched to a specific contribution if a location URI is specified, - * otherwise it try to resolve against all the other contributions - * Also set the exporting contributions used by contribution ClassLoaders to - * match import/export for class loading. - */ - public void contributionAdded(ContributionRepository repository, Contribution contribution) { - // Initialize the contribution exports - for (Export export: contribution.getExports()) { - export.setModelResolver(contribution.getModelResolver()); - } - - // Initialize the contribution imports - for (Import import_: contribution.getImports()) { - boolean initialized = false; - - if (import_ instanceof NamespaceImport) { - NamespaceImport namespaceImport = (NamespaceImport)import_; - - // Find a matching contribution - if (namespaceImport.getLocation() != null) { - Contribution targetContribution = repository.getContribution(namespaceImport.getLocation()); - if (targetContribution != null) { - - // Find a matching contribution export - for (Export export: targetContribution.getExports()) { - if (export instanceof NamespaceExport) { - NamespaceExport namespaceExport = (NamespaceExport)export; - if (namespaceImport.getNamespace().equals(namespaceExport.getNamespace())) { - namespaceImport.setModelResolver(namespaceExport.getModelResolver()); - initialized = true; - break; - } - } - } - } - } - - //if no location was specified, try to resolve with any contribution - if( !initialized ) { - // Use a resolver that will consider all contributions - import_.setModelResolver(new DefaultImportAllModelResolver(import_, repository.getContributions())); - } - } - } - - } - - public void contributionRemoved(ContributionRepository repository, Contribution contribution) { - - } - - public void contributionUpdated(ContributionRepository repository, Contribution oldContribution, Contribution contribution) { - - } - -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java deleted file mode 100644 index 6d2a31f702..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an import for the contribution - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportImpl implements NamespaceImport { - private ModelResolver modelResolver; - - /** - * The namespace to be imported - */ - private String namespace; - /** - * Optional location URI pointing to a Contribution that exports the namespace - */ - private String location; - - - protected NamespaceImportImpl() { - super(); - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - 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; - } - - - /** - * Match a NamespaceImport to a given NamespaceExport based on : - * location is not provided - * import and export namespaces match - */ - public boolean match(Export export) { - if (export instanceof NamespaceExport) { - if (this.getNamespace().equals(((NamespaceExport)export).getNamespace())) { - return true; - } - } - return false; - } - - @Override - public String toString() { - return String.valueOf(namespace); - } -} diff --git a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java b/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java deleted file mode 100644 index 829e5fa43f..0000000000 --- a/branches/sca-android/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * 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.namespace.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.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Namespace import - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportProcessor implements StAXArtifactProcessor<NamespaceImport> { - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private static final QName IMPORT = new QName(SCA10_NS, "import"); - - private static final String NAMESPACE = "namespace"; - private static final String LOCATION = "location"; - - private final NamespaceImportExportFactory factory; - private final Monitor monitor; - - public NamespaceImportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(NamespaceImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return IMPORT; - } - - public Class<NamespaceImport> getModelType() { - return NamespaceImport.class; - } - - /** - * Process <import namespace="" location=""/> - */ - public NamespaceImport read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - NamespaceImport namespaceImport = this.factory.createNamespaceImport(); - QName element; - - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read <import> - if (IMPORT.equals(element)) { - String ns = reader.getAttributeValue(null, NAMESPACE); - if (ns == null) { - error("AttributeNameSpaceMissing", reader); - //throw new ContributionReadException("Attribute 'namespace' is missing"); - } else - namespaceImport.setNamespace(ns); - - String location = reader.getAttributeValue(null, LOCATION); - if (location != null) { - namespaceImport.setLocation(location); - } - } - break; - case XMLStreamConstants.END_ELEMENT: - if (IMPORT.equals(reader.getName())) { - return namespaceImport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return namespaceImport; - } - - public void write(NamespaceImport namespaceImport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write <import> - writer.writeStartElement(IMPORT.getNamespaceURI(), IMPORT.getLocalPart()); - - if (namespaceImport.getNamespace() != null) { - writer.writeAttribute(NAMESPACE, namespaceImport.getNamespace()); - } - if (namespaceImport.getLocation() != null) { - writer.writeAttribute(LOCATION, namespaceImport.getLocation()); - } - - writer.writeEndElement(); - } - - - public void resolve(NamespaceImport model, ModelResolver resolver) throws ContributionResolveException { - } -} |