Project

General

Profile

« Previous | Next » 

Revision 89e19a51

Added by Andreas Müller over 2 years ago

minor

View differences:

cdmlib-remote/src/test/java/eu/etaxonomy/cdm/test/function/TestScript.java
10 10
package eu.etaxonomy.cdm.test.function;
11 11

  
12 12
import java.io.IOException;
13
import java.sql.ResultSet;
14
import java.sql.SQLException;
15
import java.util.ArrayList;
16
import java.util.Arrays;
17
import java.util.List;
18
import java.util.Set;
19 13
import java.util.UUID;
20 14

  
21 15
import javax.servlet.http.HttpServletResponse;
22 16

  
23 17
import org.apache.log4j.Logger;
24
import org.hibernate.Query;
25
import org.hibernate.Session;
26
import org.springframework.transaction.TransactionStatus;
27 18

  
28 19
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
29
import eu.etaxonomy.cdm.api.application.CdmApplicationUtils;
30
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
31
import eu.etaxonomy.cdm.api.service.ITaxonService;
32
import eu.etaxonomy.cdm.api.service.ITermService;
33
import eu.etaxonomy.cdm.api.service.UpdateResult;
34
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
35
import eu.etaxonomy.cdm.api.service.description.AggregationMode;
36
import eu.etaxonomy.cdm.api.service.description.DistributionAggregationConfiguration;
37
import eu.etaxonomy.cdm.api.service.description.StructuredDescriptionAggregationConfiguration;
38
import eu.etaxonomy.cdm.api.service.dto.GroupedTaxonDTO;
39
import eu.etaxonomy.cdm.api.util.TaxonRelationshipEdge;
40
import eu.etaxonomy.cdm.common.monitor.DefaultProgressMonitor;
41 20
import eu.etaxonomy.cdm.config.AccountStore;
42 21
import eu.etaxonomy.cdm.database.CdmDataSource;
43
import eu.etaxonomy.cdm.database.CdmPersistentDataSource;
44
import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
45
import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
46 22
import eu.etaxonomy.cdm.database.DbSchemaValidation;
47 23
import eu.etaxonomy.cdm.database.ICdmDataSource;
48
import eu.etaxonomy.cdm.filter.TaxonNodeFilter;
49
import eu.etaxonomy.cdm.model.agent.Person;
50
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
51
import eu.etaxonomy.cdm.model.description.Distribution;
52
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
53
import eu.etaxonomy.cdm.model.description.TaxonDescription;
54
import eu.etaxonomy.cdm.model.location.NamedArea;
55
import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
56
import eu.etaxonomy.cdm.model.name.IBotanicalName;
57
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
58
import eu.etaxonomy.cdm.model.name.Rank;
59
import eu.etaxonomy.cdm.model.name.TaxonName;
60
import eu.etaxonomy.cdm.model.name.TaxonNameFactory;
61
import eu.etaxonomy.cdm.model.reference.Reference;
62
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
63
import eu.etaxonomy.cdm.model.taxon.Classification;
64
import eu.etaxonomy.cdm.model.taxon.Taxon;
65
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
66
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
67
import eu.etaxonomy.cdm.model.term.TermTree;
68
import eu.etaxonomy.cdm.model.term.init.TermNotFoundException;
69
import eu.etaxonomy.cdm.persistence.dao.initializer.EntityInitStrategy;
70
import eu.etaxonomy.cdm.remote.controller.MediaPortalController;
71 24
import eu.etaxonomy.cdm.remote.controller.TaxonPortalController;
72
import eu.etaxonomy.cdm.remote.controller.TaxonPortalController.EntityMediaContext;
73
import eu.etaxonomy.cdm.remote.controller.util.ControllerUtils;
74 25
import eu.etaxonomy.cdm.remote.editor.UuidList;
75 26
import eu.etaxonomy.cdm.remote.io.application.CdmRemoteApplicationController;
76 27

  
......
104 55
//		username = "edit";
105 56
//		dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
106 57

  
107
		server = "160.45.63.171";
