177af3a8bc76e678b6fc1976dc5611c9f75a47ba
[sdc.git] /
1 /*
2  * Copyright © 2016-2018 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.openecomp.sdc.vendorsoftwareproduct.impl;
18
19 import org.openecomp.core.dao.UniqueValueDaoFactory;
20 import org.openecomp.core.model.dao.EnrichedServiceModelDaoFactory;
21 import org.openecomp.core.model.dao.ServiceModelDaoFactory;
22 import org.openecomp.sdc.vendorlicense.VendorLicenseArtifactServiceFactory;
23 import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacadeFactory;
24 import org.openecomp.sdc.vendorsoftwareproduct.OrchestrationTemplateCandidateManagerFactory;
25 import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager;
26 import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory;
27 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
28 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDaoFactory;
29 import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
30 import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
31 import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
32 import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
33 import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
34 import org.openecomp.sdc.vendorsoftwareproduct.dao.PackageInfoDaoFactory;
35 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
36 import org.openecomp.sdc.vendorsoftwareproduct.factory.InformationArtifactGeneratorFactory;
37
38 public class VspManagerFactoryImpl extends VspManagerFactory {
39   private static final VendorSoftwareProductManager INSTANCE =
40       new VendorSoftwareProductManagerImpl(
41           OrchestrationTemplateDaoFactory.getInstance().createInterface(),
42           OrchestrationTemplateCandidateManagerFactory.getInstance().createInterface(),
43           VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(),
44           VendorLicenseFacadeFactory.getInstance().createInterface(),
45           ServiceModelDaoFactory.getInstance().createInterface(),
46           EnrichedServiceModelDaoFactory.getInstance().createInterface(),
47           VendorLicenseArtifactServiceFactory.getInstance().createInterface(),
48           InformationArtifactGeneratorFactory.getInstance().createInterface(),
49           PackageInfoDaoFactory.getInstance().createInterface(),
50           DeploymentFlavorDaoFactory.getInstance().createInterface(),
51           ComponentDaoFactory.getInstance().createInterface(),
52           ComponentDependencyModelDaoFactory.getInstance().createInterface(),
53           NicDaoFactory.getInstance().createInterface(),
54           ComputeDaoFactory.getInstance().createInterface(),
55           ImageDaoFactory.getInstance().createInterface(),
56           new ManualVspToscaManagerImpl(),
57           UniqueValueDaoFactory.getInstance().createInterface());
58
59   @Override
60   public VendorSoftwareProductManager createInterface() {
61     return INSTANCE;
62   }
63 }