Author: slaws
Date: Wed Oct 12 15:16:07 2011
New Revision: 1182420
URL: http://svn.apache.org/viewvc?rev=1182420&view=rev
Log:
TUSCANY-3960 - Create implementation level operation model and add jsr250
module into build
Modified:
tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java
tuscany/sca-java-2.x/trunk/modules/pom.xml
Modified:
tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java?rev=1182420&r1=1182419&r2=1182420&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java
Wed Oct 12 15:16:07 2011
@@ -33,6 +33,7 @@ import javax.xml.namespace.QName;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Reference;
+import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.implementation.java.IntrospectionException;
@@ -40,7 +41,10 @@ import org.apache.tuscany.sca.implementa
import org.apache.tuscany.sca.implementation.java.JavaImplementation;
import org.apache.tuscany.sca.implementation.java.JavaParameterImpl;
import
org.apache.tuscany.sca.implementation.java.introspect.BaseJavaClassVisitor;
+import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+import org.apache.tuscany.sca.interfacedef.java.JavaOperation;
+import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil;
import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.policy.PolicySet;
@@ -79,9 +83,8 @@ public class PolicyProcessor extends Bas
// Read intents on the Java implementation class
readPolicySetAndIntents((PolicySubject)type, clazz);
- /*
- // FIXME: [rfeng] We might want to refactor this out
// Find the business methods in the implementation class for all
services
+ // this operation collection will have policy added to it relating to
JSR250 annotations
Set<Method> methods = new HashSet<Method>();
for (Service service : type.getServices()) {
for (Operation op :
service.getInterfaceContract().getInterface().getOperations()) {
@@ -100,7 +103,9 @@ public class PolicyProcessor extends Bas
JavaOperation op =
javaInterfaceFactory.createJavaOperation(method);
type.getOperations().add(op);
}
-
+
+ /* In OASIS we don't generally read policy attached to arbitrary
methods
+ * unless they relate to references
// Read the operation-level policy settings for the implementation
for (Operation op : type.getOperations()) {
JavaOperation operation = (JavaOperation)op;
@@ -122,7 +127,6 @@ public class PolicyProcessor extends Bas
Reference reference = referenceMap.get(e.getKey());
readPolicySetAndIntents(reference, e.getValue().getAnchor());
}
-
}
private void readPolicySetAndIntents(PolicySubject subject,
AnnotatedElement element) {
Modified: tuscany/sca-java-2.x/trunk/modules/pom.xml
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/pom.xml?rev=1182420&r1=1182419&r2=1182420&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/pom.xml Wed Oct 12 15:16:07 2011
@@ -121,6 +121,7 @@
<module>node-manager</module>
<module>policy-logging</module>
<module>policy-security</module>
+ <module>policy-security-jsr250</module>
<module>policy-transaction</module>
<module>policy-transaction-runtime</module>
<module>policy-transaction-runtime-geronimo</module>