📄 modeldatafilereader.java
字号:
} } /** 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 + -