1 package oic.simulator.serviceprovider.resource;
3 import java.util.HashMap;
4 import java.util.Iterator;
7 import org.oic.simulator.AutomationType;
8 import org.oic.simulator.SimulatorResourceModel;
9 import org.oic.simulator.serviceprovider.ObserverInfo;
10 import org.oic.simulator.serviceprovider.SimulatorResourceServer;
12 public class SimulatorResource {
13 private String resourceURI;
14 private String resourceName;
15 private String resourceType;
16 private String resourceInterface;
18 // Native Object references
19 private SimulatorResourceServer resourceServer;
20 private SimulatorResourceModel resourceModel;
22 private int automationId;
24 private boolean resourceAutomationInProgress;
26 private boolean attributeAutomationInProgress;
28 private int automationUpdateInterval;
30 private AutomationType automationType;
32 private Map<String, LocalResourceAttribute> resourceAttributesMap;
34 private Map<Integer, ObserverDetail> observers;
36 public SimulatorResource() {
37 observers = new HashMap<Integer, ObserverDetail>();
40 public String getResourceURI() {
44 public void setResourceURI(String resourceURI) {
45 this.resourceURI = resourceURI;
48 public String getResourceName() {
52 public void setResourceName(String resourceName) {
53 this.resourceName = resourceName;
56 public String getResourceType() {
60 public void setResourceType(String resourceType) {
61 this.resourceType = resourceType;
64 public String getResourceInterface() {
65 return resourceInterface;
68 public void setResourceInterface(String resourceInterface) {
69 this.resourceInterface = resourceInterface;
72 public SimulatorResourceServer getResourceServer() {
73 return resourceServer;
76 public void setResourceServer(SimulatorResourceServer resourceServer) {
77 this.resourceServer = resourceServer;
80 public SimulatorResourceModel getResourceModel() {
84 public void setResourceModel(SimulatorResourceModel resourceModel) {
85 this.resourceModel = resourceModel;
88 public Map<String, LocalResourceAttribute> getResourceAttributesMap() {
89 return resourceAttributesMap;
92 public void setResourceAttributesMap(
93 Map<String, LocalResourceAttribute> resourceAttributesMap) {
94 this.resourceAttributesMap = resourceAttributesMap;
97 public int getAutomationUpdateInterval() {
98 return automationUpdateInterval;
101 public void setAutomationUpdateInterval(int automationUpdateInterval) {
102 this.automationUpdateInterval = automationUpdateInterval;
105 public AutomationType getAutomationType() {
106 return automationType;
109 public void setAutomationType(AutomationType automationType) {
110 this.automationType = automationType;
113 public int getAutomationId() {
117 public void setAutomationId(int automationId) {
118 this.automationId = automationId;
121 public boolean isResourceAutomationInProgress() {
122 return resourceAutomationInProgress;
125 public void setResourceAutomationInProgress(
126 boolean resourceAutomationInProgress) {
127 this.resourceAutomationInProgress = resourceAutomationInProgress;
130 public boolean isAttributeAutomationInProgress() {
131 return attributeAutomationInProgress;
134 public void setAttributeAutomationInProgress(
135 boolean attributeAutomationInProgress) {
136 this.attributeAutomationInProgress = attributeAutomationInProgress;
139 public Map<Integer, ObserverDetail> getObserver() {
143 public void addObserverInfo(ObserverInfo observer) {
144 if (null == observer) {
147 int id = observer.getId();
148 if (!observers.containsKey(id)) {
149 ObserverDetail obsDetail = new ObserverDetail();
150 obsDetail.setObserverInfo(observer);
151 observers.put(id, obsDetail);
155 public void removeObserverInfo(ObserverInfo observer) {
156 if (null == observer) {
159 observers.remove(observer.getId());
162 public void printResourceInfo() {
163 System.out.println("Resource URI: " + resourceURI);
164 System.out.println("Resource Name: " + resourceName);
165 System.out.println("Resource type: " + resourceType);
166 System.out.println("Resource Interface: " + resourceInterface);
167 System.out.println("Resource Attributes:-");
168 if (null != resourceAttributesMap) {
169 Iterator<String> attItr = resourceAttributesMap.keySet().iterator();
170 while (attItr.hasNext()) {
171 resourceAttributesMap.get(attItr.next())
172 .printAttributeDetails();;
177 public LocalResourceAttribute getAttribute(String attributeName) {
178 if (null == attributeName || null == resourceAttributesMap
179 || resourceAttributesMap.size() < 1) {
182 return resourceAttributesMap.get(attributeName);