blob: 9d11eb9aaf150af9e82b836dfb57fdbe98470503 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package org.openecomp.sdc.be.components.merge.resource;
import org.openecomp.sdc.be.components.merge.GlobalTypesMergeBusinessLogic;
import org.openecomp.sdc.be.components.merge.TopologyComparator;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.model.Resource;
import org.springframework.stereotype.Component;
import fj.data.Either;
@Component
public class MergeResourceBLFactory {
@javax.annotation.Resource
private ResourceDataMergeBusinessLogic resourceDataMergeBusinessLogic;
@javax.annotation.Resource
private GlobalTypesMergeBusinessLogic globalTypesMergeBusinessLogic;
@javax.annotation.Resource
private TopologyComparator topologyComparator;
public Either<MergeResourceBusinessLogic, ActionStatus> getInstance(Resource oldResource, Resource newResource) {
Either<Boolean, ActionStatus> isTopologyChangeEither = topologyComparator.isTopologyChanged(oldResource, newResource);
return isTopologyChangeEither.bimap(this::getInstance, actionStatus -> actionStatus);
}
private MergeResourceBusinessLogic getInstance(boolean topologyChanged) {
return topologyChanged ? globalTypesMergeBusinessLogic : resourceDataMergeBusinessLogic;
}
}
|