[jboss-cvs] Picketlink SVN: r944 - in federation/trunk: picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue May 17 10:55:05 EDT 2011


Author: anil.saldhana at jboss.com
Date: 2011-05-17 10:55:04 -0400 (Tue, 17 May 2011)
New Revision: 944

Added:
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AnyAddressingType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/BaseAddressingType.java
Removed:
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ObjectFactory.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/ObjectFactory.java
   federation/trunk/picketlink-fed-model/src/test/java/org/picketlink/test/identity/federation/ws/trust/UnmarshallingTestCase.java
Modified:
   federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/parsers/wsp/WSPolicyParser.java
   federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedQNameType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedURIType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedUnsignedLongType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/EndpointReferenceType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/MetadataType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ProblemActionType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ReferenceParametersType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/RelatesToType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/package-info.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/AppliesTo.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/OperatorContentType.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/Policy.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyAttachment.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyReference.java
   federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/package-info.java
Log:
remove JAXB from the addressing/policy object model

Modified: federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/parsers/wsp/WSPolicyParser.java
===================================================================
--- federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/parsers/wsp/WSPolicyParser.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/parsers/wsp/WSPolicyParser.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -46,59 +46,59 @@
  * @since Oct 14, 2010
  */
 public class WSPolicyParser extends AbstractParser
-{ 
+{
    /**
     * @see {@link ParserNamespaceSupport#parse(XMLEventReader)}
     */
    public Object parse(XMLEventReader xmlEventReader) throws ParsingException
-   { 
-      while( xmlEventReader.hasNext() )
+   {
+      while (xmlEventReader.hasNext())
       {
-         XMLEvent xmlEvent = StaxParserUtil.peek( xmlEventReader ); 
+         XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader);
 
-         if( xmlEvent instanceof StartElement )
+         if (xmlEvent instanceof StartElement)
          {
             StartElement startElement = (StartElement) xmlEvent;
 
-            String elementName = StaxParserUtil.getStartElementName( startElement );
-            if( elementName.equalsIgnoreCase( WSPolicyConstants.APPLIES_TO ))
+            String elementName = StaxParserUtil.getStartElementName(startElement);
+            if (elementName.equalsIgnoreCase(WSPolicyConstants.APPLIES_TO))
             {
                //Get the AppliesTo element
                startElement = StaxParserUtil.getNextStartElement(xmlEventReader);
-               
-               AppliesTo appliesTo = new AppliesTo(); 
-               
+
+               AppliesTo appliesTo = new AppliesTo();
+
                //Now we do not do anything to the applies to element.  We go further
                startElement = StaxParserUtil.peekNextStartElement(xmlEventReader);
-               
+
                QName qname = startElement.getName();
-               ParserNamespaceSupport parser = ParserController.get( qname  );
-               if( parser == null )
-                  throw new RuntimeException( "Unable to parse:" + qname );
-               
-               Object parsedObject = parser.parse( xmlEventReader );
-               appliesTo.getAny().add( parsedObject );
-               
+               ParserNamespaceSupport parser = ParserController.get(qname);
+               if (parser == null)
+                  throw new RuntimeException("Unable to parse:" + qname);
+
+               Object parsedObject = parser.parse(xmlEventReader);
+               appliesTo.addAny(parsedObject);
+
                EndElement endElement = StaxParserUtil.getNextEndElement(xmlEventReader);
-               StaxParserUtil.validate(endElement, WSPolicyConstants.APPLIES_TO );
+               StaxParserUtil.validate(endElement, WSPolicyConstants.APPLIES_TO);
                return appliesTo;
-            }  
+            }
          }
          else
          {
-            StaxParserUtil.getNextEvent(xmlEventReader); 
+            StaxParserUtil.getNextEvent(xmlEventReader);
          }
       }
-      throw new RuntimeException( "WSPolicy Parsing has failed" );
+      throw new RuntimeException("WSPolicy Parsing has failed");
    }
-   
+
    /**
     * @see {@link ParserNamespaceSupport#supports(QName)}
     */
    public boolean supports(QName qname)
    {
-      String nsURI = qname.getNamespaceURI(); 
-      
-      return WSTrustConstants.WSP_NS.equals( nsURI );
+      String nsURI = qname.getNamespaceURI();
+
+      return WSTrustConstants.WSP_NS.equals(nsURI);
    }
 }
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java
===================================================================
--- federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -135,7 +135,7 @@
       EndpointReferenceType reference = new EndpointReferenceType();
       reference.setAddress(attributedURI);
       AppliesTo appliesTo = new AppliesTo();
-      appliesTo.getAny().add(reference);
+      appliesTo.addAny(reference);
 
       return appliesTo;
    }

