[SDC-29] rebase continue work to align source
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / impl / migration / v1707 / Migration1707Config.java
1 package org.openecomp.sdc.asdctool.impl.migration.v1707;
2
3
4 import java.util.List;
5
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;
40
41 @Configuration
42 public class Migration1707Config {
43
44
45     @Bean(name = "migration1707")
46     public Migration1707 migration1707(List<Migration1707Task> migrations) {
47         return new Migration1707(migrations);
48     }
49
50     //@Bean(name = "renameGraphPropertyKeysMigration")
51     //@Order(1)
52     //public Migration1707Task renameGraphPropertyKeysMigration() {
53      //   return new RenameGraphPropertyKeys();
54    // }
55
56     //@Bean(name = "toscaNamesUpdate")
57     //@Order(2)
58     //public Migration1707Task toscaNamesUpdate() {
59     //    return new ToscaNamesUpdate();
60     //}
61
62     @Bean(name = "users-migration")
63     @Order(1)
64     public Migration1707Task usersMigration() {
65         return new UsersMigration();
66     }
67
68     @Bean(name = "resource-category-migration")
69     @Order(2)
70     public Migration1707Task resourceCategoriesMigration() {
71         return new ResourcesCategoriesMigration();
72     }
73
74     @Bean(name = "service-category-migration")
75     @Order(3)
76     public Migration1707Task serviceCategoriesMigration() {
77         return new ServiceCategoriesMigration();
78     }
79
80     @Bean(name = "normatives-migration")
81     @Order(4)
82     public Migration1707Task normativesMigration() {
83         return new NormativesMigration();
84     }
85
86     @Bean(name = "vf-migration")
87     @Order(5)
88     public Migration1707Task vfMigration() {
89         return new VFResourcesMigration();
90     }
91
92     @Bean(name = "service-migration")
93     @Order(6)
94     public Migration1707Task serviceMigration() {
95         return new ServicesMigration();
96     }
97
98     @Bean(name = "consumers-migration")
99     @Order(7)
100     public Migration1707Task consumersMigration() { return new ConsumersMigration(); }
101
102     @Bean(name = "tosca-template-regeneration")
103     @Order(8)
104     public Migration1707Task ToscaTemplateRegeneration() {
105         return new ToscaTemplateRegeneration();
106     }
107
108     @Bean(name = "distributionStatusUpdate")
109     public DistributionStatusUpdate distributionStatusUpdate() {
110         return new DistributionStatusUpdate();
111     }
112
113     @Bean("resource-version-migration")
114     public VersionMigration<Resource> resourceVersionMigration() {
115         return new ResourceVersionMigration();
116     }
117
118     @Bean("service-version-migration")
119     public VersionMigration<Service> serviceVersionMigration() {
120         return new ServiceVersionMigration();
121     }
122
123     @Bean(name = "normatives-resolver")
124     public NormativesResolver normativesResolver() {
125         return new NormativesResolver();
126     }
127     
128         @Bean(name = "property-operation-mig")
129         public PropertyOperation propertyOperation(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
130                 return new PropertyOperation(titanGenericDao);
131         } 
132         
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);
136     }
137
138     @Bean(name = "titan-generic-dao-migration")
139     public TitanGenericDao titanGenericDaoMigration(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
140         return new TitanGenericDao(titanGraphClient);
141     }
142
143     @Bean(name = "migration-titan-strategy")
144     public TitanClientStrategy migrationStrategy() {
145         return new MigrationTitanStrategy();
146     }
147
148     @Bean(name = "migration-titan-client", initMethod = "createGraph")
149     public TitanGraphClient titanMigrationClient(@Qualifier("migration-titan-strategy") TitanClientStrategy titanClientStrategy) {
150         return new TitanGraphClient(titanClientStrategy);
151     }
152
153     @Bean(name = "user-operation-migration")
154     public IUserAdminOperation userOperationNewKeySpace(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
155         return new UserAdminOperation(titanGenericDao);
156     }
157
158     @Bean(name = "element-operation-migration")
159     public IElementOperation elementOperationNewKeyspace(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
160         return new ElementOperation(titanGenericDao);
161     }
162
163     @Bean(name = "tosca-operation-facade")
164     public ToscaOperationFacade toscaOperationFacade() {
165         return new ToscaOperationFacade();
166     }
167
168     @Bean(name = "node-type-operation")
169     public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
170         return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
171     }
172
173     @Bean(name = "topology-template-operation")
174     public TopologyTemplateOperation topologyTemplateOperation() {
175         return new TopologyTemplateOperation();
176     }
177
178     @Bean(name = "node-template-operation")
179     public NodeTemplateOperation nodeTemplateOperation() {
180         return new NodeTemplateOperation();
181     }
182
183     @Bean(name = "titan-dao")
184     public TitanDao titanDao(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
185         return new TitanDao(titanGraphClient);
186     }
187
188     @Bean(name = "category-operation")
189     public CategoryOperation categoryOperation() {
190         return new CategoryOperation();
191     }
192
193     @Bean(name = "artifacts-operation")
194     public ArtifactsOperations artifactsOperation() {
195         return new ArtifactsOperations();
196     }
197
198     @Bean(name = "tosca-data-operation")
199     public ToscaDataOperation toscaDataOperation() {
200         return new ToscaDataOperation();
201     }
202
203     @Bean(name = "tosca-element-lifecycle-operation")
204     public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
205         return new ToscaElementLifecycleOperation();
206     }
207
208     @Bean(name = "tosca-path-calculator")
209     public ToscaDefinitionPathCalculator pathCalculator() {
210         return new ToscaDefinitionPathCalculatorImpl();
211     }
212
213     @Bean(name = "fulfilled-capabilities-mig-service")
214     public FulfilledCapabilitiesMigrationService fulfilledCapabilitiesMigService() {
215         return new FulfilledCapabilitiesMigrationService();
216     }
217
218     @Bean(name = "fulfilled-requirements-mig-service")
219     public FulfilledRequirementsMigrationService requirementsMigService() {
220         return new FulfilledRequirementsMigrationService();
221     }
222
223     @Bean(name ="req-cap-mig-service")
224     public RequirementsCapabilitiesMigrationService reqCapMigService() {
225         return new RequirementsCapabilitiesMigrationService();
226     }
227
228     @Bean(name = "mig-derived-resolver")
229     public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
230         return new MigrationByIdDerivedNodeTypeResolver();
231     }
232
233     @Bean(name = "invariant-uuid-resolver")
234     public InvariantUUIDResolver invariantUUIDResolver() {
235         return new InvariantUUIDResolver();
236     }
237
238     @Bean(name="consumer-operation-mig")
239     @Primary
240     public ConsumerOperation consumerOperation(@Qualifier("titan-generic-dao-migration") TitanGenericDao titanGenericDao) {
241         return new ConsumerOperation(titanGenericDao);
242     }
243     
244     @Bean(name = "vfModulesPropertiesAdding")
245     public VfModulesPropertiesAdding vfModulesPropertiesAdding() {
246         return new VfModulesPropertiesAdding();
247     }
248
249 }