summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/gui/EntityFinder.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2012-05-30 08:37:45 +0200
committerAndrew Branson <andrew.branson@cern.ch>2012-05-30 08:37:45 +0200
commitb086f57f56bf0eb9dab9cf321a0f69aaaae84347 (patch)
tree8e6e26e8b7eed6abad7a17b093bdbb55c5e6b1ba /source/com/c2kernel/gui/EntityFinder.java
parent22088ae8d2d5ff390518dbe1c4372325ffb3a647 (diff)
Initial Maven Conversion
Diffstat (limited to 'source/com/c2kernel/gui/EntityFinder.java')
-rw-r--r--source/com/c2kernel/gui/EntityFinder.java217
1 files changed, 0 insertions, 217 deletions
diff --git a/source/com/c2kernel/gui/EntityFinder.java b/source/com/c2kernel/gui/EntityFinder.java
deleted file mode 100644
index 0d53545..0000000
--- a/source/com/c2kernel/gui/EntityFinder.java
+++ /dev/null
@@ -1,217 +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;
-import com.c2kernel.utils.Resource;
-
-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 =Resource.findImage("next.png");
- mFindIcon =Resource.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) {
- MainFrame.status.setText("Navigating to next match");
- nextMatch();
- }
- });
- findNextButton.setEnabled(false);
- add(findNextButton);
- add(Box.createHorizontalStrut(15));
-
- // create plugins
- Logger.msg(6, "ItemFinder() - creating plugins");
- String requiredListeners = Gateway.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");
- MainFrame.status.setText("Searching. Please Wait");
- findButton.setEnabled(false); findNextButton.setEnabled(false);
- String searchTerm = inputField.getText();
- if (searchTerm.length() == 0) return; // don't allow null searches
- findNextButton.setEnabled(false);
- matches = lookup.search(rootNode,inputField.getText());
- if (!matches.hasMoreElements()) {
- MainFrame.status.setText("No results");
- currentConsumer.push(searchTerm); // for subscribers who don't care if it exists
- findButton.setEnabled(true);
- return;
- }
- MainFrame.status.setText("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());
- }
- }
- }
-
-}