[SDC-29] rebase continue work to align source
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / impl / migration / v1707 / jsonmodel / ConsumersMigration.java
1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
2
3 import fj.data.Either;
4 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
5 import org.openecomp.sdc.be.model.operations.impl.ConsumerOperation;
6 import org.openecomp.sdc.be.resources.data.ConsumerData;
7
8 import javax.annotation.Resource;
9 import java.util.List;
10
11 import static org.openecomp.sdc.asdctool.impl.migration.v1707.MigrationUtils.handleError;
12
13 public class ConsumersMigration extends JsonModelMigration<ConsumerData> {
14
15     @Resource(name = "consumer-operation")
16     private ConsumerOperation consumerOperation;
17
18     @Resource(name = "consumer-operation-mig")
19     private ConsumerOperation consumerOperationMigration;
20
21     @Override
22     Either<List<ConsumerData>, ?> getElementsToMigrate() {
23         return consumerOperation.getAll();
24     }
25
26     @Override
27     Either<ConsumerData, ?> getElementFromNewGraph(ConsumerData element) {
28         return consumerOperationMigration.getCredentials(element.getConsumerDataDefinition().getConsumerName());
29     }
30
31     @Override
32     boolean save(ConsumerData element) {
33         return consumerOperationMigration.createCredentials(element)
34                 .either(savedConsumer -> true,
35                         err -> handleError(String.format("failed to save consumer %s. reason: %s", element.getConsumerDataDefinition().getConsumerName(), err.name())));
36     }
37
38     @Override
39     StorageOperationStatus getNotFoundErrorStatus() {
40         return StorageOperationStatus.NOT_FOUND;
41     }
42
43     @Override
44     public String description() {
45         return "consumers migration";
46     }
47 }