NIFI-250: - Handling the appropriate type of exception when creating a controller service.
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/fe24f368 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/fe24f368 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/fe24f368 Branch: refs/heads/NIFI-250 Commit: fe24f368e8e317400d77491e904de6f76639fd53 Parents: 4f01cd0 Author: Matt Gilman <[email protected]> Authored: Thu Mar 26 07:04:51 2015 -0400 Committer: Matt Gilman <[email protected]> Committed: Thu Mar 26 07:04:51 2015 -0400 ---------------------------------------------------------------------- .../dao/impl/StandardControllerServiceDAO.java | 26 ++++++++++++-------- 1 file changed, 16 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/fe24f368/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java index f12f690..14217c5 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java @@ -21,12 +21,14 @@ import java.util.List; import java.util.Map; import java.util.Set; import org.apache.nifi.controller.ScheduledState; +import org.apache.nifi.controller.exception.ControllerServiceInstantiationException; import org.apache.nifi.controller.exception.ValidationException; import org.apache.nifi.controller.service.ControllerServiceNode; import org.apache.nifi.controller.service.ControllerServiceProvider; import org.apache.nifi.controller.service.ControllerServiceReference; import org.apache.nifi.controller.service.ControllerServiceState; +import org.apache.nifi.web.NiFiCoreException; import org.apache.nifi.web.ResourceNotFoundException; import org.apache.nifi.web.api.dto.ControllerServiceDTO; import org.apache.nifi.web.dao.ControllerServiceDAO; @@ -66,16 +68,20 @@ public class StandardControllerServiceDAO extends ComponentDAO implements Contro throw new IllegalArgumentException("The controller service type must be specified."); } - // create the controller service - final ControllerServiceNode controllerService = serviceProvider.createControllerService(controllerServiceDTO.getType(), controllerServiceDTO.getId(), true); - - // ensure we can perform the update - verifyUpdate(controllerService, controllerServiceDTO); - - // perform the update - configureControllerService(controllerService, controllerServiceDTO); - - return controllerService; + try { + // create the controller service + final ControllerServiceNode controllerService = serviceProvider.createControllerService(controllerServiceDTO.getType(), controllerServiceDTO.getId(), true); + + // ensure we can perform the update + verifyUpdate(controllerService, controllerServiceDTO); + + // perform the update + configureControllerService(controllerService, controllerServiceDTO); + + return controllerService; + } catch (final ControllerServiceInstantiationException csie) { + throw new NiFiCoreException(csie.getMessage(), csie); + } } /**
