Author: jsdelfino
Date: Sat Jun 7 08:35:02 2008
New Revision: 664356
URL: http://svn.apache.org/viewvc?rev=664356&view=rev
Log:
Create default imports/exports in contributions that do not specify any SCA
contribution metadata, existing non-SCA JARs for example.
Added:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java
- copied, changed from r664354,
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java
- copied, changed from r664354,
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java
Modified:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java
incubator/tuscany/java/sca/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
incubator/tuscany/java/sca/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
Modified:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java
(original)
+++
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java
Sat Jun 7 08:35:02 2008
@@ -55,5 +55,19 @@
* @return The new artifact model object
*/
Artifact createArtifact();
+
+ /**
+ * Create a default import model object.
+ *
+ * @return the new default import model object
+ */
+ DefaultImport createDefaultImport();
+
+ /**
+ * Create a default export model object.
+ *
+ * @return the new default export model object
+ */
+ DefaultExport createDefaultExport();
}
\ No newline at end of file
Added:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java?rev=664356&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java
(added)
+++
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java
Sat Jun 7 08:35:02 2008
@@ -0,0 +1,30 @@
+/*
+ * 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;
+
+
+/**
+ * The representation of an export that exports all artifacts in
+ * a contribution.
+ *
+ * @version $Rev$ $Date$
+ */
+public interface DefaultExport extends Export {
+}
Added:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java?rev=664356&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java
(added)
+++
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java
Sat Jun 7 08:35:02 2008
@@ -0,0 +1,30 @@
+/*
+ * 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;
+
+
+/**
+ * The representation of a default import that imports artifacts from
+ * all contributions.
+ *
+ * @version $Rev$ $Date$
+ */
+public interface DefaultImport extends Import {
+}
Modified:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java
Sat Jun 7 08:35:02 2008
@@ -23,6 +23,8 @@
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ContributionFactory;
import org.apache.tuscany.sca.contribution.ContributionMetadata;
+import org.apache.tuscany.sca.contribution.DefaultExport;
+import org.apache.tuscany.sca.contribution.DefaultImport;
import org.apache.tuscany.sca.contribution.DeployedArtifact;
@@ -48,6 +50,14 @@
return new ArtifactImpl();
}
+ public DefaultExport createDefaultExport() {
+ return new DefaultExportImpl();
+ }
+
+ public DefaultImport createDefaultImport() {
+ return new DefaultImportImpl();
+ }
+
@Deprecated
public DeployedArtifact createDeployedArtifact() {
class DeployedArtifactImpl extends ArtifactImpl implements
DeployedArtifact {
Copied:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java
(from r664354,
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java?p2=incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java&p1=incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java&r1=664354&r2=664356&rev=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java
(original)
+++
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java
Sat Jun 7 08:35:02 2008
@@ -17,43 +17,29 @@
* under the License.
*/
-package org.apache.tuscany.sca.contribution;
+package org.apache.tuscany.sca.contribution.impl;
+import org.apache.tuscany.sca.contribution.DefaultExport;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
/**
- * A factory for the contribution model.
+ * The representation of an export for the contribution
*
* @version $Rev$ $Date$
*/
-public interface ContributionFactory {
+public class DefaultExportImpl implements DefaultExport {
+ private ModelResolver modelResolver;
- /**
- * Create a contribution model object
- *
- * @return The new contribution model object
- */
- Contribution createContribution();
-
- /**
- * Create a contribution metadata model object
- *
- * @return The new contribution metadata model object
- */
- ContributionMetadata createContributionMetadata();
-
- /**
- * Create a deployedArtifact model object
- *
- * @return The new deployedArtifact model object
- */
- @Deprecated
- DeployedArtifact createDeployedArtifact();
-
- /**
- * Create an artifact model object
- *
- * @return The new artifact model object
- */
- Artifact createArtifact();
+ protected DefaultExportImpl() {
+ super();
+ }
+
+ public ModelResolver getModelResolver() {
+ return modelResolver;
+ }
+
+ public void setModelResolver(ModelResolver modelResolver) {
+ this.modelResolver = modelResolver;
+ }
-}
\ No newline at end of file
+}
Copied:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java
(from r664354,
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java?p2=incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java&p1=incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java&r1=664354&r2=664356&rev=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java
Sat Jun 7 08:35:02 2008
@@ -19,39 +19,37 @@
package org.apache.tuscany.sca.contribution.impl;
-import org.apache.tuscany.sca.contribution.Artifact;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.ContributionFactory;
-import org.apache.tuscany.sca.contribution.ContributionMetadata;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-
+import org.apache.tuscany.sca.contribution.DefaultExport;
+import org.apache.tuscany.sca.contribution.DefaultImport;
+import org.apache.tuscany.sca.contribution.Export;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
/**
- * Default implementation of a contribution model factory.
+ * The representation of an import for the contribution
*
* @version $Rev$ $Date$
*/
-public class ContributionFactoryImpl implements ContributionFactory {
-
- protected ContributionFactoryImpl() {
+public class DefaultImportImpl implements DefaultImport {
+ private ModelResolver modelResolver;
+
+ protected DefaultImportImpl() {
+ super();
}
- public Contribution createContribution() {
- return new ContributionImpl();
+ public ModelResolver getModelResolver() {
+ return modelResolver;
}
- public ContributionMetadata createContributionMetadata() {
- return new ContributionMetadataImpl();
+ public void setModelResolver(ModelResolver modelResolver) {
+ this.modelResolver = modelResolver;
}
- public Artifact createArtifact() {
- return new ArtifactImpl();
- }
- @Deprecated
- public DeployedArtifact createDeployedArtifact() {
- class DeployedArtifactImpl extends ArtifactImpl implements
DeployedArtifact {
+ public boolean match(Export export) {
+ if (export instanceof DefaultExport) {
+ return true;
}
- return new DeployedArtifactImpl();
+ return false;
}
+
}
Modified:
incubator/tuscany/java/sca/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java
Sat Jun 7 08:35:02 2008
@@ -37,6 +37,7 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@@ -54,6 +55,10 @@
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.DefaultExport;
+import org.apache.tuscany.sca.contribution.DefaultImport;
+import org.apache.tuscany.sca.contribution.Export;
+import org.apache.tuscany.sca.contribution.Import;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
import
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
@@ -611,6 +616,25 @@
contributionCache.contributionLastModified = lastModified;
cache.contributions.put(location, contributionCache);
+
+ // Make sure that the cloud contribution does not contain
+ // default imports/exports as we want to isolate it from
application
+ // provided contributions
+ if
(contribution.getURI().equals(DEPLOYMENT_CONTRIBUTION_URI)) {
+ for (Iterator<Import> i =
contribution.getImports().iterator(); i.hasNext(); ) {
+ Import import_ = i.next();
+ if (import_ instanceof DefaultImport) {
+ i.remove();
+ }
+ }
+ for (Iterator<Export> i =
contribution.getExports().iterator(); i.hasNext(); ) {
+ Export export = i.next();
+ if (export instanceof DefaultExport) {
+ i.remove();
+ }
+ }
+ }
+
} catch (ContributionReadException e) {
Contribution contribution =
contributionFactory.createContribution();
contribution.setURI(c.getURI());
Modified:
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java
(original)
+++
incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java
Sat Jun 7 08:35:02 2008
@@ -47,6 +47,7 @@
import org.apache.tuscany.sca.contribution.Artifact;
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.DefaultImport;
import org.apache.tuscany.sca.contribution.Import;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
import org.apache.tuscany.sca.contribution.namespace.NamespaceImport;
@@ -281,7 +282,7 @@
NamespaceImport namespaceImport = (NamespaceImport)import_;
if (namespaceImport.getNamespace().equals(namespace)) {
- // Delegate the resolution to the import resolver
+ // Delegate the resolution to the namespace import resolver
resolved =
namespaceImport.getModelResolver().resolveModel(WSDLDefinition.class,
(WSDLDefinition)unresolved);
@@ -289,6 +290,15 @@
return modelClass.cast(resolved);
}
}
+ } else if (import_ instanceof DefaultImport) {
+
+ // Delegate the resolution to the default import resolver
+ resolved =
+
import_.getModelResolver().resolveModel(WSDLDefinition.class,
+
(WSDLDefinition)unresolved);
+ if (!resolved.isUnresolved()) {
+ return modelClass.cast(resolved);
+ }
}
}
return modelClass.cast(unresolved);
Modified:
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java
Sat Jun 7 08:35:02 2008
@@ -89,6 +89,10 @@
// Go through all contribution candidates and their exports
List<Export> matchingExports = new ArrayList<Export>();
for (Contribution dependency: workspace.getContributions()) {
+ if (dependency == contribution) {
+ // Do not self import
+ continue;
+ }
for (Export export: dependency.getExports()) {
// If an export from a contribution matches the import in
hand
Modified:
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java
Sat Jun 7 08:35:02 2008
@@ -28,6 +28,8 @@
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ContributionFactory;
import org.apache.tuscany.sca.contribution.ContributionMetadata;
+import org.apache.tuscany.sca.contribution.DefaultExport;
+import org.apache.tuscany.sca.contribution.DefaultImport;
import org.apache.tuscany.sca.contribution.Export;
import org.apache.tuscany.sca.contribution.Import;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
@@ -152,6 +154,12 @@
contribution.getDeployables().add((Composite)artifact.getModel());
}
}
+
+ // Add default contribution import and export
+ DefaultImport defaultImport =
contributionFactory.createDefaultImport();
+ contribution.getImports().add(defaultImport);
+ DefaultExport defaultExport =
contributionFactory.createDefaultExport();
+ contribution.getExports().add(defaultExport);
}
return contribution;
@@ -166,7 +174,14 @@
// Resolve imports and exports
for (Export export: contribution.getExports()) {
- extensionProcessor.resolve(export, contributionResolver);
+ if (export instanceof DefaultExport) {
+
+ // Initialize the default export's resolver
+ export.setModelResolver(contributionResolver);
+
+ } else {
+ extensionProcessor.resolve(export, contributionResolver);
+ }
}
for (Import import_: contribution.getImports()) {
extensionProcessor.resolve(import_, contributionResolver);
Modified:
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java
Sat Jun 7 08:35:02 2008
@@ -30,6 +30,8 @@
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ContributionFactory;
import org.apache.tuscany.sca.contribution.ContributionMetadata;
+import org.apache.tuscany.sca.contribution.DefaultExport;
+import org.apache.tuscany.sca.contribution.DefaultImport;
import org.apache.tuscany.sca.contribution.Export;
import org.apache.tuscany.sca.contribution.Import;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
@@ -160,12 +162,20 @@
// Read each artifact
Object model = artifactProcessor.read(contributionURL,
URI.create(artifactURI), artifactURL);
+
+ // In the absence of more info, consider all
composites as deployable
if (model instanceof Composite) {
contribution.getDeployables().add((Composite)model);
}
}
}
}
+
+ // Add default contribution import and export
+ DefaultImport defaultImport =
contributionFactory.createDefaultImport();
+ contribution.getImports().add(defaultImport);
+ DefaultExport defaultExport =
contributionFactory.createDefaultExport();
+ contribution.getExports().add(defaultExport);
}
return contribution;
@@ -180,7 +190,14 @@
// Resolve imports and exports
for (Export export: contribution.getExports()) {
- extensionProcessor.resolve(export, contributionResolver);
+ if (export instanceof DefaultExport) {
+
+ // Initialize the default export's resolver
+ export.setModelResolver(contributionResolver);
+
+ } else {
+ extensionProcessor.resolve(export, contributionResolver);
+ }
}
for (Import import_: contribution.getImports()) {
extensionProcessor.resolve(import_, contributionResolver);
Modified:
incubator/tuscany/java/sca/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java?rev=664356&r1=664355&r2=664356&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
(original)
+++
incubator/tuscany/java/sca/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
Sat Jun 7 08:35:02 2008
@@ -28,6 +28,7 @@
import org.apache.tuscany.sca.contribution.Artifact;
import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.DefaultImport;
import org.apache.tuscany.sca.contribution.Import;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
import org.apache.tuscany.sca.contribution.namespace.NamespaceImport;
@@ -115,13 +116,21 @@
NamespaceImport namespaceImport = (NamespaceImport)import_;
if (namespaceImport.getNamespace().equals(namespace)) {
- // Delegate the resolution to the import resolver
+ // Delegate the resolution to the namespace import resolver
resolved =
namespaceImport.getModelResolver().resolveModel(XSDefinition.class,
(XSDefinition)unresolved);
if (!resolved.isUnresolved()) {
return modelClass.cast(resolved);
}
}
+ } else if (import_ instanceof DefaultImport) {
+
+ // Delegate the resolution to the default import resolver
+ resolved =
+
import_.getModelResolver().resolveModel(XSDefinition.class,
(XSDefinition)unresolved);
+ if (!resolved.isUnresolved()) {
+ return modelClass.cast(resolved);
+ }
}
}
return modelClass.cast(unresolved);