[SDC] Onboarding 1710 rebase.
[sdc.git] / openecomp-be / backend / openecomp-sdc-vendor-software-product-manager / src / main / java / org / openecomp / sdc / vendorsoftwareproduct / errors / DuplicateComputeInComponentErrorBuilder.java
1 package org.openecomp.sdc.vendorsoftwareproduct.errors;
2
3 import org.openecomp.sdc.common.errors.ErrorCategory;
4 import org.openecomp.sdc.common.errors.ErrorCode;
5 import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.UPDATE_COMPUTE_NOT_ALLOWED;
6
7
8 public class DuplicateComputeInComponentErrorBuilder {
9
10   private static final String DUPLICATE_COMPUTE_NAME_NOT_ALLOWED_MSG =
11       "Invalid request, Compute with name %s already exists for component with ID %s.";
12   private static final String COMPUTE_HEAT_READONLY_ATTR_MSG = "Update of attribute %s not allowed "
13           + "for VSP onboarded via HEAT.";
14   private static final String COMPUTE_MANUAL_READONLY_ATTR_MSG = "Update of attribute %s not allowed "
15           + "for VSP onboarded manually.";
16
17
18   private final ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
19
20   public DuplicateComputeInComponentErrorBuilder(String computeName, String componentId ){
21     builder.withId(VendorSoftwareProductErrorCodes.DUPLICATE_COMPUTE_NAME_NOT_ALLOWED);
22     builder.withCategory(ErrorCategory.APPLICATION);
23     builder.withMessage(String.format(DUPLICATE_COMPUTE_NAME_NOT_ALLOWED_MSG,computeName,
24         componentId));
25   }
26
27   /**
28    * Gets duplicate compute name error builder.
29    *
30    * @return the duplicate compute name error builder
31    */
32   public static ErrorCode getDuplicateComputeNameErrorBuilder(String computeName, String componenetId) {
33     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
34     builder.withId(VendorSoftwareProductErrorCodes.DUPLICATE_COMPUTE_NAME_NOT_ALLOWED);
35     builder.withCategory(ErrorCategory.APPLICATION);
36     builder.withMessage(String.format(DUPLICATE_COMPUTE_NAME_NOT_ALLOWED_MSG, computeName, componenetId ));
37     return builder.build();
38   }
39
40   public static ErrorCode getComputeHeatReadOnlyErrorBuilder(String name) {
41     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
42     builder.withId(UPDATE_COMPUTE_NOT_ALLOWED);
43     builder.withCategory(ErrorCategory.APPLICATION);
44     builder.withMessage(String.format(COMPUTE_HEAT_READONLY_ATTR_MSG, name));
45     return builder.build();
46   }
47
48
49   public ErrorCode build() {
50     return builder.build();
51   }
52 }