Merge "remove sub process error handling that silent successes"
[so.git] / adapters / etsi-sol003-adapter / etsi-sol003-pkgm / etsi-sol003-pkgm-adapter / src / main / java / org / onap / so / adapters / etsisol003adapter / pkgm / converters / etsicatalog / sol003 / AbstractPkgNotificationConverter.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2020 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.adapters.etsisol003adapter.pkgm.converters.etsicatalog.sol003;
22
23 import org.onap.so.adapters.etsi.sol003.adapter.common.VnfmAdapterUrlProvider;
24 import org.onap.so.adapters.etsisol003adapter.etsicatalog.notification.model.PkgmLinks;
25 import org.onap.so.adapters.etsisol003adapter.pkgm.extclients.vnfm.notification.model.URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks;
26 import org.onap.so.adapters.etsisol003adapter.pkgm.extclients.vnfm.notification.model.URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage;
27
28 /**
29  * A base class that can be extended by classes for converting Etsi Catalog Manager Pkg Notification classes. Provides
30  * common methods that will be useful to those classes.
31  *
32  * @author andrew.a.lamb@est.tech
33  */
34 abstract public class AbstractPkgNotificationConverter {
35
36     private final VnfmAdapterUrlProvider vnfmAdapterUrlProvider;
37
38     public AbstractPkgNotificationConverter(final VnfmAdapterUrlProvider vnfmAdapterUrlProvider) {
39         this.vnfmAdapterUrlProvider = vnfmAdapterUrlProvider;
40     }
41
42     protected URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks convert(
43             final PkgmLinks pkgmLinks, final String vnfPkgId, final String subscriptionId) {
44         final URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage linksVnfPackage =
45                 new URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage();
46         if (pkgmLinks.getVnfPackage() != null) {
47             linksVnfPackage.setHref(vnfmAdapterUrlProvider.getVnfPackageUrl(vnfPkgId));
48         }
49
50         final URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage linksSubscription =
51                 new URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage();
52         if (pkgmLinks.getSubscription() != null) {
53             linksSubscription.setHref(vnfmAdapterUrlProvider.getSubscriptionUriString(subscriptionId));
54         }
55
56         final URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks links =
57                 new URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks();
58         links.setVnfPackage(linksVnfPackage);
59         links.setSubscription(linksSubscription);
60         return links;
61     }
62
63 }