@Override public void getAlarmSettings(IDeviceReadable device, ICallback<AlarmSettingModel> callback) { this._callback = callback; MeteorSingleton.getInstance().setCallback(this); _subscriptionId = MeteorSingleton.getInstance() .subscribe("alarmSettingsForDevice", new Object[] {device.getId()}); }
@Override public void getDeviceFeatures( IDeviceReadable device, final ICallback<List<IDeviceFeatureReadable>> callback) { MeteorSingleton.getInstance() .call( "implementedDeviceFeaturesForDevice", new Object[] {device.getId()}, new ResultListener() { @Override public void onSuccess(String s) { System.out.println("SUCCESS: #1"); System.out.println(s); ArrayList<IDeviceFeatureReadable> devFetList = new ArrayList<IDeviceFeatureReadable>(); JsonArray devFeatureListJSON = _parser.parse(s).getAsJsonArray(); for (int i = 0; i < devFeatureListJSON.size(); i++) { JsonObject devFetJSON = devFeatureListJSON.get(i).getAsJsonObject(); String id = devFetJSON.getAsJsonPrimitive("_id").getAsString(); String type = devFetJSON.getAsJsonPrimitive("feature_type").getAsString(); devFetList.add(new DeviceFeatureModel(id, type)); } callback.callback(null, devFetList); } @Override public void onError(String s, String s1, String s2) { System.out.println("ERROR: #1"); System.out.println(s); System.out.println(s1); System.out.println(s2); } }); }
@Override public void setAlarmSettings( IDeviceReadable device, AlarmSettingModel settings, ICallback<Boolean> callback) { JsonObject jsonAlarmSettings = settingsModelToJson(settings); String json = _gson.toJson(jsonAlarmSettings); MeteorSingleton.getInstance().call("pushAlarmSettings", new Object[] {device.getId(), json}); }
@Override public void pushAlarmTrigger( IDeviceReadable device, IDataTriggerReadable triggerModel, final ICallback<String> callback) { JsonObject jsonTrigger = triggerModelToJson(triggerModel); String json = _gson.toJson(jsonTrigger); MeteorSingleton.getInstance() .call( "pushDataTriggers", new Object[] {device.getId(), json}, new ResultListener() { @Override public void onSuccess(String s) { callback.callback(null, "Successfully created the data trigger."); } @Override public void onError(String s, String s1, String s2) { callback.callback(null, "Error occurred creating the data trigger."); } }); }
@Override public void unRegisterAsCallback() { MeteorSingleton.getInstance().unsubscribe(_subscriptionId); MeteorSingleton.getInstance().unsetCallback(this); }