Project

General

Profile

Download (5.48 KB) Statistics
| Branch: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.app.common;
10

    
11
import java.awt.Color;
12
import java.util.ArrayList;
13
import java.util.Arrays;
14
import java.util.EnumSet;
15
import java.util.HashSet;
16
import java.util.List;
17
import java.util.Map;
18
import java.util.Set;
19
import java.util.UUID;
20

    
21
import org.apache.log4j.Logger;
22

    
23
import eu.etaxonomy.cdm.api.service.dto.DistributionInfoDTO;
24
import eu.etaxonomy.cdm.api.service.dto.DistributionInfoDTO.InfoPart;
25
import eu.etaxonomy.cdm.api.util.DistributionOrder;
26
import eu.etaxonomy.cdm.api.util.DistributionTree;
27
import eu.etaxonomy.cdm.common.TreeNode;
28
import eu.etaxonomy.cdm.database.DbSchemaValidation;
29
import eu.etaxonomy.cdm.database.ICdmDataSource;
30
import eu.etaxonomy.cdm.ext.geo.CondensedDistributionConfiguration;
31
import eu.etaxonomy.cdm.ext.geo.IEditGeoService;
32
import eu.etaxonomy.cdm.io.api.application.CdmIoApplicationController;
33
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
34
import eu.etaxonomy.cdm.model.common.Language;
35
import eu.etaxonomy.cdm.model.common.MarkerType;
36
import eu.etaxonomy.cdm.model.description.Distribution;
37
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
38
import eu.etaxonomy.cdm.model.location.NamedArea;
39
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
40

    
41
/**
42
 * @author a.babadshanjan
43
 * @since 12.05.2009
44
 */
45
public class TestActivator {
46

    
47
	@SuppressWarnings("unused")
48
	private static final Logger logger = Logger.getLogger(TestActivator.class);
49

    
50
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();
51
//	static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
52
	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_euroMed();
53
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_production_euromed();
54

    
55
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
56
	static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE;
57

    
58
	private void invoke(){
59
       ICdmDataSource destination = cdmDestination;
60

    
61
        CdmIoApplicationController app;
62

    
63
//	      applicationEventMulticaster
64
//	      app = CdmIoApplicationController.NewInstance(destination, dbSchemaValidation);
65

    
66
//        IProgressMonitor progressMonitor = DefaultProgressMonitor.NewInstance();
67
//        String resourcePath= "/eu/etaxonomy/cdm/appimportTestApplicationContext.xml";
68
//        ClassPathResource resource = new ClassPathResource(resourcePath);
69
//	      ApplicationListener<?> listener = new AppImportApplicationListener();
70
//	      List<ApplicationListener> listeners = new ArrayList<>();
71
//	      listeners.add(listener);
72
//	      app = CdmApplicationController.NewInstance(resource, destination, dbSchemaValidation, false, progressMonitor, listeners);
73
//	        app = CdmApplicationController.NewInstance(resource, destination, dbSchemaValidation, false, progressMonitor);
74
	        app = CdmIoApplicationController.NewInstance(destination, dbSchemaValidation);
75

    
76

    
77
	        doDistributionInfo(app);
78

    
79
//	        URI uri = URI.create("file:///C:/localCopy/Data/xper/Cichorieae-DA2.sdd.xml");
80
//	        SDDImportConfigurator configurator = SDDImportConfigurator.NewInstance(uri, destination);
81
//	        CdmDefaultImport<SDDImportConfigurator> myImport = new CdmDefaultImport<>();
82
//
83
//	        myImport.setCdmAppController(app);
84
//
85
//	        ImportResult result = myImport.invoke(configurator);
86
//	        System.out.println(result.toString());
87

    
88
	}
89

    
90

    
91
    /**
92
     * @param app
93
     */
94
    private void doDistributionInfo(CdmIoApplicationController app) {
95
        IEditGeoService geoService = (IEditGeoService)app.getBean("editGeoService");
96

    
97
        Set<InfoPart> partSet = new HashSet<>(Arrays.asList(InfoPart.values()));
98
        EnumSet<InfoPart> parts = EnumSet.copyOf(partSet);
99
        CondensedDistributionConfiguration config = CondensedDistributionConfiguration.NewDefaultInstance();
100
        DistributionOrder distributionOrder = DistributionOrder.LABEL;
101
        List<String> propertyPaths = new ArrayList<>();
102
        boolean statusOrderPreference = true;
103
        boolean subAreaPreference = true;
104
        Set<MarkerType> hiddenMarker = new HashSet<MarkerType>((List)app.getTermService().find(new HashSet<>(Arrays.asList(
105
                new UUID[]{UUID.fromString("0318c67d-e323-4e9c-bffb-bc0c7f8f9f40"),UUID.fromString("e2b42891-aa85-4a09-981b-b7d8f5749c54")}
106
                ))));
107
        boolean fallbackAsParent = true;
108
        Map<PresenceAbsenceTerm, Color> presenceAbsenceTermColors = null;
109
        Set<NamedAreaLevel> omitLevels = new HashSet<>();
110
        List<Language> languages = new ArrayList<>();
111

    
112
        UUID taxonUuid = UUID.fromString("70b157e2-b96d-44e8-8430-c4c2b6353244");
113
        DistributionInfoDTO dto = geoService.composeDistributionInfoFor(parts, taxonUuid, subAreaPreference,
114
                statusOrderPreference, hiddenMarker, fallbackAsParent, omitLevels,
115
                presenceAbsenceTermColors, languages, propertyPaths, config, distributionOrder, true);
116

    
117
         DistributionTree tree = dto.getTree();
118
         List<TreeNode<Set<Distribution>, NamedArea>> list = tree.toList();
119
         System.out.println(list);
120
    }
121

    
122

    
123
    public static void main(String[] args) {
124
        new TestActivator().invoke();
125
        System.exit(0);
126
    }
127
}
(5-5/5)