Added: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AnyAddressingType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AnyAddressingType.java	                        (rev 0)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AnyAddressingType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -0,0 +1,61 @@
+/*
+ * 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.picketlink.identity.federation.ws.addressing;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.w3c.dom.Element;
+
+/**
+ * @author Anil.Saldhana at redhat.com
+ * @since May 17, 2011
+ */
+public class AnyAddressingType extends BaseAddressingType
+{
+   protected List<Object> any = new ArrayList<Object>();
+
+   /**
+    * Gets the value of the any property. 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link Object }
+    * {@link Element }
+    * 
+    */
+   public List<Object> getAny()
+   {
+      return Collections.unmodifiableList(this.any);
+   }
+
+   /**
+    * Add an any
+    * @param obj
+    */
+   public void addAny(Object obj)
+   {
+      this.any.add(obj);
+   }
+
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedQNameType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedQNameType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedQNameType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,24 +1,28 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
 import javax.xml.namespace.QName;
 
-
 /**
  * <p>Java class for AttributedQNameType complex type.
  * 
@@ -35,57 +39,34 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "AttributedQNameType", propOrder = {
-    "value"
-})
-public class AttributedQNameType {
+public class AttributedQNameType extends BaseAddressingType
+{
 
-    @XmlValue
-    protected QName value;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected QName value;
 
-    /**
-     * Gets the value of the value property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link QName }
-     *     
-     */
-    public QName getValue() {
-        return value;
-    }
+   /**
+    * Gets the value of the value property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link QName }
+    *     
+    */
+   public QName getValue()
+   {
+      return value;
+   }
 
-    /**
-     * Sets the value of the value property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link QName }
-     *     
-     */
-    public void setValue(QName value) {
-        this.value = value;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+   /**
+    * Sets the value of the value property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link QName }
+    *     
+    */
+   public void setValue(QName value)
+   {
+      this.value = value;
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedURIType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedURIType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedURIType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -5,21 +5,8 @@
 // Generated on: 2008.12.17 at 12:32:20 PM CST 
 //
 
-
 package org.picketlink.identity.federation.ws.addressing;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.namespace.QName;
-
-
 /**
  * <p>Java class for AttributedURIType complex type.
  * 
@@ -36,58 +23,34 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "AttributedURIType", propOrder = {
-    "value"
-})
-public class AttributedURIType {
+public class AttributedURIType extends BaseAddressingType
+{
 
-    @XmlValue
-    @XmlSchemaType(name = "anyURI")
-    protected String value;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected String value;
 
-    /**
-     * Gets the value of the value property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return 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;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+   /**
+    * Sets the value of the value property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setValue(String value)
+   {
+      this.value = value;
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedUnsignedLongType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedUnsignedLongType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/AttributedUnsignedLongType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,26 +1,29 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
 import java.math.BigInteger;
-import java.util.HashMap;
-import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.namespace.QName;
-
-
 /**
  * <p>Java class for AttributedUnsignedLongType complex type.
  * 
@@ -37,58 +40,33 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "AttributedUnsignedLongType", propOrder = {
-    "value"
-})
-public class AttributedUnsignedLongType {
+public class AttributedUnsignedLongType extends BaseAddressingType
+{
+   protected BigInteger value;
 
-    @XmlValue
-    @XmlSchemaType(name = "unsignedLong")
-    protected BigInteger value;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   /**
+    * Gets the value of the value property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link BigInteger }
+    *     
+    */
+   public BigInteger getValue()
+   {
+      return value;
+   }
 
-    /**
-     * Gets the value of the value property.
-     * 
-     * @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 a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+   /**
+    * Sets the value of the value property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link BigInteger }
+    *     
+    */
+   public void setValue(BigInteger value)
+   {
+      this.value = value;
+   }
+}
\ No newline at end of file

Added: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/BaseAddressingType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/BaseAddressingType.java	                        (rev 0)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/BaseAddressingType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -0,0 +1,66 @@
+/*
+ * 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.picketlink.identity.federation.ws.addressing;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author Anil.Saldhana at redhat.com
+ * @since May 17, 2011
+ */
+public class BaseAddressingType
+{
+   protected final Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+   /**
+    * Add an other attribute
+    * @param qname
+    * @param str
+    */
+   public void addOtherAttribute(QName qname, String str)
+   {
+      otherAttributes.put(qname, str);
+   }
+
+   /**
+    * Gets a map that contains attributes that aren't bound to any typed property on this class.
+    * 
+    * <p>
+    * the map is keyed by the name of the attribute and 
+    * the value is the string value of the attribute.
+    * 
+    * the map returned by this method is live, and you can add new attribute
+    * by updating the map directly. Because of this design, there's no setter.
+    * 
+    * 
+    * @return
+    *     always non-null
+    */
+   public Map<QName, String> getOtherAttributes()
+   {
+      return Collections.unmodifiableMap(otherAttributes);
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/EndpointReferenceType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/EndpointReferenceType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/EndpointReferenceType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,29 +1,32 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
 import org.w3c.dom.Element;
 
-
 /**
  * <p>Java class for EndpointReferenceType complex type.
  * 
@@ -46,144 +49,115 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "EndpointReferenceType", propOrder = {
-    "address",
-    "referenceParameters",
-    "metadata",
-    "any"
-})
-public class EndpointReferenceType {
+public class EndpointReferenceType extends BaseAddressingType
+{
+   protected AttributedURIType address;
 
-    @XmlElement(name = "Address", required = true)
-    protected AttributedURIType address;
-    @XmlElement(name = "ReferenceParameters")
-    protected ReferenceParametersType referenceParameters;
-    @XmlElement(name = "Metadata")
-    protected MetadataType metadata;
-    @XmlAnyElement(lax = true)
-    protected List<Object> any;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected ReferenceParametersType referenceParameters;
 
-    /**
-     * Gets the value of the address property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link AttributedURIType }
-     *     
-     */
-    public AttributedURIType getAddress() {
-        return address;
-    }
+   protected MetadataType metadata;
 
-    /**
-     * Sets the value of the address property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link AttributedURIType }
-     *     
-     */
-    public void setAddress(AttributedURIType value) {
-        this.address = value;
-    }
+   protected List<Object> any = new ArrayList<Object>();
 
-    /**
-     * Gets the value of the referenceParameters property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link ReferenceParametersType }
-     *     
-     */
-    public ReferenceParametersType getReferenceParameters() {
-        return referenceParameters;
-    }
+   /**
+    * Gets the value of the address property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AttributedURIType }
+    *     
+    */
+   public AttributedURIType getAddress()
+   {
+      return address;
+   }
 
-    /**
-     * Sets the value of the referenceParameters property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link ReferenceParametersType }
-     *     
-     */
-    public void setReferenceParameters(ReferenceParametersType value) {
-        this.referenceParameters = value;
-    }
+   /**
+    * Sets the value of the address property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AttributedURIType }
+    *     
+    */
+   public void setAddress(AttributedURIType value)
+   {
+      this.address = value;
+   }
 
-    /**
-     * Gets the value of the metadata property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link MetadataType }
-     *     
-     */
-    public MetadataType getMetadata() {
-        return metadata;
-    }
+   /**
+    * Gets the value of the referenceParameters property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link ReferenceParametersType }
+    *     
+    */
+   public ReferenceParametersType getReferenceParameters()
+   {
+      return referenceParameters;
+   }
 
-    /**
-     * Sets the value of the metadata property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link MetadataType }
-     *     
-     */
-    public void setMetadata(MetadataType value) {
-        this.metadata = value;
-    }
+   /**
+    * Sets the value of the referenceParameters property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link ReferenceParametersType }
+    *     
+    */
+   public void setReferenceParameters(ReferenceParametersType value)
+   {
+      this.referenceParameters = value;
+   }
 
-    /**
-     * Gets the value of the any 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 any property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getAny().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link Object }
-     * {@link Element }
-     * 
-     * 
-     */
-    public List<Object> getAny() {
-        if (any == null) {
-            any = new ArrayList<Object>();
-        }
-        return this.any;
-    }
+   /**
+    * Gets the value of the metadata property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link MetadataType }
+    *     
+    */
+   public MetadataType getMetadata()
+   {
+      return metadata;
+   }
 
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
+   /**
+    * Sets the value of the metadata property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link MetadataType }
+    *     
+    */
+   public void setMetadata(MetadataType value)
+   {
+      this.metadata = value;
+   }
 
-}
+   /**
+    * Gets the value of the any property. 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link Object }
+    * {@link Element }
+    * 
+    * 
+    */
+   public List<Object> getAny()
+   {
+      return Collections.unmodifiableList(this.any);
+   }
+
+   /**
+    * Add an any
+    * @param obj
+    */
+   public void addAny(Object obj)
+   {
+      this.any.add(obj);
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/MetadataType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/MetadataType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/MetadataType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,28 +1,27 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Element;
-
-
 /**
  * <p>Java class for MetadataType complex type.
  * 
@@ -42,63 +41,6 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "MetadataType", propOrder = {
-    "any"
-})
-public class MetadataType {
-
-    @XmlAnyElement(lax = true)
-    protected List<Object> any;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-    /**
-     * Gets the value of the any 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 any property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getAny().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link Object }
-     * {@link Element }
-     * 
-     * 
-     */
-    public List<Object> getAny() {
-        if (any == null) {
-            any = new ArrayList<Object>();
-        }
-        return this.any;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+public class MetadataType extends AnyAddressingType
+{
+}
\ No newline at end of file

Deleted: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ObjectFactory.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ObjectFactory.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ObjectFactory.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,246 +0,0 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
-package org.picketlink.identity.federation.ws.addressing;
-
-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.w3._2005._08.addressing 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.
- * 
- */
- at XmlRegistry
-public class ObjectFactory {
-
-    private final static QName _ProblemIRI_QNAME = new QName("http://www.w3.org/2005/08/addressing", "ProblemIRI");
-    private final static QName _RelatesTo_QNAME = new QName("http://www.w3.org/2005/08/addressing", "RelatesTo");
-    private final static QName _ProblemHeaderQName_QNAME = new QName("http://www.w3.org/2005/08/addressing", "ProblemHeaderQName");
-    private final static QName _Action_QNAME = new QName("http://www.w3.org/2005/08/addressing", "Action");
-    private final static QName _Metadata_QNAME = new QName("http://www.w3.org/2005/08/addressing", "Metadata");
-    private final static QName _ReplyTo_QNAME = new QName("http://www.w3.org/2005/08/addressing", "ReplyTo");
-    private final static QName _From_QNAME = new QName("http://www.w3.org/2005/08/addressing", "From");
-    private final static QName _RetryAfter_QNAME = new QName("http://www.w3.org/2005/08/addressing", "RetryAfter");
-    private final static QName _ReferenceParameters_QNAME = new QName("http://www.w3.org/2005/08/addressing", "ReferenceParameters");
-    private final static QName _ProblemAction_QNAME = new QName("http://www.w3.org/2005/08/addressing", "ProblemAction");
-    private final static QName _FaultTo_QNAME = new QName("http://www.w3.org/2005/08/addressing", "FaultTo");
-    private final static QName _MessageID_QNAME = new QName("http://www.w3.org/2005/08/addressing", "MessageID");
-    private final static QName _To_QNAME = new QName("http://www.w3.org/2005/08/addressing", "To");
-    private final static QName _EndpointReference_QNAME = new QName("http://www.w3.org/2005/08/addressing", "EndpointReference");
-
-    /**
-     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.w3._2005._08.addressing
-     * 
-     */
-    public ObjectFactory() {
-    }
-
-    /**
-     * Create an instance of {@link AttributedURIType }
-     * 
-     */
-    public AttributedURIType createAttributedURIType() {
-        return new AttributedURIType();
-    }
-
-    /**
-     * Create an instance of {@link ReferenceParametersType }
-     * 
-     */
-    public ReferenceParametersType createReferenceParametersType() {
-        return new ReferenceParametersType();
-    }
-
-    /**
-     * Create an instance of {@link EndpointReferenceType }
-     * 
-     */
-    public EndpointReferenceType createEndpointReferenceType() {
-        return new EndpointReferenceType();
-    }
-
-    /**
-     * Create an instance of {@link RelatesToType }
-     * 
-     */
-    public RelatesToType createRelatesToType() {
-        return new RelatesToType();
-    }
-
-    /**
-     * Create an instance of {@link AttributedUnsignedLongType }
-     * 
-     */
-    public AttributedUnsignedLongType createAttributedUnsignedLongType() {
-        return new AttributedUnsignedLongType();
-    }
-
-    /**
-     * Create an instance of {@link AttributedQNameType }
-     * 
-     */
-    public AttributedQNameType createAttributedQNameType() {
-        return new AttributedQNameType();
-    }
-
-    /**
-     * Create an instance of {@link ProblemActionType }
-     * 
-     */
-    public ProblemActionType createProblemActionType() {
-        return new ProblemActionType();
-    }
-
-    /**
-     * Create an instance of {@link MetadataType }
-     * 
-     */
-    public MetadataType createMetadataType() {
-        return new MetadataType();
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link AttributedURIType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "ProblemIRI")
-    public JAXBElement<AttributedURIType> createProblemIRI(AttributedURIType value) {
-        return new JAXBElement<AttributedURIType>(_ProblemIRI_QNAME, AttributedURIType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link RelatesToType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "RelatesTo")
-    public JAXBElement<RelatesToType> createRelatesTo(RelatesToType value) {
-        return new JAXBElement<RelatesToType>(_RelatesTo_QNAME, RelatesToType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link AttributedQNameType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "ProblemHeaderQName")
-    public JAXBElement<AttributedQNameType> createProblemHeaderQName(AttributedQNameType value) {
-        return new JAXBElement<AttributedQNameType>(_ProblemHeaderQName_QNAME, AttributedQNameType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link AttributedURIType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "Action")
-    public JAXBElement<AttributedURIType> createAction(AttributedURIType value) {
-        return new JAXBElement<AttributedURIType>(_Action_QNAME, AttributedURIType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link MetadataType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "Metadata")
-    public JAXBElement<MetadataType> createMetadata(MetadataType value) {
-        return new JAXBElement<MetadataType>(_Metadata_QNAME, MetadataType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link EndpointReferenceType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "ReplyTo")
-    public JAXBElement<EndpointReferenceType> createReplyTo(EndpointReferenceType value) {
-        return new JAXBElement<EndpointReferenceType>(_ReplyTo_QNAME, EndpointReferenceType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link EndpointReferenceType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "From")
-    public JAXBElement<EndpointReferenceType> createFrom(EndpointReferenceType value) {
-        return new JAXBElement<EndpointReferenceType>(_From_QNAME, EndpointReferenceType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link AttributedUnsignedLongType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "RetryAfter")
-    public JAXBElement<AttributedUnsignedLongType> createRetryAfter(AttributedUnsignedLongType value) {
-        return new JAXBElement<AttributedUnsignedLongType>(_RetryAfter_QNAME, AttributedUnsignedLongType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceParametersType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "ReferenceParameters")
-    public JAXBElement<ReferenceParametersType> createReferenceParameters(ReferenceParametersType value) {
-        return new JAXBElement<ReferenceParametersType>(_ReferenceParameters_QNAME, ReferenceParametersType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ProblemActionType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "ProblemAction")
-    public JAXBElement<ProblemActionType> createProblemAction(ProblemActionType value) {
-        return new JAXBElement<ProblemActionType>(_ProblemAction_QNAME, ProblemActionType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link EndpointReferenceType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "FaultTo")
-    public JAXBElement<EndpointReferenceType> createFaultTo(EndpointReferenceType value) {
-        return new JAXBElement<EndpointReferenceType>(_FaultTo_QNAME, EndpointReferenceType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link AttributedURIType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "MessageID")
-    public JAXBElement<AttributedURIType> createMessageID(AttributedURIType value) {
-        return new JAXBElement<AttributedURIType>(_MessageID_QNAME, AttributedURIType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link AttributedURIType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "To")
-    public JAXBElement<AttributedURIType> createTo(AttributedURIType value) {
-        return new JAXBElement<AttributedURIType>(_To_QNAME, AttributedURIType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link EndpointReferenceType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2005/08/addressing", name = "EndpointReference")
-    public JAXBElement<EndpointReferenceType> createEndpointReference(EndpointReferenceType value) {
-        return new JAXBElement<EndpointReferenceType>(_EndpointReference_QNAME, EndpointReferenceType.class, null, value);
-    }
-
-}

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ProblemActionType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ProblemActionType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ProblemActionType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -5,21 +5,12 @@
 // Generated on: 2008.12.17 at 12:32:20 PM CST 
 //
 
-
 package org.picketlink.identity.federation.ws.addressing;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
 
-
 /**
  * <p>Java class for ProblemActionType complex type.
  * 
@@ -41,84 +32,64 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ProblemActionType", propOrder = {
-    "action",
-    "soapAction"
-})
-public class ProblemActionType {
+ at XmlType(name = "ProblemActionType", propOrder =
+{"action", "soapAction"})
+public class ProblemActionType extends BaseAddressingType
+{
 
-    @XmlElement(name = "Action")
-    protected AttributedURIType action;
-    @XmlElement(name = "SoapAction")
-    @XmlSchemaType(name = "anyURI")
-    protected String soapAction;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected AttributedURIType action;
 
-    /**
-     * Gets the value of the action property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link AttributedURIType }
-     *     
-     */
-    public AttributedURIType getAction() {
-        return action;
-    }
+   protected String soapAction;
 
-    /**
-     * Sets the value of the action property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link AttributedURIType }
-     *     
-     */
-    public void setAction(AttributedURIType value) {
-        this.action = value;
-    }
+   /**
+    * Gets the value of the action property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AttributedURIType }
+    *     
+    */
+   public AttributedURIType getAction()
+   {
+      return action;
+   }
 
-    /**
-     * Gets the value of the soapAction property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getSoapAction() {
-        return soapAction;
-    }
+   /**
+    * Sets the value of the action property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AttributedURIType }
+    *     
+    */
+   public void setAction(AttributedURIType value)
+   {
+      this.action = value;
+   }
 
-    /**
-     * Sets the value of the soapAction property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setSoapAction(String value) {
-        this.soapAction = value;
-    }
+   /**
+    * Gets the value of the soapAction property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   public String getSoapAction()
+   {
+      return soapAction;
+   }
 
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+   /**
+    * Sets the value of the soapAction property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setSoapAction(String value)
+   {
+      this.soapAction = value;
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ReferenceParametersType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ReferenceParametersType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/ReferenceParametersType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,28 +1,27 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Element;
-
-
 /**
  * <p>Java class for ReferenceParametersType complex type.
  * 
@@ -42,63 +41,6 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ReferenceParametersType", propOrder = {
-    "any"
-})
-public class ReferenceParametersType {
-
-    @XmlAnyElement(lax = true)
-    protected List<Object> any;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-    /**
-     * Gets the value of the any 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 any property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getAny().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link Object }
-     * {@link Element }
-     * 
-     * 
-     */
-    public List<Object> getAny() {
-        if (any == null) {
-            any = new ArrayList<Object>();
-        }
-        return this.any;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+public class ReferenceParametersType extends AnyAddressingType
+{
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/RelatesToType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/RelatesToType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/RelatesToType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,26 +1,26 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.namespace.QName;
-
-
 /**
  * <p>Java class for RelatesToType complex type.
  * 
@@ -38,88 +38,68 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "RelatesToType", propOrder = {
-    "value"
-})
-public class RelatesToType {
+public class RelatesToType extends BaseAddressingType
+{
+   protected String value;
 
-    @XmlValue
-    @XmlSchemaType(name = "anyURI")
-    protected String value;
-    @XmlAttribute(name = "RelationshipType")
-    protected String relationshipType;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected String relationshipType;
 
-    /**
-     * Gets the value of the value property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return 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;
-    }
+   /**
+    * Sets the value of the value property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setValue(String value)
+   {
+      this.value = value;
+   }
 
-    /**
-     * Gets the value of the relationshipType property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getRelationshipType() {
-        if (relationshipType == null) {
-            return "http://www.w3.org/2005/08/addressing/reply";
-        } else {
-            return relationshipType;
-        }
-    }
+   /**
+    * Gets the value of the relationshipType property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   public String getRelationshipType()
+   {
+      if (relationshipType == null)
+      {
+         return "http://www.w3.org/2005/08/addressing/reply";
+      }
+      else
+      {
+         return relationshipType;
+      }
+   }
 
-    /**
-     * Sets the value of the relationshipType property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setRelationshipType(String value) {
-        this.relationshipType = value;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+   /**
+    * Sets the value of the relationshipType property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setRelationshipType(String value)
+   {
+      this.relationshipType = value;
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/package-info.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/package-info.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/addressing/package-info.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,9 +1,23 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, 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.picketlink.identity.federation.ws.addressing;
 
- at javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2005/08/addressing", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.picketlink.identity.federation.ws.addressing;

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/AppliesTo.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/AppliesTo.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/AppliesTo.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,29 +1,28 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * 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.picketlink.identity.federation.ws.policy;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import org.picketlink.identity.federation.ws.addressing.AnyAddressingType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Element;
-
-
 /**
  * <p>Java class for anonymous complex type.
  * 
@@ -43,64 +42,6 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "", propOrder = {
-    "any"
-})
- at XmlRootElement(name = "AppliesTo")
-public class AppliesTo {
-
-    @XmlAnyElement(lax = true)
-    protected List<Object> any;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-    /**
-     * Gets the value of the any 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 any property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getAny().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link Object }
-     * {@link Element }
-     * 
-     * 
-     */
-    public List<Object> getAny() {
-        if (any == null) {
-            any = new ArrayList<Object>();
-        }
-        return this.any;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}
+public class AppliesTo extends AnyAddressingType
+{
+}
\ No newline at end of file

Deleted: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/ObjectFactory.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/ObjectFactory.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/ObjectFactory.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,102 +0,0 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
-package org.picketlink.identity.federation.ws.policy;
-
-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.xmlsoap.schemas.ws._2004._09.policy 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.
- * 
- */
- at XmlRegistry
-public class ObjectFactory {
-
-    private final static QName _ExactlyOne_QNAME = new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "ExactlyOne");
-    private final static QName _All_QNAME = new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "All");
-
-    /**
-     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.xmlsoap.schemas.ws._2004._09.policy
-     * 
-     */
-    public ObjectFactory() {
-    }
-
-    /**
-     * Create an instance of {@link PolicyAttachment }
-     * 
-     */
-    public PolicyAttachment createPolicyAttachment() {
-        return new PolicyAttachment();
-    }
-
-    /**
-     * Create an instance of {@link OperatorContentType }
-     * 
-     */
-    public OperatorContentType createOperatorContentType() {
-        return new OperatorContentType();
-    }
-
-    /**
-     * Create an instance of {@link Policy }
-     * 
-     */
-    public Policy createPolicy() {
-        return new Policy();
-    }
-
-    /**
-     * Create an instance of {@link PolicyReference }
-     * 
-     */
-    public PolicyReference createPolicyReference() {
-        return new PolicyReference();
-    }
-
-    /**
-     * Create an instance of {@link AppliesTo }
-     * 
-     */
-    public AppliesTo createAppliesTo() {
-        return new AppliesTo();
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link OperatorContentType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", name = "ExactlyOne")
-    public JAXBElement<OperatorContentType> createExactlyOne(OperatorContentType value) {
-        return new JAXBElement<OperatorContentType>(_ExactlyOne_QNAME, OperatorContentType.class, null, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link OperatorContentType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", name = "All")
-    public JAXBElement<OperatorContentType> createAll(OperatorContentType value) {
-        return new JAXBElement<OperatorContentType>(_All_QNAME, OperatorContentType.class, null, value);
-    }
-
-}

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/OperatorContentType.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/OperatorContentType.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/OperatorContentType.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,11 +1,24 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * 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.picketlink.identity.federation.ws.policy;
 
 import java.util.ArrayList;
@@ -22,7 +35,6 @@
 
 import org.w3c.dom.Element;
 
-
 /**
  * <p>Java class for OperatorContentType complex type.
  * 
@@ -49,55 +61,56 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "OperatorContentType", propOrder = {
-    "policyOrAllOrExactlyOne"
-})
- at XmlSeeAlso({
-    Policy.class
-})
-public class OperatorContentType {
+ at XmlType(name = "OperatorContentType", propOrder =
+{"policyOrAllOrExactlyOne"})
+ at XmlSeeAlso(
+{Policy.class})
+public class OperatorContentType
+{
 
-    @XmlElementRefs({
-        @XmlElementRef(name = "Policy", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = Policy.class),
-        @XmlElementRef(name = "PolicyReference", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = PolicyReference.class),
-        @XmlElementRef(name = "ExactlyOne", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = JAXBElement.class),
-        @XmlElementRef(name = "All", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = JAXBElement.class)
-    })
-    @XmlAnyElement(lax = true)
-    protected List<Object> policyOrAllOrExactlyOne;
+   @XmlElementRefs(
+   {
+         @XmlElementRef(name = "Policy", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = Policy.class),
+         @XmlElementRef(name = "PolicyReference", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = PolicyReference.class),
+         @XmlElementRef(name = "ExactlyOne", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = JAXBElement.class),
+         @XmlElementRef(name = "All", namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", type = JAXBElement.class)})
+   @XmlAnyElement(lax = true)
+   protected List<Object> policyOrAllOrExactlyOne;
 
-    /**
-     * Gets the value of the policyOrAllOrExactlyOne 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 policyOrAllOrExactlyOne property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getPolicyOrAllOrExactlyOne().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link PolicyReference }
-     * {@link Element }
-     * {@link JAXBElement }{@code <}{@link OperatorContentType }{@code >}
-     * {@link Policy }
-     * {@link Object }
-     * {@link JAXBElement }{@code <}{@link OperatorContentType }{@code >}
-     * 
-     * 
-     */
-    public List<Object> getPolicyOrAllOrExactlyOne() {
-        if (policyOrAllOrExactlyOne == null) {
-            policyOrAllOrExactlyOne = new ArrayList<Object>();
-        }
-        return this.policyOrAllOrExactlyOne;
-    }
+   /**
+    * Gets the value of the policyOrAllOrExactlyOne 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 policyOrAllOrExactlyOne property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * <pre>
+    *    getPolicyOrAllOrExactlyOne().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link PolicyReference }
+    * {@link Element }
+    * {@link JAXBElement }{@code <}{@link OperatorContentType }{@code >}
+    * {@link Policy }
+    * {@link Object }
+    * {@link JAXBElement }{@code <}{@link OperatorContentType }{@code >}
+    * 
+    * 
+    */
+   public List<Object> getPolicyOrAllOrExactlyOne()
+   {
+      if (policyOrAllOrExactlyOne == null)
+      {
+         policyOrAllOrExactlyOne = new ArrayList<Object>();
+      }
+      return this.policyOrAllOrExactlyOne;
+   }
 
 }

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/Policy.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/Policy.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/Policy.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,29 +1,32 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
-
-
+/*
+ * 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.picketlink.identity.federation.ws.policy;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 
-
 /**
  * <p>Java class for anonymous complex type.
  * 
@@ -42,88 +45,94 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "")
- at XmlRootElement(name = "Policy")
-public class Policy
-    extends OperatorContentType
+public class Policy extends OperatorContentType
 {
 
-    @XmlAttribute(name = "Name")
-    @XmlSchemaType(name = "anyURI")
-    protected String name;
-    @XmlAttribute(name = "Id", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
-    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-    @XmlID
-    @XmlSchemaType(name = "ID")
-    protected String id;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected String name;
 
-    /**
-     * Gets the value of the name property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getName() {
-        return name;
-    }
+   protected String id;
 
-    /**
-     * Sets the value of the name property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setName(String value) {
-        this.name = value;
-    }
+   private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
 
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getId() {
-        return id;
-    }
+   /**
+    * Gets the value of the name property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   public String getName()
+   {
+      return name;
+   }
 
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setId(String value) {
-        this.id = value;
-    }
+   /**
+    * Sets the value of the name property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setName(String value)
+   {
+      this.name = value;
+   }
 
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
+   /**
+    * Gets the value of the id property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   public String getId()
+   {
+      return id;
+   }
 
+   /**
+    * Sets the value of the id property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setId(String value)
+   {
+      this.id = value;
+   }
+
+   /**
+    * Add an other attribute
+    * @param qname
+    * @param str
+    */
+   public void addOtherAttribute(QName qname, String str)
+   {
+      otherAttributes.put(qname, str);
+   }
+
+   /**
+    * Gets a map that contains attributes that aren't bound to any typed property on this class.
+    * 
+    * <p>
+    * the map is keyed by the name of the attribute and 
+    * the value is the string value of the attribute.
+    * 
+    * the map returned by this method is live, and you can add new attribute
+    * by updating the map directly. Because of this design, there's no setter.
+    * 
+    * 
+    * @return
+    *     always non-null
+    */
+   public Map<QName, String> getOtherAttributes()
+   {
+      return Collections.unmodifiableMap(otherAttributes);
+   }
+
 }

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyAttachment.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyAttachment.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyAttachment.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,31 +1,38 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
+/*
+ * 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.picketlink.identity.federation.ws.policy;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
 
-import org.w3c.dom.Element;
+import org.picketlink.identity.federation.ws.addressing.AnyAddressingType;
 
-
 /**
  * <p>Java class for anonymous complex type.
  * 
@@ -51,126 +58,87 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "", propOrder = {
-    "appliesTo",
-    "policyOrPolicyReference",
-    "any"
-})
+ at XmlType(name = "", propOrder =
+{"appliesTo", "policyOrPolicyReference", "any"})
 @XmlRootElement(name = "PolicyAttachment")
-public class PolicyAttachment {
+public class PolicyAttachment extends AnyAddressingType
+{
+   protected AppliesTo appliesTo;
 
-    @XmlElement(name = "AppliesTo", required = true)
-    protected AppliesTo appliesTo;
-    @XmlElements({
-        @XmlElement(name = "PolicyReference", type = PolicyReference.class),
-        @XmlElement(name = "Policy", type = Policy.class)
-    })
-    protected List<Object> policyOrPolicyReference;
-    @XmlAnyElement(lax = true)
-    protected List<Object> any;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected List<PolicyChoice> theChoices = new ArrayList<PolicyChoice>();
 
-    /**
-     * Gets the value of the appliesTo property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link AppliesTo }
-     *     
-     */
-    public AppliesTo getAppliesTo() {
-        return appliesTo;
-    }
+   public static class PolicyChoice
+   {
+      private Policy thePolicy;
 
-    /**
-     * Sets the value of the appliesTo property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link AppliesTo }
-     *     
-     */
-    public void setAppliesTo(AppliesTo value) {
-        this.appliesTo = value;
-    }
+      private PolicyReference thePolicyRef;
 
-    /**
-     * Gets the value of the policyOrPolicyReference 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 policyOrPolicyReference property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getPolicyOrPolicyReference().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link PolicyReference }
-     * {@link Policy }
-     * 
-     * 
-     */
-    public List<Object> getPolicyOrPolicyReference() {
-        if (policyOrPolicyReference == null) {
-            policyOrPolicyReference = new ArrayList<Object>();
-        }
-        return this.policyOrPolicyReference;
-    }
+      public PolicyChoice(Policy p)
+      {
+         thePolicy = p;
+      }
 
-    /**
-     * Gets the value of the any 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 any property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getAny().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link Object }
-     * {@link Element }
-     * 
-     * 
-     */
-    public List<Object> getAny() {
-        if (any == null) {
-            any = new ArrayList<Object>();
-        }
-        return this.any;
-    }
+      public PolicyChoice(PolicyReference pr)
+      {
+         thePolicyRef = pr;
+      }
 
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
+      public Policy getPolicy()
+      {
+         return thePolicy;
+      }
 
-}
+      public PolicyReference getPolicyReference()
+      {
+         return thePolicyRef;
+      }
+   }
+
+   /**
+    * Gets the value of the appliesTo property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link AppliesTo }
+    *     
+    */
+   public AppliesTo getAppliesTo()
+   {
+      return appliesTo;
+   }
+
+   /**
+    * Sets the value of the appliesTo property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link AppliesTo }
+    *     
+    */
+   public void setAppliesTo(AppliesTo value)
+   {
+      this.appliesTo = value;
+   }
+
+   /**
+    * Add a {@link PolicyChoice}
+    * @param pc
+    */
+   public void addChoice(PolicyChoice pc)
+   {
+      this.theChoices.add(pc);
+   }
+
+   /**
+    * Gets the value of the policyOrPolicyReference property.
+    *  
+    * <p>
+    * Objects of the following type(s) are allowed in the list
+    * {@link PolicyReference }
+    * {@link Policy }
+    */
+   public List<PolicyChoice> getPolicyOrPolicyReference()
+   {
+      return Collections.unmodifiableList(this.theChoices);
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyReference.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyReference.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/PolicyReference.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,26 +1,29 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
+/*
+ * 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.picketlink.identity.federation.ws.policy;
 
-import java.util.HashMap;
-import java.util.Map;
+import org.picketlink.identity.federation.ws.addressing.BaseAddressingType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
-
 /**
  * <p>Java class for anonymous complex type.
  * 
@@ -40,112 +43,95 @@
  * 
  * 
  */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "")
- at XmlRootElement(name = "PolicyReference")
-public class PolicyReference {
+public class PolicyReference extends BaseAddressingType
+{
 
-    @XmlAttribute(name = "URI", required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String uri;
-    @XmlAttribute(name = "Digest")
-    protected byte[] digest;
-    @XmlAttribute(name = "DigestAlgorithm")
-    @XmlSchemaType(name = "anyURI")
-    protected String digestAlgorithm;
-    @XmlAnyAttribute
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+   protected String uri;
 
-    /**
-     * Gets the value of the uri property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getURI() {
-        return uri;
-    }
+   protected byte[] digest;
 
-    /**
-     * Sets the value of the uri property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setURI(String value) {
-        this.uri = value;
-    }
+   protected String digestAlgorithm;
 
-    /**
-     * Gets the value of the digest property.
-     * 
-     * @return
-     *     possible object is
-     *     byte[]
-     */
-    public byte[] getDigest() {
-        return digest;
-    }
+   /**
+    * Gets the value of the uri property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   public String getURI()
+   {
+      return uri;
+   }
 
-    /**
-     * Sets the value of the digest property.
-     * 
-     * @param value
-     *     allowed object is
-     *     byte[]
-     */
-    public void setDigest(byte[] value) {
-        this.digest = ((byte[]) value);
-    }
+   /**
+    * Sets the value of the uri property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setURI(String value)
+   {
+      this.uri = value;
+   }
 
-    /**
-     * Gets the value of the digestAlgorithm property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getDigestAlgorithm() {
-        if (digestAlgorithm == null) {
-            return "http://schemas.xmlsoap.org/ws/2004/09/policy/Sha1Exc";
-        } else {
-            return digestAlgorithm;
-        }
-    }
+   /**
+    * Gets the value of the digest property.
+    * 
+    * @return
+    *     possible object is
+    *     byte[]
+    */
+   public byte[] getDigest()
+   {
+      return digest;
+   }
 
-    /**
-     * Sets the value of the digestAlgorithm property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setDigestAlgorithm(String value) {
-        this.digestAlgorithm = value;
-    }
+   /**
+    * Sets the value of the digest property.
+    * 
+    * @param value
+    *     allowed object is
+    *     byte[]
+    */
+   public void setDigest(byte[] value)
+   {
+      this.digest = (value);
+   }
 
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
+   /**
+    * Gets the value of the digestAlgorithm property.
+    * 
+    * @return
+    *     possible object is
+    *     {@link String }
+    *     
+    */
+   public String getDigestAlgorithm()
+   {
+      if (digestAlgorithm == null)
+      {
+         return "http://schemas.xmlsoap.org/ws/2004/09/policy/Sha1Exc";
+      }
+      else
+      {
+         return digestAlgorithm;
+      }
+   }
 
-}
+   /**
+    * Sets the value of the digestAlgorithm property.
+    * 
+    * @param value
+    *     allowed object is
+    *     {@link String }
+    *     
+    */
+   public void setDigestAlgorithm(String value)
+   {
+      this.digestAlgorithm = value;
+   }
+}
\ No newline at end of file

Modified: federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/package-info.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/package-info.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/main/java/org/picketlink/identity/federation/ws/policy/package-info.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,9 +1,23 @@
-//
-// 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: 2008.12.17 at 12:32:20 PM CST 
-//
+/*
+ * 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.picketlink.identity.federation.ws.policy;
 
- at javax.xml.bind.annotation.XmlSchema(namespace = "http://schemas.xmlsoap.org/ws/2004/09/policy", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.picketlink.identity.federation.ws.policy;

Deleted: federation/trunk/picketlink-fed-model/src/test/java/org/picketlink/test/identity/federation/ws/trust/UnmarshallingTestCase.java
===================================================================
--- federation/trunk/picketlink-fed-model/src/test/java/org/picketlink/test/identity/federation/ws/trust/UnmarshallingTestCase.java	2011-05-17 05:03:58 UTC (rev 943)
+++ federation/trunk/picketlink-fed-model/src/test/java/org/picketlink/test/identity/federation/ws/trust/UnmarshallingTestCase.java	2011-05-17 14:55:04 UTC (rev 944)
@@ -1,131 +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.picketlink.test.identity.federation.ws.trust;
-
-import java.io.File;
-import java.net.URI;
-import java.util.List;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.Unmarshaller;
-
-import junit.framework.TestCase;
-
-import org.picketlink.identity.federation.ws.trust.RequestSecurityTokenCollectionType;
-import org.picketlink.identity.federation.ws.trust.RequestSecurityTokenType;
-
-/**
- * <p>
- * A {@code TestCase} that validates the unmarshalling of ws-trust messages.
- * </p>
- * 
- * @author <a href="mailto:sguilhen at redhat.com">Stefan Guilhen</a>
- */
-public class UnmarshallingTestCase extends TestCase
-{
-
-   /**
-    * <p>
-    * Tests unmarshalling a simple ws-trust security token request.
-    * </p>
-    * 
-    * @throws Exception if an error occurs while running the test.
-    */
-   @SuppressWarnings("unchecked")
-   public void testUnmarshallTokenRequest() throws Exception
-   {
-      JAXBContext context = JAXBContext.newInstance("org.picketlink.identity.federation.ws.policy:org.picketlink.identity.federation.ws.trust");
-      Unmarshaller unmarshaller = context.createUnmarshaller();
-      // this.setValidatingSchema("/schema/wstrust/v1_3/ws-trust-1.3.xsd", unmarshaller);
-
-      // unmarshall the sample security token request.
-      URI sampleURI = this.getClass().getResource("/wstrust/simple-request.xml").toURI();
-      Object object = unmarshaller.unmarshal(new File(sampleURI));
-      assertNotNull("Unexpected null object", object);
-      assertTrue("Unexpected object type", object instanceof JAXBElement);
-
-      JAXBElement element = (JAXBElement) object;
-      assertEquals("Invalid element name", "RequestSecurityToken", element.getName().getLocalPart());
-      assertEquals("Invalid element type", RequestSecurityTokenType.class, element.getDeclaredType());
-
-      // validate the request contents.
-      RequestSecurityTokenType request = (RequestSecurityTokenType) element.getValue();
-      List<Object> contents = request.getAny();
-      assertNotNull("Unexpected null value for the request contents", contents);
-      assertEquals("Unexpected number of contents", 2, contents.size());
-
-      // first element should be TokenType.
-      JAXBElement<String> tokenType = (JAXBElement<String>) contents.get(0);
-      assertEquals("TokenType", tokenType.getName().getLocalPart());
-      assertEquals("http://example.org/mySpecialToken", tokenType.getValue());
-
-      // second element should be RequestType.
-      JAXBElement<String> requestType = (JAXBElement<String>) contents.get(1);
-      assertEquals("RequestType", requestType.getName().getLocalPart());
-      assertEquals("http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue", requestType.getValue());
-   }
-
-   /**
-    * <p>
-    * Tests unmarshalling a ws-trust request for a collection of security tokens.
-    * </p>
-    * 
-    * @throws Exception if an error occurs while running the test.
-    */
-   @SuppressWarnings("unchecked")
-   public void testUnmarshallTokenCollectionRequest() throws Exception
-   {
-      JAXBContext context = JAXBContext.newInstance("org.picketlink.identity.federation.ws.trust");
-      Unmarshaller unmarshaller = context.createUnmarshaller();
-      // this.setValidatingSchema("/schema/wstrust/v1_3/ws-trust-1.3.xsd", unmarshaller);
-
-      // unmarshall the sample security token request.
-      URI sampleURI = this.getClass().getResource("/wstrust/collection-request.xml").toURI();
-      Object object = unmarshaller.unmarshal(new File(sampleURI));
-      assertNotNull("Unexpected null object", object);
-      assertTrue("Unexpected object type", object instanceof JAXBElement);
-
-      JAXBElement element = (JAXBElement) object;
-      assertEquals("Invalid element name", "RequestSecurityTokenCollection", element.getName().getLocalPart());
-      assertEquals("Invalid element type", RequestSecurityTokenCollectionType.class, element.getDeclaredType());
-
-      List<RequestSecurityTokenType> requests = ((RequestSecurityTokenCollectionType) element.getValue())
-            .getRequestSecurityToken();
-      assertNotNull("Unexpected null request list", requests);
-      assertEquals("Unexpected number of requests", 2, requests.size());
-      
-      // first request must have the http://www.example.com/1 context.
-      RequestSecurityTokenType request = requests.get(0);
-      assertEquals("Invalid context id", "http://www.example.com/1", request.getContext());
-      List<Object> contents = request.getAny();
-      assertNotNull("Unexpected null value for the request contents", contents);
-      assertEquals("Unexpected number of contents", 4, contents.size());
-
-      // second request must have the http://www.example.com/2 context.
-      request = requests.get(1);
-      assertEquals("Invalid context id", "http://www.example.com/2", request.getContext());
-      contents = request.getAny();
-      assertNotNull("Unexpected null value for the request contents", contents);
-      assertEquals("Unexpected number of contents", 4, contents.size());
-   }
-}
\ No newline at end of file



More information about the jboss-cvs-commits mailing list