108
		database = "cdm_production_campanulaceae";
109
		username = "edit";
110
		dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
58
//		server = "160.45.63.171";
59
//		database = "cdm_production_campanulaceae";
60
//		username = "edit";
61
//		dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
111 62

  
112 63

  
113 64
//		server = "test.e-taxonomy.eu";
......
138 89
//    	dataSource = CdmDataSource.NewH2EmbeddedInstance(database, username, "sa");
139 90

  
140 91

  
141
//       server = "160.45.63.201";
142
//       database = "cdm_integration_cichorieae";
143
//       username = "edit";
144
//       dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
92
       server = "160.45.63.201";
93
       database = "cdm_integration_cichorieae";
94
       username = "edit";
95
       dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
145 96

  
146 97
		CdmApplicationController appCtr = CdmRemoteApplicationController.NewRemoteInstance(dataSource, schema);
147 98

  
......
164 115

  
165 116
    private void doTemporary(CdmApplicationController appCtr) throws IOException {
166 117

  
167
        UUID taxonUUID = UUID.fromString("cdcacbda-11c0-4cb8-a2e0-8d7abc5ae756");
118
        UUID taxonUUID = UUID.fromString("85176c77-e4b6-4899-a08b-e257ab09350a");
168 119
        boolean includeTaxonomicChildren = true;
169 120
        UuidList relationshipUuids = new UuidList();
170 121
        UuidList relationshipInversUuids = new UuidList();
......
173 124
        boolean includeTaxonNameDescriptions = true;
174 125
        HttpServletResponse response = null;
175 126
        TaxonPortalController taxonPortalController = (TaxonPortalController) appCtr.getBean("taxonPortalController");
176
        ITermService termService = appCtr.getTermService();
177

  
178
        EntityInitStrategy taxonInitStrategy = includeTaxonomicChildren? TaxonPortalController.TAXON_WITH_CHILDNODES_INIT_STRATEGY : TaxonPortalController.TAXON_INIT_STRATEGY;
179
        EntityMediaContext<Taxon> entityMediaContext = taxonPortalController.loadMediaForTaxonAndRelated(taxonUUID,
180
                relationshipUuids, relationshipInversUuids,
181
                includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions,
182
                response, taxonInitStrategy.getPropertyPaths(),
183
                MediaPortalController.MEDIA_INIT_STRATEGY.getPropertyPaths());
184

  
185
        if(includeTaxonomicChildren){
186
            Set<TaxonRelationshipEdge> includeRelationships = ControllerUtils.loadIncludeRelationships(relationshipUuids, relationshipInversUuids, termService);
187
            entityMediaContext.setMedia(
188
                    taxonPortalController.addTaxonomicChildrenMedia(includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, entityMediaContext.getEntity(), includeRelationships, entityMediaContext.getMedia())
189
                            );
190
        }
191
    }
192

  
193
    private void aggregateDistribution(CdmApplicationController app){
194 127

  
195
        System.out.println("agg distr");
196
        DefaultProgressMonitor monitor = DefaultProgressMonitor.NewInstance();
128
        taxonPortalController.doGet(taxonUUID, null, response);
197 129

  
198
        UUID descriptaceaeUuid = UUID.fromString("5a37c47c-347c-49f8-88ba-2720b194dfb9");
199

  
200
        TaxonNodeFilter filter = TaxonNodeFilter.NewSubtreeInstance(descriptaceaeUuid);
201
        filter.setIncludeUnpublished(true);
202
        List<AggregationMode> aggregationModes = AggregationMode.byToParent();
203
        TermTree<PresenceAbsenceTerm> statusOrder = null;
204
        List<UUID> superAreas = new ArrayList<>();
205
        DistributionAggregationConfiguration config = DistributionAggregationConfiguration.NewInstance(aggregationModes, superAreas, filter, statusOrder, monitor);
206
        config.setAdaptBatchSize(false);
207
        UpdateResult result = config.getTaskInstance().invoke(config, app);
208
        System.out.println(result);
209 130
    }
