remove odl dependence temporary 07/16707/1
author黄卓垚10112215 <huang.zhuoyao@zte.com.cn>
Sat, 30 Sep 2017 01:45:45 +0000 (09:45 +0800)
committerZhuoyao Huang <10112215@zte.com.cn>
Sat, 30 Sep 2017 01:52:24 +0000 (09:52 +0800)
Change-Id: I2d4348974badf6b4ecb255adb3ffa3b5c399d7e2
Issue-ID: SO-88
Signed-off-by: Zhuoyao Huang <10112215@zte.com.cn>
description: Remove odl dependence temporary for docker deployment, utill the issue is be solved. Before that time, yang decoder is unavailable.

26 files changed:
bpmn/MSOInfrastructureBPMN/pom.xml
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncOperationTaskYangToolsImpl.java [deleted file]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilder.java
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkTopologyRequestBodyBuilder.java [deleted file]
common/pom.xml
common/src/main/java/org/openecomp/mso/yangDecoder/base/DataBrokerTestCustomizer.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/base/TYangJsonXmlBase.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/base/TYangJsonXmlOSGIBase.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/api/ITransformJava2StringService.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/api/NormalizedNodeVisitor.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/JsonParserStream.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NormalizedNodeNavigator.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NormalizedNodePrinter.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NotificationAsContainer.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2JsonFactory.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2JsonServiceImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2XMLFactory.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2XMLServiceImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransfromJava2StringFactory.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/XmlNormalizedNodeBodyReaderUmeImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformJava2NNServiceImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2JsonServiceImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangOdlNN2XMLImpl.java [deleted file]
common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangOdlNNC2XMLImpl.java [deleted file]

index be03cb4..3ca9c63 100644 (file)
                </dependency>\r
 \r
                <!--for yang tools-->\r
-               <dependency>\r
+<!--           <dependency>\r
                        <groupId>org.openecomp.so</groupId>\r
                        <artifactId>common</artifactId>\r
                        <version>1.1.0-SNAPSHOT</version>\r
                        <groupId>org.onap.sdnc.northbound</groupId>\r
                        <artifactId>generic-resource-api.model</artifactId>\r
                        <version>1.2.0</version>\r
-               </dependency>\r
+               </dependency>-->\r
        </dependencies>\r
 </project>\r
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncOperationTaskYangToolsImpl.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncOperationTaskYangToolsImpl.java
deleted file mode 100644 (file)
index 25727bd..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
-
-import okhttp3.RequestBody;
-import okhttp3.ResponseBody;
-import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutput;
-import org.openecomp.mso.bpmn.core.WorkflowException;
-import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.GenericResourceApi;
-import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder.NetworkTopologyRequestBodyBuilder;
-import org.openecomp.mso.requestsdb.RequestsDbConstant;
-import org.openecomp.mso.yangDecoder.transform.api.ITransformJava2StringService;
-import org.openecomp.mso.yangDecoder.transform.impl.TransfromJava2StringFactory;
-
-import java.util.Map;
-
-/**
- * Created by 10112215 on 2017/9/20.
- */
-public class SdncOperationTaskYangToolsImpl extends AbstractSdncOperationTask {
-
-    public void sendRestrequestAndHandleResponse(DelegateExecution execution,
-                                                 Map<String, String> inputs,
-                                                 GenericResourceApi genericResourceApiClient) throws Exception {
-        updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
-        NetworkTopologyRequestBodyBuilder builder = new NetworkTopologyRequestBodyBuilder();
-        RequestBody body = builder.build(execution, inputs);
-        updateProgress(execution, null, null, "50", "RequestBody build finished!");
-        ResponseBody responseBody = genericResourceApiClient.postNetworkTopologyOperation(body).execute().body();
-        updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
-        saveResponse(execution, responseBody);
-    }
-
-    private void saveResponse(DelegateExecution execution, ResponseBody responseBody) throws Exception {
-        ITransformJava2StringService java2jsonService = TransfromJava2StringFactory.getJava2jsonService();
-        NetworkTopologyOperationOutput output = (NetworkTopologyOperationOutput) java2jsonService.
-                transformRpcDataObjectFromString(NetworkTopologyRequestBodyBuilder.URI_PATH, responseBody.string());
-        String responseCode = output.getResponseCode();
-        if (!"200".equals(responseCode)) {
-            String processKey = getProcessKey(execution);
-            int errorCode = Integer.valueOf(responseCode);
-            String errorMessage = output.getResponseMessage();
-            WorkflowException workflowException = new WorkflowException(processKey, errorCode, errorMessage);
-            execution.setVariable("SDNCA_SuccessIndicator", workflowException);
-            updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage);
-            throw new Exception("");
-        }
-    }
-}
index 91b95df..41fa8f2 100644 (file)
@@ -22,8 +22,6 @@ package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builde
 
 import org.apache.commons.lang3.StringUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader;
 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncUnderlayVpnPreprocessTask;
 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.OnapModelInformationEntity;
 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.ParamEntity;
