3784f5f2a36dbecfeb643a71b36596ba26813e3b
[platform/upstream/iotivity.git] / service / simulator / java / eclipse-plugin / ServiceProviderPlugin / src / oic / simulator / serviceprovider / resource / AutomationSettingHelper.java
1 package oic.simulator.serviceprovider.resource;
2
3 import java.util.ArrayList;
4 import java.util.Iterator;
5 import java.util.List;
6
7 import oic.simulator.serviceprovider.utils.Constants;
8
9 import org.oic.simulator.AutomationType;
10
11 public class AutomationSettingHelper {
12     private String       settingID;
13     private String       settingValue;
14     private List<String> allowedValues;
15
16     public String getSettingID() {
17         return settingID;
18     }
19
20     public void setSettingID(String settingID) {
21         this.settingID = settingID;
22     }
23
24     public String getSettingValue() {
25         return settingValue;
26     }
27
28     public void setSettingValue(String settingValue) {
29         this.settingValue = settingValue;
30     }
31
32     public List<String> getAllowedValues() {
33         return allowedValues;
34     }
35
36     public void setAllowedValues(List<String> allowedValues) {
37         this.allowedValues = allowedValues;
38     }
39
40     public void addAllowedValue(String newText) {
41         if (null != allowedValues) {
42             allowedValues.add(newText);
43         }
44     }
45
46     public static List<AutomationSettingHelper> getAutomationSettings(
47             LocalResourceAttribute attribute) {
48         List<AutomationSettingHelper> settingList = null;
49         boolean invalidSetting;
50         if (null != attribute) {
51             settingList = new ArrayList<AutomationSettingHelper>();
52             for (int count = 0; count < Constants.AUTOMATION_SETTINGS_COUNT; count++) {
53                 invalidSetting = false;
54                 AutomationSettingHelper setting = new AutomationSettingHelper();
55                 if (Constants.AUTOMATION_SETTINGS[count]
56                         .equals(Constants.AUTOMATION_TYPE)) {
57                     setting.setSettingID(Constants.AUTOMATION_TYPE);
58                     setting.setSettingValue(attribute.getAutomationType()
59                             .toString());
60                     List<String> valueList = new ArrayList<String>();
61                     valueList.add(AutomationType.NORMAL.toString());
62                     valueList.add(AutomationType.RECURRENT.toString());
63                     setting.setAllowedValues(valueList);
64                 } else if (Constants.AUTOMATION_SETTINGS[count]
65                         .equals(Constants.UPDATE_INTERVAL_IN_MS)) {
66                     setting.setSettingID(Constants.UPDATE_INTERVAL_IN_MS);
67                     setting.setSettingValue(String.valueOf(attribute
68                             .getAutomationUpdateInterval()));
69                     List<String> valueList = new ArrayList<String>();
70                     for (int index = 1; index <= 10; index++) {
71                         valueList.add(String.valueOf(index * 500));
72                     }
73                     setting.setAllowedValues(valueList);
74                 } else {
75                     invalidSetting = true;
76                 }
77                 if (!invalidSetting) {
78                     settingList.add(setting);
79                 }
80             }
81         }
82         return settingList;
83     }
84
85     public static void updateAutomationStatus(
86             List<AutomationSettingHelper> localSettingList, String status) {
87         if (null != localSettingList && null != status) {
88             Iterator<AutomationSettingHelper> settingItr = localSettingList
89                     .iterator();
90             AutomationSettingHelper setting;
91             while (settingItr.hasNext()) {
92                 setting = settingItr.next();
93                 if (null != setting) {
94                     if (setting.getSettingID().equals(Constants.AUTOMATION)) {
95                         setting.setSettingValue(status);
96                         break;
97                     }
98                 }
99             }
100         }
101     }
102 }