/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingtracker.operations.options; import java.util.Map; import org.eclipse.jdt.core.IJavaProject; import edu.illinois.codingtracker.operations.JavaProjectsUpkeeper; import edu.illinois.codingtracker.operations.OperationLexer; import edu.illinois.codingtracker.operations.OperationSymbols; import edu.illinois.codingtracker.operations.OperationTextChunk; /** * * @author Stas Negara * */ public class ProjectOptionsChangedOperation extends OptionsChangedOperation { private String projectName; public ProjectOptionsChangedOperation() { super(); } public ProjectOptionsChangedOperation(String projectName, Map<String, String> projectOptions) { super(projectOptions); this.projectName= projectName; } @Override protected char getOperationSymbol() { return OperationSymbols.PROJECT_OPTIONS_CHANGED_SYMBOL; } @Override public String getDescription() { return "Changed project options"; } @Override protected void populateTextChunk(OperationTextChunk textChunk) { textChunk.append(projectName); super.populateTextChunk(textChunk); } @Override protected void initializeFrom(OperationLexer operationLexer) { projectName= operationLexer.readString(); super.initializeFrom(operationLexer); } @Override public void replay() throws Exception { IJavaProject javaProject= JavaProjectsUpkeeper.findOrCreateJavaProject(projectName); javaProject.setOptions(options); } @Override public String toString() { StringBuffer sb= new StringBuffer(); sb.append("Project name: " + projectName + "\n"); sb.append(super.toString()); return sb.toString(); } }