Search in sources :

Example 1 with RestConfigIsNotCorrectException

use of org.openmuc.framework.lib.rest.exceptions.RestConfigIsNotCorrectException in project OpenMUC by isc-konstanz.

the class DriverResourceServlet method doSetConfigs.

private synchronized boolean doSetConfigs(String driverId, HttpServletResponse response, String json) {
    boolean ok = false;
    try {
        DriverConfig driverConfig = rootConfig.getDriver(driverId);
        if (driverConfig != null) {
            try {
                FromJson fromJson = new FromJson(json);
                fromJson.setDriverConfig(driverConfig, driverId);
            } catch (IdCollisionException e) {
            }
            configService.setConfig(rootConfig);
            configService.writeConfigToFile();
            response.setStatus(HttpServletResponse.SC_OK);
            ok = true;
        } else {
            ServletLib.sendHTTPErrorAndLogErr(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, logger, "Not able to access to driver ", driverId);
        }
    } catch (JsonSyntaxException e) {
        ServletLib.sendHTTPErrorAndLogDebug(response, HttpServletResponse.SC_CONFLICT, logger, "JSON syntax is wrong.");
    } catch (MissingJsonObjectException e) {
        ServletLib.sendHTTPErrorAndLogDebug(response, HttpServletResponse.SC_NOT_FOUND, logger, e.getMessage());
    } catch (ConfigWriteException e) {
        ServletLib.sendHTTPErrorAndLogErr(response, HttpServletResponse.SC_CONFLICT, logger, "Could not write driver \"", driverId, "\".");
        logger.debug(e.getMessage());
    } catch (RestConfigIsNotCorrectException e) {
        ServletLib.sendHTTPErrorAndLogDebug(response, HttpServletResponse.SC_NOT_ACCEPTABLE, logger, "Not correct formed driver config json.", " JSON = ", json);
    } catch (IllegalStateException e) {
        ServletLib.sendHTTPErrorAndLogDebug(response, HttpServletResponse.SC_CONFLICT, logger, e.getMessage());
    }
    return ok;
}
Also used : JsonSyntaxException(com.google.gson.JsonSyntaxException) ConfigWriteException(org.openmuc.framework.config.ConfigWriteException) IdCollisionException(org.openmuc.framework.config.IdCollisionException) MissingJsonObjectException(org.openmuc.framework.lib.rest.exceptions.MissingJsonObjectException) FromJson(org.openmuc.framework.lib.rest.FromJson) DriverConfig(org.openmuc.framework.config.DriverConfig) RestConfigIsNotCorrectException(org.openmuc.framework.lib.rest.exceptions.RestConfigIsNotCorrectException)

Example 2 with RestConfigIsNotCorrectException

use of org.openmuc.framework.lib.rest.exceptions.RestConfigIsNotCorrectException in project OpenMUC by isc-konstanz.

the class RestChannelMapper method setChannelConfig.

public static void setChannelConfig(ChannelConfig cc, RestChannelConfig rcc, String idFromUrl) throws IdCollisionException, RestConfigIsNotCorrectException {
    if (cc == null) {
        throw new RestConfigIsNotCorrectException("ChannelConfig is null!");
    }
    if (rcc == null) {
        throw new RestConfigIsNotCorrectException();
    }
    if (rcc.getId() != null && !rcc.getId().isEmpty() && !idFromUrl.equals(rcc.getId())) {
        cc.setId(rcc.getId());
    }
    cc.setDescription(rcc.getDescription());
    cc.setAddress(rcc.getAddress());
    cc.setSettings(rcc.getSettings());
    List<ServerMapping> serverMappings = rcc.getServerMappings();
    if (serverMappings != null) {
        for (ServerMapping serverMapping : cc.getServerMappings()) {
            cc.deleteServerMappings(serverMapping.getId());
        }
        for (ServerMapping restServerMapping : serverMappings) {
            cc.addServerMapping(restServerMapping);
        }
    }
    cc.setUnit(rcc.getUnit());
    cc.setValueType(rcc.getValueType());
    cc.setValueTypeLength(rcc.getValueTypeLength());
    cc.setValueOffset(rcc.getValueOffset());
    cc.setScalingFactor(rcc.getScalingFactor());
    cc.setListening(rcc.isListening());
    cc.setSamplingGroup(rcc.getSamplingGroup());
    cc.setSamplingInterval(rcc.getSamplingInterval());
    cc.setSamplingTimeOffset(rcc.getSamplingTimeOffset());
    cc.setLoggingInterval(rcc.getLoggingInterval());
    cc.setLoggingDelayMaximum(rcc.getLoggingTimeMax());
    cc.setLoggingTimeOffset(rcc.getLoggingTimeOffset());
    cc.setLoggingSettings(rcc.getLoggingSettings());
    cc.setLoggingTolerance(rcc.getLoggingTolerance());
    cc.setloggingAverage(rcc.isloggingAverage());
    cc.setLoggingEvent(rcc.isLoggingEvent());
    cc.setDisabled(rcc.isDisabled());
}
Also used : ServerMapping(org.openmuc.framework.config.ServerMapping) RestConfigIsNotCorrectException(org.openmuc.framework.lib.rest.exceptions.RestConfigIsNotCorrectException)

Aggregations

RestConfigIsNotCorrectException (org.openmuc.framework.lib.rest.exceptions.RestConfigIsNotCorrectException)2 JsonSyntaxException (com.google.gson.JsonSyntaxException)1 ConfigWriteException (org.openmuc.framework.config.ConfigWriteException)1 DriverConfig (org.openmuc.framework.config.DriverConfig)1 IdCollisionException (org.openmuc.framework.config.IdCollisionException)1 ServerMapping (org.openmuc.framework.config.ServerMapping)1 FromJson (org.openmuc.framework.lib.rest.FromJson)1 MissingJsonObjectException (org.openmuc.framework.lib.rest.exceptions.MissingJsonObjectException)1