Make stream persisting optional

At the moment of creating a stream it will be persisted by default. This was made a optional choice by using a query flag through this commit.
merge-requests/238/merge
Yohan Avishke 5 years ago
parent 35b03d387c
commit bed68289b5

@ -123,6 +123,7 @@ public interface DeviceEventManagementService {
Response deployDeviceTypeEventDefinition(@ApiParam(name = "type", value = "The device type, such as android, ios," + Response deployDeviceTypeEventDefinition(@ApiParam(name = "type", value = "The device type, such as android, ios," +
" and windows.", required = false) " and windows.", required = false)
@PathParam("type")String deviceType, @PathParam("type")String deviceType,
@QueryParam("skipPersist")boolean skipPersist,
@ApiParam(name = "deviceTypeEvent", value = "Add the data to complete " + @ApiParam(name = "deviceTypeEvent", value = "Add the data to complete " +
"the DeviceTypeEvent object.", required = true) "the DeviceTypeEvent object.", required = true)
@Valid DeviceTypeEvent deviceTypeEvent); @Valid DeviceTypeEvent deviceTypeEvent);
@ -357,7 +358,7 @@ public interface DeviceEventManagementService {
@QueryParam("max") double max @QueryParam("max") double max
); );
@GET @GET
@Path("/{type}") @Path("/{type}")
@ApiOperation( @ApiOperation(
@ -411,4 +412,4 @@ public interface DeviceEventManagementService {
" ios, or windows.", required = false) " ios, or windows.", required = false)
@PathParam("type")String deviceType) ; @PathParam("type")String deviceType) ;
} }

@ -192,6 +192,7 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
@Path("/{type}") @Path("/{type}")
@Override @Override
public Response deployDeviceTypeEventDefinition(@PathParam("type") String deviceType, public Response deployDeviceTypeEventDefinition(@PathParam("type") String deviceType,
@QueryParam("skipPersist") boolean skipPersist,
@Valid DeviceTypeEvent deviceTypeEvent) { @Valid DeviceTypeEvent deviceTypeEvent) {
TransportType transportType = deviceTypeEvent.getTransportType(); TransportType transportType = deviceTypeEvent.getTransportType();
EventAttributeList eventAttributes = deviceTypeEvent.getEventAttributeList(); EventAttributeList eventAttributes = deviceTypeEvent.getEventAttributeList();
@ -208,7 +209,9 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
String streamNameWithVersion = streamName + ":" + Constants.DEFAULT_STREAM_VERSION; String streamNameWithVersion = streamName + ":" + Constants.DEFAULT_STREAM_VERSION;
publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, deviceType, eventAttributes); publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, deviceType, eventAttributes);
publishEventReceivers(streamNameWithVersion, transportType, tenantDomain, deviceType); publishEventReceivers(streamNameWithVersion, transportType, tenantDomain, deviceType);
publishEventStore(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes); if (!skipPersist) {
publishEventStore(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes);
}
publishWebsocketPublisherDefinition(streamNameWithVersion, deviceType); publishWebsocketPublisherDefinition(streamNameWithVersion, deviceType);
try { try {
PrivilegedCarbonContext.startTenantFlow(); PrivilegedCarbonContext.startTenantFlow();

Loading…
Cancel
Save