2 * ============LICENSE_START========================================================================
\r
3 * ONAP : tr-069-adapter
\r
4 * =================================================================================================
\r
5 * Copyright (C) 2020 CommScope Inc Intellectual Property.
\r
6 * =================================================================================================
\r
7 * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
\r
8 * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
\r
9 * may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
\r
14 * either express or implied. See the License for the specific language governing permissions and
\r
15 * limitations under the License.
\r
16 * ===============LICENSE_END=======================================================================
\r
19 package org.commscope.tr069adapter.acs.cpe.rpc;
\r
21 import java.util.ArrayList;
\r
22 import java.util.List;
\r
24 import javax.xml.soap.SOAPBodyElement;
\r
25 import javax.xml.soap.SOAPElement;
\r
26 import javax.xml.soap.SOAPException;
\r
27 import javax.xml.soap.SOAPFactory;
\r
29 import org.commscope.tr069adapter.acs.cpe.TR069RPC;
\r
31 public class SetParameterValues extends TR069RPC {
\r
33 private static final long serialVersionUID = -7143315228088632032L;
\r
35 /** Creates a new instance of GetParameterValues */
\r
36 public SetParameterValues() {
\r
37 name = "SetParameterValues";
\r
38 names = new ArrayList<>();
\r
39 values = new ArrayList<>();
\r
40 types = new ArrayList<>();
\r
43 public void merge(SetParameterValues other) {
\r
44 for (int i = 0; i < other.names.size(); i++) {
\r
45 names.add(other.names.get(i));
\r
46 values.add(other.values.get(i));
\r
47 types.add(other.types.get(i));
\r
51 protected void createBody(SOAPBodyElement body, SOAPFactory spf) throws SOAPException {
\r
52 SOAPElement elm = body.addChildElement(spf.createName("ParameterList"));
\r
53 elm.setAttribute(SOAP_ARRAY_TYPE, "cwmp:ParameterValueStruct[" + names.size() + "]");
\r
54 for (int i = 0; i < names.size(); i++) {
\r
55 SOAPElement param = elm.addChildElement("ParameterValueStruct");
\r
56 param.addChildElement("Name").setValue(names.get(i));
\r
57 SOAPElement v = param.addChildElement("Value");
\r
58 v.setValue(values.get(i));
\r
59 v.setAttribute(XSI_TYPE, getXmlType(types.get(i)));
\r
61 body.addChildElement(PARAMETER_KEY).setValue(key);
\r
65 protected void createBody(SOAPBodyElement body, SOAPFactory spf, String key)
\r
66 throws SOAPException {
\r
67 SOAPElement elm = body.addChildElement(spf.createName("ParameterList"));
\r
68 elm.setAttribute(SOAP_ARRAY_TYPE, "cwmp:ParameterValueStruct[" + names.size() + "]");
\r
69 for (int i = 0; i < names.size(); i++) {
\r
70 SOAPElement param = elm.addChildElement("ParameterValueStruct");
\r
71 param.addChildElement("Name").setValue(names.get(i));
\r
72 SOAPElement v = param.addChildElement("Value");
\r
73 v.setValue(values.get(i));
\r
74 v.setAttribute(XSI_TYPE, getXmlType(types.get(i)));
\r
76 body.addChildElement(PARAMETER_KEY).setValue(key);
\r
79 protected void parseBody(SOAPBodyElement body, SOAPFactory f) throws SOAPException {
\r
80 logger.isDebugEnabled();
\r
83 public void addValue(String name, String value) {
\r
84 addValue(name, value, XSD_STRING);
\r
87 public void addValue(String name, Integer value) {
\r
88 addValue(name, value.toString(), XSD_UNSIGNEDINT);
\r
91 public void addValue(String name, String value, String type) {
\r
97 public boolean isEmpty() {
\r
98 return names.isEmpty();
\r
102 public String toString() {
\r
103 StringBuilder s = new StringBuilder();
\r
104 for (int i = 0; i < names.size(); i++) {
\r
106 s.append(names.get(i));
\r
108 s.append(types.get(i));
\r
110 s.append(values.get(i));
\r
113 return s.toString();
\r
116 private List<String> names;
\r
117 private List<String> values;
\r
118 private List<String> types;
\r
119 private String key = "unsetCommandKey";
\r