You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by sc...@apache.org on 2006/06/02 19:33:13 UTC

svn commit: r411218 [14/34] - in /webservices/muse: branches/1.0/ branches/1.0/src/examples/broker/ branches/1.0/src/examples/broker/WEB-INF/ branches/1.0/src/examples/consumer/ branches/1.0/src/examples/consumer/epr/ branches/1.0/src/examples/consumer...

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,53 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.metadataexchange.v2004_09;
+
+
+/**
+ * Constants for WS-MEX.
+ */
+public interface MetadataExchangeConstants
+{
+   /**
+    * The namespace URI for WS-MEX.
+    */
+   String NSURI = "http://schemas.xmlsoap.org/ws/2004/09/mex";
+
+   /**
+    * A prefix for the WS-MEX namespace.
+    */
+   String NSPREFIX = "wsmex";
+
+   /**
+    * wsa:Action URI for Get requests.
+    */
+   String ACTION_GET_REQUEST = NSURI + "/Get/Request";
+
+   /**
+    * wsa:Action URI for Get responses.
+    */
+   String ACTION_GET_RESPONSE = NSURI + "/Get/Response";
+
+   /**
+    * wsa:Action URI for GetMetadata requests.
+    */
+   String ACTION_GETMETADATA_REQUEST = NSURI + "/GetMetadata/Request";
+
+   /**
+    * wsa:Action URI for GetMetadata requests.
+    */
+   String ACTION_GETMETADATA_RESPONSE = NSURI + "/GetMetadata/Response";
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/MetadataExchangePortType.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/MetadataExchangePortType.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/MetadataExchangePortType.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/MetadataExchangePortType.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,48 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.metadataexchange.v2004_09.porttype;
+
+import org.apache.ws.resource.metadataexchange.v2004_09.MetadataExchangeConstants;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.AnyXmlType;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.GetMetadataDocument;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.MetadataDocument;
+import javax.xml.namespace.QName;
+
+/**
+ * The WS-MEX MetadataExchange portType.
+ */
+public interface MetadataExchangePortType
+{
+   /** DOCUMENT_ME */
+   QName NAME =
+      new QName( MetadataExchangeConstants.NSURI, "MetadataExchange", MetadataExchangeConstants.NSPREFIX );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param request DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   MetadataDocument getMetadata( GetMetadataDocument request );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   AnyXmlType get(  );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,321 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.metadataexchange.v2004_09.porttype.impl;
+
+import org.apache.ws.resource.AbstractPortType;
+import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.metadataexchange.v2004_09.MetadataExchangeConstants;
+import org.apache.ws.resource.metadataexchange.v2004_09.porttype.MetadataExchangePortType;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.resource.properties.v2004_11.impl.NamespaceVersionHolderImpl;
+import org.apache.ws.util.XmlBeanUtils;
+import org.apache.ws.util.jndi.tools.MetadataConfig;
+import org.apache.ws.util.soap.SoapClient;
+import org.apache.xmlbeans.XmlException;
+import org.apache.xmlbeans.XmlObject;
+import org.xmlsoap.schemas.soap.envelope.Envelope;
+import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
+import org.xmlsoap.schemas.soap.envelope.Header;
+import org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI;
+import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.AnyXmlType;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.GetMetadataDocument;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.LocationDocument;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.MetadataDocument;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.MetadataReferenceDocument;
+import org.xmlsoap.schemas.ws.x2004.x09.mex.MetadataSectionDocument;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * An implementation of the WS-MEX MetadataExchange portType.
+ *
+ * @author Sal Campana
+ */
+public class MetadataExchangePortTypeImpl
+   extends AbstractPortType
+   implements MetadataExchangePortType
+{
+   private static final NamespaceVersionHolder NAMESPACE_SET = new NamespaceVersionHolderImpl(  );
+
+   /**
+    * Creates a new {@link AbstractPortType} object.
+    *
+    * @param resourceContext
+    */
+   public MetadataExchangePortTypeImpl( ResourceContext resourceContext )
+   {
+      super( resourceContext );
+   }
+
+   /**
+    * WS-MetadataExchange GetMetadata operation.
+    *
+    * @param request
+    * @return  MetadataDocument response document
+    */
+   public MetadataDocument getMetadata( GetMetadataDocument request )
+   {
+      MetadataConfig metadataConfig = getMetadataConfigFromJNDI(  );
+
+      //prep the response
+      MetadataDocument          responseDoc      = createMetadataResponseDoc(  );
+      MetadataDocument.Metadata responseMetadata = responseDoc.addNewMetadata(  );
+
+      //get the values from the request
+      GetMetadataDocument.GetMetadata requestMetadata = request.getGetMetadata(  );
+      String                          dialect    = requestMetadata.getDialect(  );
+      String                          identifier = requestMetadata.getIdentifier(  );
+
+      //get the metatdata from the config
+      // the map is keyed on dialect and keyed to a List of metadata
+      // this allows you to build a metadata section per dialect
+      Map metadataMap = metadataConfig.getMetadata( dialect, identifier );
+
+      //iterate the returned set and add metadata sections
+      Iterator iterator = metadataMap.keySet(  ).iterator(  );
+      while ( iterator.hasNext(  ) )
+      {
+         String dialectKey = (String) iterator.next(  );
+
+         //get the list of metatadata for this dialect
+         List metadataList = (List) metadataMap.get( dialectKey );
+
+         for ( int i = 0; i < metadataList.size(  ); i++ )
+         {
+            //create a new metadata section
+            MetadataSectionDocument.MetadataSection metadataSection = responseMetadata.addNewMetadataSection(  );
+            Object                                  data = metadataList.get( i );
+            metadataSection.setDialect( dialectKey );
+            if ( ( identifier != null ) && !"".equals( identifier ) )
+            {
+               metadataSection.setIdentifier( identifier );
+            }
+
+            /** Determine type of metadata to add **/
+            if ( data instanceof MetadataReferenceDocument )
+            {
+               //adds a MetadataReference for locating the metadata
+               metadataSection.setMetadataReference( (EndpointReferenceType) data );
+            }
+            else if ( data instanceof LocationDocument )
+            {
+               //adds a Location for locating the metadata
+               metadataSection.setLocation( ( (LocationDocument) data ).getLocation(  ) );
+            }
+            else
+            {
+               //else its the metadata document and must be added as a child for the "any"
+               XmlBeanUtils.addChildElement( metadataSection, (XmlObject) data );
+            }
+         }
+      }
+
+      getResourceContext(  ).setResponseAction( URI.create( MetadataExchangeConstants.ACTION_GETMETADATA_RESPONSE ) );
+      return responseDoc;
+   }
+
+   /**
+    * WS-MetadataExchange Get operation.
+    *
+    * @return AnyXmlType response document.
+    */
+   public AnyXmlType get(  )
+   {
+      AnyXmlType     anyXmlType     = AnyXmlType.Factory.newInstance(  );
+      MetadataConfig metadataConfig = getMetadataConfigFromJNDI(  );
+
+      //get all the registered metadata
+      Map      allMetadata = metadataConfig.getAllMetadata(  );
+      Iterator iterator = allMetadata.values(  ).iterator(  );
+      while ( iterator.hasNext(  ) )
+      {
+         List metadataList = (List) iterator.next(  );
+         for ( int i = 0; i < metadataList.size(  ); i++ )
+         {
+            Object metadata = metadataList.get( i );
+
+            /** Determine type of metadata to add **/
+            if ( metadata instanceof MetadataReferenceDocument )
+            {
+               //must load actual metadata using MetadataReference
+               try
+               {
+                  metadata =
+                     loadMetadataFromEPR( ( (MetadataReferenceDocument) metadata ).getMetadataReference(  ) );
+               }
+               catch ( Exception e )
+               {
+                  throw new RuntimeException( "Unable to retrieve metadata from the configured EPR: " + metadata, e );
+               }
+            }
+            else if ( metadata instanceof LocationDocument )
+            {
+               try
+               {
+                  metadata = loadMetadataFromURL( ( (LocationDocument) metadata ).getLocation(  ) );
+               }
+               catch ( Exception e )
+               {
+                  //not sure if we should ignore a problem and send the rest...
+                  throw new RuntimeException( "Unable to retrieve metadata from the configured URL: "
+                                              + ( (LocationDocument) metadata ).getLocation(  ), e );
+               }
+            }
+
+            XmlBeanUtils.addChildElement( anyXmlType, (XmlObject) metadata );
+         }
+      }
+
+      getResourceContext(  ).setResponseAction( URI.create( MetadataExchangeConstants.ACTION_GET_RESPONSE ) );
+      return anyXmlType;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   protected NamespaceVersionHolder getNamespaceSet(  )
+   {
+      return NAMESPACE_SET;
+   }
+
+   private MetadataConfig getMetadataConfigFromJNDI(  )
+   {
+      String metadataJndiContextName = getMetadataJndiContextName(  );
+      try
+      {
+         return (MetadataConfig) new InitialContext(  ).lookup( metadataJndiContextName );
+      }
+      catch ( NamingException ne )
+      {
+         throw new RuntimeException( "Unable to retrieve WS-MetadataExchange configuration.", ne );
+      }
+   }
+
+   /**
+    * Returns the JNDI Contrext name for looking up the metadata
+    *
+    * @return
+    */
+   private String getMetadataJndiContextName(  )
+   {
+      return org.apache.ws.resource.JndiConstants.CONTEXT_NAME_SERVICES + "/"
+             + getResourceContext(  ).getServiceName(  ) + "/"
+             + org.apache.ws.resource.JndiConstants.ATOMIC_METADATA_CONTEXT;
+   }
+
+   /**
+    * Builds a SOAP Envelope based on the EPR and makes a request to retrieve the metadata.
+    *
+    * @param address
+    * @param endpointReferenceType
+    * @return The SOAP Envelope for making a request.
+    */
+   private EnvelopeDocument buildSoapEnvelopeForGet( String                address,
+                                                     EndpointReferenceType endpointReferenceType )
+   {
+      EnvelopeDocument envelopeDocument = EnvelopeDocument.Factory.newInstance(  );
+      Envelope         envelope = envelopeDocument.addNewEnvelope(  );
+      envelope.addNewBody(  );
+      Header                                                 header     = envelope.addNewHeader(  );
+      XmlObject                                              toElem;
+      XmlObject                                              actionElem;
+      org.xmlsoap.schemas.ws.x2004.x08.addressing.ToDocument toDoc =
+         org.xmlsoap.schemas.ws.x2004.x08.addressing.ToDocument.Factory.newInstance(  );
+      AttributedURI                                          attributedURI = toDoc.addNewTo(  );
+      attributedURI.setStringValue( address );
+      toElem = toDoc;
+      org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument actionDoc =
+         org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument.Factory.newInstance(  );
+      AttributedURI                                              actionType = actionDoc.addNewAction(  );
+      actionType.setStringValue( MetadataExchangeConstants.ACTION_GET_REQUEST );
+      actionElem = actionDoc;
+
+      XmlBeanUtils.addChildElement( header, toElem );
+      XmlBeanUtils.addChildElement( header, actionElem );
+      if ( endpointReferenceType.getReferenceProperties(  ) != null )
+      {
+         XmlObject[] refPropElems =
+            XmlBeanUtils.getChildElements( endpointReferenceType.getReferenceProperties(  ) );
+         for ( int i = 0; i < refPropElems.length; i++ )
+         {
+            XmlBeanUtils.addChildElement( header, refPropElems[i] );
+         }
+      }
+
+      return envelopeDocument;
+   }
+
+   /**
+    * Creates the response object for a GetMetadata request
+    *
+    * @return empty MetadataDocument
+    */
+   private MetadataDocument createMetadataResponseDoc(  )
+   {
+      MetadataDocument metadataDocument = MetadataDocument.Factory.newInstance(  );
+      return metadataDocument;
+   }
+
+   /**
+    * Loads metadata off of an EPR.
+    *
+    * @param epr
+    * @return
+    * @throws IOException
+    * @throws URISyntaxException
+    * @throws XmlException
+    */
+   private Object loadMetadataFromEPR( EndpointReferenceType epr )
+   throws IOException, 
+          URISyntaxException, 
+          XmlException
+   {
+      String address = epr.getAddress(  ).getStringValue(  );
+
+      //send WS-MEX Get request
+      EnvelopeDocument envelope = buildSoapEnvelopeForGet( address, epr );
+      String           response =
+         SoapClient.sendRequest( new URL( address ),
+                                 envelope.newInputStream(  ),
+                                 new URI( MetadataExchangeConstants.ACTION_GET_REQUEST ) );
+      return XmlObject.Factory.parse( response );
+   }
+
+   /**
+    * Loads metadata off of a URL.
+    *
+    * @param s
+    * @return
+    * @throws IOException
+    * @throws XmlException
+    */
+   private Object loadMetadataFromURL( String s )
+   throws IOException, 
+          XmlException
+   {
+      return XmlObject.Factory.parse( new URL( s ) );
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/MetaDataViolationException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/MetaDataViolationException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/MetaDataViolationException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/MetaDataViolationException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,36 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+
+/**
+ * Indicates a violation of the metadata constraints associated with a resource properties document.
+ *
+ * @author Ian P. Springer
+ */
+public class MetaDataViolationException
+   extends RuntimeException
+{
+   /**
+    * Creates a new {@link MetaDataViolationException} object.
+    *
+    * @param message DOCUMENT_ME
+    */
+   public MetaDataViolationException( String message )
+   {
+      super( message );
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/NamespaceVersionHolder.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/NamespaceVersionHolder.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/NamespaceVersionHolder.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/NamespaceVersionHolder.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,72 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+
+/**
+ * Interface used for maintaining a set of versions of namespaces for
+ * a given collection of specifications.
+ *
+ * The point to this interface is as each draft of the WSRF specifications
+ * come out, we can have an impl which will point us to all the correct
+ * namespaces for use in polymorphic-versionless class....
+ *
+ * @author Sal Campana
+ */
+public interface NamespaceVersionHolder
+{
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   String getAddressingNamespace(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   String getBaseFaultsXsdNamespace(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   String getLifetimeXsdNamespace(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   String getMetadataExchangeNamespace(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   String getPropertiesXsdNamespace(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   String getServiceGroupsXsdNamespace(  );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourceProperty.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourceProperty.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourceProperty.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourceProperty.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,163 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import org.apache.commons.lang.SerializationException;
+import org.w3c.dom.Element;
+import javax.xml.soap.SOAPElement;
+import java.util.Iterator;
+
+/**
+ * Represents a single resource property. A resource property can have multiple values and can be converted into a DOM
+ * <code>Element</code> or <code>SOAPElement</code> array.
+ */
+public interface ResourceProperty
+{
+   /**
+    * Returns the callback for this property, or null if no callback has been set.
+    *
+    * @return the callback for this property, or null if no callback has been set
+    */
+   ResourcePropertyCallback getCallBack(  );
+
+   /**
+    * Sets a callback for this property.
+    *
+    * @param callback the callback
+    */
+   void setCallback( ResourcePropertyCallback callback );
+
+   /**
+    * Returns the value-change listeners that are registered on this property.
+    *
+    * @return the value-change listeners that are registered on this property; may be empty, but never null
+    */
+   ResourcePropertyValueChangeListener[] getChangeListeners(  );
+
+   /**
+    * Returns <tt>true</tt> if, and only if, this property contains no elements.
+    *
+    * @return <tt>true</tt> if, and only if, this property contains no elements
+    */
+   boolean isEmpty(  );
+
+   /**
+    * Gets meta data of this resource property.
+    *
+    * @return meta data of this resource property.
+    */
+   ResourcePropertyMetaData getMetaData(  );
+
+   /**
+    * Returns the resource property set that contains this property.
+    *
+    * @return the resource property set that contains this property.
+    */
+   ResourcePropertySet getSet(  );
+
+   /**
+    * Adds a value.
+    *
+    * @param value the value to add.
+    *
+    * @throws MetaDataViolationException if the name of the element to be added does not match the name associated with this property
+    */
+   void add( Object value );
+
+   /**
+    * Registers the specified value-change listener on this property.
+    *
+    * @param listener a property value-change listener
+    */
+   void addChangeListener( ResourcePropertyValueChangeListener listener );
+
+   /**
+    * Removes all values.
+    */
+   void clear(  );
+
+   /**
+    * Retrieves a value at a specific index.
+    *
+    * @param index the index of value to retrieve.
+    *
+    * @return the value at the given index. This operation might fail if the index is out of bounds.
+    */
+   Object get( int index );
+
+   /**
+    * Returns an iterator over the property elements.
+    *
+    * @return an iterator over the property elements
+    */
+   Iterator iterator(  );
+
+   /**
+    * Removes the first property element with the specified value.
+    *
+    * @param value value of a property element to remove
+    *
+    * @return true if, and only if, a property element was removed
+    */
+   boolean remove( Object value );
+
+   /**
+    * Sets a value at a specific index.
+    *
+    * @param index the index to set value at.
+    * @param value the new value
+    */
+   void set( int    index,
+             Object value );
+
+   /**
+    * Returns the number of values in the resource property.
+    *
+    * @return the number of values.
+    */
+   int size(  );
+
+   /**
+    * Converts the resource property into an array of DOM {@link Element}s. If the RP has no values (is null), and RP
+    * element was defined as: <ul> <li>minOccurs >= 0 - the function returns null.</li> <li>nillable == true - the
+    * function returns a single element with <i>xsi:nil="true"</i> attribute set.</li> </ul>
+    *
+    * @return the resource property as a DOM Element array
+    *
+    * @throws SerializationException if conversion fails
+    */
+   Element[] toElements(  )
+   throws SerializationException;
+
+   /**
+    * Converts the resource property value into an array of {@link SOAPElement}s. If the RP has no values (is null),
+    * and RP element was defined as: <ul> <li>minOccurs >= 0 - the function returns null.</li> <li>nillable == true -
+    * the function returns a single element with <i>xsi:nil="true"</i> attribute set.</li> </ul>
+    *
+    * @return the resource property as a SOAPElement array
+    *
+    * @throws SerializationException if conversion fails
+    */
+   SOAPElement[] toSOAPElements(  )
+   throws SerializationException;
+
+   /**
+    * Returns the XML representation of this property (i.e. the resource property elements).
+    *
+    * @return the XML representation of this property
+    */
+   String toXML(  );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyCallback.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyCallback.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyCallback.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyCallback.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,42 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import org.apache.ws.resource.properties.impl.CallbackFailedException;
+
+/**
+ * A callback that should be registered on any property whose value
+ * on the managed resource may change. Register the callback by calling
+ * {@link ResourceProperty#setCallback(ResourcePropertyCallback)} on the
+ * property.
+ */
+public interface ResourcePropertyCallback
+{
+   /**
+    * This method is called by the all of the WSRP PortType impls, prior
+    * to performing any work, in order to ensure the resource properties
+    * accurately reflect the current state of the managed resource.
+    *
+    * @param prop the property to be refreshed
+    *
+    * @return the refreshed property
+    *
+    * @throws CallbackFailedException An exception if the refresh fails on the backend
+    * and you want the server to return a fault instead of the current stored value.
+    */
+   ResourceProperty refreshProperty( ResourceProperty prop )
+   throws CallbackFailedException;
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyMetaData.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyMetaData.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyMetaData.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyMetaData.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,79 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Defines metadata information about a resource property.
+ */
+public interface ResourcePropertyMetaData
+{
+   /**
+    * Determines if the ResourceProperty is an XSD:Any
+    */
+   boolean isAny(  );
+
+   /**
+    * Returns the maximum number of values that this resource property can have.
+    *
+    * @return the maximum number of values that this resource property can have. Returns {@link Integer#MAX_VALUE
+    *         Integer.MAX_VALUE} if unlimited.
+    */
+   int getMaxOccurs(  );
+
+   /**
+    * Returns the minimum number of values that this resource property can have.
+    *
+    * @return the minimum number of values that this resource property can have.
+    */
+   int getMinOccurs(  );
+
+   /**
+    * Returns the resource property name.
+    *
+    * @return the resource property name.
+    */
+   QName getName(  );
+
+   /**
+    * Returns if this resource property can be nillable.
+    *
+    * @return true if the resource property can be nillable. False otherwise.
+    */
+   boolean isNillable(  );
+
+   /**
+    * Returns whether this property is read only.
+    *
+    * @return Returns true if this property is read only. False, otherwise.
+    */
+   boolean isReadOnly(  );
+
+   /**
+    * Returns the Java element type of this property. When adding or setting element values the input value will be
+    * automatically converted into this type. If set to <code>Object.class</code> then no conversion will be done.
+    *
+    * @return Element type of this property.
+    */
+   Class getType(  );
+
+   /**
+    * Creates a resource property of the type defined by this metadata, with the specified property set as its
+    * container.
+    */
+   ResourceProperty create( ResourcePropertySet propSet );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,109 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import org.apache.commons.lang.SerializationException;
+import org.w3c.dom.Element;
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
+import java.util.Iterator;
+
+/**
+ * This interface defines the API used to access a collection of resource properties contained in a resource.
+ */
+public interface ResourcePropertySet
+{
+   /**
+    * Returns <tt>true</tt> if, and only if, this set contains no properties.
+    *
+    * @return <tt>true</tt> if, and only if, this set contains no properties
+    */
+   boolean isEmpty(  );
+
+   /**
+    * Returns the metadata associated with this resource property set.
+    *
+    * @return the metadata associated with this resource property set
+    */
+   ResourcePropertySetMetaData getMetaData(  );
+
+   /**
+    * Adds a resource property to the set and makes it available to queries and subscriptions, etc.
+    *
+    * @param property the <code>ResourceProperty</code> to add.
+    */
+   boolean add( ResourceProperty property )
+   throws MetaDataViolationException;
+
+   /**
+    * Removes all properties.
+    */
+   void clear(  )
+   throws MetaDataViolationException;
+
+   /**
+    * Retrieves a resource property.
+    *
+    * @param propName the name of the <code>ResourceProperty</code> to retrieve.
+    *
+    * @return the <code>ResourceProperty</code> that was retrieved. Null if the property does not exist.
+    */
+   ResourceProperty get( QName propName );
+
+   /**
+    * Returns an iterator over <code>ResourceProperty</code> entries.
+    *
+    * @return an iterator over <code>ResourceProperty</code> entries.
+    */
+   Iterator iterator(  );
+
+   /**
+    * Removes a resource property.
+    *
+    * @param propName the name of the <code>ResourceProperty</code> to remove.
+    *
+    * @return the <code>ResourceProperty</code> that was removed. Null if the property does not exist or was not
+    *         removed.
+    */
+   boolean remove( QName propName )
+   throws MetaDataViolationException;
+
+   /**
+    * Returns the number of properties in this set.
+    *
+    * @return the number of properties
+    */
+   int size(  );
+
+   /**
+    * Returns the entire resource property document as a DOM Element.
+    */
+   Element toElement(  )
+   throws SerializationException;
+
+   /**
+    * Returns the entire resource property document as a SAAJ SOAPElement.
+    */
+   SOAPElement toSOAPElement(  )
+   throws SerializationException;
+
+   /**
+    * Returns the XML representation of this property set (i.e. the resource properties document).
+    *
+    * @return the XML representation of this property set
+    */
+   String toXML(  );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,61 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author Ian P. Springer
+ */
+public interface ResourcePropertySetMetaData
+{
+   /**
+    * Returns the element name of the entire resource properties document.
+    *
+    * @return the element name of the entire resource properties document
+    */
+   QName getName(  );
+
+   /**
+    * Indicates if the resource property set allows adding of new arbitrary resource property elements.
+    *
+    * @return true if adding new resource property elements is allowed. False otherwise. Please note that
+    *         <code>isOpenContent</code> might return <code>true</code>, but only certain subset of resource properties
+    *         will be allowed to be added.
+    */
+   boolean isOpenContent(  );
+
+   /**
+    * Returns the metadata associated with the resource property with the specified name.
+    *
+    * @param name the name of a resource property
+    *
+    * @return the metadata associated with the resource property with the specified name
+    */
+   ResourcePropertyMetaData getPropertyMetaData( QName name );
+
+   /**
+    * Returns the metadata associated with all of the resource properties in this set.
+    *
+    * @return the metadata associated with all of the resource properties in this set
+    */
+   ResourcePropertyMetaData[] getPropertyMetaDatas(  );
+
+   /**
+    * Creates a resource property set of the type defined by this metadata.
+    */
+   ResourcePropertySet create(  );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeEvent.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeEvent.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeEvent.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeEvent.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,37 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+
+/**
+ * @author Ian P. Springer (Hewlett-Packard Company)
+ */
+public interface ResourcePropertyValueChangeEvent
+{
+   /**
+    * Returns the new value of the property, as an array of property elements; may be null.
+    *
+    * @return the new value of the property, as an array of property elements; may be null
+    */
+   Object[] getNewValue(  );
+
+   /**
+    * Returns the old value of the property, as an array of property elements; may be null.
+    *
+    * @return the old value of the property, as an array of property elements; may be null
+    */
+   Object[] getOldValue(  );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeListener.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeListener.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeListener.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/ResourcePropertyValueChangeListener.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,34 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import java.util.EventListener;
+
+/**
+ * @author Ian P. Springer (Hewlett-Packard Company)
+ */
+public interface ResourcePropertyValueChangeListener
+   extends EventListener
+{
+   /**
+    * A method that is called whenever a particular resource property's value changes as
+    * the result of the Insert, Delete, or Update component of a SetResourceProperties
+    * request.
+    *
+    * @param propValueChangeEvent
+    */
+   void propertyChanged( ResourcePropertyValueChangeEvent propValueChangeEvent );
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/SetResourcePropertyCallback.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/SetResourcePropertyCallback.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/SetResourcePropertyCallback.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/SetResourcePropertyCallback.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,60 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import org.apache.ws.resource.properties.impl.CallbackFailedException;
+import javax.xml.namespace.QName;
+
+/**
+ * A callback that should be registered on any mutable properties (i.e.
+ * properties that support the WSRP SetResourceProperties operation).
+ * Register the callback by calling
+ * {@link ResourceProperty#setCallback(ResourcePropertyCallback)} on the
+ * property.
+ */
+public interface SetResourcePropertyCallback
+   extends ResourcePropertyCallback
+{
+   /**
+    * Implement this method for handling "delete" on the backend.
+    *
+    * @param propQName
+    * @throws CallbackFailedException An exception if the delete fails on the backend
+    * and you want the server to return a fault.
+    */
+   void deleteProperty( QName propQName )
+   throws CallbackFailedException;
+
+   /**
+    * Implement this method for handling "insert" on the backend.
+    *
+    * @param propElems
+    * @throws CallbackFailedException  An exception if the insert fails on the backend
+    * and you want the server to return a fault.
+    */
+   void insertProperty( Object[] propElems )
+   throws CallbackFailedException;
+
+   /**
+    * Implement this method for handling "update" on the backend.
+    *
+    * @param propElems
+    * @throws CallbackFailedException  An exception if the update fails on the backend
+    * and you want the server to return a fault.
+    */
+   void updateProperty( Object[] propElems )
+   throws CallbackFailedException;
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/XmlBeansResourcePropertyUtils.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/XmlBeansResourcePropertyUtils.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/XmlBeansResourcePropertyUtils.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/XmlBeansResourcePropertyUtils.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,88 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ws.resource.i18n.Keys;
+import org.apache.ws.resource.i18n.MessagesImpl;
+import org.apache.ws.resource.properties.impl.XmlBeansResourceProperty;
+import org.apache.ws.util.i18n.Messages;
+import org.apache.xmlbeans.XmlDateTime;
+import org.apache.xmlbeans.impl.values.XmlDateTimeImpl;
+import java.util.Calendar;
+
+/**
+ * A collection of utility methods for working with {@link XmlBeansResourceProperty}s.
+ *
+ * @author Ian Springer
+ */
+public abstract class XmlBeansResourcePropertyUtils
+{
+   private static final Log LOG = LogFactory.getLog( XmlBeansResourcePropertyUtils.class );
+
+   /** DOCUMENT_ME */
+   public static final Messages MSG = MessagesImpl.getInstance(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param prop DOCUMENT_ME
+    * @param time DOCUMENT_ME
+    */
+   public static void setDateTimePropertyValue( XmlBeansResourceProperty prop,
+                                                Calendar                 time )
+   {
+      LOG.debug( MSG.getMessage( Keys.SET_PROP_TIME,
+                                 prop.getMetaData(  ).getName(  ),
+                                 time.toString(  ) ) );
+      XmlDateTimeImpl propElem = (XmlDateTimeImpl) getDateTimePropertyElement( prop );
+      if ( time == null )
+      {
+         propElem.setNil(  );
+      }
+      else
+      {
+         propElem.setCalendarValue( time );
+      }
+   }
+
+   /**
+    *
+    * @param prop an XMLBeans-based resource property; must not be null
+    * @return
+    */
+   public static Calendar getDateTimePropertyValue( XmlBeansResourceProperty prop )
+   {
+      XmlDateTime propElem = getDateTimePropertyElement( prop );
+      return ( propElem != null ) ? propElem.getCalendarValue(  ) : null;
+   }
+
+   private static XmlDateTime getDateTimePropertyElement( XmlBeansResourceProperty prop )
+   {
+      XmlDateTime propElem;
+      if ( !prop.isEmpty(  ) )
+      {
+         propElem = (XmlDateTime) prop.get( 0 );
+      }
+      else
+      {
+         propElem = null;
+      }
+
+      return propElem;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/DeleteResourcePropertyRequestFailedFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/DeleteResourcePropertyRequestFailedFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/DeleteResourcePropertyRequestFailedFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/DeleteResourcePropertyRequestFailedFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,55 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * @author Sal Campana
+ */
+public class DeleteResourcePropertyRequestFailedFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Creates a new {@link DeleteResourcePropertyRequestFailedFaultException} object.
+    *
+    * @param namespaces  DOCUMENT_ME
+    * @param description a description of why the operation failed
+    */
+   public DeleteResourcePropertyRequestFailedFaultException( NamespaceVersionHolder namespaces,
+                                                             String                 description )
+   {
+      super( namespaces, description );
+      m_name =
+         new QName( namespaces.getPropertiesXsdNamespace(  ),
+                    "DeleteResourcePropertyRequestFailedFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InsertResourcePropertyRequestFailedFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InsertResourcePropertyRequestFailedFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InsertResourcePropertyRequestFailedFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InsertResourcePropertyRequestFailedFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,56 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.faults.Description;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * @author Sal Campana
+ */
+public class InsertResourcePropertyRequestFailedFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Creates a new {@link InsertResourcePropertyRequestFailedFaultException} object.
+    *
+    * @param namespaces  DOCUMENT_ME
+    * @param description DOCUMENT_ME
+    */
+   public InsertResourcePropertyRequestFailedFaultException( NamespaceVersionHolder namespaces,
+                                                             Description[]          description )
+   {
+      super( namespaces, "" );
+      m_name =
+         new QName( namespaces.getPropertiesXsdNamespace(  ),
+                    "InsertResourcePropertyRequestFailedFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidInsertResourcePropertiesRequestContentFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidInsertResourcePropertiesRequestContentFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidInsertResourcePropertiesRequestContentFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidInsertResourcePropertiesRequestContentFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,55 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * @author Sal Campana
+ */
+public class InvalidInsertResourcePropertiesRequestContentFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Creates a new {@link InvalidInsertResourcePropertiesRequestContentFaultException} object.
+    *
+    * @param namespaces  DOCUMENT_ME
+    * @param description DOCUMENT_ME
+    */
+   public InvalidInsertResourcePropertiesRequestContentFaultException( NamespaceVersionHolder namespaces,
+                                                                       String                 description )
+   {
+      super( namespaces, description );
+      m_name =
+         new QName( namespaces.getPropertiesXsdNamespace(  ),
+                    "InvalidInsertResourcePropertiesRequestContentFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidQueryExpressionFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidQueryExpressionFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidQueryExpressionFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidQueryExpressionFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,75 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.i18n.Keys;
+import org.apache.ws.resource.i18n.MessagesImpl;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.resource.properties.query.QueryExpression;
+import org.apache.ws.resource.properties.query.xpath.XPathExpression;
+import org.apache.ws.util.i18n.Messages;
+import javax.xml.namespace.QName;
+
+/**
+ * LOG-DONE WS-ResourceProperties InvalidQueryExpression fault type implemented as a Java exception.
+ *
+ * @author Ian P. Springer
+ */
+public class InvalidQueryExpressionFaultException
+   extends AbstractBaseFaultException
+{
+   private static final Messages MSG    = MessagesImpl.getInstance(  );
+   private QName                 m_name;
+
+   /**
+    * Constructs a new InvalidQueryExpressionFaultException.
+    *
+    * @param queryExpr the invalid expression
+    */
+   public InvalidQueryExpressionFaultException( NamespaceVersionHolder namespaces,
+                                                QueryExpression        queryExpr )
+   {
+      super( namespaces,
+             MSG.getMessage( Keys.INVALID_EXPRESSION, queryExpr ) );
+      m_name =
+         new QName( getNamespaceSet(  ).getPropertiesXsdNamespace(  ),
+                    "InvalidQueryExpressionFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Constructs a new BaseFaultException with the specified SOAP message and actor.
+    *
+    * @param xpathExpr the invalid expression
+    */
+   public InvalidQueryExpressionFaultException( NamespaceVersionHolder namespaces,
+                                                XPathExpression        xpathExpr )
+   {
+      super( namespaces,
+             MSG.getMessage( Keys.INVALID_EXPRESSION, xpathExpr ) );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidResourcePropertyQNameFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidResourcePropertyQNameFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidResourcePropertyQNameFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidResourcePropertyQNameFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,61 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.i18n.Keys;
+import org.apache.ws.resource.i18n.MessagesImpl;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.util.i18n.Messages;
+import javax.xml.namespace.QName;
+
+/**
+ * LOG-DONE WS-ResourceProperties InvalidResourcePropertyQName fault type implemented as a Java exception.
+ *
+ * @author Ian P. Springer
+ */
+public class InvalidResourcePropertyQNameFaultException
+   extends AbstractBaseFaultException
+{
+   private static final Messages MSG    = MessagesImpl.getInstance(  );
+   private QName                 m_name;
+
+   /**
+    * Constructs a new InvalidResourcePropertyQNameFaultException.
+    *
+    * @param propName the invalid property QName
+    */
+   public InvalidResourcePropertyQNameFaultException( NamespaceVersionHolder namespaces,
+                                                      QName                  propName )
+   {
+      super( namespaces,
+             MSG.getMessage( Keys.INVALID_PROP_NAME, propName ) );
+      m_name =
+         new QName( getNamespaceSet(  ).getPropertiesXsdNamespace(  ),
+                    "InvalidResourcePropertyQNameFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidSetResourcePropertiesRequestContentFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidSetResourcePropertiesRequestContentFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidSetResourcePropertiesRequestContentFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidSetResourcePropertiesRequestContentFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,70 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.MetaDataViolationException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * LOG-DONE WS-ResourceProperties InvalidSetResourcePropertiesRequestContent fault type implemented as a Java
+ * exception.
+ *
+ * @author Ian P. Springer
+ */
+public class InvalidSetResourcePropertiesRequestContentFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Constructs a new InvalidSetResourcePropertiesRequestContentFaultException.
+    *
+    * @param description a WS-BaseFaults description
+    */
+   public InvalidSetResourcePropertiesRequestContentFaultException( NamespaceVersionHolder namespaces,
+                                                                    String                 description )
+   {
+      super( namespaces, description );
+      m_name =
+         new QName( namespaces.getPropertiesXsdNamespace(  ),
+                    "InvalidSetResourcePropertiesRequestContentFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Constructs a new BaseFaultException with the specified SOAP message and actor.
+    *
+    * @param mdve
+    */
+   public InvalidSetResourcePropertiesRequestContentFaultException( NamespaceVersionHolder     namespaces,
+                                                                    MetaDataViolationException mdve )
+   {
+      this( namespaces,
+            mdve.toString(  ) );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidUpdateResourcePropertiesRequestContentFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidUpdateResourcePropertiesRequestContentFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidUpdateResourcePropertiesRequestContentFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/InvalidUpdateResourcePropertiesRequestContentFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,55 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * @author Sal Campana
+ */
+public class InvalidUpdateResourcePropertiesRequestContentFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Creates a new {@link InvalidUpdateResourcePropertiesRequestContentFaultException} object.
+    *
+    * @param namespaces  DOCUMENT_ME
+    * @param description DOCUMENT_ME
+    */
+   public InvalidUpdateResourcePropertiesRequestContentFaultException( NamespaceVersionHolder namespaces,
+                                                                       String                 description )
+   {
+      super( namespaces, description );
+      m_name =
+         new QName( namespaces.getPropertiesXsdNamespace(  ),
+                    "InvalidUpdateResourcePropertiesRequestContentFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/QueryEvaluationErrorFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/QueryEvaluationErrorFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/QueryEvaluationErrorFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/QueryEvaluationErrorFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,55 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * LOG-DONE WS-ResourceProperties QueryEvaluationError fault type implemented as a Java exception.
+ *
+ * @author Ian P. Springer
+ */
+public class QueryEvaluationErrorFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Constructs a new QueryEvaluationErrorFaultException.
+    *
+    * @param faultString a WS-BaseFaults description
+    */
+   public QueryEvaluationErrorFaultException( NamespaceVersionHolder namespaces,
+                                              String                 faultString )
+   {
+      super( namespaces, faultString );
+      m_name = new QName( namespaces.getPropertiesXsdNamespace(  ),
+                          "QueryEvaluationErrorFault",
+                          "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourcePropertyRetrievalFailedFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourcePropertyRetrievalFailedFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourcePropertyRetrievalFailedFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourcePropertyRetrievalFailedFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,69 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.NamespaceConstants;
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * A fault exception to be used when a refresh callback operation fails.
+ *
+ * @author Sal Campana
+ */
+public class ResourcePropertyRetrievalFailedFaultException
+   extends AbstractBaseFaultException
+{
+   /** DOCUMENT_ME */
+   QName m_name;
+
+   /**
+    * Creates a new {@link ResourcePropertyRetrievalFailedFaultException} object.
+    *
+    * @param namespaceSet DOCUMENT_ME
+    * @param faultString DOCUMENT_ME
+    * @param faultCode DOCUMENT_ME
+    */
+   public ResourcePropertyRetrievalFailedFaultException( NamespaceVersionHolder namespaceSet,
+                                                         String                 faultString,
+                                                         QName                  faultCode )
+   {
+      super( namespaceSet, faultString, faultCode );
+   }
+
+   /**
+    * Creates a new {@link ResourcePropertyRetrievalFailedFaultException} object.
+    *
+    * @param namespaceSet DOCUMENT_ME
+    * @param faultString DOCUMENT_ME
+    */
+   public ResourcePropertyRetrievalFailedFaultException( NamespaceVersionHolder namespaceSet,
+                                                         String                 faultString )
+   {
+      super( namespaceSet, faultString );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public QName getBaseFaultName(  )
+   {
+      return new QName( NamespaceConstants.NSURI_APACHE_WS_RESOURCE, "ResourcePropertyRetrievalFailedFault" );
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourceUnknownFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourceUnknownFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourceUnknownFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/ResourceUnknownFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,99 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.resource.ResourceUnknownException;
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.i18n.Keys;
+import org.apache.ws.resource.i18n.MessagesImpl;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.util.i18n.Messages;
+import javax.xml.namespace.QName;
+
+/**
+ * LOG-DONE Indicates that the resource identified in the message is not known to the Web service.
+ *
+ * @author Ian P. Springer
+ */
+public class ResourceUnknownFaultException
+   extends AbstractBaseFaultException
+{
+   private static final Messages MSG           = MessagesImpl.getInstance(  );
+   private Object                m_resourceId;
+   private String                m_serviceName;
+   private QName                 m_name;
+
+   /**
+    * Constructs a new ResourceUnknownFaultException, specifying the resource id and service name of the unknown
+    * resource.
+    *
+    * @param resourceId
+    * @param serviceName
+    */
+   public ResourceUnknownFaultException( NamespaceVersionHolder namespaces,
+                                         Object                 resourceId,
+                                         String                 serviceName )
+   {
+      super( namespaces,
+             MSG.getMessage( Keys.RESOURCEID_NOT_FOUND_FOR_SERVICE, resourceId, serviceName ) );
+      m_name    = new QName( namespaces.getPropertiesXsdNamespace(  ),
+                             "ResourceUnknownFault",
+                             "wsrp" );
+      m_resourceId     = resourceId;
+      m_serviceName    = serviceName;
+   }
+
+   /**
+    * @param rue
+    */
+   public ResourceUnknownFaultException( NamespaceVersionHolder   namespaces,
+                                         ResourceUnknownException rue )
+   {
+      this( namespaces,
+            rue.getResourceId(  ),
+            rue.getServiceName(  ) );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public Object getResourceId(  )
+   {
+      return m_resourceId;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public String getServiceName(  )
+   {
+      return m_serviceName;
+   }
+}
\ No newline at end of file

Added: webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/SetResourcePropertyRequestFailedFaultException.java
URL: http://svn.apache.org/viewvc/webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/SetResourcePropertyRequestFailedFaultException.java?rev=411218&view=auto
==============================================================================
--- webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/SetResourcePropertyRequestFailedFaultException.java (added)
+++ webservices/muse/branches/1.0/src/java/org/apache/ws/resource/properties/faults/SetResourcePropertyRequestFailedFaultException.java Fri Jun  2 10:32:46 2006
@@ -0,0 +1,58 @@
+/*=============================================================================*
+ *  Copyright 2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+package org.apache.ws.resource.properties.faults;
+
+import org.apache.ws.Soap1_1Constants;
+import org.apache.ws.resource.faults.AbstractBaseFaultException;
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import javax.xml.namespace.QName;
+
+/**
+ * LOG-DONE WS-ResourceProperties SetResourcePropertyRequestFailed fault type implemented as a Java exception.
+ *
+ * @author Ian P. Springer
+ */
+public class SetResourcePropertyRequestFailedFaultException
+   extends AbstractBaseFaultException
+{
+   private QName m_name;
+
+   /**
+    * Constructs a new SetResourcePropertyRequestFailedFaultException.
+    *
+    * @param namespaces
+    * @param faultString a description of the error that occurred
+    */
+   public SetResourcePropertyRequestFailedFaultException( NamespaceVersionHolder namespaces,
+                                                          String                 faultString )
+   {
+      super( namespaces, faultString, Soap1_1Constants.FAULT_SERVER );
+      m_name =
+         new QName( namespaces.getPropertiesXsdNamespace(  ),
+                    "SetResourcePropertyRequestFailedFault",
+                    "wsrp" );
+   }
+
+   /**
+    * Returns the element name for this base fault.
+    *
+    * @return the element name for this base fault
+    */
+   public QName getBaseFaultName(  )
+   {
+      return m_name;
+   }
+}
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org