Merge "adding catalog-service for mod2"
[dcaegen2/platform.git] / mod2 / catalog-service / src / main / java / org / onap / dcaegen2 / platform / mod / web / service / deploymentartifact / ArtifactFileNameCreator.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.web.service.deploymentartifact;
22
23 import org.onap.dcaegen2.platform.mod.model.exceptions.deploymentartifact.BlueprintFileNameCreateException;
24 import org.onap.dcaegen2.platform.mod.model.microserviceinstance.MsInstance;
25 import org.springframework.stereotype.Component;
26
27 /**
28  * A name creator for Deployment Artifact files.
29  */
30 @Component
31 public class ArtifactFileNameCreator {
32
33     private static final String FILE_FORMAT = ".yaml";
34
35     /**
36      * creates a file name
37      * @param msInstance
38      * @param version
39      * @return
40      */
41     public String createFileName(MsInstance msInstance, int version) {
42         if(msInstance.getMsInfo() == null || !msInstance.getMsInfo().containsKey("tag")){
43             throwException("MS-tag");
44         }
45         if(msInstance.getActiveSpec() == null){
46             throwException("active-spec");
47         }
48         return  msInstance.getMsInfo().get("tag") + "_"
49                 + msInstance.getActiveSpec().getType().toString().toLowerCase() + "_"
50                 + msInstance.getRelease() + "_"
51                 + version
52                 + FILE_FORMAT;
53    }
54
55     private void throwException(String missingProperty) {
56         throw new BlueprintFileNameCreateException("Can not create bluerprint file name: "
57                 + missingProperty + " is missing");
58     }
59 }