few changes after testing HTTP and MQTT flow

4.x.x
ayyoob 8 years ago
parent a7ebc96cb7
commit 7cba43ccbb

@ -81,8 +81,10 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
private static final String THRIFT_ADAPTER_TYPE = "iot-event";
private static final String DEFAULT_DEVICE_ID_ATTRIBUTE = "deviceId";
private static final String DEFAULT_META_DEVICE_ID_ATTRIBUTE = "meta_deviceId";
private static final String MQTT_CONTENT_TRANSFORMER = "device-meta-transformer";
private static final String MQTT_CONTENT_TRANSFORMER_TYPE = "contentTransformer";
private static final String MQTT_CONTENT_VALIDATOR_TYPE = "contentValidator";
private static final String MQTT_CONTENT_VALIDATOR = "default";
@GET
@Path("/{type}")
@ -182,14 +184,9 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME, true);
if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
if (transportType == TransportType.MQTT) {
publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, deviceType, eventAttributes);
publishEventReceivers(eventReceiverName, streamNameWithVersion, transportType, tenantDomain,
deviceType);
} else {
publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, deviceType, eventAttributes);
}
}
DeviceMgtAPIUtils.getDynamicEventCache().remove(deviceType);
return Response.ok().build();
@ -412,9 +409,13 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
String adapterType = OAUTH_MQTT_ADAPTER_TYPE;
BasicInputAdapterPropertyDto basicInputAdapterPropertyDtos[];
if (transportType == TransportType.MQTT) {
basicInputAdapterPropertyDtos = new BasicInputAdapterPropertyDto[1];
basicInputAdapterPropertyDtos = new BasicInputAdapterPropertyDto[3];
basicInputAdapterPropertyDtos[0] = getBasicInputAdapterPropertyDto("topic", requestedTenantDomain
+ "/" + deviceType + "/+/events");
basicInputAdapterPropertyDtos[1] = getBasicInputAdapterPropertyDto(MQTT_CONTENT_TRANSFORMER_TYPE
, MQTT_CONTENT_TRANSFORMER);
basicInputAdapterPropertyDtos[2] = getBasicInputAdapterPropertyDto(MQTT_CONTENT_VALIDATOR_TYPE
, MQTT_CONTENT_VALIDATOR);
} else {
adapterType = THRIFT_ADAPTER_TYPE;
basicInputAdapterPropertyDtos = new BasicInputAdapterPropertyDto[1];
@ -425,8 +426,6 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
receiverAdminServiceStub.deployJsonEventReceiverConfiguration(eventRecieverName, streamNameWithVersion
, adapterType, null, basicInputAdapterPropertyDtos, false);
} else {
EventMappingPropertyDto eventMappingPropertyDto = new EventMappingPropertyDto();
receiverAdminServiceStub.deployWso2EventReceiverConfiguration(eventRecieverName, streamNameWithVersion
, adapterType, null, null, null, basicInputAdapterPropertyDtos, false, null);
}

@ -111,7 +111,8 @@
org.wso2.carbon.utils.dbcreator,
org.wso2.carbon.utils.multitenancy,
</Import-Package>
<DynamicImport-Package>org.wso2.carbon.device.mgt.extensions.pull.notification.*</DynamicImport-Package>
<DynamicImport-Package>org.wso2.carbon.device.mgt.extensions.pull.notification,
org.wso2.carbon.device.mgt.extensions.pull.notification.*</DynamicImport-Package>
</instructions>
</configuration>
</plugin>

@ -100,7 +100,7 @@ public class PullNotificationSubscriberConfig {
*
*/
public void setClassName(String value) {
this.className = className;
this.className = value;
}
}

@ -32,9 +32,6 @@ function submitForm(formId) {
var operationDetails = $("#operation-details");
var deviceId = operationDetails.data("deviceid");
var operationEndpoint = operationDetails.data("endpoint");
console.log(deviceId);
console.log(operationEndpoint);
var contentType = "application/json";
var payload = {};
@ -44,7 +41,7 @@ function submitForm(formId) {
var operation = {};
operation["code"] = form.find("#operation-code").val();
operation["type"]= form.find("#operation-type").val();
operation["status"] = "IN_PROGRESS";
operation["status"] = "PENDING";
operation["control"] = "REPEAT";
operation["payLoad"] = form.find("#operation-payload").val();
operation["enabled"] = true;

@ -245,18 +245,18 @@
Operation Response:
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/update/operation</code>
<br/>
Payload : <code>{operationId:1, payload:"example"}</code>
Payload : <code>{"id": 1,"status": "COMPLETED", "operationResponse": "this is my response"}</code>
<br/>
Topic Structure:
<ul class="list-unstyled">
<li class="padding-top-double">
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/command/&lt;feature_code&gt;&lt;operation_id&gt;</code>
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/command/&lt;feature_code&gt;/&lt;operation_id&gt;</code>
</li>
<li class="padding-top-double">
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/config/&lt;feature_code&gt;&lt;operation_id&gt;</code>
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/config/&lt;feature_code&gt;/&lt;operation_id&gt;</code>
</li>
<li class="padding-top-double">
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/profile/&lt;feature_code&gt;&lt;operation_id&gt;</code>
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/profile/&lt;feature_code&gt;/&lt;operation_id&gt;</code>
</li>
<li class="padding-top-double">
<code>{{tenantDomain}}/{{deviceType}}/&lt;device_id&gt;/operation/policy/policy_bundle</code>

Loading…
Cancel
Save