Notification-Manager changes for Android platform
[platform/upstream/iotivity.git] / service / notification-manager / SampleApp / android / SampleProviderApp / src / com / example / sample / provider / TemperatureResource.java
index e72c54b..b581062 100644 (file)
@@ -21,262 +21,227 @@ import android.content.Intent;
 import android.os.Message;
 import android.util.Log;
 
-public class TemperatureResource implements IMessageLogger
-{
-        private Context mContext;
-        public int mtemp;
-        public int mhumidity;
-        private OcRepresentation mTempRep;
-        private OcResourceHandle mResourceHandle;
-        private List<Byte> mObservationIds;
-
-        private static String TAG = "NMProvider : TemperatureResource";
-
-        TemperatureResource(Context context)
-        {
-            mContext = context;
-            mtemp = 0;
-            mhumidity = 0;
+public class TemperatureResource implements IMessageLogger {
+    private Context          mContext;
+    public int               mtemp;
+    public int               mhumidity;
+    private OcRepresentation mTempRep;
+    private OcResourceHandle mResourceHandle;
+    private List<Byte>       mObservationIds;
+
+    private static String    TAG = "NMProvider : TemperatureResource";
+
+    TemperatureResource(Context context) {
+        mContext = context;
+        mtemp = 0;
+        mhumidity = 0;
+        mResourceHandle = null;
+        mObservationIds = new LinkedList<Byte>();
+        mTempRep = new OcRepresentation();
+        mTempRep.setValueInt(StringConstants.TEMPERATURE, mtemp);
+        mTempRep.setValueInt(StringConstants.HUMIDITY, mhumidity);
+    }
+
+    // accessor methods
+    protected int getTemp() {
+        return mtemp;
+    }
+
+    protected void setTemp(int temp) {
+        mtemp = temp;
+    }
+
+    protected int getHumidity() {
+        return mhumidity;
+    }
+
+    protected void setHumidity(int humidity) {
+        mhumidity = humidity;
+    }
+
+    protected OcResourceHandle getHandle() {
+        return mResourceHandle;
+    }
+
+    protected OcResourceHandle destroyResource() {
+        if (mResourceHandle != null) {
+            try {
+                OcPlatform.unregisterResource(mResourceHandle);
+            } catch (OcException e) {
+                e.printStackTrace();
+            }
             mResourceHandle = null;
-            mObservationIds = new LinkedList<Byte>();
-            mTempRep = new OcRepresentation();
-            mTempRep.setValueInt(StringConstants.TEMPERATURE, mtemp);
-            mTempRep.setValueInt(StringConstants.HUMIDITY, mhumidity);
-        }
-
-        // accessor methods
-        protected int getTemp()
-        {
-            return mtemp;
-        }
-
-        protected void setTemp(int temp)
-        {
-            mtemp = temp;
-        }
-
-        protected int getHumidity()
-        {
-            return mhumidity;
-        }
-
-        protected void setHumidity(int humidity)
-        {
-            mhumidity = humidity;
-        }
-
-        protected OcResourceHandle getHandle()
-        {
-            return mResourceHandle;
         }
-        protected OcResourceHandle destroyResource()
-        {
-            if (mResourceHandle != null)
-            {
-                try
-                {
-                    OcPlatform.unregisterResource(mResourceHandle);
-                }
-                catch (OcException e)
-                {
-                    e.printStackTrace();
-                }
-                mResourceHandle = null;
+        return null;
+    }
+
+    protected OcResourceHandle createResource() {
+
+        OcPlatform.EntityHandler eh = new OcPlatform.EntityHandler() {
+            @Override
+            public EntityHandlerResult handleEntity(
+                    OcResourceRequest ocResourceRequest) {
+                // this is where the main logic of simpleserver is handled as
+                // different requests (GET, PUT, POST, OBSERVE, DELETE) are
+                // handled
+                return entityHandler(ocResourceRequest);
             }
-            return null;
+        };
+
+        try {
+            Log.e(TAG, "before registerResource!");
+            mResourceHandle = OcPlatform.registerResource(
+                    StringConstants.RESOURCE_URI,
+                    StringConstants.RESOURCE_TYPENAME,
+                    StringConstants.RESOURCE_INTERFACE, eh, EnumSet.of(
+                            ResourceProperty.DISCOVERABLE,
+                            ResourceProperty.OBSERVABLE));
+            Log.e(TAG, "after regiterResource");
+        } catch (OcException e) {
+            Log.e(TAG, "go exception");
+            logMessage(TAG + "RegisterResource error. " + e.getMessage());
+            Log.e(TAG, "RegisterResource error. " + e.getMessage());
         }
-        protected OcResourceHandle createResource()
-        {
-
-            OcPlatform.EntityHandler eh = new OcPlatform.EntityHandler()
-            {
-                @Override
-                public EntityHandlerResult handleEntity(
-                    OcResourceRequest ocResourceRequest)
-                {
-                    // this is where the main logic of simpleserver is handled as
-                    // different requests (GET, PUT, POST, OBSERVE, DELETE) are
-                    // handled
-                    return entityHandler(ocResourceRequest);
-                }
-            };
 
-            try
-            {
-                Log.e(TAG, "before registerResource!");
-                mResourceHandle = OcPlatform.registerResource(
-                                      StringConstants.RESOURCE_URI,
-                                      StringConstants.RESOURCE_TYPENAME,
-                                      StringConstants.RESOURCE_INTERFACE, eh, EnumSet.of(
-                                          ResourceProperty.DISCOVERABLE, ResourceProperty.OBSERVABLE));
-                Log.e(TAG, "after regiterResource");
+        // logMessage(TAG + "Successfully registered resource");
+        return mResourceHandle;
+    }
+
+    private void put(OcRepresentation rep) {
+        mtemp = rep.getValueInt(StringConstants.TEMPERATURE);
+        mhumidity = rep.getValueInt(StringConstants.HUMIDITY);
+        logMessage(TAG + "PUT Request" + "temperature : " + mtemp
+                + "humidity : " + mhumidity);
+        notifyObserver();
+        // " Power: " + mPower);
+        String message = mtemp + ":" + mhumidity;
+        Message msg = Message.obtain();
+        msg.what = 0;
+        SampleProvider mainActivityObj = SampleProvider
+                .getSampleProviderObject();
+        SampleProvider.setmessage(message);
+        mainActivityObj.getmHandler().sendMessage(msg);
+
+    }
+
+    protected OcRepresentation get() {
+        mTempRep.setValueInt(StringConstants.TEMPERATURE, mtemp);
+        mTempRep.setValueInt(StringConstants.HUMIDITY, mhumidity);
+        return mTempRep;
+    }
+
+    private EntityHandlerResult entityHandler(OcResourceRequest request) {
+        EntityHandlerResult result = EntityHandlerResult.ERROR;
+        if (null != request) {
+            RequestType requestType = request.getRequestType();
+            EnumSet<RequestHandlerFlag> requestFlag = request
+                    .getRequestHandlerFlagSet();
+
+            if (requestFlag.contains(RequestHandlerFlag.INIT)) {
+                logMessage(TAG + "Init");
             }
-            catch (OcException e)
-            {
-                Log.e(TAG, "go exception");
-                logMessage(TAG + "RegisterResource error. " + e.getMessage());
-                Log.e(TAG, "RegisterResource error. " + e.getMessage());
-            }
-
-            // logMessage(TAG + "Successfully registered resource");
-            return mResourceHandle;
-        }
-
-        private void put(OcRepresentation rep)
-        {
-            mtemp = rep.getValueInt(StringConstants.TEMPERATURE);
-            mhumidity = rep.getValueInt(StringConstants.HUMIDITY);
-            logMessage(TAG + "PUT Request" +"temperature : " + mtemp + "humidity : " + mhumidity);
-             notifyObserver();
-            // " Power: " + mPower);
-             String message = mtemp+":"+mhumidity; 
-             Message msg = Message.obtain();
-             msg.what = 0;
-             SampleProvider mainActivityObj = SampleProvider.getSampleProviderObject();
-             SampleProvider.setmessage(message);
-             mainActivityObj.getmHandler().sendMessage(msg);
-
-        }
-
-        protected OcRepresentation get()
-        {
-            mTempRep.setValueInt(StringConstants.TEMPERATURE, mtemp);
-            mTempRep.setValueInt(StringConstants.HUMIDITY, mhumidity);
-            return mTempRep;
-        }
-
-        private EntityHandlerResult entityHandler(OcResourceRequest request)
-        {
-            EntityHandlerResult result = EntityHandlerResult.ERROR;
-            if (null != request)
-            {
-                RequestType requestType = request.getRequestType();
-                EnumSet<RequestHandlerFlag> requestFlag = request
-                        .getRequestHandlerFlagSet();
-
-
-
-                if (requestFlag.contains(RequestHandlerFlag.INIT))
-                {
-                    logMessage(TAG + "Init");
-                }
-
-                if (requestFlag.contains(RequestHandlerFlag.REQUEST))
-                {
-                    try
-                    {
-                        logMessage(TAG + requestType + "Request");
-                        OcResourceResponse ocResourceResponse = new OcResourceResponse();
-                        ocResourceResponse.setRequestHandle(request
-                                                            .getRequestHandle());
-                        ocResourceResponse.setResourceHandle(request
-                                                             .getResourceHandle());
-
-                        switch (requestType)
-                        {
-                            // handle GET request
-                            case GET:
-                                logMessage("GET");
-                                ocResourceResponse
-                                .setResponseResult(EntityHandlerResult.OK);
-                                ocResourceResponse
-                                .setErrorCode(StringConstants.ERROR_CODE);
-                                ocResourceResponse.setResourceRepresentation(get());
-                                OcPlatform.sendResponse(ocResourceResponse);
-                                break;
-                            // handle PUT request
-                            case PUT:
-                                logMessage(TAG + "PUT");
-                                OcRepresentation rep = request
-                                                       .getResourceRepresentation();
-                                put(rep);
-                                ocResourceResponse
-                                .setErrorCode(StringConstants.ERROR_CODE);
-                                ocResourceResponse
-                                .setResponseResult(EntityHandlerResult.OK);
-                                ocResourceResponse.setResourceRepresentation(get());
-                                OcPlatform.sendResponse(ocResourceResponse);
-                                break;
-                            // handle POST request
-                            case POST:
-                                break;
-                            // handle DELETE request
-                            case DELETE:
-                                logMessage(TAG + "DELETE");
-                                OcPlatform.unregisterResource(getHandle());
-                                break;
-
-                        }
-
-                        result = EntityHandlerResult.OK;
-                    }
-                    catch (Exception e)
-                    {
-                        logMessage(TAG + "Error in Request " + e.getMessage());
-                        Log.e(TAG, e.getMessage());
-                    }
-                }
-                // handle OBSERVER request
-                if (requestFlag.contains(RequestHandlerFlag.OBSERVER))
-                {
-                    logMessage(TAG + "OBSERVER");
-                    ObservationInfo observationInfo = request.getObservationInfo();
-                    switch (observationInfo.getObserveAction())
-                    {
-                        case REGISTER:
-                            mObservationIds.add(observationInfo
-                                                .getOcObservationId());
 
+            if (requestFlag.contains(RequestHandlerFlag.REQUEST)) {
+                try {
+                    logMessage(TAG + requestType + "Request");
+                    OcResourceResponse ocResourceResponse = new OcResourceResponse();
+                    ocResourceResponse.setRequestHandle(request
+                            .getRequestHandle());
+                    ocResourceResponse.setResourceHandle(request
+                            .getResourceHandle());
+
+                    switch (requestType) {
+                    // handle GET request
+                        case GET:
+                            logMessage("GET");
+                            ocResourceResponse
+                                    .setResponseResult(EntityHandlerResult.OK);
+                            ocResourceResponse
+                                    .setErrorCode(StringConstants.ERROR_CODE);
+                            ocResourceResponse.setResourceRepresentation(get());
+                            OcPlatform.sendResponse(ocResourceResponse);
+                            break;
+                        // handle PUT request
+                        case PUT:
+                            logMessage(TAG + "PUT");
+                            OcRepresentation rep = request
+                                    .getResourceRepresentation();
+                            put(rep);
+                            ocResourceResponse
+                                    .setErrorCode(StringConstants.ERROR_CODE);
+                            ocResourceResponse
+                                    .setResponseResult(EntityHandlerResult.OK);
+                            ocResourceResponse.setResourceRepresentation(get());
+                            OcPlatform.sendResponse(ocResourceResponse);
                             break;
-                        case UNREGISTER:
-                            mObservationIds.remove(observationInfo
-                                                   .getOcObservationId());
+                        // handle POST request
+                        case POST:
                             break;
+                        // handle DELETE request
+                        case DELETE:
+                            logMessage(TAG + "DELETE");
+                            OcPlatform.unregisterResource(getHandle());
+                            break;
+
                     }
 
                     result = EntityHandlerResult.OK;
+                } catch (Exception e) {
+                    logMessage(TAG + "Error in Request " + e.getMessage());
+                    Log.e(TAG, e.getMessage());
                 }
             }
-            return result;
-        }
-
-        public void logMessage(String msg)
-        {
-            logMsg(msg);
-            Log.i(TAG, msg);
-        }
-
-        public void logMsg(final String text)
-        {
-            Intent intent = new Intent("com.example.sample.provider.SampleProvider");
-            intent.putExtra(StringConstants.MESSAGE, text);
-            mContext.sendBroadcast(intent);
-        }
-
-        public void notifyObserver()
-        {
-            try
-            {
-                // if observationList is not empty, call notifyListOfObservers
-                if (mObservationIds.size() > 0)
-                {
-                    OcResourceResponse ocResourceResponse = new OcResourceResponse();
-                    ocResourceResponse.setErrorCode(StringConstants.ERROR_CODE);
-                    ocResourceResponse.setResponseResult(EntityHandlerResult.OK);
-                    OcRepresentation r = get();
-                    ocResourceResponse.setResourceRepresentation
-                    (r, OcPlatform.DEFAULT_INTERFACE);
-                    OcPlatform.notifyListOfObservers(getHandle(), mObservationIds, ocResourceResponse);
-                }
-                else
-                {
-                    // notify all observers if mObservationList is empty
-                    OcPlatform.notifyAllObservers(getHandle());
+            // handle OBSERVER request
+            if (requestFlag.contains(RequestHandlerFlag.OBSERVER)) {
+                logMessage(TAG + "OBSERVER");
+                ObservationInfo observationInfo = request.getObservationInfo();
+                switch (observationInfo.getObserveAction()) {
+                    case REGISTER:
+                        mObservationIds.add(observationInfo
+                                .getOcObservationId());
+
+                        break;
+                    case UNREGISTER:
+                        mObservationIds.remove(observationInfo
+                                .getOcObservationId());
+                        break;
                 }
+
+                result = EntityHandlerResult.OK;
             }
-            catch (OcException e)
-            {
-                Log.e(TAG, e.getMessage());
+        }
+        return result;
+    }
+
+    public void logMessage(String msg) {
+        logMsg(msg);
+        Log.i(TAG, msg);
+    }
+
+    public void logMsg(final String text) {
+        Intent intent = new Intent("com.example.sample.provider.SampleProvider");
+        intent.putExtra(StringConstants.MESSAGE, text);
+        mContext.sendBroadcast(intent);
+    }
+
+    public void notifyObserver() {
+        try {
+            // if observationList is not empty, call notifyListOfObservers
+            if (mObservationIds.size() > 0) {
+                OcResourceResponse ocResourceResponse = new OcResourceResponse();
+                ocResourceResponse.setErrorCode(StringConstants.ERROR_CODE);
+                ocResourceResponse.setResponseResult(EntityHandlerResult.OK);
+                OcRepresentation r = get();
+                ocResourceResponse.setResourceRepresentation(r,
+                        OcPlatform.DEFAULT_INTERFACE);
+                OcPlatform.notifyListOfObservers(getHandle(), mObservationIds,
+                        ocResourceResponse);
+            } else {
+                // notify all observers if mObservationList is empty
+                OcPlatform.notifyAllObservers(getHandle());
             }
+        } catch (OcException e) {
+            Log.e(TAG, e.getMessage());
         }
+    }
 }