diff options
author | Bernard Normier <bernard@zeroc.com> | 2006-05-04 16:15:21 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2006-05-04 16:15:21 +0000 |
commit | 87ed29e743f1c53e01878259a2c8ba1b352d3933 (patch) | |
tree | cf7de9d5ef8ac0362839c6122cad9d5217867e7f /java/src/IceGridGUI/Utils.java | |
parent | Fixed typo. (diff) | |
download | ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.tar.bz2 ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.tar.xz ice-87ed29e743f1c53e01878259a2c8ba1b352d3933.zip |
Better PropertySets support
Diffstat (limited to 'java/src/IceGridGUI/Utils.java')
-rwxr-xr-x | java/src/IceGridGUI/Utils.java | 47 |
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);
+ }
+ }
}
|