home *** CD-ROM | disk | FTP | other *** search
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Panel;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class JDPChartLayout extends JDPClassLayout {
- JDPChart chartPanel;
- // $FF: renamed from: p JDPChartParms
- JDPChartParms field_0;
- JDPSelectDSN targetDSN;
- JDPSelectTable targetTable;
- JDPSelectChartDef selectChartDef;
- String prevSQL = "";
- JDPTabSelectPanel tabPanel;
-
- void loadLayoutComponent() {
- this.refresh();
- }
-
- void loadChart() {
- if (this.selectChartDef != null && this.selectChartDef.fieldActive != null) {
- int var1 = 0;
-
- for(int var2 = 0; var2 < this.selectChartDef.fieldActive.length; ++var2) {
- if (this.selectChartDef.fieldActive[var2]) {
- ++var1;
- }
- }
-
- if (var1 == 0) {
- var1 = 1;
- }
-
- byte var5 = 4;
- this.field_0.chartType = this.selectChartDef.chartType.getSelectedIndex() + 1;
- this.field_0.chartTitle = this.selectChartDef.chartTitle.getText();
- this.field_0.chartTitleFont = super.user.boldFont.getName();
- this.field_0.chartTitleColor = super.user.u._cvtcolor(this.selectChartDef.chartTitleColor.getSelectedItem());
- this.field_0.xaxisTitle = this.selectChartDef.xaxisTitle.getText();
- this.field_0.xaxisTitleFont = super.user.boldFont.getName();
- this.field_0.xaxisTitleColor = super.user.u._cvtcolor(this.selectChartDef.xaxisTitleColor.getSelectedItem());
- this.field_0.yaxisLabel = new String[10];
- this.field_0.piechartData = new float[var5];
- this.field_0.elementColor = new Color[var1];
- this.field_0.elementBorderColor = new Color[var1];
- this.field_0.elementLegend = new String[var1];
- this.field_0.elementLegendFont = super.user.boldFont.getName();
- this.field_0.gridLineSetting = 0;
- if (this.selectChartDef.gridLineSettingH.getSelectedItem().equals("Yes")) {
- JDPChartParms var10000 = this.field_0;
- var10000.gridLineSetting += JDPChart.HORIZONTAL;
- }
-
- if (this.selectChartDef.gridLineSettingV.getSelectedItem().equals("Yes")) {
- JDPChartParms var6 = this.field_0;
- var6.gridLineSetting += JDPChart.VERTICAL;
- }
-
- if (this.selectChartDef.gridLineSettingF.getSelectedItem().equals("Yes")) {
- JDPChartParms var7 = this.field_0;
- var7.gridLineSetting += JDPChart.FOREGROUND;
- }
-
- if (this.selectChartDef.gridLineSettingB.getSelectedItem().equals("Yes")) {
- JDPChartParms var8 = this.field_0;
- var8.gridLineSetting += JDPChart.BACKGROUND;
- }
-
- this.field_0.gridColor = super.user.u._cvtcolor(this.selectChartDef.gridColor.getSelectedItem());
- this.field_0.xaxisLabelColor = super.user.u._cvtcolor(this.selectChartDef.xaxisLabelColor.getSelectedItem());
- this.field_0.yaxisLabelColor = super.user.u._cvtcolor(this.selectChartDef.yaxisLabelColor.getSelectedItem());
- this.field_0.chartFrameColor = super.user.u._cvtcolor(this.selectChartDef.chartFrameColor.getSelectedItem());
- this.field_0.autoscale = this.selectChartDef.autoscale.getSelectedItem().equals("Yes");
- this.field_0.autozoom = this.selectChartDef.autozoom.getSelectedItem().equals("Yes");
- this.field_0.maxPlotValue = Float.valueOf(this.selectChartDef.maxPlotValue.getText());
- this.field_0.minPlotValue = Float.valueOf(this.selectChartDef.minPlotValue.getText());
- int var3 = 0;
-
- for(int var4 = 0; var4 < this.selectChartDef.fieldActive.length; ++var4) {
- if (this.selectChartDef.fieldActive[var4]) {
- this.field_0.elementLegend[var3] = this.selectChartDef.elementLegend[var4];
- this.field_0.elementColor[var3] = this.selectChartDef.elementColor[var4];
- this.field_0.elementBorderColor[var3] = this.selectChartDef.elementBorderColor[var4];
- ++var3;
- }
- }
-
- this.field_0.pieLabel = this.field_0.elementLegend;
- this.field_0.pieLabelColor = this.field_0.xaxisTitleColor;
- this.loadData();
- }
- }
-
- void loadData() {
- int var2 = 0;
- Vector var3 = new Vector();
- String var4 = super.user.jaggSQL.getSEP();
- int var5 = 0;
- if (this.targetTable != null && this.targetDSN.datasource.getText().compareTo("") != 0) {
- if (this.targetTable.tables.getSelectedIndex() < 0) {
- if (super.componentName.equals("")) {
- super.user.mainmsg.setStatusMsg("You must first select a Table.", 5);
- }
-
- } else {
- String var7 = "SELECT ";
- int var8 = this.selectChartDef.groupBy.getSelectedItems().length;
- if (var8 > 0) {
- var7 = var7 + this.selectChartDef.groupBySQL.getText();
- if (this.targetDSN.dsnType.indexOf(JDPJagg.ANYWHERE) >= 0 || this.targetDSN.dsnType.indexOf(JDPJagg.SOLIDSERVER) >= 0 || this.targetDSN.dsnType.indexOf(JDPJagg.RDB) >= 0) {
- var7 = var7 + " gb";
- }
-
- if (this.targetDSN.dsnType.indexOf(JDPJagg.VFOXPRO) >= 0 || this.targetDSN.dsnType.indexOf(JDPJagg.ORACLE) >= 0 || this.targetDSN.dsnType.indexOf(JDPJagg.POLITE) >= 0 || this.targetDSN.dsnType.indexOf(JDPJagg.INFORMIX) >= 0 || this.targetDSN.dsnType.indexOf(JDPJagg.CLOUDSCAPE) >= 0) {
- var7 = var7 + " as gb";
- }
- }
-
- int var9 = this.selectChartDef.multipleSeries.getSelectedItems().length;
- if (var9 > 0) {
- if (var7.length() > 7) {
- var7 = var7 + ",";
- }
-
- var7 = var7 + this.selectChartDef.multipleSeriesSQL.getText();
- }
-
- boolean var10 = true;
-
- for(int var11 = 0; var11 < this.selectChartDef.columns.countItems(); ++var11) {
- if (this.selectChartDef.fieldActive[var11]) {
- var10 = false;
- if (var7.length() > 8) {
- var7 = var7 + ",";
- }
-
- if (this.selectChartDef.aggregateFunction[var11].equals("Sum")) {
- var7 = var7 + "SUM(" + this.selectChartDef.fieldSql[var11] + ")";
- } else if (this.selectChartDef.aggregateFunction[var11].equals("Average")) {
- var7 = var7 + "AVG(" + this.selectChartDef.fieldSql[var11] + ")";
- } else {
- var7 = var7 + this.selectChartDef.fieldSql[var11];
- }
- }
- }
-
- if (var7.length() != 7) {
- if (var10) {
- var7 = var7 + ",COUNT(*)";
- var10 = false;
- }
-
- var7 = var7 + " FROM ";
- String var36 = null;
- String var12 = "";
-
- for(int var13 = 0; var13 < this.targetTable.joinConditions.countItems(); ++var13) {
- if (this.targetTable.joinConditions.getItem(var13).indexOf("*=") > 0) {
- var36 = "left";
- var12 = this.targetTable.joinConditions.getItem(var13);
- }
-
- if (this.targetTable.joinConditions.getItem(var13).indexOf("=*") > 0) {
- var36 = "right";
- var12 = this.targetTable.joinConditions.getItem(var13);
- }
- }
-
- String var37 = "";
- String var14 = "";
- int[] var15 = this.targetTable.stables.getSelectedIndexes();
- var37 = this.targetTable.tables.getSelectedItem();
- if (var15.length > 0) {
- var37 = var37 + " a";
- }
-
- if (this.targetDSN.dsnType.equals(JDPJagg.MSSQLSERVER)) {
- var37 = var37 + " (NOLOCK)";
- }
-
- for(int var16 = 0; var16 < var15.length; ++var16) {
- if (var36 == null) {
- var14 = var14 + ",";
- }
-
- var14 = var14 + this.targetTable.stables.getItem(var15[var16]);
- var14 = var14 + " " + this.targetTable.stableAlias[var15[var16]];
- if (this.targetDSN.dsnType.equals(JDPJagg.MSSQLSERVER)) {
- var14 = var14 + " (NOLOCK)";
- }
- }
-
- StringBuffer var40 = new StringBuffer();
- if (var36 == null) {
- var40.append(var37);
- var40.append(var14);
- } else if (var36.equals("left")) {
- var40.append("{oj ");
- var40.append(var37);
- var40.append(" LEFT OUTER JOIN ");
- var40.append(var14);
- var40.append(" ON ");
- var40.append(super.user.u.replace(var12, "*", ""));
- var40.append("}");
- } else if (var36.equals("right")) {
- var40.append("{oj ");
- var40.append(var14);
- var40.append(" LEFT OUTER JOIN ");
- var40.append(var37);
- var40.append(" ON ");
- var40.append(super.user.u.replace(var12, "*", ""));
- var40.append("}");
- }
-
- var7 = var7 + var40.toString();
- String var17 = "";
- var10 = true;
- if (this.targetTable.joinConditions.countItems() > 0) {
- for(int var18 = 0; var18 < this.targetTable.joinConditions.countItems(); ++var18) {
- if (!this.targetTable.joinConditions.getItem(var18).equals(var12)) {
- if (var10) {
- var17 = var17 + " WHERE ";
- } else {
- var17 = var17 + " AND ";
- }
-
- var17 = var17 + this.targetTable.joinConditions.getItem(var18);
- var10 = false;
- }
- }
- }
-
- if (!this.selectChartDef.pfromwhereclause.getText().equals("(1=1)")) {
- if (var10) {
- var17 = var17 + " WHERE ";
- } else {
- var17 = var17 + " AND ";
- }
-
- var17 = var17 + this.selectChartDef.pfromwhereclause.getText();
- }
-
- var7 = var7 + var17;
- if (!this.selectChartDef.chartType.getSelectedItem().equals("Gantt")) {
- String var43 = "";
-
- for(int var19 = 0; var19 < var8; ++var19) {
- if (var19 == 0) {
- var43 = var43 + " GROUP BY ";
- }
-
- if (var19 > 0) {
- var43 = var43 + ",";
- }
-
- if (this.targetDSN.dsnType.indexOf(JDPJagg.ANYWHERE) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.SOLIDSERVER) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.VFOXPRO) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.ORACLE) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.POLITE) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.RDB) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.INFORMIX) < 0 && this.targetDSN.dsnType.indexOf(JDPJagg.CLOUDSCAPE) < 0) {
- var43 = var43 + this.selectChartDef.groupBySQL.getText();
- } else {
- var43 = var43 + "gb";
- }
- }
-
- for(int var48 = 0; var48 < var9; ++var48) {
- if (var43.equals("")) {
- var43 = var43 + " GROUP BY ";
- } else {
- var43 = var43 + ",";
- }
-
- var43 = var43 + this.selectChartDef.multipleSeriesSQL.getText();
- }
-
- var7 = var7 + var43;
- }
-
- if (this.selectChartDef.chartType.getSelectedItem().equals("Pie")) {
- String var45 = " ORDER BY ";
-
- for(int var49 = 0; var49 < this.selectChartDef.columns.countItems(); ++var49) {
- if (this.selectChartDef.fieldActive[var49]) {
- if (this.selectChartDef.aggregateFunction[var49].equals("Sum")) {
- var45 = var45 + "SUM(" + this.selectChartDef.fieldSql[var49] + ")";
- } else if (this.selectChartDef.aggregateFunction[var49].equals("Average")) {
- var45 = var45 + "AVG(" + this.selectChartDef.fieldSql[var49] + ")";
- } else {
- var45 = var45 + this.selectChartDef.fieldSql[var49];
- }
-
- var7 = var7 + var45 + " DESC";
- break;
- }
- }
- }
-
- this.prevSQL = var7;
- super.user.mainmsg.setStatusMsg("Accessing database...", 0);
- JDPJagg var47 = new JDPJagg(super.user.jaggPath);
- var47.setDSN(this.targetDSN.datasource.getText());
- var47.setCSTR(this.targetDSN.connectstring.getText());
- var47.loadSettings(this.targetTable.targetDSN);
- var47.setMRW(this.selectChartDef.maxRows.getText());
- var2 = var47.execSQL(var7, var3);
- if (var2 == -1) {
- super.user.u.setSqlMessage(var47, var7);
- } else {
- int var50 = var47.getColumnCount();
- var5 = var47.getRowCount();
- if (var9 <= 0) {
- this.field_0.chartData = new float[var50 - var8][var5];
- this.field_0.xaxisLabel = new String[var5];
- this.field_0.piechartData = new float[var5];
- this.field_0.pieSplitSegment = new boolean[var5];
- this.field_0.pieLabel = new String[var5];
- if (this.field_0.chartType == JDPChart.PIE || this.field_0.chartType == JDPChart.GANTT) {
- this.field_0.elementColor = new Color[var5];
- this.field_0.elementBorderColor = new Color[var5];
- this.field_0.elementLegend = new String[var5];
- }
-
- for(int var20 = 0; var20 < var5; ++var20) {
- String var6 = (String)var3.elementAt(var20);
- StringTokenizer var1 = new StringTokenizer(var6);
- this.field_0.xaxisLabel[var20] = "";
- if (var8 > 0) {
- this.field_0.xaxisLabel[var20] = var1.nextToken(var4).trim();
- }
-
- for(int var21 = 0; var21 < var50 - var8; ++var21) {
- if (this.field_0.chartType == JDPChart.GANTT) {
- long var22 = Long.valueOf(var1.nextToken(var4)) / 86400000L;
- this.field_0.chartData[var21][var20] = (float)var22;
- } else {
- this.field_0.chartData[var21][var20] = Float.valueOf(var1.nextToken(var4).trim());
- }
- }
-
- this.field_0.pieLabel[var20] = this.field_0.xaxisLabel[var20];
- this.field_0.piechartData[var20] = this.field_0.chartData[0][var20];
- if (this.field_0.chartType == JDPChart.PIE || this.field_0.chartType == JDPChart.GANTT) {
- this.field_0.elementColor[var20] = super.user.u._cvtcolor(this.selectChartDef.elementcolor.getItem(var20 % 12));
- this.field_0.elementBorderColor[var20] = Color.black;
- this.field_0.elementLegend[var20] = this.field_0.pieLabel[var20];
- }
- }
- } else {
- float[][] var51 = new float[1000][var5];
- this.field_0.xaxisLabel = new String[var5];
- Vector var52 = new Vector();
- if (var8 == 0) {
- var52.addElement("");
- }
-
- Vector var53 = new Vector();
-
- for(int var23 = 0; var23 < var5; ++var23) {
- String var30 = (String)var3.elementAt(var23);
- StringTokenizer var27 = new StringTokenizer(var30);
- this.field_0.xaxisLabel[var23] = "";
- int var24 = 0;
- if (var8 > 0) {
- String var25 = var27.nextToken(var4).trim();
- var24 = var52.indexOf(var25);
- if (var24 < 0) {
- var52.addElement(var25);
- var24 = var52.indexOf(var25);
- this.field_0.xaxisLabel[var24] = var25;
- }
- }
-
- String var57 = var27.nextToken(var4).trim();
- int var26 = var53.indexOf(var57);
- if (var26 < 0) {
- var53.addElement(var57);
- var26 = var53.indexOf(var57);
- }
-
- var51[var26][var24] = Float.valueOf(var27.nextToken(var4).trim());
- }
-
- int var54 = var53.size();
- this.field_0.chartData = new float[var54][var52.size()];
-
- for(int var55 = 0; var55 < var54; ++var55) {
- for(int var58 = 0; var58 < var52.size(); ++var58) {
- this.field_0.chartData[var55][var58] = var51[var55][var58];
- }
- }
-
- this.field_0.elementColor = new Color[var54];
- this.field_0.elementBorderColor = new Color[var54];
- this.field_0.elementLegend = new String[var54];
-
- for(int var56 = 0; var56 < var54; ++var56) {
- this.field_0.elementColor[var56] = super.user.u._cvtcolor(this.selectChartDef.elementcolor.getItem(var56 % 12));
- this.field_0.elementBorderColor[var56] = Color.black;
- this.field_0.elementLegend[var56] = (String)var53.elementAt(var56);
- }
- }
-
- super.user.mainmsg.clearStatusMsg();
- }
- }
- }
- } else {
- if (super.componentName.equals("")) {
- super.user.mainmsg.setStatusMsg("You must first select a Data Source.", 5);
- }
-
- }
- }
-
- void refresh() {
- this.retrieveColumns();
- this.loadChart();
- this.chartPanel.calculateScaling();
- this.chartPanel.repaint();
- }
-
- 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("SelectChartDef" + super.componentName) == 0) {
- this.selectChartDef = (JDPSelectChartDef)var2.elementAt(1);
- }
- }
- }
-
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 1001:
- return false;
- default:
- return false;
- }
- }
-
- public void InitClass(JDPUser var1, Panel var2, String var3) {
- super.user = var1;
- if (var3.startsWith("JDPLayoutMgr:")) {
- super.componentName = var3.substring(13);
- if (super.componentName.endsWith("CL1")) {
- super.componentName = super.componentName.substring(0, super.componentName.length() - 3);
- }
-
- var3 = "";
- }
-
- ((Container)this).setLayout(new BorderLayout());
- ((Component)this).setFont(var1.plainFont);
- Panel var4 = new Panel();
- ((Container)var4).setLayout(new BorderLayout());
- this.field_0 = new JDPChartParms();
- this.retrieveColumns();
- if (super.componentName.equals("")) {
- this.loadChart();
- }
-
- this.chartPanel = new JDPChart(var1, this.field_0);
- ((Container)var4).add("Center", this.chartPanel);
- if (super.componentName.equals("")) {
- ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Preview the Chart Layout", var4, "North"));
- } else {
- ((Container)this).add("Center", var4);
- }
-
- Vector var5 = new Vector();
- var5.addElement("ChartLayout" + super.componentName);
- var5.addElement(this);
- var1.gParm.addElement(var5);
- this.refresh();
- ((Component)var2).paintAll(((Component)var2).getGraphics());
- }
- }
-