You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2010/02/12 17:25:55 UTC

svn commit: r909490 - /tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/

Author: slaws
Date: Fri Feb 12 16:25:54 2010
New Revision: 909490

URL: http://svn.apache.org/viewvc?rev=909490&view=rev
Log:
Fix up the basic auth policy provider

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyProvider.java
    tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java

Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyInterceptor.java?rev=909490&r1=909489&r2=909490&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyInterceptor.java Fri Feb 12 16:25:54 2010
@@ -25,15 +25,14 @@
 import javax.xml.namespace.QName;
 
 import org.apache.axis2.client.OperationClient;
-import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.transport.http.HTTPConstants;
 import org.apache.axis2.transport.http.HttpTransportProperties;
 import org.apache.axis2.transport.http.HttpTransportProperties.Authenticator;
-import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.invocation.Phase;
 import org.apache.tuscany.sca.invocation.PhasedInterceptor;
+import org.apache.tuscany.sca.policy.PolicyExpression;
 import org.apache.tuscany.sca.policy.PolicySet;
 import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy;
 import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPrincipal;
@@ -49,24 +48,24 @@
     public static final QName policySetQName = new QName(SCA10_TUSCANY_NS, "wsBasicAuthentication");
 
     private Invoker next;
-    private Operation operation;
     private PolicySet policySet = null;
     private String context;
     private BasicAuthenticationPolicy policy;
 
-    public BasicAuthenticationReferencePolicyInterceptor(String context, Operation operation, PolicySet policySet) {
+    public BasicAuthenticationReferencePolicyInterceptor(String context, PolicySet policySet) {
         super();
-        this.operation = operation;
         this.policySet = policySet;
         this.context = context;
         init();
     }
 
     private void init() {
+        // TODO - how to get the appropriate expression out of the
+        //        policy set. Need WS Policy help here
         if (policySet != null) {
-            for (Object policyObject : policySet.getPolicies()){
-                if (policyObject instanceof BasicAuthenticationPolicy){
-                    policy = (BasicAuthenticationPolicy)policyObject;
+            for (PolicyExpression policyExpression : policySet.getPolicies()){
+                if (policyExpression.getPolicy() instanceof BasicAuthenticationPolicy){
+                    policy = (BasicAuthenticationPolicy)policyExpression.getPolicy();
                     break;
                 }
             }
@@ -89,10 +88,17 @@
         if (  principal != null ) {
             username = ((BasicAuthenticationPrincipal)principal).getName();
             password = ((BasicAuthenticationPrincipal)principal).getPassword();
-        }
+        } else if (policy != null ){
+            username = policy.getUserName();
+            password = policy.getPassword();
+            
+            principal = new BasicAuthenticationPrincipal(username,
+                                                         password);
+            subject.getPrincipals().add(principal);
+        }        
         
         if (username == null || password == null ){
-            throw new ServiceRuntimeException("Basic authentication username or password is null");
+            throw new ServiceRuntimeException("Basic authentication username and/or password is null");
         }
         
         HttpTransportProperties.Authenticator authenticator = new HttpTransportProperties.Authenticator();
@@ -118,6 +124,6 @@
     }
     
     public String getPhase() {
-        return Phase.REFERENCE_POLICY;
+        return Phase.REFERENCE_BINDING_POLICY;
     }    
 }

Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyProvider.java?rev=909490&r1=909489&r2=909490&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyProvider.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationReferencePolicyProvider.java Fri Feb 12 16:25:54 2010
@@ -35,9 +35,9 @@
         super(BasicAuthenticationPolicy.class, endpointReference);
     }
 
-    public PhasedInterceptor createInterceptor(Operation operation) {
+    public PhasedInterceptor createBindingInterceptor() {
         PolicySet ps = findPolicySet();
-        return ps == null ? null : new BasicAuthenticationReferencePolicyInterceptor(getContext(), operation, ps);
+        return ps == null ? null : new BasicAuthenticationReferencePolicyInterceptor(getContext(), ps);
     }
 
     public void start() {

Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java?rev=909490&r1=909489&r2=909490&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java Fri Feb 12 16:25:54 2010
@@ -30,6 +30,7 @@
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.invocation.Phase;
 import org.apache.tuscany.sca.invocation.PhasedInterceptor;
+import org.apache.tuscany.sca.policy.PolicyExpression;
 import org.apache.tuscany.sca.policy.PolicySet;
 import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy;
 import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPrincipal;
@@ -59,10 +60,12 @@
     }
 
     private void init() {
+        // TODO - how to get the appropriate expression out of the
+        //        policy set. Need WS Policy help here
         if (policySet != null) {
-            for (Object policyObject : policySet.getPolicies()){
-                if (policyObject instanceof BasicAuthenticationPolicy){
-                    policy = (BasicAuthenticationPolicy)policyObject;
+            for (PolicyExpression policyExpression : policySet.getPolicies()){
+                if (policyExpression.getPolicy() instanceof BasicAuthenticationPolicy){
+                    policy = (BasicAuthenticationPolicy)policyExpression.getPolicy();
                     break;
                 }
             }
@@ -114,7 +117,7 @@
     }
 
     public String getPhase() {
-        return Phase.SERVICE_POLICY;
+        return Phase.SERVICE_BINDING_POLICY;
     }
     
 }