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/12 18:26:19 UTC
svn commit: r528010 - in /incubator/tuscany/java/sca/modules:
assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/
assembly/src/main/java/org/apache/tuscany/assembly/util/
implementation-java-xml/src/main/java/org/apache/tuscany/implementation/j...
Author: jsdelfino
Date: Thu Apr 12 09:26:15 2007
New Revision: 528010
URL: http://svn.apache.org/viewvc?view=rev&rev=528010
Log:
Fixed the component implementation resolution logic so that we can track unresolved implementations.
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java
Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java?view=diff&rev=528010&r1=528009&r2=528010
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/BaseArtifactProcessor.java Thu Apr 12 09:26:15 2007
@@ -385,11 +385,16 @@
*/
protected Implementation resolveImplementation(Implementation implementation, ArtifactResolver resolver) throws ContributionResolveException {
if (implementation != null) {
- implementation = resolver.resolve(Implementation.class, implementation);
if (implementation.isUnresolved()) {
- extensionProcessor.resolve(implementation, resolver);
- implementation.setUnresolved(false);
- resolver.add(implementation);
+ implementation = resolver.resolve(Implementation.class, implementation);
+
+ // Lazily resolve implementations
+ if (implementation.isUnresolved()) {
+ extensionProcessor.resolve(implementation, resolver);
+ if (!implementation.isUnresolved()) {
+ resolver.add(implementation);
+ }
+ }
}
}
return implementation;
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java?view=diff&rev=528010&r1=528009&r2=528010
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java Thu Apr 12 09:26:15 2007
@@ -266,6 +266,14 @@
compServices = new HashMap<String, ComponentService>();
compReferences = new HashMap<String, ComponentReference>();
compProperties = new HashMap<String, ComponentProperty>();
+
+ // Check that the component has a resolved implementation
+ Implementation implementation = component.getImplementation();
+ if (implementation == null) {
+ problems.add(component);
+ } else if (implementation.isUnresolved()) {
+ problems.add(implementation);
+ }
initializePropsSvcRefs(component,
implServices,
Modified: incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java?view=diff&rev=528010&r1=528009&r2=528010
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java Thu Apr 12 09:26:15 2007
@@ -101,6 +101,7 @@
try {
Class javaClass = Class.forName(javaImplementation.getName(), true, Thread.currentThread().getContextClassLoader());
javaImplementation.setJavaClass(javaClass);
+ javaImplementation.setUnresolved(false);
//FIXME JavaImplementationDefinition should not be mandatory
if (javaImplementation instanceof JavaImplementationDefinition) {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org