⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modeldatafilereader.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        }    }    /** Creates a Collection with the dataFileName of each DataFile defined in the specified XML DataFile Descriptor file.     * @return A Collection of dataFileName Strings     */    public Collection getDataFileNames() {        Map ec = getModelDataFiles();        return ec.keySet();    }    protected ModelDataFile createModelDataFile(Element dataFileElement) {        ModelDataFile dataFile = new ModelDataFile();        String tempStr;        dataFile.name = UtilXml.checkEmpty(dataFileElement.getAttribute("name"));        dataFile.typeCode = UtilXml.checkEmpty(dataFileElement.getAttribute("type-code"));        dataFile.sender = UtilXml.checkEmpty(dataFileElement.getAttribute("sender"));        dataFile.receiver = UtilXml.checkEmpty(dataFileElement.getAttribute("receiver"));        tempStr = UtilXml.checkEmpty(dataFileElement.getAttribute("record-length"));        if (tempStr != null && tempStr.length() > 0) {            dataFile.recordLength = Integer.parseInt(tempStr);        }        tempStr = UtilXml.checkEmpty(dataFileElement.getAttribute("delimiter"));        if (tempStr != null && tempStr.length() == 1) {            dataFile.delimiter = tempStr.charAt(0);        }        dataFile.separatorStyle = UtilXml.checkEmpty(dataFileElement.getAttribute("separator-style"));        dataFile.description = UtilXml.checkEmpty(dataFileElement.getAttribute("description"));        NodeList rList = dataFileElement.getElementsByTagName("record");        for (int i = 0; i < rList.getLength(); i++) {            Element recordElement = (Element) rList.item(i);            ModelRecord modelRecord = createModelRecord(recordElement);            if (modelRecord != null) {                dataFile.records.add(modelRecord);            } else {                Debug.logWarning("[ModelDataFileReader.createModelDataFile] Weird, modelRecord was null", module);            }        }        for (int i = 0; i < dataFile.records.size(); i++) {            ModelRecord modelRecord = (ModelRecord) dataFile.records.get(i);            if (modelRecord.parentName.length() > 0) {                ModelRecord parentRecord = dataFile.getModelRecord(modelRecord.parentName);                if (parentRecord != null) {                    parentRecord.childRecords.add(modelRecord);                    modelRecord.parentRecord = parentRecord;                } else {                    Debug.logError("[ModelDataFileReader.createModelDataFile] ERROR: Could not find parentRecord with name " + modelRecord.parentName, module);                }            }        }        return dataFile;    }    protected ModelRecord createModelRecord(Element recordElement) {        ModelRecord record = new ModelRecord();        String tempStr;        record.name = UtilXml.checkEmpty(recordElement.getAttribute("name"));        record.typeCode = UtilXml.checkEmpty(recordElement.getAttribute("type-code"));        record.tcMin = UtilXml.checkEmpty(recordElement.getAttribute("tc-min"));        if (record.tcMin.length() > 0) record.tcMinNum = Long.parseLong(record.tcMin);        record.tcMax = UtilXml.checkEmpty(recordElement.getAttribute("tc-max"));        if (record.tcMax.length() > 0) record.tcMaxNum = Long.parseLong(record.tcMax);        tempStr = UtilXml.checkEmpty(recordElement.getAttribute("tc-isnum"));        if (tempStr != null && tempStr.length() > 0) {            record.tcIsNum = Boolean.valueOf(tempStr).booleanValue();        }        tempStr = UtilXml.checkEmpty(recordElement.getAttribute("tc-position"));        if (tempStr != null && tempStr.length() > 0) {            record.tcPosition = Integer.parseInt(tempStr);        }        tempStr = UtilXml.checkEmpty(recordElement.getAttribute("tc-length"));        if (tempStr != null && tempStr.length() > 0) {            record.tcLength = Integer.parseInt(tempStr);        }        record.description = UtilXml.checkEmpty(recordElement.getAttribute("description"));        record.parentName = UtilXml.checkEmpty(recordElement.getAttribute("parent-name"));        record.limit = UtilXml.checkEmpty(recordElement.getAttribute("limit"));        NodeList fList = recordElement.getElementsByTagName("field");        int priorEnd = -1;        for (int i = 0; i < fList.getLength(); i++) {            Element fieldElement = (Element) fList.item(i);            ModelField modelField = createModelField(fieldElement);            // if the position is not specified, assume the start position based on last entry            if ((i > 0) && (modelField.position == -1)) {                modelField.position = priorEnd;            }            priorEnd = modelField.position + modelField.length;            if (modelField != null) {                record.fields.add(modelField);            } else {                Debug.logWarning("[ModelDataFileReader.createModelRecord] Weird, modelField was null", module);            }        }        return record;    }    protected ModelField createModelField(Element fieldElement) {        ModelField field = new ModelField();        String tempStr;        field.name = UtilXml.checkEmpty(fieldElement.getAttribute("name"));        tempStr = UtilXml.checkEmpty(fieldElement.getAttribute("position"));        if (tempStr != null && tempStr.length() > 0) {            field.position = Integer.parseInt(tempStr);        }        tempStr = UtilXml.checkEmpty(fieldElement.getAttribute("length"));        if (tempStr != null && tempStr.length() > 0) {            field.length = Integer.parseInt(tempStr);        }        field.type = UtilXml.checkEmpty(fieldElement.getAttribute("type"));        field.format = UtilXml.checkEmpty(fieldElement.getAttribute("format"));        field.validExp = UtilXml.checkEmpty(fieldElement.getAttribute("valid-exp"));        field.description = UtilXml.checkEmpty(fieldElement.getAttribute("description"));        field.defaultValue = UtilXml.checkEmpty(fieldElement.getAttribute("default-value"));        field.refField = UtilXml.checkEmpty(fieldElement.getAttribute("ref-field"));                tempStr = UtilXml.checkEmpty(fieldElement.getAttribute("prim-key"));        if (tempStr != null && tempStr.length() > 0) {            field.isPk = Boolean.valueOf(tempStr).booleanValue();        }        tempStr = UtilXml.checkEmpty(fieldElement.getAttribute("ignored"));        if (tempStr != null && tempStr.length() > 0) {            field.ignored = Boolean.valueOf(tempStr).booleanValue();        }        tempStr = UtilXml.checkEmpty(fieldElement.getAttribute("expression"));        if (tempStr != null && tempStr.length() > 0) {            field.expression = Boolean.valueOf(tempStr).booleanValue();        }        return field;    }    protected Document getDocument(URL url) {        if (url == null)            return null;        Document document = null;        try {            document = UtilXml.readXmlDocument(url);        } catch (SAXException sxe) {            // Error generated during parsing)            Exception x = sxe;            if (sxe.getException() != null) {                x = sxe.getException();            }            x.printStackTrace();        } catch (ParserConfigurationException pce) {            // Parser with specified options can't be built            pce.printStackTrace();        } catch (IOException ioe) {            ioe.printStackTrace();        }        return document;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -