Java tutorial
/* * Copyright (C) 2010---2014 (wuweixing)<349446658@qq.com> * * This file is part of Wabacus * * Wabacus is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.wabacus.config.resource; import java.util.List; import org.dom4j.Element; import com.wabacus.config.ConfigLoadAssistant; import com.wabacus.exception.WabacusConfigLoadingException; import com.wabacus.system.assistant.ReportAssistant; import com.wabacus.system.intercept.IInterceptor; import com.wabacus.util.Tools; public class InterceptorRes extends AbsResource { public Object getValue(Element itemElement) { if (itemElement == null) { throw new WabacusConfigLoadingException("???"); } String name = itemElement.attributeValue("key"); Element eleInterceptor = itemElement.element("interceptor"); if (eleInterceptor == null) { throw new WabacusConfigLoadingException( "???" + itemElement.attributeValue("key") + "??<interceptor/>?"); } List<String> lstImportPackages = ConfigLoadAssistant.getInstance().loadImportsConfig(eleInterceptor); Element elePreAction = eleInterceptor.element("preaction"); String preaction = elePreAction == null ? null : elePreAction.getText(); Element elePostAction = eleInterceptor.element("postaction"); String postaction = elePostAction == null ? null : elePostAction.getText(); Element eleSaveaction = eleInterceptor.element("saveaction"); String saveaction = eleSaveaction == null ? null : eleSaveaction.getText(); Element eleSaverowaction = eleInterceptor.element("saveaction-perrow"); String saverowaction = eleSaverowaction == null ? null : eleSaverowaction.getText(); Element eleSavesqlaction = eleInterceptor.element("saveaction-peraction"); String savesqlaction = eleSavesqlaction == null ? null : eleSavesqlaction.getText(); Element eleBeforeLoadData = eleInterceptor.element("beforeloaddata"); String beforeloaddata = eleBeforeLoadData == null ? null : eleBeforeLoadData.getText(); Element eleAfterLoadData = eleInterceptor.element("afterloaddata"); Element eleBeforeDisplay = eleInterceptor.element("beforedisplay"); String beforedisplay = eleBeforeDisplay == null ? null : eleBeforeDisplay.getText(); String afterloaddata = eleAfterLoadData == null ? null : eleAfterLoadData.getText(); Element eleDisplayPerRow = eleInterceptor.element("beforedisplay-perrow"); String displayperrow = eleDisplayPerRow == null ? null : eleDisplayPerRow.getText(); Element eleDisplayPerCol = eleInterceptor.element("beforedisplay-percol"); String displaypercol = eleDisplayPerCol == null ? null : eleDisplayPerCol.getText(); if (Tools.isEmpty(preaction, true) && Tools.isEmpty(postaction, true) && Tools.isEmpty(saveaction, true) && Tools.isEmpty(saverowaction, true) && Tools.isEmpty(savesqlaction, true) && Tools.isEmpty(beforeloaddata, true) && Tools.isEmpty(afterloaddata, true) && Tools.isEmpty(beforedisplay, true) && Tools.isEmpty(displayperrow, true) && Tools.isEmpty(displaypercol, true)) { return null; } Class c = ReportAssistant.getInstance().buildInterceptorClass("resource_" + name, lstImportPackages, preaction, postaction, saveaction, saverowaction, savesqlaction, beforeloaddata, afterloaddata, beforedisplay, displayperrow, displaypercol); if (c != null) { try { return (IInterceptor) c.newInstance(); } catch (Exception e) { throw new WabacusConfigLoadingException( "?" + name + "", e); } } return null; } }