public ComponentField(Field field, String reqd) { super(field.getTag(), field.getFieldName(), field.getType(), field.getDesc(), field.getNotReqXML()); for (Enum theEnum : field.getEnums()) { addEnum(theEnum); } this.required = "1".equals(reqd); }
Field numInGroup = null; for (Object o : component.getMsgContent()) { if (o instanceof Field && ((Field) o).isNumInGroup()) { numInGroup = (Field) o; break; builder.append(" <group name=\"").append(numInGroup.getFieldName()).append("\" required=\"").append(numInGroup.isRequired() ? "Y" : "N").append("\">\n"); addMsgContents(builder, component.getMsgContent(), " "); builder.append(" </group>\n"); String tag = String.valueOf(tagInt); Field field = fields.get(tag); String fieldType = field.getType(); builder.append(" <field number=\"").append(tag).append("\" name=\"").append(field.getFieldName()).append("\" type=\"").append(fieldType.toUpperCase()).append("\""); if (!field.getEnums().isEmpty()) { builder.append(">\n"); Set<String> enumDescCache = new HashSet<>(); for (Enum theEnum : field.getEnums()) { String enumDesc = theEnum.getDesc().toUpperCase(); enumDesc = enumDesc.replaceAll("\\(.*\\)", ""); // remove stuff in parentheses
private void addMsgContents(StringBuilder builder, List<Object> msgContents, String prefix) { for (Object o : msgContents) { if (o instanceof Field) { Field field = (Field) o; if (field.isNumInGroup()) { continue; } builder.append(prefix).append("<field name=\"").append(field.getFieldName()).append("\" required=\"").append(field.isRequired() ? "Y" : "N").append("\"/>\n"); } else if (o instanceof Component) { Component component = (Component) o; if (component.isStandardHeader() || component.isStandardTrailer()) { continue; } builder.append(prefix).append("<component name=\"").append(component.getName()).append("\" required=\"").append(component.isRequired() ? "Y" : "N").append("\"/>\n"); } } }
private void initFields() { System.out.println(getClass().getSimpleName() + ": Init Fields..."); List<?> fieldNodes = fields.selectNodes("//dataroot/Fields"); for (Object o : fieldNodes) { Node node = (Node) o; String tag = getSingleNodeTextSafe(node, "Tag"); String fieldName = getSingleNodeTextSafe(node, "FieldName"); System.out.println("\t " + fieldName + "(" + tag + ")"); String type = getSingleNodeTextSafe(node, "Type"); String desc = getSingleNodeTextSafe(node, "Desc"); String notReqXML = getSingleNodeTextSafe(node, "NotReqXML"); Field field = new Field(tag, fieldName, type, desc, notReqXML); allFields.put(field.getTag(), field); // Find enums List<?> enumNodes = enums.selectNodes("//dataroot/Enums[Tag=" + tag + "]"); enumNodes.sort(new EnumNodeComparator()); if (!enumNodes.isEmpty()) { for (Object enumO : enumNodes) { Node enumNode = (Node) enumO; String enumName = getSingleNodeTextSafe(enumNode, "Enum"); System.out.println("\t\t " + enumName); String enumDesc = getSingleNodeTextSafe(enumNode, "Description"); field.addEnum(new Enum(enumName, enumDesc)); } } } System.out.println(getClass().getSimpleName() + ": " + allFields.size() + " Fields found"); }
private void addComponentMsgContent(Component component, String prefix) { List<?> msgContentsNodes = getMsgContents(component.getMsgID()); System.out.println(prefix + " " + component.getName()); if (!component.getMsgContent().isEmpty()) { System.out.println(prefix + "\talready handled, return"); return; } for (Object o : msgContentsNodes) { Node node = (Node) o; String tagText = getSingleNodeTextSafe(node, "TagText"); String reqd = getSingleNodeTextSafe(node, "Reqd"); if (allFields.containsKey(tagText)) { ComponentField componentField = new ComponentField(allFields.get(tagText), reqd); component.addMsgContent(componentField); System.out.println(prefix + "\t " + allFields.get(tagText).getFieldName()); } else if (allComponents.containsKey(tagText)) { // Handle msgContents for the component in question first! addComponentMsgContent(allComponents.get(tagText), prefix + "\t"); ComponentComponent componentComponent = new ComponentComponent(allComponents.get(tagText), reqd); component.addMsgContent(componentComponent); System.out.println(prefix + "\t " + allComponents.get(tagText).getName()); } else { System.err.println("Could not find tagText: " + tagText); } } }
private Set<Integer> addFields(Set<Integer> result, List<Object> msgContents) { for (Object o : msgContents) { if (o instanceof Field) { result.add(Integer.valueOf(((Field) o).getTag())); } if (o instanceof Component) { result = addFields(result, ((Component) o).getMsgContent()); } } return result; }
public final boolean isNumInGroup() { return "NumInGroup".equalsIgnoreCase(getType()); }
Field numInGroup = null; for (Object o : component.getMsgContent()) { if (o instanceof Field && ((Field) o).isNumInGroup()) { numInGroup = (Field) o; break; builder.append(" <group name=\"").append(numInGroup.getFieldName()).append("\" required=\"").append(numInGroup.isRequired() ? "Y" : "N").append("\">\n"); addMsgContents(builder, component.getMsgContent(), " "); builder.append(" </group>\n"); String tag = String.valueOf(tagInt); Field field = fields.get(tag); String fieldType = field.getType(); builder.append(" <field number=\"").append(tag).append("\" name=\"").append(field.getFieldName()).append("\" type=\"").append(fieldType.toUpperCase()).append("\""); if (!field.getEnums().isEmpty()) { builder.append(">\n"); Set<String> enumDescCache = new HashSet<>(); for (Enum theEnum : field.getEnums()) { String enumDesc = theEnum.getDesc().toUpperCase(); enumDesc = enumDesc.replaceAll("\\(.*\\)", ""); // remove stuff in parentheses
private void addMsgContents(StringBuilder builder, List<Object> msgContents, String prefix) { for (Object o : msgContents) { if (o instanceof Field) { Field field = (Field) o; if (field.isNumInGroup()) { continue; } builder.append(prefix).append("<field name=\"").append(field.getFieldName()).append("\" required=\"").append(field.isRequired() ? "Y" : "N").append("\"/>\n"); } else if (o instanceof Component) { Component component = (Component) o; if (component.isStandardHeader() || component.isStandardTrailer()) { continue; } builder.append(prefix).append("<component name=\"").append(component.getName()).append("\" required=\"").append(component.isRequired() ? "Y" : "N").append("\"/>\n"); } } }
private void initFields() { System.out.println(getClass().getSimpleName() + ": Init Fields..."); List<?> fieldNodes = fields.selectNodes("//dataroot/Fields"); for (Object o : fieldNodes) { Node node = (Node) o; String tag = getSingleNodeTextSafe(node, "Tag"); String fieldName = getSingleNodeTextSafe(node, "FieldName"); System.out.println("\t " + fieldName + "(" + tag + ")"); String type = getSingleNodeTextSafe(node, "Type"); String desc = getSingleNodeTextSafe(node, "Desc"); String notReqXML = getSingleNodeTextSafe(node, "NotReqXML"); Field field = new Field(tag, fieldName, type, desc, notReqXML); allFields.put(field.getTag(), field); // Find enums List<?> enumNodes = enums.selectNodes("//dataroot/Enums[Tag=" + tag + "]"); enumNodes.sort(new EnumNodeComparator()); if (!enumNodes.isEmpty()) { for (Object enumO : enumNodes) { Node enumNode = (Node) enumO; String enumName = getSingleNodeTextSafe(enumNode, "Enum"); System.out.println("\t\t " + enumName); String enumDesc = getSingleNodeTextSafe(enumNode, "Description"); field.addEnum(new Enum(enumName, enumDesc)); } } } System.out.println(getClass().getSimpleName() + ": " + allFields.size() + " Fields found"); }
private void addComponentMsgContent(Component component, String prefix) { List<?> msgContentsNodes = getMsgContents(component.getMsgID()); System.out.println(prefix + " " + component.getName()); if (!component.getMsgContent().isEmpty()) { System.out.println(prefix + "\talready handled, return"); return; } for (Object o : msgContentsNodes) { Node node = (Node) o; String tagText = getSingleNodeTextSafe(node, "TagText"); String reqd = getSingleNodeTextSafe(node, "Reqd"); if (allFields.containsKey(tagText)) { ComponentField componentField = new ComponentField(allFields.get(tagText), reqd); component.addMsgContent(componentField); System.out.println(prefix + "\t " + allFields.get(tagText).getFieldName()); } else if (allComponents.containsKey(tagText)) { // Handle msgContents for the component in question first! addComponentMsgContent(allComponents.get(tagText), prefix + "\t"); ComponentComponent componentComponent = new ComponentComponent(allComponents.get(tagText), reqd); component.addMsgContent(componentComponent); System.out.println(prefix + "\t " + allComponents.get(tagText).getName()); } else { System.err.println("Could not find tagText: " + tagText); } } }
private Set<Integer> addFields(Set<Integer> result, List<Object> msgContents) { for (Object o : msgContents) { if (o instanceof Field) { result.add(Integer.valueOf(((Field) o).getTag())); } if (o instanceof Component) { result = addFields(result, ((Component) o).getMsgContent()); } } return result; }
public final boolean isNumInGroup() { return "NumInGroup".equalsIgnoreCase(getType()); }
public MsgTypeField(Field field, String reqd) { super(field.getTag(), field.getFieldName(), field.getType(), field.getDesc(), field.getNotReqXML()); for (Enum theEnum : field.getEnums()) { addEnum(theEnum); } this.required = "1".equals(reqd); }
Field numInGroup = null; for (Object o : component.getMsgContent()) { if (o instanceof Field && ((Field) o).isNumInGroup()) { numInGroup = (Field) o; break; builder.append(" <group name=\"").append(numInGroup.getFieldName()).append("\" required=\"").append(numInGroup.isRequired() ? "Y" : "N").append("\">\n"); addMsgContents(builder, component.getMsgContent(), " "); builder.append(" </group>\n"); String tag = String.valueOf(tagInt); Field field = fields.get(tag); String fieldType = field.getType(); builder.append(" <field number=\"").append(tag).append("\" name=\"").append(field.getFieldName()).append("\" type=\"").append(fieldType.toUpperCase()).append("\""); if (!field.getEnums().isEmpty()) { builder.append(">\n"); Set<String> enumDescCache = new HashSet<>(); for (Enum theEnum : field.getEnums()) { String enumDesc = theEnum.getDesc().toUpperCase(); enumDesc = enumDesc.replaceAll("\\(.*\\)", ""); // remove stuff in parentheses
private void addMsgContents(StringBuilder builder, List<Object> msgContents, String prefix) { for (Object o : msgContents) { if (o instanceof Field) { Field field = (Field) o; if (field.isNumInGroup()) { continue; } builder.append(prefix).append("<field name=\"").append(field.getFieldName()).append("\" required=\"").append(field.isRequired() ? "Y" : "N").append("\"/>\n"); } else if (o instanceof Component) { Component component = (Component) o; if (component.isStandardHeader() || component.isStandardTrailer()) { continue; } builder.append(prefix).append("<component name=\"").append(component.getName()).append("\" required=\"").append(component.isRequired() ? "Y" : "N").append("\"/>\n"); } } }
private void initFields() { System.out.println(getClass().getSimpleName() + ": Init Fields..."); List<?> fieldNodes = fields.selectNodes("//dataroot/Fields"); for (Object o : fieldNodes) { Node node = (Node) o; String tag = getSingleNodeTextSafe(node, "Tag"); String fieldName = getSingleNodeTextSafe(node, "FieldName"); System.out.println("\t " + fieldName + "(" + tag + ")"); String type = getSingleNodeTextSafe(node, "Type"); String desc = getSingleNodeTextSafe(node, "Desc"); String notReqXML = getSingleNodeTextSafe(node, "NotReqXML"); Field field = new Field(tag, fieldName, type, desc, notReqXML); allFields.put(field.getTag(), field); // Find enums List<?> enumNodes = enums.selectNodes("//dataroot/Enums[Tag=" + tag + "]"); enumNodes.sort(new EnumNodeComparator()); if (!enumNodes.isEmpty()) { for (Object enumO : enumNodes) { Node enumNode = (Node) enumO; String enumName = getSingleNodeTextSafe(enumNode, "Enum"); System.out.println("\t\t " + enumName); String enumDesc = getSingleNodeTextSafe(enumNode, "Description"); field.addEnum(new Enum(enumName, enumDesc)); } } } System.out.println(getClass().getSimpleName() + ": " + allFields.size() + " Fields found"); }
private void addComponentMsgContent(Component component, String prefix) { List<?> msgContentsNodes = getMsgContents(component.getMsgID()); System.out.println(prefix + " " + component.getName()); if (!component.getMsgContent().isEmpty()) { System.out.println(prefix + "\talready handled, return"); return; } for (Object o : msgContentsNodes) { Node node = (Node) o; String tagText = getSingleNodeTextSafe(node, "TagText"); String reqd = getSingleNodeTextSafe(node, "Reqd"); if (allFields.containsKey(tagText)) { ComponentField componentField = new ComponentField(allFields.get(tagText), reqd); component.addMsgContent(componentField); System.out.println(prefix + "\t " + allFields.get(tagText).getFieldName()); } else if (allComponents.containsKey(tagText)) { // Handle msgContents for the component in question first! addComponentMsgContent(allComponents.get(tagText), prefix + "\t"); ComponentComponent componentComponent = new ComponentComponent(allComponents.get(tagText), reqd); component.addMsgContent(componentComponent); System.out.println(prefix + "\t " + allComponents.get(tagText).getName()); } else { System.err.println("Could not find tagText: " + tagText); } } }
private Set<Integer> addFields(Set<Integer> result, List<Object> msgContents) { for (Object o : msgContents) { if (o instanceof Field) { result.add(Integer.valueOf(((Field) o).getTag())); } if (o instanceof Component) { result = addFields(result, ((Component) o).getMsgContent()); } } return result; }
public final boolean isNumInGroup() { return "NumInGroup".equalsIgnoreCase(getType()); }