package com.c2kernel.lifecycle.chooser; import java.awt.Dimension; import java.awt.event.ItemListener; import java.util.HashMap; import javax.swing.BoxLayout; import javax.swing.JPanel; import com.c2kernel.lookup.DomainPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.utils.Logger; //import fr.agilium.gui.tabs.wfPropertiesViewer.JPanelTabbedProperties; /** * @version $Revision: 1.2 $ $Date: 2005/06/27 15:16:12 $ * @author $Author: abranson $ */ public class LDAPFileChooser extends JPanel { public static String SCRIPT_CHOOSER = "Script"; public static String SCHEMA_CHOOSER = "Schema"; public static String ACTIVITY_CHOOSER = "Activity"; private String chooserMode = null; private HashMap mHashList = null; public LDAPEntryChooser mLec; private boolean mEditable = false; DomainPath domainPath; String itemQuery = null; boolean showversion = true; public LDAPFileChooser(String choose) { super(); chooserMode = choose; initialise(); } private void initialise() { if (chooserMode.equals(SCHEMA_CHOOSER)) { itemQuery = ClusterStorage.VIEWPOINT + "/Schema/all"; domainPath = new DomainPath("/desc/OutcomeDesc/"); } else if (chooserMode.equals(SCRIPT_CHOOSER)) { itemQuery = ClusterStorage.VIEWPOINT + "/Script/all"; domainPath = new DomainPath("/desc/Script/"); } else if (chooserMode.equals(ACTIVITY_CHOOSER)) { domainPath = new DomainPath("/desc/ActivityDesc/"); showversion = false; } else return; mLec = new LDAPEntryChooser(domainPath, mEditable); mLec.setPreferredSize(new Dimension(220, 19)); mLec.setMaximumSize(new Dimension(3000, 22)); mLec.setMinimumSize(new Dimension(50, 19)); //mLec.getRenderer().getListCellRendererComponent(); BoxLayout blyt = new BoxLayout(this, BoxLayout.X_AXIS); setLayout(blyt); add(mLec); mLec.setVisible(true); this.validate(); this.setVisible(true); } public String getEntryName() { return (String) mLec.getSelectedItem(); } public void addItemListener(ItemListener il) { mLec.addItemListener(il); } public void setSelectedItem(String name, String version) { Logger.debug(5,"setSelectedItem " + name + " " + version); if (name == null||name.equals("-1")) name=""; mLec.setSelectedItem(name); } public void reload() { mLec.reload(); } public void removeAllItems() { mLec.removeAllItems(); } /** * @param b */ public void setEditable(boolean b) { mEditable = b; mLec.setEditable(b); } public void updateUI() { if (mLec!=null) mLec.updateUI(); super.updateUI(); } public void setEnabled(boolean enabled) { mLec.setEnabled(enabled); } }