Project

General

Profile

Download (4.63 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2017 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.io.owl.out;
10

    
11
import java.io.File;
12
import java.io.FileNotFoundException;
13
import java.net.URI;
14
import java.util.Collections;
15
import java.util.List;
16
import java.util.UUID;
17

    
18
import org.apache.log4j.Logger;
19
import org.junit.Test;
20
import org.unitils.dbunit.annotation.DataSet;
21
import org.unitils.spring.annotation.SpringBeanByName;
22
import org.unitils.spring.annotation.SpringBeanByType;
23

    
24
import eu.etaxonomy.cdm.api.service.IClassificationService;
25
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
26
import eu.etaxonomy.cdm.api.service.ITermTreeService;
27
import eu.etaxonomy.cdm.common.URI;
28
import eu.etaxonomy.cdm.io.common.CdmApplicationAwareDefaultExport;
29
import eu.etaxonomy.cdm.io.common.ExportDataWrapper;
30
import eu.etaxonomy.cdm.io.common.ExportResult;
31
import eu.etaxonomy.cdm.io.common.IExportConfigurator.TARGET;
32
import eu.etaxonomy.cdm.io.descriptive.owl.out.StructureTreeOwlExportConfigurator;
33
import eu.etaxonomy.cdm.model.common.CdmBase;
34
import eu.etaxonomy.cdm.model.description.Feature;
35
import eu.etaxonomy.cdm.model.term.TermNode;
36
import eu.etaxonomy.cdm.model.term.TermTree;
37
import eu.etaxonomy.cdm.model.term.TermType;
38
import eu.etaxonomy.cdm.model.term.TermVocabulary;
39
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
40
import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy;
41

    
42
/**
43
 * @author a.mueller
44
 * @since 25.06.2017
45
 */
46
public class OwlExportTest  extends CdmTransactionalIntegrationTest{
47
    @SuppressWarnings("unused")
48
    private static final Logger logger = Logger.getLogger(OwlExportTest.class);
49

    
50
    @SpringBeanByName
51
    private CdmApplicationAwareDefaultExport<StructureTreeOwlExportConfigurator> defaultExport;
52

    
53
    @SpringBeanByType
54
    private IClassificationService classificationService;
55

    
56
    @SpringBeanByType
57
    private ITermTreeService termTreeService;
58

    
59
    @SpringBeanByType
60
    private ITaxonNodeService taxonNodeService;
61

    
62

    
63
    @Test
64
    @DataSet(loadStrategy=CleanSweepInsertLoadStrategy.class, value="/eu/etaxonomy/cdm/database/ClearDBDataSet.xml")
65
    public void testEmptyData(){
66
        File destinationFolder = null;
67
        StructureTreeOwlExportConfigurator config = StructureTreeOwlExportConfigurator.NewInstance();
68
        config.setFeatureTreeUuids(createFeatureTree());
69
        config.setVocabularyUuids(Collections.EMPTY_LIST);
70
        config.setDestination(destinationFolder);
71
        config.setTarget(TARGET.EXPORT_DATA);
72
        ExportResult result = defaultExport.invoke(config);
73
        System.out.println(result.createReport());
74
        ExportDataWrapper<?> exportData = result.getExportData();
75
    }
76

    
77
    public List<UUID> createFeatureTree() {
78
        TermTree<Feature> tree = TermTree.NewFeatureInstance();
79
        TermVocabulary<Feature> voc = TermVocabulary.NewInstance(TermType.Feature, Feature.class,
80
                "voc description", "vocabulary", "voc", URI.create("http://test.voc"));
81

    
82
        Feature featureA = Feature.NewInstance("A", "A", "A");
83
        voc.addTerm(featureA);
84
        TermNode<Feature> nodeA = tree.getRoot().addChild(featureA);
85

    
86
        Feature featureA1 = Feature.NewInstance("A1", "A1", "A1");
87
        voc.addTerm(featureA1);
88
        TermNode<Feature> nodeA1 = nodeA.addChild(featureA1);
89

    
90
        Feature featureA2 = Feature.NewInstance("A2", "A2", "A2");
91
        voc.addTerm(featureA2);
92
        TermNode<Feature> nodeA2 = nodeA.addChild(featureA2);
93

    
94
        Feature featureB = Feature.NewInstance("B", "B", "B");
95
        voc.addTerm(featureB);
96
        TermNode<Feature> nodeB = tree.getRoot().addChild(featureB);
97

    
98
        Feature featureB1 = Feature.NewInstance("B", "B1", "B1");
99
        voc.addTerm(featureB1);
100
        TermNode<Feature> nodeB1 = nodeB.addChild(featureB1);
101

    
102
        Feature featureC = Feature.NewInstance("C", "C", "C");
103
        voc.addTerm(featureC);
104
        TermNode<Feature> nodeC = tree.getRoot().addChild(featureC);
105

    
106
        termTreeService.save(tree);
107
        return Collections.singletonList(tree.getUuid());
108
    }
109

    
110
    @Override
111
    public void createTestDataSet() throws FileNotFoundException {
112
        //      try {
113
        //      writeDbUnitDataSetFile(new String[] {
114
        //              "Classification",
115
        //      }, "testAttachDnaSampleToDerivedUnit");
116
        //  } catch (FileNotFoundException e) {
117
        //      e.printStackTrace();
118
        //  }
119
    }
120

    
121

    
122
    private void setUuid(CdmBase cdmBase, String uuidStr) {
123
        cdmBase.setUuid(UUID.fromString(uuidStr));
124
    }
125

    
126
}
    (1-1/1)