private void generateMessageBaseClass(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logInfo(task.getName() + ": generating message base class"); Map<String, String> parameters = new HashMap<>(); parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateClassCode(task, "Message", parameters); }
private Document getSpecification(Task task) throws ParserConfigurationException, SAXException, IOException { Document document = specificationCache.get(task.getName()); if (document == null) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse(task.getSpecification()); specificationCache.put(task.getName(), document); } return document; }
if (!task.isOverwrite()) { return; if (outputFile.lastModified() > task.getSpecificationLastModified()) { logDebug("Skipping file " + outputFile.getName()); return; logDebug("spec has mod " + task.getSpecificationLastModified() + " output has mod " + outputFile.lastModified());
MessageCodeGenerator.Task task = new MessageCodeGenerator.Task(); if (getLog().isInfoEnabled()) { getLog().info("Initialising code generator task"); task.setSpecification(dictFile); } else { getLog().error("Cannot find file " + dictFile); task.setName(dictFile.getName()); task.setTransformDirectory(schemaDirectory); task.setMessagePackage(packaging); task.setOutputBaseDirectory(outputDirectory); task.setFieldPackage(fieldPackage); task.setOverwrite(true); task.setOrderedFields(orderedFields); task.setDecimalGenerated(decimal); generator.generate(task); } catch (Throwable t) {
MessageCodeGenerator.Task task = new MessageCodeGenerator.Task(); if (getLog().isInfoEnabled()) { getLog().info("Initialising code generator task"); task.setSpecification(dictFile); } else { getLog().error("Cannot find file " + dictFile); task.setName(dictFile.getName()); task.setTransformDirectory(schemaDirectory); task.setMessagePackage(packaging); task.setOutputBaseDirectory(outputDirectory); task.setFieldPackage(fieldPackage); task.setOverwrite(true); task.setOrderedFields(orderedFields); task.setDecimalGenerated(decimal); generator.generate(task); } catch (Throwable t) {
MessageCodeGenerator.Task task = new MessageCodeGenerator.Task(); if (getLog().isInfoEnabled()) { getLog().info("Initialising code generator task"); task.setSpecification(dictFile); } else { getLog().error("Cannot find file " + dictFile); task.setName(dictFile.getName()); task.setTransformDirectory(schemaDirectory); task.setMessagePackage(packaging); task.setOutputBaseDirectory(outputDirectory); task.setFieldPackage(fieldPackage); task.setOverwrite(true); task.setOrderedFields(orderedFields); task.setDecimalGenerated(decimal); generator.generate(task); } catch (Throwable t) {
if (!task.isOverwrite()) { return; if (outputFile.lastModified() > task.getSpecificationLastModified()) { logDebug("Skipping file " + outputFile.getName()); return; logDebug("spec has mod " + task.getSpecificationLastModified() + " output has mod " + outputFile.lastModified());
if (!task.isOverwrite()) { return; if (outputFile.lastModified() > task.getSpecificationLastModified()) { logDebug("Skipping file " + outputFile.getName()); return; logDebug("spec has mod " + task.getSpecificationLastModified() + " output has mod " + outputFile.lastModified());
"FIX 4.1", "FIX 4.0" }; for (String ver : versions) { Task task = new Task(); task.setName(ver); final String version = ver.replaceAll("[ .]", ""); task.setSpecification(new File(args[0] + "/" + version + ".xml")); task.setTransformDirectory(new File(args[1])); task.setMessagePackage("quickfix." + version.toLowerCase()); task.setOutputBaseDirectory(new File(args[2])); task.setFieldPackage("quickfix.field"); task.setOverwrite(overwrite); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task);
if (!task.isOverwrite()) { return; if (outputFile.lastModified() > task.getSpecificationLastModified()) { logDebug("Skipping file " + outputFile.getName()); return; logDebug("spec has mod " + task.getSpecificationLastModified() + " output has mod " + outputFile.lastModified());
"FIX 4.1", "FIX 4.0" }; for (String ver : versions) { Task task = new Task(); task.setName(ver); final String version = ver.replaceAll("[ .]", ""); task.setSpecification(new File(args[0] + "/" + version + ".xml")); task.setTransformDirectory(new File(args[1])); task.setMessagePackage("quickfix." + version.toLowerCase()); task.setOutputBaseDirectory(new File(args[2])); task.setFieldPackage("quickfix.field"); task.setOverwrite(overwrite); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task);
MessageCodeGenerator.Task task = new MessageCodeGenerator.Task(); if (getLog().isInfoEnabled()) { getLog().info("Initialising code generator task"); task.setSpecification(dictFile); } else { getLog().error("Cannot find file " + dictFile); task.setName(dictFile.getName()); task.setTransformDirectory(schemaDirectory); task.setMessagePackage(packaging); task.setOutputBaseDirectory(outputDirectory); task.setFieldPackage(fieldPackage); task.setOverwrite(true); task.setOrderedFields(orderedFields); task.setDecimalGenerated(decimal); generator.generate(task); } catch (Throwable t) {
"FIX 4.1", "FIX 4.0" }; for (String ver : versions) { Task task = new Task(); task.setName(ver); final String version = ver.replaceAll("[ .]", ""); task.setSpecification(new File(args[0] + "/" + version + ".xml")); task.setTransformDirectory(new File(args[1])); task.setMessagePackage("quickfix." + version.toLowerCase()); task.setOutputBaseDirectory(new File(args[2])); task.setFieldPackage("quickfix.field"); task.setOverwrite(overwrite); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task);
"FIX 4.1", "FIX 4.0" }; for (String ver : versions) { Task task = new Task(); task.setName(ver); final String version = ver.replaceAll("[ .]", ""); task.setSpecification(new File(args[0] + "/" + version + ".xml")); task.setTransformDirectory(new File(args[1])); task.setMessagePackage("quickfix." + version.toLowerCase()); task.setOutputBaseDirectory(new File(args[2])); task.setFieldPackage("quickfix.field"); task.setOverwrite(overwrite); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task);
private void generateFieldClasses(Task task) throws ParserConfigurationException, SAXException, IOException { String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getFieldDirectory() + "/"; logInfo(task.getName() + ": generating field classes in " + outputDirectory); writePackageDocumentation(outputDirectory, "FIX field definitions for " + task.getName()); Document document = getSpecification(task); List<String> fieldNames = getNames(document.getDocumentElement(), "fields/field"); try { Transformer transformer = createTransformer(task, "Fields.xsl"); for (String fieldName : fieldNames) { String outputFile = outputDirectory + fieldName + ".java"; if (!new File(outputFile).exists()) { logDebug("field: " + fieldName); Map<String, String> parameters = new HashMap<>(); parameters.put("fieldName", fieldName); parameters.put("fieldPackage", task.getFieldPackage()); if (task.isDecimalGenerated()) { parameters.put("decimalType", "java.math.BigDecimal"); parameters.put("decimalConverter", "Decimal"); } parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateCodeFile(task, document, parameters, outputFile, transformer); } } } catch (Exception e) { logError("error while generating field classes", e); } }
private void generateFieldClasses(Task task) throws ParserConfigurationException, SAXException, IOException { String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getFieldDirectory() + "/"; logInfo(task.getName() + ": generating field classes in " + outputDirectory); writePackageDocumentation(outputDirectory, "FIX field definitions for " + task.getName()); Document document = getSpecification(task); List<String> fieldNames = getNames(document.getDocumentElement(), "fields/field"); try { Transformer transformer = createTransformer(task, "Fields.xsl"); for (String fieldName : fieldNames) { String outputFile = outputDirectory + fieldName + ".java"; if (!new File(outputFile).exists()) { logDebug("field: " + fieldName); Map<String, String> parameters = new HashMap<>(); parameters.put("fieldName", fieldName); parameters.put("fieldPackage", task.getFieldPackage()); if (task.isDecimalGenerated()) { parameters.put("decimalType", "java.math.BigDecimal"); parameters.put("decimalConverter", "Decimal"); } parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateCodeFile(task, document, parameters, outputFile, transformer); } } } catch (Exception e) { logError("error while generating field classes", e); } }
private void generateFieldClasses(Task task) throws ParserConfigurationException, SAXException, IOException { String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getFieldDirectory() + "/"; logInfo(task.getName() + ": generating field classes in " + outputDirectory); writePackageDocumentation(outputDirectory, "FIX field definitions for " + task.getName()); Document document = getSpecification(task); List<String> fieldNames = getNames(document.getDocumentElement(), "fields/field"); try { Transformer transformer = createTransformer(task, "Fields.xsl"); for (String fieldName : fieldNames) { String outputFile = outputDirectory + fieldName + ".java"; if (!new File(outputFile).exists()) { logDebug("field: " + fieldName); Map<String, String> parameters = new HashMap<>(); parameters.put("fieldName", fieldName); parameters.put("fieldPackage", task.getFieldPackage()); if (task.isDecimalGenerated()) { parameters.put("decimalType", "java.math.BigDecimal"); parameters.put("decimalConverter", "Decimal"); } parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateCodeFile(task, document, parameters, outputFile, transformer); } } } catch (Exception e) { logError("error while generating field classes", e); } }
private void generateComponentClasses(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logInfo(task.getName() + ": generating component classes"); String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/component/"; Document document = getSpecification(task); List<String> componentNames = getNames(document.getDocumentElement(), "components/component"); if (componentNames.size() > 0) { writePackageDocumentation(outputDirectory, "Message component classes"); } Transformer transformer = createTransformer(task, "MessageSubclass.xsl"); for (String componentName : componentNames) { logDebug("generating component class: " + componentName); Map<String, String> parameters = new HashMap<>(); parameters.put("itemName", componentName); parameters.put("baseClass", "quickfix.MessageComponent"); parameters.put("subpackage", ".component"); parameters.put("fieldPackage", task.getFieldPackage()); parameters.put("messagePackage", task.getMessagePackage()); parameters.put("orderedFields", Boolean.toString(task.isOrderedFields())); parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateCodeFile(task, document, parameters, outputDirectory + componentName + ".java", transformer); } }
private void generateFieldClasses(Task task) throws ParserConfigurationException, SAXException, IOException { String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getFieldDirectory() + "/"; logInfo(task.getName() + ": generating field classes in " + outputDirectory); writePackageDocumentation(outputDirectory, "FIX field definitions for " + task.getName()); Document document = getSpecification(task); List<String> fieldNames = getNames(document.getDocumentElement(), "fields/field"); try { Transformer transformer = createTransformer(task, "Fields.xsl"); for (String fieldName : fieldNames) { String outputFile = outputDirectory + fieldName + ".java"; if (!new File(outputFile).exists()) { logDebug("field: " + fieldName); Map<String, String> parameters = new HashMap<>(); parameters.put("fieldName", fieldName); parameters.put("fieldPackage", task.getFieldPackage()); if (task.isDecimalGenerated()) { parameters.put("decimalType", "java.math.BigDecimal"); parameters.put("decimalConverter", "Decimal"); } parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateCodeFile(task, document, parameters, outputFile, transformer); } } } catch (Exception e) { logError("error while generating field classes", e); } }
private void generateComponentClasses(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logInfo(task.getName() + ": generating component classes"); String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/component/"; Document document = getSpecification(task); List<String> componentNames = getNames(document.getDocumentElement(), "components/component"); if (componentNames.size() > 0) { writePackageDocumentation(outputDirectory, "Message component classes"); } Transformer transformer = createTransformer(task, "MessageSubclass.xsl"); for (String componentName : componentNames) { logDebug("generating component class: " + componentName); Map<String, String> parameters = new HashMap<>(); parameters.put("itemName", componentName); parameters.put("baseClass", "quickfix.MessageComponent"); parameters.put("subpackage", ".component"); parameters.put("fieldPackage", task.getFieldPackage()); parameters.put("messagePackage", task.getMessagePackage()); parameters.put("orderedFields", Boolean.toString(task.isOrderedFields())); parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); generateCodeFile(task, document, parameters, outputDirectory + componentName + ".java", transformer); } }