You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ru...@apache.org on 2006/09/06 18:28:22 UTC

svn commit: r440771 - in /webservices/axis2/trunk/java/modules/secpolicy: src/META-INF/services/ src/org/apache/ws/secpolicy/ src/org/apache/ws/secpolicy/builders/ test/org/apache/ws/secpolicy/model/

Author: ruchithf
Date: Wed Sep  6 09:28:21 2006
New Revision: 440771

URL: http://svn.apache.org/viewvc?view=rev&rev=440771
Log:
Added the IssuedToken builder

Added:
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/IssuedTokenBuilder.java
Modified:
    webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java
    webservices/axis2/trunk/java/modules/secpolicy/test/org/apache/ws/secpolicy/model/SecpolicyModelTest.java

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder?view=diff&rev=440771&r1=440770&r2=440771
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder Wed Sep  6 09:28:21 2006
@@ -18,4 +18,5 @@
 org.apache.ws.secpolicy.builders.Trust10Builder
 org.apache.ws.secpolicy.builders.SecurityContextTokenBuilder
 org.apache.ws.secpolicy.builders.SecureConversationTokenBuilder
-org.apache.ws.secpolicy.builders.SymmetricBindingBuilder
\ No newline at end of file
+org.apache.ws.secpolicy.builders.SymmetricBindingBuilder
+org.apache.ws.secpolicy.builders.IssuedTokenBuilder
\ No newline at end of file

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java?view=diff&rev=440771&r1=440770&r2=440771
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java Wed Sep  6 09:28:21 2006
@@ -278,7 +278,15 @@
     
     public static final QName REQUIRE_EXTERNAL_URI_REFERNCE = new QName(Constants.SP_NS, "RequireExternalUriReference");
     
+    public static final QName REQUIRE_EXTERNAL_REFERNCE = new QName(Constants.SP_NS, "RequireExternalReference");
+    
+    public static final QName REQUIRE_INTERNAL_REFERNCE = new QName(Constants.SP_NS, "RequireInternalReference");
+    
+    public static final QName REQUEST_SECURITY_TOKEN_TEMPLATE = new QName(Constants.SP_NS, "RequestSecurityTokenTemplate");
+    
     public static final QName SC10_SECURITY_CONTEXT_TOKEN = new QName(Constants.SP_NS, "SC10SecurityContextToken");
     
     public static final QName BOOTSTRAP_POLICY = new QName(Constants.SP_NS, "BootstrapPolicy");
+    
+    public static final QName RST_TEMPLATE = new QName(Constants.SP_NS, "RequestSecurityTokenTemplate");
 }

Added: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/IssuedTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/IssuedTokenBuilder.java?view=auto&rev=440771
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/IssuedTokenBuilder.java (added)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/IssuedTokenBuilder.java Wed Sep  6 09:28:21 2006
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ws.secpolicy.builders;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.Constants;
+import org.apache.ws.secpolicy.model.IssuedToken;
+
+import javax.xml.namespace.QName;
+
+import java.util.Iterator;
+import java.util.List;
+
+public class IssuedTokenBuilder implements AssertionBuilder {
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        IssuedToken issuedToken = new IssuedToken();
+        
+        //Extract Issuer
+        OMElement issuerElem = element.getFirstChildWithName(Constants.ISSUER);
+        if(issuerElem != null && issuerElem.getFirstElement() != null) {
+            issuedToken.setIssuerEpr(issuerElem.getFirstElement());
+        }
+        
+        //Extract RSTTemplate
+        OMElement rstTmplElem = element.getFirstChildWithName(Constants.ISSUER);
+        if(rstTmplElem != null) {
+            issuedToken.setIssuerEpr(rstTmplElem);
+        }
+        
+        Policy policy = PolicyEngine.getPolicy(element);
+        policy = (Policy) policy.normalize(false);
+        
+        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative((List) iterator.next(), issuedToken);
+            break; // since there should be only one alternative ..
+        }
+        
+        return issuedToken;
+    }
+        
+    public QName[] getKnownElements() {
+        return new QName[] {Constants.ISSUED_TOKEN};
+    }
+
+    private void processAlternative(List assertions, IssuedToken parent) {
+        Assertion assertion;
+        QName name;
+
+        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = (Assertion) iterator.next();
+            name = (QName) assertion.getName();
+            
+            if (Constants.REQUIRE_DERIVED_KEYS.equals(name)) {
+                parent.setDerivedKeys(true);
+            } else if(Constants.REQUIRE_EXTERNAL_REFERNCE.equals(name)) {
+                parent.setRequireExternalReference(true);
+            } else if(Constants.REQUIRE_INTERNAL_REFERNCE.equals(name)) {
+                parent.setRequireInternalReference(true);
+            }
+        }
+        
+    }
+}

Modified: webservices/axis2/trunk/java/modules/secpolicy/test/org/apache/ws/secpolicy/model/SecpolicyModelTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/test/org/apache/ws/secpolicy/model/SecpolicyModelTest.java?view=diff&rev=440771&r1=440770&r2=440771
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/test/org/apache/ws/secpolicy/model/SecpolicyModelTest.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/test/org/apache/ws/secpolicy/model/SecpolicyModelTest.java Wed Sep  6 09:28:21 2006
@@ -40,7 +40,6 @@
             
             for (Iterator iter = assertions.iterator(); iter.hasNext();) {
                 Assertion assertion = (Assertion) iter.next();
-                System.out.println(assertion.getClass());
                 if(assertion instanceof SymmetricBinding) {
                     symmBindingFound = true;
                     SymmetricBinding binding = (SymmetricBinding)assertion;



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org