package com.n2bb.settings;

import com.n2bb.action.AbstractAction;
import com.n2bb.util.PropertyManager;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Views the UI settings.
 *
 * @author kmatsuoka
 * @version $Id: EditSettingsAction.java,v 1.1 2006/06/17 00:48:49 rao Exp $
 */
public class EditSettingsAction extends AbstractAction {

  protected ActionForward executeAction(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        com.n2bb.util.PropertyManager pm = com.n2bb.util.PropertyManager.getInstance();
        int passwordLife = pm.getInteger(
                PropertyManager.PASSWORD_LIFE_PROPERTY,
                PropertyManager.DEFAULT_PASSWORD_LIFE
        );
        int sessionTimeout = pm.getInteger(
                PropertyManager.SESSION_TIMEOUT_PROPERTY,
                PropertyManager.DEFAULT_SESSION_TIMEOUT
        );
        int pageSize = pm.getInteger(
                PropertyManager.PAGE_SIZE_PROPERTY,
                PropertyManager.DEFAULT_PAGE_SIZE
        );
        String siteLocation = pm.getValue(
                PropertyManager.SITE_LOCATION_PROPERTY,
                PropertyManager.DEFAULT_SITE_LOCATION
        );
        String showUser = pm.getValue(
                PropertyManager.SHOW_USER_PROPERTY,
                PropertyManager.DEFAULT_SHOW_USER
        );
        String showDate = pm.getValue(
                PropertyManager.SHOW_DATE_PROPERTY,
                PropertyManager.DEFAULT_SHOW_DATE
        );

        EditSettingsForm editSettingsForm = (EditSettingsForm) form;
        editSettingsForm.setPasswordLife("" + passwordLife);
        editSettingsForm.setSessionTimeout("" + sessionTimeout);
        editSettingsForm.setPageSize("" + pageSize);
        editSettingsForm.setSiteLocation(siteLocation);
        editSettingsForm.setShowUser(showUser);
        editSettingsForm.setShowDate(showDate);
        return mapping.findForward("success");
    }

}