210 131

  
211
	private void aggregateDDS(CdmApplicationController app){
212

  
213
	    System.out.println("find dds");
214
	    DescriptiveDataSet dds = app.getDescriptiveDataSetService().find(21);
215
	    UUID facciniaSubtreeUuid = UUID.fromString("cf0bc346-a203-4ad7-ad25-477098361db6");
216
	    UUID arenarioAdamssubtreeUuid = UUID.fromString("0215e668-0a65-42cd-85e0-d97ce78e758b");
217

  
218
	    TaxonNodeFilter filter = TaxonNodeFilter.NewSubtreeInstance(arenarioAdamssubtreeUuid);
219
	    filter.setIncludeUnpublished(true);
220

  
221
	    DefaultProgressMonitor monitor = DefaultProgressMonitor.NewInstance();
222
	    StructuredDescriptionAggregationConfiguration config = StructuredDescriptionAggregationConfiguration.NewInstance(filter, monitor);
223
        config.setDatasetUuid(dds.getUuid());
224
        config.setAggregationMode(AggregationMode.byWithinTaxonAndToParent());
225
        config.setAdaptBatchSize(false);
226
        UpdateResult result = config.getTaskInstance().invoke(config, app);
227
        System.out.println(result);
228

  
229
//	    app.getLongRunningTasksService().invoke(config);
230
	}
231

  
232
    private void listClassification(CdmApplicationController appCtr, List<String> propertyPaths) {
233
        try {
234
            List<Classification> list = appCtr.getClassificationService().list(null, null, null, null, propertyPaths);
235
        } catch (Exception e) {
236
            e.printStackTrace();
237
            logger.warn(e.getMessage());
238
        }
239
    }
240

  
241
    private void testGroupedTaxa(CdmApplicationController appCtr) {
242
        UUID classificationUuid = UUID.fromString("91231ebf-1c7a-47b9-a56c-b45b33137244");
243
		UUID taxonUuid1 = UUID.fromString("3bae1c86-1235-4e2e-be63-c7f8c4410527");
244
		UUID taxonUuid2 = UUID.fromString("235d3872-defe-4b92-bf2f-75a7c91510de");
245
		List<UUID> taxonUuids = Arrays.asList(new UUID[]{taxonUuid1, taxonUuid2});
246
		Rank maxRank = DefinedTermBase.getTermByClassAndUUID(Rank.class, UUID.fromString("af5f2481-3192-403f-ae65-7c957a0f02b6"));
247
		Rank minRank = DefinedTermBase.getTermByClassAndUUID(Rank.class, UUID.fromString("78786e16-2a70-48af-a608-494023b91904"));
248
        List<GroupedTaxonDTO> groupedTaxa = appCtr.getClassificationService().groupTaxaByHigherTaxon(taxonUuids, classificationUuid, minRank, maxRank);
249
        System.out.println(groupedTaxa);
250
    }
251

  
252
    private void addPerson(CdmApplicationController appCtr) {
253
        TransactionStatus tx = appCtr.startTransaction();
254
		appCtr.getAgentService().save(Person.NewInstance());
255
		appCtr.commitTransaction(tx);
256
    }
257

  
258
	private void deleteHighLevelNode(CdmApplicationController appCtr) {
259
		TransactionStatus tx = appCtr.startTransaction();
260
		ITaxonNodeService service = appCtr.getTaxonNodeService();
261
		TaxonNode node = service.find(60554);
262
//		service.delete(node);
263
		ITaxonService taxonService = appCtr.getTaxonService();
264
		Taxon taxon = node.getTaxon();
265
		//try {
266
			taxonService.deleteTaxon(taxon.getUuid(), new TaxonDeletionConfigurator(), node.getClassification().getUuid());
267

  
268
		/*} catch (DataChangeNoRollbackException e) {
269
			e.printStackTrace();
270
		}*/
271
		try {
272
			appCtr.commitTransaction(tx);
273
		} catch (Exception e) {
274
			// TODO Auto-generated catch block
275
			e.printStackTrace();
276
		}
277
		TaxonNode node2 = service.find(60554);
278

  
279

  
280
	}
