Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-sdc-enrichment-lib / openecomp-sdc-enrichment-impl / src / main / java / org / openecomp / sdc / enrichment / impl / tosca / ToscaEnricher.java
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 package org.openecomp.sdc.enrichment.impl.tosca;
22
23 import org.openecomp.sdc.datatypes.error.ErrorLevel;
24 import org.openecomp.sdc.datatypes.error.ErrorMessage;
25 import org.openecomp.sdc.enrichment.inter.Enricher;
26 import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
27 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
28
29 import java.util.Arrays;
30 import java.util.HashMap;
31 import java.util.List;
32 import java.util.Map;
33
34 public class ToscaEnricher extends Enricher {
35
36   private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
37
38   @Override
39   public Map<String, List<ErrorMessage>> enrich() {
40     Map<String, List<ErrorMessage>> errors = new HashMap<>();
41     errors.putAll(enrichAbstractSubstitute());
42     errors.putAll(enrichPortMirroring());
43
44     return errors;
45   }
46
47   private Map<String, List<ErrorMessage>> enrichAbstractSubstitute() {
48     mdcDataDebugMessage.debugEntryMessage(null, null);
49
50     Map<String, List<ErrorMessage>> enrichErrors = new HashMap<>();
51
52     ToscaServiceModel toscaModel = (ToscaServiceModel) model;
53     AbstractSubstituteToscaEnricher abstractSubstituteToscaEnricher =
54         new AbstractSubstituteToscaEnricher();
55
56     try {
57       enrichErrors = abstractSubstituteToscaEnricher.enrich(toscaModel, data.getKey(),
58           data.getVersion());
59     }catch (Exception e){
60       enrichErrors.put("Tosca Enrich", Arrays.asList(new ErrorMessage(ErrorLevel.ERROR, e
61           .getMessage())));
62     }
63
64     mdcDataDebugMessage.debugExitMessage(null, null);
65     return enrichErrors;
66   }
67
68   private Map<String, List<ErrorMessage>> enrichPortMirroring() {
69     mdcDataDebugMessage.debugEntryMessage(null, null);
70     Map<String, List<ErrorMessage>> enrichErrors = new HashMap<>();
71     ToscaServiceModel toscaModel = (ToscaServiceModel) model;
72     PortMirroringEnricher portMirroringEnricher = new PortMirroringEnricher();
73
74     try {
75       enrichErrors = portMirroringEnricher.enrich(toscaModel);
76     }catch (Exception e){
77       enrichErrors.put("Tosca Enrich", Arrays.asList(new ErrorMessage(ErrorLevel.ERROR, e
78           .getMessage())));
79     }
80     mdcDataDebugMessage.debugExitMessage(null, null);
81     return enrichErrors;
82   }
83 }