Author: rfeng
Date: Mon Nov 5 21:23:15 2007
New Revision: 592285
URL: http://svn.apache.org/viewvc?rev=592285&view=rev
Log:
Refactor the ResourceReferenceModelResolver from contribution-namespace to
contribution-impl
Added:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ResourceReferenceModelResolver.java
- copied, changed from r592100,
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/ResourceReferenceModelResolver.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
- copied, changed from r592100,
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
Removed:
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/ResourceReferenceModelResolver.java
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
Copied:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ResourceReferenceModelResolver.java
(from r592100,
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/ResourceReferenceModelResolver.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ResourceReferenceModelResolver.java?p2=incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ResourceReferenceModelResolver.java&p1=incubator/tuscany/java/sca/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/ResourceReferenceModelResolver.java&r1=592100&r2=592285&rev=592285&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/ResourceReferenceModelResolver.java
(original)
+++
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ResourceReferenceModelResolver.java
Mon Nov 5 21:23:15 2007
@@ -17,9 +17,8 @@
* under the License.
*/
-package org.apache.tuscany.sca.contribution.namespace.impl;
+package org.apache.tuscany.sca.contribution.resolver.impl;
-import java.io.File;
import java.lang.ref.WeakReference;
import java.lang.reflect.Constructor;
import java.net.MalformedURLException;
@@ -30,8 +29,8 @@
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.resolver.ResourceReference;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ResourceReference;
/**
* A Model Resolver for ResourceReferences.
@@ -46,7 +45,7 @@
public ResourceReferenceModelResolver(Contribution contribution,
ModelFactoryExtensionPoint modelFactories) {
this.contribution = contribution;
- this.classLoader = new
WeakReference<ClassLoader>(this.contribution.getClassLoader());
+ this.classLoader = new
WeakReference<ClassLoader>(this.contribution.getClassLoader());
try {
Class osgiResolverClass =
@@ -69,8 +68,6 @@
return map.remove(((ResourceReference)resolved).getResourceName());
}
-
-
public <T> T resolveModel(Class<T> modelClass, T unresolved) {
Object resolved = map.get(unresolved);
@@ -81,26 +78,27 @@
//Get a resource
String resourceName =
((ResourceReference)unresolved).getResourceName();
URL resourceURL = null;
-
+
if (URI.create(resourceName).isAbsolute()) {
- try {
- File resourceFile = new File(resourceName);
- if (resourceFile.exists())
- resourceURL = resourceFile.toURL();
- } catch (MalformedURLException e) {
- }
+ try {
+ resourceURL = URI.create(resourceName).toURL();
+ } catch (MalformedURLException e) {
+ // Ignore
+ }
}
-
- if (osgiResolver != null) {
+
+ if (resourceURL == null && osgiResolver != null) {
+ // Try OSGi
resolved = osgiResolver.resolveModel(modelClass, unresolved);
resourceURL = ((ResourceReference)resolved).getResource();
}
-
+
if (resourceURL == null) {
- resourceURL = classLoader.get().getResource(resourceName);
+ // Try class loader
+ resourceURL = classLoader.get().getResource(resourceName);
}
- if (resourceURL != null) {
+ if (resourceURL != null) {
// Store a new ResourceReference wrappering the resource
ResourceReference resourceReference = new
ResourceReference(resourceName, resourceURL);
map.put(resourceName, resourceReference);
@@ -113,5 +111,4 @@
}
-
}
Copied:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
(from r592100,
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver?p2=incubator/tuscany/java/sca/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver&p1=incubator/tuscany/java/sca/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver&r1=592100&r2=592285&rev=592285&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
(original)
+++
incubator/tuscany/java/sca/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
Mon Nov 5 21:23:15 2007
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-org.apache.tuscany.sca.contribution.namespace.impl.ResourceReferenceModelResolver;model=org.apache.tuscany.sca.contribution.resolver.ResourceReference
+org.apache.tuscany.sca.contribution.resolver.impl.ResourceReferenceModelResolver;model=org.apache.tuscany.sca.contribution.resolver.ResourceReference
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]