SensorResource extends AbstractBrooklynRestResource implements SensorApi { @Override public void delete(String application, String entityToken, String sensorName) { final Entity entity = brooklyn().getEntity(application, entityToken); if (!Entitlements.isEntitled(mgmt().getEntitlementManager(), Entitlements.MODIFY_ENTITY, entity)) { throw WebResourceUtils.forbidden("User '%s' is not authorized to modify entity '%s'", Entitlements.getEntitlementContext().user(), entity); } AttributeSensor<?> sensor = findSensor(entity, sensorName); if (log.isDebugEnabled()) log.debug("REST user "+Entitlements.getEntitlementContext()+" deleting sensor "+sensorName); ((EntityInternal)entity).sensors().remove(sensor); }  @Override List<SensorSummary> list(final String application, final String entityToken); @Override Map<String, Object> batchSensorRead(final String application, final String entityToken, final Boolean raw); @Override String getPlain(String application, String entityToken, String sensorName, final Boolean raw); @Override Object get(final String application, final String entityToken, String sensorName, final Boolean raw); @SuppressWarnings({ "rawtypes", "unchecked" }) @Override void setFromMap(String application, String entityToken, Map newValues); @SuppressWarnings({ "rawtypes", "unchecked" }) @Override void set(String application, String entityToken, String sensorName, Object newValue); @Override void delete(String application, String entityToken, String sensorName);  }
@Test public void testDelete() throws Exception { try { Response response = client().path(SENSORS_ENDPOINT + "/" + SENSOR_NAME) .delete(); assertEquals(response.getStatus(), Response.Status.NO_CONTENT.getStatusCode()); String value = client().path(SENSORS_ENDPOINT + "/" + SENSOR_NAME).accept(MediaType.TEXT_PLAIN_TYPE).get(String.class); assertEquals(value, ""); } finally { addAmphibianSensor(entity); } }