diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-05-07 17:33:57 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-05-07 17:33:57 +0200 |
| commit | 21230edbafdd30fcf0c43d1dc64ccbf4ca5e06a8 (patch) | |
| tree | b2908dbea534ca8d96a81ab922501769d4b70c4d /src/main/java/com/c2kernel/gui/EntityFinder.java | |
| parent | 75bf1278296d33a7d9b6c01660a2f21e2d40d995 (diff) | |
Agent now extends Item, so they can have workflows. All traces of the
old 'Entity' superclasses should be removed, including proxies and
paths. Very large change, breaks API compatibility with CRISTAL 2.x.
Diffstat (limited to 'src/main/java/com/c2kernel/gui/EntityFinder.java')
| -rw-r--r-- | src/main/java/com/c2kernel/gui/EntityFinder.java | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/src/main/java/com/c2kernel/gui/EntityFinder.java b/src/main/java/com/c2kernel/gui/EntityFinder.java deleted file mode 100644 index 1423055..0000000 --- a/src/main/java/com/c2kernel/gui/EntityFinder.java +++ /dev/null @@ -1,222 +0,0 @@ -package com.c2kernel.gui;
-
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.StringTokenizer;
-
-import javax.swing.Box;
-import javax.swing.BoxLayout;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JTextField;
-import javax.swing.JToggleButton;
-
-import com.c2kernel.lookup.DomainPath;
-import com.c2kernel.lookup.LDAPLookup;
-import com.c2kernel.lookup.Path;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.utils.Language;
-import com.c2kernel.utils.Logger;
-
-public class EntityFinder extends Box implements Runnable {
- JTextField inputField;
- JButton findButton;
- JButton findNextButton;
- GridBagLayout gridbag = new GridBagLayout();
- LDAPLookup lookup = Gateway.getLDAPLookup();
- DomainKeyConsumer defaultConsumer = null;
- DomainKeyConsumer currentConsumer = null;
- Enumeration<?> matches;
- Path rootNode = MainFrame.userNode.getPath();
-
- static protected ImageIcon mFindIcon = null;
- static protected ImageIcon mNextIcon = null;
- static {
- try
- {
- mNextIcon =ImageLoader.findImage("next.png");
- mFindIcon =ImageLoader.findImage("find.png");
- }
- catch (Exception e)
- {
- Logger.error("Couldn't load images: " + e);
- }
- }
-
- public EntityFinder() {
- super(BoxLayout.X_AXIS);
- initPanel();
- }
-
- public void pushNewKey(String key) {
- inputField.setText(key);
- runSearch();
- }
-
- public void setDefaultConsumer(DomainKeyConsumer newConsumer) {
- defaultConsumer = newConsumer;
- currentConsumer = newConsumer;
- }
-
- public void setConsumer(DomainKeyConsumer newConsumer, String label) {
- currentConsumer = newConsumer;
- findButton.setText(label);
- }
-
- public void clearConsumer(DomainKeyConsumer oldConsumer) {
- if (currentConsumer == oldConsumer) {
- currentConsumer = defaultConsumer;
- findButton.setText("");
- }
- }
-
- private void initPanel() {
-
- JLabel search = new JLabel(" "+Language.translate("Search")+":");
- add(search);
- add(Box.createHorizontalStrut(7));
-
- inputField = new JTextField(20);
- add(inputField);
- add(Box.createHorizontalStrut(5));
- inputField.addActionListener( new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- pushNewKey(inputField.getText());
- }
- });
-
- findButton = new JButton(mFindIcon);//(Language.translate("Find"));
- findButton.setMargin(new Insets(2, 5, 2, 5));
- findButton.addActionListener( new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- pushNewKey(inputField.getText());
- }
- });
- add(findButton);
- add(Box.createHorizontalStrut(5));
-
- findNextButton = new JButton(mNextIcon);//(Language.translate("Next"));
- findNextButton.setMargin(new Insets(2, 5, 2, 5));
- findNextButton.addActionListener( new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- nextMatch();
- }
- });
- findNextButton.setEnabled(false);
- add(findNextButton);
- add(Box.createHorizontalStrut(15));
-
- // create plugins
- Logger.msg(6, "ItemFinder() - creating plugins");
- String requiredListeners = Gateway.getProperties().getProperty("DomainKeyListeners");
- if (requiredListeners != null) {
- StringTokenizer tok = new StringTokenizer(requiredListeners, ",");
- while (tok.hasMoreTokens()) {
- String listenerName = tok.nextToken();
- Logger.msg(6, "ItemFinder() - creating a " + listenerName);
- try {
- Class<?> listenerClass = Class.forName(listenerName);
- DomainKeyListener newListener = (DomainKeyListener)listenerClass.newInstance();
- newListener.init(); newListener.setConsumer(this);
- JToggleButton listenerButton = new JToggleButton(newListener.getIcon(), false);
- listenerButton.addItemListener(new ListenerButtonListener(newListener, listenerButton));
- listenerButton.setMargin(new Insets(0, 2, 0, 2));
- listenerButton.setToolTipText("Enable "+newListener.getDescription());
- add(listenerButton);
- add(Box.createHorizontalStrut(7));
- } catch (Exception e) {
- Logger.error("ItemFinder() - could not create a "+listenerName+": "+e);
- }
- }
- add(Box.createHorizontalGlue());
- }
- }
-
- private void runSearch() {
- Thread searcher = new Thread(this);
- searcher.start();
- }
-
- @Override
- public void run() {
- Thread.currentThread().setName("Entity Search");
- String searchTerm = inputField.getText();
- if (searchTerm.length() == 0) return; // don't allow null searches
-
- findButton.setEnabled(false); findNextButton.setEnabled(false);
- MainFrame.progress.startBouncing("Searching. Please Wait");
- findNextButton.setEnabled(false);
- String term = inputField.getText();
-// The following block does property searching when the field contains a colon, but that returns EntityPaths, which the tree can't handle
-// int colonPos = term.indexOf(':');
-// if (colonPos > 0)
-// matches = lookup.search(rootNode,term.substring(0, colonPos), term.substring(colonPos+1));
-// else
- matches = lookup.search(rootNode,term);
- if (!matches.hasMoreElements()) {
- MainFrame.progress.stopBouncing("No results");
- currentConsumer.push(searchTerm); // for subscribers who don't care if it exists
- findButton.setEnabled(true);
- return;
- }
- MainFrame.progress.stopBouncing("Selecting first match.");
- nextMatch();
-
- }
-
- void nextMatch() {
- findButton.setEnabled(false); findNextButton.setEnabled(false);
- DomainPath nextMatch = (DomainPath)matches.nextElement();
- try
- {
- currentConsumer.push(nextMatch);
- }
- catch (NullPointerException e)
- {
- //case the item searched is not found !
- }
- findButton.setEnabled(true);
- findNextButton.setToolTipText("Click to show next match");
- if (matches.hasMoreElements()) findNextButton.setEnabled(true);
- }
-
- private class ListenerButtonListener implements ItemListener {
- private final DomainKeyListener listener;
- private final JToggleButton listenerButton;
-
- public ListenerButtonListener(DomainKeyListener newListener, JToggleButton listenerButton) {
- this.listener = newListener;
- this.listenerButton = listenerButton;
- }
-
- @Override
- public void itemStateChanged(ItemEvent e) {
- if (e.getStateChange() == ItemEvent.SELECTED) {
- // Switch on
- try {
- if (!(listener.enable())) listenerButton.doClick(); // allow plugins to disable themselves
- } catch (IOException ex) {
- JOptionPane.showMessageDialog(null, ex.getMessage(), "Error initialising "+listener.getDescription(), JOptionPane.ERROR_MESSAGE);
- listenerButton.doClick();
- }
- listenerButton.setToolTipText("Disable "+listener.getDescription());
- } else {
- // Switch off
- listener.disable();
- listenerButton.setToolTipText("Enable "+listener.getDescription());
- }
- }
- }
-
-}
|
