9ac6e1b1bbdf4cc82cbb9f3c0f32d1e0efb0683a
[sdc.git] /
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
6 import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.*;
7
8 /**
9  * The Image error builder.
10  */
11 public class ImageErrorBuilder {
12
13   private static final String VFC_IMAGE_DUPLICATE_NAME_MSG = "Invalid request, Image with name %s"
14       + " already exists for component with ID %s.";
15   private static final String VFC_IMAGE_NAME_FORMAT_MSG = "Field does not conform to predefined criteria"
16           + ": name : must match %s";
17   private static final String IMAGE_INVALID_FORMAT_MSG = "The format value doesn't meet the "
18       + "expected attribute value.";
19
20   private static final String IMAGE_HEAT_READONLY_ATTR_MSG = "Update of attribute %s not allowed "
21       + "for VSP onboarded via HEAT.";
22   private static final String VFC_IMAGE_DUPLICATE_VERSION_MSG = "Invalid request, Image with version %s"
23           + " already exists for component with ID %s.";
24
25
26   /**
27    * Gets duplicate image name error builder.
28    *
29    * @return the duplicate image name error builder
30    */
31   public static ErrorCode getDuplicateImageNameErrorBuilder(String imageName, String componentId) {
32     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
33     builder.withId(DUPLICATE_IMAGE_NAME_NOT_ALLOWED);
34     builder.withCategory(ErrorCategory.APPLICATION);
35     builder.withMessage(String.format(VFC_IMAGE_DUPLICATE_NAME_MSG, imageName, componentId ));
36     return builder.build();
37   }
38
39   /**
40    * Gets duplicate image version error builder.
41    *
42    * @return the duplicate image version error builder
43    */
44   public static ErrorCode getDuplicateImageVersionErrorBuilder(String version, String componentId) {
45     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
46     builder.withId(DUPLICATE_IMAGE_VERSION_NOT_ALLOWED);
47     builder.withCategory(ErrorCategory.APPLICATION);
48     builder.withMessage(String.format(VFC_IMAGE_DUPLICATE_VERSION_MSG, version, componentId ));
49     return builder.build();
50   }
51   /**
52    * Gets image name format error builder.
53    *
54    * @return the image name format error builder
55    */
56   public static ErrorCode getImageNameFormatErrorBuilder(String pattern) {
57     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
58     builder.withId(IMAGE_NAME_FORMAT_NOT_ALLOWED);
59     builder.withCategory(ErrorCategory.APPLICATION);
60     builder.withMessage(String.format(VFC_IMAGE_NAME_FORMAT_MSG, pattern));
61     return builder.build();
62   }
63
64   /**
65    * Gets invalid image format error builder.
66    *
67    * @return the invalid image format error builder
68    */
69   public static ErrorCode getInvalidImageFormatErrorBuilder() {
70     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
71     builder.withId(VFC_IMAGE_INVALID_FORMAT);
72     builder.withCategory(ErrorCategory.APPLICATION);
73     builder.withMessage(String.format(IMAGE_INVALID_FORMAT_MSG));
74     return builder.build();
75   }
76
77   public static ErrorCode getImageHeatReadOnlyErrorBuilder(String name) {
78     ErrorCode.ErrorCodeBuilder builder = new ErrorCode.ErrorCodeBuilder();
79     builder.withId(UPDATE_IMAGE_NOT_ALLOWED);
80     builder.withCategory(ErrorCategory.APPLICATION);
81     builder.withMessage(String.format(IMAGE_HEAT_READONLY_ATTR_MSG, name));
82     return builder.build();
83   }
84 }