[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