Implant vid-app-common org.onap.vid.job (main and test)
[vid.git] / vid-app-common / src / main / java / org / onap / vid / model / ModelUtil.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 - 2019 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.vid.model;
22
23 public class ModelUtil {
24         /**
25          * Gets the tags for the given element according to the configured namespace
26          * @param namespaces the namespace list from the configuration
27          * @param constantValue the constant portion of the tag name, i.e. resource.vf...
28          * @return the tags
29          */
30         public static String[] getTags ( String[] namespaces, String constantValue ) {
31                 String[] tags;
32                 if ( namespaces == null || namespaces.length == 0 ) {
33                         return null;
34                 }
35                 int le = namespaces.length;
36                 tags = new String[le];
37                 for ( int i = 0; i < le; i++ ) {
38                         tags[i] = namespaces[i] + constantValue;
39                 }
40                 return (tags);
41         }
42         /**
43          * Determine if a note template type matches a set of configurable tags
44          * @param type the node template type
45          * @param tags the model configurable namespaces
46          * @return true if type starts with a tag in the array, false otherwise
47          */
48         public static boolean isType ( String type, String[] tags ) {
49                 if ( (tags != null) && (tags.length > 0) ) {
50                         for ( int i = 0; i < tags.length; i++ ) {
51                                 if ( type.startsWith (tags[i]) ) {
52                                         return (true);
53                                 }
54                         }
55                 }
56                 return (false);
57         }
58 }