Author: bdaniel
Date: Thu Jul 15 17:34:38 2010
New Revision: 964503
URL: http://svn.apache.org/viewvc?rev=964503&view=rev
Log:
Use binding type from system definitions to obtain mayProvide/alwaysProvide
values
Modified:
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java
Modified:
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java?rev=964503&r1=964502&r2=964503&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java
Thu Jul 15 17:34:38 2010
@@ -532,10 +532,23 @@ public class ComponentPolicyBuilderImpl
} else {
// Need to check the ExtensionType to see if the intent
is provided there. If not, throw an error
ExtensionType type = subject.getExtensionType();
- if ( type == null )
- error(context.getMonitor(),
"IntentNotSatisfiedAtBuild", subject, intent.getName(), subject.toString());
- else if (
!type.getAlwaysProvidedIntents().contains(intent) &&
!type.getMayProvidedIntents().contains(intent))
+
+
+ if ( type == null ) {
error(context.getMonitor(),
"IntentNotSatisfiedAtBuild", subject, intent.getName(), subject.toString());
+ } else {
+ // The ExtensionType on the subject only has
the binding name. The one in the system
+ // definitions will have the
mayProvide/alwaysProvides values
+ for ( ExtensionType et :
context.getDefinitions().getBindingTypes() ) {
+ if (
type.getType().equals(et.getType()) ) {
+ type = et;
+ }
+ }
+
+ if (
!type.getAlwaysProvidedIntents().contains(intent) &&
!type.getMayProvidedIntents().contains(intent)) {
+ error(context.getMonitor(),
"IntentNotSatisfiedAtBuild", subject, intent.getName(), subject.toString());
+ }
+ }
}
}
}