Move Container to Winery Model for Tosca interactions#78
Merged
lharzenetter merged 390 commits intomasterfrom Jun 18, 2020
Merged
Move Container to Winery Model for Tosca interactions#78lharzenetter merged 390 commits intomasterfrom
lharzenetter merged 390 commits intomasterfrom
Conversation
b9d7ce2 to
8be4fcf
Compare
Merged
miwurster
pushed a commit
that referenced
this pull request
Jan 28, 2019
This removes the disused legacy api. It preempts this change from the pull-request that moves the tosca model to the winery provisioned model and thus eliminates a source of conflicts for #78. That way it also removes over a quarter of the current deletions from the diff.
This is intended to fix the ClassNotFound issues around commons-configuration2. As of this commit, it introduces an issue with serialization, though.
ea0c963 to
946a92e
Compare
This also adjusts the project structures to follow the default maven conventions of using src/main/java as root folder for all java files.
75164fb to
2d47640
Compare
…builder pending it's migration to winery model
This sidesteps the issue of the unwrapping process being specific to the persistence-provider, formerly eclipselink, now h2 / hibernate.
fix logging of api errors
This reverts commit a746436.
0421630 to
09899f5
Compare
…merges # Conflicts: # .gitignore # org.opentosca.bus.management.service.impl/src/org/opentosca/bus/management/service/impl/ManagementBusServiceImpl.java # org.opentosca.container.api/OSGI-INF/ServiceTemplateController.xml # org.opentosca.container.api/src/org/opentosca/container/api/controller/CsarController.java # org.opentosca.container.api/src/org/opentosca/container/api/controller/RootController.java # org.opentosca.container.api/src/org/opentosca/container/api/controller/ServiceTemplateController.java # org.opentosca.container.api/src/org/opentosca/container/api/controller/ServiceTemplateInstanceController.java # org.opentosca.container.api/src/org/opentosca/container/api/controller/SituationsController.java # org.opentosca.container.api/src/org/opentosca/container/api/dto/plan/PlanDTO.java # org.opentosca.container.api/src/org/opentosca/container/api/dto/plan/PlanInstanceEventDTO.java # org.opentosca.container.api/src/org/opentosca/container/api/dto/situations/SituationTriggerDTO.java # org.opentosca.container.api/src/org/opentosca/container/api/service/CsarService.java # org.opentosca.container.api/src/org/opentosca/container/api/service/InstanceService.java # org.opentosca.container.api/src/org/opentosca/container/api/service/PlanService.java # org.opentosca.container.core.impl/src/org/opentosca/container/core/impl/plan/PlanInvocationEngine.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/convention/Interfaces.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/convention/Types.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/convention/Utils.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/extension/PlanInvocationEvent.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/extension/TParameter.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/extension/TPlanDTO.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/model/TParameter.java # org.opentosca.container.core.tosca/src/org/opentosca/container/core/tosca/model/TPlan.java # org.opentosca.container.core/src/org/opentosca/container/core/next/model/PlanInstance.java # org.opentosca.container.core/src/org/opentosca/container/core/next/model/PlanInstanceEvent.java # org.opentosca.container.core/src/org/opentosca/container/core/next/model/SituationTrigger.java # org.opentosca.container.core/src/org/opentosca/container/core/next/repository/PlanInstanceRepository.java # org.opentosca.container.core/src/org/opentosca/container/core/next/trigger/SituationTriggerInstanceListener.java # org.opentosca.container.engine.plan.plugin.bpel/META-INF/MANIFEST.MF # org.opentosca.container.engine.plan.plugin.bpel/src/org/opentosca/container/engine/plan/plugin/bpel/BpelPlanEnginePlugin.java # org.opentosca.container.feature/feature.xml # org.opentosca.container.product/org.opentosca.container.product # org.opentosca.planbuilder.core.bpel/src/main/resources/core-bpel/BPELWaitTillTrue.xml # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/artifactbasednodehandler/InterfaceDummy.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/artifactbasednodehandler/OperationChain.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/context/BPELPlanContext.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/fragments/BPELProcessFragments.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/handlers/BPELFinalizer.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/handlers/BPELPlanHandler.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/handlers/BPELScopeHandler.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/tosca/handlers/NodeRelationInstanceVariablesHandler.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasednodehandler/BPELPluginHandler.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELBackupManagementProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELBuildProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELDefrostProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELFreezeProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELPolicyAwareBuildProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELScaleOutProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELTestManagementProcessBuilder.java # org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/typebasedplanbuilder/BPELTransformationProcessBuilder.java # org.opentosca.planbuilder.integration/src/org/opentosca/planbuilder/export/Exporter.java # org.opentosca.planbuilder.integration/src/org/opentosca/planbuilder/importer/context/impl/InterfaceImpl.java # org.opentosca.planbuilder.integration/src/org/opentosca/planbuilder/importer/context/impl/OperationImpl.java # org.opentosca.planbuilder.model/src/org/opentosca/planbuilder/model/plan/bpel/BPELScope.java # org.opentosca.planbuilder.model/src/org/opentosca/planbuilder/model/tosca/AbstractDefinitions.java # org.opentosca.planbuilder.model/src/org/opentosca/planbuilder/model/tosca/AbstractNodeType.java # org.opentosca.planbuilder.model/src/org/opentosca/planbuilder/model/tosca/AbstractOperation.java # org.opentosca.planbuilder.model/src/org/opentosca/planbuilder/model/tosca/AbstractRelationshipTemplate.java # org.opentosca.planbuilder.postphase.plugin.instancedata/src/org/opentosca/planbuilder/postphase/plugin/instancedata/bpel/BPELInstanceDataPlugin.java # org.opentosca.planbuilder.postphase.plugin.instancedata/src/org/opentosca/planbuilder/postphase/plugin/instancedata/bpel/Handler.java # org.opentosca.planbuilder.postphase.plugin.monitoring/src/org/opentosca/planbuilder/postphase/plugin/monitoring/bpel/impl/BPELMonitoringPlugin.java # org.opentosca.planbuilder.postphase.plugin.vinothek/src/org/opentosca/planbuilder/postphase/plugin/vinothek/bpel/BPELVinothekPlugin.java # org.opentosca.planbuilder.postphase.plugin.vinothek/src/org/opentosca/planbuilder/postphase/plugin/vinothek/core/VinothekPlugin.java # org.opentosca.planbuilder.provphase.plugin.invoker/src/org/opentosca/planbuilder/provphase/plugin/invoker/bpel/BPELInvokerPlugin.java # org.opentosca.planbuilder.provphase.plugin.invoker/src/org/opentosca/planbuilder/provphase/plugin/invoker/bpel/handlers/BPELInvokerPluginHandler.java # org.opentosca.planbuilder.provphase.plugin.invoker/src/org/opentosca/planbuilder/provphase/plugin/invoker/bpel/handlers/ResourceHandler.java # org.opentosca.planbuilder.service/META-INF/MANIFEST.MF # org.opentosca.planbuilder.service/src/org/opentosca/planbuilder/service/resources/RootResource.java # org.opentosca.planbuilder.type.plugin.dockercontainer/src/org/opentosca/planbuilder/type/plugin/dockercontainer/bpel/BPELDockerContainerTypePlugin.java # org.opentosca.planbuilder.type.plugin.dockercontainer/src/org/opentosca/planbuilder/type/plugin/dockercontainer/bpel/handler/BPELDockerContainerTypePluginHandler.java # org.opentosca.planbuilder.type.plugin.hardware/src/org/opentosca/planbuilder/type/plugin/hardware/HardwarePlugin.java # org.opentosca.planbuilder.type.plugin.patternbased/src/org/opentosca/planbuilder/type/plugin/patternbased/bpel/ContainerPatternBasedHandler.java # org.opentosca.planbuilder.type.plugin.patternbased/src/org/opentosca/planbuilder/type/plugin/patternbased/bpel/LifecyclePatternBasedHandler.java # org.opentosca.planbuilder.type.plugin.patternbased/src/org/opentosca/planbuilder/type/plugin/patternbased/bpel/PatternBasedPlugin.java # org.opentosca.planbuilder/src/org/opentosca/planbuilder/AbstractTransformingPlanbuilder.java # org.opentosca.planbuilder/src/org/opentosca/planbuilder/plugins/typebased/IPlanBuilderPostPhasePlugin.java Signed-off-by: Kálmán Képes <kalman.kepes@iaas.uni-stuttgart.de>
# Conflicts: # org.opentosca.container.war/pom.xml Signed-off-by: Kálmán Képes <kalman.kepes@iaas.uni-stuttgart.de>
Signed-off-by: Kálmán Képes <kalman.kepes@iaas.uni-stuttgart.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Short Description
This change drops the duplication of the Tosca-Model by the container and instead directly uses the model exposed by the winery. It additionally changes the representation of CSARs used by the container. Instead of a self-rolled half-unpacked representation that necessitates resolving any contents of the CSAR through XML-Queries, a Csar is now encapsulated into a standalone winery
IRepositorythat exposes query methods acting on the aforementioned winery model.Additionally this PullRequest completely removes OSGI and all references to it from the codebase. Dependency Injection is instead performed through Spring using the standard
javax.inject.@Injectannotation. The Event system of OSGI (which was only used for communication with the management bus) has been replaced with a direct invocation against a java bean.There is no longer any way to add plugins to the container at runtime, but plugins on the classpath during startup that are correctly registered as spring-beans will be discovered and used.
Current Status / Functionality
The core functionality for Csars is working with the current changes. This notably includes uploading (including plan-generation), deployment and termination verified for MyTinyToDo_Bare_Docker and HomeAssistant_Bare_Docker.
A variety of different issues around other functionalities remains present. Most notably the following functionalities are broken at time of writing:
Next Steps
The next steps revolve around replacing the last usages of
IToscaReferenceMapper, which is functionally broken as well as getting to parity of functionality with the mainline to enable merging this massive set of changes