Revision cc0fa0be
Added by Patrick Plitzner about 5 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/FeatureNodeServiceImpl.java | ||
---|---|---|
24 | 24 |
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; |
25 | 25 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
26 | 26 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
27 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
|
27 | 28 |
import eu.etaxonomy.cdm.model.description.Feature; |
28 | 29 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
29 | 30 |
import eu.etaxonomy.cdm.model.description.FeatureTree; |
... | ... | |
54 | 55 |
DeleteResult result = new DeleteResult(); |
55 | 56 |
FeatureNode node = HibernateProxyHelper.deproxy(dao.load(nodeUuid), FeatureNode.class); |
56 | 57 |
result = isDeletable(node, config); |
57 |
Feature feature; |
|
58 | 58 |
if (result.isOk()){ |
59 | 59 |
FeatureNode parent = node.getParent(); |
60 | 60 |
parent = HibernateProxyHelper.deproxy(parent, FeatureNode.class); |
... | ... | |
91 | 91 |
result.addUpdatedObject(parent); |
92 | 92 |
} |
93 | 93 |
if (config.isDeleteElement()){ |
94 |
feature = node.getFeature();
|
|
95 |
termService.delete(feature.getUuid());
|
|
96 |
result.addDeletedObject(feature);
|
|
94 |
DefinedTermBase term = node.getTerm();
|
|
95 |
termService.delete(term.getUuid());
|
|
96 |
result.addDeletedObject(term);
|
|
97 | 97 |
} |
98 | 98 |
} |
99 | 99 |
return result; |
100 | 100 |
} |
101 | 101 |
|
102 | 102 |
@Override |
103 |
public UpdateResult createChildFeatureNode(FeatureNode node, Feature featureChild){
|
|
104 |
Feature feature = (Feature) termService.save(featureChild);
|
|
103 |
public UpdateResult createChildFeatureNode(FeatureNode node, DefinedTermBase term){
|
|
104 |
Feature feature = (Feature) termService.save(term);
|
|
105 | 105 |
return addChildFeatureNode(node, feature); |
106 | 106 |
} |
107 | 107 |
|
108 | 108 |
@Override |
109 |
public UpdateResult addChildFeatureNode(FeatureNode node, Feature featureChild){
|
|
109 |
public UpdateResult addChildFeatureNode(FeatureNode node, DefinedTermBase featureChild){
|
|
110 | 110 |
return addChildFeatureNode(node, featureChild, 0); |
111 | 111 |
} |
112 | 112 |
|
113 | 113 |
@Override |
114 |
public UpdateResult addChildFeatureNode(UUID nodeUUID, UUID featureChildUuid){
|
|
115 |
return addChildFeatureNode(nodeUUID, featureChildUuid, 0);
|
|
114 |
public UpdateResult addChildFeatureNode(UUID nodeUUID, UUID termChildUuid){
|
|
115 |
return addChildFeatureNode(nodeUUID, termChildUuid, 0);
|
|
116 | 116 |
} |
117 | 117 |
|
118 | 118 |
@Override |
119 |
public UpdateResult addChildFeatureNode(UUID nodeUUID, UUID featureChildUuid, int position){
|
|
119 |
public UpdateResult addChildFeatureNode(UUID nodeUUID, UUID termChildUuid, int position){
|
|
120 | 120 |
FeatureNode node = load(nodeUUID); |
121 |
Feature child = HibernateProxyHelper.deproxy(termService.load(featureChildUuid), Feature.class);
|
|
121 |
Feature child = HibernateProxyHelper.deproxy(termService.load(termChildUuid), Feature.class);
|
|
122 | 122 |
return addChildFeatureNode(node, child, position); |
123 | 123 |
} |
124 | 124 |
|
125 | 125 |
@Override |
126 |
public UpdateResult addChildFeatureNode(FeatureNode node, Feature featureChild, int position){
|
|
127 |
FeatureNode childNode = FeatureNode.NewInstance(featureChild);
|
|
126 |
public UpdateResult addChildFeatureNode(FeatureNode node, DefinedTermBase term, int position){
|
|
127 |
FeatureNode childNode = FeatureNode.NewInstance(term);
|
|
128 | 128 |
UpdateResult result = new UpdateResult(); |
129 | 129 |
if(position<0) { |
130 | 130 |
node.addChild(childNode); |
Also available in: Unified diff
ref #8153 Adapt cdmlib to model changes