亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modelservicereader.java

?? Sequoia ERP是一個真正的企業級開源ERP解決方案。它提供的模塊包括:電子商務應用(e-commerce), POS系統(point of sales),知識管理,存貨與倉庫管理
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*  * $Id: ModelServiceReader.java 7104 2006-03-29 13:57:20Z jonesde $ * * Copyright (c) 2001-2005 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */package org.ofbiz.service;import java.io.IOException;import java.io.Serializable;import java.net.URL;import java.util.Collection;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import javax.xml.parsers.ParserConfigurationException;import javolution.util.FastList;import javolution.util.FastMap;import org.ofbiz.base.config.GenericConfigException;import org.ofbiz.base.config.ResourceHandler;import org.ofbiz.base.util.Debug;import org.ofbiz.base.util.GeneralException;import org.ofbiz.base.util.UtilTimer;import org.ofbiz.base.util.UtilValidate;import org.ofbiz.base.util.UtilXml;import org.ofbiz.base.util.cache.UtilCache;import org.ofbiz.entity.GenericDelegator;import org.ofbiz.entity.GenericEntityException;import org.ofbiz.entity.model.ModelEntity;import org.ofbiz.entity.model.ModelField;import org.ofbiz.entity.model.ModelFieldType;import org.apache.commons.collections.map.LinkedMap;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;/** * Generic Service - Service Definition Reader * * @author     <a href="mailto:jaz@ofbiz.org">Andy Zeneski</a> * @author     <a href="mailto:jonesde@ofbiz.org">David E. Jones</a> * @version    $Rev: 7104 $ * @since      2.0 */public class ModelServiceReader implements Serializable {    public static final String module = ModelServiceReader.class.getName();    protected static UtilCache readersUrl = new UtilCache("service.ModelServiceReader.ByURL", 0, 0);    protected static UtilCache readersLoader = new UtilCache("service.ModelServiceReader.ByResourceLoader", 0, 0);    /** is either from a URL or from a ResourceLoader (through the ResourceHandler) */    protected boolean isFromURL;    protected URL readerURL = null;    protected ResourceHandler handler = null;    protected Map modelServices = null;    protected DispatchContext dctx = null;    public static ModelServiceReader getModelServiceReader(URL readerURL, DispatchContext dctx) {        ModelServiceReader reader = null;        // if ( readersUrl.containsKey(readerURL) ) <-- this is unnecessary as it will return null below if not found        reader = (ModelServiceReader) readersUrl.get(readerURL);        if (reader == null) { // don't want to block here            synchronized (ModelServiceReader.class) {                // must check if null again as one of the blocked threads can still enter                reader = (ModelServiceReader) readersUrl.get(readerURL);                if (reader == null) {                    // if (Debug.infoOn()) Debug.logInfo("[Creating reader]: " + readerURL.toExternalForm(), module);                    reader = new ModelServiceReader(readerURL, dctx);                    readersUrl.put(readerURL, reader);                }            }        }        return reader;    }    public static ModelServiceReader getModelServiceReader(ResourceHandler handler, DispatchContext dctx) {        ModelServiceReader reader = null;        reader = (ModelServiceReader) readersLoader.get(handler);        if (reader == null) { // don't want to block here            synchronized (ModelServiceReader.class) {                // must check if null again as one of the blocked threads can still enter                reader = (ModelServiceReader) readersLoader.get(handler);                if (reader == null) {                    // if (Debug.infoOn()) Debug.logInfo("[Creating reader]: " + handler, module);                    reader = new ModelServiceReader(handler, dctx);                    readersLoader.put(handler, reader);                }            }        }        return reader;    }    protected ModelServiceReader(URL readerURL, DispatchContext dctx) {        this.isFromURL = true;        this.readerURL = readerURL;        this.handler = null;        this.dctx = dctx;        // preload models...        getModelServices();    }    protected ModelServiceReader(ResourceHandler handler, DispatchContext dctx) {        this.isFromURL = false;        this.readerURL = null;        this.handler = handler;        this.dctx = dctx;        // preload models...        getModelServices();    }    public Map getModelServices() {        if (modelServices == null) { // don't want to block here            synchronized (ModelServiceReader.class) {                // must check if null again as one of the blocked threads can still enter                if (modelServices == null) { // now it's safe                    modelServices = FastMap.newInstance();                    UtilTimer utilTimer = new UtilTimer();                    Document document = null;                    if (this.isFromURL) {                        // utilTimer.timerString("Before getDocument in file " + readerURL);                        document = getDocument(readerURL);                        if (document == null) {                            modelServices = null;                            return null;                        }                    } else {                        // utilTimer.timerString("Before getDocument in " + handler);                        try {                            document = handler.getDocument();                        } catch (GenericConfigException e) {                            Debug.logError(e, "Error getting XML document from resource", module);                            return null;                        }                    }                    if (this.isFromURL) {// utilTimer.timerString("Before getDocumentElement in file " + readerURL);                    } else {// utilTimer.timerString("Before getDocumentElement in " + handler);                    }                    Element docElement = document.getDocumentElement();                    if (docElement == null) {                        modelServices = null;                        return null;                    }                    docElement.normalize();                    int i = 0;                    Node curChild = docElement.getFirstChild();                    if (curChild != null) {                        if (this.isFromURL) {                            utilTimer.timerString("Before start of service loop in file " + readerURL);                        } else {                            utilTimer.timerString("Before start of service loop in " + handler);                        }                        ;                        do {                            if (curChild.getNodeType() == Node.ELEMENT_NODE && "service".equals(curChild.getNodeName())) {                                i++;                                Element curService = (Element) curChild;                                String serviceName = UtilXml.checkEmpty(curService.getAttribute("name"));                                // check to see if service with same name has already been read                                if (modelServices.containsKey(serviceName)) {                                    Debug.logWarning("WARNING: Service " + serviceName + " is defined more than once, " +                                        "most recent will over-write previous definition(s)", module);                                }                                // utilTimer.timerString("  After serviceName -- " + i + " --");                                ModelService service = createModelService(curService);                                // utilTimer.timerString("  After createModelService -- " + i + " --");                                if (service != null) {                                    modelServices.put(serviceName, service);                                    // utilTimer.timerString("  After modelServices.put -- " + i + " --");                                    /*                                    int reqIn = service.getParameterNames(ModelService.IN_PARAM, false).size();                                    int optIn = service.getParameterNames(ModelService.IN_PARAM, true).size() - reqIn;                                    int reqOut = service.getParameterNames(ModelService.OUT_PARAM, false).size();                                    int optOut = service.getParameterNames(ModelService.OUT_PARAM, true).size() - reqOut;                                    if (Debug.verboseOn()) {                                        String msg = "-- getModelService: # " + i + " Loaded service: " + serviceName +                                            " (IN) " + reqIn + "/" + optIn + " (OUT) " + reqOut + "/" + optOut;                                        Debug.logVerbose(msg, module);                                                                            }                                    */                                } else {                                    Debug.logWarning(                                        "-- -- SERVICE ERROR:getModelService: Could not create service for serviceName: " +                                        serviceName, module);                                }                            }                        } while ((curChild = curChild.getNextSibling()) != null);                    } else {                        Debug.logWarning("No child nodes found.", module);                    }                    if (this.isFromURL) {                        utilTimer.timerString("Finished file " + readerURL + " - Total Services: " + i + " FINISHED");                        Debug.logImportant("Loaded " + i + " Service definitions from " + readerURL, module);                    } else {                        utilTimer.timerString("Finished document in " + handler + " - Total Services: " + i + " FINISHED");						if (Debug.importantOn()) {							String resourceLocation = handler.getLocation();							try {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色屁屁一区二区| 久久精品一区蜜桃臀影院| 奇米综合一区二区三区精品视频| 欧美三级中文字| 精品久久久三级丝袜| 国产美女视频91| 中文字幕乱码久久午夜不卡| 99热精品一区二区| 亚洲主播在线观看| 日韩精品一区二区在线| 国产精品亚洲一区二区三区妖精| 国产精品高潮久久久久无| 色屁屁一区二区| 热久久免费视频| 日本一区二区综合亚洲| 色婷婷av一区二区三区大白胸| 视频一区欧美精品| 久久久天堂av| 91网站在线观看视频| 三级久久三级久久久| 久久先锋影音av| 95精品视频在线| 日本不卡123| 欧美极品另类videosde| 欧美亚洲综合在线| 图片区小说区国产精品视频| 精品99999| 欧美做爰猛烈大尺度电影无法无天| 亚洲一区二区欧美激情| 国产剧情一区二区| 一区二区三区国产精华| 日韩一区二区三区三四区视频在线观看| 国产酒店精品激情| 一区二区在线免费| 欧美不卡一区二区三区四区| 成人成人成人在线视频| 高清视频一区二区| 亚洲一区免费视频| 久久午夜色播影院免费高清| 色噜噜久久综合| 激情久久五月天| 一区二区三区免费观看| 精品免费国产一区二区三区四区| 91日韩一区二区三区| 久久av老司机精品网站导航| 亚洲图片另类小说| 精品久久久久一区二区国产| 色婷婷久久久久swag精品| 国产在线不卡一卡二卡三卡四卡| 亚洲黄色性网站| 久久久国产精品麻豆| 欧美日韩在线亚洲一区蜜芽| 国产高清无密码一区二区三区| 亚洲国产aⅴ成人精品无吗| 久久精品一区二区三区不卡牛牛 | 九九热在线视频观看这里只有精品| 中文字幕中文字幕一区二区| 美日韩黄色大片| 一区二区国产盗摄色噜噜| 国产午夜精品福利| 欧美一区二区久久久| 91极品视觉盛宴| 成人a区在线观看| 久88久久88久久久| 日韩影院精彩在线| 亚洲男人的天堂av| 国产欧美综合在线观看第十页| 在线综合视频播放| 日本丰满少妇一区二区三区| 狠狠色狠狠色综合日日91app| 亚洲国产日韩精品| 亚洲视频中文字幕| 中文成人综合网| 久久先锋影音av鲁色资源| 日韩一区二区三区在线观看| 欧洲中文字幕精品| 成人性生交大片免费看在线播放| 久久精品国产秦先生| 亚洲成人激情自拍| 亚洲一区视频在线| 一区二区视频在线| 亚洲欧洲日产国码二区| 国产欧美一区视频| 欧美精品一区在线观看| 日韩午夜激情av| 日韩一区二区三区视频在线观看| 欧美区一区二区三区| 欧美偷拍一区二区| 在线欧美日韩精品| 一本一道久久a久久精品| 亚洲欧美日韩小说| 国产精品国产三级国产普通话三级| 精品国产乱码久久久久久图片 | 欧美午夜电影在线播放| 99免费精品视频| 成人免费视频网站在线观看| 国产精品18久久久久久久网站| 伦理电影国产精品| 美女视频一区在线观看| 青青草原综合久久大伊人精品优势| 午夜精品福利在线| 日韩精品91亚洲二区在线观看 | 美女视频免费一区| 蜜乳av一区二区| 麻豆国产精品777777在线| 蜜桃久久久久久| 极品销魂美女一区二区三区| 卡一卡二国产精品 | 色天天综合久久久久综合片| 99精品久久99久久久久| 99热99精品| 在线影视一区二区三区| 在线观看亚洲成人| 欧美久久久久久久久中文字幕| 欧美日精品一区视频| 婷婷久久综合九色国产成人| 日韩在线一区二区| 久久成人av少妇免费| 蜜桃av噜噜一区| 国产一区三区三区| 成人在线一区二区三区| 99久久99久久精品免费观看| 一本色道久久加勒比精品| 91成人免费电影| 欧美日韩不卡在线| 精品久久久久久久一区二区蜜臀| 久久亚洲一级片| 中文字幕免费观看一区| 最近中文字幕一区二区三区| 一区二区久久久| 免费三级欧美电影| 国产乱码精品一区二区三区av | 91天堂素人约啪| 欧美日韩高清一区二区不卡 | 国产亚洲美州欧州综合国| 欧美国产欧美亚州国产日韩mv天天看完整| 中文在线免费一区三区高中清不卡 | 欧美一区二区日韩| 国产亚洲污的网站| 在线观看区一区二| 欧美一区二区三区四区五区| 精品国产乱码久久久久久闺蜜| 国产调教视频一区| 亚洲精选一二三| 日日摸夜夜添夜夜添国产精品| 狠狠色丁香久久婷婷综合_中 | 精品日本一线二线三线不卡| 久久久久免费观看| 成人免费在线视频| 丝袜诱惑制服诱惑色一区在线观看| 久久精品国产**网站演员| 成人精品亚洲人成在线| 欧美在线影院一区二区| 日韩精品一区二区三区在线| 国产精品久久久一本精品| 亚洲亚洲精品在线观看| 精品一区二区综合| 91在线播放网址| 欧美一区二区三区色| 国产欧美精品一区二区色综合朱莉| 一区二区三区精品在线| 奇米777欧美一区二区| 国产精品亚洲专一区二区三区| 日本韩国欧美在线| 欧美成人艳星乳罩| 亚洲免费在线视频| 精品一区二区三区蜜桃| 99re免费视频精品全部| 日韩一区二区三区视频| 亚洲婷婷综合久久一本伊一区| 日韩成人一区二区三区在线观看| 亚洲欧洲av在线| 秋霞午夜av一区二区三区| 9久草视频在线视频精品| 欧美一级午夜免费电影| 中文字幕日本乱码精品影院| 免费的成人av| 一本大道久久a久久综合婷婷| 日韩欧美国产一区二区三区| 日韩美女啊v在线免费观看| 久久99在线观看| 欧美色图天堂网| 亚洲国产精品99久久久久久久久| 日本亚洲视频在线| 色噜噜狠狠成人中文综合| 久久久久久一级片| 秋霞电影一区二区| 欧美在线一区二区三区| 欧美激情资源网| 毛片av中文字幕一区二区| 欧美午夜不卡视频| 国产精品欧美一区喷水| 捆绑调教美女网站视频一区| 色欧美88888久久久久久影院| 久久亚洲捆绑美女| 欧美a级理论片| 欧洲视频一区二区| 中文字幕亚洲在| 国产成人综合在线| 欧美白人最猛性xxxxx69交|