Changes to Regex for Name and version Issue-ID: DCAEGEN2-1867
[dcaegen2/platform.git] / mod2 / catalog-service / src / main / java / org / onap / dcaegen2 / platform / mod / model / restapi / PolicyModelCreateRequest.java
1 /*
2  * ============LICENSE_START=======================================================
3  *  org.onap.dcae
4  *  ================================================================================
5  *  Copyright (c) 2020 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
10  *
11  *       http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.dcaegen2.platform.mod.model.restapi;
22
23 import lombok.AllArgsConstructor;
24 import lombok.Builder;
25 import lombok.Data;
26 import lombok.NoArgsConstructor;
27
28 import javax.validation.constraints.NotBlank;
29 import javax.validation.constraints.Pattern;
30 import javax.validation.constraints.Size;
31
32 /**
33  *  A model that represent request body to create Policy Model entity.
34  */
35
36 @Data
37 @Builder
38 @AllArgsConstructor
39 @NoArgsConstructor
40 public class PolicyModelCreateRequest {
41
42    @NotBlank
43    @Pattern(regexp = "^([a-zA-Z0-9]([.|-][a-zA-Z0-9])*)+$", message = "Policy Model name is invalid. Accepts alphanumerics, Dot(.) and hyphens.")
44    @Size(min = 5, max = 50, message = "Policy Model name length cannot exceed 50 characters")
45    private String name;
46
47    @NotBlank
48    private String content;
49
50    @NotBlank
51    private String owner;
52
53    @NotBlank
54    @Pattern(regexp = "[0-9][.][0-9][.][0-9]", message = "Policy Model version is invalid. Should be in x.x.x format.")
55    private String version;
56
57    private MetadataRequest metadata;
58
59 }