RandomSec/src/main/java/com/metaweb/gridworks/model/operations/ColumnRemovalOperation.java

53 lines
1.6 KiB
Java
Raw Normal View History

package com.metaweb.gridworks.model.operations;
import java.util.Properties;
import org.json.JSONException;
import org.json.JSONWriter;
import com.metaweb.gridworks.history.Change;
import com.metaweb.gridworks.history.HistoryEntry;
import com.metaweb.gridworks.model.AbstractOperation;
import com.metaweb.gridworks.model.Column;
import com.metaweb.gridworks.model.Project;
import com.metaweb.gridworks.model.changes.ColumnRemovalChange;
public class ColumnRemovalOperation extends AbstractOperation {
private static final long serialVersionUID = 8422079695048733734L;
final protected String _columnName;
public ColumnRemovalOperation(
String columnName
) {
_columnName = columnName;
}
protected String getBriefDescription() {
return "Remove column " + _columnName;
}
protected HistoryEntry createHistoryEntry(Project project) throws Exception {
Column column = project.columnModel.getColumnByName(_columnName);
if (column == null) {
throw new Exception("No column named " + _columnName);
}
String description = "Remove column " + column.getHeaderLabel();
Change change = new ColumnRemovalChange(project.columnModel.columns.indexOf(column));
return new HistoryEntry(project, description, ColumnRemovalOperation.this, change);
}
public void write(JSONWriter writer, Properties options)
throws JSONException {
writer.object();
writer.key("op"); writer.value("remove-column");
writer.key("description"); writer.value("Remove column " + _columnName);
writer.key("columnName"); writer.value(_columnName);
writer.endObject();
}
}