281

  
282
//	private void insertSomeData(CdmApplicationController appCtr) {
283
//		Classification cl = Classification.NewInstance("myClass");
284
//		TaxonNode node1 = cl.addChildTaxon(Taxon.NewInstance(TaxonNameFactory.NewBotanicalInstance(null), null), null, null);
285
//		appCtr.getClassificationService().save(cl);
286
//
287
//		Taxon t2 = Taxon.NewInstance(null, null);
288
//		t2.setTitleCache("Taxon2", true);
289
//		TaxonNode node2 = node1.addChildTaxon(t2, null, null);
290
//
291
//		Taxon t3 = Taxon.NewInstance(null, null);
292
//		t3.setTitleCache("Taxon3", true);
293
//		TaxonNode node3 = node1.addChildTaxon(t3, 0, null, null);
294
//
295
//		appCtr.getTaxonNodeService().saveOrUpdate(node1);
296
//
297
//		cl.addChildNode(node3, 0, null, null);
298
//		appCtr.getTaxonNodeService().saveOrUpdate(node3);
299
//		appCtr.getClassificationService().saveOrUpdate(cl);
300
//
301
//		TermTree<Feature> ft1 = TermTree.NewInstance();
302
//		FeatureNode fn1 = TermNode.NewInstance((Feature)null);
303
//		ft1.getRoot().addChild(fn1);
304
//		appCtr.getFeatureNodeService().save(fn1);
305
//
306
//		TermNode fn2 = TermNode.NewInstance((Feature)null);
307
//		fn1.addChild(fn2);
308
//
309
//		TermNode fn3 = TermNode.NewInstance((Feature)null);
310
//		fn1.addChild(fn2, 0);
311
//
312
//		appCtr.getFeatureNodeService().saveOrUpdate(fn1);
313
//
314
//		ft1.getRoot().addChild(fn3, 0);
315
//		appCtr.getFeatureNodeService().saveOrUpdate(fn3);
316
//		appCtr.getFeatureTreeService().saveOrUpdate(ft1);
317
//	}
318

  
319
	private void testDatabaseChange() throws DataSourceNotFoundException{
320
		CdmApplicationController appCtr;
321
		appCtr = CdmApplicationController.NewInstance();
322

  
323
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
324
//		String server = "192.168.2.10";
325
//		String database = "cdm_test_andreas";
326
//		String user = "edit";
327
//		String pwd = "wp5";
328
//
329
		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
330
		String server = "LAPTOPHP";
331
		String database = "cdmTest";
332
		String username = "edit";
333
		String password = "";
334

  
335
		ICdmDataSource dataSource = CdmDataSource.NewInstance(DatabaseTypeEnum.SqlServer2005, "LAPTOPHP", "cdmTest", DatabaseTypeEnum.SqlServer2005.getDefaultPort(), "edit", "");
336

  
337
		appCtr.getDatabaseService().saveDataSource("testSqlServer", dataSource);
338
		try {
339
			appCtr.getDatabaseService().connectToDatabase(dbType, server, database, username, password);
340
		} catch (TermNotFoundException e) {
341
			// TODO Auto-generated catch block
342
			e.printStackTrace();
343
		}
344

  
345
		appCtr.close();
346
	}
347

  
348
	private void testSqlServer2005(){
349
		DatabaseTypeEnum databaseTypeEnum = DatabaseTypeEnum.SqlServer2005;
350
		String server = "LAPTOPHP";
351
		String database = "cdmTest";
352
		String username = "edit";
353
		String password = "";
354

  
355
		ICdmDataSource dataSource = CdmDataSource.NewInstance(databaseTypeEnum, server, database, databaseTypeEnum.getDefaultPort(), username, password);
356

  
357
		CdmPersistentDataSource ds = CdmPersistentDataSource.save("testSqlServer", dataSource);
358

  
359
		CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds);
