package edu.isi.karma.controller.command.worksheet; import edu.isi.karma.controller.command.CommandException; import edu.isi.karma.controller.command.CommandType; import edu.isi.karma.controller.command.WorksheetCommand; import edu.isi.karma.controller.update.HistoryUpdate; import edu.isi.karma.controller.update.UpdateContainer; import edu.isi.karma.controller.update.WorksheetDeleteUpdate; import edu.isi.karma.controller.update.WorksheetListUpdate; import edu.isi.karma.rep.Workspace; public class DeleteWorksheetCommand extends WorksheetCommand { public DeleteWorksheetCommand(String id, String model, String worksheetId) { super(id, model, worksheetId); } @Override public String getCommandName() { return this.getClass().getSimpleName(); } @Override public String getTitle() { return "Delete Worksheet"; } @Override public String getDescription() { // TODO Auto-generated method stub return null; } @Override public CommandType getCommandType() { return CommandType.notUndoable; } @Override public UpdateContainer doIt(final Workspace workspace) throws CommandException { boolean worksheetExists = false; if(workspace.getWorksheet(worksheetId) != null) { worksheetExists = true; workspace.removeWorksheet(worksheetId); workspace.getFactory().removeWorksheet(worksheetId, workspace.getCommandHistory()); } UpdateContainer update = new UpdateContainer(); if(worksheetExists) { update.add(new WorksheetDeleteUpdate(worksheetId)); //This one deletes it from the vWorksheet, so //needs to be called first before WorksheetListUpdate update.add(new HistoryUpdate(workspace.getCommandHistory())); } update.add(new WorksheetListUpdate()); return update; } @Override public UpdateContainer undoIt(Workspace workspace) { // TODO Auto-generated method stub return null; } }