Added XMPP modification to encrypt payload

Shabirmean 9 years ago
parent 5f8751cd95
commit d13c3f8dde

@ -71,7 +71,7 @@ public class FireAlarmXMPPCommunicator extends XMPPTransportHandler {
resource = agentManager.getAgentConfigs().getDeviceOwner(); resource = agentManager.getAgentConfigs().getDeviceOwner();
xmppDeviceJID = username + "@" + server; xmppDeviceJID = username + "@" + server;
xmppAdminJID = AgentConstants.XMPP_ADMIN_ACCOUNT_UNAME + "@" + server; xmppAdminJID = agentManager.getAgentConfigs().getServerName() + "_" + AgentConstants.DEVICE_TYPE + "@" + server;
Runnable connect = new Runnable() { Runnable connect = new Runnable() {
@ -187,19 +187,26 @@ public class FireAlarmXMPPCommunicator extends XMPPTransportHandler {
Runnable pushDataRunnable = new Runnable() { Runnable pushDataRunnable = new Runnable() {
@Override @Override
public void run() { public void run() {
Message xmppMessage = new Message();
try {
int currentTemperature = agentManager.getTemperature(); int currentTemperature = agentManager.getTemperature();
String payLoad = AgentConstants.TEMPERATURE_CONTROL + ":" + currentTemperature;
Message xmppMessage = new Message(); String message = AgentConstants.TEMPERATURE_CONTROL + ":" + currentTemperature;
String payLoad = AgentUtilOperations.prepareSecurePayLoad(message);
xmppMessage.setTo(xmppAdminJID); xmppMessage.setTo(xmppAdminJID);
xmppMessage.setSubject("PUBLISHER"); xmppMessage.setSubject("PUBLISHER");
xmppMessage.setBody(payLoad); xmppMessage.setBody(payLoad);
xmppMessage.setType(Message.Type.chat); xmppMessage.setType(Message.Type.chat);
sendXMPPMessage(xmppAdminJID, xmppMessage); sendXMPPMessage(xmppAdminJID, xmppMessage);
log.info(AgentConstants.LOG_APPENDER + "Message: '" + xmppMessage.getBody() + log.info(AgentConstants.LOG_APPENDER + "Message: '" + message + "' sent to XMPP JID - " +
"' sent to XMPP JID [" + xmppAdminJID + "] under subject [" + "[" + xmppAdminJID + "] under subject [" + xmppMessage.getSubject() + "].");
xmppMessage.getSubject() + "]"); } catch (AgentCoreOperationException e) {
log.warn(AgentConstants.LOG_APPENDER + "Preparing Secure payload failed for XMPP JID - " +
"[" + xmppAdminJID + "] with subject - [" + xmppMessage.getSubject() + "].");
}
} }
}; };

@ -572,8 +572,8 @@ public class VirtualFireAlarmService {
*/ */
@Path("controller/bulb") @Path("controller/bulb")
@POST @POST
@Feature( code="VIRTUALFIREALARM_BULBCONTROL", name="Control Bulb", @Feature(code = "VIRTUALFIREALARM_BULBCONTROL", name = "Control Bulb", type = "operation",
description="Switch on/off Virtual Fire Alarm Bulb") description = "Switch on/off Virtual Fire Alarm Bulb")
public void switchBulb(@HeaderParam("owner") String owner, public void switchBulb(@HeaderParam("owner") String owner,
@HeaderParam("deviceId") String deviceId, @HeaderParam("deviceId") String deviceId,
@HeaderParam("protocol") String protocol, @HeaderParam("protocol") String protocol,
@ -657,7 +657,7 @@ public class VirtualFireAlarmService {
*/ */
@Path("controller/readhumidity") @Path("controller/readhumidity")
@GET @GET
@Feature( code="VIRTUALFIREALARM_READHUMIDITY", name="Read Humidity", @Feature( code="VIRTUALFIREALARM_READHUMIDITY", name="Read Humidity", type = "monitor",
description="Read Humidity Readings from Virtual Fire Alarm") description="Read Humidity Readings from Virtual Fire Alarm")
public String requestHumidity(@HeaderParam("owner") String owner, public String requestHumidity(@HeaderParam("owner") String owner,
@HeaderParam("deviceId") String deviceId, @HeaderParam("deviceId") String deviceId,
@ -738,7 +738,7 @@ public class VirtualFireAlarmService {
@GET @GET
@Consumes(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
@Feature( code="VIRTUALFIREALARM_REQTEMP", name="Request Tempreature", @Feature( code="VIRTUALFIREALARM_REQTEMP", name="Request Tempreature", type = "monitor",
description="Request Tempreature reading from Virtual Fire Alarm") description="Request Tempreature reading from Virtual Fire Alarm")
public SensorRecord requestTemperature(@HeaderParam("owner") String owner, public SensorRecord requestTemperature(@HeaderParam("owner") String owner,
@HeaderParam("deviceId") String deviceId, @HeaderParam("deviceId") String deviceId,

@ -73,6 +73,7 @@ public class VirtualFireAlarmXMPPConnector extends XMPPTransportHandler {
public void createXMPPAccountForDeviceType() { public void createXMPPAccountForDeviceType() {
boolean accountExists = false; boolean accountExists = false;
XmppServerClient xmppServerClient = new XmppServerClient(); XmppServerClient xmppServerClient = new XmppServerClient();
xmppServerClient.initControlQueue();
try { try {
accountExists = xmppServerClient.doesXMPPUserAccountExist(xmppVFireAlarmAdminUsername); accountExists = xmppServerClient.doesXMPPUserAccountExist(xmppVFireAlarmAdminUsername);

@ -62,7 +62,7 @@ public class XmppServerClient implements ControlQueueConnector {
} }
@Override @Override
public void initControlQueue() throws DeviceControllerException { public void initControlQueue() {
xmppEndpoint = XmppConfig.getInstance().getXmppEndpoint(); xmppEndpoint = XmppConfig.getInstance().getXmppEndpoint();
xmppUsername = XmppConfig.getInstance().getXmppUsername(); xmppUsername = XmppConfig.getInstance().getXmppUsername();
xmppPassword = XmppConfig.getInstance().getXmppPassword(); xmppPassword = XmppConfig.getInstance().getXmppPassword();

Loading…
Cancel
Save