360
		Person agent = Person.NewInstance();
361
		appCtr.getAgentService().save(agent);
362
		TaxonName tn = TaxonNameFactory.NewBotanicalInstance(null);
363
		appCtr.getNameService().save(tn);
364
		appCtr.close();
365

  
366
	}
367

  
368
	private void testLocalHsql(){
369
		CdmApplicationController appCtr = null;
370
		try {
371
			CdmPersistentDataSource ds = CdmPersistentDataSource.NewLocalHsqlInstance();
372
			appCtr = CdmApplicationController.NewInstance(ds);
373
			List<?> l = appCtr.getNameService().list(null,5, 1,null,null);
374
			System.out.println(l);
375
			//Agent agent = new Agent();
376
			//appCtr.getAgentService().saveAgent(agent);
377
			appCtr.close();
378
		} catch (RuntimeException e) {
379
			logger.error("Runtime Exception");
380
			e.printStackTrace();
381
			if (appCtr != null){
382
			    appCtr.close();
383
			}
384

  
385
		} catch (DataSourceNotFoundException e) {
386
			logger.error("Runtime Exception");
387
			e.printStackTrace();
388
		}
389
	}
390

  
391
	private void testLocalH2(){
392

  
393
		DbSchemaValidation validation = DbSchemaValidation.CREATE;
394
		ICdmDataSource ds =
395
			CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "", null);
396
//			ds =
397
//				 CdmPersistentDataSource.NewInstance("localH2");
398
		CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds, validation);
399

  
400
		boolean exists = appCtr.getUserService().userExists("admin");
401
		try {
402
			IBotanicalName name = TaxonNameFactory.NewBotanicalInstance(null);
403
			String nameCache = "testName";
404
			name.setNameCache(nameCache);
405
			name.setTitleCache(nameCache, true);
406
			Reference ref = ReferenceFactory.newGeneric();
407
			ref.setTitleCache("mySec", true);
408
			Taxon taxon = Taxon.NewInstance(name, ref);
409
			TaxonDescription description = TaxonDescription.NewInstance();
410
			taxon.addDescription(description);
411
			NamedArea area1 = appCtr.getTermService().getAreaByTdwgAbbreviation("GER");
412
			Distribution distribution = Distribution.NewInstance(area1, PresenceAbsenceTerm.PRESENT());
413
			description.addElement(distribution);
414

  
415
			List<Distribution> distrList = new ArrayList<Distribution>();
416
			distrList.add(distribution);
417
			List<NamedArea> areaList = new ArrayList<NamedArea>();
418
			areaList.add(area1);
419

  
420
		//	distribution.getInDescription().get
421
			appCtr.getTaxonService().save(taxon);
422

  
423
			System.out.println(taxon.getDescriptions().size());
424

  
425
			TransactionStatus txStatus = appCtr.startTransaction();
426

  
427
			Session session = appCtr.getSessionFactory().getCurrentSession();
428

  
429
			//String hqlQuery = "from DescriptionBase d join d.elements  as e "
430
//				String hqlQuery = "from Taxon t join t.descriptions  as d "+
431
//				 " inner join d.elements e on e member of d "
432
//				+
433
//				"";//" where e.area = :namedArea " ;
434
			String hqlQuery = "Select t from Distribution e join e.inDescription d join d.taxon t join t.name n "+
435
				" WHERE e.area in (:namedArea) AND n.nameCache = :nameCache ";
436
			Query query = session.createQuery(hqlQuery);
437

  
438
			//query.setEntity("namedArea", area1);
439
			query.setParameter("nameCache", nameCache);
440
			query.setParameterList("namedArea", areaList);
441
			List resultList = query.list();
442
			//List list = appCtr.getCommonService().getHqlResult(hqlQuery);
443

  
444
			for (Object o:resultList){
445
				System.out.println(o);
446
			}
447
			appCtr.commitTransaction(txStatus);
448

  
449
			//System.out.println(l);
450
			//Agent agent = new Agent();
451
			//appCtr.getAgentService().saveAgent(agent);
452
			appCtr.close();
453
		} catch (RuntimeException e) {
454
			logger.error("Runtime Exception");
455
			e.printStackTrace();
456
			appCtr.close();
457

  
458
		}
