2 * Copyright 2015 Samsung Electronics All Rights Reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package oic.simulator.serviceprovider.manager;
19 import java.util.ArrayList;
20 import java.util.HashMap;
21 import java.util.Iterator;
22 import java.util.List;
26 import oic.simulator.serviceprovider.model.Resource;
27 import oic.simulator.serviceprovider.model.SingleResource;
30 private Map<String, SingleResource> singleResourceMap;
33 singleResourceMap = new HashMap<String, SingleResource>();
36 public synchronized void addResource(Resource resource) {
37 if (null == resource) {
40 if (resource instanceof SingleResource) {
41 singleResourceMap.put(resource.getResourceURI(),
42 (SingleResource) resource);
46 public synchronized void deleteResource(Resource resource) {
47 if (null == resource) {
50 if (resource instanceof SingleResource) {
51 singleResourceMap.remove(resource.getResourceURI());
55 public List<SingleResource> getSingleResources() {
56 List<SingleResource> resources;
57 synchronized (singleResourceMap) {
58 if (singleResourceMap.isEmpty()) {
61 resources = new ArrayList<SingleResource>();
62 Set<String> uriSet = singleResourceMap.keySet();
63 Iterator<String> itr = uriSet.iterator();
64 while (itr.hasNext()) {
65 resources.add(singleResourceMap.get(itr.next()));
71 public List<Resource> getResources() {
72 if (singleResourceMap.isEmpty()) {
75 List<Resource> resourceList = new ArrayList<Resource>();
76 synchronized (singleResourceMap) {
77 Set<String> uriSet = singleResourceMap.keySet();
78 Iterator<String> itr = uriSet.iterator();
79 while (itr.hasNext()) {
80 resourceList.add(singleResourceMap.get(itr.next()));
86 public synchronized boolean isResourceExist(String resourceURI) {
87 if (null == resourceURI || resourceURI.isEmpty()) {
90 if ((null != singleResourceMap && singleResourceMap
91 .containsKey(resourceURI))) {
97 public synchronized boolean isAnyResourceExist() {
98 return ((null != singleResourceMap && !singleResourceMap.isEmpty()));
101 public void changeResourceURI(Resource resource, String curURI,
103 if (null == resource || null == curURI || null == newURI) {
106 if (resource instanceof SingleResource) {
107 synchronized (singleResourceMap) {
108 singleResourceMap.remove(curURI);
109 singleResourceMap.put(newURI, (SingleResource) resource);
112 resource.setResourceURI(newURI);
115 public SingleResource getSingleResourceByURI(String resourceURI) {
116 if (null == resourceURI) {
120 synchronized (singleResourceMap) {
121 res = singleResourceMap.get(resourceURI);
126 public Resource getResourceByURI(String resourceURI) {
127 Resource res = getSingleResourceByURI(resourceURI);
131 public synchronized int getResourceCount() {
132 return singleResourceMap.size();