private void validateBrickNames(Action action) { List<GlusterBrick> bricks = action.getBricks().getGlusterBricks(); for (GlusterBrick brick : bricks) { if (brick.getName() == null || brick.getName().equals("")) { Fault fault = new Fault(); fault.setReason(localize(Messages.INCOMPLETE_PARAMS_REASON)); throw new WebApplicationException(Response.status(Response.Status.BAD_REQUEST) .entity(fault) .build()); } } }
@Override public Response stopMigrate(Action action) { validateParameters(action, "bricks"); validateBrickNames(action); GlusterVolumeRemoveBricksParameters params = toParameters(action.getBricks()); return performAction(ActionType.StopRemoveGlusterVolumeBricks, params, action, false); }
@Override public Response migrate(Action action) { validateParameters(action, "bricks"); validateBrickNames(action); GlusterVolumeRemoveBricksParameters params = toParameters(action.getBricks()); return performAction(ActionType.StartRemoveGlusterVolumeBricks, params, action, false); }
@Override public Response remove(Action action) { GlusterBricks bricks = action.getBricks(); if (bricks.getGlusterBricks().size() > 0) { for (GlusterBrick brick : bricks.getGlusterBricks()) { validateParameters(brick, "id|name"); } } int replicaCount = ParametersHelper.getIntegerParameter(httpHeaders, uriInfo, REPLICA_COUNT, 0, 0); GlusterVolumeRemoveBricksParameters params = toParameters(bricks); params.setReplicaCount(replicaCount); GlusterVolumeEntity volume = getEntity(GlusterVolumeEntity.class, QueryType.GetGlusterVolumeById, new IdQueryParameters(asGuid(getVolumeId())), ""); if (volume.getAsyncTask() != null && volume.getAsyncTask().getType() == GlusterTaskType.REMOVE_BRICK && volume.getAsyncTask().getStatus() == JobExecutionStatus.FINISHED) { return performAction(ActionType.CommitRemoveGlusterVolumeBricks, params); } else { return performAction(ActionType.GlusterVolumeRemoveBricks, params); } }
to.setBricks(adaptOut(from.getBricks()));