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/04/05 17:40:05 UTC
svn commit: r525849 -
/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java
Author: jsdelfino
Date: Thu Apr 5 08:40:04 2007
New Revision: 525849
URL: http://svn.apache.org/viewvc?view=rev&rev=525849
Log:
Added logic to handle resolution of nested artifacts, for example a portType inside a WSDL, or a schema inside a WSDL.
Modified:
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java?view=diff&rev=525849&r1=525848&r2=525849
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java Thu Apr 5 08:40:04 2007
@@ -30,10 +30,25 @@
private static final long serialVersionUID = -7826976465762296634L;
public <T> T resolve(Class<T> modelClass, T unresolved) {
- T resolved = modelClass.cast(get(unresolved));
+ Object resolved = get(unresolved);
if (resolved != null) {
- return resolved;
+
+ // If the resolved object is an artifact resolver then delegate the
+ // resolution to it. This allows for nested resolutio, for example
+ // first resolve a WSDL document by namespace, then resolve
+ // a WSDL portType inside it.
+ if (resolved instanceof ArtifactResolver) {
+ ArtifactResolver resolver = (ArtifactResolver)resolved;
+ resolved = resolver.resolve(modelClass, unresolved);
+ return modelClass.cast(resolved);
+ } else {
+
+ // Return the resolved object
+ return modelClass.cast(resolved);
+ }
} else {
+
+ // Return the unresolved object
return unresolved;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org