Dictionary/src/java/org/thdl/lex/commands/PreferencesCommand.java

117 lines
3.7 KiB
Java

package org.thdl.lex.commands;
import javax.servlet.http.HttpServletRequest;
import org.thdl.lex.LexConstants;
import org.thdl.lex.LexUtilities;
import org.thdl.lex.Preferences;
import org.thdl.lex.UserSessionManager;
import org.thdl.lex.Visit;
import org.thdl.lex.component.ILexComponent;
import org.thdl.lex.component.LexComponentException;
/**
* Description of the Class
*
* @author travis
* @created October 6, 2003
*/
public class PreferencesCommand extends LexCommand implements Command {
/**
* Description of the Method
*
* @param req
* Description of the Parameter
* @param component
* Description of the Parameter
* @return Description of the Return Value
* @exception CommandException
* Description of the Exception
*/
public String execute(HttpServletRequest req, ILexComponent component)
throws CommandException {
try {
Visit visit = UserSessionManager.getInstance().getVisit(
req.getSession(true));
Preferences isb = visit.getPreferences();
if (req.getParameter(LexConstants.COMMAND_REQ_PARAM).equals(
"setMetaPrefs")) {
isb.setLanguageSet(LexUtilities.convertToIntegerArray(req
.getParameterValues("languages")));
isb.setDialectSet(LexUtilities.convertToIntegerArray(req
.getParameterValues("dialects")));
isb.setSourceSet(LexUtilities.convertToIntegerArray(req
.getParameterValues("sources")));
isb.setProjectSubjectSet(LexUtilities.convertToIntegerArray(req
.getParameterValues("projectSubjects")));
isb.setScriptSet(LexUtilities.convertToIntegerArray(req
.getParameterValues("scripts")));
} else if (req.getParameter(LexConstants.COMMAND_REQ_PARAM).equals(
"setMetaDefaults")) {
isb.setLanguage(new Integer(req.getParameter("language")));
isb.setDialect(new Integer(req.getParameter("dialect")));
isb.setSource(new Integer(req.getParameter("source")));
isb.setProjectSubject(new Integer(req
.getParameter("projectSubject")));
isb.setScript(new Integer(req.getParameter("script")));
isb.setNote(req.getParameter("note"));
if (null != req.getParameter("useDefaultLanguage")
&& req.getParameter("useDefaultLanguage")
.equals("true")) {
isb.setUseDefaultLanguage(true);
} else {
isb.setUseDefaultLanguage(false);
}
if (null != req.getParameter("useDefaultDialect")
&& req.getParameter("useDefaultDialect").equals("true")) {
isb.setUseDefaultDialect(true);
} else {
isb.setUseDefaultDialect(false);
}
if (null != req.getParameter("useDefaultSource")
&& req.getParameter("useDefaultSource").equals("true")) {
isb.setUseDefaultSource(true);
} else {
isb.setUseDefaultSource(false);
}
if (null != req.getParameter("useDefaultProjSub")
&& req.getParameter("useDefaultProjSub").equals("true")) {
isb.setUseDefaultProjSub(true);
} else {
isb.setUseDefaultProjSub(false);
}
if (null != req.getParameter("useDefaultScript")
&& req.getParameter("useDefaultScript").equals("true")) {
isb.setUseDefaultScript(true);
} else {
isb.setUseDefaultScript(false);
}
if (null != req.getParameter("useDefaultNote")
&& req.getParameter("useDefaultNote").equals("true")) {
isb.setUseDefaultNote(true);
} else {
isb.setUseDefaultNote(false);
}
}
isb.save();
} catch (LexComponentException lre) {
throw new CommandException("LexComponentException says: "
+ lre.getMessage());
}
return getNext();
}
/**
* Constructor for the PreferencesCommand object
*
* @param next
* Description of the Parameter
*/
public PreferencesCommand(String next) {
super(next);
}
}