Initial source code
[oam/tr069-adapter.git] / acs / cpe / src / main / java / org / commscope / tr069adapter / acs / cpe / rpc / GetOptionsResponse.java
1 /*\r
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
10  *\r
11  * http://www.apache.org/licenses/LICENSE-2.0\r
12  *\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
17  */\r
18 \r
19 package org.commscope.tr069adapter.acs.cpe.rpc;\r
20 \r
21 import java.util.ArrayList;\r
22 import java.util.Iterator;\r
23 import java.util.List;\r
24 \r
25 import javax.xml.soap.Name;\r
26 import javax.xml.soap.SOAPBodyElement;\r
27 import javax.xml.soap.SOAPElement;\r
28 import javax.xml.soap.SOAPException;\r
29 import javax.xml.soap.SOAPFactory;\r
30 \r
31 import org.commscope.tr069adapter.acs.cpe.TR069RPC;\r
32 \r
33 public class GetOptionsResponse extends TR069RPC {\r
34 \r
35   private static final long serialVersionUID = -9160354248384671344L;\r
36 \r
37   public class OptionStruct {\r
38     private String optionName;\r
39     private String voucherSN;\r
40     private int state;\r
41     private int mode;\r
42     private String startDate;\r
43     private String expirationDate;\r
44     private boolean isTransferable;\r
45 \r
46     public String getOptionName() {\r
47       return optionName;\r
48     }\r
49 \r
50     public String getVoucherSN() {\r
51       return voucherSN;\r
52     }\r
53 \r
54     public int getState() {\r
55       return state;\r
56     }\r
57 \r
58     public int getMode() {\r
59       return mode;\r
60     }\r
61 \r
62     public String getStartDate() {\r
63       return startDate;\r
64     }\r
65 \r
66     public String getExpirationDate() {\r
67       return expirationDate;\r
68     }\r
69 \r
70     public boolean isTransferable() {\r
71       return isTransferable;\r
72     }\r
73   }\r
74 \r
75   public GetOptionsResponse() {\r
76     name = "GetOptionsResponse";\r
77   }\r
78 \r
79   protected void createBody(SOAPBodyElement body, SOAPFactory spf) throws SOAPException {\r
80     logger.isDebugEnabled();\r
81   }\r
82 \r
83   @SuppressWarnings("rawtypes")\r
84   protected void parseBody(SOAPBodyElement body, SOAPFactory spf) throws SOAPException {\r
85     Iterator<SOAPElement> pi = getRequestChildElement(spf, body, "OptionList")\r
86         .getChildElements(spf.createName("OptionStruct"));\r
87     Name nameOptionName = spf.createName("OptionName");\r
88     Name nameVoucherSN = spf.createName("VoucherSN");\r
89     Name nameState = spf.createName("State");\r
90     Name nameMode = spf.createName("Mode");\r
91     Name nameStartDate = spf.createName("StartDate");\r
92     Name nameExpirationDate = spf.createName("ExpirationDate");\r
93     Name nameIsTransferable = spf.createName("IsTransferable");\r
94 \r
95     List<OptionStruct> optionList = new ArrayList<>();\r
96 \r
97     while (pi.hasNext()) {\r
98       SOAPElement option = pi.next();\r
99       OptionStruct o = new OptionStruct();\r
100       o.optionName = getRequestElement(option, nameOptionName);\r
101       o.voucherSN = getRequestElement(option, nameVoucherSN);\r
102       o.state = Integer.parseInt(getRequestElement(option, nameState));\r
103       o.mode = Integer.parseInt(getRequestElement(option, nameMode));\r
104       o.startDate = getRequestElement(option, nameStartDate);\r
105       o.expirationDate = getRequestElement(option, nameExpirationDate);\r
106       o.isTransferable = Boolean.parseBoolean(getRequestElement(option, nameIsTransferable));\r
107       optionList.add(o);\r
108     }\r
109   }\r
110 \r
111 }\r