summaryrefslogtreecommitdiffstats
path: root/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/BlueprintCreatorService.java
blob: 48c196e13f4ca5d74e954e6f67bfe5c1f70e8fe4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
 * ============LICENSE_START=======================================================
 * org.onap.dcae
 * ================================================================================
 * Copyright (C) 2020 Nokia. All rights reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

package org.onap.blueprintgenerator.service;

import org.onap.blueprintgenerator.model.base.Blueprint;
import org.onap.blueprintgenerator.model.common.Input;
import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec;
import org.onap.blueprintgenerator.service.dmaap.DmaapBlueprintCreatorService;
import org.onap.blueprintgenerator.service.onap.OnapBlueprintCreatorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author : Remigiusz Janeczek
 * @date 12/17/2020 Application: ONAP - Blueprint Generator Service to create ONAP and DMAAP Blueprints
 */
@Service
public class BlueprintCreatorService {

    private final OnapBlueprintCreatorService onapBlueprintCreatorService;

    private final DmaapBlueprintCreatorService dmaapBlueprintCreatorService;

    @Autowired
    public BlueprintCreatorService(OnapBlueprintCreatorService onapBlueprintCreatorService,
        DmaapBlueprintCreatorService dmaapBlueprintCreatorService) {
        this.onapBlueprintCreatorService = onapBlueprintCreatorService;
        this.dmaapBlueprintCreatorService = dmaapBlueprintCreatorService;
    }

    /**
     * Creates Blueprint from given OnapComponentSpec and Input objects if the input is json file or not
     *
     * @param componentSpec OnapComponentSpec object
     * @param input         Input object, needs to have bpType defined (either as "o" (ONAP Blueprint) or "d" (DMAAP
     *                      Blueprint)
     * @return blueprint generated from componentSpec and input
     */
    public Blueprint createBlueprint(OnapComponentSpec componentSpec, Input input) {
        if (input.getBpType() == null) {
            return null;
        }
        Blueprint blueprint = null;
        if (input.getBpType().equals("o")) {
            blueprint = onapBlueprintCreatorService.createBlueprint(componentSpec, input);
        } else if (input.getBpType().equals("d")) {
            blueprint = dmaapBlueprintCreatorService.createBlueprint(componentSpec, input);
        }
        return blueprint;
    }

}