From b086f57f56bf0eb9dab9cf321a0f69aaaae84347 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 30 May 2012 08:37:45 +0200 Subject: Initial Maven Conversion --- source/com/c2kernel/gui/data/Node.java | 232 ----------------------- source/com/c2kernel/gui/data/NodeAgent.java | 33 ---- source/com/c2kernel/gui/data/NodeCollection.java | 68 ------- source/com/c2kernel/gui/data/NodeContext.java | 65 ------- source/com/c2kernel/gui/data/NodeEntity.java | 82 -------- source/com/c2kernel/gui/data/NodeItem.java | 112 ----------- source/com/c2kernel/gui/data/NodeSubscriber.java | 13 -- 7 files changed, 605 deletions(-) delete mode 100644 source/com/c2kernel/gui/data/Node.java delete mode 100644 source/com/c2kernel/gui/data/NodeAgent.java delete mode 100644 source/com/c2kernel/gui/data/NodeCollection.java delete mode 100644 source/com/c2kernel/gui/data/NodeContext.java delete mode 100644 source/com/c2kernel/gui/data/NodeEntity.java delete mode 100644 source/com/c2kernel/gui/data/NodeItem.java delete mode 100644 source/com/c2kernel/gui/data/NodeSubscriber.java (limited to 'source/com/c2kernel/gui/data') diff --git a/source/com/c2kernel/gui/data/Node.java b/source/com/c2kernel/gui/data/Node.java deleted file mode 100644 index 2f12d6b..0000000 --- a/source/com/c2kernel/gui/data/Node.java +++ /dev/null @@ -1,232 +0,0 @@ -package com.c2kernel.gui.data; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; - -import javax.swing.Icon; -import javax.swing.ImageIcon; -import javax.swing.JMenuItem; -import javax.swing.JPopupMenu; -import javax.swing.tree.DefaultMutableTreeNode; - -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.gui.DynamicTreeBuilder; -import com.c2kernel.gui.EntityTabManager; -import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.Path; -import com.c2kernel.process.Gateway; -import com.c2kernel.utils.Language; -import com.c2kernel.utils.Logger; -import com.c2kernel.utils.Resource; - -public abstract class Node implements Runnable { - - protected Path binding; - protected DefaultMutableTreeNode treeNode; - protected String name; // domain key - protected int sysKey; // target item - // attributes - protected String type = ""; - protected Icon icon; - protected boolean isExpandable = false; - protected HashMap childNodes = new HashMap(); - protected ArrayList subscribers = new ArrayList(); - protected DynamicTreeBuilder loader = null; - private boolean loaded = false; - private String iconName; - protected EntityTabManager desktop; - static ImageIcon folder = Resource.findImage("folder.png"); - static ImageIcon emptyLeaf = Resource.findImage("leaf.png"); - - public Node() { - } - - protected void createTreeNode() { - this.treeNode = new DefaultMutableTreeNode(this); - } - - public Node(Path path, EntityTabManager desktop) { - this.binding = path; - this.desktop = desktop; - this.sysKey = path.getSysKey(); - // get the name of this node (last path element) - String[] pathComponents = path.getPath(); - if (pathComponents.length > 0) - this.name = pathComponents[pathComponents.length-1]; - else - this.name = Gateway.getProperty("Name"); - } - - public EntityTabManager getDesktop() { - return desktop; - } - - public Node newNode(Path path) - { - try { - if (path.getEntity() instanceof AgentPath) - return new NodeAgent(path, desktop); - else - return new NodeItem(path, desktop); - } catch (ObjectNotFoundException ex) { - return new NodeContext(path, desktop); - } - - } - - /** Inserts a tree builder as the first child of the node, so it can be opened in the tree - */ - public void makeExpandable() { - if (isExpandable) return; - loader = new DynamicTreeBuilder(this.treeNode); - this.treeNode.insert(loader.getTreeNode(),0); - isExpandable = true; - } - - - public DefaultMutableTreeNode getTreeNode() { - return treeNode; - } - - public void setTreeNode(DefaultMutableTreeNode treeNode) { - this.treeNode = treeNode; - treeNode.setUserObject(this); - } - - /** Subscription for loading node children. - * Note this is separate from the itemproxy subscription as it included query of the naming service - * and eventually should not require access to the item at all for higher performance */ - public void subscribeNode(NodeSubscriber target) { - subscribers.add(target); - if (loaded == false) { - loaded = true; - loadMore(); - } - else { - synchronized (childNodes) { - Node newNode; - for (Iterator nodes = childNodes.values().iterator(); nodes.hasNext();) { - newNode = nodes.next(); - Logger.msg("subscribeNode target.add("+newNode.name+")"); - target.add(newNode); - } - } - } - } - - public void loadMore() { - Thread loading = new Thread(this); - loading.start(); - } - - public void unsubscribeNode(NodeSubscriber target) { - subscribers.remove(target); - } - - public void add(Node newNode) { - synchronized(childNodes) { - childNodes.put(newNode.getPath(), newNode); - for (NodeSubscriber thisSub : subscribers) { - thisSub.add(newNode); - } - } - } - - public void remove(Path oldPath) { - synchronized(childNodes) { - childNodes.remove(oldPath); - for (NodeSubscriber thisSub : subscribers) { - thisSub.remove(oldPath); - } - } - } - - public void removeAllChildren() { - synchronized(childNodes) { - while (childNodes.keySet().iterator().hasNext()) { - remove(childNodes.keySet().iterator().next()); - } - } - } - - public Node getChildNode(Path itsPath) { - for (Iterator i = childNodes.keySet().iterator(); i.hasNext();) { - Object next = i.next(); - if ( next.equals(itsPath) ) return childNodes.get(next); - } - return null; - } - - // end of current batch - public void end(boolean more) { - for (NodeSubscriber thisSub : subscribers) { - thisSub.end(more); - } - } - - - @Override - public void run() { - Thread.currentThread().setName("Node Loader: "+name); - loadChildren(); - } - - public abstract void loadChildren(); - - public void refresh() { - removeAllChildren(); - loadChildren(); - } - - // Getters and Setters - - public int getSysKey() { return sysKey; } -// public void setSysKey( int sysKey ) { this.sysKey = sysKey; } - - public String getName() { return name; } -// public void setName( String name ) { this.name = name; } - - public String getType() { return type; } -// public void setType( String type ) { this.type = type; } - - public Path getPath() { return binding; } - - public DynamicTreeBuilder getTreeBuilder() { return loader; } - - @Override - public String toString() { - if (this.name.length() > 0) { - return this.name; - } - else { return "Cristal"; } - } - - public Icon getIcon() { - if (icon != null) return icon; - return(isExpandable?folder:emptyLeaf); - } - - public String getIconName() { - return iconName; - } - - public void setIcon(String icon) { - iconName = icon; - this.icon = Resource.findImage("typeicons/"+icon+"_16.png"); - } - - public JPopupMenu getPopupMenu() { - JPopupMenu popup = new JPopupMenu(); - JMenuItem menuItem = new JMenuItem(Language.translate("Refresh")); - menuItem.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (isExpandable) refresh(); - } - }); - popup.add(menuItem); - return popup; - } -} diff --git a/source/com/c2kernel/gui/data/NodeAgent.java b/source/com/c2kernel/gui/data/NodeAgent.java deleted file mode 100644 index 9f6cdad..0000000 --- a/source/com/c2kernel/gui/data/NodeAgent.java +++ /dev/null @@ -1,33 +0,0 @@ - -package com.c2kernel.gui.data; - - -import java.util.ArrayList; - -import com.c2kernel.gui.EntityTabManager; -import com.c2kernel.lookup.Path; - -/** - * Structure for Item presence on the tree and ItemDetails boxes. Created by NodeFactory. - * @author $Author: abranson $ - * @version $Version$ - */ -public class NodeAgent extends NodeEntity { - - public NodeAgent(Path path, EntityTabManager desktop) { - super(path, desktop); - } - - @Override - public void loadChildren() { - } - - @Override - public ArrayList getTabs() { - - ArrayList requiredTabs = super.getTabs(); - requiredTabs.add("AgentProperties"); - requiredTabs.add("JobList"); - return requiredTabs; - } -} diff --git a/source/com/c2kernel/gui/data/NodeCollection.java b/source/com/c2kernel/gui/data/NodeCollection.java deleted file mode 100644 index ceee16f..0000000 --- a/source/com/c2kernel/gui/data/NodeCollection.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.c2kernel.gui.data; - -import java.util.ArrayList; - -import javax.swing.tree.DefaultMutableTreeNode; - -import com.c2kernel.collection.CollectionMember; -import com.c2kernel.collection.Parent2ChildCollection; -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.entity.proxy.ItemProxy; -import com.c2kernel.gui.EntityTabManager; -import com.c2kernel.lookup.EntityPath; -import com.c2kernel.lookup.InvalidEntityPathException; -import com.c2kernel.utils.Logger; - -public class NodeCollection extends Node { - - ItemProxy parent; - Parent2ChildCollection thisCollection; - String path; - - public NodeCollection(ItemProxy parent, String name, EntityTabManager desktop) { - this.desktop = desktop; - this.parent = parent; - this.name = name; - this.path = parent.getSystemKey()+"/Collection/"+name; - createTreeNode(); - this.makeExpandable(); - } - - @Override - public void loadChildren() { - Logger.msg(8, "NodeCollection::loadChildren()"); - try { - thisCollection = (Parent2ChildCollection)parent.getObject("Collection/"+name); - } catch (ObjectNotFoundException ex) { - end(false); - return; - } - - this.type = thisCollection.getClass().getName(); - int lastDot = this.type.lastIndexOf('.'); - if (lastDot > -1) this.type = this.type.substring(lastDot+1); - ArrayList collectionMembers = thisCollection.getMembers().list; - for (int i=0; i children; - - public NodeContext(Path path, EntityTabManager desktop) { - super(path, desktop); - this.sysKey=Path.INVALID; - createTreeNode(); - this.makeExpandable(); - this.type = "Cristal Context"; - } - - - @Override - public void loadChildren() { - if (children == null) { - Gateway.getProxyManager().subscribeTree(this, (DomainPath)binding); - children = binding.getChildren(); - } - - int batch = 75; - while (children.hasMoreElements() && batch > 0) { - Path newPath = children.nextElement(); - if (newPath == null) break; - Logger.msg(2, "Subscription.run() - new node: " + newPath ); - add( newNode(newPath)); - batch--; - } - end(children.hasMoreElements()); - } - - @Override - public void pathAdded(DomainPath path) { - add(newNode(path)); - } - - @Override - public void refresh() { - children = null; - super.refresh(); - } - @Override - public void pathRemoved(DomainPath path) { - remove(path); - } - -} - - - - - - - diff --git a/source/com/c2kernel/gui/data/NodeEntity.java b/source/com/c2kernel/gui/data/NodeEntity.java deleted file mode 100644 index cce4f68..0000000 --- a/source/com/c2kernel/gui/data/NodeEntity.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.c2kernel.gui.data; - - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; - -import javax.swing.JMenuItem; -import javax.swing.JPopupMenu; - -import com.c2kernel.entity.proxy.EntityProxy; -import com.c2kernel.gui.EntityTabManager; -import com.c2kernel.lookup.Path; -import com.c2kernel.process.Gateway; -import com.c2kernel.utils.Language; -import com.c2kernel.utils.Logger; - -/** - * Structure for Item presence on the tree and ItemDetails boxes. Created by NodeFactory. - * @author $Author: abranson $ - * @version $Version$ - */ -public abstract class NodeEntity extends Node { - - protected EntityProxy myEntity = null; - - public NodeEntity(Path path, EntityTabManager desktop) { - super(path, desktop); - Logger.msg(2,"NodeEntity. - Creating item for '"+path.toString()+"'."); - - try { - // if an item - resolve the item and get its properties - myEntity = Gateway.getProxyManager().getProxy(path); - this.sysKey = path.getSysKey(); - Logger.msg(2,"NodeEntity. - System key is "+this.sysKey); - - // Name should be the alias if present - String alias = myEntity.getName(); - if (alias != null) this.name = alias; - - this.type = myEntity.getProperty("Type"); - String iconString = this.type; - if (type.equals("ActivityDesc")) iconString = myEntity.getProperty("Complexity")+iconString; - iconString = iconString.toLowerCase(); - this.setIcon(iconString); - createTreeNode(); - } catch (Exception e) { - Logger.msg(2, "NodeEntity. - "+sysKey+" failed to resolve:"); - Logger.error(e); - } - } - - public EntityProxy getEntity() { - return myEntity; - } - /** - * - */ - @Override - public JPopupMenu getPopupMenu() { - JPopupMenu popup = super.getPopupMenu(); - JMenuItem openItem = new JMenuItem(Language.translate("Open")); - openItem.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - openItem(); - } - }); - popup.addSeparator(); - popup.add(openItem); - return popup; - } - - public void openItem() { - desktop.add(this); - } - - public ArrayList getTabs() { - ArrayList requiredTabs = new ArrayList(); - return requiredTabs; - } -} diff --git a/source/com/c2kernel/gui/data/NodeItem.java b/source/com/c2kernel/gui/data/NodeItem.java deleted file mode 100644 index 30f7ce3..0000000 --- a/source/com/c2kernel/gui/data/NodeItem.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.c2kernel.gui.data; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.StringTokenizer; - -import javax.swing.JMenuItem; -import javax.swing.JPopupMenu; - -import com.c2kernel.entity.agent.Job; -import com.c2kernel.entity.proxy.ItemProxy; -import com.c2kernel.gui.EntityDetails; -import com.c2kernel.gui.EntityTabManager; -import com.c2kernel.gui.MainFrame; -import com.c2kernel.lookup.Path; -import com.c2kernel.persistency.ClusterStorage; -import com.c2kernel.utils.Logger; - -/** - * Structure for Item presence on the tree and ItemDetails boxes. Created by NodeFactory. - * @author $Author: abranson $ - * @version $Version$ - */ -public class NodeItem extends NodeEntity { - - public NodeItem(Path path, EntityTabManager desktop) { - super(path, desktop); - try { - makeExpandable(); - } catch (Exception e) { - Logger.error(e); - } - } - - @Override - public void loadChildren() { - try { - String collections = myEntity.queryData("Collection/all"); - StringTokenizer tok = new StringTokenizer(collections, ","); - while (tok.hasMoreTokens()) { - NodeCollection newCollection = new NodeCollection((ItemProxy)myEntity, tok.nextToken(), desktop); - add(newCollection); - } - end(false); - } catch (Exception e) { - Logger.error(e); - } - } - - @Override - public JPopupMenu getPopupMenu() { - JPopupMenu popup = super.getPopupMenu(); - popup.addSeparator(); - try { - ArrayList jobList = ((ItemProxy)myEntity).getJobList(MainFrame.userAgent); - ArrayList already = new ArrayList(); - if (jobList.size() > 0) { - for (Job thisJob : jobList) { - String stepName = thisJob.getStepName(); - if (already.contains(stepName)) - continue; - already.add(stepName); - JMenuItem menuItem = new JMenuItem(stepName); - menuItem.setActionCommand(stepName); - menuItem.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - execute(e.getActionCommand()); - } - }); - popup.add(menuItem); - - } - } - else { - JMenuItem noAct = new JMenuItem("No activities"); - noAct.setEnabled(false); - popup.add(noAct); - } - } catch (Exception ex) { - JMenuItem error = new JMenuItem("Error querying jobs"); - error.setEnabled(false); - popup.add(error); - } - - return popup; - } - - public void execute(String stepName) { - EntityDetails thisDetail = desktop.add(this); - thisDetail.runCommand("Execution", stepName); - } - - @Override - public ArrayList getTabs() { - - ArrayList requiredTabs = super.getTabs(); - requiredTabs.add("Properties"); - try { - String collNames = myEntity.queryData(ClusterStorage.COLLECTION+"/all"); - if (collNames.length() > 0) - requiredTabs.add("Collection"); - } catch (Exception e) { } - requiredTabs.add("Execution"); - requiredTabs.add("History"); - requiredTabs.add("Viewpoint"); - requiredTabs.add("Workflow"); - return requiredTabs; - - } -} diff --git a/source/com/c2kernel/gui/data/NodeSubscriber.java b/source/com/c2kernel/gui/data/NodeSubscriber.java deleted file mode 100644 index 70af660..0000000 --- a/source/com/c2kernel/gui/data/NodeSubscriber.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.c2kernel.gui.data; - -import com.c2kernel.lookup.Path; - - -public interface NodeSubscriber { - - public void add(Node newNode); - - public void remove(Path path); - - public void end(boolean more); -} -- cgit v1.2.3