Index: forgon-core/src/main/java/com/forgon/portal/xmldao/PortalPageXmlDao.java =================================================================== diff -u -r12331 -r34023 --- forgon-core/src/main/java/com/forgon/portal/xmldao/PortalPageXmlDao.java (.../PortalPageXmlDao.java) (revision 12331) +++ forgon-core/src/main/java/com/forgon/portal/xmldao/PortalPageXmlDao.java (.../PortalPageXmlDao.java) (revision 34023) @@ -1,5 +1,16 @@ package com.forgon.portal.xmldao; +import java.util.List; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; + +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.log.model.Log; +import com.forgon.log.service.LogManager; +import com.forgon.portal.model.PortalItem; +import com.forgon.portal.model.PortalPage; import com.forgon.portal.xmlbean.PortalPageXmlBean; import com.forgon.tools.xml.DigesterXMLTools; @@ -10,6 +21,7 @@ * 2012-3-25 下午03:00:13 */ public class PortalPageXmlDao extends DigesterXMLTools { + Logger logger = Logger.getLogger(getClass()); private static PortalPageXmlBean portalPageXmlBean; protected String getDigesteRulesXmlPath() { @@ -20,11 +32,30 @@ return "systemset/portalPage.xml"; } + @Autowired + private LogManager appLogManager; + public PortalPageXmlBean getPortalPageXmlBeanFromXml() { if (portalPageXmlBean == null) { portalPageXmlBean = (PortalPageXmlBean) getXMLBean(); + }else { + List portalPageList = portalPageXmlBean.getPortalPages(); + if(CollectionUtils.isNotEmpty(portalPageList)){ + List portalItems = portalPageList.get(0).getPortalItems(); + int portalItemSize = CollectionUtils.size(portalItems); + if(portalItemSize <= 20){ + //记录日志 + logger.error("桌面图标的数量比xml配置文件实际的要少,重新解析xml加载"); + appLogManager.saveLog(AcegiHelper.getLoginUser(), "桌面图标", Log.TYPE_QUERY, "桌面图标的数量比xml配置文件实际的要少,重新解析xml加载"); + portalPageXmlBean = (PortalPageXmlBean) getXMLBean(); + } + }else{ + //记录日志 + logger.error("桌面图标项数据为空,重新解析xml加载"); + appLogManager.saveLog(AcegiHelper.getLoginUser(), "桌面图标", Log.TYPE_QUERY, "桌面图标项数据为空,重新解析xml加载"); + portalPageXmlBean = (PortalPageXmlBean) getXMLBean(); + } } - return portalPageXmlBean; } }