Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java,v diff -u -r1.4 -r1.5 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java 22 Oct 2007 04:10:39 -0000 1.4 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java 24 Oct 2007 03:53:03 -0000 1.5 @@ -100,25 +100,28 @@ for(int i=0; i0)) { - request.setAttribute("error", getRequiredError(item.getDescriptionKey())); - request.setAttribute("config", arrangeItems()); - return mapping.findForward("config"); + if (item!=null) { + if (item.getRequired()) { + if (!(values[i]!=null && values[i].length()>0)) { + request.setAttribute("error", getRequiredError(item.getDescriptionKey())); + request.setAttribute("config", arrangeItems()); + return mapping.findForward("config"); + } } - } - String format = item.getFormat(); - if (format!=null && format.equals(ConfigurationItem.LONG_FORMAT)) { - try { - Long.parseLong(values[i]); - } catch (NumberFormatException e) { - request.setAttribute("error", getNumericError(item.getDescriptionKey())); - request.setAttribute("config", arrangeItems()); - return mapping.findForward("config"); + String format = item.getFormat(); + if (format!=null && format.equals(ConfigurationItem.LONG_FORMAT)) { + try { + Long.parseLong(values[i]); + } catch (NumberFormatException e) { + request.setAttribute("error", getNumericError(item.getDescriptionKey())); + request.setAttribute("config", arrangeItems()); + return mapping.findForward("config"); + } } + Configuration.updateItem(keys[i], values[i]); } - Configuration.updateItem(keys[i], values[i]); } + getConfiguration().persistUpdate(); return mapping.findForward("sysadmin"); } Index: lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java,v diff -u -r1.15 -r1.16 --- lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java 15 Oct 2007 07:08:06 -0000 1.15 +++ lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java 24 Oct 2007 03:53:03 -0000 1.16 @@ -24,21 +24,15 @@ package org.lamsfoundation.lams.util; import java.util.Collections; -import java.util.Collection; -import java.util.LinkedHashMap; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; - import org.apache.log4j.Logger; - import org.lamsfoundation.lams.config.ConfigurationItem; -import org.lamsfoundation.lams.config.dao.IConfigurationDAO; import org.lamsfoundation.lams.config.dao.hibernate.ConfigurationDAO; import org.springframework.beans.factory.InitializingBean; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * Configuration Object @@ -98,7 +92,10 @@ } public ConfigurationItem getConfigItemByKey(String key) { - return configurationDAO.getConfigItemByKey(key); + if ((items != null)&&(items.get(key)!=null)) + if (items.get(key)!=null) + return (ConfigurationItem)items.get(key); + return null; } public static String getItemValue(Object obj) {