package hirondelle.fish.translate.unknown;
import hirondelle.web4j.model.AppException;
import hirondelle.web4j.action.ActionImpl;
import hirondelle.web4j.request.RequestParser;
import hirondelle.web4j.request.RequestParameter;
import hirondelle.web4j.action.Operation;
import hirondelle.web4j.config.TranslatorImpl;
import hirondelle.web4j.action.ResponsePage;
import hirondelle.web4j.ui.translate.Translator;
import hirondelle.fish.translate.basetext.BaseText;
public final class UnknownBaseTextRecorder extends ActionImpl {
public UnknownBaseTextRecorder(RequestParser aRequestParser){
super(UnknownBaseTextEdit.REDIRECT_TO_LISTING, aRequestParser);
}
public static final RequestParameter SupportedOperation = RequestParameter.withRegexCheck(
"Operation", "(" + Operation.Start + "|" + Operation.Stop + ")"
);
public ResponsePage execute() throws AppException {
Operation operation = Operation.valueOf(getParamUnsafe(SupportedOperation));
if ( Operation.Start == operation ) {
if( ! TranslatorImpl.isRecording() ){
TranslatorImpl.read(); TranslatorImpl.startRecordingUnknowns();
addMessage("Started recording.");
}
else {
addError("Already recording Unknown Base Text.");
}
}
else if( Operation.Stop == operation ){
if( TranslatorImpl.isRecording() ) {
TranslatorImpl.stopRecordingUnknowns();
addMessage("Stopped recording.");
}
else {
addError("Not recording Unknown Base Text.");
}
}
return getResponsePage();
}
}