KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > webdocwf > util > loader > QueryRelationSet


1 /**
2     Copyright (C) 2002-2003 Together
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Lesser General Public
6     License as published by the Free Software Foundation; either
7     version 2.1 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12     Lesser General Public License for more details.
13
14     You should have received a copy of the GNU Lesser General Public
15     License along with this library; if not, write to the Free Software
16     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18  */

19
20 package org.webdocwf.util.loader;
21
22 import java.util.*;
23 import java.sql.*;
24
25 /**
26  * Class used while building relations in target tables
27  *
28  * @author Radoslav Dutina
29  * @version 1.1
30  */

31 public class QueryRelationSet {
32
33   private String JavaDoc strQueryRelations = "";
34   private Vector indexDummyRelationNull= new Vector();
35   private Vector indexDummyRelationOver= new Vector();
36   private Vector vecTempRelationSourceType=new Vector();
37   private String JavaDoc tableName=null;
38   private String JavaDoc tableID=null;
39
40   /**
41    * Construct object of QueryRelationSet class with an associated parameters.
42    * @param iRelationColumns defines number of relation column
43    * @param vecRelationColumnSourceTableName defines source table name for relations
44    * @param vecRelationColumnSourceTableID defines source table ID for relations
45    * @param vecVariableUseIDTableName defines variable ID name
46    * @param vecVariableUseIDTableID defines variable ID
47    * @param vecRelationColumnSourceColumnName defines cource column names for relations
48    * @param iTargetFirstColumnResult defines parameter of ResultSet object
49    * @param stmtTarget defines statement object for target table
50    * @param tableID is table ID
51    * @param vecRelationColumnTargetTableID defines target table ID for relations
52    * @param tableName is name of the current table
53    */

54   public QueryRelationSet(int iRelationColumns, Vector vecRelationColumnSourceTableName,
55                           Vector vecRelationColumnSourceTableID, Vector vecVariableUseIDTableName,
56                           Vector vecVariableUseIDTableID, Vector vecRelationColumnSourceColumnName,
57                           int iTargetFirstColumnResult, Statement stmtTarget, String JavaDoc tableID,
58                           Vector vecRelationColumnTargetTableID, String JavaDoc tableName) {
59
60     ResultSet rsetTarget;
61     this.tableName=tableName;
62     this.tableID=tableID;
63     for (int i = 0; i < iRelationColumns; i++) {
64       outLoop: if (vecRelationColumnSourceTableName.get(i).toString().equalsIgnoreCase(tableName)
65                    && vecRelationColumnSourceTableID.get(i).toString().equalsIgnoreCase(tableID)) {
66       for (int m = 0; m < vecVariableUseIDTableName.size(); m++) {
67         if (vecRelationColumnSourceTableName.get(i).toString().equalsIgnoreCase(vecVariableUseIDTableName.get(m).toString())
68             && vecRelationColumnSourceTableID.get(i).toString().equalsIgnoreCase(vecVariableUseIDTableID.get(m).toString())) {
69         String JavaDoc strQueryRelations = "select "
70                  + vecRelationColumnSourceColumnName.get(i).toString()
71                  + " from " + vecRelationColumnSourceTableName.get(i).toString();
72         try{
73           rsetTarget = stmtTarget.executeQuery(strQueryRelations);
74           rsetTarget.next();
75           if (iTargetFirstColumnResult ==1) {
76             this.vecTempRelationSourceType.add(rsetTarget.getMetaData().getColumnTypeName(1));
77           }else {
78             this.vecTempRelationSourceType.add(rsetTarget.getMetaData().getColumnTypeName(0));
79           }
80           rsetTarget.close();
81           break outLoop;
82         }catch(Exception JavaDoc e){
83           e.getMessage();
84         }
85       }
86       }
87       String JavaDoc strQueryRelations = "select " + vecRelationColumnSourceColumnName.get(i).toString()
88                                + " from " + vecRelationColumnSourceTableName.get(i).toString();
89       try{
90         rsetTarget = stmtTarget.executeQuery(strQueryRelations);
91         rsetTarget.next();
92         if (iTargetFirstColumnResult == 1) {
93           vecTempRelationSourceType.add(rsetTarget.getMetaData().getColumnTypeName(1));
94         }
95         else {
96           vecTempRelationSourceType.add(rsetTarget.getMetaData().getColumnTypeName(0));
97           rsetTarget.next();
98         }
99       }catch(Exception JavaDoc e){
100         e.getMessage();
101       }
102     }
103     }
104   }
105
106   /**
107    * This method read value of vecTempRelationSourceType parameter
108    * @return value of parameter
109    */

110   public Vector getRelationSourceType(){
111     return vecTempRelationSourceType;
112   }
113
114
115   /**
116    * This method read value of strQueryRelations parameter
117    * @return value of parameter
118    */

119   public String JavaDoc getQueryRelations(){
120     return strQueryRelations;
121   }
122
123   /**
124    * This method read value of indexDummyRelationNull parameter
125    * @return value of parameter
126    */

127   public Vector getIndexDummyRelationNull(){
128     return indexDummyRelationNull;
129   }
130
131   /**
132    * This method read value of indexDummyRelationOver parameter
133    * @return value of parameter
134    */

135   public Vector getIndexDummyRelationOver(){
136     return indexDummyRelationOver;
137   }
138
139 }
Popular Tags