home *** CD-ROM | disk | FTP | other *** search
- package asp.wizard;
-
- import asp.netobjects.nfx.ui.OrderedListModel;
- import asp.netobjects.nfx.wizard.WizardPageView;
- import asp.util.ResourceUtil;
- import asp.wizard.util.UiUtil;
- import com.sun.java.swing.DefaultListModel;
- import com.sun.java.swing.JComboBox;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JList;
- import com.sun.java.swing.ListModel;
- import java.awt.Container;
- import java.util.Vector;
-
- public class WizardViewSubDbQueryJoin extends WizardViewAbstract {
- private static WizardViewAbstract _instance = null;
- private WVPanelDbQueryJoin _mainPanel;
- private Vector _joins = new Vector();
- private boolean _updatingLhsTableComboBox = false;
- private boolean _updatingRhsTableComboBox = false;
- // $FF: synthetic field
- static Class class$asp$wizard$WVPanelDbQueryJoin;
-
- public static WizardViewAbstract getInstance() {
- if (_instance == null) {
- _instance = new WizardViewSubDbQueryJoin();
- }
-
- return _instance;
- }
-
- protected void createMainPanel() {
- this._mainPanel = new WVPanelDbQueryJoin();
- this.initListeners();
- }
-
- public WVPanelBase getMainPanel() {
- return this._mainPanel;
- }
-
- protected void initListeners() {
- this._mainPanel._btnAddJoin.addActionListener(new 1(this));
- this._mainPanel._cboLhsTables.addItemListener(new 2(this));
- this._mainPanel._cboRhsTables.addItemListener(new 3(this));
- this._mainPanel._btnRemoveJoin.addActionListener(new 4(this));
- }
-
- protected void addJoin() {
- String strSrcTable = (String)this._mainPanel._cboLhsTables.getSelectedItem();
- String strSrcField = (String)this._mainPanel._lboLhsFields.getSelectedValue();
- String strDstTable = (String)this._mainPanel._cboRhsTables.getSelectedItem();
- String strDstField = (String)this._mainPanel._lboRhsFields.getSelectedValue();
-
- for(int i = 0; i < this._joins.size(); ++i) {
- SubDBQueryData.JoinOb o = (SubDBQueryData.JoinOb)this._joins.elementAt(i);
- if (o.getSrcTable().compareTo(strSrcTable) == 0 && o.getSrcField().compareTo(strSrcField) == 0 && o.getDstTable().compareTo(strDstTable) == 0 && o.getDstField().compareTo(strDstField) == 0) {
- String msg = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbQueryJoin != null ? class$asp$wizard$WVPanelDbQueryJoin : (class$asp$wizard$WVPanelDbQueryJoin = class$("asp.wizard.WVPanelDbQueryJoin")), "err.joinexists");
- AspWizardExceptionHandler.showMessage(0, msg);
- return;
- }
- }
-
- if (strSrcTable != null && strSrcField != null && strDstTable != null && strDstField != null) {
- if (strSrcTable.compareTo(strDstTable) == 0) {
- String msg = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbQueryJoin != null ? class$asp$wizard$WVPanelDbQueryJoin : (class$asp$wizard$WVPanelDbQueryJoin = class$("asp.wizard.WVPanelDbQueryJoin")), "err.joindifftables");
- AspWizardExceptionHandler.showMessage(0, msg);
- } else {
- SubDBQueryData data = ((WizardSubDbQuery)((WizardPageView)this).getModel().getWizard()).getData();
- SubDBQueryData.JoinOb newJoin = data.createJoinOb(strSrcTable, strSrcField, strDstTable, strDstField);
- this._joins.addElement(newJoin);
- OrderedListModel olm = (OrderedListModel)this._mainPanel._lboJoins.getModel();
- olm.addElement(newJoin.getText());
- }
- } else {
- String msg = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbQueryJoin != null ? class$asp$wizard$WVPanelDbQueryJoin : (class$asp$wizard$WVPanelDbQueryJoin = class$("asp.wizard.WVPanelDbQueryJoin")), "err.joinincomplete");
- AspWizardExceptionHandler.showMessage(0, msg);
- }
- }
-
- protected void removeJoin() {
- int[] selIndices = this._mainPanel._lboJoins.getSelectedIndices();
- if (selIndices != null && selIndices.length > 0) {
- OrderedListModel olm = (OrderedListModel)this._mainPanel._lboJoins.getModel();
- int delCount = 0;
-
- for(int i = 0; i < selIndices.length; ++i) {
- olm.removeElementAt(selIndices[i] - delCount);
- this._joins.removeElementAt(selIndices[i] - delCount);
- ++delCount;
- }
-
- }
- }
-
- public Vector getJoins() {
- return this._joins;
- }
-
- public void setJoins(Vector joins) {
- OrderedListModel olm = (OrderedListModel)this._mainPanel._lboJoins.getModel();
- ((DefaultListModel)olm).clear();
- this._joins.removeAllElements();
-
- for(int i = 0; i < joins.size(); ++i) {
- SubDBQueryData.JoinOb o = (SubDBQueryData.JoinOb)joins.elementAt(i);
- olm.addElement(o.getText());
- this._joins.addElement(o.cloneJoin());
- }
-
- }
-
- public void setLhsTableComboBoxModel(OrderedListModel comboModel) {
- this._updatingLhsTableComboBox = true;
- JComboBox comboBox = this._mainPanel._cboLhsTables;
-
- try {
- UiUtil.populateCombo(comboBox, comboModel);
- if (((DefaultListModel)comboModel).getSize() > 0) {
- comboBox.setSelectedIndex(0);
- }
- } finally {
- this._updatingLhsTableComboBox = false;
- }
-
- }
-
- public void setRhsTableComboBoxModel(OrderedListModel comboModel) {
- this._updatingRhsTableComboBox = true;
- JComboBox comboBox = this._mainPanel._cboRhsTables;
-
- try {
- UiUtil.populateCombo(comboBox, comboModel);
- if (((DefaultListModel)comboModel).getSize() > 0) {
- comboBox.setSelectedIndex(1);
- }
- } finally {
- this._updatingRhsTableComboBox = false;
- }
-
- }
-
- private void setFieldListModel(JList list, ListModel lm) {
- list.setModel(lm);
- ((Container)list).invalidate();
- Container rootContainer = ((JComponent)list).getTopLevelAncestor();
- if (rootContainer != null) {
- rootContainer.validate();
- }
-
- if (lm.getSize() > 0) {
- list.setSelectedIndex(0);
- }
-
- }
-
- public void setLhsFieldListModel(ListModel lm) {
- JList list = this._mainPanel._lboLhsFields;
- this.setFieldListModel(list, lm);
- }
-
- public void setRhsFieldListModel(ListModel lm) {
- JList list = this._mainPanel._lboRhsFields;
- this.setFieldListModel(list, lm);
- }
-
- public String getLhsSelectedTable() {
- return this._mainPanel._cboLhsTables.getSelectedItem().toString();
- }
-
- public String getRhsSelectedTable() {
- return this._mainPanel._cboRhsTables.getSelectedItem().toString();
- }
-
- // $FF: synthetic method
- static boolean access$0(WizardViewSubDbQueryJoin $0) {
- return $0._updatingLhsTableComboBox;
- }
-
- // $FF: synthetic method
- static boolean access$1(WizardViewSubDbQueryJoin $0) {
- return $0._updatingRhsTableComboBox;
- }
-
- // $FF: synthetic method
- static Class class$(String class$) {
- try {
- return Class.forName(class$);
- } catch (ClassNotFoundException forName) {
- throw new NoClassDefFoundError(((Throwable)forName).getMessage());
- }
- }
- }
-