From 0e8f69895dff37b5516824b7b0947b2cab9fe4a5 Mon Sep 17 00:00:00 2001 From: Karoline Wild Date: Wed, 11 Jan 2023 13:57:45 +0100 Subject: [PATCH] Fixes for multi participant support (#693) Signed-off-by: Karoline Saatkamp Co-authored-by: Lukas Harzenetter --- .../runConfigurations/TOSCA_Mangement_UI.xml | 22 +- .idea/runConfigurations/Topologymodeler.xml | 22 +- .idea/runConfigurations/Winery.xml | 4 +- .../configuration/UiConfigurationObject.java | 17 +- .../configuration/EnvironmentsTest.java | 5 - .../winery/edmm/model/EdmmConverter.java | 1 + .../src/app/canvas/canvas.component.ts | 190 +- .../src/app/models/topologyTemplateUtil.ts | 4 +- .../src/app/models/ttopology-template.ts | 63 +- .../multi-participants.component.ts | 25 +- .../src/app/navbar/navbar.component.html | 13 +- .../src/app/node/node.component.css | 14 +- .../toscatype-table.component.ts | 12 +- .../problemDetection.component.css | 128 + .../problemDetection.component.html | 85 +- .../problemDetection.component.ts | 31 +- .../redux/actions/topologyRenderer.actions.ts | 12 + .../reducers/topologyRenderer.reducer.ts | 26 +- .../src/app/redux/reducers/winery.reducer.ts | 62 +- .../src/app/services/backend.service.ts | 7 +- .../src/app/services/error-handler.service.ts | 2 +- .../services/split-match-topology.service.ts | 59 - .../placeholderSubstitution.component.html | 81 + .../placeholderSubstitution.component.ts | 163 + ...laceholderSubstitutionWebSocket.service.ts | 61 + .../abstractRefinementWebSocket.service.ts | 28 +- .../research-plugins.component.html | 6 +- .../splitting-matching/injectorData.ts | 33 +- .../splitting-matching/matchingEntity.ts | 27 + .../split-match-topology.component.css | 185 + .../split-match-topology.component.html | 74 + .../split-match-topology.component.ts | 182 + .../split-match-topology.service.ts | 120 + .../src/app/winery.component.html | 1 + .../topologymodeler/src/app/winery.module.ts | 16 +- .../package-lock.json | 13740 +--------------- .../adaptation/placement/PlacementUtils.java | 13 +- .../problemsolving/SolutionFactory.java | 3 + .../algorithms/AbstractProxyAlgorithm.java | 70 + .../AbstractSecureProxyAlgorithm.java | 37 +- .../algorithms/PubSubProxyAlgorithm.java | 176 + .../refinement/AbstractRefinement.java | 6 + .../HostingStackCharacteristics.java | 82 + .../placeholder/PlaceholderSubstitution.java | 310 + .../PlaceholderSubstitutionCandidate.java | 87 + .../PlaceholderSubstitutionException.java | 21 + .../placeholder/SubstitutionChooser.java | 23 +- .../PlaceholderSubstitutionTest.java | 62 + .../winery/model/tosca/TTopologyTemplate.java | 8 +- .../tosca/constants/OpenToscaBaseTypes.java | 21 + .../model/tosca/utils/ModelUtilities.java | 68 +- org.eclipse.winery.repository.client/pom.xml | 2 +- .../client/WineryRepositoryClient.java | 17 +- .../winery/repository/rest/RestUtils.java | 11 +- .../repository/rest/datatypes/FileMeta.java | 20 +- .../AbstractComponentInstanceResource.java | 2 +- .../_support/GenericFileResource.java | 2 +- .../GenericVisualAppearanceResource.java | 2 +- .../injectionadapter/Injection.java | 32 +- .../InjectionDataMapAdapter.java | 42 - .../InjectionOptionsMapAdapter.java | 43 - ...eData.java => InjectionSelectionData.java} | 39 +- .../InjectorReplaceOptions.java | 32 +- ...nOption.java => NodeInjectionOptions.java} | 38 +- ...PlaceholderSubstitutionElementApiData.java | 39 + .../ServiceTemplateResource.java | 306 +- .../TopologyTemplateResource.java | 29 +- .../PlaceholderSubstitutionWebSocket.java | 174 + .../rest/resources/AbstractResourceTest.java | 2 +- .../PlacementModelsResourceTest.java | 5 +- .../ServiceTemplateResourceTest.java | 13 +- ...rviceTemplateResource-Injection-input.json | 14 + ...tInjectionOptions-DriverInjectionTest.json | 204 +- ...eTemplateResource-getInjectionOptions.json | 286 +- ...ionsWithoutOpenRequirements-badrequest.txt | 1 - ...njectorOptionsWithoutOpenRequirements.json | 8 + ...deTemplates-input-DriverInjectionTest.json | 77 +- ...teResource-injectNodeTemplates-input2.json | 161 - .../TestWithGitBackedRepository.java | 22 +- .../repository/backend/BackendUtils.java | 64 +- .../DASpecification.java | 10 +- .../DriverInjection.java | 31 +- .../DriverInjectionException.java | 21 + .../splitting/ProviderRepository.java | 101 +- .../repository/splitting/Splitting.java | 545 +- .../criteria/CriteriaCommon.java | 2 +- .../criteria/fulfillpolicies/SplitByIds.java | 2 +- .../util/TopologyWrapper.java | 4 +- .../DASpecificationTest.java | 10 +- .../DriverInjectionTest.java | 8 +- .../repository/splitting/SplittingTest.java | 29 +- .../fulfilpolicies/FulfillPoliciesTest.java | 3 + .../criteria/minhosts/MinHostsTest.java | 3 + .../transformation/ToscaTransformer.java | 17 +- 94 files changed, 3524 insertions(+), 15457 deletions(-) delete mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/services/split-match-topology.service.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/placeholderSubstitution/placeholderSubstitution.component.html create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/placeholderSubstitution/placeholderSubstitution.component.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/placeholderSubstitution/placeholderSubstitutionWebSocket.service.ts rename org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/_support/dataadapter/injectionadapter/InjectionOptions.java => org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/splitting-matching/injectorData.ts (50%) create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/splitting-matching/matchingEntity.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/splitting-matching/split-match-topology.component.css create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/splitting-matching/split-match-topology.component.html create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/splitting-matching/split-match-topology.component.ts create mode 100644 org.eclipse.winery.frontends/app/topologymodeler/src/app/sidebars/splitting-matching/split-match-topology.service.ts create mode 100644 org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/problemsolving/algorithms/AbstractProxyAlgorithm.java create mode 100644 org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/problemsolving/algorithms/PubSubProxyAlgorithm.java create mode 100644 org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/substitution/refinement/placeholder/HostingStackCharacteristics.java create mode 100644 org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/substitution/refinement/placeholder/PlaceholderSubstitution.java create mode 100644 org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/substitution/refinement/placeholder/PlaceholderSubstitutionCandidate.java create mode 100644 org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/substitution/refinement/placeholder/PlaceholderSubstitutionException.java rename org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/_support/dataadapter/injectionadapter/Injections.java => org.eclipse.winery.model.adaptation/src/main/java/org/eclipse/winery/model/adaptation/substitution/refinement/placeholder/SubstitutionChooser.java (54%) create mode 100644 org.eclipse.winery.model.adaptation/src/test/java/org/eclipse/winery/model/adaptation/substitution/refinement/placeholder/PlaceholderSubstitutionTest.java delete mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/_support/dataadapter/injectionadapter/InjectionDataMapAdapter.java delete mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/_support/dataadapter/injectionadapter/InjectionOptionsMapAdapter.java rename org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/_support/dataadapter/injectionadapter/{InjectorReplaceData.java => InjectionSelectionData.java} (53%) rename org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/_support/dataadapter/injectionadapter/{InjectionOption.java => NodeInjectionOptions.java} (57%) create mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/resources/apiData/PlaceholderSubstitutionElementApiData.java create mode 100644 org.eclipse.winery.repository.rest/src/main/java/org/eclipse/winery/repository/rest/websockets/PlaceholderSubstitutionWebSocket.java create mode 100644 org.eclipse.winery.repository.rest/src/test/resources/servicetemplates/ServiceTemplateResource-Injection-input.json delete mode 100644 org.eclipse.winery.repository.rest/src/test/resources/servicetemplates/ServiceTemplateResource-getInjectorOptionsWithoutOpenRequirements-badrequest.txt create mode 100644 org.eclipse.winery.repository.rest/src/test/resources/servicetemplates/ServiceTemplateResource-getInjectorOptionsWithoutOpenRequirements.json delete mode 100644 org.eclipse.winery.repository.rest/src/test/resources/servicetemplates/ServiceTemplateResource-injectNodeTemplates-input2.json create mode 100644 org.eclipse.winery.repository/src/main/java/org/eclipse/winery/repository/driverspecificationandinjection/DriverInjectionException.java diff --git a/.idea/runConfigurations/TOSCA_Mangement_UI.xml b/.idea/runConfigurations/TOSCA_Mangement_UI.xml index 0bfc5a548f..2f33708d60 100644 --- a/.idea/runConfigurations/TOSCA_Mangement_UI.xml +++ b/.idea/runConfigurations/TOSCA_Mangement_UI.xml @@ -1,12 +1,12 @@ - - - - -