Source:
public Response updateConfiguration(@HeaderParam(HttpHeaders.ACCEPT_LANGUAGE) String language, @PathParam("thingUID") @ApiParam(value = "thing") String thingUID, @ApiParam(value = "configuration parameters") Map<String, Object> configurationParameters) throws IOException { final Locale locale = LocaleUtil.getLocale(language); ThingUID thingUIDObject = new ThingUID(thingUID); Thing thing = thingRegistry.get(thingUIDObject); if (null == thing) { logger.info("Received HTTP PUT request for update configuration at '{}' for the unknown thing '{}'.", uriInfo.getPath(), thingUID); return getThingNotFoundResponse(thingUID); } Thing managed = managedThingProvider.get(thingUIDObject); if (null == managed) { logger.info("Received HTTP PUT request for update configuration at '{}' for an unmanaged thing '{}'.", uriInfo.getPath(), thingUID); return getThingResponse(Status.CONFLICT, thing, locale, "Cannot update Thing " + thingUID + ". Maybe it is not managed."); } try { thingRegistry.updateConfiguration(thingUIDObject, new Configuration( normalizeConfiguration(configurationParameters, thing.getThingTypeUID(), thing.getUID())) .getProperties()); } catch (ConfigValidationException ex) { logger.debug("Config description validation exception occurred for thingUID - Messages: {}", thingUID, ex.getValidationMessages()); return Response.status(Status.BAD_REQUEST).entity(ex.getValidationMessages(locale)).build(); } catch (IllegalArgumentException ex) { logger.info("Received HTTP PUT request for update config at '{}' for the unknown thing '{}'.", uriInfo.getPath(), thingUID); return Response.status(Status.INTERNAL_SERVER_ERROR).build(); } return getThingResponse(Status.OK, thing, locale, null); }

Target:
public Response updateConfiguration(@HeaderParam(HttpHeaders.ACCEPT_LANGUAGE) String language, @PathParam("thingUID") @ApiParam(value = "thing") String thingUID, @ApiParam(value = "configuration parameters") Map<String, Object> configurationParameters) throws IOException { final Locale locale = LocaleUtil.getLocale(language); ThingUID thingUIDObject = new ThingUID(thingUID); Thing thing = thingRegistry.get(thingUIDObject); if (null == thing) { logger.info("Received HTTP PUT request for update configuration at '{}' for the unknown thing '{}'.", uriInfo.getPath(), thingUID); return getThingNotFoundResponse(thingUID); } Thing managed = managedThingProvider.get(thingUIDObject); if (null == managed) { logger.info("Received HTTP PUT request for update configuration at '{}' for an unmanaged thing '{}'.", uriInfo.getPath(), thingUID); return getThingResponse(Status.CONFLICT, thing, locale, "Cannot update Thing " + thingUID + " as it is not editable."); } try { thingRegistry.updateConfiguration(thingUIDObject, new Configuration( normalizeConfiguration(configurationParameters, thing.getThingTypeUID(), thing.getUID())) .getProperties()); } catch (ConfigValidationException ex) { logger.debug("Config description validation exception occurred for thingUID - Messages: {}", thingUID, ex.getValidationMessages()); return Response.status(Status.BAD_REQUEST).entity(ex.getValidationMessages(locale)).build(); } catch (Exception ex) { logger.error("Exception during HTTP PUT request for update config at '{}' for thing '{}': {}", uriInfo.getPath(), thingUID, ex.getMessage()); return JSONResponse.createResponse(Status.INTERNAL_SERVER_ERROR, null, ex.getMessage()); } return getThingResponse(Status.OK, thing, locale, null); }