@@ -36,35 +34,101 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+//import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation;
+//import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader;
+
 /**
  * Created by 10112215 on 2017/9/20.
  */
 public abstract class AbstractBuilder<IN, OUT> {
+     public static enum RequestAction {
+          CreateNetworkInstance(0, "CreateNetworkInstance"),
+          ActivateNetworkInstance(1, "ActivateNetworkInstance"),
+          CreateServiceInstance(2, "CreateServiceInstance"),
+          DeleteServiceInstance(3, "DeleteServiceInstance"),
+          DeleteNetworkInstance(4, "DeleteNetworkInstance"),
+          CreateVnfInstance(5, "CreateVnfInstance"),
+          ActivateVnfInstance(6, "ActivateVnfInstance"),
+          DeleteVnfInstance(7, "DeleteVnfInstance"),
+          CreateVfModuleInstance(8, "CreateVfModuleInstance"),
+          ActivateVfModuleInstance(9, "ActivateVfModuleInstance"),
+          DeleteVfModuleInstance(10, "DeleteVfModuleInstance"),
+          CreateContrailRouteInstance(11, "CreateContrailRouteInstance"),
+          DeleteContrailRouteInstance(12, "DeleteContrailRouteInstance"),
+          CreateSecurityZoneInstance(13, "CreateSecurityZoneInstance"),
+          DeleteSecurityZoneInstance(14, "DeleteSecurityZoneInstance");
+
+          String name;
+          int value;
+
+          private RequestAction(int value, String name) {
+               this.value = value;
+               this.name = name;
+          }
+
+          public String getName() {
+               return this.name;
+          }
+
+          public int getIntValue() {
+               return this.value;
+          }
+     }
+
+     public enum SvcAction {
+          Reserve(0, "reserve"),
+          Assign(1, "assign"),
+          Activate(2, "activate"),
+          Delete(3, "delete"),
+          Changeassign(4, "changeassign"),
+          Changedelete(5, "changedelete"),
+          Rollback(6, "rollback"),
+          Deactivate(7, "deactivate"),
+          Unassign(8, "unassign"),
+          Create(9, "create");
+
+          String name;
+          int value;
+
+          private SvcAction(int value, String name) {
+               this.value = value;
+               this.name = name;
+          }
+
+          public String getName() {
+               return this.name;
+          }
+
+          public int getIntValue() {
+               return this.value;
+          }
+     }
+
      protected String requestId = null;
 
      abstract OUT build(DelegateExecution execution, IN input) throws Exception;
 
      protected String getRequestActoin(DelegateExecution execution) {
-          String action = RequestInformation.RequestAction.CreateNetworkInstance.name();
+          String action = /*RequestInformation.*/RequestAction.CreateNetworkInstance.name();
           String operType = getOperType(execution);
           if (!StringUtils.isBlank(operType)) {
                if (RequestsDbConstant.OperationType.DELETE.equals(operType)) {
-                    action = RequestInformation.RequestAction.DeleteNetworkInstance.name();
+                    action = /*RequestInformation.*/RequestAction.DeleteNetworkInstance.name();
                } else if (RequestsDbConstant.OperationType.CREATE.equals(operType)) {
-                    action = RequestInformation.RequestAction.CreateNetworkInstance.name();
+                    action = /*RequestInformation.*/RequestAction.CreateNetworkInstance.name();
                }
           }
           return action;
      }
 
      protected String getOperationType(DelegateExecution execution) {
-          String action = SdncRequestHeader.SvcAction.Create.name();
+          String action = /*SdncRequestHeader.*/SvcAction.Create.name();
           String operType = getOperType(execution);
           if (!StringUtils.isBlank(operType)) {
                if (RequestsDbConstant.OperationType.DELETE.equals(operType)) {
-                    action = SdncRequestHeader.SvcAction.Delete.name();
+                    action = /*SdncRequestHeader.*/SvcAction.Delete.name();
                } else if (RequestsDbConstant.OperationType.CREATE.equals(operType)) {
-                    action = SdncRequestHeader.SvcAction.Create.name();
+                    action = /*SdncRequestHeader.*/SvcAction.Create.name();
                }
           }
           return action;
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkTopologyRequestBodyBuilder.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkTopologyRequestBodyBuilder.java
deleted file mode 100644 (file)
index d5ba528..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder;
-
-import okhttp3.RequestBody;
-import org.apache.commons.lang3.StringUtils;
-import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.json.JSONObject;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.request.input.NetworkRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.request.input.network.request.input.NetworkInputParametersBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.param.Param;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.param.ParamBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.param.ParamKey;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformationBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeaderBuilder;
-import org.openecomp.mso.yangDecoder.transform.api.ITransformJava2StringService;
-import org.openecomp.mso.yangDecoder.transform.impl.TransfromJava2StringFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by 10112215 on 2017/9/20.
- */
-public class NetworkTopologyRequestBodyBuilder extends AbstractBuilder<Map<String, String>, RequestBody> {
-
-    public static final String URI_PATH = "GENERIC-RESOURCE-API:network-topology-operation";
-    public static final SdncRequestHeader.SvcAction SVC_DEFAULT_ACTION = SdncRequestHeader.SvcAction.Create;
-    public static final String SVC_REQUEST_ID = "MSO";
-    public static final String SDC_ACTION = "SDC_ACTION";
-    public static final RequestInformation.RequestAction REQUEST_ACTION = RequestInformation.RequestAction.CreateNetworkInstance;
-    protected static ITransformJava2StringService java2jsonService;
-
-    static
-    {
-        try {
-            java2jsonService = TransfromJava2StringFactory.getJava2jsonService();
-        } catch (Exception e) {
-            e.printStackTrace();
-            java2jsonService = null;
-        }
-    }
-
-    @Override
-    public RequestBody build(DelegateExecution execution, Map<String, String> input) throws Exception {
-        NetworkTopologyOperationInput sdncInput = getSdncInput(input);
-        RequestBody body = getRequestBody(sdncInput);
-        return body;
-    }
-
-    protected String getJsonInput(NetworkTopologyOperationInput sdncInput) throws Exception {
-        return java2jsonService.transformRpcDataObjectToString(URI_PATH, sdncInput);
-    }
-
-    private RequestBody getRequestBody(NetworkTopologyOperationInput sdncInput) throws Exception {
-        String jsonString = getJsonInput(sdncInput);
-        String json = (new JSONObject(jsonString)).toString();
-        return RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"),json);
-    }
-
-    protected NetworkTopologyOperationInput getSdncInput(Map<String, String> inputs) {
-        NetworkTopologyOperationInputBuilder networkTopologyOperationInputBuilder = new NetworkTopologyOperationInputBuilder();
-        {
-            loadSdncRequestHeader(inputs, networkTopologyOperationInputBuilder);
-            loadRequestInformation(networkTopologyOperationInputBuilder);
-            loadNetworkInputParameters(inputs, networkTopologyOperationInputBuilder);
-        }
-        return networkTopologyOperationInputBuilder.build();
-    }
-
-    private void loadNetworkInputParameters(Map<String, String> inputs, NetworkTopologyOperationInputBuilder networkTopologyOperationInputBuilder) {
-        NetworkRequestInputBuilder networkRequestInputBuilder = new NetworkRequestInputBuilder();
-        {
-            NetworkInputParametersBuilder networkInputParametersBuilder = new NetworkInputParametersBuilder();
-            {
-                List<Param> paramList = getParamList(inputs);
-                networkInputParametersBuilder.setParam(paramList);
-            }
-            networkRequestInputBuilder.setNetworkInputParameters(networkInputParametersBuilder.build());
-        }
-        networkTopologyOperationInputBuilder.setNetworkRequestInput(networkRequestInputBuilder.build());
-    }
-
-    private void loadRequestInformation(NetworkTopologyOperationInputBuilder networkTopologyOperationInputBuilder) {
-        RequestInformationBuilder requestInformationBuilder = new RequestInformationBuilder();
-        {
-            requestInformationBuilder.setRequestId(SVC_REQUEST_ID);
-            requestInformationBuilder.setRequestAction(REQUEST_ACTION);
-        }
-        networkTopologyOperationInputBuilder.setRequestInformation(requestInformationBuilder.build());
-    }
-
-    private void loadSdncRequestHeader(Map<String, String> inputs, NetworkTopologyOperationInputBuilder networkTopologyOperationInputBuilder) {
-        SdncRequestHeaderBuilder sdncRequestHeaderBuilder = new SdncRequestHeaderBuilder();
-        {
-            sdncRequestHeaderBuilder.setSvcRequestId(SVC_REQUEST_ID);
-            SdncRequestHeader.SvcAction svcAction = SVC_DEFAULT_ACTION;
-            String action = inputs.get(SDC_ACTION);
-            if (!StringUtils.isBlank(action)) {
-                if (action.toLowerCase().contains("delete")) {
-                    svcAction = SdncRequestHeader.SvcAction.Delete;
-                } else if (action.toLowerCase().contains("create")) {
-                    svcAction = SdncRequestHeader.SvcAction.Create;
-                }
-            }
-            sdncRequestHeaderBuilder.setSvcAction(svcAction);
-        }
-        networkTopologyOperationInputBuilder.setSdncRequestHeader(sdncRequestHeaderBuilder.build());
-    }
-
-    private List<Param> getParamList(Map<String, String> inputs) {
-        List<Param> paramList = new ArrayList<>();
-        if (inputs != null && !inputs.isEmpty()) {
-            inputs.keySet().forEach(key -> {
-                ParamBuilder paramBuilder = new ParamBuilder();
-                paramBuilder.setName(key);
-                paramBuilder.setValue(inputs.get(key));
-                paramBuilder.setKey(new ParamKey(key));
-                paramList.add(paramBuilder.build());
-            });
-        }
-        return paramList;
-    }
-}
index 4c756ae..5726ae9 100644 (file)
                        <version>1.3.0</version>
                </dependency>
         <!--for yang decoder-->
-        <dependency>
+        <!--<dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-codec-gson</artifactId>
             <version>1.1.1-Carbon</version>
             <groupId>org.dom4j</groupId>
             <artifactId>dom4j</artifactId>
             <version>2.0.0</version>
-        </dependency>
+        </dependency>-->
     </dependencies>
     <build>
         <resources>
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/base/DataBrokerTestCustomizer.java b/common/src/main/java/org/openecomp/mso/yangDecoder/base/DataBrokerTestCustomizer.java
deleted file mode 100644 (file)
index 8560cbd..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.base;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.MoreExecutors;
-import javassist.ClassPool;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.NotificationPublishService;
-import org.opendaylight.mdsal.binding.api.NotificationService;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataBrokerAdapter;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMNotificationPublishServiceAdapter;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMNotificationServiceAdapter;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.mdsal.dom.api.DOMDataBroker;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.broker.DOMNotificationRouter;
-import org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker;
-import org.opendaylight.mdsal.dom.spi.store.DOMStore;
-import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
-import org.opendaylight.yangtools.binding.data.codec.gen.impl.DataObjectSerializerGenerator;
-import org.opendaylight.yangtools.binding.data.codec.gen.impl.StreamWriterGenerator;
-import org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry;
-import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.generator.util.JavassistUtils;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-
-public class DataBrokerTestCustomizer {
-
-    private DOMDataBroker domDataBroker;
-    private final DOMNotificationRouter domNotificationRouter;
-    private final MockSchemaService schemaService;
-    private ImmutableMap<LogicalDatastoreType, DOMStore> datastores;
-    private final BindingToNormalizedNodeCodec bindingToNormalized;
-
-    public ImmutableMap<LogicalDatastoreType, DOMStore> createDatastores() {
-        return ImmutableMap.<LogicalDatastoreType, DOMStore>builder()
-                .put(LogicalDatastoreType.OPERATIONAL, createOperationalDatastore())
-                .put(LogicalDatastoreType.CONFIGURATION,createConfigurationDatastore())
-                .build();
-    }
-
-    public DataBrokerTestCustomizer() {
-        schemaService = new MockSchemaService();
-        final ClassPool pool = ClassPool.getDefault();
-        final DataObjectSerializerGenerator generator = StreamWriterGenerator.create(JavassistUtils.forClassPool(pool));
-        final BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(generator);
-        final GeneratedClassLoadingStrategy loading = GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy();
-        bindingToNormalized = new BindingToNormalizedNodeCodec(loading, codecRegistry);
-        schemaService.registerSchemaContextListener(bindingToNormalized);
-        domNotificationRouter = DOMNotificationRouter.create(16);
-    }
-
-    public DOMStore createConfigurationDatastore() {
-        final InMemoryDOMDataStore store = new InMemoryDOMDataStore("CFG", MoreExecutors.sameThreadExecutor());
-        schemaService.registerSchemaContextListener(store);
-        return store;
-    }
-
-    public DOMStore createOperationalDatastore() {
-        final InMemoryDOMDataStore store = new InMemoryDOMDataStore("OPER", MoreExecutors.sameThreadExecutor());
-        schemaService.registerSchemaContextListener(store);
-        return store;
-    }
-
-    public DOMDataBroker createDOMDataBroker() {
-        return new SerializedDOMDataBroker(getDatastores(), getCommitCoordinatorExecutor());
-    }
-
-    public NotificationService createNotificationService() {
-        return new BindingDOMNotificationServiceAdapter(bindingToNormalized.getCodecRegistry(), domNotificationRouter);
-    }
-
-    public NotificationPublishService createNotificationPublishService() {
-        return new BindingDOMNotificationPublishServiceAdapter(bindingToNormalized, domNotificationRouter);
-    }
-
-
-    public ListeningExecutorService getCommitCoordinatorExecutor() {
-        return MoreExecutors.sameThreadExecutor();
-    }
-
-    public DataBroker createDataBroker() {
-        return new BindingDOMDataBrokerAdapter(getDOMDataBroker(), bindingToNormalized);
-    }
-
-    public BindingToNormalizedNodeCodec getBindingToNormalized() {
-        return bindingToNormalized;
-    }
-
-    public DOMSchemaService getSchemaService() {
-        return schemaService;
-    }
-
-    private DOMDataBroker getDOMDataBroker() {
-        if(domDataBroker == null) {
-            domDataBroker = createDOMDataBroker();
-        }
-        return domDataBroker;
-    }
-
-    private synchronized ImmutableMap<LogicalDatastoreType, DOMStore> getDatastores() {
-        if (datastores == null) {
-            datastores = createDatastores();
-        }
-        return datastores;
-    }
-
-    public void updateSchema(final SchemaContext ctx) {
-        schemaService.changeSchema(ctx);
-    }
-
-    public DOMNotificationRouter getDomNotificationRouter() {
-        return domNotificationRouter;
-    }
-    public void close()
-    {
-       if(bindingToNormalized!=null)bindingToNormalized.close();
-       if(domNotificationRouter!=null)domNotificationRouter.close();
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java b/common/src/main/java/org/openecomp/mso/yangDecoder/base/MockSchemaService.java
deleted file mode 100644 (file)
index 5c4883c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.base;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
-import org.opendaylight.yangtools.util.ListenerRegistry;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
-import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider;
-
-public final class MockSchemaService implements DOMSchemaService, SchemaContextProvider {
-
-    private SchemaContext schemaContext;
-
-    ListenerRegistry<SchemaContextListener> listeners = ListenerRegistry.create();
-
-    @Override
-    public synchronized SchemaContext getGlobalContext() {
-        return schemaContext;
-    }
-
-    @Override
-    public synchronized SchemaContext getSessionContext() {
-        return schemaContext;
-    }
-
-    @Override
-    public ListenerRegistration<SchemaContextListener> registerSchemaContextListener(
-            final SchemaContextListener listener) {
-        return listeners.register(listener);
-    }
-
-    @Override
-    public synchronized SchemaContext getSchemaContext() {
-        return schemaContext;
-    }
-
-    public synchronized void changeSchema(final SchemaContext newContext) {
-        schemaContext = newContext;
-        for (ListenerRegistration<SchemaContextListener> listener : listeners) {
-            listener.getInstance().onGlobalContextUpdated(schemaContext);
-        }
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/base/TYangJsonXmlBase.java b/common/src/main/java/org/openecomp/mso/yangDecoder/base/TYangJsonXmlBase.java
deleted file mode 100644 (file)
index 16af7a8..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.base;
-
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.dom.api.DOMDataBroker;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
-import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-
-//--
-
-public abstract class TYangJsonXmlBase {
-
-    private Iterable<YangModuleInfo> moduleInfos;
-    protected SchemaContext schemaContext;
-//----------
-    private DataBrokerTestCustomizer testCustomizer;
-    private DataBroker dataBroker;
-    private DOMDataBroker domBroker;
-
-    protected Iterable<YangModuleInfo> getModuleInfos() throws Exception {
-        return BindingReflections.loadModuleInfos();
-    }
-    public static void writefile(String confname, String strx)
-    {
-       final String outd="outdir";
-       File dir = new File(outd);  
-       dir.mkdir();
-        String fn = outd+File.separatorChar+confname;
-        try(FileWriter fw = new FileWriter(fn); BufferedWriter writer = new BufferedWriter(fw))
-        {
-            // FileWriter fw = new FileWriter(fn);
-            // BufferedWriter writer = new BufferedWriter(fw);
-            writer.write(strx);
-            // writer.close();
-            // fw.close();
-        }
-        catch (Exception e)
-        {
-        }
-    }
-    public final void setup() throws Exception {
-        moduleInfos = getModuleInfos();
-        ModuleInfoBackedContext moduleContext = ModuleInfoBackedContext.create();
-        moduleContext.addModuleInfos(moduleInfos);
-        schemaContext = moduleContext.tryToCreateSchemaContext().get();
-        setupWithSchema(schemaContext);
-    }
-
-    /**
-     * Setups test with Schema context.
-     *
-     * @param context schema context
-     */
-    protected  void setupWithSchema(SchemaContext context){
-        testCustomizer = createDataBrokerTestCustomizer();
-        dataBroker = testCustomizer.createDataBroker();
-        domBroker = testCustomizer.createDOMDataBroker();
-        testCustomizer.updateSchema(context);
-        setupWithDataBroker(dataBroker);
-    }
-    protected void setupWithDataBroker(final DataBroker dataBroker) {
-        // Intentionally left No-op, subclasses may customize it
-    }
-
-    protected DataBrokerTestCustomizer createDataBrokerTestCustomizer() {
-        return new DataBrokerTestCustomizer();
-    }
-
-    public DataBroker getDataBroker() {
-        return dataBroker;
-    }
-
-    public DOMDataBroker getDomBroker() {
-        return domBroker;
-    }
-    public void close()
-    {
-       //domBroker.
-       testCustomizer.close();
-    }
-}
\ No newline at end of file
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/base/TYangJsonXmlOSGIBase.java b/common/src/main/java/org/openecomp/mso/yangDecoder/base/TYangJsonXmlOSGIBase.java
deleted file mode 100644 (file)
index 7ec9637..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.base;
-
-import org.openecomp.mso.yangDecoder.transform.api.ITransformJava2StringService;
-import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
-
-public interface TYangJsonXmlOSGIBase {
-
-       public abstract void init(BindingNormalizedNodeSerializer mappingService)
-                       throws Exception;
-
-       public abstract ITransformJava2StringService getJava2StringService(
-            String jsonorxml);
-
-       public abstract void close();
-
-}
\ No newline at end of file
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/api/ITransformJava2StringService.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/api/ITransformJava2StringService.java
deleted file mode 100644 (file)
index 978ce4b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.api;
-
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.Notification;
-
-/**
- * Created by Administrator on 2017/3/21.
- */
-public interface ITransformJava2StringService {
-       //following function encode 
-    <T extends DataObject>
-    String transformContrainerDataObjectToString(InstanceIdentifier<T> instanceIdentifier, String uriPath, T dataObject)
-            throws Exception;
-    <T extends Notification>
-    String transformNotificationToString(String uriPath, T notification)  throws Exception;
-    <T extends DataObject>
-    String transformRpcDataObjectToString(String uriPath, T dataObject)  throws Exception;
-
-    //following function decode
-    //for container
-    DataObject  transformContrainerDataObjectFromString(String uriPath, String sxml, boolean ispost) throws Exception;
-    //notification
-    Notification transformNotificationFromString(String notficationName, String sxml) throws Exception;
-    //for rpc
-    DataObject transformRpcDataObjectFromString(String rpcName, String sxml) throws Exception;
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/api/NormalizedNodeVisitor.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/api/NormalizedNodeVisitor.java
deleted file mode 100644 (file)
index 179b995..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.api;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-
-public interface NormalizedNodeVisitor {
-    void visitNode(int var1, String var2, NormalizedNode<?, ?> var3, boolean start);
-}
\ No newline at end of file
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/JsonParserStream.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/JsonParserStream.java
deleted file mode 100644 (file)
index 7795a4c..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import com.google.common.base.Preconditions;
-import org.opendaylight.yangtools.yang.data.util.RpcAsContainer;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-
-/**
- * Created by 10112215 on 2017/9/17.
- */
-public class JsonParserStream {
-    public static DataSchemaNode getWrapSchemaNode(SchemaNode parentNode) {
-        if(parentNode instanceof RpcDefinition) {
-            return new RpcAsContainer((RpcDefinition)parentNode);
-        } else if(parentNode instanceof NotificationDefinition) {
-            return new NotificationAsContainer((NotificationDefinition)parentNode);
-        } else {
-            Preconditions.checkArgument(parentNode instanceof DataSchemaNode, "Instance of DataSchemaNode class awaited.");
-            return (DataSchemaNode)parentNode;
-        }
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NormalizedNodeNavigator.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NormalizedNodeNavigator.java
deleted file mode 100644 (file)
index 8623dc9..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import com.google.common.base.Preconditions;
-import org.openecomp.mso.yangDecoder.transform.api.NormalizedNodeVisitor;
-import org.opendaylight.yangtools.yang.data.api.schema.*;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Created by 10036837 on 16-7-22.
- */
-public class NormalizedNodeNavigator {
-    private final NormalizedNodeVisitor visitor;
-
-    public NormalizedNodeNavigator(NormalizedNodeVisitor visitor) {
-        Preconditions.checkNotNull(visitor, "visitor should not be null");
-        this.visitor = visitor;
-    }
-
-    public void navigate(String parentPath, NormalizedNode<?, ?> normalizedNode) {
-        if (parentPath == null) {
-            parentPath = "";
-        }
-
-        this.navigateNormalizedNode(0, parentPath, normalizedNode);
-
-    }
-
-    private void navigateDataContainerNode(int level, String parentPath, DataContainerNode<?> dataContainerNode) {
-        this.visitor.visitNode(level, parentPath, dataContainerNode, true);
-        String newParentPath = parentPath + "/" + dataContainerNode.getIdentifier().toString();
-        Collection value = dataContainerNode.getValue();
-        Iterator var6 = value.iterator();
-
-        while (var6.hasNext()) {
-            NormalizedNode node = (NormalizedNode) var6.next();
-            if (node instanceof MixinNode && node instanceof NormalizedNodeContainer) {
-                this.navigateNormalizedNodeContainerMixin(level, newParentPath, (NormalizedNodeContainer) node);
-            } else {
-                this.navigateNormalizedNode(level, newParentPath, node);
-            }
-        }
-        this.visitor.visitNode(level, parentPath, dataContainerNode, false);
-    }
-
-    private void navigateOrderedNodeContainer(int level, String parentPath, OrderedNodeContainer<?> node) {
-        String newParentPath = parentPath + "/" + node.getIdentifier().toString();
-        Collection value = node.getValue();
-        Iterator var6 = value.iterator();
-
-        while (var6.hasNext()) {
-            NormalizedNode normalizedNode = (NormalizedNode) var6.next();
-            if (normalizedNode instanceof OrderedNodeContainer) {
-                this.navigateOrderedNodeContainer(level, newParentPath, (OrderedNodeContainer) normalizedNode);
-            } else {
-                this.navigateNormalizedNode(level, newParentPath, normalizedNode);
-            }
-        }
-
-    }
-
-    private void navigateNormalizedNodeContainerMixin(int level, String parentPath, NormalizedNodeContainer<?, ?, ?> node) {
-
-        String newParentPath = parentPath + "/" + node.getIdentifier().toString();
-        Collection value = node.getValue();
-        Iterator var6 = value.iterator();
-
-        while (var6.hasNext()) {
-            NormalizedNode normalizedNode = (NormalizedNode) var6.next();
-            if (normalizedNode instanceof MixinNode && normalizedNode instanceof NormalizedNodeContainer) {
-                this.navigateNormalizedNodeContainerMixin(level, newParentPath, (NormalizedNodeContainer) normalizedNode);
-            } else {
-                this.navigateNormalizedNode(level, newParentPath, normalizedNode);
-            }
-        }
-
-    }
-
-    private void navigateNormalizedNode(int level, String parentPath, NormalizedNode<?, ?> normalizedNode) {
-        if (normalizedNode instanceof DataContainerNode) {
-            DataContainerNode dataContainerNode = (DataContainerNode) normalizedNode;
-            this.navigateDataContainerNode(level+1, parentPath, dataContainerNode);
-        } else if (normalizedNode instanceof OrderedNodeContainer) {
-            this.navigateOrderedNodeContainer(level, parentPath, (OrderedNodeContainer) normalizedNode);
-        } else {
-            this.visitor.visitNode(level + 1, parentPath, normalizedNode, false);
-        }
-
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NormalizedNodePrinter.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NormalizedNodePrinter.java
deleted file mode 100644 (file)
index 1c3ff2c..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-import org.openecomp.mso.yangDecoder.transform.api.NormalizedNodeVisitor;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-
-
-/**
- * Created by 10036837 on 16-7-21.
- */
-public class NormalizedNodePrinter implements NormalizedNodeVisitor {
-    StringBuilder result;
-    private static final String CODES = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-    public NormalizedNodePrinter(StringBuilder result) {
-        this.result = result;
-    }
-    private final static String endl=System.getProperty("line.separator");
-    public final static String getEndl(){
-        return endl;
-    }
-    private static String spaces(int n) {
-        StringBuilder builder = new StringBuilder();
-        for (int i = 0; i < n; i++) {
-            builder.append(' ');
-        }
-        return builder.toString();
-    }
-
-    @Override
-    public void visitNode(int level, String parentPath, NormalizedNode<?, ?> normalizedNode, boolean start) {
-        if(normalizedNode == null)
-        {
-            return;
-        }
-        if(normalizedNode.getNodeType() == null)
-        {
-            return;
-        }
-
-        String localName = normalizedNode.getNodeType().getLocalName();
-        if (normalizedNode instanceof LeafNode || normalizedNode instanceof LeafSetEntryNode) {
-            if(normalizedNode.getValue() instanceof  byte[]){
-                result.append(spaces((level-1) * 4) + "<" + localName + ">" + (normalizedNode.getValue() == null ? "" : base64Encode((byte[]) normalizedNode.getValue())) + "</" + localName + ">"+endl);
-            }
-            else {
-               String svalue=normalizedNode.getValue().toString();
-                if(normalizedNode.getValue() instanceof QName){
-                    QName qn=(QName)normalizedNode.getValue();
-                    svalue= qn.getLocalName();
-                }
-                result.append(spaces((level - 1) * 4) + "<" + localName + ">" + (normalizedNode.getValue() == null ? "" :svalue) + "</" + localName + ">"+endl);
-            }
-        } else {
-            if (start) {
-                if (level == 1) {
-                    result.append(spaces((level-1) * 4) + "<" + localName + " xmlns=\"" + normalizedNode.getNodeType().getNamespace() + "\">"+endl);
-                } else {
-                    result.append(spaces((level-1) * 4) + "<" + localName + ">"+endl);
-                }
-            } else {
-                result.append(spaces((level-1) * 4) + "</" + localName + ">"+endl);
-            }
-        }
-    }
-    private String base64Encode(byte[] in) {
-        StringBuilder out = new StringBuilder((in.length * 4) / 3);
-        int b;
-        for (int i = 0; i < in.length; i += 3) {
-            b = (in[i] & 0xFC) >> 2;
-            out.append(CODES.charAt(b));
-            b = (in[i] & 0x03) << 4;
-            if (i + 1 < in.length) {
-                b |= (in[i + 1] & 0xF0) >> 4;
-                out.append(CODES.charAt(b));
-                b = (in[i + 1] & 0x0F) << 2;
-                if (i + 2 < in.length) {
-                    b |= (in[i + 2] & 0xC0) >> 6;
-                    out.append(CODES.charAt(b));
-                    b = in[i + 2] & 0x3F;
-                    out.append(CODES.charAt(b));
-                } else {
-                    out.append(CODES.charAt(b));
-                    out.append('=');
-                }
-            } else {
-                out.append(CODES.charAt(b));
-                out.append("==");
-            }
-        }
-        return out.toString();
-    }
-}
\ No newline at end of file
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NotificationAsContainer.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/NotificationAsContainer.java
deleted file mode 100644 (file)
index 8e468b9..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
-import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.Status;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.UsesNode;
-
-final class NotificationAsContainer implements ContainerSchemaNode {
-    private final NotificationDefinition delegate;
-
-    public String getDescription() {
-        return this.delegate.getDescription();
-    }
-
-    public String getReference() {
-        return this.delegate.getReference();
-    }
-
-    public Set<TypeDefinition<?>> getTypeDefinitions() {
-        return this.delegate.getTypeDefinitions();
-    }
-
-    public Set<GroupingDefinition> getGroupings() {
-        return this.delegate.getGroupings();
-    }
-
-    public Status getStatus() {
-        return this.delegate.getStatus();
-    }
-
-    public ContainerSchemaNode getInput() {
-        return null;
-    }
-
-    public ContainerSchemaNode getOutput() {
-        return null;
-    }
-
-    NotificationAsContainer(NotificationDefinition parentNode) {
-        this.delegate = parentNode;
-    }
-
-    public QName getQName() {
-        return this.delegate.getQName();
-    }
-
-    public SchemaPath getPath() {
-        return this.delegate.getPath();
-    }
-
-    public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-        return Collections.emptyList();
-    }
-
-    public DataSchemaNode getDataChildByName(QName name) {
-        return this.getDataChildByName(name.getLocalName());
-    }
-
-    public DataSchemaNode getDataChildByName(String name) {
-        byte var3 = -1;
-        switch(name.hashCode()) {
-            case -1005512447:
-                if(name.equals("output")) {
-                    var3 = 1;
-                }
-                break;
-            case 100358090:
-                if(name.equals("input")) {
-                    var3 = 0;
-                }
-        }
-
-        switch(var3) {
-            case 0:
-                return null;
-            case 1:
-                return null;
-            default:
-                return null;
-        }
-    }
-
-    public Set<UsesNode> getUses() {
-        return Collections.emptySet();
-    }
-
-    public Set<AugmentationSchema> getAvailableAugmentations() {
-        return Collections.emptySet();
-    }
-
-    public boolean isPresenceContainer() {
-        return false;
-    }
-
-    public Collection<DataSchemaNode> getChildNodes() {
-        ArrayList ret = new ArrayList();
-        ret.addAll(this.delegate.getChildNodes());
-        return ret;
-    }
-
-    public boolean isAugmenting() {
-        return false;
-    }
-
-    public boolean isAddedByUses() {
-        return false;
-    }
-
-    public boolean isConfiguration() {
-        return false;
-    }
-
-    public ConstraintDefinition getConstraints() {
-        return null;
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2JsonFactory.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2JsonFactory.java
deleted file mode 100644 (file)
index b99cd1a..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import javassist.ClassPool;
-import org.openecomp.mso.yangDecoder.base.TYangJsonXmlBase;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.yangtools.binding.data.codec.gen.impl.StreamWriterGenerator;
-import org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry;
-import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.mdsal.binding.generator.util.JavassistUtils;
-import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
-
-/**
- * Created by 10112215 on 2017/3/26.
- */
-public class TransformJava2JsonFactory  extends TYangJsonXmlBase {
-    BindingToNormalizedNodeCodec mappingservice;
-    ModuleInfoBackedContext moduleInfoBackedContext;
-    protected final static ControllerContext controllerContext = ControllerContext.getInstance();
-
-    public TransformJava2JsonServiceImpl getJava2jsonService() {
-        if (java2jsonService == null) {
-            try {
-                setup2();
-            } catch (Exception e) {
-                e.printStackTrace();
-                return null;
-            }
-        }
-        return java2jsonService;
-    }
-
-    TransformJava2JsonServiceImpl java2jsonService;
-
-    @Override
-    protected void setupWithDataBroker(final DataBroker dataBroker) {
-        // Intentionally left No-op, subclasses may customize it
-        
-        // moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(SncTunnels.class));
-
-        try {
-               mappingservice = new BindingToNormalizedNodeCodec(GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(),
-                    new BindingNormalizedNodeCodecRegistry(StreamWriterGenerator.create(JavassistUtils.forClassPool(ClassPool.getDefault()))));
-            moduleInfoBackedContext = ModuleInfoBackedContext.create();
-            
-            for (YangModuleInfo yangModuleInfo : getModuleInfos()) {
-                moduleInfoBackedContext.registerModuleInfo(yangModuleInfo);
-            }
-            schemaContext = moduleInfoBackedContext.tryToCreateSchemaContext().get();
-            mappingservice.onGlobalContextUpdated(schemaContext);
-            controllerContext.setSchemas(schemaContext);
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-               if(null != mappingservice){
-                       mappingservice.close();
-               }
-        }
-        
-
-    }
-
-    public final void setup2() throws Exception {
-        super.setup();
-        if(java2jsonService==null)
-            java2jsonService = new TransformJava2JsonServiceImpl(mappingservice, schemaContext);
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2JsonServiceImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2JsonServiceImpl.java
deleted file mode 100644 (file)
index ef9bdc4..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import org.openecomp.mso.yangDecoder.transform.api.ITransformJava2StringService;
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-import org.opendaylight.netconf.sal.restconf.impl.NormalizedNodeContext;
-import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.Notification;
-import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Created by Administrator on 2017/3/20.
- */
-public class TransformJava2JsonServiceImpl  implements ITransformJava2StringService {
-    private static final Logger LOG = LoggerFactory.getLogger(TransformJava2JsonServiceImpl.class);
-    BindingNormalizedNodeSerializer mappingservice;
-    SchemaContext schemaContext;
-    YangDataTransformNN2JsonServiceImpl nn2jsonService;
-    YangDataTransformJava2NNServiceImpl java2nnService;
-    public TransformJava2JsonServiceImpl(BindingNormalizedNodeSerializer mappingservice, SchemaContext schemaContext){
-       this.mappingservice=mappingservice;
-        this.schemaContext=schemaContext;
-        nn2jsonService=new YangDataTransformNN2JsonServiceImpl();
-        java2nnService=new YangDataTransformJava2NNServiceImpl(mappingservice);
-    }
-    @Override
-    public <T extends DataObject> String transformContrainerDataObjectToString(InstanceIdentifier<T> instanceIdentifier, String uriPath,T dataObject) throws Exception {
-        // TODO Auto-generated method stub
-        NormalizedNode nn = java2nnService.yangDataObjecttoNN(instanceIdentifier, dataObject);
-        NormalizedNodeContext nnc = java2nnService.yangNNtoNNC(nn, uriPath);
-        String sjson = nn2jsonService.transformNNCToString(nnc);
-        return sjson;
-    }
-    @Override
-    public <T extends Notification> String transformNotificationToString(String uriPath,T notification)throws Exception  {
-        NormalizedNode nn = mappingservice.toNormalizedNodeNotification(notification);
-        NormalizedNodeContext nnc = java2nnService.yangNNtoNNC(nn, uriPath);
-        String sjson = nn2jsonService.transformNNCToString(nnc);
-        return sjson;
-    }
-    @Override
-    public <T extends DataObject> String transformRpcDataObjectToString(String uriPath,T dataObject) throws Exception  {
-        NormalizedNode nn = mappingservice.toNormalizedNodeRpcData(dataObject);
-        NormalizedNodeContext nnc = java2nnService.yangNNtoNNC(nn, uriPath);
-        String sjson = nn2jsonService.transformNNCToString(nnc);
-        return sjson;
-    }
-    @Override
-    public  DataObject  transformContrainerDataObjectFromString(String uriPath,String sjson,boolean ispost) throws Exception {
-        NormalizedNodeContext nnc= nn2jsonService.transformDataObjectNNCFromString(uriPath,sjson,ispost);
-        return java2nnService.yangDataObjectfromNNC(nnc);
-    }
-    @Override
-    public Notification transformNotificationFromString(String notficationName,String sjson) throws Exception {
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(notficationName);
-        NormalizedNodeContext nnc= nn2jsonService.transformNotficationNNCFromString(notficationName,sjson);
-        ContainerNode contn= (ContainerNode)nnc.getData();
-        return mappingservice.fromNormalizedNodeNotification(iicontext.getSchemaNode().getPath(),contn);
-    }
-    @Override
-    public DataObject transformRpcDataObjectFromString(String rpcName,String sjson) throws Exception {
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(rpcName);
-        NormalizedNodeContext nnc= nn2jsonService.transformRPCNNCFromString(rpcName,sjson);
-        return  java2nnService.yangRpcDatafromNN(iicontext,nnc.getData());
-    /*    ContainerNode contn= (ContainerNode)nnc.getData();
-        DataSchemaNode schemaNode;
-        final SchemaNode schemaNode0 = iicontext.getSchemaNode();
-        boolean isInput = false;
-        if (schemaNode0 instanceof RpcDefinition) {
-            if (contn.getNodeType().getLocalName().contains("output")) {
-                schemaNode = ((RpcDefinition) schemaNode0).getOutput();
-                isInput = false;
-            } else {
-                schemaNode = ((RpcDefinition) schemaNode0).getInput();
-                isInput = true;
-            }
-
-        } else if (schemaNode0 instanceof DataSchemaNode) {
-            schemaNode = (DataSchemaNode) schemaNode0;
-        } else {
-            throw new IllegalStateException("Unknow SchemaNode");
-        }
-       return mappingservice.fromNormalizedNodeRpcData(schemaNode.getPath(),contn); */
-        //return mappingservice.toNormalizedNodeRpcData((DataContainer) nnc.getData());
-      //  return  java2nnService.yangDataObjectfromNNC(nnc);
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2XMLFactory.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2XMLFactory.java
deleted file mode 100644 (file)
index 8595988..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import javassist.ClassPool;
-import org.openecomp.mso.yangDecoder.base.TYangJsonXmlBase;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.yangtools.binding.data.codec.gen.impl.StreamWriterGenerator;
-import org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry;
-import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.mdsal.binding.generator.util.JavassistUtils;
-import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
-
-/**
- * Created by 10112215 on 2017/3/26.
- */
-public class TransformJava2XMLFactory extends TYangJsonXmlBase {
-    BindingToNormalizedNodeCodec mappingservice;
-    ModuleInfoBackedContext moduleInfoBackedContext;
-    protected final static ControllerContext controllerContext = ControllerContext.getInstance();
-
-    public TransformJava2XMLServiceImpl getJava2xmlService() {
-        if (java2xmlService == null) {
-            try {
-                setup2();
-            } catch (Exception e) {
-                e.printStackTrace();
-                return null;
-            }
-        }
-        return java2xmlService;
-    }
-
-    TransformJava2XMLServiceImpl java2xmlService;
-
-    @Override
-    protected void setupWithDataBroker(final DataBroker dataBroker) {
-        // Intentionally left No-op, subclasses may customize it
-        
-        // moduleInfoBackedContext.registerModuleInfo(BindingReflections.getModuleInfo(SncTunnels.class));
-        try {
-               mappingservice = new BindingToNormalizedNodeCodec(GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(),
-                    new BindingNormalizedNodeCodecRegistry(StreamWriterGenerator.create(JavassistUtils.forClassPool(ClassPool.getDefault()))));
-            moduleInfoBackedContext = ModuleInfoBackedContext.create();
-            
-            for (YangModuleInfo yangModuleInfo : getModuleInfos()) {
-                moduleInfoBackedContext.registerModuleInfo(yangModuleInfo);
-            }
-            
-            schemaContext = moduleInfoBackedContext.tryToCreateSchemaContext().get();
-            mappingservice.onGlobalContextUpdated(schemaContext);
-            controllerContext.setSchemas(schemaContext);
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-               if(null != mappingservice){
-                       mappingservice.close();
-               }
-        }
-        
-
-    }
-
-    public final void setup2() throws Exception {
-        super.setup();
-        if(java2xmlService==null)
-            java2xmlService = new TransformJava2XMLServiceImpl(mappingservice, schemaContext);
-    }
-
-
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2XMLServiceImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransformJava2XMLServiceImpl.java
deleted file mode 100644 (file)
index 9a1d570..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import org.openecomp.mso.yangDecoder.transform.api.ITransformJava2StringService;
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-import org.opendaylight.netconf.sal.restconf.impl.NormalizedNodeContext;
-import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.Notification;
-import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Map;
-
-/**
- * Created by Administrator on 2017/3/20.
- */
-public class TransformJava2XMLServiceImpl implements ITransformJava2StringService {
-    private static final Logger LOG = LoggerFactory.getLogger(TransformJava2XMLServiceImpl.class);
-    BindingNormalizedNodeSerializer mappingservice;
-    SchemaContext schemaContext;
-    YangDataTransformJava2NNServiceImpl  java2nnService;
-    YangDataTransformNN2XMLServiceImpl   nn2xmlService;
-    YangOdlNN2XMLImpl yangODLnn2xml;
-    public TransformJava2XMLServiceImpl(BindingNormalizedNodeSerializer mappingService, SchemaContext schemaContext){
-        this.mappingservice=mappingService;
-        this.schemaContext=schemaContext;
-        java2nnService=new YangDataTransformJava2NNServiceImpl(mappingService);
-        nn2xmlService=new YangDataTransformNN2XMLServiceImpl(mappingService,schemaContext);
-        yangODLnn2xml=new YangOdlNN2XMLImpl(schemaContext);
-    }
-    @Override
-    public <T extends DataObject> String transformContrainerDataObjectToString(InstanceIdentifier<T> instanceIdentifier, String uriPath, T dataObject)
-            throws Exception {
-        // TODO Auto-generated method stub
-        NormalizedNode nn=java2nnService.yangDataObjecttoNN(instanceIdentifier,dataObject);
-        return yangODLnn2xml.yangNNtoXML(uriPath,nn);
-    }
-    @Override
-    public <T extends Notification> String transformNotificationToString(String uriPath, T notification)
-            throws Exception  {
-        NormalizedNode nn= mappingservice.toNormalizedNodeNotification(notification);
-        return yangODLnn2xml.yangNNtoXML(uriPath,nn);
-    }
-    @Override
-    public <T extends DataObject> String transformRpcDataObjectToString(String uriPath, T dataObject)
-            throws Exception {
-        NormalizedNode nn=mappingservice.toNormalizedNodeRpcData(dataObject);
-        return yangODLnn2xml.yangNNtoXML(uriPath,nn);
-    }
-    //for container
-    public <T extends DataObject> String transformContrainerDataObjectToString(InstanceIdentifier<T> instanceIdentifier, T dataObject) {
-        // TODO Auto-generated method stub
-        NormalizedNode nn=java2nnService.yangDataObjecttoNN(instanceIdentifier,dataObject);
-        return nn2xmlService.transformNNToString(nn);
-    }
-
-    public <T extends Notification> String transformNotificationToString(T notification) {
-        NormalizedNode nn= mappingservice.toNormalizedNodeNotification(notification);
-        return nn2xmlService.transformNNToString(nn);
-    }
-
-    //for rpc
-    public <T extends DataObject> String transformRpcDataObjectToString(T dataObject) {
-        NormalizedNode nn=mappingservice.toNormalizedNodeRpcData(dataObject);
-        return nn2xmlService.transformNNToString(nn);
-    }
-
-    //for container
-    @Override
-    public  DataObject  transformContrainerDataObjectFromString(String uriPath, String sxml,boolean ispost) throws Exception  {
-        // TODO Auto-generated method stub
-       if(ispost)
-       {
-               NormalizedNodeContext nnc=YangOdlNNC2XMLImpl.fromXML(uriPath,sxml, ispost);
-                final InstanceIdentifierContext<?> iicontext=nnc.getInstanceIdentifierContext();
-               Map.Entry<InstanceIdentifier<?>, DataObject> temp = mappingservice.fromNormalizedNode(iicontext.getInstanceIdentifier(),nnc.getData());
-               return (DataObject)temp.getValue();
-       }
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(uriPath);
-        NormalizedNode nn =nn2xmlService.transformNNFromString(sxml);
-        Map.Entry<InstanceIdentifier<?>, DataObject> temp = mappingservice.fromNormalizedNode(iicontext.getInstanceIdentifier(),nn);
-        if (null == temp) {
-            return null;
-        } else {
-            return   temp.getValue();
-        }
-    }
-    @Override
-    public Notification transformNotificationFromString(String notficationName, String sxml) throws Exception {
-
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(notficationName);
-        NormalizedNode nn = nn2xmlService.transformNotificationStringtoNN(sxml, notficationName);
-        ContainerNode noti = (ContainerNode) nn;
-        SchemaNode snode=iicontext.getSchemaNode() ;
-        Notification obj = mappingservice.fromNormalizedNodeNotification(snode.getPath(), noti);
-        return obj;
-    }
-        //for rpc
-    @Override
-    public DataObject transformRpcDataObjectFromString(String rpcName, String sxml) throws Exception {
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(rpcName);
-        Map.Entry<DataSchemaNode, NormalizedNode>  nnentry = nn2xmlService.transformRpcNNEntryfromString(sxml,iicontext);
-        ContainerNode rpc = (ContainerNode) nnentry.getValue();
-        DataObject rpcdata= mappingservice.fromNormalizedNodeRpcData(nnentry.getKey().getPath(),rpc);
-        return rpcdata;
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransfromJava2StringFactory.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/TransfromJava2StringFactory.java
deleted file mode 100644 (file)
index a45b587..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import org.dom4j.DocumentException;
-import org.dom4j.DocumentHelper;
-import org.openecomp.mso.yangDecoder.transform.api.ITransformJava2StringService;
-
-/**
- * Created by 10112215 on 2017/3/24.
- */
-public class TransfromJava2StringFactory {
-
-    private static TransformJava2JsonServiceImpl java2jsonService = (new TransformJava2JsonFactory()).getJava2jsonService();
-
-    private static TransformJava2XMLServiceImpl java2XMLService/* = (new TransformJava2XMLFactory()).getJava2xmlService()*/;
-
-    public static boolean isXML(String value) {
-        try {
-            DocumentHelper.parseText(value);
-        } catch (DocumentException e) {
-            return false;
-        }
-        return true;
-    }
-
-    public static ITransformJava2StringService getJava2StringService(String input) throws Exception {
-        ITransformJava2StringService java2jsonService;
-        if (isXML(input)) {
-            java2jsonService = getJava2XMLService();
-        } else {
-            java2jsonService = getJava2jsonService();
-        }
-        return java2jsonService;
-    }
-
-    public static void init() {
-        // do no shit for static initialization
-    }
-
-    public static ITransformJava2StringService getJava2jsonService() throws Exception {
-        if (java2jsonService == null) {
-            TransformJava2JsonFactory transformJava2JsonFactory = new TransformJava2JsonFactory();
-            java2jsonService = transformJava2JsonFactory.getJava2jsonService();
-        }
-        return java2jsonService;
-    }
-
-    public static ITransformJava2StringService getJava2XMLService() throws Exception {
-        if (java2XMLService == null) {
-            TransformJava2XMLFactory transformJava2XMLFactory = new TransformJava2XMLFactory();
-            java2XMLService = transformJava2XMLFactory.getJava2xmlService();
-        }
-        return java2XMLService;
-    }
-
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/XmlNormalizedNodeBodyReaderUmeImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/XmlNormalizedNodeBodyReaderUmeImpl.java
deleted file mode 100644 (file)
index d9add78..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import org.opendaylight.netconf.sal.rest.impl.XmlNormalizedNodeBodyReader;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-
-public class XmlNormalizedNodeBodyReaderUmeImpl extends
-               XmlNormalizedNodeBodyReader {
-       InstanceIdentifierContext<?> iic; 
-       boolean  ispost=false;
-       @Override
-        protected InstanceIdentifierContext<?> getInstanceIdentifierContext() {
-               return iic;
-           }
-       @Override
-        protected boolean isPost() {
-               return ispost;
-           } 
-       public void Set(InstanceIdentifierContext<?> iic,boolean ispost)
-       {
-               this.iic=iic;
-               this.ispost=ispost;
-       }
-        
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformJava2NNServiceImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformJava2NNServiceImpl.java
deleted file mode 100644 (file)
index 4d56767..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-//import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec;
-
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-import org.opendaylight.netconf.sal.restconf.impl.NormalizedNodeContext;
-import org.opendaylight.netconf.sal.restconf.impl.WriterParameters;
-import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.yangtools.yang.binding.DataContainer;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.*;
-
-import java.util.Map;
-
-/**
- * Created by Administrator on 2017/3/17.
- */
-public class YangDataTransformJava2NNServiceImpl {
-    BindingNormalizedNodeSerializer mappingService;
-    public YangDataTransformJava2NNServiceImpl(BindingNormalizedNodeSerializer mappingService)
-    {
-        this.mappingService=mappingService;
-    }
-    public  <T extends DataObject>  NormalizedNodeContext yangDataObjecttoNNC(InstanceIdentifier<T> identifier, String uri, T dobj)
-    {
-        final InstanceIdentifierContext<?> iiContext = ControllerContext.getInstance().toInstanceIdentifier(uri);
-        Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> temp = mappingService.toNormalizedNode(identifier, dobj);
-        WriterParameters.WriterParametersBuilder aa=new WriterParameters.WriterParametersBuilder();
-        aa.setPrettyPrint(true);
-        return new NormalizedNodeContext( iiContext, temp.getValue() ,aa.build());
-    }
-    public  <T extends DataObject> NormalizedNode yangDataObjecttoNN( InstanceIdentifier<T> identifier,T dobj) {
-        Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> temp = mappingService.toNormalizedNode(identifier, dobj);
-        if (null == temp) {
-            return null;
-        } else {
-            return temp.getValue();
-        }
-    }
-    public NormalizedNodeContext yangNNtoNNC(NormalizedNode nn, String uri){
-        final InstanceIdentifierContext<?> iiContext = ControllerContext.getInstance().toInstanceIdentifier(uri);
-        WriterParameters.WriterParametersBuilder aa=new WriterParameters.WriterParametersBuilder();
-        aa.setPrettyPrint(true);
-        return new NormalizedNodeContext(iiContext, nn,aa.build());
-    }
-    public  <T extends DataObject> T yangDataObjectfromNN(YangInstanceIdentifier identifier,NormalizedNode node) {
-        Map.Entry<InstanceIdentifier<?>, DataObject> temp = mappingService.fromNormalizedNode(identifier, node);
-        if (null == temp) {
-            return null;
-        } else {
-            return (T) temp.getValue();
-        }
-    }
-    public  <T extends DataObject> T yangDataObjectfromNNC(NormalizedNodeContext nnc)
-    {
-        return yangDataObjectfromNN(nnc.getInstanceIdentifierContext().getInstanceIdentifier(),nnc.getData());
-    }
-    public ContainerNode yangRpcDatatoNN(final DataContainer rpcdata){
-        return mappingService.toNormalizedNodeRpcData(rpcdata);
-    }
-    public DataObject yangRpcDatafromNN(SchemaPath path, final ContainerNode data)
-    {
-        return mappingService.fromNormalizedNodeRpcData(path,data);
-    }
-    public static DataSchemaNode findDataSchemaNode(String uriPath,String inputoroutput)
-    {
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(uriPath);
-        DataSchemaNode dsn=JsonParserStream.getWrapSchemaNode( iicontext.getSchemaNode());
-        return dsn;
-    }
-    public static SchemaNode findSchemaNode(final InstanceIdentifierContext<?> iicontext ,String inputoroutput)
-    {
-        SchemaNode schemaNode;
-
-        final SchemaNode schemaNode0 = iicontext.getSchemaNode();
-        if (schemaNode0 instanceof RpcDefinition) {
-            if (inputoroutput.contains("output")) {
-                schemaNode = ((RpcDefinition) schemaNode0).getOutput();
-            } else {
-                schemaNode = ((RpcDefinition) schemaNode0).getInput();
-            }
-
-        } else if(schemaNode0 instanceof NotificationDefinition)
-        {
-            schemaNode=schemaNode0;
-        }
-        else if (schemaNode0 instanceof DataSchemaNode) {
-            schemaNode =  schemaNode0;
-        } else {
-            throw new IllegalStateException("Unknow SchemaNode");
-        }
-        return schemaNode;
-    }
-
-    public static DataSchemaNode findRpcSchemaNode(final InstanceIdentifierContext<?> iicontext,String inputoroutput)
-    {
-        DataSchemaNode schemaNode;
-        final SchemaNode schemaNode0 = iicontext.getSchemaNode();
-        boolean isInput = false;
-        if (schemaNode0 instanceof RpcDefinition) {
-            if (inputoroutput.contains("output")) {
-                schemaNode = ((RpcDefinition) schemaNode0).getOutput();
-                isInput = false;
-            } else {
-                schemaNode = ((RpcDefinition) schemaNode0).getInput();
-                isInput = true;
-            }
-
-        } else if (schemaNode0 instanceof DataSchemaNode) {
-            schemaNode = (DataSchemaNode) schemaNode0;
-        } else {
-            throw new IllegalStateException("Unknow SchemaNode");
-        }
-        return   schemaNode;
-    }
-    public DataObject yangRpcDatafromNN(final InstanceIdentifierContext<?> iicontext , final NormalizedNode data) {
-       // final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(uriPath);
-        ContainerNode contn= (ContainerNode)data;
-        DataSchemaNode schemaNode= findRpcSchemaNode(iicontext,contn.getNodeType().getLocalName());;
-    /*    final SchemaNode schemaNode0 = iicontext.getSchemaNode();
-        boolean isInput = false;
-        if (schemaNode0 instanceof RpcDefinition) {
-            if (contn.getNodeType().getLocalName().contains("output")) {
-                schemaNode = ((RpcDefinition) schemaNode0).getOutput();
-                isInput = false;
-            } else {
-                schemaNode = ((RpcDefinition) schemaNode0).getInput();
-                isInput = true;
-            }
-
-        } else if (schemaNode0 instanceof DataSchemaNode) {
-            schemaNode = (DataSchemaNode) schemaNode0;
-        } else {
-            throw new IllegalStateException("Unknow SchemaNode");
-        }*/
-        SchemaPath path=schemaNode.getPath();
-        return  mappingService.fromNormalizedNodeRpcData(path,contn);
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2JsonServiceImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2JsonServiceImpl.java
deleted file mode 100644 (file)
index 23872ca..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import com.google.common.base.Charsets;
-import org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader;
-import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeJsonBodyWriter;
-import org.opendaylight.netconf.sal.restconf.impl.NormalizedNodeContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.core.MediaType;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.annotation.Annotation;
-
-/**
- * Created by Administrator on 2017/3/17.
- */
-public class YangDataTransformNN2JsonServiceImpl {
-    private static final Logger LOG = LoggerFactory.getLogger(YangDataTransformNN2JsonServiceImpl.class);
-    private static final Annotation[] EMPTY_ANNOTATIONS = new Annotation[0];
-
-    public NormalizedNodeContext transformNNCFromString(String uriPath,String jsonpayload,boolean isPost){
-
-        InputStream entityStream = new ByteArrayInputStream(jsonpayload.getBytes(Charsets.UTF_8));
-        NormalizedNodeContext normalnodes3 = JsonNormalizedNodeBodyReader.readFrom(uriPath, entityStream, isPost);
-        return normalnodes3;
-    }
-    public String transformNNCToString(NormalizedNodeContext readData) throws IOException {
-        NormalizedNodeJsonBodyWriter writer = new NormalizedNodeJsonBodyWriter();
-        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-        //readData.getWriterParameters().isPrettyPrint()
-        writer.writeTo(readData, NormalizedNodeContext.class, null, EMPTY_ANNOTATIONS,
-                MediaType.APPLICATION_JSON_TYPE, null, outputStream );
-        return outputStream.toString(Charsets.UTF_8.name());
-    }
-    public NormalizedNodeContext transformRPCNNCFromString(String uriPath,String jsonpayload)
-    {
-        return transformNNCFromString(uriPath,jsonpayload,true);
-    }
-    public NormalizedNodeContext transformDataObjectNNCFromString(String uriPath,String jsonpayload,boolean ispost)
-    {
-        return transformNNCFromString(uriPath,jsonpayload,ispost);
-    }
-    public NormalizedNodeContext transformNotficationNNCFromString(String uriPath,String jsonpayload)
-    {
-        return transformNNCFromString(uriPath,jsonpayload,true);
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java
deleted file mode 100644 (file)
index a77977e..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import com.google.common.base.Charsets;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.DomUtils;
-import org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.parser.DomToNormalizedNodeParserFactory;
-import org.opendaylight.yangtools.yang.model.api.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.XMLOutputFactory;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.AbstractMap.SimpleEntry;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import static org.openecomp.mso.yangDecoder.transform.impl.JsonParserStream.getWrapSchemaNode;
-
-public class YangDataTransformNN2XMLServiceImpl {
-    private static final XMLOutputFactory XML_FACTORY;
-    private static final DocumentBuilderFactory BUILDERFACTORY;
-    static {
-        XML_FACTORY = XMLOutputFactory.newFactory();
-        XML_FACTORY.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, false);
-        final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        factory.setNamespaceAware(true);
-        factory.setCoalescing(true);
-        factory.setIgnoringElementContentWhitespace(true);
-        factory.setIgnoringComments(true);
-        BUILDERFACTORY = factory;
-    }
-    BindingNormalizedNodeSerializer mappingservice;
-    SchemaContext schemaContext;
-    private static final Logger LOG = LoggerFactory.getLogger(YangDataTransformNN2XMLServiceImpl.class);
-
-    public YangDataTransformNN2XMLServiceImpl(BindingNormalizedNodeSerializer mappingservice, SchemaContext context ) {
-
-        this.schemaContext = context;
-        this.mappingservice=mappingservice;
-    }
-
-    public String transformNNToString(NormalizedNode nn)
-    {
-        StringBuilder stringBuilder = new StringBuilder();
-        stringBuilder.append(YangOdlNNC2XMLImpl.getXMLHeader());
-        new NormalizedNodeNavigator(new NormalizedNodePrinter(stringBuilder)).navigate(null, nn);
-        return stringBuilder.toString();
-    }
-
-
-    public static DataSchemaNode getSchemaNodebyNs(final SchemaContext context, final String ns, final String childNodeName) {
-        for (Module module : context.getModules()) {
-            if (module.getNamespace().toString().equals(ns)) {
-                DataSchemaNode found = findChildNode(module.getChildNodes(), childNodeName);
-                Preconditions.checkState(found != null, "Unable to find %s", childNodeName);
-                return found;
-            }
-        }
-        throw new IllegalStateException("Unable to find child node " + childNodeName);
-    }
-    private static DataSchemaNode findChildNode(final Iterable<DataSchemaNode> children, final String name) {
-        List<DataNodeContainer> containers = Lists.newArrayList();
-
-        for (DataSchemaNode dataSchemaNode : children) {
-            if (dataSchemaNode.getQName().getLocalName().equals(name)) {
-                return dataSchemaNode;
-            }
-            if (dataSchemaNode instanceof DataNodeContainer) {
-                containers.add((DataNodeContainer) dataSchemaNode);
-            } else if (dataSchemaNode instanceof ChoiceSchemaNode) {
-                containers.addAll(((ChoiceSchemaNode) dataSchemaNode).getCases());
-            }
-        }
-
-        for (DataNodeContainer container : containers) {
-            DataSchemaNode retVal = findChildNode(container.getChildNodes(), name);
-            if (retVal != null) {
-                return retVal;
-            }
-        }
-
-        return null;
-    }
-    public NormalizedNode transformNNFromString(String sxml) throws Exception {
-        InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8")
-         //xml2nn
-            final Document docxml = readXmlToDocument(in_nocode);
-            Element element0 = docxml.getDocumentElement();
-            String localname = element0.getNodeName();
-            String ns = element0.getAttribute("xmlns");
-           // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null;
-           final DataSchemaNode dsn=getSchemaNodebyNs(schemaContext, ns, localname);
-            //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName());
-        DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext);
-        NormalizedNode parsed = null;
-        final List<Element> elements = Collections.singletonList(docxml.getDocumentElement());
-        if (dsn instanceof ContainerSchemaNode) {
-            parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)dsn);
-        }else   if (dsn instanceof ListSchemaNode) {
-            final ListSchemaNode casted = (ListSchemaNode) dsn;
-            parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted);
-        }
-        return parsed;
-
-    }
-
-
-
-    public NormalizedNode transformNotificationNNfromString(String sxml, final InstanceIdentifierContext<?> iicontext) throws Exception
-    {
-        SchemaNode schemaNode = getWrapSchemaNode(iicontext.getSchemaNode());
-        InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8")
-        //xml2nn
-        final Document docxml = readXmlToDocument(in_nocode);
-        Element element0 = docxml.getDocumentElement();
-        String localname = element0.getNodeName();
-        String ns = element0.getAttribute("xmlns");
-        // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null;
-        //  final DataSchemaNode dsn=(DataSchemaNode)schemaNode;/*getSchemaNodebyNs(schemaContext, ns, localname);*/
-        //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName());
-        DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext);
-        NormalizedNode parsed = null;
-        final List<Element> elements = Collections.singletonList(docxml.getDocumentElement());
-        if (schemaNode instanceof ContainerSchemaNode) {
-            parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)schemaNode);
-        }else   if (schemaNode instanceof ListSchemaNode) {
-            final ListSchemaNode casted = (ListSchemaNode) schemaNode;
-            parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted);
-        }
-        return parsed;
-    }
-    public NormalizedNode transformNotificationStringtoNN(String sxml,String notficationName) throws Exception {
-        final InstanceIdentifierContext<?> iicontext= ControllerContext.getInstance().toInstanceIdentifier(notficationName);
-         return transformNotificationNNfromString(sxml,iicontext);
-    }
-    public Map.Entry<DataSchemaNode, NormalizedNode>  transformRpcNNEntryfromString(String sxml, final InstanceIdentifierContext<?> iirpccontext) throws Exception{
-        InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8")
-        //xml2nn
-        final Document docxml = readXmlToDocument(in_nocode);
-        Element element0 = docxml.getDocumentElement();
-        String localname = element0.getNodeName();
-        String ns = element0.getAttribute("xmlns");
-        DataSchemaNode schemaNode;
-        final SchemaNode schemaNode0 = iirpccontext.getSchemaNode();
-        boolean isInput = false;
-        if (schemaNode0 instanceof RpcDefinition) {
-            if (docxml.getDocumentElement().getLocalName().contains("output")) {
-                schemaNode = ((RpcDefinition) schemaNode0).getOutput();
-                isInput = false;
-            } else {
-                schemaNode = ((RpcDefinition) schemaNode0).getInput();
-                isInput = true;
-            }
-
-        } else if (docxml instanceof DataSchemaNode) {
-            schemaNode = (DataSchemaNode) docxml;
-        } else {
-            throw new IllegalStateException("Unknow SchemaNode");
-        }
-
-        final List<YangInstanceIdentifier.PathArgument> iiToDataList = new ArrayList<>();
-        InstanceIdentifierContext<? extends SchemaNode> outIIContext;
-        // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null;
-        //  final DataSchemaNode dsn=(DataSchemaNode)schemaNode;/*getSchemaNodebyNs(schemaContext, ns, localname);*/
-        //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName());
-        DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext);
-        NormalizedNode parsed = null;
-        final List<Element> elements = Collections.singletonList(docxml.getDocumentElement());
-        if (schemaNode instanceof ContainerSchemaNode) {
-            parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)schemaNode);
-        }else   if (schemaNode instanceof ListSchemaNode) {
-            final ListSchemaNode casted = (ListSchemaNode) schemaNode;
-            parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted);
-        }
-        return new SimpleEntry<DataSchemaNode, NormalizedNode>(schemaNode,parsed);
-    }
-    public NormalizedNode transformRpcNNfromString(String sxml, final InstanceIdentifierContext<?> iirpccontext) throws Exception{
-
-        InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8")
-        //xml2nn
-        final Document docxml = readXmlToDocument(in_nocode);
-        Element element0 = docxml.getDocumentElement();
-        String localname = element0.getNodeName();
-        String ns = element0.getAttribute("xmlns");
-        DataSchemaNode schemaNode;
-        final SchemaNode schemaNode0 = iirpccontext.getSchemaNode();
-        boolean isInput = false;
-        if (schemaNode0 instanceof RpcDefinition) {
-            if (docxml.getDocumentElement().getLocalName().contains("output")) {
-                schemaNode = ((RpcDefinition) schemaNode0).getOutput();
-                isInput = false;
-            } else {
-                schemaNode = ((RpcDefinition) schemaNode0).getInput();
-                isInput = true;
-            }
-
-        } else if (docxml instanceof DataSchemaNode) {
-            schemaNode = (DataSchemaNode) docxml;
-        } else {
-            throw new IllegalStateException("Unknow SchemaNode");
-        }
-
-        final List<YangInstanceIdentifier.PathArgument> iiToDataList = new ArrayList<>();
-        InstanceIdentifierContext<? extends SchemaNode> outIIContext;
-        // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null;
-        //  final DataSchemaNode dsn=(DataSchemaNode)schemaNode;/*getSchemaNodebyNs(schemaContext, ns, localname);*/
-        //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName());
-        DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext);
-        NormalizedNode parsed = null;
-        final List<Element> elements = Collections.singletonList(docxml.getDocumentElement());
-        if (schemaNode instanceof ContainerSchemaNode) {
-            parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)schemaNode);
-        }else   if (schemaNode instanceof ListSchemaNode) {
-            final ListSchemaNode casted = (ListSchemaNode) schemaNode;
-            parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted);
-        }
-        return parsed;
-    }
-    public NormalizedNode transformRpcNNfromString(String sxml, String rpcName) throws Exception {
-        final InstanceIdentifierContext<?> iicontext= ControllerContext.getInstance().toInstanceIdentifier(rpcName);
-        return this.transformRpcNNfromString(sxml,iicontext);
-
-    }
-    public static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException {
-        final DocumentBuilder dBuilder;
-        try {
-            dBuilder = BUILDERFACTORY.newDocumentBuilder();
-        } catch (final ParserConfigurationException e) {
-            throw new RuntimeException("Failed to parse XML document", e);
-        }
-        final Document doc = dBuilder.parse(xmlContent);
-
-        doc.getDocumentElement().normalize();
-        return doc;
-    }
-
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangOdlNN2XMLImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangOdlNN2XMLImpl.java
deleted file mode 100644 (file)
index 9ad2336..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
-import org.opendaylight.yangtools.yang.data.impl.codec.xml.XMLStreamNormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.impl.codec.xml.XmlDocumentUtils;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import java.io.IOException;
-import java.io.StringWriter;
-
-/**
- * Created by Administrator on 2017/3/21.
- */
-public class YangOdlNN2XMLImpl {
-    private static final XMLOutputFactory XML_FACTORY;
-    static {
-        XML_FACTORY = XMLOutputFactory.newFactory();
-        XML_FACTORY.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, false);
-    }
-    SchemaContext schemaContext;
-    public YangOdlNN2XMLImpl(SchemaContext schemaContext){
-        this.schemaContext=schemaContext;
-    }
-    //general for contain/listitem/rpc/notification
-    public String yangNNtoXML(String uriPath,NormalizedNode nn) throws Exception {
-        final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(uriPath);
-        SchemaNode snode = YangDataTransformJava2NNServiceImpl.findSchemaNode(iicontext, nn.getNodeType().getLocalName());
-        String strx = snode.toString();
-        SchemaPath path = snode.getPath();
-        int it=uriPath.lastIndexOf("/");
-        if (strx.contains("container ")&&(it<0)) {
-           // path = SchemaPath.create(true);
-        }
-        String sxml =writeNormalizedNodetoXml(nn,path,schemaContext);
-        return sxml;
-    }
-    public  static String writeNormalizedNodetoXml(final NormalizedNode<?, ?> cn,
-                                                   final SchemaPath schemaPath, final SchemaContext schemaContext)
-    {
-
-        String serializationResultXMLString = null;
-        try {
-            //nn2xml
-            final Document doc = XmlDocumentUtils.getDocument();
-            final DOMResult serializationResult = new DOMResult(doc);
-            writeNormalizedNode(cn,serializationResult,schemaPath, schemaContext);
-            serializationResultXMLString = toString(serializationResult.getNode());
-        } catch (IOException |XMLStreamException e) {
-            e.printStackTrace();
-        }
-        return serializationResultXMLString;
-    }
-    public static void writeNormalizedNode(final NormalizedNode<?, ?> normalized, final DOMResult result,
-                                           final SchemaPath schemaPath, final SchemaContext context) throws IOException, XMLStreamException {
-        NormalizedNodeWriter normalizedNodeWriter = null;
-        NormalizedNodeStreamWriter normalizedNodeStreamWriter = null;
-        XMLStreamWriter writer = null;
-        try {
-            writer = XML_FACTORY.createXMLStreamWriter(result);
-            normalizedNodeStreamWriter = XMLStreamNormalizedNodeStreamWriter.create(writer, context, schemaPath);
-            normalizedNodeWriter = NormalizedNodeWriter.forStreamWriter(normalizedNodeStreamWriter);
-
-            normalizedNodeWriter.write(normalized);
-
-            normalizedNodeWriter.flush();
-        } finally {
-            if (normalizedNodeWriter != null) {
-                normalizedNodeWriter.close();
-            }
-            if (normalizedNodeStreamWriter != null) {
-                normalizedNodeStreamWriter.close();
-            }
-            if (writer != null) {
-                writer.close();
-            }
-        }
-    }
-    public static String toString(final Node xml) {
-        try {
-            final Transformer transformer = TransformerFactory.newInstance().newTransformer();
-            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-            transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
-            final StreamResult result = new StreamResult(new StringWriter());
-            final DOMSource source = new DOMSource(xml);
-            transformer.transform(source, result);
-            return result.getWriter().toString();
-        } catch (IllegalArgumentException | TransformerFactoryConfigurationError | TransformerException e) {
-            throw new RuntimeException("Unable to serialize xml element " + xml, e);
-        }
-    }
-}
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangOdlNNC2XMLImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangOdlNNC2XMLImpl.java
deleted file mode 100644 (file)
index 023a4a2..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.mso.yangDecoder.transform.impl;
-
-import com.google.common.base.Charsets;
-import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeXmlBodyWriter;
-import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
-import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext;
-import org.opendaylight.netconf.sal.restconf.impl.NormalizedNodeContext;
-import org.opendaylight.netconf.sal.restconf.impl.WriterParameters;
-
-import javax.ws.rs.core.MediaType;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.lang.reflect.Field;
-
-public class YangOdlNNC2XMLImpl {
-   final static MediaType mediaType=getMediaType();
-   static    protected MediaType getMediaType() {
-       return new MediaType(MediaType.APPLICATION_XML, null);
-   }
-   static Field requestField=getprettyPrintField();
-   
-   private static Field getprettyPrintField( ) 
-   {
-           Field rf=null;
-               try {
-                       rf = WriterParameters.class.getDeclaredField("prettyPrint");
-                         rf.setAccessible(true);
-               } catch (NoSuchFieldException | SecurityException e) {
-                       // TODO Auto-generated catch block
-                       e.printStackTrace();
-               }
-          return rf;
-   }
-   public static String getXMLHeader()
-   {
-          return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"+NormalizedNodePrinter.getEndl();
-   }
-    public static String toXML(final NormalizedNodeContext normalizedNodeContext) throws Exception
-    {
-        final NormalizedNodeXmlBodyWriter xmlBodyWriter = new NormalizedNodeXmlBodyWriter();
-        final OutputStream output = new ByteArrayOutputStream();
-        requestField.set(normalizedNodeContext.getWriterParameters(), true);
-        output.write(getXMLHeader().getBytes(Charsets.UTF_8));
-        xmlBodyWriter.writeTo(normalizedNodeContext, null, null, null,
-                       mediaType, null, output);
-        final String outputXML = output.toString();
-        return outputXML;
-    }
-    
-    public static NormalizedNodeContext fromXML(String uriPath,final  String xmlpayload,boolean ispost) throws Exception
-    {
-       final InstanceIdentifierContext<?> iicontext = ControllerContext.getInstance().toInstanceIdentifier(uriPath);
-       InputStream inputStream = new ByteArrayInputStream(xmlpayload.getBytes(Charsets.UTF_8));
-       XmlNormalizedNodeBodyReaderUmeImpl xmlBodyReader = new XmlNormalizedNodeBodyReaderUmeImpl();
-       xmlBodyReader.Set(iicontext, ispost);
-//     final NormalizedNodeContext returnValue = xmlBodyReader.readFrom(iicontext, inputStream);
-        final NormalizedNodeContext returnValue = xmlBodyReader.readFrom(null,
-                null, null, mediaType, null, inputStream);
-        return returnValue; 
-    }
-
-}