home *** CD-ROM | disk | FTP | other *** search
Wrap
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Component; import java.awt.Container; import java.awt.Event; import java.awt.Label; import java.awt.Panel; import java.awt.TextField; import java.util.Vector; public class JDPSearchLayout extends JDPClassLayout { JDPSelectDSN targetDSN; JDPSelectTable targetTable; JDPSelectColumns target; JDPPopupMessage popuppanel; JDPChoiceLayout thisChoicePanel; JDPLayoutMgr targetLayoutMgr; JDPList columns; TextField pchoosefrom; JDPComboBox useconstant; JDPComboBox pinitchoice; Label listCount; String fromWhereClause; String[] pchooseFrom; String[] pactualchooseFrom; int[] constantLength; boolean[] constantIsString; String pinitChoice = ""; int[] odbcType; Vector gParmObject; int currentSelection = -1; JDPTabSelectPanel tabPanel; String[] pchooseFr; String[] pactualchooseFr; Vector pmatchUsing; Vector pactualmatchUsing; int[] pchooseFromindex; int[] constantL; boolean[] constantIS; void updateArrays() { if (this.currentSelection >= 0) { this.pchooseFrom[this.currentSelection] = this.pchoosefrom.getText(); this.thisChoicePanel.updateArrays(this.currentSelection); if (this.useconstant.getSelectedItem().compareTo("No") == 0) { this.constantLength[this.currentSelection] = 0; } else { this.constantLength[this.currentSelection] = Integer.parseInt(this.target.columnLength[this.currentSelection]) + 2; } } } void clearList() { this.columns.clear(); } void loadList() { this.clearList(); if (this.target != null && this.target.columnName != null && this.target.columns.getSelectedIndexes().length != 0) { String[] var1 = this.target.columns.getSelectedItems(); int[] var2 = this.target.columns.getSelectedIndexes(); int var3 = var1.length; this.listCount.setText(Integer.toString(var3)); this.pchooseFrom = new String[var3]; this.pactualchooseFrom = new String[var3]; this.constantLength = new int[var3]; this.constantIsString = new boolean[var3]; this.odbcType = new int[var3]; this.thisChoicePanel.initList(var3); for(int var4 = 0; var4 < var1.length; ++var4) { this.thisChoicePanel.loadList(var4); this.pchooseFrom[var4] = super.user.u.makeLabel(var1[var4]); if (var2[var4] >= 0 && var2[var4] < this.target.columnDatatype.length) { int var5 = this.target.columnDatatype[var2[var4]]; this.odbcType[var4] = var5; this.pactualchooseFrom[var4] = var1[var4]; this.pactualchooseFrom[var4] = JDPUtils.sqlConvert(var1[var4], var5, this.targetDSN.dsnType); if (JDPUtils.isOdbcChar(var5)) { this.thisChoicePanel.textChoiceValue[var4][0] = "Begins with"; this.thisChoicePanel.textChoiceValue[var4][1] = "Contains"; this.thisChoicePanel.textChoiceValue[var4][2] = ""; this.thisChoicePanel.actualChoiceValue[var4][0] = "like"; this.thisChoicePanel.actualChoiceValue[var4][1] = "like"; this.thisChoicePanel.actualChoiceValue[var4][2] = ""; this.constantIsString[var4] = true; } else if (JDPUtils.isOdbcDate(var5)) { this.thisChoicePanel.textChoiceValue[var4][0] = "Equal to"; this.thisChoicePanel.textChoiceValue[var4][1] = "Greater than"; this.thisChoicePanel.textChoiceValue[var4][2] = "Less than"; this.thisChoicePanel.actualChoiceValue[var4][0] = "="; this.thisChoicePanel.actualChoiceValue[var4][1] = ">"; this.thisChoicePanel.actualChoiceValue[var4][2] = "<"; this.constantIsString[var4] = true; } else { this.thisChoicePanel.textChoiceValue[var4][0] = "Greater than"; this.thisChoicePanel.textChoiceValue[var4][1] = "Less than"; this.thisChoicePanel.textChoiceValue[var4][2] = "Equal to"; this.thisChoicePanel.actualChoiceValue[var4][0] = ">"; this.thisChoicePanel.actualChoiceValue[var4][1] = "<"; this.thisChoicePanel.actualChoiceValue[var4][2] = "="; this.constantIsString[var4] = false; } for(int var6 = 3; var6 < JDPChoiceLayout.maxChoices; ++var6) { this.thisChoicePanel.textChoiceValue[var4][var6] = ""; this.thisChoicePanel.actualChoiceValue[var4][var6] = ""; } this.constantLength[var4] = Integer.parseInt(this.target.columnLength[var2[var4]]) + 2; this.columns.addItem(var1[var4], 8); } } this.thisChoicePanel.loadTableList(); } } boolean restoreSelections() { JDPSaveProps var1 = super.user.saveProperties; if (super.user.prevProperties != null) { var1 = super.user.prevProperties; } String var2 = "JDPSearchLayout" + super.componentName; var1.restoreObject(this.columns, var2, "columns"); if (this.pchooseFrom == null) { this.pchooseFrom = new String[1]; } if (this.pactualchooseFrom == null) { this.pactualchooseFrom = new String[1]; } if (this.constantLength == null) { this.constantLength = new int[1]; } if (this.constantIsString == null) { this.constantIsString = new boolean[1]; } String[] var3 = (String[])var1.restoreObject(this.pchooseFrom, var2, "pchooseFrom"); String[] var4 = (String[])var1.restoreObject(this.pactualchooseFrom, var2, "pactualchooseFrom"); int[] var5 = (int[])var1.restoreObject(this.constantLength, var2, "constantLength"); boolean[] var6 = (boolean[])var1.restoreObject(this.constantIsString, var2, "constantIsString"); if (var3 != null) { if (this.pchooseFrom.length < var3.length) { this.pchooseFrom = new String[var3.length]; } if (this.pactualchooseFrom.length < var4.length) { this.pactualchooseFrom = new String[var4.length]; } if (this.constantLength.length < var5.length) { this.constantLength = new int[var5.length]; } if (this.constantIsString.length < var6.length) { this.constantIsString = new boolean[var6.length]; } for(int var7 = 0; var7 < var3.length; ++var7) { this.pchooseFrom[var7] = var3[var7]; this.pactualchooseFrom[var7] = var4[var7]; this.constantLength[var7] = var5[var7]; this.constantIsString[var7] = var6[var7]; } } this.pinitChoice = (String)var1.restoreObject(this.pinitChoice, var2, "pinitChoice"); this.thisChoicePanel.setComponentName(super.componentName); this.thisChoicePanel.restoreSelections(); return true; } void clearFields() { this.pchoosefrom.setText(""); this.useconstant.select("Yes"); this.pinitchoice.select("No"); this.pinitChoice = ""; this.thisChoicePanel.clearFields(); } void loadLayoutComponent() { this.pchooseFromindex = this.columns.getSelectedIndexes(); if (this.targetLayoutMgr != null && this.pchooseFromindex.length > 0) { Container var1 = null; if (super.thisBranch.thisObject instanceof Component) { var1 = ((Component)super.thisBranch.thisObject).getParent(); var1.remove((Component)super.thisBranch.thisObject); } JDPJagg var2 = new JDPJagg(super.user.jaggPath); var2.loadSettings(this.targetDSN); var2.setMRW("100"); JDPLoadChoice var3 = new JDPLoadChoice(super.user, var2, (Object)null, "", "", "", "", -1); this.pchooseFr = new String[this.pchooseFromindex.length]; this.pactualchooseFr = new String[this.pchooseFromindex.length]; this.constantL = new int[this.pchooseFromindex.length]; this.constantIS = new boolean[this.pchooseFromindex.length]; for(int var4 = 0; var4 < this.pchooseFr.length; ++var4) { this.pchooseFr[var4] = this.pchooseFrom[this.pchooseFromindex[var4]]; this.pactualchooseFr[var4] = this.pactualchooseFrom[this.pchooseFromindex[var4]]; this.constantL[var4] = this.constantLength[this.pchooseFromindex[var4]]; this.constantIS[var4] = this.constantIsString[this.pchooseFromindex[var4]]; } this.pmatchUsing = new Vector(); this.pactualmatchUsing = new Vector(); int var15 = 0; for(int var5 = 0; var5 < this.pchooseFromindex.length; ++var5) { if (!this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][0].equals("") || !this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][1].equals("")) { this.pmatchUsing.addElement(new Vector()); this.pactualmatchUsing.addElement(new Vector()); } if (this.thisChoicePanel.valuesFrom[this.pchooseFromindex[var5]].equals("Fields entered here")) { for(int var6 = 0; var6 < this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]].length; ++var6) { if (this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][var6] != null && !this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][var6].equals("")) { if (var15 == this.pmatchUsing.size()) { this.pmatchUsing.addElement(new Vector()); this.pactualmatchUsing.addElement(new Vector()); } ((Vector)this.pmatchUsing.elementAt(var15)).addElement(this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][var6]); ((Vector)this.pactualmatchUsing.elementAt(var15)).addElement(this.thisChoicePanel.actualChoiceValue[this.pchooseFromindex[var5]][var6]); } } } else { var3.loadChoice((Vector)this.pmatchUsing.elementAt(var15), this.thisChoicePanel.textChoiceSql[this.pchooseFromindex[var5]], this.thisChoicePanel.columnActualList[this.pchooseFromindex[var5]], this.thisChoicePanel.tableList[this.pchooseFromindex[var5]], this.thisChoicePanel.tableWhereClause[this.pchooseFromindex[var5]], (Vector)this.pactualmatchUsing.elementAt(var15), 12); } ++var15; } String var16 = ""; for(int var17 = 0; var17 < this.pactualchooseFr.length; ++var17) { var16 = var16 + this.pactualchooseFr[var17] + " "; } this.fromWhereClause = "FROM "; String var18 = null; String var7 = ""; for(int var8 = 0; var8 < this.targetTable.joinConditions.countItems(); ++var8) { if (this.targetTable.joinConditions.getItem(var8).indexOf("*=") > 0) { var18 = "left"; var7 = this.targetTable.joinConditions.getItem(var8); } if (this.targetTable.joinConditions.getItem(var8).indexOf("=*") > 0) { var18 = "right"; var7 = this.targetTable.joinConditions.getItem(var8); } } String var19 = ""; String var9 = ""; int[] var10 = this.targetTable.stables.getSelectedIndexes(); boolean var11 = true; var19 = var19 + this.targetTable.tables.getSelectedItem(); if (var10.length > 0) { var19 = var19 + " a"; } if (this.targetDSN.dsnType.compareTo(JDPJagg.MSSQLSERVER) == 0) { var19 = var19 + " (NOLOCK)"; } var11 = false; for(int var12 = 0; var12 < var10.length; ++var12) { if (var18 == null) { var9 = var9 + ","; } var9 = var9 + this.targetTable.stables.getItem(var10[var12]); var9 = var9 + " " + this.targetTable.stableAlias[var10[var12]]; if (this.targetDSN.dsnType.compareTo(JDPJagg.MSSQLSERVER) == 0) { var9 = var9 + " (NOLOCK)"; } var11 = false; } StringBuffer var24 = new StringBuffer(); if (var18 == null) { var24.append(var19); var24.append(var9); } else if (var18.equals("left")) { var24.append("{oj "); var24.append(var19); var24.append(" LEFT OUTER JOIN "); var24.append(var9); var24.append(" ON "); var24.append(super.user.u.replace(var7, "*", "")); var24.append("}"); } else if (var18.equals("right")) { var24.append("{oj "); var24.append(var9); var24.append(" LEFT OUTER JOIN "); var24.append(var19); var24.append(" ON "); var24.append(super.user.u.replace(var7, "*", "")); var24.append("}"); } String var10001 = this.fromWhereClause; this.fromWhereClause = var10001 + var24.toString(); var10001 = this.fromWhereClause; this.fromWhereClause = var10001 + " WHERE "; if (this.targetTable.joinConditions.countItems() != 0) { for(int var13 = 0; var13 < this.targetTable.joinConditions.countItems(); ++var13) { if (!this.targetTable.joinConditions.getItem(var13).equals(var7)) { String var14 = this.targetTable.joinConditions.getItem(var13); var14.substring(2).indexOf("."); var10001 = this.fromWhereClause; this.fromWhereClause = var10001 + var14 + " AND "; } } } var10001 = this.fromWhereClause; this.fromWhereClause = var10001 + "(1=1)"; super.thisBranch.thisObject = new JDPWhereClause(super.user, super.targetPanel, "", true, this.pinitChoice, this.pchooseFr, this.pactualchooseFr, this.pmatchUsing, this.pactualmatchUsing, (String[][])null, (String[][])null, this.constantL, this.constantIS, this.fromWhereClause); var1.add(super.thisBranch.compPosition, (Component)super.thisBranch.thisObject); if (!this.targetLayoutMgr.projectLoading) { this.targetLayoutMgr.gSource.constructMethod(super.thisBranch, "Main"); this.targetLayoutMgr.setButton("Layout"); this.targetLayoutMgr.reDraw(); } this.targetLayoutMgr.cMgr.updateProperties(0); } } boolean saveSelections() { JDPSaveProps var1 = super.user.saveProperties; String var2 = "JDPSearchLayout" + super.componentName; var1.saveObject(this.columns, var2, "columns"); var1.saveObject(this.pchooseFrom, var2, "pchooseFrom"); var1.saveObject(this.pactualchooseFrom, var2, "pactualchooseFrom"); var1.saveObject(this.pinitChoice, var2, "pinitChoice"); var1.saveObject(this.constantLength, var2, "constantLength"); var1.saveObject(this.constantIsString, var2, "constantIsString"); this.thisChoicePanel.setComponentName(super.componentName); this.thisChoicePanel.saveSelections(); return true; } void refresh() { this.clearFields(); this.currentSelection = -1; this.thisChoicePanel.currentSelection = -1; this.retrieveColumns(); this.loadList(); this.restoreSelections(); } void retrieveColumns() { for(int var1 = 0; var1 < super.user.gParm.size(); ++var1) { if (super.user.gParm.elementAt(var1) instanceof Vector) { Vector var2 = (Vector)super.user.gParm.elementAt(var1); if (((String)var2.elementAt(0)).compareTo("SelectDSN" + super.componentName) == 0) { this.targetDSN = (JDPSelectDSN)var2.elementAt(3); } if (((String)var2.elementAt(0)).compareTo("SelectTable" + super.componentName) == 0) { this.targetTable = (JDPSelectTable)var2.elementAt(1); } if (((String)var2.elementAt(0)).compareTo("SelectColumns" + super.componentName) == 0) { this.target = (JDPSelectColumns)var2.elementAt(1); } } if (super.user.gParm.elementAt(var1) instanceof JDPLayoutMgr && !super.componentName.equals("")) { this.targetLayoutMgr = (JDPLayoutMgr)super.user.gParm.elementAt(var1); } } this.thisChoicePanel.retrieveColumns(); } public boolean handleEvent(Event var1) { switch (var1.id) { case 401: if (var1.key == 9) { if (var1.target.equals(this.pchoosefrom)) { super.user.u.cursor(this.useconstant); return true; } if (var1.target.equals(this.useconstant)) { super.user.u.cursor(this.pinitchoice); return true; } if (var1.target.equals(this.pinitchoice)) { super.user.u.cursor(this.pchoosefrom); return true; } return true; } return false; case 503: case 504: case 505: this.popuppanel.postEvent(var1); return false; case 701: if (var1.target instanceof JDPList) { this.updateArrays(); int var4 = (Integer)var1.arg; this.loadItem(var4); this.currentSelection = var4; this.thisChoicePanel.currentSelection = var4; return true; } return false; case 1001: if (var1.target instanceof TextField) { return true; } else if (var1.target instanceof JDPComboBox) { if (var1.target.equals(this.thisChoicePanel.valuesfrom)) { if (this.thisChoicePanel.valuesfrom.getSelectedIndex() == 1) { this.constantLength[this.currentSelection] = 0; this.useconstant.select("No"); this.useconstant.disable(); } else { this.constantLength[this.currentSelection] = Integer.parseInt(this.target.columnLength[this.currentSelection]) + 2; this.useconstant.select("Yes"); this.useconstant.enable(); } return true; } else if (var1.target.equals(this.useconstant)) { if (this.useconstant.getSelectedItem().compareTo("No") == 0) { this.constantLength[this.currentSelection] = 0; } else { this.constantLength[this.currentSelection] = Integer.parseInt(this.target.columnLength[this.currentSelection]) + 2; } return true; } else if (var1.target.equals(this.pinitchoice)) { if (this.pinitchoice.getSelectedItem().compareTo("Yes") == 0) { this.pinitChoice = this.pchoosefrom.getText(); } else { this.pinitChoice = ""; } return true; } else { return false; } } else { if (var1.target instanceof Button) { String var2 = (String)var1.arg; if (var2.trim().compareTo("Accept") == 0) { this.updateArrays(); this.saveSelections(); super.user.mainmsg.setStatusMsg("Selections accepted.", 10); if (super.componentName.equals("")) { super.user.jdpMenuPanel.loadNextTab(); } else { this.tabPanel = JDPUtils.getTabPanel(this); if (this.tabPanel != null) { int var5 = this.tabPanel.getSelectedIndex(); this.tabPanel.loadNextTab(); if (var5 == this.tabPanel.getSelectedIndex()) { this.loadLayoutComponent(); } } } return true; } if (var2.trim().compareTo("Reset") == 0) { for(int var3 = 0; var3 < this.columns.countItems(); ++var3) { this.columns.deselect(var3); } return true; } } return true; } default: return false; } } boolean removeSelections() { JDPSaveProps var1 = super.user.saveProperties; String var2 = "JDPSearchLayout" + super.componentName; var1.removeObject(this.columns, var2, "columns"); var1.removeObject(this.pchooseFrom, var2, "pchooseFrom"); var1.removeObject(this.pactualchooseFrom, var2, "pactualchooseFrom"); var1.removeObject(this.pinitChoice, var2, "pinitChoice"); var1.removeObject(this.constantLength, var2, "constantLength"); var1.removeObject(this.constantIsString, var2, "constantIsString"); this.thisChoicePanel.setComponentName(super.componentName); this.thisChoicePanel.removeSelections(); return true; } void loadItem(int var1) { this.pchoosefrom.setText(this.pchooseFrom[var1]); if (this.constantLength[var1] > 0) { this.useconstant.select("Yes"); } else { this.useconstant.select("No"); } if (this.pinitChoice.compareTo(this.pchooseFrom[var1]) == 0) { this.pinitchoice.select("Yes"); } else { this.pinitchoice.select("No"); } this.thisChoicePanel.loadItem(var1); if (this.thisChoicePanel.valuesfrom.getSelectedIndex() == 1) { this.useconstant.select("No"); this.useconstant.disable(); this.constantLength[var1] = 0; } else { this.useconstant.enable(); } } public void InitClass(JDPUser var1, Panel var2, String var3) { super.user = var1; super.moduleName = "SearchLayout"; if (var3.startsWith("JDPLayoutMgr:")) { super.componentName = var3.substring(13); } ((Container)this).setLayout(new BorderLayout()); ((Component)this).setFont(var1.plainFont); this.popuppanel = new JDPPopupMessage(var1, var2); ((Container)var2).add(this.popuppanel); Panel var4 = new Panel(); ((Container)var4).setLayout(new BorderLayout()); Panel var5 = new Panel(); ((Container)var5).setLayout(new BorderLayout()); Panel var6 = new Panel(); ((Container)var6).setLayout(new BorderLayout()); JDPScrollPanel var7 = new JDPScrollPanel(); this.pchoosefrom = new TextField("", 15); this.useconstant = new JDPComboBox(var1, "", 5); this.useconstant.setEditable(false); this.useconstant.addItem("Yes"); this.useconstant.addItem("No"); this.pinitchoice = new JDPComboBox(var1, "", 5); this.pinitchoice.setEditable(false); this.pinitchoice.addItem("Yes"); this.pinitchoice.addItem("No"); ((Container)var7).add("Left", new JDPWrapLabel(var1, "Description in pulldown:")); ((Container)var7).add("Right", this.pchoosefrom); ((Container)var7).add("Left", new JDPWrapLabel(var1, "Constant entry required:")); ((Container)var7).add("Right", this.useconstant); ((Container)var7).add("Left", new JDPWrapLabel(var1, "Make this the initial choice:")); ((Container)var7).add("Right", this.pinitchoice); this.thisChoicePanel = new JDPChoiceLayout(); String var8 = var3; if (super.thisBranch.compType.startsWith("JDPWiz")) { var8 = var3 + ":SL1"; } this.thisChoicePanel.InitClass(var1, var2, var8); ((Container)var6).add("North", var7); ((Container)var6).add("Center", this.thisChoicePanel); String[] var9 = new String[]{"Accept", "Reset"}; int[] var10 = new int[]{5, 6}; JDPButtons var11 = new JDPButtons(var1, var9, var10, JDPButtons.HORIZONTAL); ((Container)var6).add("South", var11); this.popuppanel.addComponent(var11.button[0], "Accept Selections", "Accept selections and proceed to next screen"); this.popuppanel.addComponent(var11.button[1], "Reset Selections", "Reset selections back to default settings"); ((Container)var4).add("Center", var6); this.columns = new JDPList(var1); this.columns.setSelectionsCheckboxes(true); this.columns.allowMultipleSelections(true); this.columns.setMinWidth(160); Panel var12 = new Panel(); ((Container)var12).setLayout(new BorderLayout()); ((Container)var12).add("Center", this.columns); ((Container)var4).add("West", var12); Panel var13 = new Panel(); ((Container)var13).setLayout(new BorderLayout(1, 1)); ((Container)var13).add("West", new Label("Columns:", 0)); this.listCount = new Label("0 ", 0); Panel var14 = new Panel(); ((Container)var14).setLayout(new BorderLayout(1, 1)); ((Container)var14).add("West", this.listCount); ((Container)var14).add("Center", new Label(" ", 0)); ((Container)var13).add("Center", var14); ((Container)var12).add("North", var13); ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Select the columns by which you would like to search your database", var4, "North")); this.gParmObject = new Vector(); this.gParmObject.addElement(super.moduleName + super.componentName); this.gParmObject.addElement(this); var1.gParm.addElement(this.gParmObject); ((Component)var2).paintAll(((Component)var2).getGraphics()); } }