package org.jblooming.waf.settings.businessLogic;
import org.jblooming.ApplicationException;
import org.jblooming.PlatformRuntimeException;
import org.jblooming.operator.User;
import org.jblooming.persistence.exceptions.PersistenceException;
import org.jblooming.waf.ActionController;
import org.jblooming.waf.SessionState;
import org.jblooming.waf.constants.Commands;
import org.jblooming.waf.exceptions.ActionException;
import org.jblooming.waf.settings.I18n;
import org.jblooming.waf.view.PageState;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class I18nController implements ActionController {
public PageState perform(HttpServletRequest request, HttpServletResponse response) throws PersistenceException, ActionException, org.jblooming.security.SecurityException, ApplicationException {
SessionState sessionState = SessionState.getSessionState(request);
PageState pageState = (PageState) sessionState.getPageState(request, response);
User loggedOp = pageState.getLoggedOperator();
I18nAction a = new I18nAction();
String command = pageState.getCommand();
if (I18n.CMD_DUMP.equals(command)) {
try {
a.cmdDump(pageState,request);
} catch (IOException e) {
throw new PlatformRuntimeException(e);
}
} else if (Commands.EDIT.equals(command)) {
a.cmdEdit(pageState);
} else if (I18n.CMD_NEW_ENTRY.equals(command)) {
a.cmdEdit(pageState);
} else if (Commands.SAVE.equals(command)) {
a.cmdSave(pageState,request);
} else if (I18n.CMD_CHANGEMODALITY.equals(command)) {
a.cmdChangeModality(pageState);
} else if (I18n.CMD_NEW_LANGUAGE.equals(command)) {
a.cmdNewLanguage(pageState);
} else if (I18n.CMD_STORE_LABEL.equals(command)) {
a.cmdStoreLabel(pageState);
} else if (I18n.CMD_REMOVE_LABEL.equals(command)) {
a.cmdRemoveLabel(pageState);
} else if ("I18N_FILE".equals(command)) {
a.cmdImportFromFile(pageState);
} else if (I18n.CMD_RELOAD.equals(command)) {
a.cmdReload();
} else if ("I18N_SAVE_ENABLED_LANG".equals(command)) {
a.cmdSaveEnabledLanguages(pageState);
} else {
a.cmdList(pageState);
}
return pageState;
}
}