|
74 | 74 | import org.opentosca.container.core.next.model.ServiceTemplateInstance;
|
75 | 75 | import org.opentosca.container.core.next.repository.NodeTemplateInstanceRepository;
|
76 | 76 | import org.opentosca.container.core.next.repository.PlanInstanceRepository;
|
| 77 | +import org.opentosca.container.core.next.repository.RelationshipTemplateInstanceRepository; |
77 | 78 | import org.opentosca.container.core.next.trigger.SituationTriggerInstanceListener;
|
78 | 79 | import org.opentosca.container.core.plan.ChoreographyHandler;
|
79 | 80 | import org.opentosca.container.core.service.CsarStorageService;
|
@@ -143,16 +144,18 @@ public class ManagementBusServiceImpl implements IManagementBusService {
|
143 | 144 | private final PlanInstanceRepository planInstanceRepository;
|
144 | 145 |
|
145 | 146 | private final NodeTemplateInstanceRepository nodeTemplateInstanceRepository;
|
| 147 | + private final RelationshipTemplateInstanceRepository relationshipTemplateInstanceRepository; |
146 | 148 |
|
147 | 149 | @Inject
|
148 | 150 | public ManagementBusServiceImpl(DeploymentDistributionDecisionMaker decisionMaker,
|
149 | 151 | CollaborationContext collaborationContext, ICoreEndpointService endpointService,
|
150 | 152 | ParameterHandler parameterHandler, PluginHandler pluginHandler,
|
151 | 153 | PluginRegistry pluginRegistry, DeploymentPluginCapabilityChecker capabilityChecker,
|
152 | 154 | CsarStorageService storage, ChoreographyHandler choreographyHandler, MBUtils mbUtils,
|
153 |
| - PlanInstanceHandler planInstanceHandler, PlanInstanceRepository planInstanceRepository, NodeTemplateInstanceRepository nodeTemplateInstanceRepository) { |
| 155 | + PlanInstanceHandler planInstanceHandler, PlanInstanceRepository planInstanceRepository, NodeTemplateInstanceRepository nodeTemplateInstanceRepository, RelationshipTemplateInstanceRepository relationshipTemplateInstanceRepository) { |
154 | 156 | LOG.info("Instantiating ManagementBus Service");
|
155 | 157 | this.nodeTemplateInstanceRepository = nodeTemplateInstanceRepository;
|
| 158 | + this.relationshipTemplateInstanceRepository = relationshipTemplateInstanceRepository; |
156 | 159 | this.planInstanceRepository = planInstanceRepository;
|
157 | 160 | this.planInstanceHandler = planInstanceHandler;
|
158 | 161 | this.mbUtils = mbUtils;
|
@@ -1384,7 +1387,13 @@ private void updateConnectedNodeTemplateInstance(NodeTemplateInstance nodeTempla
|
1384 | 1387 | Optional<RelationshipTemplateInstance> optional = nodeTemplateInstance.getOutgoingRelations().stream().filter(rel -> rel.getTemplateType().equals(hostedOnRelationType)).findFirst();
|
1385 | 1388 |
|
1386 | 1389 | if (optional.isPresent()) {
|
1387 |
| - NodeTemplateInstance target = optional.get().getTarget(); |
| 1390 | + RelationshipTemplateInstance relation = optional.get(); |
| 1391 | + LOG.debug("Found RelationshipTemplateInstance with ID: {}", relation.getTemplateId()); |
| 1392 | + relation = relationshipTemplateInstanceRepository.findWithPropertiesById(relation.getId()); |
| 1393 | + |
| 1394 | + NodeTemplateInstance target = relation.getTarget(); |
| 1395 | + LOG.debug("Searching for NodeTemplateInstance with ID: {}", target.getTemplateId()); |
| 1396 | + target = nodeTemplateInstanceRepository.findWithPropertiesAndOutgoingById(target.getId()).get(); |
1388 | 1397 | LOG.debug("Found connected NodeTemplateInstance via hostedOn relation: {}", target.getTemplateId());
|
1389 | 1398 |
|
1390 | 1399 | // get properties of connected NodeTemplateInstance
|
|
0 commit comments