2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.conflicts.dao.impl.zusammen;
24 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementConflictInfo;
25 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
26 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ItemVersionConflict;
27 import com.amdocs.zusammen.datatypes.Id;
28 import com.amdocs.zusammen.datatypes.item.ItemVersion;
29 import com.amdocs.zusammen.datatypes.item.ItemVersionData;
30 import com.amdocs.zusammen.datatypes.item.ItemVersionDataConflict;
31 import org.openecomp.conflicts.types.Conflict;
32 import org.openecomp.conflicts.types.ConflictInfo;
33 import org.openecomp.sdc.datatypes.model.ElementType;
34 import org.openecomp.sdc.versioning.dao.impl.zusammen.convertor.ItemVersionToVersionConvertor;
35 import org.openecomp.sdc.versioning.dao.types.Version;
36 import org.openecomp.types.ElementPropertyName;
38 import java.util.stream.Collectors;
40 public class ItemVersionConflictConvertorFromZusammen {
41 public org.openecomp.conflicts.types.ItemVersionConflict convert(String itemId, Version version,
42 ItemVersionConflict source) {
43 org.openecomp.conflicts.types.ItemVersionConflict target =
44 new org.openecomp.conflicts.types.ItemVersionConflict();
46 target.setVersionConflict(
47 convertVersionDataConflict(itemId, version, source.getVersionDataConflict()));
48 target.setElementConflicts(source.getElementConflictInfos().stream()
49 .map(this::convertElementConflictInfo)
50 .collect(Collectors.toList()));
56 private Conflict<Version> convertVersionDataConflict(String itemId, Version version,
57 ItemVersionDataConflict versionDataConflict) {
58 if (versionDataConflict == null) {
62 Conflict<Version> conflict =
63 new Conflict<>(version.getId(), ElementType.itemVersion, null);
65 ItemVersionToVersionConvertor convertor = new ItemVersionToVersionConvertor();
66 conflict.setYours(convertor.convert(
67 getItemVersion(version.getId(), versionDataConflict.getLocalData())));
68 conflict.setTheirs(convertor.convert(
69 getItemVersion(version.getId(), versionDataConflict.getRemoteData())));
73 private ItemVersion getItemVersion(String versionId, ItemVersionData versionData) {
74 if (versionData == null) {
77 ItemVersion itemVersion = new ItemVersion();
78 itemVersion.setId(new Id(versionId));
79 itemVersion.setData(versionData);
83 private ConflictInfo convertElementConflictInfo(ElementConflictInfo elementConflictInfo) {
84 ElementInfo elementInfo = elementConflictInfo.getLocalElementInfo() == null
85 ? elementConflictInfo.getRemoteElementInfo()
86 : elementConflictInfo.getLocalElementInfo();
88 return new ConflictInfo(elementInfo.getId().getValue(),
90 .valueOf(elementInfo.getInfo().getProperty(ElementPropertyName.elementType.name())),
91 elementInfo.getInfo().getName());