001: /*
002: * SalomeTMF is a Test Management Framework
003: * Copyright (C) 2005 France Telecom R&D
004: *
005: * This library is free software; you can redistribute it and/or
006: * modify it under the terms of the GNU Lesser General Public
007: * License as published by the Free Software Foundation; either
008: * version 2 of the License, or (at your option) any later version.
009: *
010: * This library is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * Lesser General Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser General Public
016: * License along with this library; if not, write to the Free Software
017: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
018: *
019: * @author Fayçal SOUGRATI, Vincent Pautret, Marche Mikael
020: *
021: * Contact: mikael.marche@rd.francetelecom.com
022: */
023:
024: package org.objectweb.salome_tmf.data;
025:
026: import java.util.Vector;
027:
028: import org.objectweb.salome_tmf.api.api2ihm.AdminProject;
029: import org.objectweb.salome_tmf.api.api2ihm.CampTest;
030: import org.objectweb.salome_tmf.api.api2ihm.adminProject.AdminProjectDelete;
031: import org.objectweb.salome_tmf.api.api2ihm.adminProject.AdminProjectInsert;
032: import org.objectweb.salome_tmf.api.api2ihm.adminProject.AdminProjectSelect;
033: import org.objectweb.salome_tmf.api.api2ihm.adminProject.AdminProjectUpdate;
034: import org.objectweb.salome_tmf.api.api2ihm.adminVT.AdminVTDelete;
035: import org.objectweb.salome_tmf.api.api2ihm.adminVT.AdminVTInsert;
036: import org.objectweb.salome_tmf.api.api2ihm.adminVT.AdminVTSelect;
037: import org.objectweb.salome_tmf.api.api2ihm.adminVT.AdminVTUpdate;
038: import org.objectweb.salome_tmf.api.api2ihm.campTest.CampTestDelete;
039: import org.objectweb.salome_tmf.api.api2ihm.campTest.CampTestInsert;
040: import org.objectweb.salome_tmf.api.api2ihm.campTest.CampTestSelect;
041: import org.objectweb.salome_tmf.api.api2ihm.campTest.CampTestUpdate;
042: import org.objectweb.salome_tmf.api.api2ihm.suiteTest.SuiteTestDelete;
043: import org.objectweb.salome_tmf.api.api2ihm.suiteTest.SuiteTestInsert;
044: import org.objectweb.salome_tmf.api.api2ihm.suiteTest.SuiteTestSelect;
045: import org.objectweb.salome_tmf.api.api2ihm.suiteTest.SuiteTestUpdate;
046:
047: /**
048: * Classe qui regroupe l'ensemble des connections à la base de données
049: */
050:
051: public class ConnectionData {
052:
053: /**
054: * Fonctionnement en mode connecté à la bdd (vrai ou en local (false))
055: */
056: static private boolean connected = true;
057:
058: /**
059: * Instance pour accéder à la bdd avec des requêtes select pour les suites
060: */
061: static private SuiteTestSelect suiteTestSelect;
062:
063: /**
064: * Instance pour accéder à la bdd avec des requêtes delete pour les suites
065: */
066: static private SuiteTestDelete suiteTestDelete;
067:
068: /**
069: * Instance pour accéder à la bdd avec des requêtes insert pour les suites
070: */
071: static private SuiteTestInsert suiteTestInsert;
072:
073: /**
074: * Instance pour accéder à la bdd avec des requêtes update pour les suites
075: */
076: static private SuiteTestUpdate suiteTestUpdate;
077:
078: /**
079: * Instance utilisé pour les locks
080: */
081: static private CampTest campTest;
082:
083: /**
084: * Instance pour accéder à la bdd avec des requêtes insert pour les campagnes
085: */
086: static private CampTestInsert campTestInsert;
087:
088: /**
089: * Instance pour accéder à la bdd avec des requêtes select pour les campagnes
090: */
091: static private CampTestSelect campTestSelect;
092:
093: /**
094: * Instance pour accéder à la bdd avec des requêtes delete pour les campagnes
095: */
096: static private CampTestDelete campTestDelete;
097:
098: /**
099: * Instance pour accéder à la bdd avec des requêtes update pour les campagnes
100: */
101: static private CampTestUpdate campTestUpdate;
102:
103: /**
104: * Instance pour accéder à la bdd avec des requêtes select pour l'administration
105: */
106: static private AdminVTSelect adminVTSelect;
107:
108: /**
109: * Instance pour accéder à la bdd avec des requêtes insert
110: */
111: static private AdminVTInsert adminVTInsert;
112:
113: /**
114: * Instance pour accéder à la bdd avec des requêtes delete
115: */
116: static private AdminVTDelete adminVTDelete;
117:
118: /**
119: * Instance pour accéder à la bdd avec des requêtes update
120: */
121: static private AdminVTUpdate adminVTUpdate;
122:
123: /**
124: * Instance pour accéder aux permissions
125: */
126: static private AdminProject adminProject;
127:
128: /**
129: * Instance pour accéder à la bdd avec des requêtes insert pour le projet
130: */
131: static private AdminProjectInsert adminProjectInsert;
132:
133: /**
134: * Instance pour accéder à la bdd avec des requêtes select d'un projet
135: */
136: static private AdminProjectSelect adminProjectSelect;
137:
138: /**
139: * Instance pour accéder à la bdd pour les requêtes delete
140: */
141: static private AdminProjectDelete adminProjectDelete;
142:
143: /**
144: * Instance pour accéder à la bdd pour les requêtes update
145: */
146: static private AdminProjectUpdate adminProjectUpdate;
147:
148: /**************************************************************************/
149: /** METHODES PUBLIQUES ***/
150: /**************************************************************************/
151:
152: /**
153: * Retourne vrai si l'ihm est connecté à la base de données, faux sinon.
154: * @return vrai si l'ihm est connecté à la base de données, faux sinon.
155: */
156: public static boolean isConnected() {
157: return connected;
158: } // Fin de la méthode isConnected/0
159:
160: /**
161: * Retourne une instance pour une connection sur l'administration VT en mode
162: * select
163: * @return une instance pour une connection sur l'administration VT en mode
164: * select
165: */
166: public static AdminVTSelect getAdminVTSelect() {
167: return adminVTSelect;
168: } // Fin de la méthode getAdminVTSelect/0
169:
170: /**
171: * Retourne une instance pour une connection sur l'utilisation des campagnes
172: * en mode delete
173: * @return une instance pour une connection sur l'utilisation des campagnes
174: * en mode delete
175: */
176: public static CampTestDelete getCampTestDelete() {
177: return campTestDelete;
178: } // Fin de la méthode getCampTestDelete/0
179:
180: /**
181: * Retourne une instance pour une connection sur l'utilisation des campagnes
182: * en mode insert
183: * @return une instance pour une connection sur l'utilisation des campagnes
184: * en mode insert
185: */
186: public static CampTestInsert getCampTestInsert() {
187: return campTestInsert;
188: } // Fin de la méthode getCampTestInsert/0
189:
190: /**
191: * Retourne une instance pour une connection sur l'utilisation des campagnes
192: * en mode select
193: * @return une instance pour une connection sur l'utilisation des campagnes
194: * en mode select
195: */
196: public static CampTestSelect getCampTestSelect() {
197: return campTestSelect;
198: } // Fin de la méthode getCampTestSelect/0
199:
200: /**
201: * Retourne une instance pour une connection sur l'utilisation des campagnes
202: * en mode update
203: * @return une instance pour une connection sur l'utilisation des campagnes
204: * en mode update
205: */
206: public static CampTestUpdate getCampTestUpdate() {
207: return campTestUpdate;
208: } // Fin de la méthode getCampTestUpdate/0
209:
210: /**
211: * Retourne une instance pour une connection sur l'utilisation des suites
212: * en mode delete
213: * @return une instance pour une connection sur l'utilisation des suites
214: * en mode delete
215: */
216: public static SuiteTestDelete getSuiteTestDelete() {
217: return suiteTestDelete;
218: } // Fin de la méthode getSuiteTestDelete/0
219:
220: /**
221: * Retourne une instance pour une connection sur l'utilisation des suites
222: * en mode insert
223: * @return une instance pour une connection sur l'utilisation des suites
224: * en mode insert
225: */
226: public static SuiteTestInsert getSuiteTestInsert() {
227: return suiteTestInsert;
228: } // Fin de la méthode getSuiteTestInsert/0
229:
230: /**
231: * Retourne une instance pour une connection sur l'utilisation des suites
232: * en mode select
233: * @return une instance pour une connection sur l'utilisation des suites
234: * en mode select
235: */
236: public static SuiteTestSelect getSuiteTestSelect() {
237: return suiteTestSelect;
238: } // Fin de la méthode getSuiteTestSelect/0
239:
240: /**
241: * Mutateur de l'indicateur de connection
242: * @param b vrai si l'ihm est connectée, faux sinon.
243: */
244: public static void setConnected(boolean b) {
245: connected = b;
246: } // Fin de la méthode setConnected/1
247:
248: /**
249: * Mutateur de l'instance de connection à la base sur l'utilisation de
250: * l'administration de Salome en mode select
251: * @param select instance de connection à la base sur l'utilisation de
252: * l'administration de Salome en mode select
253: */
254: public static void setAdminVTSelect(AdminVTSelect select) {
255: adminVTSelect = select;
256: } // Fin de la méthode setAdminVTSelect/1
257:
258: /**
259: * Mutateur de l'instance de connection à la base sur l'utilisation des
260: * campagnes en mode delete
261: * @param delete instance de connection à la base sur l'utilisation des
262: * campagnes en mode delete
263: */
264: public static void setCampTestDelete(CampTestDelete delete) {
265: campTestDelete = delete;
266: } // Fin de la méthode setCampTestDelete/1
267:
268: /**
269: * Mutateur de l'instance de connection à la base sur l'utilisation des
270: * campagnes en mode insert
271: * @param insert instance de connection à la base sur l'utilisation des
272: * campagnes en mode insert
273: */
274: public static void setCampTestInsert(CampTestInsert insert) {
275: campTestInsert = insert;
276: } // Fin de la méthode setCampTestInsert/1
277:
278: /**
279: * Mutateur de l'instance de connection à la base sur l'utilisation des
280: * campagnes en mode select
281: * @param select instance de connection à la base sur l'utilisation des
282: * campagnes en mode select
283: */
284: public static void setCampTestSelect(CampTestSelect select) {
285: campTestSelect = select;
286: } // Fin de la méthode setCampTestSelect/1
287:
288: /**
289: * Mutateur de l'instance de connection à la base sur l'utilisation des
290: * campagnes en mode update
291: * @param update instance de connection à la base sur l'utilisation des
292: * campagnes en mode update
293: */
294: public static void setCampTestUpdate(CampTestUpdate update) {
295: campTestUpdate = update;
296: } // Fin de la méthode setCampTestUpdate/1
297:
298: /**
299: * Mutateur de l'instance de connection à la base sur l'utilisation des
300: * suites en mode delete
301: * @param delete instance de connection à la base sur l'utilisation des
302: * suites en mode delete
303: */
304: public static void setSuiteTestDelete(SuiteTestDelete delete) {
305: suiteTestDelete = delete;
306: } // Fin de la méthode setSuiteTestDelete/1
307:
308: /**
309: * Mutateur de l'instance de connection à la base sur l'utilisation des
310: * suites en mode insert
311: * @param insert instance de connection à la base sur l'utilisation des
312: * suites en mode insert
313: */
314: public static void setSuiteTestInsert(SuiteTestInsert insert) {
315: suiteTestInsert = insert;
316: } // Fin de la méthode setSuiteTestInsert/1
317:
318: /**
319: * Mutateur de l'instance de connection à la base sur l'utilisation des
320: * suites en mode select
321: * @param select instance de connection à la base sur l'utilisation des
322: * suites en mode select
323: */
324: public static void setSuiteTestSelect(SuiteTestSelect select) {
325: suiteTestSelect = select;
326: } // Fin de la méthode setSuiteTestSelect/1
327:
328: /**
329: * Retourne une instance pour une connection sur l'administration des projets
330: * en mode insert
331: * @return une instance pour une connection sur l'administration des projets
332: * en mode insert
333: */
334: public static AdminProjectInsert getAdminProjectInsert() {
335: return adminProjectInsert;
336: } // Fin de la méthode getAdminProjectInsert/0
337:
338: /**
339: * Retourne une instance pour une connection sur l'administration des projets
340: * en mode delete
341: * @return une instance pour une connection sur l'administration des projets
342: * en mode delete
343: */
344: public static AdminVTDelete getAdminVTDelete() {
345: return adminVTDelete;
346: } // Fin de la méthode getAdminVTDelete/0
347:
348: /**
349: * Retourne une instance pour une connection sur l'administration de Salome
350: * en mode insert
351: * @return une instance pour une connection sur l'administration de Salome
352: * en mode insert
353: */
354: public static AdminVTInsert getAdminVTInsert() {
355: return adminVTInsert;
356: } // Fin de la méthode getAdminVTInsert/0
357:
358: /**
359: * @param insert
360: */
361: public static void setAdminProjectInsert(AdminProjectInsert insert) {
362: adminProjectInsert = insert;
363: } // Fin de la méthode setAdminProjectInsert/1
364:
365: /**
366: * @param delete
367: */
368: public static void setAdminVTDelete(AdminVTDelete delete) {
369: adminVTDelete = delete;
370: } // Fin de la méthode setAdminVTDelete/1
371:
372: /**
373: * @param insert
374: */
375: public static void setAdminVTInsert(AdminVTInsert insert) {
376: adminVTInsert = insert;
377: } // Fin de la méthode setAdminVTInsert/1
378:
379: /**
380: * Retourne une instance pour une connection sur l'administration des projets
381: * en mode delete
382: * @return une instance pour une connection sur l'administration des projets
383: * en mode delete
384: */
385: public static AdminProjectDelete getAdminProjectDelete() {
386: return adminProjectDelete;
387: } // Fin de la méthode getAdminProjectDelete/0
388:
389: /**
390: * Retourne une instance pour une connection sur l'administration des projets
391: * en mode select
392: * @return une instance pour une connection sur l'administration des projets
393: * en mode select
394: */
395: public static AdminProjectSelect getAdminProjectSelect() {
396: return adminProjectSelect;
397: } // Fin de la méthode getAdminProjectSelect/0
398:
399: /**
400: * @param delete
401: */
402: public static void setAdminProjectDelete(AdminProjectDelete delete) {
403: adminProjectDelete = delete;
404: } // Fin de la méthode setAdminProjectDelete/1
405:
406: /**
407: * @param select
408: */
409: public static void setAdminProjectSelect(AdminProjectSelect select) {
410: adminProjectSelect = select;
411: } // Fin de la méthode setAdminProjectSelect/1
412:
413: /**
414: * Retourne une instance pour une connection sur l'utilisation des suites
415: * en mode update
416: * @return une instance pour une connection sur l'utilisation des suites
417: * en mode update
418: */
419: public static SuiteTestUpdate getSuiteTestUpdate() {
420: return suiteTestUpdate;
421: } // Fin de la méthode getSuiteTestUpdate/0
422:
423: /**
424: * Mutateur de l'instance pour une connection sur l'utilisation des suites
425: * en mode update
426: * @param update instance pour une connection sur l'utilisation des suites
427: * en mode update
428: */
429: public static void setSuiteTestUpdate(SuiteTestUpdate update) {
430: suiteTestUpdate = update;
431: } // Fin de la méthode setSuiteTestUpdate/1
432:
433: /**
434: * Retourne vrai si le test associé à la liste passés en paramètre est
435: * présent dans la base de données
436: * @param test un test
437: * @param testList une suite de tests
438: * @return vrai si le test associé à la liste passés en paramètre est
439: * présent dans la base de données
440: */
441: public static boolean isInBase(Test test, TestList testList) {
442: if (isConnected()) {
443: Vector testsVector = getSuiteTestSelect().getSuiteTests(
444: testList.getName(), testList.getFamily().getName());
445: return testsVector.contains(test.getName());
446: }
447: return false;
448: } // Fin de la méthode isInBase/1
449:
450: /**
451: * Retourne vrai si le test associé à la liste et à la famille dont les noms
452: * sont passés en paramètre est présent dans la base de données, faux sinon.
453: * @param testName un nom de test
454: * @param testListName un nom de suite
455: * @param familyName un nom de famille
456: * @return vrai si le test associé à la liste et à la famille dont les noms
457: * sont passés en paramètre est présent dans la base de données, faux sinon.
458: */
459: public static boolean isTestInBase(String testName,
460: String testListName, String familyName) {
461: if (isConnected()) {
462: Vector testsVector = getSuiteTestSelect().getSuiteTests(
463: testListName, familyName);
464: return testsVector.contains(testName);
465: }
466: return false;
467: } // Fin de la méthode isInBase/1
468:
469: /**
470: * Retourne vrai si la suite passée en paramètre est présente dans la base
471: * @param testList un suite de tests
472: * @return vrai si la suite passée en paramètre est présente dans la base,
473: * faux sinon
474: */
475: public static boolean isInBase(TestList testList) {
476: if (isConnected()) {
477: Vector testListsVector = getSuiteTestSelect()
478: .getFamilySuites(testList.getFamily().getName());
479: return testListsVector.contains(testList.getName());
480: }
481: return false;
482: } // Fin de la méthode isInBase/1
483:
484: /**
485: * Retourne vrai si la suite de tests associée à la famille dont les noms
486: * sont passés en paramètre est présent dans la base.
487: * @param testListName un nom de suite
488: * @param familyName un nom de famille
489: * @return vrai si la suite de tests associée à la famille dont les noms
490: * sont passés en paramètre est présent dans la base, faux sinon.
491: */
492: public static boolean isTestListInBase(String testListName,
493: String familyName) {
494: if (isConnected()) {
495: Vector testListsVector = getSuiteTestSelect()
496: .getFamilySuites(familyName);
497: return testListsVector.contains(testListName);
498: }
499: return false;
500: } // Fin de la méthode isInBase/1
501:
502: /**
503: * Retourne vrai si la famille passée en paramètre est présente dans la base
504: * @param family une famille
505: * @return vrai si la famille passée en paramètre est présente dans la base,
506: * faux sinon.
507: */
508: public static boolean isInBase(Family family) {
509: if (isConnected()) {
510: Vector testListsVector = getSuiteTestSelect()
511: .getProjectFamilies();
512: return testListsVector.contains(family.getName());
513: }
514: return false;
515: } // Fin de la méthode isInBase/1
516:
517: /**
518: * Retourne vrai si la famille dont le nom est passé en paramètre est présente
519: * dans la base
520: * @param familyName un nom de famille
521: * @return vrai si la famille dont le nom est passé en paramètre est présente
522: * dans la base, faux sinon
523: */
524: public static boolean isFamilyInBase(String familyName) {
525: if (isConnected()) {
526: Vector testListsVector = getSuiteTestSelect()
527: .getProjectFamilies();
528: return testListsVector.contains(familyName);
529: }
530: return false;
531: } // Fin de la méthode isInBase/1
532:
533: /**
534: * Retourne vrai si la campagne passée en paramètre est présente dans la base
535: * @param campaign une campagne
536: * @return vrai si la campagne passée en paramètre est présente dans la base,
537: * faux sinon.
538: */
539: public static boolean isInBase(Campaign campaign) {
540: if (isConnected()) {
541: Vector campaignVector = getCampTestSelect()
542: .getProjectCampaigns();
543: return campaignVector.contains(campaign.getName());
544: }
545: return false;
546: } // Fin de la méthode isInBase/1
547:
548: /**
549: * Retourne vrai si la campagne dont le nom est passé en paramètre est présente
550: * dans la base
551: * @param campaignName un nom de campagne
552: * @return vrai si la campagne dont le nom est passé en paramètre est présente
553: * dans la base, faux sinon.
554: */
555: public static boolean isCampaignInBase(String campaignName) {
556: if (isConnected()) {
557: Vector campaignVector = getCampTestSelect()
558: .getProjectCampaigns();
559: return campaignVector.contains(campaignName);
560: }
561: return false;
562: } // Fin de la méthode isInBase/1
563:
564: /**
565: *
566: * @param env
567: * @return
568: */
569: public static boolean isInBaseEnv(String envName) {
570: if (isConnected()) {
571: Vector envVector = getAdminProjectSelect()
572: .getProjectEnvsName();
573: return envVector.contains(envName);
574: }
575: return false;
576: } // Fin de la méthode isInBaseEnv/1
577:
578: /**
579: *
580: * @param test
581: * @param actionName
582: * @return
583: */
584: public static boolean isInBaseAction(Test test, String actionName) {
585: if (isConnected()) {
586: Vector actionVector = getSuiteTestSelect()
587: .getAllTestActionsName(test.getName(),
588: test.getTestList().getName(),
589: test.getTestList().getFamily().getName());
590: return actionVector.contains(actionName);
591: }
592: return false;
593: } // Fin de la méthode isInBaseAction/1
594:
595: /**
596: *
597: * @param param
598: * @return
599: */
600: public static boolean isInBaseParam(String paramName) {
601: if (isConnected()) {
602: Vector paramVector = getAdminProjectSelect()
603: .getProjectParamsName();
604: return paramVector.contains(paramName);
605: }
606: return false;
607: } // Fin de la méthode isInBaseParam/1
608:
609: /**
610: *
611: * @param execName
612: * @param campaignName
613: * @return
614: */
615: public static boolean isInBaseExec(String execName,
616: String campaignName) {
617: if (isConnected()) {
618: Vector execVector = getCampTestSelect()
619: .getCampaignExecutionsName(campaignName);
620: return execVector.contains(execName);
621: }
622: return false;
623: } // Fin de la méthode
624:
625: /**
626: *
627: * @param param
628: * @return
629: */
630: public static boolean isInBaseDataSet(String dataSetName,
631: String campaignName) {
632: if (isConnected()) {
633: Vector dataSetVector = getCampTestSelect()
634: .getCampJeuxDonneesName(campaignName);
635: return dataSetVector.contains(dataSetName);
636: }
637: return false;
638: } // Fin de la méthode isInBaseParam/1
639:
640: /**
641: *
642: * @param param
643: * @return
644: */
645: public static boolean isInBaseExecutionresult(
646: String execResultName, String execName, String campaignName) {
647: if (isConnected()) {
648: Vector execResultVector = getCampTestSelect()
649: .getExecutionResultsName(campaignName, execName);
650: return execResultVector.contains(execResultName);
651: }
652: return false;
653: } // Fin de la méthode isInBaseParam/1
654:
655: /**
656: * Retourne une instance pour une connection sur l'administration de Salome
657: * en mode insert
658: * @return
659: */
660: public static AdminVTUpdate getAdminVTUpdate() {
661: return adminVTUpdate;
662: } // Fin de la méthode getAdminVTUpdate/0
663:
664: /**
665: * @param update
666: */
667: public static void setAdminVTUpdate(AdminVTUpdate update) {
668: adminVTUpdate = update;
669: } // Fin de la méthode setAdminVTUpdate/1
670:
671: /**
672: * Retourne une instance pour une connection sur l'administration de Salome
673: * en mode insert
674: * @return
675: */
676: public static AdminProjectUpdate getAdminProjectUpdate() {
677: return adminProjectUpdate;
678: } // Fin de la méthode getAdminProjectUpdate/0
679:
680: /**
681: * @param update
682: */
683: public static void setAdminProjectUpdate(AdminProjectUpdate update) {
684: adminProjectUpdate = update;
685: } // Fin de la méthode setAdminProjectUpdate/1
686:
687: /**
688: * Retourne une instance pour une connection sur l'administration de Salome
689: * en mode insert
690: * @return
691: */
692: public static CampTest getCampTest() {
693: return campTest;
694: } // Fin de la méthode getCampTest/0
695:
696: /**
697: * @param test
698: */
699: public static void setCampTest(CampTest test) {
700: campTest = test;
701: } // Fin de la méthode setCampTest/1
702:
703: /**
704: * Retourne une instance pour une connection sur l'administration de Salome
705: * en mode insert
706: * @return
707: */
708: public static AdminProject getAdminProject() {
709: return adminProject;
710: } // Fin de la méthode AdminProject/1
711:
712: /**
713: * @param project
714: */
715: public static void setAdminProject(AdminProject project) {
716: adminProject = project;
717: } // Fin de la méthode setAdminProject/1
718:
719: } // Fin de la classe ConnectionData
|