summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/ServerInstance.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-10-20 11:40:05 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-10-20 11:40:05 -0230
commitb51469b41167fb86ae2059a15cf0475c53fdda7b (patch)
treefc85d6ca2efd89c67e1e4e7438f437c3e08313f4 /java/src/IceGridGUI/Application/ServerInstance.java
parentFixed (ICE-5695) - IceSSL: misleading exception (diff)
downloadice-b51469b41167fb86ae2059a15cf0475c53fdda7b.tar.bz2
ice-b51469b41167fb86ae2059a15cf0475c53fdda7b.tar.xz
ice-b51469b41167fb86ae2059a15cf0475c53fdda7b.zip
Down with ant. From the gradle to the grave.
Diffstat (limited to 'java/src/IceGridGUI/Application/ServerInstance.java')
-rw-r--r--java/src/IceGridGUI/Application/ServerInstance.java577
1 files changed, 0 insertions, 577 deletions
diff --git a/java/src/IceGridGUI/Application/ServerInstance.java b/java/src/IceGridGUI/Application/ServerInstance.java
deleted file mode 100644
index fc76d2181b2..00000000000
--- a/java/src/IceGridGUI/Application/ServerInstance.java
+++ /dev/null
@@ -1,577 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2014 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.Application;
-
-import java.awt.Component;
-
-import javax.swing.Icon;
-import javax.swing.JPopupMenu;
-import javax.swing.JTree;
-
-import javax.swing.tree.DefaultTreeCellRenderer;
-
-import IceGrid.*;
-import IceGridGUI.*;
-
-class ServerInstance extends ListTreeNode implements Server, PropertySetParent
-{
- static public ServerInstanceDescriptor
- copyDescriptor(ServerInstanceDescriptor sid)
- {
- ServerInstanceDescriptor copy = (ServerInstanceDescriptor)sid.clone();
- copy.propertySet = PropertySet.copyDescriptor(copy.propertySet);
- return copy;
- }
-
- //
- // Overrides ListTreeNode
- //
- @Override
- public boolean getAllowsChildren()
- {
- return _isIceBox;
- }
-
- //
- // Actions
- //
- @Override
- public boolean[] getAvailableActions()
- {
- boolean[] actions = new boolean[ACTION_COUNT];
- actions[COPY] = !_ephemeral;
-
- Object clipboard = getCoordinator().getClipboard();
- if(clipboard != null &&
- (clipboard instanceof ServerDescriptor
- || clipboard instanceof ServerInstanceDescriptor
- || (_isIceBox && clipboard instanceof PropertySetDescriptor)))
- {
- actions[PASTE] = true;
- }
-
- actions[DELETE] = true;
- if(!_ephemeral)
- {
- actions[SHOW_VARS] = true;
- actions[SUBSTITUTE_VARS] = true;
-
- if(_isIceBox)
- {
- actions[NEW_PROPERTY_SET] = true;
- }
- }
-
- return actions;
- }
-
- @Override
- public void copy()
- {
- getCoordinator().setClipboard(copyDescriptor(_descriptor));
- getCoordinator().getActionsForMenu().get(PASTE).setEnabled(true);
- }
-
- @Override
- public void paste()
- {
- if(_isIceBox)
- {
- Object descriptor = getCoordinator().getClipboard();
- if(descriptor instanceof PropertySetDescriptor)
- {
- newPropertySet(PropertySet.copyDescriptor((PropertySetDescriptor)descriptor));
- return;
- }
- }
-
- ((TreeNode)_parent).paste();
- }
-
- @Override
- public void newPropertySet()
- {
- newPropertySet(new PropertySetDescriptor(new String[0], new java.util.LinkedList<PropertyDescriptor>()));
- }
-
- @Override
- public JPopupMenu getPopupMenu()
- {
- if(_isIceBox)
- {
- ApplicationActions actions = getCoordinator().getActionsForPopup();
- if(_popup == null)
- {
- _popup = new JPopupMenu();
- _popup.add(actions.get(NEW_PROPERTY_SET));
- }
- actions.setTarget(this);
- return _popup;
- }
- else
- {
- return null;
- }
- }
-
- @Override
- public Editor getEditor()
- {
- if(_editor == null)
- {
- _editor = (ServerInstanceEditor)getRoot().getEditor(ServerInstanceEditor.class, this);
- }
- _editor.show(this);
- return _editor;
- }
-
- @Override
- protected Editor createEditor()
- {
- return new ServerInstanceEditor();
- }
-
- @Override
- public Component getTreeCellRendererComponent(
- JTree tree,
- Object value,
- boolean sel,
- boolean expanded,
- boolean leaf,
- int row,
- boolean hasFocus)
- {
- if(_cellRenderer == null)
- {
- //
- // Initialization
- //
- _cellRenderer = new DefaultTreeCellRenderer();
-
- _serverIcon = Utils.getIcon("/icons/16x16/server_inactive.png");
- _iceboxServerIcon = Utils.getIcon("/icons/16x16/icebox_server_inactive.png");
-
- _cellRenderer.setLeafIcon(_serverIcon);
- _cellRenderer.setOpenIcon(_iceboxServerIcon);
- _cellRenderer.setClosedIcon(_iceboxServerIcon);
- }
-
- return _cellRenderer.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
- }
-
- @Override
- public void destroy()
- {
- Node node = (Node)_parent;
-
- if(_ephemeral)
- {
- node.removeServer(this);
- }
- else
- {
- node.removeDescriptor(_descriptor);
- node.removeServer(this);
- node.getEditable().removeElement(_id, _editable, Server.class);
- getRoot().updated();
- }
- }
-
- @Override
- public Object getDescriptor()
- {
- return _descriptor;
- }
-
- @Override
- public Object saveDescriptor()
- {
- return _descriptor.clone();
- }
-
- @Override
- public void restoreDescriptor(Object savedDescriptor)
- {
- ServerInstanceDescriptor copy = (ServerInstanceDescriptor)savedDescriptor;
-
- _descriptor.template = copy.template;
- _descriptor.parameterValues = copy.parameterValues;
- _descriptor.propertySet = copy.propertySet;
- }
-
- //
- // Builds the server and all its sub-tree
- //
- ServerInstance(boolean brandNew, TreeNode parent, String serverId, Utils.Resolver resolver,
- ServerInstanceDescriptor instanceDescriptor, boolean isIceBox)
- throws UpdateFailedException
- {
- super(brandNew, parent, serverId);
- _ephemeral = false;
- rebuild(resolver, instanceDescriptor, isIceBox);
- }
-
- ServerInstance(TreeNode parent, String serverId, ServerInstanceDescriptor instanceDescriptor)
- {
- super(false, parent, serverId);
- _ephemeral = true;
- try
- {
- rebuild(null, instanceDescriptor, false);
- }
- catch(UpdateFailedException e)
- {
- assert false;
- }
- }
-
- @Override
- void write(XMLWriter writer)
- throws java.io.IOException
- {
- if(!_ephemeral)
- {
- TemplateDescriptor templateDescriptor = getRoot().findServerTemplateDescriptor(_descriptor.template);
-
- java.util.LinkedList<String[]> attributes = parameterValuesToAttributes(
- _descriptor.parameterValues, templateDescriptor.parameters);
- attributes.addFirst(createAttribute("template", _descriptor.template));
-
- if(_descriptor.propertySet.references.length == 0 && _descriptor.propertySet.properties.size() == 0 &&
- _children.size() == 0)
- {
- writer.writeElement("server-instance", attributes);
- }
- else
- {
- writer.writeStartTag("server-instance", attributes);
- writePropertySet(writer, _descriptor.propertySet, null, null);
-
- for(TreeNodeBase p : _children)
- {
- PropertySet ps = (PropertySet)p;
- ps.write(writer);
- }
-
- writer.writeEndTag("server-instance");
- }
- }
- }
-
- boolean isIceBox()
- {
- return _isIceBox;
- }
-
- void isIceBox(boolean newValue)
- {
- if(newValue != _isIceBox)
- {
- _isIceBox = newValue;
- _children.clear();
- getRoot().getTreeModel().nodeStructureChanged(this);
- }
- }
-
- static private class Backup
- {
- Backup(Editable ne)
- {
- nodeEditable = ne;
- }
-
- Editable nodeEditable;
- java.util.Map<String, String> parameterValues;
- }
-
- @Override
- public Object rebuild(java.util.List<Editable> editables)
- throws UpdateFailedException
- {
- Node node = (Node)_parent;
- Backup backup = new Backup(node.getEditable().save());
-
- TemplateDescriptor templateDescriptor = getRoot().findServerTemplateDescriptor(_descriptor.template);
-
- java.util.Set<String> parameters = new java.util.HashSet<String>(templateDescriptor.parameters);
- if(!parameters.equals(_descriptor.parameterValues.keySet()))
- {
- backup.parameterValues = _descriptor.parameterValues;
- _descriptor.parameterValues = Editor.makeParameterValues(
- _descriptor.parameterValues, templateDescriptor.parameters);
- }
- ServerInstance newServer = node.createServer(false, _descriptor);
-
- if(_id.equals(newServer.getId()))
- {
- //
- // A simple update. We can't simply rebuild server because
- // we need to keep a backup
- //
- if(_editable.isModified())
- {
- newServer.getEditable().markModified();
- }
-
- node.removeServer(this);
- try
- {
- node.insertServer(newServer, true);
- }
- catch(UpdateFailedException e)
- {
- assert false; // impossible, we just removed a child with
- // this id
- }
-
- if(backup.parameterValues != null)
- {
- editables.add(newServer.getEditable());
- }
- }
- else
- {
- newServer.getEditable().markNew();
- node.removeServer(this);
- node.getEditable().removeElement(_id, _editable, Server.class);
- try
- {
- node.insertServer(newServer, true);
- }
- catch(UpdateFailedException e)
- {
- restore(backup);
- throw e;
- }
- }
-
- return backup;
- }
-
- @Override
- public void restore(Object backupObj)
- {
- Backup backup = (Backup)backupObj;
- Node node = (Node)_parent;
-
- node.getEditable().restore(backup.nodeEditable);
-
- if(backup.parameterValues != null)
- {
- _descriptor.parameterValues = backup.parameterValues;
- }
-
- TreeNode badServer = node.findChildWithDescriptor(_descriptor);
-
- if(badServer != null)
- {
- node.removeServer(badServer);
- }
-
- try
- {
- node.insertServer(this, true);
- }
- catch(UpdateFailedException e)
- {
- assert false; // impossible
- }
- }
-
- @Override
- public void tryAdd(String unsubstitutedId, PropertySetDescriptor descriptor)
- throws UpdateFailedException
- {
- insertPropertySet(new PropertySet(this,
- Utils.substitute(unsubstitutedId, _resolver),
- unsubstitutedId,
- descriptor),
- true);
- _descriptor.servicePropertySets.put(unsubstitutedId, descriptor);
- _editable.markModified();
- }
-
- @Override
- public void tryRename(String oldId, String oldUnresolvedId, String newUnsubstitutedId)
- throws UpdateFailedException
- {
- PropertySet oldChild = (PropertySet)findChild(oldId);
- assert oldChild != null;
- removePropertySet(oldChild);
- PropertySetDescriptor descriptor = (PropertySetDescriptor)oldChild.getDescriptor();
-
- try
- {
- insertPropertySet(
- new PropertySet(this,
- Utils.substitute(newUnsubstitutedId, _resolver),
- newUnsubstitutedId, descriptor),
- true);
- }
- catch(UpdateFailedException ex)
- {
- try
- {
- insertPropertySet(oldChild, true);
- }
- catch(UpdateFailedException ufe)
- {
- assert false;
- }
- throw ex;
- }
-
- _editable.markModified();
- _descriptor.servicePropertySets.remove(oldUnresolvedId);
- _descriptor.servicePropertySets.put(newUnsubstitutedId, descriptor);
- }
-
- @Override
- public void insertPropertySet(PropertySet nps, boolean fireEvent)
- throws UpdateFailedException
- {
- insertChild(nps, fireEvent);
- }
-
- @Override
- public void removePropertySet(PropertySet nps)
- {
- removeChild(nps);
- }
-
- @Override
- public void removeDescriptor(String unsubstitutedId)
- {
- _descriptor.servicePropertySets.remove(unsubstitutedId);
- }
-
- @Override
- public Editable getEditable()
- {
- return _editable;
- }
-
- String[] getServiceNames()
- {
- assert _isIceBox;
-
- //
- // Retrieve the list of service instances
- //
-
- Communicator.ChildList services = getRoot().findServerTemplate(_descriptor.template).getServices();
-
- String[] result = new String[services.size()];
- int i = 0;
-
- java.util.Iterator p = services.iterator();
- while(p.hasNext())
- {
- TreeNode n = (TreeNode)p.next();
- ServiceInstanceDescriptor d = (ServiceInstanceDescriptor)n.getDescriptor();
-
- if(d.template.length() > 0)
- {
- TemplateDescriptor templateDescriptor =
- getRoot().findServiceTemplateDescriptor(d.template);
- assert templateDescriptor != null;
- Utils.Resolver serviceResolver = new Utils.Resolver(_resolver,
- d.parameterValues,
- templateDescriptor.parameterDefaults);
-
- ServiceDescriptor serviceDescriptor = (ServiceDescriptor)templateDescriptor.descriptor;
-
- result[i++] = serviceResolver.substitute(serviceDescriptor.name);
- }
- else
- {
- result[i++] = _resolver.substitute(d.descriptor.name);
- }
- }
- return result;
- }
-
- //
- // Update the server and its children
- //
- void rebuild(Utils.Resolver resolver, ServerInstanceDescriptor instanceDescriptor, boolean isIceBox)
- throws UpdateFailedException
- {
- _resolver = resolver;
- _isIceBox = isIceBox;
- _descriptor = instanceDescriptor;
-
- _children.clear();
-
- for(java.util.Map.Entry<String, PropertySetDescriptor> p : _descriptor.servicePropertySets.entrySet())
- {
- String unsubstitutedId = p.getKey();
- insertPropertySet(new PropertySet(this,
- Utils.substitute(unsubstitutedId, _resolver),
- unsubstitutedId,
- p.getValue()),
- false);
- }
- }
-
- private void newPropertySet(PropertySetDescriptor descriptor)
- {
- String id = makeNewChildId("Service");
-
- PropertySet ps = new PropertySet(this, id, descriptor);
- try
- {
- insertChild(ps, true);
- }
- catch(UpdateFailedException e)
- {
- assert false;
- }
- getRoot().setSelectedNode(ps);
- }
-
- @Override
- Utils.Resolver getResolver()
- {
- return _resolver;
- }
-
- @Override
- public boolean isEphemeral()
- {
- return _ephemeral;
- }
-
- @Override
- public String toString()
- {
- if(_ephemeral)
- {
- return super.toString();
- }
- else
- {
- return _id + ": " + _descriptor.template + "<>";
- }
- }
-
- private ServerInstanceDescriptor _descriptor;
- private final boolean _ephemeral;
- private boolean _isIceBox;
-
- private ServerInstanceEditor _editor;
-
- private Utils.Resolver _resolver;
-
- static private DefaultTreeCellRenderer _cellRenderer;
- static private Icon _serverIcon;
- static private Icon _iceboxServerIcon;
- static private JPopupMenu _popup;
-}