You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/07/22 04:17:26 UTC

svn commit: r558448 - in /incubator/tuscany/java/sca/modules: contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ interface-wsdl-xml/src/main/java/org/apache...

Author: jsdelfino
Date: Sat Jul 21 19:17:25 2007
New Revision: 558448

URL: http://svn.apache.org/viewvc?view=rev&rev=558448
Log:
Fixing import/export handling for WSDL models.

Added:
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java   (with props)
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java   (with props)
Modified:
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java

Added: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java?view=auto&rev=558448
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java Sat Jul 21 19:17:25 2007
@@ -0,0 +1,48 @@
+/*
+ * 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.impl;
+
+import org.apache.tuscany.sca.contribution.ContributionExport;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+
+public class ContributionExportModelResolverImpl implements ModelResolver {
+    
+    private ContributionExport contributionExport;
+    
+    public ContributionExportModelResolverImpl(ContributionExport contributionExport) {
+        this.contributionExport = contributionExport;
+    }
+
+    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) {
+        
+        // This needs to delegate to the model resolver of the contribution owning
+        // the export.
+        return null;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionExportModelResolverImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java?view=auto&rev=558448
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java Sat Jul 21 19:17:25 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.sca.contribution.impl;
+
+import org.apache.tuscany.sca.contribution.ContributionImport;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+
+public class ContributionImportModelResolverImpl implements ModelResolver {
+    
+    private ContributionImport contributionImport;
+    private ModelResolver targetModelResolver;
+    
+    public ContributionImportModelResolverImpl(ContributionImport contributionImport, ModelResolver targetModelResolver) {
+        this.contributionImport = contributionImport;
+        this.targetModelResolver = targetModelResolver;
+    }
+
+    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) {
+        
+        // This needs to delegate to the matching ContributionExportModelResolver
+        // from the contribution matching the import's location URI, or a ModelResolver
+        // that goes over all exports with a matching namespace if there is no URI
+        return targetModelResolver.resolveModel(modelClass, unresolved);
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImportModelResolverImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java?view=diff&rev=558448&r1=558447&r2=558448
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java Sat Jul 21 19:17:25 2007
@@ -20,7 +20,6 @@
 package org.apache.tuscany.sca.contribution.resolver;
 
 import java.lang.ref.WeakReference;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -84,10 +83,6 @@
     
     public Object removeModel(Object resolved) {
         return map.remove(resolved);
-    }
-    
-    public Collection<Object> getModels() {
-        return map.values();
     }
     
 }

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java?view=diff&rev=558448&r1=558447&r2=558448
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java Sat Jul 21 19:17:25 2007
@@ -22,7 +22,6 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
 
 /**

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?view=diff&rev=558448&r1=558447&r2=558448
==============================================================================
--- 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 Jul 21 19:17:25 2007
@@ -39,12 +39,12 @@
         String namespace = unresolved.getNamespace();
         if (namespace != null && namespace.length() > 0) {
             for (ContributionImport contributionImport : this.contribution.getImports()) {
-                if(namespace.equalsIgnoreCase(contributionImport.getNamespace())) {
-                    //find who exports it
+                if (contributionImport.getNamespace().equals(namespace)) {
                     
-                    //delegate the resolition to the import resolver
+                    // Delegate the resolution to the import resolver
                     contributionImport.getModelResolver().resolveModel(WSDLDefinition.class, unresolved);
-                    //if resolved... then we are done
+                    
+                    // If resolved... then we are done
                     if(unresolved.isUnresolved() == false) {
                         break;
                     }
@@ -56,16 +56,13 @@
     
     @Override
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        return super.resolveModel(modelClass, unresolved);
-        /*
         WSDLDefinition resolved = (WSDLDefinition) super.resolveModel(modelClass, unresolved);
 
         if (resolved.isUnresolved()) {
             resolved = resolveImportedModel(resolved);
         }
         
-        return null;
-        */
+        return (T)resolved;
     }
     
     



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org