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 da...@apache.org on 2007/01/17 17:53:49 UTC

svn commit: r497076 - in /webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl: Messages.properties PropertyMetadata.java SimpleMetadataDescriptor.java

Author: danj
Date: Wed Jan 17 08:53:48 2007
New Revision: 497076

URL: http://svn.apache.org/viewvc?view=rev&rev=497076
Log:
setPropertyName() method for MUSE-179.

Modified:
    webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/Messages.properties
    webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/PropertyMetadata.java
    webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/SimpleMetadataDescriptor.java

Modified: webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/Messages.properties
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/Messages.properties?view=diff&rev=497076&r1=497075&r2=497076
==============================================================================
--- webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/Messages.properties (original)
+++ webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/Messages.properties Wed Jan 17 08:53:48 2007
@@ -16,3 +16,4 @@
 UndefinedProperty=There is no wsrmd\:Property defined with the path 'XXX'. You cannot read metadata for a property that does not exist. Use the hasProperty method to determine if a property name is valid.
 NullMetadataDescriptor=The MetadataDescriptor is null.
 NullPropertyName=The name for the wsrmd:Property is null.
+PropertyExists=This MetadataDescriptor already has a property named 'XXX'. If you want to change the property name, use the setPropertyName() method; if you want to remove the property definition, use the removeProperty() method.

Modified: webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/PropertyMetadata.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/PropertyMetadata.java?view=diff&rev=497076&r1=497075&r2=497076
==============================================================================
--- webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/PropertyMetadata.java (original)
+++ webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/PropertyMetadata.java Wed Jan 17 08:53:48 2007
@@ -489,6 +489,11 @@
         }
     }
     
+    public void setPropertyName(QName propertyName)
+    {
+        _qname = propertyName;
+    }
+    
     public void setStaticValues(Collection values)
     {
         _staticValues = new ArrayList(values);

Modified: webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/SimpleMetadataDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/SimpleMetadataDescriptor.java?view=diff&rev=497076&r1=497075&r2=497076
==============================================================================
--- webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/SimpleMetadataDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/SimpleMetadataDescriptor.java Wed Jan 17 08:53:48 2007
@@ -138,14 +138,20 @@
             _propertiesByQName.put(metadata.getPropertyName(), metadata);
         }
     }
+    
+    private void addProperty(PropertyMetadata property)
+    {
+        QName name = property.getPropertyName();
+        
+        if (hasProperty(name))
+            throw new RuntimeException(_MESSAGES.get("PropertyExists", new Object[]{ property }));
+        
+        _propertiesByQName.put(name, property);
+    }
 
     public void addProperty(QName property, String modifiability, String mutability)
     {
-        if (hasProperty(property))
-            throw new Error();
-        
-        PropertyMetadata metadata = new PropertyMetadata(property, modifiability, mutability);
-        _propertiesByQName.put(metadata.getPropertyName(), metadata);
+        addProperty(new PropertyMetadata(property, modifiability, mutability));
     }
 
     public boolean canDelete(QName propertyQName)
@@ -369,6 +375,24 @@
     public void setMutability(QName property, String value)
     {
         getProperty(property).setMutability(value);
+    }
+    
+    public void setPropertyName(QName currentProperty, QName newProperty)
+    {
+        if (hasProperty(newProperty))
+            throw new RuntimeException(_MESSAGES.get("PropertyExists", new Object[]{ newProperty }));
+        
+        //
+        // get the current metadata structure, change the property name
+        //
+        PropertyMetadata prop = getProperty(currentProperty);
+        prop.setPropertyName(newProperty);
+        
+        //
+        // remove the old hashmap key, add the new one
+        //
+        removeProperty(currentProperty);
+        addProperty(prop);
     }
 
     public void setStaticValues(QName property, Collection values)



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