summaryrefslogtreecommitdiffstats
path: root/actn-interface-tools/global-control/app/src/main/java/org/onap/integration/actninterfacetools/globalapp/impl/GlobalServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'actn-interface-tools/global-control/app/src/main/java/org/onap/integration/actninterfacetools/globalapp/impl/GlobalServiceImpl.java')
-rw-r--r--actn-interface-tools/global-control/app/src/main/java/org/onap/integration/actninterfacetools/globalapp/impl/GlobalServiceImpl.java212
1 files changed, 212 insertions, 0 deletions
diff --git a/actn-interface-tools/global-control/app/src/main/java/org/onap/integration/actninterfacetools/globalapp/impl/GlobalServiceImpl.java b/actn-interface-tools/global-control/app/src/main/java/org/onap/integration/actninterfacetools/globalapp/impl/GlobalServiceImpl.java
new file mode 100644
index 0000000..33df725
--- /dev/null
+++ b/actn-interface-tools/global-control/app/src/main/java/org/onap/integration/actninterfacetools/globalapp/impl/GlobalServiceImpl.java
@@ -0,0 +1,212 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Actn Interface Tools
+ * ================================================================================
+ * Copyright (C) 2023 Huawei Canada Limited.
+ * ================================================================================
+ * 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.integration.actninterfacetools.globalapp.impl;
+
+import com.google.auto.service.AutoService;
+import org.onap.integration.actninterfacetools.actnclient.impl.ActnClientServiceImpl;
+import org.onap.integration.actninterfacetools.globalapi.ActnClientService;
+import org.onap.integration.actninterfacetools.globalapi.ActnDataConverter;
+import org.onap.integration.actninterfacetools.globalapi.GlobalService;
+import org.onap.integration.actninterfacetools.globalapp.YangClassLoaderRegistry;
+import org.onosproject.yang.model.ModelConverter;
+import org.onosproject.yang.model.ModelObjectData;
+import org.onosproject.yang.model.ResourceData;
+import org.onosproject.yang.model.SchemaContextProvider;
+import org.onosproject.yang.model.SchemaContext;
+import org.onosproject.yang.model.ResourceId;
+import org.onosproject.yang.model.RpcContext;
+import org.onosproject.yang.model.ModelObjectId;
+import org.onosproject.yang.model.YangModel;
+import org.onosproject.yang.model.YangModule;
+import org.onosproject.yang.model.YangModuleId;
+import org.onosproject.yang.runtime.ModelRegistrationParam;
+import org.onosproject.yang.runtime.YangModelRegistry;
+import org.onosproject.yang.runtime.YangRuntimeService;
+import org.onosproject.yang.runtime.YangSerializerRegistry;
+import org.onosproject.yang.runtime.CompositeData;
+import org.onosproject.yang.runtime.CompositeStream;
+import org.onosproject.yang.runtime.RuntimeContext;
+import org.onosproject.yang.runtime.YangSerializer;
+import org.onosproject.yang.runtime.impl.DefaultModelConverter;
+import org.onosproject.yang.runtime.impl.DefaultYangModelRegistry;
+import org.onosproject.yang.runtime.impl.DefaultYangRuntimeHandler;
+import org.onosproject.yang.runtime.impl.DefaultYangSerializerRegistry;
+import org.onosproject.yang.runtime.impl.DefaultSchemaContextProvider;
+
+import java.net.URISyntaxException;
+import java.util.Map;
+import java.util.Set;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+@AutoService(GlobalService.class)
+public class GlobalServiceImpl implements GlobalService, YangModelRegistry,
+ YangSerializerRegistry, YangRuntimeService, ModelConverter,
+ SchemaContextProvider, YangClassLoaderRegistry {
+ private static volatile GlobalServiceImpl globalService = null;
+ private static GlobalServiceUtil globalServiceUtil= GlobalServiceUtil.getNewGlobalService();
+
+ public GlobalServiceImpl() {
+ }
+ public static GlobalServiceImpl getNewGlobalService(){
+ if(globalService != null){
+ return globalService;
+ }
+ synchronized (ActnClientServiceImpl.class) {
+ if(globalService == null){
+ globalService = new GlobalServiceImpl();
+
+ }
+ return globalService;
+ }
+ }
+
+ @Override
+ public String getServiceName() {
+ return "GlobalServiceImpl";
+ }
+
+ @Override
+ public void initialize() throws URISyntaxException {
+ globalServiceUtil.initialize();
+ }
+
+ @Override
+ public ActnClientService getActnClientService(ActnDataConverter actnDataConverter) throws URISyntaxException {
+ return globalServiceUtil.getActnClientService(actnDataConverter);
+ }
+
+ public DefaultYangModelRegistry getModelRegistry(){
+
+ return globalServiceUtil.getModelRegistry();
+ }
+ public DefaultYangSerializerRegistry getSerializerRegistry(){
+ return globalServiceUtil.getSerializerRegistry();
+ }
+ public DefaultYangRuntimeHandler getRuntimeService(){
+ return globalServiceUtil.getRuntimeService();
+ }
+ public DefaultModelConverter getModelConverter(){
+ return globalServiceUtil.getModelConverter();
+ }
+ public DefaultSchemaContextProvider getSchemaContextProvider(){
+ return globalServiceUtil.getSchemaContextProvider();
+ }
+
+ public Map<String, ClassLoader> getClassLoaders(){
+ return globalServiceUtil.getClassLoaders();
+ }
+
+
+ @Override
+ public ClassLoader getClassLoader(String modelId) {
+ return globalServiceUtil.getClassLoader(modelId);
+ }
+
+ @Override
+ public void registerClassLoader(String modelId, ClassLoader classLoader) {
+ globalServiceUtil.registerClassLoader(modelId, classLoader);
+ }
+
+ @Override
+ public void unregisterClassLoader(String modelId) {
+ globalServiceUtil.unregisterClassLoader(modelId);
+ }
+
+ @Override
+ public ModelObjectData createModel(ResourceData resourceData) {
+ return globalServiceUtil.createModel(resourceData);
+ }
+
+ @Override
+ public ResourceData createDataNode(ModelObjectData modelObjectData) {
+ return globalServiceUtil.createDataNode(modelObjectData);
+ }
+
+ @Override
+ public SchemaContext getSchemaContext(ResourceId resourceId) {
+ return globalServiceUtil.getSchemaContext(resourceId);
+ }
+
+ @Override
+ public RpcContext getRpcContext(ResourceId resourceId) {
+ return globalServiceUtil.getRpcContext(resourceId);
+ }
+
+ @Override
+ public void registerModel(ModelRegistrationParam modelRegistrationParam) throws IllegalArgumentException {
+ globalServiceUtil.registerModel(modelRegistrationParam);
+ }
+
+
+ @Override
+ public void registerAnydataSchema(ModelObjectId parentModId, ModelObjectId childModId) throws IllegalArgumentException {
+ globalServiceUtil.registerAnydataSchema(parentModId, childModId);
+ }
+
+ @Override
+ public void unregisterAnydataSchema(Class parentClass, Class childClass) throws IllegalArgumentException {
+ globalServiceUtil.unregisterAnydataSchema(parentClass, childClass);
+ }
+
+ @Override
+ public void unregisterModel(ModelRegistrationParam modelRegistrationParam) {
+ globalServiceUtil.unregisterModel(modelRegistrationParam);
+ }
+
+ @Override
+ public Set<YangModel> getModels() {
+ return globalServiceUtil.getModels();
+ }
+
+ @Override
+ public YangModel getModel(String s) {
+ return globalServiceUtil.getModel(s);
+ }
+
+ @Override
+ public YangModule getModule(YangModuleId yangModuleId) {
+ return globalServiceUtil.getModule(yangModuleId);
+ }
+
+ @Override
+ public CompositeData decode(CompositeStream cs, RuntimeContext rc) {
+ return globalServiceUtil.decode(cs, rc);
+ }
+
+ @Override
+ public CompositeStream encode(CompositeData cd, RuntimeContext rc) {
+ return globalServiceUtil.encode(cd, rc);
+ }
+
+ @Override
+ public void registerSerializer(YangSerializer ys) {
+ globalServiceUtil.registerSerializer(ys);
+ }
+
+ @Override
+ public void unregisterSerializer(YangSerializer ys) {
+ globalServiceUtil.unregisterSerializer(ys);
+ }
+
+ @Override
+ public Set<YangSerializer> getSerializers() {
+ return globalServiceUtil.getSerializers();
+ }
+}