2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 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.sdc.be.model.operations.impl.util;
23 import fj.data.Either;
24 import org.openecomp.sdc.be.dao.neo4j.GraphEdgeLabels;
25 import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
26 import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
27 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
28 import org.openecomp.sdc.be.model.User;
29 import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder;
30 import org.openecomp.sdc.be.resources.data.ResourceCategoryData;
31 import org.openecomp.sdc.be.resources.data.ServiceCategoryData;
32 import org.openecomp.sdc.be.resources.data.UserData;
33 import org.openecomp.sdc.be.resources.data.category.CategoryData;
34 import org.openecomp.sdc.be.resources.data.category.SubCategoryData;
35 import org.openecomp.sdc.common.util.ValidationUtils;
37 public class OperationTestsUtil {
39 public static String deleteAndCreateServiceCategory(String category, TitanGenericDao titanDao) {
40 CategoryData categoryData = new CategoryData(NodeTypeEnum.ServiceNewCategory);
41 categoryData.getCategoryDataDefinition().setName(category);
42 categoryData.getCategoryDataDefinition()
43 .setNormalizedName(ValidationUtils.normalizeCategoryName4Uniqueness(category));
44 categoryData.getCategoryDataDefinition().setUniqueId(UniqueIdBuilder.buildCategoryUid(
45 ValidationUtils.normalizeCategoryName4Uniqueness(category), NodeTypeEnum.ServiceNewCategory));
46 titanDao.deleteNode(categoryData, CategoryData.class);
47 Either<CategoryData, TitanOperationStatus> createNode = titanDao.createNode(categoryData, CategoryData.class);
48 return (String) createNode.left().value().getUniqueId();
51 public static String deleteAndCreateResourceCategory(String category, String subcategory,
52 TitanGenericDao titanDao) {
54 CategoryData categoryData = new CategoryData(NodeTypeEnum.ResourceNewCategory);
55 categoryData.getCategoryDataDefinition().setName(category);
56 categoryData.getCategoryDataDefinition()
57 .setNormalizedName(ValidationUtils.normalizeCategoryName4Uniqueness(category));
58 categoryData.getCategoryDataDefinition().setUniqueId(UniqueIdBuilder.buildCategoryUid(
59 ValidationUtils.normalizeCategoryName4Uniqueness(category), NodeTypeEnum.ResourceNewCategory));
61 SubCategoryData subcategoryData = new SubCategoryData(NodeTypeEnum.ResourceSubcategory);
62 subcategoryData.getSubCategoryDataDefinition().setName(subcategory);
63 subcategoryData.getSubCategoryDataDefinition()
64 .setNormalizedName(ValidationUtils.normalizeCategoryName4Uniqueness(subcategory));
65 subcategoryData.getSubCategoryDataDefinition().setUniqueId(UniqueIdBuilder
66 .buildSubCategoryUid(categoryData.getCategoryDataDefinition().getUniqueId(), subcategory));
67 titanDao.deleteNode(categoryData, CategoryData.class);
68 titanDao.deleteNode(subcategoryData, SubCategoryData.class);
69 Either<CategoryData, TitanOperationStatus> createNode = titanDao.createNode(categoryData, CategoryData.class);
70 titanDao.createNode(subcategoryData, SubCategoryData.class);
71 titanDao.createRelation(categoryData, subcategoryData, GraphEdgeLabels.SUB_CATEGORY, null);
72 return (String) createNode.left().value().getUniqueId();
75 public static void deleteServiceCategory(String category, TitanGenericDao titanDao) {
76 ServiceCategoryData categoryData = new ServiceCategoryData(category);
77 titanDao.deleteNode(categoryData, ServiceCategoryData.class);
80 public static void deleteResourceCategory(String category, String subcategory, TitanGenericDao titanDao) {
81 ResourceCategoryData categoryData = new ResourceCategoryData(category, subcategory);
82 titanDao.deleteNode(categoryData, ResourceCategoryData.class);
85 public static User convertUserDataToUser(UserData modifierData) {
86 User modifier = new User();
87 modifier.setUserId(modifierData.getUserId());
88 modifier.setEmail(modifierData.getEmail());
89 modifier.setFirstName(modifierData.getFirstName());
90 modifier.setLastName(modifierData.getLastName());
91 modifier.setRole(modifierData.getRole());