@Override protected void complete(DbClient dbClient, Operation.Status status, ServiceCoded coded) throws DeviceControllerException { log.info("START ApplicationCompleter complete"); super.setStatus(dbClient, status, coded); updateWorkflowStatus(status, coded); if (addVolumes != null) { for (URI voluri : addVolumes) { switch (status) { case error: setErrorOnDataObject(dbClient, Volume.class, voluri, coded); break; default: setReadyOnDataObject(dbClient, Volume.class, voluri); addApplicationToVolume(voluri, dbClient); } } } if (removeVolumes != null) { for (URI voluri : removeVolumes) { switch (status) { case error: setErrorOnDataObject(dbClient, Volume.class, voluri, coded); break; default: setReadyOnDataObject(dbClient, Volume.class, voluri); removeApplicationFromVolume(voluri, dbClient); } } } if (consistencyGroups != null && !consistencyGroups.isEmpty()) { for (URI cguri : consistencyGroups) { switch (status) { case error: setErrorOnDataObject(dbClient, BlockConsistencyGroup.class, cguri, coded); break; default: updateConsistencyGroup(cguri, dbClient); setReadyOnDataObject(dbClient, BlockConsistencyGroup.class, cguri); } } } log.info("END ApplicationCompleter complete"); }