summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Utils.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-05-04 16:15:21 +0000
committerBernard Normier <bernard@zeroc.com>2006-05-04 16:15:21 +0000
commit87ed29e743f1c53e01878259a2c8ba1b352d3933 (patch)
treecf7de9d5ef8ac0362839c6122cad9d5217867e7f /java/src/IceGridGUI/Utils.java
parentFixed typo. (diff)
downloadice-87ed29e743f1c53e01878259a2c8ba1b352d3933.tar.bz2
ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.tar.xz
ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.zip
Better PropertySets support
Diffstat (limited to 'java/src/IceGridGUI/Utils.java')
-rwxr-xr-xjava/src/IceGridGUI/Utils.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/Utils.java b/java/src/IceGridGUI/Utils.java
index b85a54fed22..7b2e5ca3983 100755
--- a/java/src/IceGridGUI/Utils.java
+++ b/java/src/IceGridGUI/Utils.java
@@ -9,6 +9,7 @@
package IceGridGUI;
import javax.swing.ImageIcon;
+import IceGrid.*;
public class Utils
{
@@ -351,4 +352,50 @@ public class Utils
return input;
}
}
+
+ //
+ // An expanded property set (i.e. containing other property sets)
+ //
+ static public class ExpandedPropertySet
+ {
+ public ExpandedPropertySet[] references;
+ public java.util.List properties; // list of PropertyDescriptor
+ }
+
+ static public java.util.Map propertySetToMap(
+ ExpandedPropertySet propertySet,
+ ExpandedPropertySet instancePropertySet, // can be null
+ Resolver resolver)
+ {
+ java.util.SortedMap toMap = new java.util.TreeMap();
+
+ addSet(propertySet, resolver, toMap);
+ if(instancePropertySet != null)
+ {
+ addSet(instancePropertySet, resolver, toMap);
+ }
+ return toMap;
+ }
+
+ static private void addSet(ExpandedPropertySet set, Resolver resolver,
+ java.util.SortedMap toMap)
+ {
+ for(int i = 0; i < set.references.length; ++i)
+ {
+ addSet(set.references[i], resolver, toMap);
+ }
+
+ java.util.Iterator p = set.properties.iterator();
+ while(p.hasNext())
+ {
+ PropertyDescriptor pd = (PropertyDescriptor)p.next();
+ String name = (String)pd.name;
+ String val = (String)pd.value;
+
+ name = substitute(pd.name, resolver);
+ val = substitute(pd.value, resolver);
+
+ toMap.put(name, val);
+ }
+ }
}