459
	}
460

  
461
	private boolean testWritableResourceDirectory() throws IOException{
462
		CdmApplicationUtils.getWritableResourceDir();
463
		return true;
464
	}
465

  
466
	private boolean testH2(){
467
//		testLocalH2();
468
//		if (true)return true;
469

  
470
		DbSchemaValidation validation = DbSchemaValidation.CREATE;
471
		ICdmDataSource ds =
472
			CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "", null);
473
			//CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
474
//		ds =
475
//			 CdmPersistentDataSource.NewInstance("localH2");
476
		CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds, validation);
477
		try {
478
		    TaxonName botName1 = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES());
479
			TaxonName botName2 = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES());
480
			IBotanicalName hybridName = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES());
481
			botName1.addRelationshipToName(botName2, NameRelationshipType.ORTHOGRAPHIC_VARIANT(), null, null);
482
			UUID uuid1 = botName1.getUuid();
483
			UUID uuid2 = botName2.getUuid();
484
			try {
485
				Logger loggerTrace = Logger.getLogger("org.hibernate.type");
486
				//loggerTrace.setLevel(Level.TRACE);
487
				System.out.println(logger.getName());
488

  
489
				appCtr.getNameService().save(botName1);
490
				ResultSet rs = ds.executeQuery("Select count(*) as n FROM NameRelationship");
491
				rs.next();
492
				int c = rs.getInt("n");
493
				System.out.println("Begin :" + c);
494

  
495
				botName1.removeRelationToTaxonName(botName2);
496
				botName1.setSpecificEpithet("DELETED");
497
				botName2.addHybridParent(hybridName, HybridRelationshipType.FIRST_PARENT(), null);
498

  
499
				TransactionStatus tx = appCtr.startTransaction();
500
				appCtr.getNameService().saveOrUpdate(botName2);
501
				rs = ds.executeQuery("Select count(*) as n FROM NameRelationship");
502
				rs.next();
503
				c = rs.getInt("n");
504
				System.out.println("End: " + c);
505

  
506
				appCtr.commitTransaction(tx);
507

  
508
				appCtr.getNameService().saveOrUpdate(botName1);
509

  
510
				rs = ds.executeQuery("Select count(*) as n FROM NameRelationship");
511
				rs.next();
512
				c = rs.getInt("n");
513
				System.out.println("End: " + c);
514

  
515
			} catch (SQLException e) {
516
				// TODO Auto-generated catch block
517
				e.printStackTrace();
518
			}
519

  
520

  
521
			//Agent agent = new Agent();
522
			//appCtr.getAgentService().saveAgent(agent);
523
			appCtr.close();
524
			return true;
525
		} catch (RuntimeException e) {
526
			logger.error("Runtime Exception");
527
			e.printStackTrace();
528
			appCtr.close();
529

  
530
		}
531
		return false;
532
	}
533

  
534 132
	private void test(){
535
		System.out.println("Start Datasource");
133
		System.out.println("Start TestScript");
536 134
		testNewConfigControler();
537 135
    	//testDatabaseChange();
538 136

  
539
		//testSqlServer();
540

  
541
		//CdmUtils.findLibrary(au.com.bytecode.opencsv.CSVReader.class);
542
		//testPostgreServer();
543
		//testLocalHsql();
544
		//testLocalH2();
545
		//testWritableResourceDirectory();
546
//		testH2();
547
		System.out.println("\nEnd Datasource");
137
		System.out.println("\nEnd TestScript");
548 138
	}
549 139

  
550 140
	public static void  main(String[] args) {

Also available in: Unified diff