RandomSec/src/main/java/com/metaweb/gridworks/model/operations/EngineDependentOperation.java
David Huynh 937d91ab1d Implement split and join multi-value cells features.
Reorganized column header popup menu.


git-svn-id: http://google-refine.googlecode.com/svn/trunk@44 7d457c2a-affb-35e4-300a-418c747d4874
2010-02-05 06:29:27 +00:00

40 lines
1.1 KiB
Java

package com.metaweb.gridworks.model.operations;
import org.json.JSONException;
import org.json.JSONObject;
import com.metaweb.gridworks.browsing.Engine;
import com.metaweb.gridworks.model.AbstractOperation;
import com.metaweb.gridworks.model.Project;
import com.metaweb.gridworks.util.ParsingUtilities;
abstract public class EngineDependentOperation implements AbstractOperation {
private static final long serialVersionUID = -2800091595856881731L;
final private String _engineConfigString;
transient protected JSONObject _engineConfig;
protected EngineDependentOperation(JSONObject engineConfig) {
_engineConfig = engineConfig;
_engineConfigString = engineConfig.toString();
}
protected Engine createEngine(Project project) throws Exception {
Engine engine = new Engine(project);
engine.initializeFromJSON(getEngineConfig());
return engine;
}
protected JSONObject getEngineConfig() {
if (_engineConfig == null) {
try {
_engineConfig = ParsingUtilities.evaluateJsonStringToObject(_engineConfigString);
} catch (JSONException e) {
// ignore
}
}
return _engineConfig;
}
}