* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.be.model.jsonjanusgraph.operations;
import fj.data.Either;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import org.openecomp.sdc.be.dao.jsongraph.types.EdgeLabelEnum;
import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
import org.openecomp.sdc.be.datatypes.elements.ListRequirementDataDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
@org.springframework.stereotype.Component("requirement-operation")
public class RequirementOperation extends BaseOperation {
+
private static final Logger LOGGER = LoggerFactory.getLogger(RequirementOperation.class);
- public Either<List<RequirementDefinition>, StorageOperationStatus> addRequirement(
- String componentId,
- List<RequirementDefinition> requirementDefinitions) {
- return addOrUpdateRequirements( componentId, requirementDefinitions, false);
+ private static ListRequirementDataDefinition convertToListRequirementDataDefinition(List<RequirementDefinition> requirementDefinitions) {
+ List<RequirementDataDefinition> requirementDataDefinitions = new ArrayList<>(requirementDefinitions);
+ return new ListRequirementDataDefinition(requirementDataDefinitions);
}
- public Either<List<RequirementDefinition>, StorageOperationStatus> updateRequirement(
- String componentId,
- List<RequirementDefinition> requirementDefinitions) {
- return addOrUpdateRequirements( componentId, requirementDefinitions, true);
+ public Either<List<RequirementDefinition>, StorageOperationStatus> addRequirement(String componentId,
+ List<RequirementDefinition> requirementDefinitions) {
+ return addOrUpdateRequirements(componentId, requirementDefinitions, false);
}
+ public Either<List<RequirementDefinition>, StorageOperationStatus> updateRequirement(String componentId,
+ List<RequirementDefinition> requirementDefinitions) {
+ return addOrUpdateRequirements(componentId, requirementDefinitions, true);
+ }
private Either<List<RequirementDefinition>, StorageOperationStatus> addOrUpdateRequirements(String componentId,
- List<RequirementDefinition> requirementDefinitions,
+ List<RequirementDefinition> requirementDefinitions,
boolean isUpdateAction) {
-
- StorageOperationStatus statusRes = performUpdateToscaAction(isUpdateAction,
- componentId, Collections
- .singletonList(convertToListRequirementDataDefinition(requirementDefinitions)));
+ StorageOperationStatus statusRes = performUpdateToscaAction(isUpdateAction, componentId,
+ Collections.singletonList(convertToListRequirementDataDefinition(requirementDefinitions)));
if (!statusRes.equals(StorageOperationStatus.OK)) {
janusGraphDao.rollback();
- LOGGER.error("Failed to find the parent capability of capability type {}."
- + " status is {}", componentId, statusRes);
+ LOGGER.error("Failed to find the parent capability of capability type {}." + " status is {}", componentId, statusRes);
return Either.right(statusRes);
}
janusGraphDao.commit();
return Either.left(requirementDefinitions);
}
- public StorageOperationStatus deleteRequirements(Component component,
- String requirementToDelete) {
- return deleteToscaDataElements(component.getUniqueId(),
- EdgeLabelEnum.REQUIREMENTS, Collections.singletonList(requirementToDelete));
- }
-
- private static ListRequirementDataDefinition convertToListRequirementDataDefinition(
- List<RequirementDefinition> requirementDefinitions) {
- List<RequirementDataDefinition> requirementDataDefinitions =
- new ArrayList<>(requirementDefinitions);
- return new ListRequirementDataDefinition(requirementDataDefinitions);
+ public StorageOperationStatus deleteRequirements(Component component, String requirementToDelete) {
+ return deleteToscaDataElements(component.getUniqueId(), EdgeLabelEnum.REQUIREMENTS, Collections.singletonList(requirementToDelete));
}
- private StorageOperationStatus performUpdateToscaAction(boolean isUpdate,
- String componentId, List<ListRequirementDataDefinition> toscaDataList) {
+ private StorageOperationStatus performUpdateToscaAction(boolean isUpdate, String componentId, List<ListRequirementDataDefinition> toscaDataList) {
if (isUpdate) {
- return updateToscaDataOfToscaElement(componentId, EdgeLabelEnum.REQUIREMENTS,
- VertexTypeEnum.REQUIREMENTS, toscaDataList, JsonPresentationFields.CAPABILITY);
+ return updateToscaDataOfToscaElement(componentId, EdgeLabelEnum.REQUIREMENTS, VertexTypeEnum.REQUIREMENTS, toscaDataList,
+ JsonPresentationFields.CAPABILITY);
} else {
- return addToscaDataToToscaElement(componentId, EdgeLabelEnum.REQUIREMENTS,
- VertexTypeEnum.REQUIREMENTS, toscaDataList, JsonPresentationFields.CAPABILITY);
+ return addToscaDataToToscaElement(componentId, EdgeLabelEnum.REQUIREMENTS, VertexTypeEnum.REQUIREMENTS, toscaDataList,
+ JsonPresentationFields.CAPABILITY);
}
}
}