001: package allinone;
002:
003: import com.lutris.appserver.server.sql.*;
004: import com.lutris.util.*;
005: import org.enhydra.dods.*;
006: import java.sql.SQLException;
007:
008: import javax.swing.*;
009: import java.util.*;
010: import java.awt.*;
011: import java.awt.event.*;
012: import java.net.*;
013: import java.io.*;
014: import org.apache.log4j.Logger;
015: import org.apache.log4j.xml.DOMConfigurator;
016: import com.lutris.appserver.server.sql.*;
017: import allinone.data.tableA.*;
018: import allinone.data.tableB.*;
019: import allinone.data.tableC.*;
020:
021: public class CircusMultiReference {
022: void showTables(DBTransaction dbTrans) {
023: try {
024: CRTableAQuery queryA = new CRTableAQuery(dbTrans);
025: CRTableADO[] allADO = queryA.getDOArray();
026: System.err.println();
027: System.err
028: .println("-------------TableA-----begin----------");
029: if (allADO != null) {
030: if (allADO.length > 0)
031: System.err
032: .println("------oid---------someData--------refToB--------");
033: for (int i = 0; i < allADO.length; i++) {
034: System.err.print(" " + allADO[i].getHandle());
035: System.err.print(" " + allADO[i].getSomedata());
036: if (null != allADO[i].getReftob()) {
037: System.err.print(" "
038: + allADO[i].getReftob().getOId());
039: System.err.print(" "
040: + allADO[i].getReftob().getSomedata());
041: System.err.print(" "
042: + allADO[i].getReftob().getReftoc());
043: }
044: System.err.println();
045: }
046: } else {
047: System.err.println("noData");
048: }
049: System.err
050: .println("-------------TableA-----end------------");
051:
052: CRTableBQuery queryB = new CRTableBQuery(dbTrans);
053: CRTableBDO[] allBDO = queryB.getDOArray();
054: System.err.println();
055: System.err
056: .println("-------------TableB-----begin----------");
057: if (allBDO != null) {
058: if (allBDO.length > 0)
059: System.err
060: .println("------oid---------someData--------refToC-----");
061: for (int i = 0; i < allBDO.length; i++) {
062: System.err.print(" " + allBDO[i].getHandle());
063: System.err.print(" " + allBDO[i].getSomedata());
064: if (null != allBDO[i].getReftoc()) {
065: System.err.print(" "
066: + allBDO[i].getReftoc().getOId());
067: System.err.print(" "
068: + allBDO[i].getReftoc().getSomedata());
069: }
070: System.err.println();
071: }
072: } else {
073: System.err.println("noData");
074: }
075: System.err
076: .println("-------------TableB-----end------------");
077:
078: CRTableCQuery queryC = new CRTableCQuery(dbTrans);
079: CRTableCDO[] allCDO = queryC.getDOArray();
080: System.err.println();
081: System.err
082: .println("-------------TableC-----begin----------");
083: if (allCDO != null) {
084: if (allCDO.length > 0)
085: System.err
086: .println("------oid---------someData--------refToA-----");
087: for (int i = 0; i < allCDO.length; i++) {
088: System.err.print(" " + allCDO[i].getHandle());
089: System.err.print(" " + allCDO[i].getSomedata());
090: if (null != allCDO[i].getReftoa()) {
091: System.err.print(" "
092: + allCDO[i].getReftoa().getOId());
093: System.err.print(" "
094: + allCDO[i].getReftoa().getSomedata());
095: }
096: System.err.println();
097: }
098: } else {
099: System.err.println("noData");
100: }
101: System.err
102: .println("-------------TableC-----end------------");
103: } catch (Exception e) {
104: e.printStackTrace();
105: }
106: }
107:
108: public void runTest(DBTransaction dbTrans1) {
109: int maxDOs = 9;
110: try {
111: System.err
112: .println("___ - + * startin CircMultRef * + - ___");
113: showTables(dbTrans1);
114:
115: CRTableADO[] arrayOfA = new CRTableADO[maxDOs];
116: CRTableBDO[] arrayOfB = new CRTableBDO[maxDOs];
117: CRTableCDO[] arrayOfC = new CRTableCDO[maxDOs];
118:
119: for (int i = 0; i < maxDOs; i++) {
120: arrayOfA[i] = CRTableADO.createVirgin(dbTrans1);
121: arrayOfB[i] = CRTableBDO.createVirgin(dbTrans1);
122: arrayOfC[i] = CRTableCDO.createVirgin(dbTrans1);
123:
124: arrayOfC[i].setSomedata("tableC: " + i);
125: arrayOfC[i].save();
126:
127: if (null != dbTrans1)
128: dbTrans1.write();
129:
130: arrayOfB[i].setSomedata("tableB: " + i);
131: arrayOfB[i].setReftoc(arrayOfC[i]);
132: arrayOfB[i].save();
133:
134: arrayOfA[i].setSomedata("tableA: " + i);
135: arrayOfA[i].setReftob(arrayOfB[i]);
136: arrayOfA[i].save();
137:
138: if (null != dbTrans1)
139: dbTrans1.write();
140:
141: arrayOfC[i].setReftoa(arrayOfA[i]);
142: arrayOfC[i].save();
143: }
144: if (null != dbTrans1)
145: dbTrans1.commit();
146: System.err.println("after insert");
147: showTables(dbTrans1);
148: //if (null != dbTrans1)
149: // dbTrans1.commit();
150:
151: System.err.println("signed, sealed and commited!!!");
152: showTables(dbTrans1);
153:
154: /**/
155: for (int i = 0; i < maxDOs; i++) {
156: arrayOfC[i].setReftoa(null);
157: arrayOfC[i].save();
158: } /**/
159: //if (null != dbTrans1)
160: // dbTrans1.commit();
161:
162: /**/
163: for (int i = 0; i < maxDOs; i++) {
164: arrayOfC[i].delete();
165: } /**/
166: if (null != dbTrans1)
167: dbTrans1.commit();
168:
169: System.err.println("signed, sealed and commited!!!");
170: showTables(dbTrans1);
171: } catch (Exception ex) {
172: System.err.println(ex.toString());
173: ex.printStackTrace();
174: }
175: }
176: }
|