[jboss-cvs] JBossAS SVN: r83580 - projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 28 17:33:54 EST 2009


Author: anil.saldhana at jboss.com
Date: 2009-01-28 17:33:54 -0500 (Wed, 28 Jan 2009)
New Revision: 83580

Modified:
   projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossResponseContext.java
Log:
SECURITY-351: missing values in getResult of JBossResponseContext

Modified: projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossResponseContext.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossResponseContext.java	2009-01-28 21:20:07 UTC (rev 83579)
+++ projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossResponseContext.java	2009-01-28 22:33:54 UTC (rev 83580)
@@ -25,11 +25,13 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 
+import org.jboss.security.xacml.core.model.context.DecisionType;
 import org.jboss.security.xacml.core.model.context.ObjectFactory;
 import org.jboss.security.xacml.core.model.context.ResultType;
 import org.jboss.security.xacml.core.model.context.StatusCodeType;
@@ -115,12 +117,37 @@
          Result result = (Result) response.getResults().iterator().next(); 
          resultType.setResourceId(result.getResource());
          
+         //Decision
+         int decision = result.getDecision();
+         switch(decision)
+         {
+            case 0:
+               resultType.setDecision(DecisionType.PERMIT);
+               break;
+            case 1:
+               resultType.setDecision(DecisionType.DENY);
+               break;
+            case 2:
+               resultType.setDecision(DecisionType.INDETERMINATE);
+               break;
+            case 3:
+               resultType.setDecision(DecisionType.NOT_APPLICABLE);
+               break;
+            default:
+               throw new IllegalStateException("Unknown code");
+         }
          //Status
          Status status = result.getStatus();
          StatusType statusType = objectFactory.createStatusType();
          StatusCodeType statusCodeType = objectFactory.createStatusCodeType();
-         statusCodeType.setValue(status.getMessage()); 
+         List statusList = status.getCode();
+         if(statusList != null && statusList.size() > 0)
+         {
+            statusCodeType.setValue((String) statusList.get(0));
+         }
+         statusType.setStatusMessage(status.getMessage()); 
          statusType.setStatusCode(statusCodeType);
+         resultType.setStatus(statusType);
          
          //Obligations
          Set<Obligation> obligationsSet = result.getObligations();




More information about the jboss-cvs-commits mailing list