Author: bdaniel
Date: Thu Jul 15 07:02:34 2010
New Revision: 964321
URL: http://svn.apache.org/viewvc?rev=964321&view=rev
Log:
Validate that the noListener intent isn't specified on a service
Modified:
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
tuscany/sca-java-2.x/trunk/modules/builder/src/main/resources/org/apache/tuscany/sca/builder/builder-validation-messages.properties
Modified:
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java?rev=964321&r1=964320&r2=964321&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
Thu Jul 15 07:02:34 2010
@@ -36,11 +36,13 @@ import org.apache.tuscany.sca.assembly.b
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.assembly.builder.PolicyBuilder;
+import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicySet;
import org.apache.tuscany.sca.policy.PolicySubject;
+import org.apache.tuscany.sca.policy.util.PolicyHelper;
/**
* A composite builder that computes policy sets based on attached intents and
policy sets.
@@ -126,6 +128,9 @@ public class CompositePolicyBuilderImpl
// Remove any direct policy sets if an
external one has been applied
removeDirectPolicySetsIfExternalExists(ep,
context);
+ // Validate that noListener is not specified
on a service endpoint
+ checkForNoListenerIntent(ep, context);
+
// check that all intents are resolved
checkIntentsResolved(ep, context);
@@ -213,7 +218,18 @@ public class CompositePolicyBuilderImpl
}
}
- private void removeDirectPolicySetsIfExternalExists(PolicySubject subject,
+ private void checkForNoListenerIntent(Endpoint ep, BuilderContext context)
{
+ PolicyHelper helper = new PolicyHelper();
+ if ( helper.getIntent(ep, Constants.NOLISTENER_INTENT) != null
) {
+ error(context.getMonitor(),
+ "NoListenerIntentSpecifiedOnService",
+ this,
+ ep.toString());
+ }
+
+ }
+
+ private void removeDirectPolicySetsIfExternalExists(PolicySubject
subject,
BuilderContext context) {
boolean foundExternalPolicySet = false;
for (PolicySet ps : subject.getPolicySets() ) {
Modified:
tuscany/sca-java-2.x/trunk/modules/builder/src/main/resources/org/apache/tuscany/sca/builder/builder-validation-messages.properties
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/resources/org/apache/tuscany/sca/builder/builder-validation-messages.properties?rev=964321&r1=964320&r2=964321&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/builder/src/main/resources/org/apache/tuscany/sca/builder/builder-validation-messages.properties
(original)
+++
tuscany/sca-java-2.x/trunk/modules/builder/src/main/resources/org/apache/tuscany/sca/builder/builder-validation-messages.properties
Thu Jul 15 07:02:34 2010
@@ -31,4 +31,5 @@ PolicySetNotFoundAtBuild = PolicySet {0}
IntentNotSatisfiedAtBuild = The intent {0} associated with policy subject {1}
has no matching policy set
MutuallyExclusiveIntentsAtBuild =
[POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {0} and {1} are mutually
exclusive
IntentNotFoundAtBuild = Intent {0} is not defined in SCA definitions
+NoListenerIntentSpecifiedOnService = The noListener intent may only be
specified on a reference.