Fix bugs in attribute outputs page
[sdc.git] / catalog-ui / src / app / models / validation-config.ts
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
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 class PropertyValue {
22     min: number;
23     max: number;
24 }
25
26 class validationPatterns {
27     vendorRelease: RegExp;
28     stringOrEmpty: string;
29     vendorName: RegExp;
30     vendorModelNumber: RegExp;
31     tag: RegExp;
32     contactId: RegExp;
33     componentName: RegExp;
34     string: RegExp;
35     comment:RegExp;
36     integer: RegExp;
37 }
38
39 export class Validations {
40     propertyValue: PropertyValue;
41     validationPatterns: validationPatterns;
42 }
43
44 export class ValidationConfiguration {
45     static validation: Validations;
46
47 }
48
49 export class Validation {
50     componentNameValidationPattern:RegExp;
51     contactIdValidationPattern:RegExp;
52     tagValidationPattern:RegExp;
53     VendorReleaseValidationPattern:RegExp;
54     VendorNameValidationPattern:RegExp;
55     VendorModelNumberValidationPattern:RegExp;
56     commentValidationPattern:RegExp;
57
58     constructor(validationData?:Validations) {
59         if(validationData) {
60             this.commentValidationPattern = validationData.validationPatterns.comment;
61             this.componentNameValidationPattern = validationData.validationPatterns.componentName;
62             this.contactIdValidationPattern = validationData.validationPatterns.contactId;
63             this.tagValidationPattern = validationData.validationPatterns.tag;
64             this.VendorModelNumberValidationPattern = validationData.validationPatterns.vendorModelNumber;
65             this.VendorNameValidationPattern = validationData.validationPatterns.vendorName;
66             this.VendorReleaseValidationPattern = validationData.validationPatterns.vendorRelease;
67         }
68     }
69 }