summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/LiveDeployment/TableField.java
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2015-03-03 17:30:50 -0500
committerJoe George <joe@zeroc.com>2015-05-12 11:41:55 -0400
commitd35bb9f5c19e34aee31f83d445695a8186ef675e (patch)
treed5324eaf44f5f9776495537c51653f50a66a7237 /java/src/IceGridGUI/LiveDeployment/TableField.java
downloadice-d35bb9f5c19e34aee31f83d445695a8186ef675e.tar.bz2
ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.tar.xz
ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.zip
Ice 3.4.2 Source Distributionv3.4.2
Diffstat (limited to 'java/src/IceGridGUI/LiveDeployment/TableField.java')
-rw-r--r--java/src/IceGridGUI/LiveDeployment/TableField.java177
1 files changed, 177 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/TableField.java b/java/src/IceGridGUI/LiveDeployment/TableField.java
new file mode 100644
index 00000000000..2093e04c7f1
--- /dev/null
+++ b/java/src/IceGridGUI/LiveDeployment/TableField.java
@@ -0,0 +1,177 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package IceGridGUI.LiveDeployment;
+
+import IceGrid.*;
+import IceGridGUI.*;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.DefaultCellEditor;
+import javax.swing.JTable;
+import javax.swing.JTextField;
+import javax.swing.KeyStroke;
+import javax.swing.event.TableModelEvent;
+import javax.swing.event.TableModelListener;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.DefaultTableModel;
+
+//
+// A special field used to show a map or list
+//
+
+public class TableField extends JTable
+{
+ public TableField(String... columns)
+ {
+ _columnNames = new java.util.Vector<String>(columns.length);
+ for(String name : columns)
+ {
+ _columnNames.add(name);
+ }
+ init();
+ }
+
+ private void init()
+ {
+ _model = new DefaultTableModel()
+ {
+ public boolean isCellEditable(int row, int column)
+ {
+ return false;
+ }
+ };
+ setModel(_model);
+
+ setCellSelectionEnabled(false);
+ setOpaque(false);
+ setPreferredScrollableViewportSize(getPreferredSize());
+ }
+
+ public void setProperties(java.util.List<PropertyDescriptor> properties, Utils.Resolver resolver)
+ {
+ java.util.SortedMap<String, String> map = new java.util.TreeMap<String, String>();
+ for(PropertyDescriptor p : properties)
+ {
+ map.put(resolver.substitute(p.name), resolver.substitute(p.value));
+ }
+ setSortedMap(map);
+ }
+
+ public void setObjects(java.util.List<ObjectDescriptor> objects, Utils.Resolver resolver)
+ {
+ java.util.SortedMap<String, String> map = new java.util.TreeMap<String, String>();
+ for(ObjectDescriptor p : objects)
+ {
+ Ice.Identity id = new Ice.Identity( resolver.substitute(p.id.name), resolver.substitute(p.id.category));
+ map.put(Ice.Util.identityToString(id), resolver.substitute(p.type));
+ }
+ setSortedMap(map);
+ }
+
+ public void setObjects(java.util.SortedMap<String, ObjectInfo> objects)
+ {
+ java.util.SortedMap<String, String> map = new java.util.TreeMap<String, String>();
+ for(ObjectInfo p : objects.values())
+ {
+ map.put(p.proxy.toString(), p.type);
+ }
+ setSortedMap(map);
+ }
+
+ public void setEnvs(java.util.List<String> envs, Utils.Resolver resolver)
+ {
+ java.util.SortedMap<String, String> map = new java.util.TreeMap<String, String>();
+
+ for(String p : envs)
+ {
+ String env = resolver.substitute(p);
+
+ int equal = env.indexOf('=');
+ if(equal == -1 || equal == env.length() - 1)
+ {
+ map.put(env, "");
+ }
+ else
+ {
+ map.put(env.substring(0, equal), env.substring(equal + 1));
+ }
+ }
+ setSortedMap(map);
+ }
+
+ public void setAdapters(java.util.SortedMap<String, AdapterInfo> adapters)
+ {
+ java.util.Vector<java.util.Vector<String>> vector =
+ new java.util.Vector<java.util.Vector<String>>(adapters.size());
+ for(java.util.Map.Entry<String, AdapterInfo> p : adapters.entrySet())
+ {
+ java.util.Vector<String> row = new java.util.Vector<String>(3);
+ row.add(p.getKey());
+
+ AdapterInfo ai = p.getValue();
+
+ if(ai.proxy == null)
+ {
+ row.add("");
+ }
+ else
+ {
+ String str = ai.proxy.toString();
+ int index = str.indexOf(':');
+ if(index == -1 || index == str.length() - 1)
+ {
+ row.add("");
+ }
+ else
+ {
+ row.add(str.substring(index + 1));
+ }
+ }
+
+ row.add(ai.replicaGroupId);
+ vector.add(row);
+ }
+
+ _model.setDataVector(vector, _columnNames);
+
+ DefaultTableCellRenderer cr = (DefaultTableCellRenderer)getDefaultRenderer(String.class);
+ cr.setOpaque(false);
+ }
+
+ public void setSortedMap(java.util.SortedMap<String, String> map)
+ {
+ java.util.Vector<java.util.Vector<String>> vector = new java.util.Vector<java.util.Vector<String>>(map.size());
+ for(java.util.Map.Entry<String, String> p : map.entrySet())
+ {
+ java.util.Vector<String> row = new java.util.Vector<String>(2);
+ row.add(p.getKey());
+ row.add(p.getValue());
+ vector.add(row);
+ }
+
+ _model.setDataVector(vector, _columnNames);
+
+ DefaultTableCellRenderer cr = (DefaultTableCellRenderer)getDefaultRenderer(String.class);
+ cr.setOpaque(false);
+ }
+
+ public void clear()
+ {
+ _model.setDataVector(new java.util.Vector<java.util.Vector<String>>(), _columnNames);
+ DefaultTableCellRenderer cr = (DefaultTableCellRenderer)getDefaultRenderer(String.class);
+ cr.setOpaque(false);
+ }
+
+ private DefaultTableModel _model;
+ private java.util.Vector<String> _columnNames;
+}