Merge pull request #69 from menaka121/master

Issues fixed
application-manager-new
Ruwan 9 years ago
commit 54792872ef

@ -58,9 +58,6 @@ public class ConnectedCupControllerService {
private static final String SUPER_TENANT = "carbon.super"; private static final String SUPER_TENANT = "carbon.super";
private static ConnectedCupMQTTConnector connectedCupMQTTConnector; private static ConnectedCupMQTTConnector connectedCupMQTTConnector;
@Context
HttpServletResponse response;
public ConnectedCupMQTTConnector connectedCupMQTTConnector() { public ConnectedCupMQTTConnector connectedCupMQTTConnector() {
return ConnectedCupControllerService.connectedCupMQTTConnector; return ConnectedCupControllerService.connectedCupMQTTConnector;
@ -81,8 +78,11 @@ public class ConnectedCupControllerService {
* @param deviceId * @param deviceId
* @param owner * @param owner
*/ */
@Path("controller/cup/coffeelevel") @Path("controller/coffeelevel")
@GET @GET
@Produces(MediaType.APPLICATION_JSON)
@Feature(code = "coffeelevel", name="Coffeelevel", description = "read coffeelevel from this device", type =
"monitor")
public SensorRecord readCoffeeLevel(@HeaderParam("owner") String owner, public SensorRecord readCoffeeLevel(@HeaderParam("owner") String owner,
@HeaderParam("deviceId") String deviceId, @HeaderParam("deviceId") String deviceId,
@Context HttpServletResponse response) { @Context HttpServletResponse response) {
@ -118,8 +118,11 @@ public class ConnectedCupControllerService {
@Path("controller/cup/temperature") @Path("controller/temperature")
@GET @GET
@Produces(MediaType.APPLICATION_JSON)
@Feature(code = "temperature", name="Temperature", description = "read temperature from this device", type =
"monitor")
public SensorRecord readTemperature(@HeaderParam("owner") String owner, public SensorRecord readTemperature(@HeaderParam("owner") String owner,
@HeaderParam("deviceId") String deviceId, @HeaderParam("deviceId") String deviceId,
@Context HttpServletResponse response) { @Context HttpServletResponse response) {
@ -156,9 +159,9 @@ public class ConnectedCupControllerService {
@Path("controller/ordercoffee") @Path("controller/ordercoffee")
@POST @POST
public HttpServletResponse orderCoffee(@QueryParam("deviceId") String deviceId, @QueryParam("deviceOwner") String public void orderCoffee(@QueryParam("deviceId") String deviceId, @QueryParam("deviceOwner") String
deviceOwner, @Context HttpServletResponse response){ deviceOwner, @Context HttpServletResponse response){
SensorRecord sensorRecord = null;
DeviceValidator deviceValidator = new DeviceValidator(); DeviceValidator deviceValidator = new DeviceValidator();
try { try {
if (!deviceValidator.isExist(deviceOwner, SUPER_TENANT, new DeviceIdentifier( if (!deviceValidator.isExist(deviceOwner, SUPER_TENANT, new DeviceIdentifier(
@ -175,6 +178,6 @@ public class ConnectedCupControllerService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("Sending request to read liquid level value of device [" + deviceId + "] via MQTT"); log.debug("Sending request to read liquid level value of device [" + deviceId + "] via MQTT");
} }
return response; // return response;
} }
} }

@ -96,7 +96,7 @@ public class ConnectedCupMQTTConnector extends MQTTTransportHandler {
MqttMessage pushMessage = new MqttMessage(); MqttMessage pushMessage = new MqttMessage();
String publishTopic = String publishTopic =
serverName + File.separator + deviceOwner + File.separator + "wso2" + File.separator + deviceOwner + File.separator +
ConnectedCupConstants.DEVICE_TYPE + File.separator + deviceId; ConnectedCupConstants.DEVICE_TYPE + File.separator + deviceId;
try { try {
@ -110,7 +110,7 @@ public class ConnectedCupMQTTConnector extends MQTTTransportHandler {
publishToQueue(publishTopic, pushMessage); publishToQueue(publishTopic, pushMessage);
} catch (Exception e) { } catch (Exception e) {
String errorMsg = "Preparing Secure payload failed for device - [" + deviceId + "] of owner - " + String errorMsg = "Preparing payload failed for device - [" + deviceId + "] of owner - " +
"[" + deviceOwner + "]."; "[" + deviceOwner + "].";
log.error(errorMsg); log.error(errorMsg);
throw new TransportHandlerException(errorMsg, e); throw new TransportHandlerException(errorMsg, e);
@ -122,33 +122,55 @@ public class ConnectedCupMQTTConnector extends MQTTTransportHandler {
public void processIncomingMessage(MqttMessage mqttMessage, String... strings) throws TransportHandlerException { public void processIncomingMessage(MqttMessage mqttMessage, String... strings) throws TransportHandlerException {
String topic = strings[0]; String topic = strings[0];
String ownerAndId = topic.replace("wso2" + File.separator + "iot" + File.separator, ""); String ownerAndId = topic.replace("wso2" + File.separator, "");
ownerAndId = ownerAndId.replace(File.separator + ConnectedCupConstants.DEVICE_TYPE + File.separator, ":"); ownerAndId = ownerAndId.replace(File.separator + ConnectedCupConstants.DEVICE_TYPE + File.separator, ":");
ownerAndId = ownerAndId.replace(File.separator + "connectedcup_publisher", ""); ownerAndId = ownerAndId.replace(File.separator + "connected_publisher", "");
String owner = ownerAndId.split(":")[0]; String owner = ownerAndId.split(":")[0];
String deviceId = ownerAndId.split(":")[1]; String deviceId = ownerAndId.split(":")[1];
// String actualMessage = mqttMessage.toString();
String[] messageData = mqttMessage.toString().split(":"); String[] messageData = mqttMessage.toString().split(":");
Float value = Float.valueOf(messageData[1]); Float value = Float.valueOf(messageData[1]);
// if (actualMessage.contains("PUBLISHER")) {
// float temperature = Float.parseFloat(actualMessage.split(":")[2]);
//
// if (!ConnectedCupServiceUtils.publishToDAS(owner, deviceId, messageData[0], value)) {
// log.error("MQTT Subscriber: Publishing data to DAS failed.");
// }
//
// if (log.isDebugEnabled()) {
// log.debug("MQTT Subscriber: Published data to DAS successfully.");
// }
//
// } else if (actualMessage.contains("TEMPERATURE")) {
// String temperatureValue = actualMessage.split(":")[1];
// SensorDataManager.getInstance().setSensorRecord(deviceId, ConnectedCupConstants.SENSOR_TEMPERATURE,
// temperatureValue,
// Calendar.getInstance().getTimeInMillis());
// }
//
//
switch(messageData[0]) { switch(messageData[0]) {
case "temperature": case "temperature": SensorDataManager.getInstance().setSensorRecord(deviceId, ConnectedCupConstants.SENSOR_TEMPERATURE,
SensorDataManager.getInstance().setSensorRecord(deviceId, ConnectedCupConstants.SENSOR_TEMPERATURE,
String.valueOf(messageData[1]), String.valueOf(messageData[1]),
Calendar.getInstance().getTimeInMillis()); Calendar.getInstance().getTimeInMillis());
ConnectedCupServiceUtils.publishToDAS(owner, deviceId, value);
break; break;
case "coffeelevel": case "coffeelevel": SensorDataManager.getInstance().setSensorRecord(deviceId, ConnectedCupConstants.SENSOR_LEVEL,
SensorDataManager.getInstance().setSensorRecord(deviceId, ConnectedCupConstants.SENSOR_TEMPERATURE,
String.valueOf(messageData[1]), String.valueOf(messageData[1]),
Calendar.getInstance().getTimeInMillis()); Calendar.getInstance().getTimeInMillis());
ConnectedCupServiceUtils.publishToDAS(owner, deviceId, value); break;
} }
log.info("Received MQTT message for OWNER: " + owner + " DEVICE.ID: " + deviceId + " | Command: " +
messageData[0] +" " + messageData[1] );
ConnectedCupServiceUtils.publishToDAS(owner, deviceId, messageData[0], value);
if (log.isDebugEnabled()) {
log.debug("Received MQTT message for OWNER: " + owner + " DEVICE.ID: " + deviceId + " | Command: " +
messageData[0] +" " + messageData[1] );
}
} }

@ -25,7 +25,7 @@
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"> http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
<jaxrs:server id="ConnectedCupController" address="/connectedcup"> <jaxrs:server id="ConnectedCupController" address="/">
<jaxrs:serviceBeans> <jaxrs:serviceBeans>
<bean id="ConnectedCupControllerService" <bean id="ConnectedCupControllerService"
class="org.coffeeking.controller.service.ConnectedCupControllerService"> class="org.coffeeking.controller.service.ConnectedCupControllerService">

@ -40,7 +40,7 @@
<module>plugin</module> <module>plugin</module>
<module>controller</module> <module>controller</module>
<module>manager</module> <module>manager</module>
<module>connected-cup-agent</module>
</modules> </modules>
<build> <build>

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<artifact name="Eventreceiver_coffeelevel" version="1.0.0" type="event/receiver" serverRole="DataAnalyticsServer"> <artifact name="Eventreceiver_coffeelevel" version="1.0.0" type="event/receiver" serverRole="DataAnalyticsServer">
<file>Eventreceiver_coffeelevel.xml</file> <file>EventReceiver_coffeelevel.xml</file>
</artifact> </artifact>

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Analytics> <Analytics>
<Name>IoTServer_Sensor_Script</Name> <Name>CoffeeLevel_Sensor_Script</Name>
<Script> <Script>
CREATE TEMPORARY TABLE DeviceCoffeeLevelData USING CarbonAnalytics OPTIONS(tableName CREATE TEMPORARY TABLE DeviceCoffeeLevelData USING CarbonAnalytics OPTIONS(tableName
"ORG_WSO2_IOT_DEVICES_COFFEELEVEL"); "ORG_WSO2_IOT_DEVICES_COFFEELEVEL");
CREATE TEMPORARY TABLE DeviceCoffeeLevelSummaryData USING CarbonAnalytics OPTIONS (tableName CREATE TEMPORARY TABLE DeviceCoffeeLevelSummaryData USING CarbonAnalytics OPTIONS (tableName
"DEVICE_COFFEE_LEVEL_SUMMARY", schema "coffeelevel FLOAT, deviceType STRING -i, deviceId STRING -i, owner "DEVICE_COFFEELEVEL_SUMMARY", schema "coffeelevel FLOAT, deviceType STRING -i, deviceId STRING -i, owner
STRING -i, STRING -i,
time LONG -i",primaryKeys "deviceType, deviceId, owner, time"); time LONG -i",primaryKeys "deviceType, deviceId, owner, time");

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Analytics> <Analytics>
<Name>IoTServer_Sensor_Script</Name> <Name>Temperature_Sensor_Script</Name>
<Script> <Script>
CREATE TEMPORARY TABLE DeviceTemperatureData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_DEVICES_TEMPERATURE"); CREATE TEMPORARY TABLE DeviceTemperatureData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_DEVICES_TEMPERATURE");

Loading…
Cancel
Save