Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java =================================================================== diff -u -r7ad532d2d520192bbbba76a881b53064341c88d1 -rad026ddd7fc5c6b95cc3ab9c248ccdff4a493c91 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java (.../ConfigAction.java) (revision 7ad532d2d520192bbbba76a881b53064341c88d1) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ConfigAction.java (.../ConfigAction.java) (revision ad026ddd7fc5c6b95cc3ab9c248ccdff4a493c91) @@ -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 =================================================================== diff -u -r7248fb9335792be231dcc498f37b28ffa0c794dc -rad026ddd7fc5c6b95cc3ab9c248ccdff4a493c91 --- lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java (.../Configuration.java) (revision 7248fb9335792be231dcc498f37b28ffa0c794dc) +++ lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java (.../Configuration.java) (revision ad026ddd7fc5c6b95cc3ab9c248ccdff4a493c91) @@ -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) {