1 package org.openecomp.sdc.asdctool.impl.migration.v1707;
6 import org.openecomp.sdc.asdctool.impl.migration.Migration1707Task;
7 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.*;
8 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.relations.FulfilledCapabilitiesMigrationService;
9 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.relations.FulfilledRequirementsMigrationService;
10 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.relations.RequirementsCapabilitiesMigrationService;
11 import org.openecomp.sdc.be.dao.TitanClientStrategy;
12 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
13 import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
14 import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
15 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
16 import org.openecomp.sdc.be.model.Resource;
17 import org.openecomp.sdc.be.model.Service;
18 import org.openecomp.sdc.be.model.jsontitan.operations.ArtifactsOperations;
19 import org.openecomp.sdc.be.model.jsontitan.operations.CategoryOperation;
20 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
21 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTypeOperation;
22 import org.openecomp.sdc.be.model.jsontitan.operations.TopologyTemplateOperation;
23 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaDataOperation;
24 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaElementLifecycleOperation;
25 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
26 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
27 import org.openecomp.sdc.be.model.operations.api.IUserAdminOperation;
28 import org.openecomp.sdc.be.model.operations.api.ToscaDefinitionPathCalculator;
29 import org.openecomp.sdc.be.model.operations.impl.ConsumerOperation;
30 import org.openecomp.sdc.be.model.operations.impl.ElementOperation;
31 import org.openecomp.sdc.be.model.operations.impl.GroupTypeOperation;
32 import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
33 import org.openecomp.sdc.be.model.operations.impl.ToscaDefinitionPathCalculatorImpl;
34 import org.openecomp.sdc.be.model.operations.impl.UserAdminOperation;
35 import org.springframework.beans.factory.annotation.Qualifier;
36 import org.springframework.context.annotation.Bean;
37 import org.springframework.context.annotation.Configuration;
38 import org.springframework.context.annotation.Primary;
39 import org.springframework.core.annotation.Order;
42 public class Migration1707Config {
45 @Bean(name = "migration1707")
46 public Migration1707 migration1707(List<Migration1707Task> migrations) {
47 return new Migration1707(migrations);
50 @Bean(name = "renameGraphPropertyKeysMigration")
52 public Migration1707Task renameGraphPropertyKeysMigration() {
53 return new RenameGraphPropertyKeys();
56 @Bean(name = "toscaNamesUpdate")
58 public Migration1707Task toscaNamesUpdate() {
59 return new ToscaNamesUpdate();
62 @Bean(name = "users-migration")
64 public Migration1707Task usersMigration() {
65 return new UsersMigration();
68 @Bean(name = "resource-category-migration")
70 public Migration1707Task resourceCategoriesMigration() {
71 return new ResourcesCategoriesMigration();
74 @Bean(name = "service-category-migration")
76 public Migration1707Task serviceCategoriesMigration() {
77 return new ServiceCategoriesMigration();
80 @Bean(name = "normatives-migration")
82 public Migration1707Task normativesMigration() {
83 return new NormativesMigration();
86 @Bean(name = "vf-migration")
88 public Migration1707Task vfMigration() {
89 return new VFResourcesMigration();
92 @Bean(name = "service-migration")
94 public Migration1707Task serviceMigration() {
95 return new ServicesMigration();
98 @Bean(name = "consumers-migration")
100 public Migration1707Task consumersMigration() { return new ConsumersMigration(); }
102 @Bean(name = "tosca-template-regeneration")
104 public Migration1707Task ToscaTemplateRegeneration() {
105 return new ToscaTemplateRegeneration();
108 @Bean(name = "distributionStatusUpdate")
109 public DistributionStatusUpdate distributionStatusUpdate() {
110 return new DistributionStatusUpdate();
113 @Bean("resource-version-migration")
114 public VersionMigration<Resource> resourceVersionMigration() {
115 return new ResourceVersionMigration();
118 @Bean("service-version-migration")
119 public VersionMigration<Service> serviceVersionMigration() {
120 return new ServiceVersionMigration();
123 @Bean(name = "normatives-resolver")
124 public NormativesResolver normativesResolver() {
125 return new NormativesResolver();
128 @Bean(name = "property-operation-mig")
129 public PropertyOperation propertyOperation(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
130 return new PropertyOperation(titanGenericDao);
133 @Bean(name = "group-type-operation-mig")
134 public GroupTypeOperation groupTypeOperation(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao, @Qualifier("property-operation-mig") PropertyOperation propertyOperation) {
135 return new GroupTypeOperation(titanGenericDao, propertyOperation);
138 @Bean(name = "titan-generic-dao-migration")
139 public TitanGenericDao titanGenericDaoMigration(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
140 return new TitanGenericDao(titanGraphClient);
143 @Bean(name = "migration-titan-strategy")
144 public TitanClientStrategy migrationStrategy() {
145 return new MigrationTitanStrategy();
148 @Bean(name = "migration-titan-client", initMethod = "createGraph")
149 public TitanGraphClient titanMigrationClient(@Qualifier("migration-titan-strategy") TitanClientStrategy titanClientStrategy) {
150 return new TitanGraphClient(titanClientStrategy);
153 @Bean(name = "user-operation-migration")
154 public IUserAdminOperation userOperationNewKeySpace(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
155 return new UserAdminOperation(titanGenericDao);
158 @Bean(name = "element-operation-migration")
159 public IElementOperation elementOperationNewKeyspace(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
160 return new ElementOperation(titanGenericDao);
163 @Bean(name = "tosca-operation-facade")
164 public ToscaOperationFacade toscaOperationFacade() {
165 return new ToscaOperationFacade();
168 @Bean(name = "node-type-operation")
169 public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
170 return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
173 @Bean(name = "topology-template-operation")
174 public TopologyTemplateOperation topologyTemplateOperation() {
175 return new TopologyTemplateOperation();
178 @Bean(name = "node-template-operation")
179 public NodeTemplateOperation nodeTemplateOperation() {
180 return new NodeTemplateOperation();
183 @Bean(name = "titan-dao")
184 public TitanDao titanDao(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
185 return new TitanDao(titanGraphClient);
188 @Bean(name = "category-operation")
189 public CategoryOperation categoryOperation() {
190 return new CategoryOperation();
193 @Bean(name = "artifacts-operation")
194 public ArtifactsOperations artifactsOperation() {
195 return new ArtifactsOperations();
198 @Bean(name = "tosca-data-operation")
199 public ToscaDataOperation toscaDataOperation() {
200 return new ToscaDataOperation();
203 @Bean(name = "tosca-element-lifecycle-operation")
204 public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
205 return new ToscaElementLifecycleOperation();
208 @Bean(name = "tosca-path-calculator")
209 public ToscaDefinitionPathCalculator pathCalculator() {
210 return new ToscaDefinitionPathCalculatorImpl();
213 @Bean(name = "fulfilled-capabilities-mig-service")
214 public FulfilledCapabilitiesMigrationService fulfilledCapabilitiesMigService() {
215 return new FulfilledCapabilitiesMigrationService();
218 @Bean(name = "fulfilled-requirements-mig-service")
219 public FulfilledRequirementsMigrationService requirementsMigService() {
220 return new FulfilledRequirementsMigrationService();
223 @Bean(name ="req-cap-mig-service")
224 public RequirementsCapabilitiesMigrationService reqCapMigService() {
225 return new RequirementsCapabilitiesMigrationService();
228 @Bean(name = "mig-derived-resolver")
229 public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
230 return new MigrationByIdDerivedNodeTypeResolver();
233 @Bean(name = "invariant-uuid-resolver")
234 public InvariantUUIDResolver invariantUUIDResolver() {
235 return new InvariantUUIDResolver();
238 @Bean(name="consumer-operation-mig")
240 public ConsumerOperation consumerOperation(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
241 return new ConsumerOperation(titanGenericDao);
244 @Bean(name = "vfModulesPropertiesAdding")
245 public VfModulesPropertiesAdding vfModulesPropertiesAdding() {
246 return new VfModulesPropertiesAdding();
249 @Bean(name = "node-template-missing-data-resolver")
250 public NodeTemplateMissingDataResolver nodeTemplateMissingDataResolver() {
251 return new NodeTemplateMissingDataResolver<>();