summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-12-18 19:31:28 +0000
committerBernard Normier <bernard@zeroc.com>2006-12-18 19:31:28 +0000
commitaedd8466aedc76ee0af8bc730feb973ee6f44c6a (patch)
tree85911efa70a0dce16947abfc470e6379a0e8c6d3 /java/src/IceGridGUI/Application/CommunicatorSubEditor.java
parentFixed Windows compile error (diff)
downloadice-aedd8466aedc76ee0af8bc730feb973ee6f44c6a.tar.bz2
ice-aedd8466aedc76ee0af8bc730feb973ee6f44c6a.tar.xz
ice-aedd8466aedc76ee0af8bc730feb973ee6f44c6a.zip
Added support for user-defined log files
Diffstat (limited to 'java/src/IceGridGUI/Application/CommunicatorSubEditor.java')
-rwxr-xr-xjava/src/IceGridGUI/Application/CommunicatorSubEditor.java92
1 files changed, 90 insertions, 2 deletions
diff --git a/java/src/IceGridGUI/Application/CommunicatorSubEditor.java b/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
index 22e68e62bfb..ab3506a59a0 100755
--- a/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
+++ b/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
@@ -37,6 +37,10 @@ class CommunicatorSubEditor
_mainEditor.getUpdateListener());
_properties = new PropertiesField(mainEditor);
_description.setToolTipText("Property Set References");
+
+ _logFiles = new MapField(mainEditor, "Path", "Property name",
+ true);
+ _logFiles.setToolTipText("Log files used by this server or service");
}
@@ -62,7 +66,6 @@ class CommunicatorSubEditor
builder.append("");
builder.nextLine();
builder.append("");
-
builder.nextLine();
builder.append("");
@@ -72,6 +75,18 @@ class CommunicatorSubEditor
cc.xywh(builder.getColumn(), builder.getRow(), 3, 7));
builder.nextRow(6);
builder.nextLine();
+
+ builder.append("Log files");
+ builder.nextLine();
+ builder.append("");
+ builder.nextLine();
+ builder.append("");
+ builder.nextRow(-4);
+ scrollPane = new JScrollPane(_logFiles);
+ builder.add(scrollPane,
+ cc.xywh(builder.getColumn(), builder.getRow(), 3, 5));
+ builder.nextRow(4);
+ builder.nextLine();
}
void writeDescriptor(CommunicatorDescriptor descriptor)
@@ -80,6 +95,24 @@ class CommunicatorSubEditor
(String[])_propertySets.getList().toArray(new String[0]);
descriptor.propertySet.properties = _properties.getProperties();
descriptor.description = _description.getText();
+
+ java.util.TreeMap tm = _logFiles.get();
+ java.util.Iterator p = tm.entrySet().iterator();
+ descriptor.logs = new LogDescriptor[tm.size()];
+ int i = 0;
+
+ while(p.hasNext())
+ {
+ java.util.Map.Entry entry = (java.util.Map.Entry)p.next();
+ String path = (String)entry.getKey();
+ String prop = ((String)entry.getValue()).trim();
+
+ descriptor.logs[i++] = new LogDescriptor(path, "");
+ if(!prop.equals(""))
+ {
+ setProperty((java.util.LinkedList)descriptor.propertySet.properties, prop, path);
+ }
+ }
}
void show(CommunicatorDescriptor descriptor, boolean isEditable)
@@ -87,12 +120,28 @@ class CommunicatorSubEditor
Utils.Resolver detailResolver = _mainEditor.getDetailResolver();
isEditable = isEditable && (detailResolver == null);
+ java.util.Map map = new java.util.TreeMap();
+ java.util.List logProps = new java.util.LinkedList();
+ for(int i = 0; i < descriptor.logs.length; ++i)
+ {
+ String prop = lookupKey(descriptor.propertySet.properties,
+ descriptor.logs[i].path);
+
+ map.put(descriptor.logs[i].path, prop);
+ if(!prop.equals(""))
+ {
+ logProps.add(prop);
+ }
+ }
+
+ _logFiles.set(map, detailResolver, isEditable);
+
_propertySets.setList(java.util.Arrays.asList(descriptor.propertySet.references),
detailResolver);
_propertySets.setEditable(isEditable);
-
_properties.setProperties(descriptor.propertySet.properties,
descriptor.adapters,
+ logProps,
detailResolver, isEditable);
_description.setText(
@@ -101,9 +150,48 @@ class CommunicatorSubEditor
_description.setOpaque(isEditable);
}
+
+ //
+ // Returns first key matching this value, if there is one
+ //
+ private String lookupKey(java.util.List props, String value)
+ {
+ java.util.Iterator p = props.iterator();
+ while(p.hasNext())
+ {
+ PropertyDescriptor pd = (PropertyDescriptor)p.next();
+ if(pd.value.equals(value))
+ {
+ return pd.name;
+ }
+ }
+ return "";
+ }
+
+ private void setProperty(java.util.LinkedList props, String key, String newValue)
+ {
+ removeProperty(props, key);
+ props.addFirst(new PropertyDescriptor(key, newValue));
+ }
+
+ private void removeProperty(java.util.List props, String key)
+ {
+ java.util.Iterator p = props.iterator();
+ while(p.hasNext())
+ {
+ PropertyDescriptor pd = (PropertyDescriptor)p.next();
+ if(pd.name.equals(key))
+ {
+ p.remove();
+ }
+ }
+ }
+
+
protected Editor _mainEditor;
private JTextArea _description = new JTextArea(3, 20);
private ListTextField _propertySets = new ListTextField(20);
private PropertiesField _properties;
+ private MapField _logFiles;
}