JBoss Identity SVN: r239 - in identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat: sp and 1 other directory.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-22 11:44:35 -0500 (Thu, 22 Jan 2009)
New Revision: 239
Removed:
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectValve.java
Modified:
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectFormAuthenticator.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java
Log:
logger fix
Modified: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-01-22 16:36:05 UTC (rev 238)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-01-22 16:44:35 UTC (rev 239)
@@ -58,7 +58,7 @@
*/
public class IDPRedirectValve extends ValveBase
{
- private static Logger log = Logger.getLogger(IDPRedirectValve.class);
+ protected static Logger log = null;
private RoleGenerator rg = new TomcatRoleGenerator();
@@ -75,6 +75,12 @@
{
this.identityURL = url;
}
+
+ public IDPRedirectValve()
+ {
+ super();
+ log = Logger.getLogger(IDPRedirectValve.class);
+ }
@Override
public void invoke(Request request, Response response) throws IOException, ServletException
Modified: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java 2009-01-22 16:36:05 UTC (rev 238)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java 2009-01-22 16:44:35 UTC (rev 239)
@@ -30,6 +30,7 @@
import java.security.PublicKey;
import org.apache.catalina.connector.Request;
+import org.apache.log4j.Logger;
import org.jboss.identity.federation.bindings.util.RedirectBindingSignatureUtil;
import org.jboss.identity.federation.bindings.util.cert.KeyStoreUtil;
import org.jboss.identity.federation.core.saml.v2.util.SignatureUtil;
@@ -49,6 +50,20 @@
private String keyStorePass;
private KeyStore ks = null;
+
+ private boolean ignoreSignature = false;
+
+ public IDPRedirectWithSignatureValve()
+ {
+ super();
+ log = Logger.getLogger(IDPRedirectWithSignatureValve.class);
+ }
+
+ public void setIgnoreSignature(String val)
+ {
+ if(val != null && val.length() > 0)
+ this.ignoreSignature = Boolean.valueOf(val);
+ }
public void setKeyStore(String keyStore)
{
@@ -76,6 +91,12 @@
if( result == false)
return result;
+ if(this.ignoreSignature)
+ {
+ log.trace("Since signature is to be ignored, validation returns");
+ return true;
+ }
+
String queryString = request.getQueryString();
//Check if there is a signature
byte[] sigValue = RedirectBindingSignatureUtil.getSignatureValueFromSignedURL(queryString);
Modified: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectFormAuthenticator.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectFormAuthenticator.java 2009-01-22 16:36:05 UTC (rev 238)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectFormAuthenticator.java 2009-01-22 16:44:35 UTC (rev 239)
@@ -58,7 +58,7 @@
*/
public class SPRedirectFormAuthenticator extends FormAuthenticator
{
- private static Logger log = Logger.getLogger(SPRedirectFormAuthenticator.class);
+ protected static Logger log = null;
private String serviceURL = null;
private String identityURL = null;
@@ -66,6 +66,12 @@
//Only important if you are deploying in JBoss environment
private JBossSubjectRegistration jbossRegistration = new DefaultJBossSubjectRegistration();
+ public SPRedirectFormAuthenticator()
+ {
+ super();
+ log = Logger.getLogger(SPRedirectFormAuthenticator.class);
+ }
+
public void setIdentityURL(String url)
{
this.identityURL = url;
Modified: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java 2009-01-22 16:36:05 UTC (rev 238)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java 2009-01-22 16:44:35 UTC (rev 239)
@@ -30,6 +30,7 @@
import java.security.PublicKey;
import org.apache.catalina.connector.Request;
+import org.apache.log4j.Logger;
import org.jboss.identity.federation.bindings.util.RedirectBindingSignatureUtil;
import org.jboss.identity.federation.bindings.util.cert.KeyStoreUtil;
import org.jboss.identity.federation.core.saml.v2.util.SignatureUtil;
@@ -47,6 +48,12 @@
private String alias;
private String keyStorePass;
+ public SPRedirectSignatureFormAuthenticator()
+ {
+ super();
+ log = Logger.getLogger(SPRedirectSignatureFormAuthenticator.class);
+ }
+
public void setKeyStore(String keyStore)
{
this.keyStore = keyStore;
Deleted: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectValve.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectValve.java 2009-01-22 16:36:05 UTC (rev 238)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectValve.java 2009-01-22 16:44:35 UTC (rev 239)
@@ -1,146 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * 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.identity.federation.bindings.tomcat.sp;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.Principal;
-
-import javax.servlet.ServletException;
-
-import org.apache.catalina.Session;
-import org.apache.catalina.authenticator.Constants;
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-import org.apache.catalina.valves.ValveBase;
-import org.apache.log4j.Logger;
-import org.jboss.identity.federation.api.saml.v2.common.IDGenerator;
-import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
-import org.jboss.identity.federation.api.saml.v2.response.SAML2Response;
-import org.jboss.identity.federation.bindings.util.HTTPRedirectUtil;
-import org.jboss.identity.federation.bindings.util.RedirectBindingUtil;
-import org.jboss.identity.federation.saml.v2.protocol.AuthnRequestType;
-import org.jboss.identity.federation.saml.v2.protocol.ResponseType;
-
-/**
- * Valve at the Service Provider for the HTTP/Redirect binding
- * @author Anil.Saldhana(a)redhat.com
- * @since Dec 11, 2008
- */
-public class SPRedirectValve extends ValveBase
-{
- private static Logger log = Logger.getLogger(SPRedirectValve.class);
-
- private String serviceURL = null;
- private String identityURL = null;
-
- public void setIdentityURL(String url)
- {
- this.identityURL = url;
- }
-
- public void setServiceURL(String url)
- {
- this.serviceURL = url;
- }
-
- @Override
- public void invoke(Request request, Response response) throws IOException, ServletException
- {
- try
- {
- //Lets check if the user has been authenticated
- Principal userPrincipal = request.getUserPrincipal();
- if(userPrincipal == null)
- {
- String samlResponse = request.getParameter("SAMLResponse");
- if(samlResponse != null && samlResponse.length() > 0 )
- {
- //deal with saml response from IDP
- InputStream is = RedirectBindingUtil.urlBase64DeflateDecode(samlResponse);
-
- SAML2Response saml2Response = new SAML2Response();
-
- ResponseType responseType = saml2Response.getResponseType(is);
-
-
- SPUtil spUtil = new SPUtil();
- Principal idpPrincipal = spUtil.handleSAMLResponse(request, responseType);
-
- Session session = request.getSessionInternal(true);
- session.setNote(Constants.REQ_SSOID_NOTE, IDGenerator.create());
- request.setUserPrincipal(idpPrincipal);
- session.setPrincipal(idpPrincipal);
- }
- else
- {
- //create a saml request
- if(this.serviceURL == null)
- throw new ServletException("serviceURL is not configured");
-
- SPUtil spUtil = new SPUtil();
- SAML2Request saml2Request = new SAML2Request();
-
- AuthnRequestType authnRequest = spUtil.createSAMLRequest(serviceURL, identityURL);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- saml2Request.marshall(authnRequest, baos);
-
- String base64Request = RedirectBindingUtil.deflateBase64URLEncode(baos.toByteArray());
- String destination = authnRequest.getDestination() +
- getDestinationURL(base64Request, null);
- log.trace("Sending to destination="+destination);
- log.trace(" ");
-
- HTTPRedirectUtil.sendRedirectForRequestor(destination, response);
- return;
- }
- }
- }
- catch(SecurityException e)
- {
- log.error("Security Exception:",e);
- response.sendError(Response.SC_FORBIDDEN);
- }
- catch(Exception e)
- {
- //TODO: send error via saml response status
- log.error("Exception:",e);
- response.sendError(Response.SC_INTERNAL_SERVER_ERROR, "Server Error");
- }
-
- //the user is already authenticated
- response.recycle();
- getNext().invoke(request, response);
- }
-
-
- protected String getDestinationURL(String urlEncodedRequest, String urlEncodedRelayState)
- {
- StringBuilder sb = new StringBuilder();
- sb.append("SAMLRequest=").append(urlEncodedRequest);
- if(urlEncodedRelayState != null && urlEncodedRelayState.length() > 0)
- sb.append("&RelayState=").append(urlEncodedRelayState);
- return sb.toString();
- }
-}
\ No newline at end of file
15 years, 3 months
JBoss Identity SVN: r238 - identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-22 11:36:05 -0500 (Thu, 22 Jan 2009)
New Revision: 238
Modified:
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
Log:
use of role generator
Modified: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-01-22 06:21:54 UTC (rev 237)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-01-22 16:36:05 UTC (rev 238)
@@ -26,24 +26,20 @@
import java.io.InputStream;
import java.io.StringWriter;
import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
-import org.apache.catalina.Role;
-import org.apache.catalina.User;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
-import org.apache.catalina.realm.GenericPrincipal;
import org.apache.catalina.valves.ValveBase;
import org.apache.log4j.Logger;
import org.jboss.identity.federation.api.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
import org.jboss.identity.federation.api.saml.v2.response.SAML2Response;
+import org.jboss.identity.federation.bindings.interfaces.RoleGenerator;
+import org.jboss.identity.federation.bindings.tomcat.TomcatRoleGenerator;
import org.jboss.identity.federation.bindings.util.HTTPRedirectUtil;
import org.jboss.identity.federation.bindings.util.RedirectBindingUtil;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
@@ -63,6 +59,8 @@
public class IDPRedirectValve extends ValveBase
{
private static Logger log = Logger.getLogger(IDPRedirectValve.class);
+
+ private RoleGenerator rg = new TomcatRoleGenerator();
private long assertionValidity = 5000; // 5minutes in seconds
@@ -196,7 +194,7 @@
sp.setResponseDestinationURI(authnRequestType.getAssertionConsumerServiceURL());
responseType = saml2Response.createResponseType(id, sp, idp, issuerHolder);
//Add information on the roles
- List<String> roles = getRoles(userPrincipal);
+ List<String> roles = rg.generateRoles(userPrincipal);
AssertionType assertion = (AssertionType) responseType.getAssertionOrEncryptedAssertion().get(0);
AttributeStatementType attrStatement = saml2Response.createAttributeStatements(roles);
@@ -216,32 +214,7 @@
return responseType;
}
-
- private List<String> getRoles(Principal tomcatPrincipal)
- {
- List<String> userRoles = new ArrayList<String>();
-
- if(tomcatPrincipal instanceof GenericPrincipal)
- {
- GenericPrincipal gp = (GenericPrincipal) tomcatPrincipal;
- String[] roles = gp.getRoles();
- if(roles.length > 0)
- userRoles.addAll(Arrays.asList(roles));
- }
- else
- if(tomcatPrincipal instanceof User)
- {
- User tomcatUser = (User) tomcatPrincipal;
- Iterator<?> iter = tomcatUser.getRoles();
- while(iter.hasNext())
- {
- Role tomcatRole = (Role) iter.next();
- userRoles.add(tomcatRole.getRolename());
- }
- }
- return userRoles;
- }
-
+
private String getSAMLMessage(Request request)
{
return request.getParameter("SAMLRequest");
15 years, 3 months
JBoss Identity SVN: r237 - in identity-federation/trunk/identity-bindings/src: main/java/org/jboss/identity/federation/bindings/config and 9 other directories.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-22 01:21:54 -0500 (Thu, 22 Jan 2009)
New Revision: 237
Added:
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/AuthProperty.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/IDP.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyProvider.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyValue.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/ObjectFactory.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Provider.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/SP.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Trust.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/package-info.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/interfaces/
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/interfaces/RoleGenerator.java
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/TomcatRoleGenerator.java
identity-federation/trunk/identity-bindings/src/main/resources/schema/
identity-federation/trunk/identity-bindings/src/main/resources/schema/config/
identity-federation/trunk/identity-bindings/src/main/resources/schema/config/jboss-identity-fed.xsd
identity-federation/trunk/identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/config/
identity-federation/trunk/identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/config/ConfigUnitTestCase.java
identity-federation/trunk/identity-bindings/src/test/resources/config/
identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-1.xml
identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-2.xml
Log:
config and interfaces
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/AuthProperty.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/AuthProperty.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/AuthProperty.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,39 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AuthProperty complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="AuthProperty">
+ * <complexContent>
+ * <extension base="{urn:jboss:identity-federation:config:1.0}KeyValue">
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AuthProperty")
+public class AuthProperty
+ extends KeyValue
+{
+
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/IDP.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/IDP.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/IDP.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,107 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * IDP Type defines the configuration for an Identity
+ * Provider.
+ *
+ *
+ * <p>Java class for IDP complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="IDP">
+ * <complexContent>
+ * <extension base="{urn:jboss:identity-federation:config:1.0}Provider">
+ * <attribute name="AssertionValidity" type="{http://www.w3.org/2001/XMLSchema}long" default="5000" />
+ * <attribute name="RoleGenerator" type="{http://www.w3.org/2001/XMLSchema}string" default="org.jboss.identity.federation.bindings.tomcat.TomcatRoleGenerator" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IDP")
+public class IDP
+ extends Provider
+{
+
+ @XmlAttribute(name = "AssertionValidity")
+ protected Long assertionValidity;
+ @XmlAttribute(name = "RoleGenerator")
+ protected String roleGenerator;
+
+ /**
+ * Gets the value of the assertionValidity property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public long getAssertionValidity() {
+ if (assertionValidity == null) {
+ return 5000L;
+ } else {
+ return assertionValidity;
+ }
+ }
+
+ /**
+ * Sets the value of the assertionValidity property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setAssertionValidity(Long value) {
+ this.assertionValidity = value;
+ }
+
+ /**
+ * Gets the value of the roleGenerator property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRoleGenerator() {
+ if (roleGenerator == null) {
+ return "org.jboss.identity.federation.bindings.tomcat.TomcatRoleGenerator";
+ } else {
+ return roleGenerator;
+ }
+ }
+
+ /**
+ * Sets the value of the roleGenerator property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRoleGenerator(String value) {
+ this.roleGenerator = value;
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyProvider.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyProvider.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyProvider.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,169 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * Source of the Signing and Validating Key
+ *
+ *
+ * <p>Java class for KeyProvider complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="KeyProvider">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Auth" type="{urn:jboss:identity-federation:config:1.0}AuthProperty" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="ValidatingAlias" type="{urn:jboss:identity-federation:config:1.0}KeyValue" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="SigningAlias" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="ClassName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyProvider", propOrder = {
+ "auth",
+ "validatingAlias",
+ "signingAlias"
+})
+public class KeyProvider {
+
+ @XmlElement(name = "Auth")
+ protected List<AuthProperty> auth;
+ @XmlElement(name = "ValidatingAlias")
+ protected List<KeyValue> validatingAlias;
+ @XmlElement(name = "SigningAlias")
+ protected String signingAlias;
+ @XmlAttribute(name = "ClassName")
+ protected String className;
+
+ /**
+ * Gets the value of the auth property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the auth property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAuth().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link AuthProperty }
+ *
+ *
+ */
+ public List<AuthProperty> getAuth() {
+ if (auth == null) {
+ auth = new ArrayList<AuthProperty>();
+ }
+ return this.auth;
+ }
+
+ /**
+ * Gets the value of the validatingAlias property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the validatingAlias property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getValidatingAlias().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link KeyValue }
+ *
+ *
+ */
+ public List<KeyValue> getValidatingAlias() {
+ if (validatingAlias == null) {
+ validatingAlias = new ArrayList<KeyValue>();
+ }
+ return this.validatingAlias;
+ }
+
+ /**
+ * Gets the value of the signingAlias property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSigningAlias() {
+ return signingAlias;
+ }
+
+ /**
+ * Sets the value of the signingAlias property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSigningAlias(String value) {
+ this.signingAlias = value;
+ }
+
+ /**
+ * Gets the value of the className property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * Sets the value of the className property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setClassName(String value) {
+ this.className = value;
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyValue.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyValue.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/KeyValue.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,96 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for KeyValue complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="KeyValue">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="Key" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="Value" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyValue")
+@XmlSeeAlso({
+ AuthProperty.class
+})
+public class KeyValue {
+
+ @XmlAttribute(name = "Key")
+ protected String key;
+ @XmlAttribute(name = "Value")
+ protected String value;
+
+ /**
+ * Gets the value of the key property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKey() {
+ return key;
+ }
+
+ /**
+ * Sets the value of the key property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKey(String value) {
+ this.key = value;
+ }
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/ObjectFactory.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/ObjectFactory.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/ObjectFactory.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,108 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.jboss.identity.federation.bindings.config package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _JBossIDP_QNAME = new QName("urn:jboss:identity-federation:config:1.0", "JBossIDP");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jboss.identity.federation.bindings.config
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link SP }
+ *
+ */
+ public SP createSP() {
+ return new SP();
+ }
+
+ /**
+ * Create an instance of {@link KeyProvider }
+ *
+ */
+ public KeyProvider createKeyProvider() {
+ return new KeyProvider();
+ }
+
+ /**
+ * Create an instance of {@link AuthProperty }
+ *
+ */
+ public AuthProperty createAuthProperty() {
+ return new AuthProperty();
+ }
+
+ /**
+ * Create an instance of {@link Trust }
+ *
+ */
+ public Trust createTrust() {
+ return new Trust();
+ }
+
+ /**
+ * Create an instance of {@link Provider }
+ *
+ */
+ public Provider createProvider() {
+ return new Provider();
+ }
+
+ /**
+ * Create an instance of {@link KeyValue }
+ *
+ */
+ public KeyValue createKeyValue() {
+ return new KeyValue();
+ }
+
+ /**
+ * Create an instance of {@link IDP }
+ *
+ */
+ public IDP createIDP() {
+ return new IDP();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IDP }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:jboss:identity-federation:config:1.0", name = "JBossIDP")
+ public JAXBElement<IDP> createJBossIDP(IDP value) {
+ return new JAXBElement<IDP>(_JBossIDP_QNAME, IDP.class, null, value);
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Provider.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Provider.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Provider.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,132 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Base Type for IDP and SP
+ *
+ * <p>Java class for Provider complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="Provider">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentityURL" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Trust" type="{urn:jboss:identity-federation:config:1.0}Trust"/>
+ * <element name="KeyProvider" type="{urn:jboss:identity-federation:config:1.0}KeyProvider" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Provider", propOrder = {
+ "identityURL",
+ "trust",
+ "keyProvider"
+})
+@XmlSeeAlso({
+ IDP.class,
+ SP.class
+})
+public class Provider {
+
+ @XmlElement(name = "IdentityURL", required = true)
+ protected String identityURL;
+ @XmlElement(name = "Trust", required = true)
+ protected Trust trust;
+ @XmlElement(name = "KeyProvider")
+ protected KeyProvider keyProvider;
+
+ /**
+ * Gets the value of the identityURL property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentityURL() {
+ return identityURL;
+ }
+
+ /**
+ * Sets the value of the identityURL property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentityURL(String value) {
+ this.identityURL = value;
+ }
+
+ /**
+ * Gets the value of the trust property.
+ *
+ * @return
+ * possible object is
+ * {@link Trust }
+ *
+ */
+ public Trust getTrust() {
+ return trust;
+ }
+
+ /**
+ * Sets the value of the trust property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Trust }
+ *
+ */
+ public void setTrust(Trust value) {
+ this.trust = value;
+ }
+
+ /**
+ * Gets the value of the keyProvider property.
+ *
+ * @return
+ * possible object is
+ * {@link KeyProvider }
+ *
+ */
+ public KeyProvider getKeyProvider() {
+ return keyProvider;
+ }
+
+ /**
+ * Sets the value of the keyProvider property.
+ *
+ * @param value
+ * allowed object is
+ * {@link KeyProvider }
+ *
+ */
+ public void setKeyProvider(KeyProvider value) {
+ this.keyProvider = value;
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/SP.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/SP.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/SP.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,73 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Service Provider Type
+ *
+ * <p>Java class for SP complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="SP">
+ * <complexContent>
+ * <extension base="{urn:jboss:identity-federation:config:1.0}Provider">
+ * <sequence>
+ * <element name="ServiceURL" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SP", propOrder = {
+ "serviceURL"
+})
+public class SP
+ extends Provider
+{
+
+ @XmlElement(name = "ServiceURL", required = true)
+ protected String serviceURL;
+
+ /**
+ * Gets the value of the serviceURL property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceURL() {
+ return serviceURL;
+ }
+
+ /**
+ * Sets the value of the serviceURL property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceURL(String value) {
+ this.serviceURL = value;
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Trust.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Trust.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/Trust.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+
+package org.jboss.identity.federation.bindings.config;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Aspects involved in trust decisions such as the domains that the IDP or the Service Provider trusts.
+ *
+ * <p>Java class for Trust complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="Trust">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Domains" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Trust", propOrder = {
+ "domains"
+})
+public class Trust {
+
+ @XmlElement(name = "Domains", required = true)
+ protected String domains;
+
+ /**
+ * Gets the value of the domains property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDomains() {
+ return domains;
+ }
+
+ /**
+ * Sets the value of the domains property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDomains(String value) {
+ this.domains = value;
+ }
+
+}
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/package-info.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/package-info.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/config/package-info.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,9 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.22 at 12:05:50 AM CST
+//
+
+(a)javax.xml.bind.annotation.XmlSchema(namespace = "urn:jboss:identity-federation:config:1.0", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.jboss.identity.federation.bindings.config;
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/interfaces/RoleGenerator.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/interfaces/RoleGenerator.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/interfaces/RoleGenerator.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * 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.identity.federation.bindings.interfaces;
+
+import java.security.Principal;
+import java.util.List;
+
+/**
+ * Generate roles given a principal
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jan 21, 2009
+ */
+public interface RoleGenerator
+{
+ /**
+ * Generate roles given a principal
+ * @param principal
+ * @return
+ */
+ List<String> generateRoles(Principal principal);
+}
\ No newline at end of file
Added: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/TomcatRoleGenerator.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/TomcatRoleGenerator.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/TomcatRoleGenerator.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * 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.identity.federation.bindings.tomcat;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.catalina.Role;
+import org.apache.catalina.User;
+import org.apache.catalina.realm.GenericPrincipal;
+import org.jboss.identity.federation.bindings.interfaces.RoleGenerator;
+
+/**
+ * Generate roles from Tomcat Principal
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jan 21, 2009
+ */
+public class TomcatRoleGenerator implements RoleGenerator
+{
+ /**
+ * @see RoleGenerator#generateRoles(Principal)
+ * @throws IllegalArgumentException if principal is not of type GenericPrincipal or User
+ */
+ public List<String> generateRoles(Principal principal)
+ {
+ String className = principal.getClass().getCanonicalName();
+
+ if(principal instanceof GenericPrincipal == false &&
+ principal instanceof User == false)
+ throw new IllegalArgumentException("principal is not tomcat principal:"+ className);
+ List<String> userRoles = new ArrayList<String>();
+
+ if(principal instanceof GenericPrincipal)
+ {
+ GenericPrincipal gp = (GenericPrincipal) principal;
+ String[] roles = gp.getRoles();
+ if(roles.length > 0)
+ userRoles.addAll(Arrays.asList(roles));
+ }
+ else
+ if(principal instanceof User)
+ {
+ User tomcatUser = (User) principal;
+ Iterator<?> iter = tomcatUser.getRoles();
+ while(iter.hasNext())
+ {
+ Role tomcatRole = (Role) iter.next();
+ userRoles.add(tomcatRole.getRolename());
+ }
+ }
+ return userRoles;
+ }
+}
\ No newline at end of file
Added: identity-federation/trunk/identity-bindings/src/main/resources/schema/config/jboss-identity-fed.xsd
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/resources/schema/config/jboss-identity-fed.xsd (rev 0)
+++ identity-federation/trunk/identity-bindings/src/main/resources/schema/config/jboss-identity-fed.xsd 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:jboss:identity-federation:config:1.0"
+ xmlns:tns="urn:jboss:identity-federation:config:1.0"
+ elementFormDefault="qualified" version="1.0">
+ <complexType name="IDP">
+ <annotation>
+ <documentation>
+ IDP Type defines the configuration for an Identity
+ Provider.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="tns:Provider">
+ <attribute name="AssertionValidity" type="long" use="optional" default="5000"></attribute>
+ <attribute name="RoleGenerator" type="string" use="optional" default="org.jboss.identity.federation.bindings.tomcat.TomcatRoleGenerator"></attribute>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="JBossIDP" type="tns:IDP">
+ <annotation>
+ <documentation>The root configuration for an Identity Provider(IDP) using JBoss Identity.</documentation>
+ </annotation>
+ </element>
+
+
+ <complexType name="Trust">
+ <annotation>
+ <documentation>Aspects involved in trust decisions such as the domains that the IDP or the Service Provider trusts.</documentation>
+ </annotation>
+ <sequence>
+ <element name="Domains" type="string">
+ <annotation>
+ <documentation>Comma Separated domain names such as localhost,jboss.com,jboss.org</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+
+ <complexType name="KeyProvider">
+ <annotation>
+ <documentation>
+ Source of the Signing and Validating Key
+ </documentation>
+ </annotation>
+ <sequence>
+ <element name="Auth" type="tns:AuthProperty"
+ maxOccurs="unbounded" minOccurs="0">
+ <annotation>
+ <documentation>
+ Key Value Pairs Needed to authenticate into the
+ provider.
+ </documentation>
+ </annotation>
+ </element>
+ <element name="ValidatingAlias" type="tns:KeyValue"
+ maxOccurs="unbounded" minOccurs="0">
+ <annotation>
+ <documentation>
+ Key Value pairs identifying domains against the
+ alias for validating key
+ </documentation>
+ </annotation>
+ </element>
+ <element name="SigningAlias" type="string" maxOccurs="1"
+ minOccurs="0">
+ <annotation>
+ <documentation>
+ An alias that identifies the signing key
+ </documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attribute name="ClassName" type="string"></attribute>
+ </complexType>
+
+ <complexType name="KeyValue">
+ <attribute name="Key" type="string"></attribute>
+ <attribute name="Value" type="string"></attribute>
+ </complexType>
+
+ <complexType name="Provider">
+ <annotation>
+ <documentation>Base Type for IDP and SP</documentation>
+ </annotation>
+ <sequence>
+ <element name="IdentityURL" type="string" maxOccurs="1"
+ minOccurs="1">
+ </element>
+ <element name="Trust" type="tns:Trust" maxOccurs="1"
+ minOccurs="1">
+ </element>
+ <element name="KeyProvider" type="tns:KeyProvider"
+ maxOccurs="1" minOccurs="0">
+ </element>
+ </sequence>
+ </complexType>
+
+ <complexType name="SP">
+ <annotation>
+ <documentation>Service Provider Type</documentation>
+ </annotation>
+ <complexContent>
+ <extension base="tns:Provider">
+ <sequence>
+ <element name="ServiceURL" type="string"></element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="AuthProperty">
+ <complexContent>
+ <extension base="tns:KeyValue"></extension>
+ </complexContent>
+ </complexType>
+</schema>
\ No newline at end of file
Added: identity-federation/trunk/identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/config/ConfigUnitTestCase.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/config/ConfigUnitTestCase.java (rev 0)
+++ identity-federation/trunk/identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/config/ConfigUnitTestCase.java 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * 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.test.identity.federation.bindings.config;
+
+import java.io.InputStream;
+import java.util.List;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Unmarshaller;
+
+import junit.framework.TestCase;
+
+import org.jboss.identity.federation.bindings.config.AuthProperty;
+import org.jboss.identity.federation.bindings.config.IDP;
+import org.jboss.identity.federation.bindings.config.KeyProvider;
+import org.jboss.identity.federation.bindings.config.KeyValue;
+import org.jboss.identity.federation.bindings.config.Trust;
+import org.jboss.identity.federation.core.saml.v2.factories.JBossSAMLBaseFactory;
+
+/**
+ * Unit Test the various config
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jan 21, 2009
+ */
+public class ConfigUnitTestCase extends TestCase
+{
+ String config = "config/test-config-";
+
+ public void test01() throws Exception
+ {
+ IDP idp = this.getIDP(config + "1.xml");
+ assertEquals("5000",5000L,idp.getAssertionValidity());
+ assertEquals("org.jboss.identity.federation.bindings.tomcat.TomcatRoleGenerator",idp.getRoleGenerator());
+
+ Trust trust = idp.getTrust();
+ assertNotNull("Trust is not null", trust);
+ String domains = trust.getDomains();
+ assertTrue("localhost trusted", domains.indexOf("localhost") > -1);
+ assertTrue("jboss.com trusted", domains.indexOf("jboss.com") > -1);
+ }
+
+ public void test02() throws Exception
+ {
+ IDP idp = this.getIDP(config + "2.xml");
+
+ assertEquals("20000",20000L,idp.getAssertionValidity());
+ assertEquals("somefqn",idp.getRoleGenerator());
+ KeyProvider kp = idp.getKeyProvider();
+ assertNotNull("KeyProvider is not null", kp);
+ assertEquals("SomeClass", "SomeClass", kp.getClassName());
+ List<AuthProperty> authProps = kp.getAuth();
+ AuthProperty authProp = authProps.get(0);
+ assertEquals("SomeKey", "SomeKey", authProp.getKey());
+ assertEquals("SomeValue", "SomeValue", authProp.getValue());
+
+ authProp = authProps.get(1);
+ assertEquals("DBURL", "DBURL", authProp.getKey());
+ assertEquals("SomeDBURL", "SomeDBURL", authProp.getValue());
+
+ List<KeyValue> validatingAliases = kp.getValidatingAlias();
+ assertEquals("Validating Alias length is 2", 2, validatingAliases.size());
+
+ KeyValue kv = validatingAliases.get(0);
+ assertEquals("localhost", kv.getKey());
+ assertEquals("localhostalias", kv.getValue());
+
+ kv = validatingAliases.get(1);
+ assertEquals("jboss.com", kv.getKey());
+ assertEquals("jbossalias", kv.getValue());
+
+ Trust trust = idp.getTrust();
+ assertNotNull("Trust is not null", trust);
+ String domains = trust.getDomains();
+ assertTrue("localhost trusted", domains.indexOf("localhost") > -1);
+ assertTrue("jboss.com trusted", domains.indexOf("jboss.com") > -1);
+ }
+
+ @SuppressWarnings("unchecked")
+ private IDP getIDP(String configFile) throws Exception
+ {
+ String schema = "schema/config/jboss-identity-fed.xsd";
+
+ ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+ InputStream is = tcl.getResourceAsStream(configFile);
+ assertNotNull("Inputstream not null", is);
+
+ Unmarshaller un = JBossSAMLBaseFactory.getValidatingUnmarshaller("org.jboss.identity.federation.bindings.config", schema);
+ JAXBElement<IDP> jaxbIdp = (JAXBElement<IDP>) un.unmarshal(is);
+ assertNotNull("IDP is not null", jaxbIdp);
+ return jaxbIdp.getValue();
+ }
+}
\ No newline at end of file
Added: identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-1.xml
===================================================================
--- identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-1.xml (rev 0)
+++ identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-1.xml 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,6 @@
+<JBossIDP xmlns="urn:jboss:identity-federation:config:1.0">
+<IdentityURL>http://localhost:8080/idp</IdentityURL>
+<Trust>
+ <Domains>localhost,jboss.com,jboss.org</Domains>
+</Trust>
+</JBossIDP>
\ No newline at end of file
Added: identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-2.xml
===================================================================
--- identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-2.xml (rev 0)
+++ identity-federation/trunk/identity-bindings/src/test/resources/config/test-config-2.xml 2009-01-22 06:21:54 UTC (rev 237)
@@ -0,0 +1,14 @@
+<JBossIDP xmlns="urn:jboss:identity-federation:config:1.0"
+ AssertionValidity="20000"
+ RoleGenerator="somefqn">
+<IdentityURL>http://localhost:8080/idp</IdentityURL>
+<Trust>
+ <Domains>localhost,jboss.com,jboss.org</Domains>
+</Trust>
+<KeyProvider ClassName="SomeClass">
+ <Auth Key="SomeKey" Value="SomeValue" />
+ <Auth Key="DBURL" Value="SomeDBURL" />
+ <ValidatingAlias Key="localhost" Value="localhostalias"/>
+ <ValidatingAlias Key="jboss.com" Value="jbossalias"/>
+</KeyProvider>
+</JBossIDP>
\ No newline at end of file
15 years, 3 months
JBoss Identity SVN: r235 - in idm/tags: 1.0.0-Alpha1 and 7 other directories.
by jboss-identity-commits@lists.jboss.org
Author: bdaw
Date: 2009-01-21 15:07:02 -0500 (Wed, 21 Jan 2009)
New Revision: 235
Added:
idm/tags/1.0.0-Alpha1/
Modified:
idm/tags/1.0.0-Alpha1/assembly/pom.xml
idm/tags/1.0.0-Alpha1/example/maven2/pom.xml
idm/tags/1.0.0-Alpha1/idm-api/pom.xml
idm/tags/1.0.0-Alpha1/idm-common/pom.xml
idm/tags/1.0.0-Alpha1/idm-spi/pom.xml
idm/tags/1.0.0-Alpha1/idm/pom.xml
idm/tags/1.0.0-Alpha1/parent/pom.xml
idm/tags/1.0.0-Alpha1/pom.xml
Log:
tag 1.0.0-Alpha1
Copied: idm/tags/1.0.0-Alpha1 (from rev 234, idm/trunk)
Property changes on: idm/tags/1.0.0-Alpha1
___________________________________________________________________
Name: svn:ignore
+ .metadata
Name: svn:mergeinfo
+
Modified: idm/tags/1.0.0-Alpha1/assembly/pom.xml
===================================================================
--- idm/trunk/assembly/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/assembly/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<relativePath>../parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: idm/tags/1.0.0-Alpha1/example/maven2/pom.xml
===================================================================
--- idm/trunk/example/maven2/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/example/maven2/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -1,7 +1,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.identity</groupId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<artifactId>idm-maven2-example</artifactId>
<packaging>jar</packaging>
<name>JBoss Identity IDM Maven2 example project</name>
Modified: idm/tags/1.0.0-Alpha1/idm/pom.xml
===================================================================
--- idm/trunk/idm/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/idm/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<relativePath>../parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: idm/tags/1.0.0-Alpha1/idm-api/pom.xml
===================================================================
--- idm/trunk/idm-api/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/idm-api/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<relativePath>../parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: idm/tags/1.0.0-Alpha1/idm-common/pom.xml
===================================================================
--- idm/trunk/idm-common/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/idm-common/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<relativePath>../parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: idm/tags/1.0.0-Alpha1/idm-spi/pom.xml
===================================================================
--- idm/trunk/idm-spi/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/idm-spi/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<relativePath>../parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: idm/tags/1.0.0-Alpha1/parent/pom.xml
===================================================================
--- idm/trunk/parent/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/parent/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -8,7 +8,7 @@
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
<packaging>pom</packaging>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<name>JBoss Identity IDM- Parent</name>
<url>http://labs.jboss.org/portal/jbosssecurity/</url>
<description>JBoss Identity is a cross-cutting project that handles identity needs for the JEMS projects</description>
Modified: idm/tags/1.0.0-Alpha1/pom.xml
===================================================================
--- idm/trunk/pom.xml 2009-01-21 18:03:30 UTC (rev 234)
+++ idm/tags/1.0.0-Alpha1/pom.xml 2009-01-21 20:07:02 UTC (rev 235)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.identity</groupId>
<artifactId>idm-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-Alpha1</version>
<relativePath>parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
15 years, 3 months
JBoss Identity SVN: r234 - identity-federation/trunk/identity-fed-model/src/test/java/org/jboss/test/identity/federation/ws/trust.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-21 13:03:30 -0500 (Wed, 21 Jan 2009)
New Revision: 234
Modified:
identity-federation/trunk/identity-fed-model/src/test/java/org/jboss/test/identity/federation/ws/trust/UnmarshallingTestCase.java
Log:
unused
Modified: identity-federation/trunk/identity-fed-model/src/test/java/org/jboss/test/identity/federation/ws/trust/UnmarshallingTestCase.java
===================================================================
--- identity-federation/trunk/identity-fed-model/src/test/java/org/jboss/test/identity/federation/ws/trust/UnmarshallingTestCase.java 2009-01-20 16:53:59 UTC (rev 233)
+++ identity-federation/trunk/identity-fed-model/src/test/java/org/jboss/test/identity/federation/ws/trust/UnmarshallingTestCase.java 2009-01-21 18:03:30 UTC (rev 234)
@@ -25,15 +25,9 @@
import java.net.URI;
import java.util.List;
-import javax.xml.XMLConstants;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.ValidationEventLocator;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
import junit.framework.TestCase;
@@ -134,38 +128,4 @@
assertNotNull("Unexpected null value for the request contents", contents);
assertEquals("Unexpected number of contents", 4, contents.size());
}
-
- /**
- * <p>
- * Enable schema validation for the specified {@code Unmarshaller}.
- * </p>
- *
- * @param schemaFile the location of the schema file.
- * @param unmarshaller the {@code Unmarshaller} where schema validation will be enabled.
- * @throws Exception if an error occurs while setting the schema.
- */
- private void setValidatingSchema(String schemaFile, Unmarshaller unmarshaller) throws Exception
- {
- // create the schema based on the schema file.
- URI schemaURI = this.getClass().getResource(schemaFile).toURI();
- SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- Schema schema = factory.newSchema(new File(schemaURI));
-
- // set the schema and the event handler.
- unmarshaller.setSchema(schema);
- unmarshaller.setEventHandler(new ValidationEventHandler()
- {
- // allow unmarshalling to continue even if there are errors.
- public boolean handleEvent(ValidationEvent ve)
- {
- if (ve.getSeverity() != ValidationEvent.WARNING)
- {
- ValidationEventLocator vel = ve.getLocator();
- System.out.println("Line:Col[" + vel.getLineNumber() + ":" + vel.getColumnNumber() + "]:"
- + ve.getMessage());
- }
- return true;
- }
- });
- }
-}
+}
\ No newline at end of file
15 years, 3 months
JBoss Identity SVN: r233 - in idm/trunk: idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate and 10 other directories.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-20 11:53:59 -0500 (Tue, 20 Jan 2009)
New Revision: 233
Modified:
idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/Attribute.java
idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/PersistenceManagerFeaturesDescription.java
idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RelationshipManagerFeaturesDescription.java
idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RoleManagerFeaturesDescription.java
idm/trunk/idm-common/src/main/java/org/jboss/identity/idm/exception/FeatureNotSupportedException.java
idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/IdentityConfigurationException.java
idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/OperationNotSupportedException.java
idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/model/IdentityObjectAttribute.java
idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/store/FeaturesMetaData.java
idm/trunk/idm/.classpath
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectAttribute.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectTextAttribute.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/FeaturesMetaDataImpl.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/types/SimpleIdentityObjectType.java
Log:
minor
Modified: idm/trunk/idm/.classpath
===================================================================
--- idm/trunk/idm/.classpath 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/.classpath 2009-01-20 16:53:59 UTC (rev 233)
@@ -12,5 +12,6 @@
<classpathentry kind="var" path="M2_REPO/sun-opends/OpenDS/1.0.0/OpenDS-1.0.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.ga/hibernate-3.2.4.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
<classpathentry kind="output" path="target/eclipse-classes"/>
</classpath>
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectAttribute.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectAttribute.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectAttribute.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -98,6 +98,7 @@
this.name = name;
}
+ @SuppressWarnings("unchecked")
public void addValue(String val)
{
getValues().add(val);
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectTextAttribute.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectTextAttribute.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectTextAttribute.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -22,16 +22,15 @@
package org.jboss.identity.idm.impl.model.hibernate;
-import org.hibernate.annotations.CollectionOfElements;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Table;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Arrays;
-import java.util.Collections;
+import org.hibernate.annotations.CollectionOfElements;
+
/**
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
@@ -56,8 +55,7 @@
public HibernateIdentityObjectTextAttribute(HibernateIdentityObject identityObject, String name, String[] values)
{
- super(identityObject, name);
- List<String> list = Arrays.asList(values);
+ super(identityObject, name);
}
public Set<String> getValues()
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -77,6 +77,7 @@
private final String id;
//TODO: rewrite this to other config object?
+ @SuppressWarnings("unused")
private IdentityRepositoryConfigurationMetaData configurationMD;
public static final String ALLOW_NOT_DEFINED_ATTRIBUTES = "allowNotDefinedAttributes";
@@ -150,7 +151,7 @@
return resolveIdentityStore(identityObjectType).getSupportedFeatures().isControlSupported(identityObjectType, control);
}
- public boolean isControlSupported(IdentityObjectType identityObjectType, Class controlClazz)
+ public boolean isControlSupported(IdentityObjectType identityObjectType, Class<?> controlClazz)
{
return resolveIdentityStore(identityObjectType).getSupportedFeatures().isControlSupported(identityObjectType, controlClazz);
}
@@ -242,7 +243,7 @@
defaultIdentityStore.getSupportedFeatures().isRoleNameControlSupported(control);
}
- public boolean isRoleNameControlSupported(Class controlClazz)
+ public boolean isRoleNameControlSupported(Class<?> controlClazz)
{
// If there is any IdentityStore that supports named relationships...
for (IdentityStore identityStore : getIdentityStoreMappings().values())
@@ -623,9 +624,7 @@
}
public Set<IdentityObjectRelationship> resolveRelationships(IdentityStoreInvocationContext ctx, IdentityObject identity, IdentityObjectRelationshipType relationshipType, boolean parent, boolean named, String name) throws IdentityException
- {
- IdentityStore store = resolveIdentityStore(identity);
-
+ {
Set<IdentityObjectRelationship> relationships = new HashSet<IdentityObjectRelationship>();
// For any IdentityStore that supports named relationships...
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/FeaturesMetaDataImpl.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/FeaturesMetaDataImpl.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/FeaturesMetaDataImpl.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -22,23 +22,22 @@
package org.jboss.identity.idm.impl.store;
-import org.jboss.identity.idm.spi.store.FeaturesMetaData;
-import org.jboss.identity.idm.spi.model.IdentityObjectType;
-import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
-import org.jboss.identity.idm.spi.model.IdentityObjectCredentialType;
-import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
-import org.jboss.identity.idm.spi.configuration.metadata.RelationshipMetaData;
-import org.jboss.identity.idm.exception.IdentityException;
-
-import java.util.Set;
-import java.util.Map;
-import java.util.List;
-import java.util.HashSet;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import org.jboss.identity.idm.exception.IdentityException;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.RelationshipMetaData;
+import org.jboss.identity.idm.spi.model.IdentityObjectCredentialType;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
+import org.jboss.identity.idm.spi.model.IdentityObjectType;
+import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
+import org.jboss.identity.idm.spi.store.FeaturesMetaData;
+
/**
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
@@ -47,7 +46,7 @@
{
private Set<String> supportedTypeNames = new HashSet<String>();
- private final Set<Class> supportedSearchControls;
+ private final Set<Class<?>> supportedSearchControls;
private final Map<String, Set<String>> supportedCredentials;
@@ -60,7 +59,7 @@
public FeaturesMetaDataImpl(IdentityStoreConfigurationMetaData configurationMD,
- Set<Class> supportedControls,
+ Set<Class<?>> supportedControls,
boolean namedRelationshipsSupport,
Set<String> readOnlyObjectTypes)
{
@@ -92,8 +91,6 @@
// Supported relationships
- List<String> relationshipNames = configurationMD.getSupportedRelationshipTypes();
-
for (IdentityObjectTypeMetaData identityObjectTypeMetaData : configurationMD.getSupportedIdentityTypes())
{
String fromTypeName = identityObjectTypeMetaData.getName();
@@ -174,7 +171,7 @@
return false;
}
- public boolean isControlSupported(IdentityObjectType identityObjectType, Class controlClazz)
+ public boolean isControlSupported(IdentityObjectType identityObjectType, Class<?> controlClazz)
{
if (supportedSearchControls.contains(controlClazz))
{
@@ -231,7 +228,7 @@
return isNamedRelationshipsSupported() && isControlSupported(null, control);
}
- public boolean isRoleNameControlSupported(Class controlClazz)
+ public boolean isRoleNameControlSupported(Class<?> controlClazz)
{
// For now simple - use the same allowed controls list for everything
return isNamedRelationshipsSupported() && isControlSupported(null, controlClazz);
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -22,59 +22,60 @@
package org.jboss.identity.idm.impl.store.hibernate;
-import org.jboss.identity.idm.spi.store.IdentityStore;
-import org.jboss.identity.idm.spi.store.FeaturesMetaData;
-import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
-import org.jboss.identity.idm.spi.store.IdentityStoreSession;
-import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
-import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
-import org.jboss.identity.idm.spi.model.IdentityObject;
-import org.jboss.identity.idm.spi.model.IdentityObjectType;
-import org.jboss.identity.idm.spi.model.IdentityObjectRelationship;
-import org.jboss.identity.idm.spi.model.IdentityObjectCredential;
-import org.jboss.identity.idm.spi.exception.OperationNotSupportedException;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData;
-import org.jboss.identity.idm.spi.model.IdentityObjectCredentialType;
-import org.jboss.identity.idm.spi.model.IdentityObjectAttribute;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.persistence.NoResultException;
+import javax.persistence.Persistence;
+import javax.persistence.Query;
+
+import org.hibernate.Criteria;
+import org.hibernate.HibernateException;
+import org.hibernate.criterion.Restrictions;
+import org.hibernate.ejb.HibernateEntityManager;
+import org.hibernate.ejb.HibernateEntityManagerFactory;
import org.jboss.identity.idm.exception.IdentityException;
+import org.jboss.identity.idm.impl.api.AttributeFilterSearchControl;
+import org.jboss.identity.idm.impl.api.NameFilterSearchControl;
+import org.jboss.identity.idm.impl.api.PageSearchControl;
+import org.jboss.identity.idm.impl.api.SortByNameSearchControl;
import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObject;
+import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectAttribute;
+import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectBinaryAttribute;
+import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredential;
+import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredentialType;
import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationship;
+import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipName;
import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipType;
+import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectTextAttribute;
import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectType;
-import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipName;
import org.jboss.identity.idm.impl.model.hibernate.HibernateRealm;
-import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredentialType;
-import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredential;
-import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectAttribute;
-import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectTextAttribute;
-import org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectBinaryAttribute;
-import org.jboss.identity.idm.impl.api.PageSearchControl;
-import org.jboss.identity.idm.impl.api.SortByNameSearchControl;
-import org.jboss.identity.idm.impl.api.AttributeFilterSearchControl;
-import org.jboss.identity.idm.impl.api.NameFilterSearchControl;
import org.jboss.identity.idm.impl.store.FeaturesMetaDataImpl;
-import org.hibernate.ejb.HibernateEntityManager;
-import org.hibernate.ejb.HibernateEntityManagerFactory;
-import org.hibernate.criterion.Restrictions;
-import org.hibernate.HibernateException;
-import org.hibernate.Criteria;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
+import org.jboss.identity.idm.spi.exception.OperationNotSupportedException;
+import org.jboss.identity.idm.spi.model.IdentityObject;
+import org.jboss.identity.idm.spi.model.IdentityObjectAttribute;
+import org.jboss.identity.idm.spi.model.IdentityObjectCredential;
+import org.jboss.identity.idm.spi.model.IdentityObjectCredentialType;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationship;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
+import org.jboss.identity.idm.spi.model.IdentityObjectType;
+import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
+import org.jboss.identity.idm.spi.store.FeaturesMetaData;
+import org.jboss.identity.idm.spi.store.IdentityStore;
+import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
+import org.jboss.identity.idm.spi.store.IdentityStoreSession;
-import javax.persistence.NoResultException;
-import javax.persistence.Query;
-import javax.persistence.Persistence;
-import java.util.Set;
-import java.util.Collection;
-import java.util.Map;
-import java.util.List;
-import java.util.Iterator;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Collections;
-
/**
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
@@ -130,7 +131,7 @@
// TODO: rewrite this into some more handy object
private IdentityStoreConfigurationMetaData configurationMD;
- private static Set<Class> supportedIdentityObjectSearchControls = new HashSet<Class>();
+ private static Set<Class<?>> supportedIdentityObjectSearchControls = new HashSet<Class<?>>();
private static Set<String> supportedCredentialTypes = new HashSet<String>();
@@ -363,7 +364,7 @@
HibernateRealm realm = getRealm(em, ctx);
// Check if object with a given name and type is not present already
- List results = em.createNamedQuery("findIdentityObjectByNameAndType")
+ List<?> results = em.createNamedQuery("findIdentityObjectByNameAndType")
.setParameter("realm", realm)
.setParameter("name", name)
.setParameter("typeName", identityObjectType.getName())
@@ -515,6 +516,7 @@
+ @SuppressWarnings("unchecked")
public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext ctx,
IdentityObjectType identityType,
IdentityObjectSearchControl[] controls) throws IdentityException
@@ -626,6 +628,7 @@
}
+ @SuppressWarnings("unchecked")
public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext ctx, IdentityObject identity, IdentityObjectRelationshipType relationshipType, boolean parent, IdentityObjectSearchControl[] controls) throws IdentityException
{
//TODO:test
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -22,66 +22,67 @@
package org.jboss.identity.idm.impl.store.ldap;
-import org.jboss.identity.idm.spi.store.IdentityStore;
-import org.jboss.identity.idm.spi.store.FeaturesMetaData;
-import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
-import org.jboss.identity.idm.spi.store.IdentityStoreSession;
-import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
-import org.jboss.identity.idm.spi.model.IdentityObject;
-import org.jboss.identity.idm.spi.model.IdentityObjectType;
-import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
-import org.jboss.identity.idm.spi.model.IdentityObjectRelationship;
-import org.jboss.identity.idm.spi.model.IdentityObjectCredential;
-import org.jboss.identity.idm.spi.model.IdentityObjectAttribute;
-import org.jboss.identity.idm.spi.exception.OperationNotSupportedException;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
-import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Pattern;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.Control;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+import javax.naming.ldap.LdapName;
+import javax.naming.ldap.SortControl;
+
import org.jboss.identity.idm.exception.IdentityException;
-import org.jboss.identity.idm.impl.store.FeaturesMetaDataImpl;
-import org.jboss.identity.idm.impl.model.ldap.LDAPIdentityObjectImpl;
-import org.jboss.identity.idm.impl.model.ldap.LDAPIdentityObjectRelationshipImpl;
-import org.jboss.identity.idm.impl.helper.Tools;
import org.jboss.identity.idm.impl.NotYetImplementedException;
-import org.jboss.identity.idm.impl.api.SortByNameSearchControl;
-import org.jboss.identity.idm.impl.api.PageSearchControl;
import org.jboss.identity.idm.impl.api.AttributeFilterSearchControl;
import org.jboss.identity.idm.impl.api.NameFilterSearchControl;
+import org.jboss.identity.idm.impl.api.PageSearchControl;
import org.jboss.identity.idm.impl.api.SimpleAttribute;
+import org.jboss.identity.idm.impl.api.SortByNameSearchControl;
+import org.jboss.identity.idm.impl.helper.Tools;
+import org.jboss.identity.idm.impl.model.ldap.LDAPIdentityObjectImpl;
+import org.jboss.identity.idm.impl.model.ldap.LDAPIdentityObjectRelationshipImpl;
+import org.jboss.identity.idm.impl.store.FeaturesMetaDataImpl;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
+import org.jboss.identity.idm.spi.exception.OperationNotSupportedException;
+import org.jboss.identity.idm.spi.model.IdentityObject;
+import org.jboss.identity.idm.spi.model.IdentityObjectAttribute;
+import org.jboss.identity.idm.spi.model.IdentityObjectCredential;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationship;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
+import org.jboss.identity.idm.spi.model.IdentityObjectType;
+import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
+import org.jboss.identity.idm.spi.store.FeaturesMetaData;
+import org.jboss.identity.idm.spi.store.IdentityStore;
+import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
+import org.jboss.identity.idm.spi.store.IdentityStoreSession;
-import javax.naming.ldap.LdapContext;
-import javax.naming.ldap.LdapName;
-import javax.naming.ldap.Control;
-import javax.naming.ldap.SortControl;
-import javax.naming.ldap.InitialLdapContext;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.BasicAttributes;
-import javax.naming.directory.BasicAttribute;
-import javax.naming.directory.SearchResult;
-import javax.naming.directory.DirContext;
-import javax.naming.NamingException;
-import javax.naming.NamingEnumeration;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.List;
-import java.util.LinkedList;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.Comparator;
-import java.util.regex.Pattern;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
/**
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
@@ -103,7 +104,7 @@
IdentityStoreConfigurationMetaData configurationMD;
- private static Set<Class> supportedSearchControls = new HashSet<Class>();
+ private static Set<Class<?>> supportedSearchControls = new HashSet<Class<?>>();
// <IdentityObjectType name, <Attribute name, MD>
private Map<String, Map<String, IdentityObjectAttributeMetaData>> attributesMetaData = new HashMap<String, Map<String, IdentityObjectAttributeMetaData>>();
Modified: idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/types/SimpleIdentityObjectType.java
===================================================================
--- idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/types/SimpleIdentityObjectType.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/types/SimpleIdentityObjectType.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -33,8 +33,7 @@
private String name;
private SimpleIdentityObjectType()
- {
-
+ {
}
public SimpleIdentityObjectType(String name)
Modified: idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/Attribute.java
===================================================================
--- idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/Attribute.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/Attribute.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -51,7 +51,7 @@
/**
* @return attribute values
*/
- Collection getValues();
+ Collection<?> getValues();
/**
* @return number of attribute values
Modified: idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/PersistenceManagerFeaturesDescription.java
===================================================================
--- idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/PersistenceManagerFeaturesDescription.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/PersistenceManagerFeaturesDescription.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -59,7 +59,7 @@
* @param controlClazz
* @return
*/
- boolean isIdentitiesSearchControlSupported(Class controlClazz);
+ boolean isIdentitiesSearchControlSupported(Class<?> controlClazz);
/**
* Check if control can be used in Group search methods
@@ -77,7 +77,5 @@
* @param controlClazz
* @return
*/
- boolean isGroupsSearchControlSupported(GroupType groupType, Class controlClazz);
-
-
-}
+ boolean isGroupsSearchControlSupported(GroupType groupType, Class<?> controlClazz);
+}
\ No newline at end of file
Modified: idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RelationshipManagerFeaturesDescription.java
===================================================================
--- idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RelationshipManagerFeaturesDescription.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RelationshipManagerFeaturesDescription.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -60,7 +60,7 @@
* @param controlClazz
* @return
*/
- boolean isIdentitiesSearchControlSupported(Class controlClazz);
+ boolean isIdentitiesSearchControlSupported(Class<?> controlClazz);
/**
* Check if control can be used in Group search methods
@@ -78,7 +78,5 @@
* @param controlClazz
* @return
*/
- boolean isGroupsSearchControlSupported(GroupType groupType, Class controlClazz);
-
-
-}
+ boolean isGroupsSearchControlSupported(GroupType groupType, Class<?> controlClazz);
+}
\ No newline at end of file
Modified: idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RoleManagerFeaturesDescription.java
===================================================================
--- idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RoleManagerFeaturesDescription.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-api/src/main/java/org/jboss/identity/idm/api/RoleManagerFeaturesDescription.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -40,11 +40,11 @@
* @param controlClazz
* @return
*/
- boolean isRoleTypeSearchControlSupported(Class controlClazz);
+ boolean isRoleTypeSearchControlSupported(Class<?> controlClazz);
/**
* @param control
* @return
*/
boolean isRoleTypeSearchControlSupported(IdentitySearchControl control);
-}
+}
\ No newline at end of file
Modified: idm/trunk/idm-common/src/main/java/org/jboss/identity/idm/exception/FeatureNotSupportedException.java
===================================================================
--- idm/trunk/idm-common/src/main/java/org/jboss/identity/idm/exception/FeatureNotSupportedException.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-common/src/main/java/org/jboss/identity/idm/exception/FeatureNotSupportedException.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -23,11 +23,14 @@
package org.jboss.identity.idm.exception;
/**
+ * Exception indicating that the feature is not implemented
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
*/
public class FeatureNotSupportedException extends Exception
{
+ private static final long serialVersionUID = -1460754797949133004L;
+
public FeatureNotSupportedException()
{
super();
Modified: idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/IdentityConfigurationException.java
===================================================================
--- idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/IdentityConfigurationException.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/IdentityConfigurationException.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -25,11 +25,14 @@
import org.jboss.identity.idm.exception.IdentityException;
/**
+ * Exception indicating some issue in configuration
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
*/
public class IdentityConfigurationException extends IdentityException
{
+ private static final long serialVersionUID = 1L;
+
public IdentityConfigurationException()
{
super();
@@ -49,4 +52,4 @@
{
super(cause);
}
-}
+}
\ No newline at end of file
Modified: idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/OperationNotSupportedException.java
===================================================================
--- idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/OperationNotSupportedException.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/exception/OperationNotSupportedException.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -23,11 +23,14 @@
package org.jboss.identity.idm.spi.exception;
/**
+ * Identity operation not supported exception
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
*/
public class OperationNotSupportedException extends Exception
{
+ private static final long serialVersionUID = 1L;
+
public OperationNotSupportedException(String message)
{
super(message);
@@ -42,4 +45,4 @@
{
super(cause);
}
-}
+}
\ No newline at end of file
Modified: idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/model/IdentityObjectAttribute.java
===================================================================
--- idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/model/IdentityObjectAttribute.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/model/IdentityObjectAttribute.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -31,8 +31,7 @@
* @since Jun 30, 2008
*/
public interface IdentityObjectAttribute
-{
-
+{
/**
* @return name
*/
@@ -53,11 +52,11 @@
/**
* @return attribute values
*/
+ @SuppressWarnings("unchecked")
Collection getValues();
/**
* @return number of attribute values
*/
- int getSize();
-
+ int getSize();
}
\ No newline at end of file
Modified: idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/store/FeaturesMetaData.java
===================================================================
--- idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/store/FeaturesMetaData.java 2009-01-19 06:06:06 UTC (rev 232)
+++ idm/trunk/idm-spi/src/main/java/org/jboss/identity/idm/spi/store/FeaturesMetaData.java 2009-01-20 16:53:59 UTC (rev 233)
@@ -37,8 +37,7 @@
* @since Jul 10, 2008
*/
public interface FeaturesMetaData
-{
-
+{
/**
* Check if IdentityObjects with a given IdentityObjectType can be created and removed
*
@@ -69,7 +68,7 @@
* @param controlClazz
* @return
*/
- boolean isControlSupported(IdentityObjectType identityObjectType, Class controlClazz);
+ boolean isControlSupported(IdentityObjectType identityObjectType, Class<?> controlClazz);
/**
*
@@ -83,7 +82,7 @@
* @param controlClazz
* @return
*/
- boolean isRoleNameControlSupported(Class controlClazz);
+ boolean isRoleNameControlSupported(Class<?> controlClazz);
/**
* @return set of identity types that can be persisted
15 years, 3 months
JBoss Identity SVN: r232 - in xmlkey/trunk/skms/src/test: resources/ekmi/v1/xml and 1 other directory.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-19 01:06:06 -0500 (Mon, 19 Jan 2009)
New Revision: 232
Added:
xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-02.xml
Modified:
xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java
Log:
update skms test
Modified: xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java
===================================================================
--- xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java 2009-01-19 05:48:37 UTC (rev 231)
+++ xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java 2009-01-19 06:06:06 UTC (rev 232)
@@ -22,6 +22,7 @@
package org.jboss.test.identity.skms.v1;
import java.io.InputStream;
+import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
@@ -44,7 +45,7 @@
<ekmi:GlobalKeyID>10514-0-0</ekmi:GlobalKeyID>
</ekmi:SymkeyRequest>
*/
- public void testSymmetricKeyRequest() throws Exception
+ public void testSymKeyRequest01() throws Exception
{
String globalId = "10514-0-0";
ObjectFactory objectFactory = new ObjectFactory();
@@ -69,16 +70,33 @@
* Test the read of SymKeyResponse
* @throws Exception
*/
- public void testSymKeyResponseReadFromXML() throws Exception
+ public void testSymKeyResponseReadFromXML01() throws Exception
{
- //Lets parse the request from a file
+ //Lets parse the request from a file
JAXBContext jaxb = JAXBContext.newInstance("org.jboss.identity.skms.v1.model");
Unmarshaller unmarshaller = jaxb.createUnmarshaller();
-
+
ClassLoader tcl = Thread.currentThread().getContextClassLoader();
InputStream is = tcl.getResourceAsStream("ekmi/v1/xml/symkeyresponse-01.xml");
assertNotNull("Inputstream is not null", is);
SymkeyResponse symResponse = (SymkeyResponse) unmarshaller.unmarshal(is);
assertNotNull("SymKeyResponse != null", symResponse);
}
+
+ public void testSymKeyRequest02() throws Exception
+ {
+ //Lets parse the request from a file
+ JAXBContext jaxb = JAXBContext.newInstance("org.jboss.identity.skms.v1.model");
+ Unmarshaller unmarshaller = jaxb.createUnmarshaller();
+
+ ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+ InputStream is = tcl.getResourceAsStream("ekmi/v1/xml/symkeyrequest-02.xml");
+ assertNotNull("Inputstream is not null", is);
+ SymkeyRequest symRequest = (SymkeyRequest) unmarshaller.unmarshal(is);
+ assertNotNull("SymKeyRequest != null", symRequest);
+ assertEquals("10514-0-0", symRequest.getGlobalKeyID().get(0));
+ List<String> keyClasses = symRequest.getKeyClasses().getKeyClass();
+ assertEquals("keyclass size is 1", 1, keyClasses.size());
+ assertEquals("HR-Class",keyClasses.get(0));
+ }
}
\ No newline at end of file
Added: xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-02.xml
===================================================================
--- xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-02.xml (rev 0)
+++ xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-02.xml 2009-01-19 06:06:06 UTC (rev 232)
@@ -0,0 +1,6 @@
+<ekmi:SymkeyRequest xmlns:ekmi="http://docs.oasis-open.org/ekmi/2008/01">
+ <ekmi:GlobalKeyID>10514-0-0</ekmi:GlobalKeyID>
+ <ekmi:KeyClasses>
+ <ekmi:KeyClass>HR-Class</ekmi:KeyClass>
+ </ekmi:KeyClasses>
+</ekmi:SymkeyRequest>
\ No newline at end of file
15 years, 3 months
JBoss Identity SVN: r231 - in xmlkey/trunk/skms: src/main/java/org/jboss/identity/skms/v1/model and 11 other directories.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-19 00:48:37 -0500 (Mon, 19 Jan 2009)
New Revision: 231
Added:
xmlkey/trunk/skms/src/test/java/org/
xmlkey/trunk/skms/src/test/java/org/jboss/
xmlkey/trunk/skms/src/test/java/org/jboss/test/
xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/
xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/
xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/
xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java
xmlkey/trunk/skms/src/test/resources/ekmi/
xmlkey/trunk/skms/src/test/resources/ekmi/v1/
xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/
xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-01.xml
xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyresponse-01.xml
Modified:
xmlkey/trunk/skms/.classpath
xmlkey/trunk/skms/pom.xml
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java
Log:
skms
Modified: xmlkey/trunk/skms/.classpath
===================================================================
--- xmlkey/trunk/skms/.classpath 2009-01-19 04:12:50 UTC (rev 230)
+++ xmlkey/trunk/skms/.classpath 2009-01-19 05:48:37 UTC (rev 231)
@@ -8,5 +8,8 @@
<classpathentry combineaccessrules="false" kind="src" path="/common"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/identity/jboss-identity-xmlsec-model/1.0.0-SNAPSHOT/jboss-identity-xmlsec-model-1.0.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
<classpathentry kind="output" path="target-eclipse"/>
</classpath>
Modified: xmlkey/trunk/skms/pom.xml
===================================================================
--- xmlkey/trunk/skms/pom.xml 2009-01-19 04:12:50 UTC (rev 230)
+++ xmlkey/trunk/skms/pom.xml 2009-01-19 05:48:37 UTC (rev 231)
@@ -66,6 +66,10 @@
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
+ <groupId>sun-jaxb</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ </dependency>
+ <dependency>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
<version>1.0</version>
Modified: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java 2009-01-19 04:12:50 UTC (rev 230)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java 2009-01-19 05:48:37 UTC (rev 231)
@@ -93,8 +93,25 @@
public KeyUsePolicyType createKeyUsePolicyType() {
return new KeyUsePolicyType();
}
+
+ /**
+ * Create an instance of {@link KeyCachePolicyRequest }
+ *
+ */
+ public KeyCachePolicyRequest createKeyCachePolicyRequest() {
+ return new KeyCachePolicyRequest();
+ }
/**
+ * Create an instance of {@link KeyCachePolicyResponse }
+ *
+ */
+ public KeyCachePolicyResponse createKeyCachePolicyResponse() {
+ return new KeyCachePolicyResponse();
+ }
+
+
+ /**
* Create an instance of {@link PermittedDatesType.PermittedDate }
*
*/
@@ -231,6 +248,14 @@
}
/**
+ * Create an instance of {@link SymkeyRequest }
+ *
+ */
+ public SymkeyRequest createSymkeyRequest() {
+ return new SymkeyRequest();
+ }
+
+ /**
* Create an instance of {@link SymkeyResponse }
*
*/
Added: xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java
===================================================================
--- xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java (rev 0)
+++ xmlkey/trunk/skms/src/test/java/org/jboss/test/identity/skms/v1/SymmetricKeyUnitTestCase.java 2009-01-19 05:48:37 UTC (rev 231)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * 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.test.identity.skms.v1;
+
+import java.io.InputStream;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Unmarshaller;
+
+import junit.framework.TestCase;
+
+import org.jboss.identity.skms.v1.model.ObjectFactory;
+import org.jboss.identity.skms.v1.model.SymkeyRequest;
+import org.jboss.identity.skms.v1.model.SymkeyResponse;
+
+/**
+ * Unit Test Symmetric Key request / response
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jan 18, 2009
+ */
+public class SymmetricKeyUnitTestCase extends TestCase
+{
+ /**
+ <ekmi:SymkeyRequest xmlns:ekmi=”http://docs.oasis-open.org/ekmi/2008/01">
+ <ekmi:GlobalKeyID>10514-0-0</ekmi:GlobalKeyID>
+ </ekmi:SymkeyRequest>
+ */
+ public void testSymmetricKeyRequest() throws Exception
+ {
+ String globalId = "10514-0-0";
+ ObjectFactory objectFactory = new ObjectFactory();
+ SymkeyRequest symKeyRequest = objectFactory.createSymkeyRequest();
+ symKeyRequest.getGlobalKeyID().add(globalId);
+
+ assertEquals(globalId, symKeyRequest.getGlobalKeyID().get(0));
+
+ //Lets parse the request from a file
+ JAXBContext jaxb = JAXBContext.newInstance("org.jboss.identity.skms.v1.model");
+ Unmarshaller unmarshaller = jaxb.createUnmarshaller();
+
+ ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+ InputStream is = tcl.getResourceAsStream("ekmi/v1/xml/symkeyrequest-01.xml");
+ assertNotNull("Inputstream is not null", is);
+ SymkeyRequest symRequest = (SymkeyRequest) unmarshaller.unmarshal(is);
+ assertNotNull("SymKeyRequest != null", symRequest);
+ assertEquals(globalId, symRequest.getGlobalKeyID().get(0));
+ }
+
+ /**
+ * Test the read of SymKeyResponse
+ * @throws Exception
+ */
+ public void testSymKeyResponseReadFromXML() throws Exception
+ {
+ //Lets parse the request from a file
+ JAXBContext jaxb = JAXBContext.newInstance("org.jboss.identity.skms.v1.model");
+ Unmarshaller unmarshaller = jaxb.createUnmarshaller();
+
+ ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+ InputStream is = tcl.getResourceAsStream("ekmi/v1/xml/symkeyresponse-01.xml");
+ assertNotNull("Inputstream is not null", is);
+ SymkeyResponse symResponse = (SymkeyResponse) unmarshaller.unmarshal(is);
+ assertNotNull("SymKeyResponse != null", symResponse);
+ }
+}
\ No newline at end of file
Added: xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-01.xml
===================================================================
--- xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-01.xml (rev 0)
+++ xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyrequest-01.xml 2009-01-19 05:48:37 UTC (rev 231)
@@ -0,0 +1,3 @@
+<ekmi:SymkeyRequest xmlns:ekmi="http://docs.oasis-open.org/ekmi/2008/01">
+ <ekmi:GlobalKeyID>10514-0-0</ekmi:GlobalKeyID>
+</ekmi:SymkeyRequest>
\ No newline at end of file
Added: xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyresponse-01.xml
===================================================================
--- xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyresponse-01.xml (rev 0)
+++ xmlkey/trunk/skms/src/test/resources/ekmi/v1/xml/symkeyresponse-01.xml 2009-01-19 05:48:37 UTC (rev 231)
@@ -0,0 +1,59 @@
+<ekmi:SymkeyResponse xmlns:ekmi='http://docs.oasis-open.org/ekmi/2008/01'
+ xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <ekmi:Symkey>
+ <ekmi:SymkeyRequestID>10514-1-7476</ekmi:SymkeyRequestID>
+ <ekmi:GlobalKeyID>10514-1-235</ekmi:GlobalKeyID>
+ <ekmi:KeyUsePolicy>
+ <ekmi:KeyUsePolicyID>10514-4</ekmi:KeyUsePolicyID>
+ <ekmi:PolicyName>DES-EDE KeyUsePolicy</ekmi:PolicyName>
+ <ekmi:KeyClass>HR-Class</ekmi:KeyClass>
+ <ekmi:KeyAlgorithm> http://www.w3.org/2001/04/xmlenc#tripledes-cbc
+ </ekmi:KeyAlgorithm>
+ <ekmi:KeySize>192</ekmi:KeySize>
+ <ekmi:Status>Active</ekmi:Status>
+ <ekmi:Permissions>
+ <ekmi:PermittedApplications ekmi:any="false">
+ <ekmi:PermittedApplication>
+ <ekmi:ApplicationID>10514-23</ekmi:ApplicationID>
+ <ekmi:ApplicationName> Payroll Application</ekmi:ApplicationName>
+ <ekmi:ApplicationVersion>1.0</ekmi:ApplicationVersion>
+ <ekmi:ApplicationDigestAlgorithm>
+ http://www.w3.org/2000/09/xmldsig#sha1
+ </ekmi:ApplicationDigestAlgorithm>
+ <ekmi:ApplicationDigestValue> NIG4bKkt4cziEqFFuOoBTM81efU=
+ </ekmi:ApplicationDigestValue>
+ </ekmi:PermittedApplication>
+ </ekmi:PermittedApplications>
+ <ekmi:PermittedDates ekmi:any="false">
+ <ekmi:PermittedDate>
+ <ekmi:StartDate>2008-01-01</ekmi:StartDate>
+ <ekmi:EndDate>2008-12-31</ekmi:EndDate>
+ </ekmi:PermittedDate>
+ </ekmi:PermittedDates>
+ <ekmi:PermittedDays ekmi:any="true" xsi:nil="true" />
+ <ekmi:PermittedDuration ekmi:any="true"
+ xsi:nil="true" />
+ <ekmi:PermittedLevels ekmi:any="true" xsi:nil="true" />
+ <ekmi:PermittedLocations ekmi:any="true"
+ xsi:nil="true" />
+ <ekmi:PermittedNumberOfTransactions
+ ekmi:any="true" xsi:nil="true" />
+ <ekmi:PermittedTimes ekmi:any="false">
+ <ekmi:PermittedTime>
+ <ekmi:StartTime>07:00:00</ekmi:StartTime>
+ <ekmi:EndTime>19:00:00</ekmi:EndTime>
+ </ekmi:PermittedTime>
+ </ekmi:PermittedTimes>
+ <ekmi:PermittedUses ekmi:any="true" xsi:nil="true" />
+ </ekmi:Permissions>
+ </ekmi:KeyUsePolicy>
+ <ekmi:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
+ <xenc:CipherData>
+ <xenc:CipherValue>
+ E9zWB/y93hVSzeTLiDcQoDxmlNxTuxSffMNwCJmt1dIqzQHBnpdQ81g6DKdkCFjJM
+ hQhywCx9sfYjv9h5FDqUiQXGOca8EU871zBoXBjDxjfg1pU8tGFbpWZcd/ATpJD/2fw
+ UJow/qimxi8+huUYJMtaGHtXuLlWtx27STRcRpIsY=</xenc:CipherValue>
+ </xenc:CipherData>
+ </ekmi:Symkey>
+</ekmi:SymkeyResponse>
\ No newline at end of file
15 years, 3 months
JBoss Identity SVN: r230 - in xmlkey/trunk/skms: src/main/java and 9 other directories.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-18 23:12:50 -0500 (Sun, 18 Jan 2009)
New Revision: 230
Added:
xmlkey/trunk/skms/src/main/java/org/
xmlkey/trunk/skms/src/main/java/org/jboss/
xmlkey/trunk/skms/src/main/java/org/jboss/identity/
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ApplicationsType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCacheDetailType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyRequest.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyResponse.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyClassesType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyUsePolicyType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/LevelClassificationType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermissionsType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedApplicationsType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDatesType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDayType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDaysType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDurationType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLevelsType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLocationsType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedNumberOfTransactionsType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedTimesType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedUsesType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/StatusType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyErrorType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyRequest.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyResponse.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyWorkInProgressType.java
xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/package-info.java
xmlkey/trunk/skms/src/main/resources/schema/
xmlkey/trunk/skms/src/main/resources/schema/ekmi/
xmlkey/trunk/skms/src/main/resources/schema/ekmi/EKMICoreLibrary.xsd
xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpRequest.xsd
xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpResponse.xsd
xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyRequest.xsd
xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyResponse.xsd
Modified:
xmlkey/trunk/skms/.classpath
Log:
JAXB2 model for skms
Modified: xmlkey/trunk/skms/.classpath
===================================================================
--- xmlkey/trunk/skms/.classpath 2009-01-19 04:12:16 UTC (rev 229)
+++ xmlkey/trunk/skms/.classpath 2009-01-19 04:12:50 UTC (rev 230)
@@ -6,5 +6,7 @@
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/common"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/identity/jboss-identity-xmlsec-model/1.0.0-SNAPSHOT/jboss-identity-xmlsec-model-1.0.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
<classpathentry kind="output" path="target-eclipse"/>
</classpath>
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ApplicationsType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ApplicationsType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ApplicationsType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,220 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ApplicationsType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="ApplicationsType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ApplicationID" type="{http://docs.oasis-open.org/ekmi/2008/01}TwoPartIDType"/>
+ * <element name="ApplicationName">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="256"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="Version" minOccurs="0">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="32"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <group ref="{http://docs.oasis-open.org/ekmi/2008/01}MessageDigestGroup" minOccurs="0"/>
+ * <element name="Other" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ApplicationsType", propOrder = {
+ "applicationID",
+ "applicationName",
+ "version",
+ "digestAlgorithm",
+ "digestValue",
+ "other"
+})
+public class ApplicationsType {
+
+ @XmlElement(name = "ApplicationID", required = true)
+ protected String applicationID;
+ @XmlElement(name = "ApplicationName", required = true)
+ protected String applicationName;
+ @XmlElement(name = "Version")
+ protected String version;
+ @XmlElement(name = "DigestAlgorithm")
+ protected String digestAlgorithm;
+ @XmlElement(name = "DigestValue")
+ protected byte[] digestValue;
+ @XmlElement(name = "Other")
+ protected Object other;
+
+ /**
+ * Gets the value of the applicationID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplicationID() {
+ return applicationID;
+ }
+
+ /**
+ * Sets the value of the applicationID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplicationID(String value) {
+ this.applicationID = value;
+ }
+
+ /**
+ * Gets the value of the applicationName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplicationName() {
+ return applicationName;
+ }
+
+ /**
+ * Sets the value of the applicationName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplicationName(String value) {
+ this.applicationName = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVersion(String value) {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the digestAlgorithm property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDigestAlgorithm() {
+ return digestAlgorithm;
+ }
+
+ /**
+ * Sets the value of the digestAlgorithm property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDigestAlgorithm(String value) {
+ this.digestAlgorithm = value;
+ }
+
+ /**
+ * Gets the value of the digestValue property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getDigestValue() {
+ return digestValue;
+ }
+
+ /**
+ * Sets the value of the digestValue property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setDigestValue(byte[] value) {
+ this.digestValue = ((byte[]) value);
+ }
+
+ /**
+ * Gets the value of the other property.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public Object getOther() {
+ return other;
+ }
+
+ /**
+ * Sets the value of the other property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setOther(Object value) {
+ this.other = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCacheDetailType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCacheDetailType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCacheDetailType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,112 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for KeyCacheDetailType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="KeyCacheDetailType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MaximumKeys">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}integer">
+ * <minInclusive value="0"/>
+ * <maxInclusive value="18446744073709551615"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="MaximumDuration">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}integer">
+ * <minInclusive value="0"/>
+ * <maxInclusive value="18446744073709551615"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyCacheDetailType", propOrder = {
+ "maximumKeys",
+ "maximumDuration"
+})
+public class KeyCacheDetailType {
+
+ @XmlElement(name = "MaximumKeys", required = true)
+ protected BigInteger maximumKeys;
+ @XmlElement(name = "MaximumDuration", required = true)
+ protected BigInteger maximumDuration;
+
+ /**
+ * Gets the value of the maximumKeys property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMaximumKeys() {
+ return maximumKeys;
+ }
+
+ /**
+ * Sets the value of the maximumKeys property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMaximumKeys(BigInteger value) {
+ this.maximumKeys = value;
+ }
+
+ /**
+ * Gets the value of the maximumDuration property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMaximumDuration() {
+ return maximumDuration;
+ }
+
+ /**
+ * Sets the value of the maximumDuration property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMaximumDuration(BigInteger value) {
+ this.maximumDuration = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyRequest.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyRequest.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyRequest.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,43 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 09:59:29 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * No elements/attributes are defined for KeyCachePolicyRequest.
+ *
+ *
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "KeyCachePolicyRequest")
+public class KeyCachePolicyRequest {
+
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyResponse.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyResponse.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyResponse.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 09:59:58 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyCachePolicy" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyCachePolicyType" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "keyCachePolicy"
+})
+@XmlRootElement(name = "KeyCachePolicyResponse")
+public class KeyCachePolicyResponse {
+
+ @XmlElement(name = "KeyCachePolicy", required = true)
+ protected List<KeyCachePolicyType> keyCachePolicy;
+
+ /**
+ * Gets the value of the keyCachePolicy property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the keyCachePolicy property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getKeyCachePolicy().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link KeyCachePolicyType }
+ *
+ *
+ */
+ public List<KeyCachePolicyType> getKeyCachePolicy() {
+ if (keyCachePolicy == null) {
+ keyCachePolicy = new ArrayList<KeyCachePolicyType>();
+ }
+ return this.keyCachePolicy;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyCachePolicyType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,147 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlMixed;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ *
+ * The KeyCachePolicyType document is returned as part of
+ * the response to a request for a key-caching policy from a
+ * Symmetric Key Services (SKS) server. The KCP tells the
+ * SKMS client if it may cache symmetric keys, and if so, how
+ * many new and used keys it may cache, for how long, etc.
+ *
+ *
+ * <p>Java class for KeyCachePolicyType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="KeyCachePolicyType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyCachePolicyID" type="{http://docs.oasis-open.org/ekmi/2008/01}TwoPartIDType"/>
+ * <element name="PolicyName">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="255"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="Description">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="2048"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="KeyClass" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyClassType"/>
+ * <element name="StartDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="EndDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="PolicyCheckInterval">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger">
+ * <minInclusive value="0"/>
+ * <maxInclusive value="2592000"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="Status" type="{http://docs.oasis-open.org/ekmi/2008/01}StatusType"/>
+ * <element name="NewKeysCacheDetail" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyCacheDetailType" minOccurs="0"/>
+ * <element name="UsedKeysCacheDetail" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyCacheDetailType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyCachePolicyType", propOrder = {
+ "content"
+})
+public class KeyCachePolicyType {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "UsedKeysCacheDetail", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "Description", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "KeyCachePolicyID", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "EndDate", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "StartDate", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "PolicyCheckInterval", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "KeyClass", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "Status", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "PolicyName", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "NewKeysCacheDetail", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class)
+ })
+ @XmlMixed
+ protected List<Serializable> content;
+
+ /**
+ *
+ * The KeyCachePolicyType document is returned as part of
+ * the response to a request for a key-caching policy from a
+ * Symmetric Key Services (SKS) server. The KCP tells the
+ * SKMS client if it may cache symmetric keys, and if so, how
+ * many new and used keys it may cache, for how long, etc.
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link KeyCacheDetailType }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link String }
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link Integer }{@code >}
+ * {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
+ * {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
+ * {@link JAXBElement }{@code <}{@link StatusType }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link KeyCacheDetailType }{@code >}
+ *
+ *
+ */
+ public List<Serializable> getContent() {
+ if (content == null) {
+ content = new ArrayList<Serializable>();
+ }
+ return this.content;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyClassesType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyClassesType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyClassesType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,76 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for KeyClassesType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="KeyClassesType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyClass" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyClassType" maxOccurs="unbounded"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyClassesType", propOrder = {
+ "keyClass"
+})
+public class KeyClassesType {
+
+ @XmlElement(name = "KeyClass", required = true)
+ protected List<String> keyClass;
+
+ /**
+ * Gets the value of the keyClass property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the keyClass property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getKeyClass().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getKeyClass() {
+ if (keyClass == null) {
+ keyClass = new ArrayList<String>();
+ }
+ return this.keyClass;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyUsePolicyType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyUsePolicyType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/KeyUsePolicyType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,122 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlMixed;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * The KeyUsePolicyType document is returned as part of the
+ * response to a request for a symmetric key from a Symmetric
+ * Key Services (SKS) server. The KUP tells the client how
+ * it must use the associated symmetric key. At least one
+ * permission-type will provide the policy definition.
+ *
+ *
+ * <p>Java class for KeyUsePolicyType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="KeyUsePolicyType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="KeyUsePolicyID" type="{http://docs.oasis-open.org/ekmi/2008/01}TwoPartIDType"/>
+ * <element name="PolicyName">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="255"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="KeyClass" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyClassType"/>
+ * <element name="KeyAlgorithm" type="{http://docs.oasis-open.org/ekmi/2008/01}EncryptionAlgorithmType"/>
+ * <element name="KeySize" type="{http://docs.oasis-open.org/ekmi/2008/01}KeySizeType"/>
+ * <element name="Status" type="{http://docs.oasis-open.org/ekmi/2008/01}StatusType"/>
+ * <element name="Permissions" type="{http://docs.oasis-open.org/ekmi/2008/01}PermissionsType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "KeyUsePolicyType", propOrder = {
+ "content"
+})
+public class KeyUsePolicyType {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "KeyAlgorithm", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "KeyUsePolicyID", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "Status", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "Permissions", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "KeySize", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "KeyClass", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "PolicyName", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class)
+ })
+ @XmlMixed
+ protected List<Serializable> content;
+
+ /**
+ *
+ * The KeyUsePolicyType document is returned as part of the
+ * response to a request for a symmetric key from a Symmetric
+ * Key Services (SKS) server. The KUP tells the client how
+ * it must use the associated symmetric key. At least one
+ * permission-type will provide the policy definition.
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link StatusType }{@code >}
+ * {@link JAXBElement }{@code <}{@link PermissionsType }{@code >}
+ * {@link String }
+ * {@link JAXBElement }{@code <}{@link Integer }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ *
+ */
+ public List<Serializable> getContent() {
+ if (content == null) {
+ content = new ArrayList<Serializable>();
+ }
+ return this.content;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/LevelClassificationType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/LevelClassificationType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/LevelClassificationType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,84 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for LevelClassificationType.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * <simpleType name="LevelClassificationType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Unclassified"/>
+ * <enumeration value="Confidential"/>
+ * <enumeration value="Secret"/>
+ * <enumeration value="Top-Secret"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "LevelClassificationType")
+@XmlEnum
+public enum LevelClassificationType {
+
+
+ /**
+ * Data that is deemed public.
+ *
+ */
+ @XmlEnumValue("Unclassified")
+ UNCLASSIFIED("Unclassified"),
+
+ /**
+ * Data that is deemed confidential.
+ *
+ */
+ @XmlEnumValue("Confidential")
+ CONFIDENTIAL("Confidential"),
+
+ /**
+ * Data that is deemed secret.
+ *
+ */
+ @XmlEnumValue("Secret")
+ SECRET("Secret"),
+
+ /**
+ * Data that is deemed top-secret.
+ *
+ */
+ @XmlEnumValue("Top-Secret")
+ TOP_SECRET("Top-Secret");
+ private final String value;
+
+ LevelClassificationType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static LevelClassificationType fromValue(String v) {
+ for (LevelClassificationType c: LevelClassificationType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/ObjectFactory.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,457 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.math.BigDecimal;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.oasis_open.docs.ekmi._2008._01 package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _PermittedUsesTypePermittedUse_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "PermittedUse");
+ private final static QName _PermittedUsesTypeOther_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Other");
+ private final static QName _KeyUsePolicyTypeStatus_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Status");
+ private final static QName _KeyUsePolicyTypePolicyName_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "PolicyName");
+ private final static QName _KeyUsePolicyTypePermissions_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Permissions");
+ private final static QName _KeyUsePolicyTypeKeyClass_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "KeyClass");
+ private final static QName _KeyUsePolicyTypeKeySize_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "KeySize");
+ private final static QName _KeyUsePolicyTypeKeyUsePolicyID_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "KeyUsePolicyID");
+ private final static QName _KeyUsePolicyTypeKeyAlgorithm_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "KeyAlgorithm");
+ private final static QName _PermittedLocationsTypePermittedLocationLongitude_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Longitude");
+ private final static QName _PermittedLocationsTypePermittedLocationLatitude_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Latitude");
+ private final static QName _KeyCachePolicyTypePolicyCheckInterval_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "PolicyCheckInterval");
+ private final static QName _KeyCachePolicyTypeEndDate_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "EndDate");
+ private final static QName _KeyCachePolicyTypeKeyCachePolicyID_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "KeyCachePolicyID");
+ private final static QName _KeyCachePolicyTypeDescription_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Description");
+ private final static QName _KeyCachePolicyTypeStartDate_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "StartDate");
+ private final static QName _KeyCachePolicyTypeUsedKeysCacheDetail_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "UsedKeysCacheDetail");
+ private final static QName _KeyCachePolicyTypeNewKeysCacheDetail_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "NewKeysCacheDetail");
+ private final static QName _SymkeyError_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "SymkeyError");
+ private final static QName _SymkeyWorkInProgress_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "SymkeyWorkInProgress");
+ private final static QName _Symkey_QNAME = new QName("http://docs.oasis-open.org/ekmi/2008/01", "Symkey");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.oasis_open.docs.ekmi._2008._01
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link PermittedDatesType }
+ *
+ */
+ public PermittedDatesType createPermittedDatesType() {
+ return new PermittedDatesType();
+ }
+
+ /**
+ * Create an instance of {@link SymkeyWorkInProgressType }
+ *
+ */
+ public SymkeyWorkInProgressType createSymkeyWorkInProgressType() {
+ return new SymkeyWorkInProgressType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedApplicationsType }
+ *
+ */
+ public PermittedApplicationsType createPermittedApplicationsType() {
+ return new PermittedApplicationsType();
+ }
+
+ /**
+ * Create an instance of {@link KeyUsePolicyType }
+ *
+ */
+ public KeyUsePolicyType createKeyUsePolicyType() {
+ return new KeyUsePolicyType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedDatesType.PermittedDate }
+ *
+ */
+ public PermittedDatesType.PermittedDate createPermittedDatesTypePermittedDate() {
+ return new PermittedDatesType.PermittedDate();
+ }
+
+ /**
+ * Create an instance of {@link PermittedTimesType }
+ *
+ */
+ public PermittedTimesType createPermittedTimesType() {
+ return new PermittedTimesType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedDurationType }
+ *
+ */
+ public PermittedDurationType createPermittedDurationType() {
+ return new PermittedDurationType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedLocationsType }
+ *
+ */
+ public PermittedLocationsType createPermittedLocationsType() {
+ return new PermittedLocationsType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedNumberOfTransactionsType }
+ *
+ */
+ public PermittedNumberOfTransactionsType createPermittedNumberOfTransactionsType() {
+ return new PermittedNumberOfTransactionsType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedUsesType }
+ *
+ */
+ public PermittedUsesType createPermittedUsesType() {
+ return new PermittedUsesType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedLevelsType }
+ *
+ */
+ public PermittedLevelsType createPermittedLevelsType() {
+ return new PermittedLevelsType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedLocationsType.PermittedLocation }
+ *
+ */
+ public PermittedLocationsType.PermittedLocation createPermittedLocationsTypePermittedLocation() {
+ return new PermittedLocationsType.PermittedLocation();
+ }
+
+ /**
+ * Create an instance of {@link SymkeyType }
+ *
+ */
+ public SymkeyType createSymkeyType() {
+ return new SymkeyType();
+ }
+
+ /**
+ * Create an instance of {@link KeyCacheDetailType }
+ *
+ */
+ public KeyCacheDetailType createKeyCacheDetailType() {
+ return new KeyCacheDetailType();
+ }
+
+ /**
+ * Create an instance of {@link KeyClassesType }
+ *
+ */
+ public KeyClassesType createKeyClassesType() {
+ return new KeyClassesType();
+ }
+
+ /**
+ * Create an instance of {@link PermissionsType }
+ *
+ */
+ public PermissionsType createPermissionsType() {
+ return new PermissionsType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedTimesType.PermittedTime }
+ *
+ */
+ public PermittedTimesType.PermittedTime createPermittedTimesTypePermittedTime() {
+ return new PermittedTimesType.PermittedTime();
+ }
+
+ /**
+ * Create an instance of {@link KeyCachePolicyType }
+ *
+ */
+ public KeyCachePolicyType createKeyCachePolicyType() {
+ return new KeyCachePolicyType();
+ }
+
+ /**
+ * Create an instance of {@link PermittedDaysType }
+ *
+ */
+ public PermittedDaysType createPermittedDaysType() {
+ return new PermittedDaysType();
+ }
+
+ /**
+ * Create an instance of {@link SymkeyErrorType }
+ *
+ */
+ public SymkeyErrorType createSymkeyErrorType() {
+ return new SymkeyErrorType();
+ }
+
+ /**
+ * Create an instance of {@link ApplicationsType }
+ *
+ */
+ public ApplicationsType createApplicationsType() {
+ return new ApplicationsType();
+ }
+
+ /**
+ * Create an instance of {@link SymkeyResponse }
+ *
+ */
+ public SymkeyResponse createSymkeyResponse() {
+ return new SymkeyResponse();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "PermittedUse", scope = PermittedUsesType.class)
+ public JAXBElement<String> createPermittedUsesTypePermittedUse(String value) {
+ return new JAXBElement<String>(_PermittedUsesTypePermittedUse_QNAME, String.class, PermittedUsesType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Other", scope = PermittedUsesType.class)
+ public JAXBElement<Object> createPermittedUsesTypeOther(Object value) {
+ return new JAXBElement<Object>(_PermittedUsesTypeOther_QNAME, Object.class, PermittedUsesType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Status", scope = KeyUsePolicyType.class)
+ public JAXBElement<StatusType> createKeyUsePolicyTypeStatus(StatusType value) {
+ return new JAXBElement<StatusType>(_KeyUsePolicyTypeStatus_QNAME, StatusType.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "PolicyName", scope = KeyUsePolicyType.class)
+ public JAXBElement<String> createKeyUsePolicyTypePolicyName(String value) {
+ return new JAXBElement<String>(_KeyUsePolicyTypePolicyName_QNAME, String.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link PermissionsType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Permissions", scope = KeyUsePolicyType.class)
+ public JAXBElement<PermissionsType> createKeyUsePolicyTypePermissions(PermissionsType value) {
+ return new JAXBElement<PermissionsType>(_KeyUsePolicyTypePermissions_QNAME, PermissionsType.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "KeyClass", scope = KeyUsePolicyType.class)
+ public JAXBElement<String> createKeyUsePolicyTypeKeyClass(String value) {
+ return new JAXBElement<String>(_KeyUsePolicyTypeKeyClass_QNAME, String.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "KeySize", scope = KeyUsePolicyType.class)
+ public JAXBElement<Integer> createKeyUsePolicyTypeKeySize(Integer value) {
+ return new JAXBElement<Integer>(_KeyUsePolicyTypeKeySize_QNAME, Integer.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "KeyUsePolicyID", scope = KeyUsePolicyType.class)
+ public JAXBElement<String> createKeyUsePolicyTypeKeyUsePolicyID(String value) {
+ return new JAXBElement<String>(_KeyUsePolicyTypeKeyUsePolicyID_QNAME, String.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "KeyAlgorithm", scope = KeyUsePolicyType.class)
+ public JAXBElement<String> createKeyUsePolicyTypeKeyAlgorithm(String value) {
+ return new JAXBElement<String>(_KeyUsePolicyTypeKeyAlgorithm_QNAME, String.class, KeyUsePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Longitude", scope = PermittedLocationsType.PermittedLocation.class)
+ public JAXBElement<BigDecimal> createPermittedLocationsTypePermittedLocationLongitude(BigDecimal value) {
+ return new JAXBElement<BigDecimal>(_PermittedLocationsTypePermittedLocationLongitude_QNAME, BigDecimal.class, PermittedLocationsType.PermittedLocation.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Latitude", scope = PermittedLocationsType.PermittedLocation.class)
+ public JAXBElement<BigDecimal> createPermittedLocationsTypePermittedLocationLatitude(BigDecimal value) {
+ return new JAXBElement<BigDecimal>(_PermittedLocationsTypePermittedLocationLatitude_QNAME, BigDecimal.class, PermittedLocationsType.PermittedLocation.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "PolicyCheckInterval", scope = KeyCachePolicyType.class)
+ public JAXBElement<Integer> createKeyCachePolicyTypePolicyCheckInterval(Integer value) {
+ return new JAXBElement<Integer>(_KeyCachePolicyTypePolicyCheckInterval_QNAME, Integer.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "EndDate", scope = KeyCachePolicyType.class)
+ public JAXBElement<XMLGregorianCalendar> createKeyCachePolicyTypeEndDate(XMLGregorianCalendar value) {
+ return new JAXBElement<XMLGregorianCalendar>(_KeyCachePolicyTypeEndDate_QNAME, XMLGregorianCalendar.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Status", scope = KeyCachePolicyType.class)
+ public JAXBElement<StatusType> createKeyCachePolicyTypeStatus(StatusType value) {
+ return new JAXBElement<StatusType>(_KeyUsePolicyTypeStatus_QNAME, StatusType.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "PolicyName", scope = KeyCachePolicyType.class)
+ public JAXBElement<String> createKeyCachePolicyTypePolicyName(String value) {
+ return new JAXBElement<String>(_KeyUsePolicyTypePolicyName_QNAME, String.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "KeyCachePolicyID", scope = KeyCachePolicyType.class)
+ public JAXBElement<String> createKeyCachePolicyTypeKeyCachePolicyID(String value) {
+ return new JAXBElement<String>(_KeyCachePolicyTypeKeyCachePolicyID_QNAME, String.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "KeyClass", scope = KeyCachePolicyType.class)
+ public JAXBElement<String> createKeyCachePolicyTypeKeyClass(String value) {
+ return new JAXBElement<String>(_KeyUsePolicyTypeKeyClass_QNAME, String.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Description", scope = KeyCachePolicyType.class)
+ public JAXBElement<String> createKeyCachePolicyTypeDescription(String value) {
+ return new JAXBElement<String>(_KeyCachePolicyTypeDescription_QNAME, String.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "StartDate", scope = KeyCachePolicyType.class)
+ public JAXBElement<XMLGregorianCalendar> createKeyCachePolicyTypeStartDate(XMLGregorianCalendar value) {
+ return new JAXBElement<XMLGregorianCalendar>(_KeyCachePolicyTypeStartDate_QNAME, XMLGregorianCalendar.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link KeyCacheDetailType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "UsedKeysCacheDetail", scope = KeyCachePolicyType.class)
+ public JAXBElement<KeyCacheDetailType> createKeyCachePolicyTypeUsedKeysCacheDetail(KeyCacheDetailType value) {
+ return new JAXBElement<KeyCacheDetailType>(_KeyCachePolicyTypeUsedKeysCacheDetail_QNAME, KeyCacheDetailType.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link KeyCacheDetailType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "NewKeysCacheDetail", scope = KeyCachePolicyType.class)
+ public JAXBElement<KeyCacheDetailType> createKeyCachePolicyTypeNewKeysCacheDetail(KeyCacheDetailType value) {
+ return new JAXBElement<KeyCacheDetailType>(_KeyCachePolicyTypeNewKeysCacheDetail_QNAME, KeyCacheDetailType.class, KeyCachePolicyType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SymkeyErrorType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "SymkeyError")
+ public JAXBElement<SymkeyErrorType> createSymkeyError(SymkeyErrorType value) {
+ return new JAXBElement<SymkeyErrorType>(_SymkeyError_QNAME, SymkeyErrorType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SymkeyWorkInProgressType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "SymkeyWorkInProgress")
+ public JAXBElement<SymkeyWorkInProgressType> createSymkeyWorkInProgress(SymkeyWorkInProgressType value) {
+ return new JAXBElement<SymkeyWorkInProgressType>(_SymkeyWorkInProgress_QNAME, SymkeyWorkInProgressType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SymkeyType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://docs.oasis-open.org/ekmi/2008/01", name = "Symkey")
+ public JAXBElement<SymkeyType> createSymkey(SymkeyType value) {
+ return new JAXBElement<SymkeyType>(_Symkey_QNAME, SymkeyType.class, null, value);
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermissionsType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermissionsType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermissionsType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,338 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * This is a required element that allows companies to define
+ * how the symmetric key may be used. It will be included in
+ * the KUP object returned with the symmetric key. Applications
+ * must parse through the permissions before using the key and
+ * only allow what is permitted for that permission type.
+ *
+ * All "Permitted..." sub-elements - except for the Other element -
+ * are required. However, if the attribute "any" for each of the
+ * "Permitted..." sub-elements is set to "true", then the xsi:nil
+ * attribute must also be set to "true" and the sub-element must
+ * be empty. If the value of the "any" attribute for a specific
+ * "Permitted..." sub-element is "false", then at least one child
+ * element must exist for the "Permitted..." sub-element and the
+ * xsi:nil attribute must not exist.
+ *
+ *
+ * <p>Java class for PermissionsType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermissionsType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedApplications" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedApplicationsType"/>
+ * <element name="PermittedDates" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedDatesType"/>
+ * <element name="PermittedDays" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedDaysType"/>
+ * <element name="PermittedDuration" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedDurationType"/>
+ * <element name="PermittedLevels" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedLevelsType"/>
+ * <element name="PermittedLocations" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedLocationsType"/>
+ * <element name="PermittedNumberOfTransactions" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedNumberOfTransactionsType"/>
+ * <element name="PermittedTimes" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedTimesType"/>
+ * <element name="PermittedUses" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedUsesType"/>
+ * <element name="Other" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermissionsType", propOrder = {
+ "permittedApplications",
+ "permittedDates",
+ "permittedDays",
+ "permittedDuration",
+ "permittedLevels",
+ "permittedLocations",
+ "permittedNumberOfTransactions",
+ "permittedTimes",
+ "permittedUses",
+ "other"
+})
+public class PermissionsType {
+
+ @XmlElement(name = "PermittedApplications", required = true, nillable = true)
+ protected PermittedApplicationsType permittedApplications;
+ @XmlElement(name = "PermittedDates", required = true, nillable = true)
+ protected PermittedDatesType permittedDates;
+ @XmlElement(name = "PermittedDays", required = true, nillable = true)
+ protected PermittedDaysType permittedDays;
+ @XmlElement(name = "PermittedDuration", required = true, nillable = true)
+ protected PermittedDurationType permittedDuration;
+ @XmlElement(name = "PermittedLevels", required = true, nillable = true)
+ protected PermittedLevelsType permittedLevels;
+ @XmlElement(name = "PermittedLocations", required = true, nillable = true)
+ protected PermittedLocationsType permittedLocations;
+ @XmlElement(name = "PermittedNumberOfTransactions", required = true, nillable = true)
+ protected PermittedNumberOfTransactionsType permittedNumberOfTransactions;
+ @XmlElement(name = "PermittedTimes", required = true, nillable = true)
+ protected PermittedTimesType permittedTimes;
+ @XmlElement(name = "PermittedUses", required = true, nillable = true)
+ protected PermittedUsesType permittedUses;
+ @XmlElement(name = "Other")
+ protected Object other;
+
+ /**
+ * Gets the value of the permittedApplications property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedApplicationsType }
+ *
+ */
+ public PermittedApplicationsType getPermittedApplications() {
+ return permittedApplications;
+ }
+
+ /**
+ * Sets the value of the permittedApplications property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedApplicationsType }
+ *
+ */
+ public void setPermittedApplications(PermittedApplicationsType value) {
+ this.permittedApplications = value;
+ }
+
+ /**
+ * Gets the value of the permittedDates property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedDatesType }
+ *
+ */
+ public PermittedDatesType getPermittedDates() {
+ return permittedDates;
+ }
+
+ /**
+ * Sets the value of the permittedDates property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedDatesType }
+ *
+ */
+ public void setPermittedDates(PermittedDatesType value) {
+ this.permittedDates = value;
+ }
+
+ /**
+ * Gets the value of the permittedDays property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedDaysType }
+ *
+ */
+ public PermittedDaysType getPermittedDays() {
+ return permittedDays;
+ }
+
+ /**
+ * Sets the value of the permittedDays property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedDaysType }
+ *
+ */
+ public void setPermittedDays(PermittedDaysType value) {
+ this.permittedDays = value;
+ }
+
+ /**
+ * Gets the value of the permittedDuration property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedDurationType }
+ *
+ */
+ public PermittedDurationType getPermittedDuration() {
+ return permittedDuration;
+ }
+
+ /**
+ * Sets the value of the permittedDuration property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedDurationType }
+ *
+ */
+ public void setPermittedDuration(PermittedDurationType value) {
+ this.permittedDuration = value;
+ }
+
+ /**
+ * Gets the value of the permittedLevels property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedLevelsType }
+ *
+ */
+ public PermittedLevelsType getPermittedLevels() {
+ return permittedLevels;
+ }
+
+ /**
+ * Sets the value of the permittedLevels property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedLevelsType }
+ *
+ */
+ public void setPermittedLevels(PermittedLevelsType value) {
+ this.permittedLevels = value;
+ }
+
+ /**
+ * Gets the value of the permittedLocations property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedLocationsType }
+ *
+ */
+ public PermittedLocationsType getPermittedLocations() {
+ return permittedLocations;
+ }
+
+ /**
+ * Sets the value of the permittedLocations property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedLocationsType }
+ *
+ */
+ public void setPermittedLocations(PermittedLocationsType value) {
+ this.permittedLocations = value;
+ }
+
+ /**
+ * Gets the value of the permittedNumberOfTransactions property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedNumberOfTransactionsType }
+ *
+ */
+ public PermittedNumberOfTransactionsType getPermittedNumberOfTransactions() {
+ return permittedNumberOfTransactions;
+ }
+
+ /**
+ * Sets the value of the permittedNumberOfTransactions property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedNumberOfTransactionsType }
+ *
+ */
+ public void setPermittedNumberOfTransactions(PermittedNumberOfTransactionsType value) {
+ this.permittedNumberOfTransactions = value;
+ }
+
+ /**
+ * Gets the value of the permittedTimes property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedTimesType }
+ *
+ */
+ public PermittedTimesType getPermittedTimes() {
+ return permittedTimes;
+ }
+
+ /**
+ * Sets the value of the permittedTimes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedTimesType }
+ *
+ */
+ public void setPermittedTimes(PermittedTimesType value) {
+ this.permittedTimes = value;
+ }
+
+ /**
+ * Gets the value of the permittedUses property.
+ *
+ * @return
+ * possible object is
+ * {@link PermittedUsesType }
+ *
+ */
+ public PermittedUsesType getPermittedUses() {
+ return permittedUses;
+ }
+
+ /**
+ * Sets the value of the permittedUses property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PermittedUsesType }
+ *
+ */
+ public void setPermittedUses(PermittedUsesType value) {
+ this.permittedUses = value;
+ }
+
+ /**
+ * Gets the value of the other property.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public Object getOther() {
+ return other;
+ }
+
+ /**
+ * Sets the value of the other property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setOther(Object value) {
+ this.other = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedApplicationsType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedApplicationsType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedApplicationsType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,104 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for PermittedApplicationsType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedApplicationsType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedApplication" type="{http://docs.oasis-open.org/ekmi/2008/01}ApplicationsType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedApplicationsType", propOrder = {
+ "permittedApplication"
+})
+public class PermittedApplicationsType {
+
+ @XmlElement(name = "PermittedApplication")
+ protected List<ApplicationsType> permittedApplication;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the permittedApplication property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the permittedApplication property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPermittedApplication().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ApplicationsType }
+ *
+ *
+ */
+ public List<ApplicationsType> getPermittedApplication() {
+ if (permittedApplication == null) {
+ permittedApplication = new ArrayList<ApplicationsType>();
+ }
+ return this.permittedApplication;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDatesType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDatesType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDatesType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,223 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for PermittedDatesType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedDatesType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedDate" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StartDate">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}date">
+ * <pattern value="\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="EndDate">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}date">
+ * <pattern value="\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedDatesType", propOrder = {
+ "permittedDate"
+})
+public class PermittedDatesType {
+
+ @XmlElement(name = "PermittedDate")
+ protected List<PermittedDatesType.PermittedDate> permittedDate;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the permittedDate property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the permittedDate property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPermittedDate().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PermittedDatesType.PermittedDate }
+ *
+ *
+ */
+ public List<PermittedDatesType.PermittedDate> getPermittedDate() {
+ if (permittedDate == null) {
+ permittedDate = new ArrayList<PermittedDatesType.PermittedDate>();
+ }
+ return this.permittedDate;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StartDate">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}date">
+ * <pattern value="\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="EndDate">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}date">
+ * <pattern value="\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "startDate",
+ "endDate"
+ })
+ public static class PermittedDate {
+
+ @XmlElement(name = "StartDate", required = true)
+ protected XMLGregorianCalendar startDate;
+ @XmlElement(name = "EndDate", required = true)
+ protected XMLGregorianCalendar endDate;
+
+ /**
+ * Gets the value of the startDate property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getStartDate() {
+ return startDate;
+ }
+
+ /**
+ * Sets the value of the startDate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setStartDate(XMLGregorianCalendar value) {
+ this.startDate = value;
+ }
+
+ /**
+ * Gets the value of the endDate property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getEndDate() {
+ return endDate;
+ }
+
+ /**
+ * Sets the value of the endDate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setEndDate(XMLGregorianCalendar value) {
+ this.endDate = value;
+ }
+
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDayType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDayType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDayType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for PermittedDayType.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * <simpleType name="PermittedDayType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Sunday"/>
+ * <enumeration value="Monday"/>
+ * <enumeration value="Tuesday"/>
+ * <enumeration value="Wednesday"/>
+ * <enumeration value="Thursday"/>
+ * <enumeration value="Friday"/>
+ * <enumeration value="Saturday"/>
+ * <enumeration value="Weekday"/>
+ * <enumeration value="Weekend"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "PermittedDayType")
+@XmlEnum
+public enum PermittedDayType {
+
+ @XmlEnumValue("Sunday")
+ SUNDAY("Sunday"),
+ @XmlEnumValue("Monday")
+ MONDAY("Monday"),
+ @XmlEnumValue("Tuesday")
+ TUESDAY("Tuesday"),
+ @XmlEnumValue("Wednesday")
+ WEDNESDAY("Wednesday"),
+ @XmlEnumValue("Thursday")
+ THURSDAY("Thursday"),
+ @XmlEnumValue("Friday")
+ FRIDAY("Friday"),
+ @XmlEnumValue("Saturday")
+ SATURDAY("Saturday"),
+ @XmlEnumValue("Weekday")
+ WEEKDAY("Weekday"),
+ @XmlEnumValue("Weekend")
+ WEEKEND("Weekend");
+ private final String value;
+
+ PermittedDayType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static PermittedDayType fromValue(String v) {
+ for (PermittedDayType c: PermittedDayType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDaysType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDaysType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDaysType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,104 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for PermittedDaysType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedDaysType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedDay" type="{http://docs.oasis-open.org/ekmi/2008/01}PermittedDayType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedDaysType", propOrder = {
+ "permittedDay"
+})
+public class PermittedDaysType {
+
+ @XmlElement(name = "PermittedDay")
+ protected List<PermittedDayType> permittedDay;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the permittedDay property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the permittedDay property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPermittedDay().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PermittedDayType }
+ *
+ *
+ */
+ public List<PermittedDayType> getPermittedDay() {
+ if (permittedDay == null) {
+ permittedDay = new ArrayList<PermittedDayType>();
+ }
+ return this.permittedDay;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDurationType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDurationType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedDurationType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,103 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ *
+ * A complex-type to wrap the DurationType with the "any"
+ * attribute.
+ *
+ *
+ * <p>Java class for PermittedDurationType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedDurationType">
+ * <simpleContent>
+ * <extension base="<http://docs.oasis-open.org/ekmi/2008/01>DurationType">
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedDurationType", propOrder = {
+ "value"
+})
+public class PermittedDurationType {
+
+ @XmlValue
+ protected BigInteger value;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ *
+ * The number of seconds a symmetric key may be used for, once
+ * the client application starts using the key.
+ *
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setValue(BigInteger value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLevelsType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLevelsType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLevelsType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,132 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for PermittedLevelsType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedLevelsType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedLevel" type="{http://docs.oasis-open.org/ekmi/2008/01}LevelClassificationType" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="Other" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedLevelsType", propOrder = {
+ "permittedLevel",
+ "other"
+})
+public class PermittedLevelsType {
+
+ @XmlElement(name = "PermittedLevel")
+ protected List<LevelClassificationType> permittedLevel;
+ @XmlElement(name = "Other")
+ protected Object other;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the permittedLevel property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the permittedLevel property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPermittedLevel().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link LevelClassificationType }
+ *
+ *
+ */
+ public List<LevelClassificationType> getPermittedLevel() {
+ if (permittedLevel == null) {
+ permittedLevel = new ArrayList<LevelClassificationType>();
+ }
+ return this.permittedLevel;
+ }
+
+ /**
+ * Gets the value of the other property.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public Object getOther() {
+ return other;
+ }
+
+ /**
+ * Sets the value of the other property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setOther(Object value) {
+ this.other = value;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLocationsType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLocationsType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedLocationsType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,264 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * A list of physical locations of the client, where the key
+ * may be used. This is specific to the application and may
+ * consist of GPS coordinates, Building numbers, secure rooms,
+ * cities, etc. Its meaning is application-defined.
+ *
+ * When the "any" attribute is set to "true", no PermittedLocation
+ * elements must appear in this element.
+ *
+ *
+ * <p>Java class for PermittedLocationsType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedLocationsType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedLocation" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LocationName">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="256"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <group ref="{http://docs.oasis-open.org/ekmi/2008/01}LocationCoordinateGroup" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="Other" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedLocationsType", propOrder = {
+ "permittedLocation"
+})
+public class PermittedLocationsType {
+
+ @XmlElement(name = "PermittedLocation")
+ protected List<PermittedLocationsType.PermittedLocation> permittedLocation;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the permittedLocation property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the permittedLocation property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPermittedLocation().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PermittedLocationsType.PermittedLocation }
+ *
+ *
+ */
+ public List<PermittedLocationsType.PermittedLocation> getPermittedLocation() {
+ if (permittedLocation == null) {
+ permittedLocation = new ArrayList<PermittedLocationsType.PermittedLocation>();
+ }
+ return this.permittedLocation;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LocationName">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="256"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <group ref="{http://docs.oasis-open.org/ekmi/2008/01}LocationCoordinateGroup" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="Other" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "locationName",
+ "locationCoordinateGroup",
+ "other"
+ })
+ public static class PermittedLocation {
+
+ @XmlElement(name = "LocationName", required = true)
+ protected String locationName;
+ @XmlElementRefs({
+ @XmlElementRef(name = "Latitude", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "Longitude", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class)
+ })
+ protected List<JAXBElement<BigDecimal>> locationCoordinateGroup;
+ @XmlElement(name = "Other")
+ protected Object other;
+
+ /**
+ * Gets the value of the locationName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLocationName() {
+ return locationName;
+ }
+
+ /**
+ * Sets the value of the locationName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLocationName(String value) {
+ this.locationName = value;
+ }
+
+ /**
+ * Gets the value of the locationCoordinateGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the locationCoordinateGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLocationCoordinateGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}
+ * {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}
+ *
+ *
+ */
+ public List<JAXBElement<BigDecimal>> getLocationCoordinateGroup() {
+ if (locationCoordinateGroup == null) {
+ locationCoordinateGroup = new ArrayList<JAXBElement<BigDecimal>>();
+ }
+ return this.locationCoordinateGroup;
+ }
+
+ /**
+ * Gets the value of the other property.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public Object getOther() {
+ return other;
+ }
+
+ /**
+ * Sets the value of the other property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setOther(Object value) {
+ this.other = value;
+ }
+
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedNumberOfTransactionsType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedNumberOfTransactionsType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedNumberOfTransactionsType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,103 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ *
+ * A complex-type to wrap the NumberOfTransactionsType with
+ * the "any" attribute.
+ *
+ *
+ * <p>Java class for PermittedNumberOfTransactionsType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedNumberOfTransactionsType">
+ * <simpleContent>
+ * <extension base="<http://docs.oasis-open.org/ekmi/2008/01>NumberOfTransactionsType">
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedNumberOfTransactionsType", propOrder = {
+ "value"
+})
+public class PermittedNumberOfTransactionsType {
+
+ @XmlValue
+ protected BigInteger value;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ *
+ * The number of encryption transactions permitted with this
+ * symmetric key. It does not limit decryption transactions.
+ *
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setValue(BigInteger value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedTimesType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedTimesType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedTimesType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,223 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for PermittedTimesType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedTimesType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedTime" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StartTime">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}time">
+ * <pattern value="\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="EndTime">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}time">
+ * <pattern value="\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedTimesType", propOrder = {
+ "permittedTime"
+})
+public class PermittedTimesType {
+
+ @XmlElement(name = "PermittedTime")
+ protected List<PermittedTimesType.PermittedTime> permittedTime;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the permittedTime property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the permittedTime property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPermittedTime().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PermittedTimesType.PermittedTime }
+ *
+ *
+ */
+ public List<PermittedTimesType.PermittedTime> getPermittedTime() {
+ if (permittedTime == null) {
+ permittedTime = new ArrayList<PermittedTimesType.PermittedTime>();
+ }
+ return this.permittedTime;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="StartTime">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}time">
+ * <pattern value="\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="EndTime">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}time">
+ * <pattern value="\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "startTime",
+ "endTime"
+ })
+ public static class PermittedTime {
+
+ @XmlElement(name = "StartTime", required = true)
+ protected XMLGregorianCalendar startTime;
+ @XmlElement(name = "EndTime", required = true)
+ protected XMLGregorianCalendar endTime;
+
+ /**
+ * Gets the value of the startTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * Sets the value of the startTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setStartTime(XMLGregorianCalendar value) {
+ this.startTime = value;
+ }
+
+ /**
+ * Gets the value of the endTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * Sets the value of the endTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setEndTime(XMLGregorianCalendar value) {
+ this.endTime = value;
+ }
+
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedUsesType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedUsesType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/PermittedUsesType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,122 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlMixed;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for PermittedUsesType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="PermittedUsesType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="PermittedUse" maxOccurs="unbounded" minOccurs="0">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="256"/>
+ * <whiteSpace value="preserve"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="Other" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
+ * </sequence>
+ * <attribute ref="{http://docs.oasis-open.org/ekmi/2008/01}any use="required""/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PermittedUsesType", propOrder = {
+ "content"
+})
+public class PermittedUsesType {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "Other", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "PermittedUse", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class)
+ })
+ @XmlMixed
+ protected List<Serializable> content;
+ @XmlAttribute(namespace = "http://docs.oasis-open.org/ekmi/2008/01", required = true)
+ protected String any;
+
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ * {@link JAXBElement }{@code <}{@link Object }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ *
+ */
+ public List<Serializable> getContent() {
+ if (content == null) {
+ content = new ArrayList<Serializable>();
+ }
+ return this.content;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAny(String value) {
+ this.any = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/StatusType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/StatusType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/StatusType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,100 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatusType.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * <simpleType name="StatusType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="Active"/>
+ * <enumeration value="Default"/>
+ * <enumeration value="Inactive"/>
+ * <enumeration value="Other"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "StatusType")
+@XmlEnum
+public enum StatusType {
+
+
+ /**
+ *
+ * An active policy. If this element is in the
+ * KeyCachePolicy object, it indicates that symmetric
+ * keys may be cached with this KCP. If it is in the
+ * KeyUsePolicy object, it indicates that the symmetric
+ * key may be used for encryption.
+ *
+ *
+ */
+ @XmlEnumValue("Active")
+ ACTIVE("Active"),
+
+ /**
+ *
+ * The default policy in the absence of a named KCP or
+ * KUP. It is automatically active, unless over-ridden.
+ *
+ *
+ */
+ @XmlEnumValue("Default")
+ DEFAULT("Default"),
+
+ /**
+ *
+ * A policy that, in the case of the KCP, must not be
+ * used for caching any symmetric keys or in the case
+ * of a KUP for encryption.
+ *
+ *
+ */
+ @XmlEnumValue("Inactive")
+ INACTIVE("Inactive"),
+
+ /**
+ *
+ * A policy that has an implementation-specific action.
+ * Recommended only for test-use.
+ *
+ *
+ */
+ @XmlEnumValue("Other")
+ OTHER("Other");
+ private final String value;
+
+ StatusType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static StatusType fromValue(String v) {
+ for (StatusType c: StatusType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyErrorType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyErrorType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyErrorType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,198 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * A response with an error message in the event that a request
+ * was not successful.
+ *
+ *
+ * <p>Java class for SymkeyErrorType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="SymkeyErrorType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SymkeyRequestID" type="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyRequestIDType"/>
+ * <element name="RequestedGlobalKeyID" type="{http://docs.oasis-open.org/ekmi/2008/01}GlobalKeyIDType"/>
+ * <element name="RequestedKeyClass" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyClassType" minOccurs="0"/>
+ * <element name="ErrorCode">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="255"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * <element name="ErrorMessage">
+ * <simpleType>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <maxLength value="1024"/>
+ * </restriction>
+ * </simpleType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SymkeyErrorType", propOrder = {
+ "symkeyRequestID",
+ "requestedGlobalKeyID",
+ "requestedKeyClass",
+ "errorCode",
+ "errorMessage"
+})
+public class SymkeyErrorType {
+
+ @XmlElement(name = "SymkeyRequestID", required = true)
+ protected String symkeyRequestID;
+ @XmlElement(name = "RequestedGlobalKeyID", required = true)
+ protected String requestedGlobalKeyID;
+ @XmlElement(name = "RequestedKeyClass")
+ protected String requestedKeyClass;
+ @XmlElement(name = "ErrorCode", required = true)
+ protected String errorCode;
+ @XmlElement(name = "ErrorMessage", required = true)
+ protected String errorMessage;
+
+ /**
+ * Gets the value of the symkeyRequestID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSymkeyRequestID() {
+ return symkeyRequestID;
+ }
+
+ /**
+ * Sets the value of the symkeyRequestID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSymkeyRequestID(String value) {
+ this.symkeyRequestID = value;
+ }
+
+ /**
+ * Gets the value of the requestedGlobalKeyID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRequestedGlobalKeyID() {
+ return requestedGlobalKeyID;
+ }
+
+ /**
+ * Sets the value of the requestedGlobalKeyID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRequestedGlobalKeyID(String value) {
+ this.requestedGlobalKeyID = value;
+ }
+
+ /**
+ * Gets the value of the requestedKeyClass property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRequestedKeyClass() {
+ return requestedKeyClass;
+ }
+
+ /**
+ * Sets the value of the requestedKeyClass property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRequestedKeyClass(String value) {
+ this.requestedKeyClass = value;
+ }
+
+ /**
+ * Gets the value of the errorCode property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * Sets the value of the errorCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setErrorCode(String value) {
+ this.errorCode = value;
+ }
+
+ /**
+ * Gets the value of the errorMessage property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ /**
+ * Sets the value of the errorMessage property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setErrorMessage(String value) {
+ this.errorMessage = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyRequest.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyRequest.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyRequest.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,169 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:00:39 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice>
+ * <sequence>
+ * <element name="GlobalKeyID" type="{http://docs.oasis-open.org/ekmi/2008/01}GlobalKeyIDType" maxOccurs="unbounded"/>
+ * <element name="KeyClasses" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyClassesType" minOccurs="0"/>
+ * <element name="X509EncryptionCertificate" type="{http://docs.oasis-open.org/ekmi/2008/01}X509CertificateType" minOccurs="0"/>
+ * </sequence>
+ * <sequence>
+ * <element name="SymkeyRequestID" type="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyRequestIDType" maxOccurs="unbounded"/>
+ * </sequence>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "globalKeyID",
+ "keyClasses",
+ "x509EncryptionCertificate",
+ "symkeyRequestID"
+})
+@XmlRootElement(name = "SymkeyRequest")
+public class SymkeyRequest {
+
+ @XmlElement(name = "GlobalKeyID")
+ protected List<String> globalKeyID;
+ @XmlElement(name = "KeyClasses")
+ protected KeyClassesType keyClasses;
+ @XmlElement(name = "X509EncryptionCertificate")
+ protected byte[] x509EncryptionCertificate;
+ @XmlElement(name = "SymkeyRequestID")
+ protected List<String> symkeyRequestID;
+
+ /**
+ * Gets the value of the globalKeyID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the globalKeyID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getGlobalKeyID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getGlobalKeyID() {
+ if (globalKeyID == null) {
+ globalKeyID = new ArrayList<String>();
+ }
+ return this.globalKeyID;
+ }
+
+ /**
+ * Gets the value of the keyClasses property.
+ *
+ * @return
+ * possible object is
+ * {@link KeyClassesType }
+ *
+ */
+ public KeyClassesType getKeyClasses() {
+ return keyClasses;
+ }
+
+ /**
+ * Sets the value of the keyClasses property.
+ *
+ * @param value
+ * allowed object is
+ * {@link KeyClassesType }
+ *
+ */
+ public void setKeyClasses(KeyClassesType value) {
+ this.keyClasses = value;
+ }
+
+ /**
+ * Gets the value of the x509EncryptionCertificate property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getX509EncryptionCertificate() {
+ return x509EncryptionCertificate;
+ }
+
+ /**
+ * Sets the value of the x509EncryptionCertificate property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setX509EncryptionCertificate(byte[] value) {
+ this.x509EncryptionCertificate = ((byte[]) value);
+ }
+
+ /**
+ * Gets the value of the symkeyRequestID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the symkeyRequestID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSymkeyRequestID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getSymkeyRequestID() {
+ if (symkeyRequestID == null) {
+ symkeyRequestID = new ArrayList<String>();
+ }
+ return this.symkeyRequestID;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyResponse.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyResponse.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyResponse.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,107 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice>
+ * <sequence>
+ * <element ref="{http://docs.oasis-open.org/ekmi/2008/01}Symkey" maxOccurs="unbounded"/>
+ * <element ref="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyWorkInProgress" maxOccurs="unbounded" minOccurs="0"/>
+ * <element ref="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyError" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <sequence>
+ * <element ref="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyWorkInProgress" maxOccurs="unbounded"/>
+ * <element ref="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyError" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * <sequence>
+ * <element ref="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyError" maxOccurs="unbounded"/>
+ * </sequence>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "content"
+})
+@XmlRootElement(name = "SymkeyResponse")
+public class SymkeyResponse {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "SymkeyError", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "SymkeyWorkInProgress", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class),
+ @XmlElementRef(name = "Symkey", namespace = "http://docs.oasis-open.org/ekmi/2008/01", type = JAXBElement.class)
+ })
+ protected List<JAXBElement<?>> content;
+
+ /**
+ * Gets the rest of the content model.
+ *
+ * <p>
+ * You are getting this "catch-all" property because of the following reason:
+ * The field name "SymkeyWorkInProgress" is used by two different parts of a schema. See:
+ * line 78 of file:/home/anil/ekmi/symkeyResponse.xsd
+ * line 74 of file:/home/anil/ekmi/symkeyResponse.xsd
+ * <p>
+ * To get rid of this property, apply a property customization to one
+ * of both of the following declarations to change their names:
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link SymkeyWorkInProgressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link SymkeyErrorType }{@code >}
+ * {@link JAXBElement }{@code <}{@link SymkeyType }{@code >}
+ *
+ *
+ */
+ public List<JAXBElement<?>> getContent() {
+ if (content == null) {
+ content = new ArrayList<JAXBElement<?>>();
+ }
+ return this.content;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,192 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.identity.xmlsec.w3.xmlenc.CipherDataType;
+import org.jboss.identity.xmlsec.w3.xmlenc.EncryptionMethodType;
+
+
+/**
+ *
+ * A symmetric key object, which is the succesfully response
+ * of a request for a key from an SKMS client to an SKS server.
+ * While the
+ *
+ *
+ * <p>Java class for SymkeyType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="SymkeyType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SymkeyRequestID" type="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyRequestIDType"/>
+ * <element name="GlobalKeyID" type="{http://docs.oasis-open.org/ekmi/2008/01}GlobalKeyIDType"/>
+ * <element name="KeyUsePolicy" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyUsePolicyType"/>
+ * <element name="EncryptionMethod" type="{http://www.w3.org/2001/04/xmlenc#}EncryptionMethodType"/>
+ * <element ref="{http://www.w3.org/2001/04/xmlenc#}CipherData"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SymkeyType", propOrder = {
+ "symkeyRequestID",
+ "globalKeyID",
+ "keyUsePolicy",
+ "encryptionMethod",
+ "cipherData"
+})
+public class SymkeyType {
+
+ @XmlElement(name = "SymkeyRequestID", required = true)
+ protected String symkeyRequestID;
+ @XmlElement(name = "GlobalKeyID", required = true)
+ protected String globalKeyID;
+ @XmlElement(name = "KeyUsePolicy", required = true)
+ protected KeyUsePolicyType keyUsePolicy;
+ @XmlElement(name = "EncryptionMethod", required = true)
+ protected EncryptionMethodType encryptionMethod;
+ @XmlElement(name = "CipherData", namespace = "http://www.w3.org/2001/04/xmlenc#", required = true)
+ protected CipherDataType cipherData;
+
+ /**
+ * Gets the value of the symkeyRequestID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSymkeyRequestID() {
+ return symkeyRequestID;
+ }
+
+ /**
+ * Sets the value of the symkeyRequestID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSymkeyRequestID(String value) {
+ this.symkeyRequestID = value;
+ }
+
+ /**
+ * Gets the value of the globalKeyID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGlobalKeyID() {
+ return globalKeyID;
+ }
+
+ /**
+ * Sets the value of the globalKeyID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGlobalKeyID(String value) {
+ this.globalKeyID = value;
+ }
+
+ /**
+ * Gets the value of the keyUsePolicy property.
+ *
+ * @return
+ * possible object is
+ * {@link KeyUsePolicyType }
+ *
+ */
+ public KeyUsePolicyType getKeyUsePolicy() {
+ return keyUsePolicy;
+ }
+
+ /**
+ * Sets the value of the keyUsePolicy property.
+ *
+ * @param value
+ * allowed object is
+ * {@link KeyUsePolicyType }
+ *
+ */
+ public void setKeyUsePolicy(KeyUsePolicyType value) {
+ this.keyUsePolicy = value;
+ }
+
+ /**
+ * Gets the value of the encryptionMethod property.
+ *
+ * @return
+ * possible object is
+ * {@link EncryptionMethodType }
+ *
+ */
+ public EncryptionMethodType getEncryptionMethod() {
+ return encryptionMethod;
+ }
+
+ /**
+ * Sets the value of the encryptionMethod property.
+ *
+ * @param value
+ * allowed object is
+ * {@link EncryptionMethodType }
+ *
+ */
+ public void setEncryptionMethod(EncryptionMethodType value) {
+ this.encryptionMethod = value;
+ }
+
+ /**
+ *
+ * The encrypted symmetric key.
+ *
+ *
+ * @return
+ * possible object is
+ * {@link CipherDataType }
+ *
+ */
+ public CipherDataType getCipherData() {
+ return cipherData;
+ }
+
+ /**
+ * Sets the value of the cipherData property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CipherDataType }
+ *
+ */
+ public void setCipherData(CipherDataType value) {
+ this.cipherData = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyWorkInProgressType.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyWorkInProgressType.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/SymkeyWorkInProgressType.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,151 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+
+package org.jboss.identity.skms.v1.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
+ * A response to an asynchronous request for a symmetric key,
+ * indicating that the request is being worked on by the SKS
+ * server.
+ *
+ *
+ * <p>Java class for SymkeyWorkInProgressType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="SymkeyWorkInProgressType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RequestedGlobalKeyID" type="{http://docs.oasis-open.org/ekmi/2008/01}GlobalKeyIDType"/>
+ * <element name="RequestedKeyClass" type="{http://docs.oasis-open.org/ekmi/2008/01}KeyClassType" minOccurs="0"/>
+ * <element name="SymkeyRequestID" type="{http://docs.oasis-open.org/ekmi/2008/01}SymkeyRequestIDType"/>
+ * <element name="RequestCheckInterval" type="{http://docs.oasis-open.org/ekmi/2008/01}RequestCheckIntervalType"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SymkeyWorkInProgressType", propOrder = {
+ "requestedGlobalKeyID",
+ "requestedKeyClass",
+ "symkeyRequestID",
+ "requestCheckInterval"
+})
+public class SymkeyWorkInProgressType {
+
+ @XmlElement(name = "RequestedGlobalKeyID", required = true)
+ protected String requestedGlobalKeyID;
+ @XmlElement(name = "RequestedKeyClass")
+ protected String requestedKeyClass;
+ @XmlElement(name = "SymkeyRequestID", required = true)
+ protected String symkeyRequestID;
+ @XmlElement(name = "RequestCheckInterval")
+ protected int requestCheckInterval;
+
+ /**
+ * Gets the value of the requestedGlobalKeyID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRequestedGlobalKeyID() {
+ return requestedGlobalKeyID;
+ }
+
+ /**
+ * Sets the value of the requestedGlobalKeyID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRequestedGlobalKeyID(String value) {
+ this.requestedGlobalKeyID = value;
+ }
+
+ /**
+ * Gets the value of the requestedKeyClass property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRequestedKeyClass() {
+ return requestedKeyClass;
+ }
+
+ /**
+ * Sets the value of the requestedKeyClass property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRequestedKeyClass(String value) {
+ this.requestedKeyClass = value;
+ }
+
+ /**
+ * Gets the value of the symkeyRequestID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSymkeyRequestID() {
+ return symkeyRequestID;
+ }
+
+ /**
+ * Sets the value of the symkeyRequestID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSymkeyRequestID(String value) {
+ this.symkeyRequestID = value;
+ }
+
+ /**
+ * Gets the value of the requestCheckInterval property.
+ *
+ */
+ public int getRequestCheckInterval() {
+ return requestCheckInterval;
+ }
+
+ /**
+ * Sets the value of the requestCheckInterval property.
+ *
+ */
+ public void setRequestCheckInterval(int value) {
+ this.requestCheckInterval = value;
+ }
+
+}
Added: xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/package-info.java
===================================================================
--- xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/package-info.java (rev 0)
+++ xmlkey/trunk/skms/src/main/java/org/jboss/identity/skms/v1/model/package-info.java 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,9 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2009.01.18 at 10:01:04 PM CST
+//
+
+(a)javax.xml.bind.annotation.XmlSchema(namespace = "http://docs.oasis-open.org/ekmi/2008/01", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.jboss.identity.skms.v1.model;
Added: xmlkey/trunk/skms/src/main/resources/schema/ekmi/EKMICoreLibrary.xsd
===================================================================
--- xmlkey/trunk/skms/src/main/resources/schema/ekmi/EKMICoreLibrary.xsd (rev 0)
+++ xmlkey/trunk/skms/src/main/resources/schema/ekmi/EKMICoreLibrary.xsd 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,1678 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Document : EKMICoreLibrary.xsd
+ Author : Arshad Noor
+ Version : DRAFT version 8.0
+ Description: This document defines the core XML Schema data-types for
+ the EKMI TC's Symmetric Key Services Markup Language (SKSML).
+
+ Modified on : November 18, 2008, 10:17 AM
+ Changes in DRAFT 8.0 (current version)
+
+ 01) Created the X509CertificateType to support sending the encryption
+ certificate to the SKS server when requesting a symmetric-key. This
+ allows the SKMS to be encrypt the response to the client without
+ having to have the requester's encryption certificate in the SKMS DB.
+
+ Modified on : November 03, 2008, 3:17 PM
+ Changes in DRAFT 7.0
+
+ 01) Created the SymkeyWorkInProgressType to support asynchronous requests
+ and responses between SKCLs and SKS servers. While the SKSML request
+ will still be enclosed in a SOAP element with a digital signature, the
+ request may now be sent over other protocols besides HTTP (such as SMTP).
+
+ 02) Created a SymkeyRequestID element and SymkeyRequestIDType to allow the
+ client and server to track an asynchronous request and response.
+
+ 03) Created the RequestCheckIntervalType to allows the SKS server to tell
+ clients how frequently they may poll a server on a work-in-progress
+ request.
+
+ 04) Modified SymkeyType to include the SymkeyRequestID element.
+
+ 05) Modified SymekyError to include the SymkeyRequestID element.
+
+ Modified on : June 23, 2008, 3:17 PM
+ Changes in DRAFT 6.0
+
+ 01) Added the "any" attribute which has either a "true" or "false" value.
+ This attribute will be used in all the "Permitted..." sub-elements of
+ the Permissions element.
+
+ 02) Added a DurationType element. This used to be the PermittedDurationsType
+ element in earlier versions.
+
+ 03) Added a NumberOfTransactionsType element. This used to be the
+ PermittedNumberOfTransactionsType element in earlier versions.
+
+ 04) Changed PermittedDurationsType to wrap DurationType with the "any"
+ attribute.
+
+ 05) Changed PermittedNumberOfTransactionsType to wrap NumberOfTransactionsType
+ with the "any" attribute.
+
+ 06) Modified the Permissions element to now require all sub-elements to
+ be "nillable" if the "any" attribute in them is "true".
+
+ 07) Moved the SymkeyType and SymkeyErrorType from symkeyResponse to this
+ EKMICoreLibrary.xsd file.
+
+ 08) Removed the globally defined KeyUsePolicy element; it was not required
+ since the SymkeyResponse refers to the KeyUsePolicyType directly.
+
+ Modified on : June 18, 2008, 9:17 PM
+ Changes in DRAFT 5.1
+
+ 01) Changed the element name of <PermittedTransactions> to
+ <PermittedNumberOfTransactions> to remove ambiguity that it may be
+ referring to transaction types or transaction names.
+
+ 02) Changed the order of the <Permissions> element to re-order the
+ elements in alphabetical order, after the change of the
+ <PermittedTransactions> to <PermittedNumberOfTransactions>
+
+ Modified on : June 18, 2008, 8:17 PM
+ Changes in DRAFT 5
+
+ 01) Added a KeyClass element to the KeyCachePolicyType to allow for an
+ EKMI to cache keys at different intervals based on the key-class the
+ key belongs to.
+
+ 02) Moved the KeyCachePolicy element to become a sub-element of a
+ KeyCachePolicyResponse element, sent in response to a KeyCachePolicy
+ request from a client. The KeyCachePolicyResponse element contains
+ a sequence of KeyCachePolicyTypes to allow for multiple key-cache
+ policies to be returned to the client, where each policy applies to
+ a class of symmetric keys. The previous DRAFTs only allowed for a
+ single policy to be returned that applied to all keys of any class.
+
+ Version : DRAFT version 4.0
+ Description: This document defines the core XML Schema data-types for
+ the EKMI TC's Symmetric Key Services Markup Language (SKSML).
+
+ Modified on : June 03, 2008, 8:17 PM
+ Changes in DRAFT 4
+
+ 01) Added a PermittedDaysType element for the PermissionsType element
+ to accommodate the need to have a key available for use only on
+ weekdays, weekends, specific day-of-the-week, etc.
+
+ 02) Added a PermittedDayType element for the different days of the
+ week and the "weekday" and "weekend" catchalls.
+
+ Created on : April 24, 2008, 8:17 PM
+ Author : Arshad Noor
+ Version : DRAFT version 3.1
+
+ Changes in 3.1:
+
+ 01) Expanded all acronyms in slement names to display the full names.
+
+
+ Created on : February 05, 2008, 2:17 PM
+ Author : Arshad Noor
+ Version : DRAFT version 3.0
+
+ Changes in 3.0:
+
+ 01) KeyUsePolicy to modified to include a "KeyClass" element to define a
+ user-defined value that identifies the key as belonging to a specific
+ class.
+
+ 02) SymkeyRequest is modified to include an optional element to request
+ symmetric keys of one or more classes. A request message can now ask
+ for multiple keys of different classes within a single request called
+ "KeyClasses". Within the KeyClasses element is a list of "KeyClass"
+ elements, each corresponding to some user-defined value known to the
+ SKS server. In earlier versions of the protocol, only a single key
+ could be requested and KeyClass could not be defined.
+
+ 03) SymkeyResponse is modified to allow the SKS server to return multiple
+ symmetric keys within a single response, each belonging to a specific
+ requested KeyClass. The SymkeyResponse may consist of two types of
+ elements - a Symkey or a SymkeyError. There may be multiple instances
+ of Symkey and SymkeyError in a SymkeyResponse.
+
+
+ Created on : December 27, 2007, 11:17 AM
+ Author : Arshad Noor
+ Version : DRAFT version 2.0
+
+ DRAFT Version 02 is very different from DRAFT Version 01. It has
+ incorporated input from many TC members and consists of the following
+ changes (in the order of their appearance in this file):
+
+ 01) An XSD group called LocationCoordinateGroup has been created to
+ enforce that a location coordinate includes the longitude and
+ latitude, if specified, or not at all.
+
+ 02) An XSD group called MessageDigestGroup has been created to enforce
+ that DigestAlgorithm and DigestValue are specified together, or
+ not at all.
+
+ 03) Three ID types have been created to accomodate for the concatenated
+ identifier types found within EKMI objects, each consisting of one,
+ two and three parts to their identifiers. They are aptly named:
+ OnePartIDType, TwoPartIDType and ThreePartIDType.
+
+ 04) An EncryptionAlgorithmType was created to enumerate the different
+ encryption algorithms supported within the Symmetric Key Management
+ System (SKMS).
+
+ 05) The GlobalKeyID in the GlobalKeyIDType was modified to include a Domain ID (DID)
+ based on the IANA-issued Private Enterprise Number thus expanding
+ the namespace to the internet, and extending the maximum length of
+ the GlobalKeyID to be 62-bytes.
+
+ 06) Added a KeySizeType to enumerate the different sizes of symmetric
+ keys supported within the SKMS.
+
+ 07) Added a LevelClassificationType to enumerate the different security
+ classifications supported in the Bell-LaPadula model of access control.
+
+ 08) Added a PermittedDurationType to indicate the validity duration of
+ a symmetric key (in seconds) under the new Permissions model for
+ KeyUsePolicy.
+
+ 09) Added a PermittedTransactionsType to indicate the number of encryption
+ transactions a client application can perform with a specific
+ symmetric key under the new Permissions model for KeyUsePolicy.
+
+ 10) Added an ApplicationsType to identify details of an application that
+ is permitted to use a symmetric key within a specific KUP.
+
+ 11) Added a PermittedApplicationsType to identify the list of applications
+ permitted to use a symmetric key defined within a KUP. If this element
+ is missing, by default, all applications are assumed to be permitted
+ to use the symmetric key.
+
+ 12) Added a PermittedDatesType to implement the older date-based KUP. It
+ identifies a list of dates during which the symmetric key defined
+ within such a KUP can be used. If this element is missing, it is
+ assumed that the symmetric key can be used on any date.
+
+ 13) Added a PermittedLevelsType to identify the list of levels (from a
+ Multi-Level Security, or MLS, based system) that a symmetric key can
+ be used. If this element is missing, it is assumed that the symmetric
+ key can be used at all MLS levels. The element also adds an "Other"
+ element of "anyType" to permit the addition of custom XML elements to
+ extend the capability of this schema.
+
+ 14) Added a PermittedLocationsType to identify the list of locations that
+ a symmetric key can be used. If this element is missing, it is assumed
+ that the symmetric key can be used in all locations. The element also
+ adds an "Other" element of "anyType" to permit the addition of custom
+ XML elements to extend the capability of this schema.
+
+ 15) Added a PermittedTimesType to identify a list of times during the day,
+ during which the symmetric key defined within such a KUP can be used.
+ If this element is missing, it is assumed that the symmetric key can
+ be used at all times during a 24-hour day.
+
+ 16) Added a PermittedUsesType to identify the list of uses that a symmetric
+ key can be used for. If this element is missing, it is assumed that
+ the symmetric key can be used for all purposes. The element also adds
+ an "Other" element of "anyType" to permit the addition of custom XML
+ elements to extend the capability of this schema.
+
+ 17) Added a PermissionsType which creates a new, more flexible and
+ extensible model for defining key-use policies. It replaces the old
+ Date, Duration and TxAllowed-based policies from DRAFT version 01 and
+ allows implementers to customize which applications can use a key, on
+ what dates, times, at which locations, for what purposes, etc. It also
+ adds an "Other" element of "anyType" to permit the addition of custom
+ XML elements to extend the capability of the Permissions model.
+
+ 18) Added a StatusType to enumerate the various status values that KCPs
+ and KUPs can have.
+
+ 19) Added a KeyCacheDetailType to organize the detail information that
+ SKMS clients need to manage their symmetric key-cache.
+
+ 20) Changed the KeyCachePolicyType element to better organize it by
+ creating a NewKeysCacheDetail and UsedKeysCacheDetail element of
+ KeyCacheDetailType, and adding a PolicyCheckInterval to indicate
+ the frequency interval at which an SKMS client checks for updates.
+
+ 21) The KeyCachePolicyID within the KeyCachePolicyType is no longer an integer, but
+ a string containing a DomainID concatenated with a unique policy ID
+ within that domain. The string can now have a maximum length of
+ 41-bytes.
+
+ 22) Removed the maxnewdays and maxuseddays within KeyCachePolicyType and
+ replaced it with the KeyCacheDetailype elements.
+
+ 23) Removed the usefirst element from KeyCachePolicyType; it is redundant.
+
+ 24) Reorganized the KeyUsePolicyType to implement the new Permissions
+ model for defining the policy for how keys may be used.
+
+ 25) The KeyUsePolicyID within the KeyUsePolicyType is no longer an integer, but
+ a string containing a DomainID concatenated with a unique policy ID
+ within that domain. The string can now have a maximum length of
+ 41-bytes.
+ -->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://docs.oasis-open.org/ekmi/2008/01"
+ elementFormDefault="qualified"
+ xmlns:tns="http://docs.oasis-open.org/ekmi/2008/01"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
+ <!--
+ =======================================================================
+ Schema Imports
+ =======================================================================
+ -->
+ <xsd:import schemaLocation="xenc-schema.xsd" namespace="http://www.w3.org/2001/04/xmlenc#"/>
+
+ <!--
+ =======================================================================
+ Attributes
+ =======================================================================
+ -->
+
+ <!--
+ =============================================
+ Any
+ =============================================
+ -->
+ <xsd:attribute name="any">
+ <xsd:annotation>
+ <xsd:documentation>
+ This attribute is used in the "Permitted.." sub-elements to
+ define whether a key may be used at "any" value of the
+ permission or only during specified values of the permission.
+
+ For example, a key with a "PermittedDays" permission might
+ indicate that the specific key can be used on "any" day - by
+ the attribute "any" being set to "true" - or only on specific
+ days - where the attribute "any" would be set to "false" and
+ the permitted days would be listed as sub-elements to
+ "PermittedDays".
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="false"/>
+ <xsd:enumeration value="true"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <!--
+ =======================================================================
+ Groups
+ =======================================================================
+ -->
+
+ <!--
+ =============================================
+ LocationCoordinateGroup
+ =============================================
+ -->
+ <xsd:group name="LocationCoordinateGroup">
+ <xsd:sequence>
+ <xsd:element name="Latitude">
+ <xsd:annotation>
+ <xsd:documentation>
+ The latitude coordinate of a location. It is
+ expressed as a decimal with a fraction, where
+ the minutes and seconds are collapsed into a
+ single decimal. An example is 37.385562.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:decimal">
+ <xsd:totalDigits value="10"/>
+ <xsd:fractionDigits value="7"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="Longitude">
+ <xsd:annotation>
+ <xsd:documentation>
+ The longitude coordinate of a location. It is
+ expressed as a decimal with a fraction, where
+ the minutes and seconds are collapsed into a
+ single decimal. An example is -121.993387.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:decimal">
+ <xsd:totalDigits value="10"/>
+ <xsd:fractionDigits value="7"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:group>
+
+ <!--
+ =============================================
+ MessageDigestGroup
+ =============================================
+ -->
+ <xsd:group name="MessageDigestGroup">
+ <xsd:sequence>
+ <xsd:element name="DigestAlgorithm">
+ <xsd:annotation>
+ <xsd:documentation>
+ The type of message digest - SHA-1, SHA-256, SHA-512 etc.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:anyURI">
+ <xsd:enumeration value="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <xsd:enumeration value="http://www.w3.org/2001/04/xmlenc#sha256"/>
+ <xsd:enumeration value="http://www.w3.org/2001/04/xmlenc#sha512"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="DigestValue">
+ <xsd:annotation>
+ <xsd:documentation>
+ The base64-encoded message digest of the application.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:base64Binary">
+ <xsd:maxLength value="1024"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:group>
+
+
+
+
+ <!--
+ =======================================================================
+ Simple Types
+ =======================================================================
+ -->
+
+ <!--
+ =============================================
+ OnePartIDType
+ =============================================
+ -->
+ <xsd:simpleType name="OnePartIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An identifier type that consists of only a
+ single ASCII decimal element that ranges from
+ the value 1 to 18446744073709551615.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="20"/>
+ <xsd:pattern value="[1-9][0-9]{0,19}"/>
+ <xsd:whiteSpace value="collapse"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ TwoPartIDType
+ =============================================
+ -->
+ <xsd:simpleType name="TwoPartIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An identifier type that consists of two 20-character
+ ASCII decimal numbers separated by a hyphen ("-").
+ Each 20-character decimal element ranges from the
+ value 1 to 18446744073709551615.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:minLength value="3"/>
+ <xsd:maxLength value="41"/>
+ <xsd:pattern value="[1-9][0-9]{0,19}-[1-9][0-9]{0,19}"/>
+ <xsd:whiteSpace value="collapse"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ ThreePartIDType
+ =============================================
+ -->
+ <xsd:simpleType name="ThreePartIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An identifier type that consists of three 20-character
+ ASCII decimal numbers separated by a hyphen ("-").
+ Each 20-character decimal element ranges from the
+ value 1 to 18446744073709551615. This is different
+ from the GlobalKeyIDType in that the GlobalKeyIDType permits each
+ part to contain the numeral "0", but the ThreePartIDType
+ does not; the minimum value of each part must be "1".
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:minLength value="5"/>
+ <xsd:maxLength value="62"/>
+ <xsd:pattern value="[1-9][0-9]{0,19}-[1-9][0-9]{0,19}-[1-9][0-9]{0,19}"/>
+ <xsd:whiteSpace value="collapse"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ DurationType
+ =============================================
+ -->
+ <xsd:simpleType name="DurationType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The number of seconds a symmetric key may be used for, once
+ the client application starts using the key.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:positiveInteger">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="18446744073709551615"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ EncryptionAlgorithmType
+ =============================================
+ -->
+ <xsd:simpleType name="EncryptionAlgorithmType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The W3C XML Encryption specified algorithm that this
+ symmetric key must be used with for cryptographic
+ operations. The reason for supporting only the XML
+ Encryption standard has to do with the extensive use
+ of the XML Encryption schema for ciphertext by the
+ current open-source implementation of this protocol.
+ It would be wiser to have newer algorithms supported
+ and specified by W3C in the XML Encrytpion standard
+ before using them, rather than making up one's own
+ algorithm URIs.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:anyURI">
+ <xsd:enumeration value="http://www.w3.org/2001/04/xmlenc#tripledes-cbc">
+ <xsd:annotation>
+ <xsd:documentation>
+ The Triple-DES with Cipher Block Chaining encryption algorithm
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="http://www.w3.org/2001/04/xmlenc#aes128-cbc">
+ <xsd:annotation>
+ <xsd:documentation>
+ The 128-bit AES with Cipher Block Chaining encryption algorithm
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="http://www.w3.org/2001/04/xmlenc#aes192-cbc">
+ <xsd:annotation>
+ <xsd:documentation>
+ The 192-bit AES with Cipher Block Chaining encryption algorithm
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="http://www.w3.org/2001/04/xmlenc#aes256-cbc">
+ <xsd:annotation>
+ <xsd:documentation>
+ The 256-bit AES with Cipher Block Chaining encryption algorithm
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ GlobalKeyIDType
+ =============================================
+ -->
+ <xsd:simpleType name="GlobalKeyIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The Global Key-ID (GlobalKeyID) is a string identifier of a
+ symmetric key, consisting of five parts:
+
+ 1) a non-negative integer identifying the Domain ID (DID).
+ The DID identifies the IANA-issued Private Enterprise Number
+ (PEN) as issued and published at
+ http://www.iana.org/assignments/enterprise-numbers
+ and is used within the EKMI to constrain the ownership of
+ objects in the EKMI;
+ 2) a literal hyphen ("-");
+ 3) a non-negative integer identifying the Server ID of the
+ server that originally generated the key;
+ 4) another literal hyphen ("-");
+ 5) a non-negative integer identifying the Key ID;
+
+ Combined, the five components of this element make up a unique
+ identifier for a symmetric key across the internet.
+
+ A minimal GlobalKeyID element instance would look like:
+
+ "10514-0-0"
+
+ which represents a request for a new symmetric key (since
+ there can be no ServerID or a KeyID with a value of "0" other
+ than to specify a request for a new symmetric key).
+
+ To accomodate the limitations on SQL databases, the maximum
+ value of the GlobalKeyID element must be (a 62-byte ASCII
+ decimal):
+
+ "18446744073709551615-18446744073709551615-18446744073709551615"
+
+ In practice, an enterprise will more than likely manage only
+ its own domain, and within the domain have no more than a few
+ dozen Symmetric Key Services (SKS) servers, and perhaps a few
+ billion keys; so we would expect large GlobalKeyID's to look
+ like the following:
+
+ "10514-2-16777215"
+ "15966-5-1073741823"
+ "22408-13-4294967295"
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:minLength value="5"/>
+ <xsd:maxLength value="62"/>
+ <xsd:pattern value="[0-9]{1,20}-[0-9]{1,20}-[0-9]{1,20}"/>
+ <xsd:whiteSpace value="collapse"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ KeyClassType
+ =============================================
+ -->
+ <xsd:simpleType name="KeyClassType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A user-defined class for symmetric keys that can
+ be used by applications to encrypt specific classes
+ of data.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="255"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ KeySizeType
+ =============================================
+ -->
+ <xsd:simpleType name="KeySizeType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The size of the symmetric encryption key. Given the
+ currently supported algorithms, this will range from
+ 128 to 256.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:totalDigits value="3"/>
+ <xsd:fractionDigits value="0"/>
+ <xsd:enumeration value="128">
+ <xsd:annotation>
+ <xsd:documentation>128-bit key</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="192">
+ <xsd:annotation>
+ <xsd:documentation>192-bit key</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="256">
+ <xsd:annotation>
+ <xsd:documentation>256-bit key</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ LevelClassificationType
+ =============================================
+ -->
+ <xsd:simpleType name="LevelClassificationType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An enumeration of the classification levels based on the
+ Bell-LaPadula model.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Unclassified">
+ <xsd:annotation>
+ <xsd:documentation>Data that is deemed public.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="Confidential">
+ <xsd:annotation>
+ <xsd:documentation>Data that is deemed confidential.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="Secret">
+ <xsd:annotation>
+ <xsd:documentation>Data that is deemed secret.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="Top-Secret">
+ <xsd:annotation>
+ <xsd:documentation>Data that is deemed top-secret.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ NumberOfTransactionsType
+ =============================================
+ -->
+ <xsd:simpleType name="NumberOfTransactionsType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The number of encryption transactions permitted with this
+ symmetric key. It does not limit decryption transactions.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:positiveInteger">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="18446744073709551615"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ PermittedDayType
+ =============================================
+ -->
+ <xsd:simpleType name="PermittedDayType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The day of week a symmetric key may be used by applications.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Sunday"/>
+ <xsd:enumeration value="Monday"/>
+ <xsd:enumeration value="Tuesday"/>
+ <xsd:enumeration value="Wednesday"/>
+ <xsd:enumeration value="Thursday"/>
+ <xsd:enumeration value="Friday"/>
+ <xsd:enumeration value="Saturday"/>
+ <xsd:enumeration value="Weekday"/>
+ <xsd:enumeration value="Weekend"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ RequestCheckIntervalType
+ =============================================
+ -->
+ <xsd:simpleType name="RequestCheckIntervalType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The number of seconds a client must wait before it can query
+ the SKS server on the status of a work-in-progress request
+ for a symmetric key. The minimum is 1-minute, while the
+ maximum is 1-week.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:positiveInteger">
+ <xsd:minInclusive value="60"/>
+ <xsd:maxInclusive value="604800"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ StatusType
+ =============================================
+ -->
+ <xsd:simpleType name="StatusType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An indicator if the policy containing this element type
+ is currently "Active", "Default", "Inactive" or "Other".
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Active">
+ <xsd:annotation>
+ <xsd:documentation>
+ An active policy. If this element is in the
+ KeyCachePolicy object, it indicates that symmetric
+ keys may be cached with this KCP. If it is in the
+ KeyUsePolicy object, it indicates that the symmetric
+ key may be used for encryption.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="Default">
+ <xsd:annotation>
+ <xsd:documentation>
+ The default policy in the absence of a named KCP or
+ KUP. It is automatically active, unless over-ridden.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="Inactive">
+ <xsd:annotation>
+ <xsd:documentation>
+ A policy that, in the case of the KCP, must not be
+ used for caching any symmetric keys or in the case
+ of a KUP for encryption.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="Other">
+ <xsd:annotation>
+ <xsd:documentation>
+ A policy that has an implementation-specific action.
+ Recommended only for test-use.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ SymkeyRequestIDType
+ =============================================
+ -->
+ <xsd:simpleType name="SymkeyRequestIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The symmetric key request identifer (SymeyRequestID) is a string
+ identifier of a request for a symmetric key, consist of five
+ parts:
+
+ 1) a non-negative integer identifying the Domain ID (DID).
+ The DID identifies the IANA-issued Private Enterprise Number
+ (PEN) as issued and published at
+ http://www.iana.org/assignments/enterprise-numbers
+ and is used within the EKMI to constrain the ownership of
+ objects in the EKMI;
+ 2) a literal hyphen ("-");
+ 3) a non-negative integer identifying the Server ID of the
+ server that originally generated the key;
+ 4) another literal hyphen ("-");
+ 5) a non-negative integer identifying the Request ID;
+
+ Combined, the five components of this element make up a unique
+ identifier for a request for a symmetric key across the internet.
+ All SymkeyRequestID's have real numbers in them and the number
+ zero (0) should not appear in any part of this element.
+
+ To accomodate the limitations on SQL databases, the maximum
+ value of the SymkeyRequestID element must be (a 62-byte ASCII
+ decimal):
+
+ "18446744073709551615-18446744073709551615-18446744073709551615"
+
+ In practice, an enterprise will more than likely manage only
+ its own domain, and within the domain have no more than a few
+ dozen Symmetric Key Services (SKS) servers. Each server,
+ however, can field only 18446744073709551615 requests. Before
+ a company reaches that point, it will need to establish new
+ SKS servers to accomodate new requests. SymkeyRequestID's may
+ look like the following:
+
+ "10514-2-16777215"
+ "15966-5-1073741823"
+ "22408-13-4294967295"
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:minLength value="5"/>
+ <xsd:maxLength value="62"/>
+ <xsd:pattern value="[0-9]{1,20}-[0-9]{1,20}-[0-9]{1,20}"/>
+ <xsd:whiteSpace value="collapse"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--
+ =============================================
+ X509CertificateType
+ =============================================
+ -->
+ <xsd:simpleType name="X509CertificateType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The X509-compliant digital certificate sent by SKMS clients
+ and used by SKS servers to encrypt the symmetric-key payload
+ when responding to the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:base64Binary"/>
+ </xsd:simpleType>
+
+ <!--
+ =======================================================================
+ Complex Types
+ =======================================================================
+ -->
+
+ <!--
+ =============================================
+ ApplicationsType
+ =============================================
+ -->
+ <xsd:complexType name="ApplicationsType">
+ <xsd:sequence>
+ <xsd:element name="ApplicationID" type="tns:TwoPartIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The unique identifier of the application.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ApplicationName">
+ <xsd:annotation>
+ <xsd:documentation>
+ The name of the application.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="256"/>
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="Version" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ The version number of the application.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="32"/>
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:group ref="tns:MessageDigestGroup" minOccurs="0"/>
+ <xsd:element name="Other" type="xsd:anyType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ KeyCacheDetailType
+ =============================================
+ -->
+ <xsd:complexType name="KeyCacheDetailType">
+ <xsd:sequence>
+ <xsd:element name="MaximumKeys" minOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ The maximum number of keys permitted to be cached
+ on the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="18446744073709551615"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="MaximumDuration" minOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ The maximum number of seconds keys are permitted to
+ be cached on the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="18446744073709551615"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ KeyCachePolicyType
+ =============================================
+ -->
+ <xsd:complexType name="KeyCachePolicyType" mixed="true">
+ <xsd:annotation>
+ <xsd:documentation>
+ The KeyCachePolicyType document is returned as part of
+ the response to a request for a key-caching policy from a
+ Symmetric Key Services (SKS) server. The KCP tells the
+ SKMS client if it may cache symmetric keys, and if so, how
+ many new and used keys it may cache, for how long, etc.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="KeyCachePolicyID" type="tns:TwoPartIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The unique Policy ID of the KeyCachePolicy is a
+ concatenation of the DomainID and the unique
+ key-caching policy ID within that domain. It is
+ a 41-byte ASCII decimal value.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PolicyName">
+ <xsd:annotation>
+ <xsd:documentation>
+ The name of the KeyCachePolicy, as defined by the
+ enterprise running this Symmetric Key Management
+ System (SKMS).
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="255"/>
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="Description" nillable="true">
+ <xsd:annotation>
+ <xsd:documentation>
+ A detailed description of the KeyCachePolicy, for
+ human readers, as defined by the enterprise running
+ this Symmetric Key Management System (SKMS).
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="2048"/>
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="KeyClass" type="tns:KeyClassType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The class of keys to which this KeyCachePolicy applies.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="StartDate" type="xsd:dateTime">
+ <xsd:annotation>
+ <xsd:documentation>
+ The date and time on which this KeyCachePolicy becomes
+ effective.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="EndDate" type="xsd:dateTime" nillable="true">
+ <xsd:annotation>
+ <xsd:documentation>
+ The date and time when this KeyCachePolicy becomes
+ obsolete.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PolicyCheckInterval">
+ <xsd:annotation>
+ <xsd:documentation>
+ The number of seconds that must elapse before which
+ the client sends a KeyCachePolicy Request message to
+ the SKS server for an update on the policy. This is
+ to ensure that clients are always updated on any KCP
+ changes at the server. Maximum value is 30 days.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:nonNegativeInteger">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="2592000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="Status" type="tns:StatusType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An indicator if the KeyCachePolicy is currently "Active",
+ "Default", "Inactive" or "Other".
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="NewKeysCacheDetail" type="tns:KeyCacheDetailType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ Details about the maximum number of new (unused for
+ any encryption transaction by the client) symmetric
+ keys that may be cached by the client and for how long.
+ If the element is missing from a KCP response, it means
+ that new symmetric keys may NOT be cached on the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="UsedKeysCacheDetail" type="tns:KeyCacheDetailType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ Details about the maximum number of used (used for
+ any encryption transaction by the client) symmetric
+ keys that may be cached by the client and for how long.
+ If the element is missing from a KCP response, it means
+ that used symmetric keys may NOT be cached on the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ KeyClassesType
+ =============================================
+ -->
+ <xsd:complexType name="KeyClassesType">
+ <xsd:sequence>
+ <xsd:element name="KeyClass" type="tns:KeyClassType" minOccurs="1" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of KeyClass elements that will be used in
+ requests to ask for multiple symmetric keys, each
+ corresponding to a KeyClass type in this list.
+ This is useful in applications that need to encrypt
+ a single data document for multiple targets, each
+ with their own access policies and restrictions.
+ If KeyClasses is used in a request, there must be
+ least one KeyClass child within it.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ KeyUsePolicyType
+ =============================================
+ -->
+ <xsd:complexType name="KeyUsePolicyType" mixed="true">
+ <xsd:annotation>
+ <xsd:documentation>
+ The KeyUsePolicyType document is returned as part of the
+ response to a request for a symmetric key from a Symmetric
+ Key Services (SKS) server. The KUP tells the client how
+ it must use the associated symmetric key. At least one
+ permission-type will provide the policy definition.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="KeyUsePolicyID" type="tns:TwoPartIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The unique Policy ID of the KeyUsePolicy is a
+ concatenation of the DomainID and the unique
+ key-use policy ID within that domain. It is
+ a 41-byte ASCII decimal value.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PolicyName">
+ <xsd:annotation>
+ <xsd:documentation>
+ The name of the KeyUsePolicy, as defined by the
+ enterprise running this Symmetric Key Management
+ System (SKMS).
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="255"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="KeyClass" type="tns:KeyClassType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A user-defined class for keys generated with this
+ KeyUsePolicy.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="KeyAlgorithm" type="tns:EncryptionAlgorithmType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The type of algorithm used by this symmetric key policy.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="KeySize" type="tns:KeySizeType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The size of the symmetric encryption key.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Status" type="tns:StatusType">
+ <xsd:annotation>
+ <xsd:documentation>
+ An indicator if the KeyUsePolicy is currently "Active",
+ "Default", "Inactive" or "Other".
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Permissions" type="tns:PermissionsType" minOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ The permissions that define the policy for how this
+ symmetric key may be used.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedApplicationsType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedApplicationsType">
+ <xsd:sequence>
+ <xsd:element name="PermittedApplication" type="tns:ApplicationsType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of applications that are permitted to use
+ this key. The interpretation of the application
+ element is user application-defined. It may consist
+ of a name, version number, a message digest, etc.
+
+ When the "any" attribute is set to "true", no
+ PermittedApplication elements must appear in this
+ element.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedDatesType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedDatesType">
+ <xsd:sequence>
+ <xsd:element name="PermittedDate" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of the dates when this key may be used. If it
+ exists, the key must be used only between the given
+ sets of StartDate-EndDate with the start and end dates
+ inclusive. Must use the following format: YYYY-MM-DD.
+
+ When the "any" attribute is set to "true", no
+ PermittedDate elements must appear in this element.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="StartDate">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:date">
+ <xsd:pattern value="\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="EndDate">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:date">
+ <xsd:pattern value="\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedDaysType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedDaysType">
+ <xsd:sequence>
+ <xsd:element name="PermittedDay" type="tns:PermittedDayType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of days of the week that the symmetric key
+ may be used. Its meaning is application-specific.
+
+ When the "any" attribute is set to "true", no
+ PermittedDay elements must appear in this element.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedDurationType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedDurationType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A complex-type to wrap the DurationType with the "any"
+ attribute.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="tns:DurationType">
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedLevelsType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedLevelsType">
+ <xsd:sequence>
+ <xsd:element name="PermittedLevel" type="tns:LevelClassificationType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of classification levels within which an
+ application is permitted to use the key. Its
+ interpretation is application-specific.
+
+ When the "any" attribute is set to "true", no
+ PermittedLevel elements must appear in this element.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Other" type="xsd:anyType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedLocationsType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedLocationsType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of physical locations of the client, where the key
+ may be used. This is specific to the application and may
+ consist of GPS coordinates, Building numbers, secure rooms,
+ cities, etc. Its meaning is application-defined.
+
+ When the "any" attribute is set to "true", no PermittedLocation
+ elements must appear in this element.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="PermittedLocation" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="LocationName">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="256"/>
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:group ref="tns:LocationCoordinateGroup" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="Other" type="xsd:anyType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedNumberOfTransactionsType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedNumberOfTransactionsType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A complex-type to wrap the NumberOfTransactionsType with
+ the "any" attribute.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="tns:NumberOfTransactionsType">
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedTimesType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedTimesType">
+ <xsd:sequence>
+ <xsd:element name="PermittedTime" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of the times of day when this key may be used.
+ If it exists, the key must be used only between the
+ start_time and end_time, with the start and end times
+ inclusive. Must use 24-hour clock in the following
+ format: HH:MM:SS.
+
+ When the "any" attribute is set to "true", no
+ PermittedTime elements must appear in this element.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="StartTime">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:time">
+ <xsd:pattern value="\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="EndTime">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:time">
+ <xsd:pattern value="\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermittedUsesType
+ =============================================
+ -->
+ <xsd:complexType name="PermittedUsesType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="PermittedUse" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A list of uses that describes how the symmetric key
+ may be used. Its meaning is application-specific.
+
+ When the "any" attribute is set to "true", no
+ PermittedUse elements must appear in this element.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="256"/>
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="Other" type="xsd:anyType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute ref="tns:any" use="required"/>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ PermissionsType
+ =============================================
+ -->
+ <xsd:complexType name="PermissionsType">
+ <xsd:annotation>
+ <xsd:documentation>
+ This is a required element that allows companies to define
+ how the symmetric key may be used. It will be included in
+ the KUP object returned with the symmetric key. Applications
+ must parse through the permissions before using the key and
+ only allow what is permitted for that permission type.
+
+ All "Permitted..." sub-elements - except for the Other element -
+ are required. However, if the attribute "any" for each of the
+ "Permitted..." sub-elements is set to "true", then the xsi:nil
+ attribute must also be set to "true" and the sub-element must
+ be empty. If the value of the "any" attribute for a specific
+ "Permitted..." sub-element is "false", then at least one child
+ element must exist for the "Permitted..." sub-element and the
+ xsi:nil attribute must not exist.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="PermittedApplications" type="tns:PermittedApplicationsType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedDates" type="tns:PermittedDatesType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedDays" type="tns:PermittedDaysType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedDuration" type="tns:PermittedDurationType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedLevels" type="tns:PermittedLevelsType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedLocations" type="tns:PermittedLocationsType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedNumberOfTransactions" type="tns:PermittedNumberOfTransactionsType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedTimes" type="tns:PermittedTimesType" minOccurs="1" nillable="true"/>
+ <xsd:element name="PermittedUses" type="tns:PermittedUsesType" minOccurs="1" nillable="true"/>
+ <xsd:element name="Other" type="xsd:anyType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ SymkeyType
+ =============================================
+ -->
+ <xsd:complexType name="SymkeyType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A symmetric key object, which is the succesfully response
+ of a request for a key from an SKMS client to an SKS server.
+ While the
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="SymkeyRequestID" type="tns:SymkeyRequestIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The request identifier of the symmetric key request that
+ resulted in this object. When a client requests a
+ symmetric-key asynchronously, the server returns a
+ SymkeyRequestID in its initial response. When the server
+ has completed its processing, it returns the symmetric
+ key asynchronously to the client. The SymkeyRequestID
+ is the value that allows the client to associate a key
+ with a pending request.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="GlobalKeyID" type="tns:GlobalKeyIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The global key-identifier of the symmetric key in
+ this object. This will always be non-zero (10514-0-0)
+ in a successful response from an SKS server. Note
+ that in DRAFT 01 of SKSML, the GlobalKeyID was specified
+ in a KeyName element.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="KeyUsePolicy" type="tns:KeyUsePolicyType">
+ <xsd:annotation>
+ <xsd:documentation>
+ This element defines a policy for how clients may use
+ symmetric keys on the client device. Note that this
+ element used to be in the EncryptionProperties element
+ in DRAFT 01.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="EncryptionMethod" type="xenc:EncryptionMethodType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The type of encryption used to protect the symmetric
+ key in this payload.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="xenc:CipherData">
+ <xsd:annotation>
+ <xsd:documentation>
+ The encrypted symmetric key.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ SymkeyErrorType
+ =============================================
+ -->
+ <xsd:complexType name="SymkeyErrorType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A response with an error message in the event that a request
+ was not successful.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="SymkeyRequestID" type="tns:SymkeyRequestIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The request identifier of the symmetric key request.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="RequestedGlobalKeyID" type="tns:GlobalKeyIDType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The global key-identifier of the symmetric key that
+ was requested by the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="RequestedKeyClass" type="tns:KeyClassType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ The requested key-class for a new symmetric key, if any.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ErrorCode">
+ <xsd:annotation>
+ <xsd:documentation>
+ An application-specific error code.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="255"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="ErrorMessage">
+ <xsd:annotation>
+ <xsd:documentation>
+ An application-specific error message that provides
+ detail on the error
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="1024"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--
+ =============================================
+ SymkeyWorkInProgressType
+ =============================================
+ -->
+ <xsd:complexType name="SymkeyWorkInProgressType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A response to an asynchronous request for a symmetric key,
+ indicating that the request is being worked on by the SKS
+ server.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="RequestedGlobalKeyID" type="tns:GlobalKeyIDType" minOccurs="1" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ The global key-identifier of the symmetric key that
+ was requested by the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="RequestedKeyClass" type="tns:KeyClassType" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ The requested key-class for a new symmetric key, if any.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SymkeyRequestID" type="tns:SymkeyRequestIDType" minOccurs="1" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ A unique request identifier that allows the client to
+ either poll the SKS server for status on the request,
+ or correlate a specific request with an asynchronous
+ response received from the server (this is necessary,
+ because the client may have sent many asynchronous
+ requests and may be receiving responses out of order).
+ The SymkeyRequestID should not be confused with the
+ GlobalKeyID despite their identical look. While the
+ first two parts of the GlobalKeyID and SymkeyRequestID
+ reference the same identifier (DomainID and ServerID),
+ the last part of the GlobalKeyID refers to a unique
+ KeyID on an SKS server, while the last part of the
+ SymkeyRequestID refers to a unique request identifer.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="RequestCheckInterval" type="tns:RequestCheckIntervalType" minOccurs="1" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ A value, in seconds, that tells the client how frequently
+ the client may query the SKS server for updates on the
+ symmetric-key request.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
Added: xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpRequest.xsd
===================================================================
--- xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpRequest.xsd (rev 0)
+++ xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpRequest.xsd 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Document : kcpRequest.xsd
+ Created on : December 24, 2007, 4:46 PM
+ Author : anoor
+ Description: Document is the XML Schema Definition (XSD) for the
+ SOAP-Body contents of a request for a KeyCachePolicy.
+ The SOAP message itself is secured with a Web Services
+ Security (WSS) Header containing a digital signature
+ which provides the service provider with all the
+ information it needs to know how to respond.
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://docs.oasis-open.org/ekmi/2008/01"
+ xmlns:ekmi="http://docs.oasis-open.org/ekmi/2008/01"
+ elementFormDefault="qualified">
+ <xsd:include schemaLocation="EKMICoreLibrary.xsd"/>
+
+ <!--
+ =============================================
+ KeyCachePolicyRequest
+ =============================================
+ -->
+
+ <xsd:element name="KeyCachePolicyRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ A KeyCachePolicy request does not need to specify any
+ data within its root-element. The service responding
+ to such a request has all that it needs from the SOAP
+ Header of the request: the XMLSignature element that
+ carries the identity (DN) of the requester, the
+ digital signature to verify the authenticity of the
+ request and the timestamp of the request.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+ No elements/attributes are defined for KeyCachePolicyRequest.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
Added: xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpResponse.xsd
===================================================================
--- xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpResponse.xsd (rev 0)
+++ xmlkey/trunk/skms/src/main/resources/schema/ekmi/kcpResponse.xsd 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Document : kcpResponse.xsd
+ Created on : June 17, 2008, 11:16 AM
+ Author : Arshad Noor
+ Description: Document is the XML Schema Definition (XSD) for the
+ SOAP-Body contents of a response for a KeyCachePolicy.
+ The SOAP message itself is secured with a Web Services
+ Security (WSS) Header containing a digital signature
+ which provides the service provider with all the
+ information it needs to know how to respond.
+-->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://docs.oasis-open.org/ekmi/2008/01"
+ xmlns:ekmi="http://docs.oasis-open.org/ekmi/2008/01"
+ elementFormDefault="qualified"
+ xml:lang="en-US">
+ <xsd:include schemaLocation="EKMICoreLibrary.xsd"/>
+
+ <!--
+ =============================================
+ KeyCachePolicyResponse
+ =============================================
+ -->
+ <xsd:element name="KeyCachePolicyResponse">
+ <xsd:annotation>
+ <xsd:documentation>
+ This element is a response from the SKS server for key-cache
+ policies describing how clients may cache symmetric keys on
+ the client device. The response may consist of multiple KCP
+ elements, each one applying to a class of symmetric keys.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="KeyCachePolicy" type="ekmi:KeyCachePolicyType" minOccurs="1" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ This element defines a single policy defining how EKMI
+ clients may cache symmetric keys of a specific key-class
+ on the client device.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
Added: xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyRequest.xsd
===================================================================
--- xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyRequest.xsd (rev 0)
+++ xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyRequest.xsd 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Document : symkeyRequest.xsd
+ Author : Arshad Noor
+ Description: Document is the XML Schema Definition (XSD) for the
+ SOAP-Body contents of a request for a SymkeyRequest.
+ The SOAP message itself is secured with a Web Services
+ Security (WSS) Header containing a digital signature
+ which provides the service provider with the information
+ it needs about the requestor. The Global Key ID (GlobalKeyID)
+ tells the service provider the symmetric key the client
+ needs. The optional KeyClasses allows the requestor to
+ request multiple symmetric keys of different KeyClass
+ values for applications.
+
+ Modified on : November 18, 2008, 10:17 AM
+ Changes in DRAFT 8.0 (current version)
+
+ 01) Created the X509EncryptionCertificate to support sending the encryption
+ certificate to the SKS server when requesting a symmetric-key. This
+ allows the SKMS to be encrypt the response to the client without
+ having to have the requester's encryption certificate in the SKMS DB.
+
+ Modified on : October 16, 2008, 4:46 PM
+ Changes in version 7.0
+
+ 01) Added the choice of sending either a GlobalKeyID or a SymkeyRequestID
+ in the SymkeyRequest to accommodate asynchronous request/responses
+ to/from SKS servers.
+
+ Changes since 1.0:
+
+ 01) Added the optional KeyClasses element to specify one or more
+ KeyClass elements within it. If KeyClasses is not specified
+ in the request, the SKS server will return a symmetric key
+ of some default KeyClass.
+
+
+ Created on : December 24, 2007, 4:46 PM
+ Author : Arshad Noor
+ Verstion : 1.0
+-->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://docs.oasis-open.org/ekmi/2008/01"
+ xmlns:ekmi="http://docs.oasis-open.org/ekmi/2008/01"
+ elementFormDefault="qualified">
+ <xsd:include schemaLocation="EKMICoreLibrary.xsd"/>
+
+ <!--
+ =============================================
+ SymkeyRequest
+ =============================================
+ -->
+ <xsd:element name="SymkeyRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ This element requests a new, or an existing, symmetric
+ encryption key from an SKS server. It contains a GlobalKeyID
+ child element, which is the global key identifier (GlobalKeyID)
+ of the requested key and an optional KeyClasses element
+ containing a list of KeyClass elements. The number of
+ KeyClass elements indicates the number of symmetric keys
+ being requested by the client.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="GlobalKeyID" type="ekmi:GlobalKeyIDType" minOccurs="1" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ The global key-identifier being requested. A
+ GlobalKeyID of 10514-0-0 is a request for a new
+ symmetric key; all other values indicate an
+ existing symmetric key.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="KeyClasses" type="ekmi:KeyClassesType" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ An optional qualifier that indicates the types of
+ symmetric keys being requested by the client
+ application. KeyClasses are application-defined
+ and site-specific.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="X509EncryptionCertificate" type="ekmi:X509CertificateType" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ An optional X509-compliant digital certificate sent
+ by SKMS clients and used by SKS servers to encrypt
+ the symmetric-key payload when responding to the
+ client.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="SymkeyRequestID" type="ekmi:SymkeyRequestIDType" minOccurs="1" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ This element indicates that the client is checking
+ on the status of a previous request from which it
+ received a SymkeyRequestID from the SKS server.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
Added: xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyResponse.xsd
===================================================================
--- xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyResponse.xsd (rev 0)
+++ xmlkey/trunk/skms/src/main/resources/schema/ekmi/symkeyResponse.xsd 2009-01-19 04:12:50 UTC (rev 230)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Document : symkeyResponse.xsd
+ Version : 7.0
+ Modified on : October 16, 2008, 4:46 PM
+ Author : Arshad Noor
+ Description : Document is the XML Schema Definition (XSD) for the
+ SOAP-Body contents of a response for a SymkeyRequest.
+ The SOAP message itself is secured with a Web Services
+ Security (WSS) Header containing a digital signature.
+
+ Modified on : October 16, 2008, 4:46 PM
+ Changes in version 7.0
+
+ 01) Added the SymkeyWorkInProgressType as an additional choice to the
+ SymkeyResponse element, to accommodate asynchronous request/responses
+ to/from SKS servers.
+
+ Modified on : June 23, 2008, 4:46 PM
+ Changes in version 6.0
+
+ 01) Moved the SymkeyType and SymkeyErrorType to the EKMICoreLibrary.xsd.
+
+ 02) Modifed SymkeyResponseType so it now can contain either Symkey,
+ SymkeyError or Symkey-with-SymkeyError elements.
+
+ Modified on : June 03, 2008, 8:46 PM
+ Changes in version 5.0
+
+ 01) Removed EncryptionProperties element from SymkeyType. The primary
+ use of EncryptionProperties would have been to send along an IV
+ for software decrypting ciphertext. However, since all symmetric
+ keys are less than 256 bits (32 bytes), which fit well within the
+ size limit even for a 1024-bit RSA key (approximately 117 bytes
+ when used with PKCS 1 padding), it doesn't really make sense to
+ carry this element in the schema when there is 3x times headroom
+ in the RSA algorithm for larger symmetric key sizes.
+
+
+ Created on : December 24, 2007, 4:46 PM
+ Author : anoor
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://docs.oasis-open.org/ekmi/2008/01"
+ xmlns:ekmi="http://docs.oasis-open.org/ekmi/2008/01"
+ elementFormDefault="qualified">
+
+ <xsd:include schemaLocation="EKMICoreLibrary.xsd"/>
+
+ <!--
+ =============================================
+ SymkeyResponse
+ =============================================
+ -->
+ <xsd:element name="SymkeyResponse">
+ <xsd:annotation>
+ <xsd:documentation>
+ The element returned by the SKS server, in response to a
+ request for a symmetric encryption key from a client. The
+ response contains one or more embedded elements that may be
+ either of the SymkeyType, SymkeyErrorType (if there was a
+ problem with the request) or SymkeyWorkInProgessType (if the
+ request was sent asynchronously). The response is embedded
+ in a SOAP WSS header with a digital signature for verifying
+ the authenticity and integrity of the response.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element ref="ekmi:Symkey" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element ref="ekmi:SymkeyWorkInProgress" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="ekmi:SymkeyError" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element ref="ekmi:SymkeyWorkInProgress" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element ref="ekmi:SymkeyError" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element ref="ekmi:SymkeyError" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!--
+ =======================================================================
+ Symkey, SymkeyError and SymkeyWorkInProgress elements
+ =======================================================================
+ -->
+ <xsd:element name="Symkey" type="ekmi:SymkeyType"></xsd:element>
+ <xsd:element name="SymkeyError" type="ekmi:SymkeyErrorType"></xsd:element>
+ <xsd:element name="SymkeyWorkInProgress" type="ekmi:SymkeyWorkInProgressType"></xsd:element>
+
+</xsd:schema>
15 years, 3 months
JBoss Identity SVN: r229 - xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model.
by jboss-identity-commits@lists.jboss.org
Author: anil.saldhana(a)jboss.com
Date: 2009-01-18 23:12:16 -0500 (Sun, 18 Jan 2009)
New Revision: 229
Added:
xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTestCase.java
Log:
unit test for xkms
Added: xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTestCase.java
===================================================================
--- xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTestCase.java (rev 0)
+++ xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTestCase.java 2009-01-19 04:12:16 UTC (rev 229)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * 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.test.identity.xkms.v2.model;
+
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringReader;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+
+import org.jboss.identity.xkms.v2.model.LocateRequestType;
+import org.jboss.identity.xkms.v2.model.ObjectFactory;
+import org.jboss.identity.xmlkey.common.JBossJAXBUtil;
+import org.junit.Test;
+
+/**
+ * Unit Test the LocateRequest construct
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jan 7, 2009
+ */
+public class LocateRequestUnitTestCase
+{
+ String pkg = "org.jboss.identity.xkms.v2.model";
+ String schema = "schema/v2/xkms.xsd";
+
+ ObjectFactory objectFactory = new ObjectFactory();
+
+ /**
+ <?xml version="1.0" encoding="utf-8"?>
+ <LocateRequest Id="Ia1d6ca7a067fdd545f1a1396d2f26779"
+ Service="http://www.example.org/XKMS"
+ xmlns="http://www.w3.org/2002/03/xkms#">
+ <ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
+ <QueryKeyBinding />
+ </LocateRequest>
+ * @throws Exception
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testConstruction() throws Exception
+ {
+ String id = "Ia1d6ca7a067fdd545f1a1396d2f26779";
+ String service = "http://www.example.org/XKMS";
+ String responseMech = "http://www.w3.org/2002/03/xkms#Represent";
+
+ LocateRequestType lrt = objectFactory.createLocateRequestType();
+ lrt.setId(id);
+ lrt.setService(service);
+
+ lrt.setQueryKeyBinding(objectFactory.createQueryKeyBindingType());
+
+ lrt.getResponseMechanism().add(responseMech);
+
+ JAXBElement<LocateRequestType> jaxbLRT = objectFactory.createLocateRequest(lrt);
+
+ Marshaller m = JBossJAXBUtil.getValidatingMarshaller(pkg, schema);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ m.marshal(jaxbLRT, baos);
+
+ StringReader sr = new StringReader(baos.toString());
+ Unmarshaller um = JBossJAXBUtil.getValidatingUnmarshaller(pkg, schema);
+ JAXBElement<LocateRequestType> jaxbLRTUM = (JAXBElement<LocateRequestType>) um.unmarshal(sr);
+
+ LocateRequestType lrtum = jaxbLRTUM.getValue();
+ assertEquals(id, lrtum.getId());
+ assertEquals(service, lrtum.getService());
+ assertEquals(responseMech, lrtum.getResponseMechanism().get(0));
+ }
+}
\ No newline at end of file
15 years, 3 months