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/02/23 15:55:16 UTC
svn commit: r510968 -
/webservices/muse/trunk/modules/muse-wsrf-impl/src/org/apache/muse/ws/resource/metadata/impl/SimpleMetadataDescriptor.java
Author: danj
Date: Fri Feb 23 06:55:15 2007
New Revision: 510968
URL: http://svn.apache.org/viewvc?view=rev&rev=510968
Log:
Created addProperties() method, which will make a deep copy of all properties in one RMD and add them
to the calling RMD.
Modified:
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/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=510968&r1=510967&r2=510968
==============================================================================
--- 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 Fri Feb 23 06:55:15 2007
@@ -16,6 +16,7 @@
package org.apache.muse.ws.resource.metadata.impl;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -140,6 +141,51 @@
}
}
+ public void addProperties(MetadataDescriptor otherRMD)
+ {
+ Iterator i = otherRMD.getPropertyNames().iterator();
+
+ //
+ // for each property, we have to make a deep copy of all
+ // attributes and elements and add them to the new definition
+ //
+ while (i.hasNext())
+ {
+ QName name = (QName)i.next();
+
+ String mutability = otherRMD.getMutability(name);
+ String modifiability = otherRMD.getModifiability(name);
+ Collection initialValues = new ArrayList(otherRMD.getInitialValues(name));
+ Collection staticValues = new ArrayList(otherRMD.getStaticValues(name));
+ Collection validValues = new ArrayList(otherRMD.getValidValues(name));
+
+ PropertyMetadata copy = new PropertyMetadata(name, modifiability, mutability);
+ copy.setInitialValues(initialValues);
+ copy.setStaticValues(staticValues);
+ copy.setValidValues(validValues);
+
+ //
+ // ValidValueRange will only exist if ValidValues was empty
+ //
+ if (validValues.isEmpty())
+ {
+ copy.setLowerBound(otherRMD.getLowerBound(name));
+ copy.setUpperBound(otherRMD.getUpperBound(name));
+ }
+
+ Iterator j = otherRMD.getExtendedMetadataNames(name).iterator();
+
+ while (j.hasNext())
+ {
+ QName metadataName = (QName)j.next();
+ String metadataValue = otherRMD.getExtendedMetadata(name, metadataName);
+ copy.setExtendedMetadata(metadataName, metadataValue);
+ }
+
+ addProperty(copy);
+ }
+ }
+
private void addProperty(PropertyMetadata property)
{
QName name = property.getPropertyName();
@@ -229,6 +275,11 @@
public String getExtendedMetadata(QName propertyQName, QName elementName)
{
return getProperty(propertyQName).getExtendedMetadata(elementName);
+ }
+
+ public Collection getExtendedMetadataNames(QName propertyQName)
+ {
+ return getProperty(propertyQName).getExtendedMetadataNames();
}
public Collection getInitialValues(QName propertyQName)
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org