[jboss-cvs] JBossAS SVN: r72075 - in projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml: impl and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Apr 12 00:40:47 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-04-12 00:40:46 -0400 (Sat, 12 Apr 2008)
New Revision: 72075
Modified:
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/JBossXACMLSAMLConfiguration.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/OpenSAMLUtil.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImpl.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImplBuilder.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLResponse.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SAMLXACMLServlet.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SOAPSAMLXACMLServlet.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/types/XACMLAuthzDecisionStatementType.java
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/util/DOMUtil.java
Log:
SECURITY-187: javadoc
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/JBossXACMLSAMLConfiguration.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/JBossXACMLSAMLConfiguration.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/JBossXACMLSAMLConfiguration.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -41,6 +41,10 @@
*/
public class JBossXACMLSAMLConfiguration
{
+ /**
+ * Initializes the JBoss XACML-SAML Integration layer
+ * @throws Exception
+ */
public static void initialize() throws Exception
{
org.opensaml.DefaultBootstrap.bootstrap();
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/OpenSAMLUtil.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/OpenSAMLUtil.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/core/OpenSAMLUtil.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -43,12 +43,22 @@
return Configuration.getBuilderFactory().getBuilder(qname);
}
+ /**
+ * Build an xml object
+ * @param qname
+ * @return
+ */
public static XMLObject buildXMLObject(QName qname)
{
XMLObjectBuilder<?> ob = getBuilder(qname);
return ob.buildObject(qname.getNamespaceURI(), qname.getLocalPart(), qname.getPrefix());
}
+ /**
+ * Get the marshaller
+ * @param xmlObject
+ * @return
+ */
public static Marshaller getMarshaller(XMLObject xmlObject)
{
MarshallerFactory marshallerFactory = Configuration.getMarshallerFactory();
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImpl.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImpl.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImpl.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -38,40 +38,55 @@
{
private RequestContext requestType;
private XSBooleanValue combinePolicies;
-
+
/*
* Constructor.
* @param nsURI the namespace the element is in
* @param localname the local name of the XML element
* @param prefix the prefix for the given namespace
*/
- protected XACMLAuthzDecisionQueryTypeImpl(String nsURI, String localname,
- String prefix)
- {
+ protected XACMLAuthzDecisionQueryTypeImpl(String nsURI, String localname,
+ String prefix)
+ {
super(nsURI, localname, prefix);
setElementNamespacePrefix(prefix);
- }
+ }
+ /**
+ * Value of combine policies?
+ */
public XSBooleanValue getCombinePolicies()
{
return combinePolicies;
}
+ /**
+ * Get the JBossXACML request context
+ */
public RequestContext getRequest()
{
return requestType;
}
+ /**
+ * Boolean value to represent combining policies
+ */
public boolean isCombinePolicies()
{
return combinePolicies != null ? combinePolicies.getValue() : null;
}
+ /**
+ * Set combining policies
+ */
public void setCombinePolicies(XSBooleanValue combinePolicies)
{
this.combinePolicies = combinePolicies;
}
+ /**
+ * Set the JBossXACML Request
+ */
public void setRequest(RequestContext request)
{
this.requestType = request;
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImplBuilder.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImplBuilder.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/impl/XACMLAuthzDecisionQueryTypeImplBuilder.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -18,9 +18,7 @@
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
+ */
package org.jboss.security.xacml.saml.integration.opensaml.impl;
import org.jboss.security.xacml.saml.integration.opensaml.types.XACMLAuthzDecisionQueryType;
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -43,12 +43,24 @@
*/
public class JBossSAMLRequest
{
+ /**
+ * Given a saml request file, parse the saml object
+ * @param requestFile
+ * @return
+ * @throws Exception
+ */
public SAMLObject getSAMLRequest(String requestFile) throws Exception
{
Document document = DOMUtil.parse(new File(requestFile), true);
return getSAMLObject(document);
}
+ /**
+ * Parse the saml object from the input stream
+ * @param requestStream
+ * @return
+ * @throws Exception
+ */
public SAMLObject getSAMLRequest(InputStream requestStream)
throws Exception
{
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLResponse.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLResponse.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLResponse.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -45,12 +45,25 @@
*/
public class JBossSAMLResponse
{
+ /**
+ * Given a response file, parse the SAML Object
+ * representing the response
+ * @param responseFile
+ * @return
+ * @throws Exception
+ */
public SAMLObject getSAMLResponse(String responseFile) throws Exception
{
Document document = DOMUtil.parse(new File(responseFile), true);
return getSAMLObject(document);
}
+ /**
+ * Get the SAML Object
+ * @param responseFile
+ * @return
+ * @throws Exception
+ */
public SAMLObject getSAMLResponse(InputStream responseFile)
throws Exception
{
@@ -58,6 +71,14 @@
return getSAMLObject(document);
}
+ /**
+ * Get a response object with the issue instant, response ID
+ * and Issuer ID
+ * @param issueInstant if null, get the current time
+ * @param responseId
+ * @param issuerId
+ * @return
+ */
public Response getSAMLResponse(DateTime issueInstant,
String responseId, String issuerId)
{
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SAMLXACMLServlet.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SAMLXACMLServlet.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SAMLXACMLServlet.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -42,17 +42,16 @@
import org.jboss.security.xacml.saml.integration.opensaml.core.JBossXACMLSAMLConfiguration;
import org.jboss.security.xacml.saml.integration.opensaml.core.OpenSAMLUtil;
import org.jboss.security.xacml.saml.integration.opensaml.request.JBossSAMLRequest;
+import org.jboss.security.xacml.saml.integration.opensaml.request.JBossSAMLResponse;
import org.jboss.security.xacml.saml.integration.opensaml.types.XACMLAuthzDecisionQueryType;
import org.jboss.security.xacml.saml.integration.opensaml.types.XACMLAuthzDecisionStatementType;
+import org.jboss.security.xacml.saml.integration.opensaml.util.SAML2Util;
import org.joda.time.DateTime;
-import org.joda.time.chrono.ISOChronology;
import org.opensaml.Configuration;
import org.opensaml.common.SAMLObject;
import org.opensaml.saml2.core.Assertion;
import org.opensaml.saml2.core.Issuer;
import org.opensaml.saml2.core.Response;
-import org.opensaml.saml2.core.Status;
-import org.opensaml.saml2.core.StatusCode;
import org.opensaml.saml2.core.impl.AssertionImpl;
import org.opensaml.xml.XMLObject;
import org.opensaml.xml.io.Marshaller;
@@ -126,6 +125,7 @@
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
+ SAML2Util util = new SAML2Util();
JBossSAMLRequest samlRequest = new JBossSAMLRequest();
try
{
@@ -140,10 +140,11 @@
throw new IllegalStateException("XACML Request Context is null");
ResponseContext responseContext = getPDP().evaluate(requestContext);
- DateTime issueInstant = getIssueInstant();
+ DateTime issueInstant = util.getIssueInstant();
//We need to create a response to send back
- Response samlResponse = getSAMLResponse(issueInstant, responseId, issuerId);
+ Response samlResponse = (new JBossSAMLResponse()).getSAMLResponse(issueInstant,
+ responseId, issuerId);
//Create samlp:Assertion
Assertion assertion = (Assertion) OpenSAMLUtil.buildXMLObject(Assertion.DEFAULT_ELEMENT_NAME);
assertion.setID(responseId);
@@ -184,30 +185,8 @@
{
throw new ServletException(e);
}
- }
+ }
- private Response getSAMLResponse(DateTime issueInstant, String responseId,
- String issuerId)
- {
- Response samlResponse = (Response) OpenSAMLUtil.buildXMLObject(Response.DEFAULT_ELEMENT_NAME);
- samlResponse.setID(responseId);
- samlResponse.setIssueInstant(issueInstant);
-
- //Set samlp:Status
- Status status = (Status) OpenSAMLUtil.buildXMLObject(Status.DEFAULT_ELEMENT_NAME);
- StatusCode statusCode = (StatusCode) OpenSAMLUtil.buildXMLObject(StatusCode.DEFAULT_ELEMENT_NAME);
- statusCode.setValue(StatusCode.SUCCESS_URI);
- status.setStatusCode(statusCode);
- samlResponse.setStatus(status);
-
- return samlResponse;
- }
-
- public static DateTime getIssueInstant()
- {
- return new DateTime(ISOChronology.getInstanceUTC());
- }
-
private Element logXMLObject(XMLObject xmlObject)
{
MarshallerFactory marshallerFactory = Configuration.getMarshallerFactory();
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SOAPSAMLXACMLServlet.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SOAPSAMLXACMLServlet.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/servlets/SOAPSAMLXACMLServlet.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -45,8 +45,8 @@
import org.jboss.security.xacml.saml.integration.opensaml.request.JBossSAMLResponse;
import org.jboss.security.xacml.saml.integration.opensaml.types.XACMLAuthzDecisionQueryType;
import org.jboss.security.xacml.saml.integration.opensaml.types.XACMLAuthzDecisionStatementType;
+import org.jboss.security.xacml.saml.integration.opensaml.util.SAML2Util;
import org.joda.time.DateTime;
-import org.joda.time.chrono.ISOChronology;
import org.opensaml.common.SAMLObject;
import org.opensaml.saml2.core.Assertion;
import org.opensaml.saml2.core.Issuer;
@@ -129,6 +129,7 @@
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
+ SAML2Util util = new SAML2Util();
Envelope envelope = null;
JBossSAMLRequest samlRequest = new JBossSAMLRequest();
try
@@ -144,7 +145,7 @@
throw new IllegalStateException("XACML Request Context is null");
ResponseContext responseContext = getPDP().evaluate(requestContext);
- DateTime issueInstant = getIssueInstant();
+ DateTime issueInstant = util.getIssueInstant();
//We need to create a response to send back
Response samlResponse = (new JBossSAMLResponse()).getSAMLResponse(issueInstant,
@@ -217,11 +218,6 @@
}
}
- public static DateTime getIssueInstant()
- {
- return new DateTime(ISOChronology.getInstanceUTC());
- }
-
private Element logXMLObject(XMLObject xmlObject)
{
Marshaller marshaller = OpenSAMLUtil.getMarshaller(xmlObject);
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/types/XACMLAuthzDecisionStatementType.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/types/XACMLAuthzDecisionStatementType.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/types/XACMLAuthzDecisionStatementType.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -61,14 +61,39 @@
QName TYPE_NAME_XACML20 = new QName(SAMLXACMLConstants.SAML2_XACML20P_NS, TYPE_LOCAL_NAME,
SAMLXACMLConstants.SAML2_XACMLPROTOCOL_PREFIX);
+ /**
+ * Get the JBossXACML request context
+ * @return
+ */
RequestContext getRequest();
+ /**
+ * Get the JBossXACML response context
+ * @return
+ */
ResponseContext getResponse();
+ /**
+ * Set the JBossXACML request context
+ * @param request
+ */
void setRequest(RequestContext request);
+ /**
+ * Set the JBossXACML response context
+ * @param response
+ */
void setResponse(ResponseContext response);
-
+
+ /**
+ * Set the owner document if available
+ * @param doc
+ */
void setOwnerDocument(Document doc);
+
+ /**
+ * Get the owner document if available
+ * @return
+ */
Document getOwnerDocument();
}
\ No newline at end of file
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/util/DOMUtil.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/util/DOMUtil.java 2008-04-12 04:27:18 UTC (rev 72074)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/util/DOMUtil.java 2008-04-12 04:40:46 UTC (rev 72075)
@@ -36,6 +36,13 @@
*/
public class DOMUtil
{
+ /**
+ * Parse an XML file
+ * @param xmlFile
+ * @param validating should we validate?
+ * @return
+ * @throws Exception
+ */
public static Document parse(File xmlFile, boolean validating) throws Exception
{
FileInputStream fis = null;
@@ -56,6 +63,13 @@
}
}
+ /**
+ * Parse an xml file
+ * @param is
+ * @param validating validate?
+ * @return
+ * @throws Exception
+ */
public static Document parse(InputStream is, boolean validating)
throws Exception
{
More information about the jboss-cvs-commits
mailing list