Revision 6846dba7
Added by Patrick Plitzner about 5 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/descriptive/owl/out/OwlExport.java | ||
---|---|---|
13 | 13 |
import java.util.List; |
14 | 14 |
|
15 | 15 |
import org.springframework.stereotype.Component; |
16 |
import org.springframework.transaction.TransactionStatus; |
|
16 | 17 |
|
17 | 18 |
import com.hp.hpl.jena.rdf.model.Model; |
18 | 19 |
import com.hp.hpl.jena.rdf.model.ModelFactory; |
... | ... | |
20 | 21 |
import com.hp.hpl.jena.rdf.model.Resource; |
21 | 22 |
|
22 | 23 |
import eu.etaxonomy.cdm.io.common.CdmExportBase; |
23 |
import eu.etaxonomy.cdm.io.common.ExportDataWrapper; |
|
24 |
import eu.etaxonomy.cdm.io.common.ExportResult; |
|
25 |
import eu.etaxonomy.cdm.io.common.ExportResultType; |
|
26 | 24 |
import eu.etaxonomy.cdm.io.common.mapping.out.IExportTransformer; |
27 | 25 |
import eu.etaxonomy.cdm.model.description.Feature; |
28 | 26 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
... | ... | |
43 | 41 |
private static final String PROPERTY_BASE_URI = BASE_URI+"property/"; |
44 | 42 |
private static final String NODE_BASE_URI = RESOURCE_URI+"node/"; |
45 | 43 |
|
46 |
/** |
|
47 |
* {@inheritDoc} |
|
48 |
*/ |
|
49 | 44 |
@Override |
50 | 45 |
protected boolean doCheck(OwlExportState state) { |
51 | 46 |
return false; |
52 | 47 |
} |
53 | 48 |
|
54 |
/** |
|
55 |
* {@inheritDoc} |
|
56 |
*/ |
|
57 | 49 |
@Override |
58 | 50 |
protected void doInvoke(OwlExportState state) { |
59 | 51 |
|
52 |
TransactionStatus txStatus = startTransaction(true); |
|
53 |
|
|
54 |
|
|
60 | 55 |
FeatureTree featureTree = state.getConfig().getFeatureTree(); |
56 |
featureTree = getFeatureTreeService().load(featureTree.getUuid()); |
|
57 |
|
|
61 | 58 |
FeatureNode rootNode = featureTree.getRoot(); |
62 | 59 |
|
63 | 60 |
Model model = ModelFactory.createDefaultModel(); |
... | ... | |
76 | 73 |
|
77 | 74 |
addChildNode(rootNode, resourceRootNode, propHasSubStructure, propUuid, propLabel, model); |
78 | 75 |
|
79 |
ByteArrayOutputStream stream = new ByteArrayOutputStream(); |
|
80 |
ExportDataWrapper<byte[]> exportDataWrapper = ExportDataWrapper.NewByteArrayInstance(); |
|
81 |
model.write(stream); |
|
82 |
exportDataWrapper.setValue(stream.toByteArray()); |
|
83 |
|
|
84 |
ExportResult result = ExportResult.NewInstance(ExportResultType.BYTE_ARRAY); |
|
85 |
result.setExportData(exportDataWrapper); |
|
76 |
exportStream = new ByteArrayOutputStream(); |
|
77 |
model.write(exportStream); |
|
78 |
state.getResult().addExportData(getByteArray()); |
|
86 | 79 |
|
87 |
state.setResult(result);
|
|
80 |
commitTransaction(txStatus);
|
|
88 | 81 |
} |
89 | 82 |
|
90 | 83 |
private void addChildNode(FeatureNode node, Resource resourceNode, final Property propHasSubStructure, final Property propUuid, Property propLabel, Model model){ |
... | ... | |
100 | 93 |
} |
101 | 94 |
} |
102 | 95 |
|
103 |
/** |
|
104 |
* {@inheritDoc} |
|
105 |
*/ |
|
106 | 96 |
@Override |
107 | 97 |
protected boolean isIgnore(OwlExportState state) { |
108 | 98 |
return false; |
Also available in: Unified diff
ref #6774 Fix owl export file generation