001: /*
002: * This file is part of the GeOxygene project source files.
003: *
004: * GeOxygene aims at providing an open framework which implements OGC/ISO specifications for
005: * the development and deployment of geographic (GIS) applications. It is a open source
006: * contribution of the COGIT laboratory at the Institut Géographique National (the French
007: * National Mapping Agency).
008: *
009: * See: http://oxygene-project.sourceforge.net
010: *
011: * Copyright (C) 2005 Institut Géographique National
012: *
013: * This library is free software; you can redistribute it and/or modify it under the terms
014: * of the GNU Lesser General Public License as published by the Free Software Foundation;
015: * either version 2.1 of the License, or any later version.
016: *
017: * This library is distributed in the hope that it will be useful, but WITHOUT ANY
018: * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
019: * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
020: *
021: * You should have received a copy of the GNU Lesser General Public License along with
022: * this library (see file LICENSE if present); if not, write to the Free Software
023: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024: *
025: */
026:
027: package fr.ign.cogit.geoxygene.example.relations;
028:
029: import java.util.ArrayList;
030: import java.util.Iterator;
031: import java.util.List;
032:
033: /** Test des relations MONODIRECTIONNELLES entre les classes AAA et BBB.
034: * Ce test ne teste que le fonctionnement en Java, sans tester la persistance.
035: * Essayer aussi le test "TestRelationsMonoPersistantes" :
036: * c'est le meme, avec les fonctions d'ecriture dans le SGBD.
037: *
038: * @author Thierry Badard, Arnaud Braun & Sébastien Mustière
039: * @version 1.0
040: *
041: */
042:
043: public class TestRelationsMonoNonPersistantes {
044:
045: public static void main(String args[]) {
046: System.out.println("DEBUT DES TESTS");
047: test_mono11();
048: test_mono1N();
049: test_monoNN();
050: }
051:
052: /** Teste la relation 1-1 mono-directionnelle */
053: public static void test_mono11() {
054: System.out.println("Creation des objets AAA, BBB");
055: AAA a1 = new AAA();
056: a1.setNom("a1");
057: AAA a2 = new AAA();
058: a2.setNom("a2");
059: AAA a3 = new AAA();
060: a3.setNom("a3");
061: BBB b1 = new BBB();
062: b1.setNom("b1");
063: BBB b2 = new BBB();
064: b2.setNom("b2");
065: BBB b3 = new BBB();
066: b3.setNom("b3");
067:
068: System.out.println("");
069: System.out.println("TEST RELATION 1-1 MONODIRECTIONNELLE");
070: System.out.println("objet BBB en relation avec a1 (null) : "
071: + a1.getObjetBBB_mono11());
072: System.out.println("objet BBB en relation avec a2 (null) : "
073: + a2.getObjetBBB_mono11());
074: System.out.println("--");
075: System.out.println("instanciation sur a1 de a1 R b1 ");
076: a1.setObjetBBB_mono11(b1);
077: System.out.println("objet BBB en relation avec a1 (b1) : "
078: + a1.getObjetBBB_mono11().getNom());
079: System.out.println("objet BBB en relation avec a2 (null) : "
080: + a2.getObjetBBB_mono11());
081: System.out.println("--");
082: System.out.println("instanciation sur a1 de a1 R b2 ");
083: a1.setObjetBBB_mono11(b2);
084: System.out.println("objet BBB en relation avec a1 (b2) : "
085: + a1.getObjetBBB_mono11().getNom());
086: System.out.println("objet BBB en relation avec a2 (null) : "
087: + a2.getObjetBBB_mono11());
088: System.out.println("--");
089: System.out
090: .println("instanciation sur a1 de a1 R b2 (2eme fois)");
091: a1.setObjetBBB_mono11(b2);
092: System.out.println("objet BBB en relation avec a1 (b2) : "
093: + a1.getObjetBBB_mono11().getNom());
094: System.out.println("objet BBB en relation avec a2 (null) : "
095: + a2.getObjetBBB_mono11());
096: System.out.println("--");
097: System.out.println("vidage des relations sur b1");
098: a1.setObjetBBB_mono11(null);
099: System.out.println("objet BBB en relation avec a1 (null) : "
100: + a1.getObjetBBB_mono11());
101: System.out.println("objet BBB en relation avec a2 (null) : "
102: + a2.getObjetBBB_mono11());
103:
104: }
105:
106: /** Teste la relation 1-n mono-directionnelle */
107: public static void test_mono1N() {
108: System.out.println("Creation des objets AAA, BBB");
109: AAA a1 = new AAA();
110: a1.setNom("a1");
111: AAA a2 = new AAA();
112: a2.setNom("a2");
113: AAA a3 = new AAA();
114: a3.setNom("a3");
115: BBB b1 = new BBB();
116: b1.setNom("b1");
117: BBB b2 = new BBB();
118: b2.setNom("b2");
119: BBB b3 = new BBB();
120: b3.setNom("b3");
121: List L;
122:
123: System.out.println("");
124: System.out.println("TEST RELATION 1-N MONODIRECTIONNELLE");
125: System.out.println("objet BBB en relation avec a1 (vide) : ");
126: affiche(a1.getListe_objetsBBB_mono1N());
127: System.out.println("objet BBB en relation avec a2 (vide) : ");
128: affiche(a2.getListe_objetsBBB_mono1N());
129: System.out.println("objet BBB en relation avec a3 (vide) : ");
130: affiche(a3.getListe_objetsBBB_mono1N());
131:
132: System.out.println("--");
133: System.out
134: .println("ajout sur a1, de b1 aux objets en relation avec a1");
135: System.out
136: .println("set sur a2, de liste 'b2, b3' comme objets en relation avec a2");
137: a1.addObjetBBB_mono1N(b1);
138: L = new ArrayList();
139: L.add(b2);
140: L.add(b3);
141: a2.setListe_objetsBBB_mono1N(L);
142: System.out.println("objet BBB en relation avec a1 (b1) : ");
143: affiche(a1.getListe_objetsBBB_mono1N());
144: System.out.println("objet BBB en relation avec a2 (b2, b3) : ");
145: affiche(a2.getListe_objetsBBB_mono1N());
146: System.out.println("objet BBB en relation avec a3 (vide) : ");
147: affiche(a3.getListe_objetsBBB_mono1N());
148:
149: System.out.println("--");
150: System.out.println("vidage sur a1 des objets en relation");
151: a1.emptyListe_objetsBBB_mono1N();
152: System.out.println("objet BBB en relation avec a1 (vide) : ");
153: affiche(a1.getListe_objetsBBB_mono1N());
154: System.out.println("objet BBB en relation avec a2 (b2,b3) : ");
155: affiche(a2.getListe_objetsBBB_mono1N());
156: System.out.println("objet BBB en relation avec a3 (vide) : ");
157: affiche(a3.getListe_objetsBBB_mono1N());
158:
159: System.out.println("--");
160: System.out
161: .println("set sur a2, de liste 'b1, b3' comme objets en relation avec a2");
162: L = new ArrayList();
163: L.add(b1);
164: L.add(b3);
165: a2.setListe_objetsBBB_mono1N(L);
166: System.out.println("objet BBB en relation avec a1 (vide) : ");
167: affiche(a1.getListe_objetsBBB_mono1N());
168: System.out.println("objet BBB en relation avec a2 (b1, b3) : ");
169: affiche(a2.getListe_objetsBBB_mono1N());
170: System.out.println("objet BBB en relation avec a3 (vide) : ");
171: affiche(a3.getListe_objetsBBB_mono1N());
172:
173: System.out.println("--");
174: System.out
175: .println("ajout sur a2, de liste b2 comme objets en relation avec a2");
176: a2.addObjetBBB_mono1N(b2);
177: System.out.println("objet BBB en relation avec a1 (vide) : ");
178: affiche(a1.getListe_objetsBBB_mono1N());
179: System.out
180: .println("objet BBB en relation avec a2 (b1, b3, b2) : ");
181: affiche(a2.getListe_objetsBBB_mono1N());
182: System.out.println("objet BBB en relation avec a3 (vide) : ");
183: affiche(a3.getListe_objetsBBB_mono1N());
184:
185: }
186:
187: /** Teste la relation n-n mono-directionnelle */
188: public static void test_monoNN() {
189: System.out.println("Creation des objets AAA, BBB");
190: AAA a1 = new AAA();
191: a1.setNom("a1");
192: AAA a2 = new AAA();
193: a2.setNom("a2");
194: AAA a3 = new AAA();
195: a3.setNom("a3");
196: BBB b1 = new BBB();
197: b1.setNom("b1");
198: BBB b2 = new BBB();
199: b2.setNom("b2");
200: BBB b3 = new BBB();
201: b3.setNom("b3");
202: List L;
203:
204: System.out.println("TEST RELATION N-M MONODIRECTIONNELLE");
205: System.out
206: .println("set sur a1, de liste b1 b2 comme objets en relation avec a2");
207: System.out
208: .println("add sur a2, de b2 comme objets en relation avec a2");
209: System.out
210: .println("add sur a3, de b3 comme objets en relation avec a3");
211: L = new ArrayList();
212: L.add(b1);
213: L.add(b2);
214: a1.setListe_objetsBBB_monoNM(L);
215: a2.addObjetBBB_monoNM(b2);
216: a3.addObjetBBB_monoNM(b3);
217: System.out.println("objet BBB en relation avec a1 (b1, b2) : ");
218: affiche(a1.getListe_objetsBBB_monoNM());
219: System.out.println("objet BBB en relation avec a2 (b2) : ");
220: affiche(a2.getListe_objetsBBB_monoNM());
221: System.out.println("objet BBB en relation avec a3 (b3) : ");
222: affiche(a3.getListe_objetsBBB_monoNM());
223:
224: System.out.println("");
225: System.out.println("-- (idem avant)");
226: System.out
227: .println("set sur a1, de liste b1 b2 comme objets en relation avec a2");
228: System.out
229: .println("add sur a2, de b2 comme objets en relation avec a2");
230: System.out
231: .println("add sur a3, de b3 comme objets en relation avec a3");
232: L = new ArrayList();
233: L.add(b1);
234: L.add(b2);
235: a1.setListe_objetsBBB_monoNM(L);
236: a2.addObjetBBB_monoNM(b2);
237: a3.addObjetBBB_monoNM(b3);
238: System.out.println("objet BBB en relation avec a1 (b1, b2) : ");
239: affiche(a1.getListe_objetsBBB_monoNM());
240: System.out.println("objet BBB en relation avec a2 (b2, b2) : ");
241: affiche(a2.getListe_objetsBBB_monoNM());
242: System.out.println("objet BBB en relation avec a3 (b3, b3) : ");
243: affiche(a3.getListe_objetsBBB_monoNM());
244:
245: System.out.println("");
246: System.out.println("-- ");
247: System.out.println("remove sur b1 de a1");
248: System.out.println("remove sur b2 de a2");
249: System.out.println("vidage de a3");
250: L = new ArrayList();
251: L.add(b1);
252: L.add(b2);
253: a3.emptyListe_objetsBBB_monoNM();
254: a1.removeObjetBBB_monoNM(b1);
255: a2.removeObjetBBB_monoNM(b2);
256: System.out.println("objet BBB en relation avec a1 (b2) : ");
257: affiche(a1.getListe_objetsBBB_monoNM());
258: System.out.println("objet BBB en relation avec a2 (b2) : ");
259: affiche(a2.getListe_objetsBBB_monoNM());
260: System.out.println("objet BBB en relation avec a3 (vide) : ");
261: affiche(a3.getListe_objetsBBB_monoNM());
262:
263: }
264:
265: public static void affiche(List L) {
266: Iterator it = L.iterator();
267: while (it.hasNext()) {
268: ClasseMere o = (ClasseMere) it.next();
269: if (o == null)
270: System.out.println(" - null");
271: else
272: System.out.println(" - " + o.getNom());
273: }
274: }
275: }
|