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); }
public void generate(Task task) { try { generateFieldClasses(task); generateMessageBaseClass(task); generateMessageFactoryClass(task); generateMessageCrackerClass(task); generateComponentClasses(task); generateMessageSubclasses(task); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new CodeGenerationException(e); } }
private void generateMessageSubclasses(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logInfo(task.getName() + ": generating message subclasses"); String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/"; writePackageDocumentation(outputDirectory, "Message classes"); Document document = getSpecification(task); List<String> messageNames = getNames(document.getDocumentElement(), "messages/message"); Transformer transformer = createTransformer(task, "MessageSubclass.xsl"); for (String messageName : messageNames) { logDebug("generating message class: " + messageName); Map<String, String> parameters = new HashMap<>(); parameters.put("itemName", messageName); parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); parameters.put("orderedFields", Boolean.toString(task.isOrderedFields())); parameters.put("fieldPackage", task.getFieldPackage()); parameters.put("messagePackage", task.getMessagePackage()); generateCodeFile(task, document, parameters, outputDirectory + messageName + ".java", transformer); } }
public static void main(String[] args) { MessageCodeGenerator codeGenerator = new MessageCodeGenerator(); try { if (args.length != 3) { boolean overwrite = getOption(OVERWRITE_OPTION, true); boolean orderedFields = getOption(ORDERED_FIELDS_OPTION, false); boolean useDecimal = getOption(BIGDECIMAL_TYPE_OPTION, false); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task); codeGenerator.logInfo("Time for generation: " + durationFormat.format(duration / 1000L) + " seconds"); } catch (Exception e) { codeGenerator.logError("error during code generation", e); System.exit(1);
private void generateClassCode(Task task, String className, Map<String, String> parameters) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logDebug("generating " + className + " for " + task.getName()); if (parameters == null) { parameters = new HashMap<>(); } parameters.put("messagePackage", task.getMessagePackage()); parameters.put("fieldPackage", task.getFieldPackage()); Document document = getSpecification(task); generateCodeFile(task, document, parameters, task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/" + className + ".java", createTransformer(task, className + ".xsl")); }
private void generateMessageCrackerClass(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { generateClassCode(task, "MessageCracker", null); }
private void generateMessageSubclasses(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logInfo(task.getName() + ": generating message subclasses"); String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/"; writePackageDocumentation(outputDirectory, "Message classes"); Document document = getSpecification(task); List<String> messageNames = getNames(document.getDocumentElement(), "messages/message"); Transformer transformer = createTransformer(task, "MessageSubclass.xsl"); for (String messageName : messageNames) { logDebug("generating message class: " + messageName); Map<String, String> parameters = new HashMap<>(); parameters.put("itemName", messageName); parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); parameters.put("orderedFields", Boolean.toString(task.isOrderedFields())); parameters.put("fieldPackage", task.getFieldPackage()); parameters.put("messagePackage", task.getMessagePackage()); generateCodeFile(task, document, parameters, outputDirectory + messageName + ".java", transformer); } }
public static void main(String[] args) { MessageCodeGenerator codeGenerator = new MessageCodeGenerator(); try { if (args.length != 3) { boolean overwrite = getOption(OVERWRITE_OPTION, true); boolean orderedFields = getOption(ORDERED_FIELDS_OPTION, false); boolean useDecimal = getOption(BIGDECIMAL_TYPE_OPTION, false); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task); codeGenerator.logInfo("Time for generation: " + durationFormat.format(duration / 1000L) + " seconds"); } catch (Exception e) { codeGenerator.logError("error during code generation", e); System.exit(1);
private void generateClassCode(Task task, String className, Map<String, String> parameters) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logDebug("generating " + className + " for " + task.getName()); if (parameters == null) { parameters = new HashMap<>(); } parameters.put("messagePackage", task.getMessagePackage()); parameters.put("fieldPackage", task.getFieldPackage()); Document document = getSpecification(task); generateCodeFile(task, document, parameters, task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/" + className + ".java", createTransformer(task, className + ".xsl")); }
private void generateMessageFactoryClass(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { generateClassCode(task, "MessageFactory", null); }
private void generateMessageSubclasses(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logInfo(task.getName() + ": generating message subclasses"); String outputDirectory = task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/"; writePackageDocumentation(outputDirectory, "Message classes"); Document document = getSpecification(task); List<String> messageNames = getNames(document.getDocumentElement(), "messages/message"); Transformer transformer = createTransformer(task, "MessageSubclass.xsl"); for (String messageName : messageNames) { logDebug("generating message class: " + messageName); Map<String, String> parameters = new HashMap<>(); parameters.put("itemName", messageName); parameters.put(XSLPARAM_SERIAL_UID, SERIAL_UID_STR); parameters.put("orderedFields", Boolean.toString(task.isOrderedFields())); parameters.put("fieldPackage", task.getFieldPackage()); parameters.put("messagePackage", task.getMessagePackage()); generateCodeFile(task, document, parameters, outputDirectory + messageName + ".java", transformer); } }
public void generate(Task task) { try { generateFieldClasses(task); generateMessageBaseClass(task); generateMessageFactoryClass(task); generateMessageCrackerClass(task); generateComponentClasses(task); generateMessageSubclasses(task); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new CodeGenerationException(e); } }
public static void main(String[] args) { MessageCodeGenerator codeGenerator = new MessageCodeGenerator(); try { if (args.length != 3) { boolean overwrite = getOption(OVERWRITE_OPTION, true); boolean orderedFields = getOption(ORDERED_FIELDS_OPTION, false); boolean useDecimal = getOption(BIGDECIMAL_TYPE_OPTION, false); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task); codeGenerator.logInfo("Time for generation: " + durationFormat.format(duration / 1000L) + " seconds"); } catch (Exception e) { codeGenerator.logError("error during code generation", e); System.exit(1);
private void generateClassCode(Task task, String className, Map<String, String> parameters) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logDebug("generating " + className + " for " + task.getName()); if (parameters == null) { parameters = new HashMap<>(); } parameters.put("messagePackage", task.getMessagePackage()); parameters.put("fieldPackage", task.getFieldPackage()); Document document = getSpecification(task); generateCodeFile(task, document, parameters, task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/" + className + ".java", createTransformer(task, className + ".xsl")); }
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 void generateMessageFactoryClass(Task task) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { generateClassCode(task, "MessageFactory", null); }
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); } }
public void generate(Task task) { try { generateFieldClasses(task); generateMessageBaseClass(task); generateMessageFactoryClass(task); generateMessageCrackerClass(task); generateComponentClasses(task); generateMessageSubclasses(task); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new CodeGenerationException(e); } }
public static void main(String[] args) { MessageCodeGenerator codeGenerator = new MessageCodeGenerator(); try { if (args.length != 3) { boolean overwrite = getOption(OVERWRITE_OPTION, true); boolean orderedFields = getOption(ORDERED_FIELDS_OPTION, false); boolean useDecimal = getOption(BIGDECIMAL_TYPE_OPTION, false); task.setOrderedFields(orderedFields); task.setDecimalGenerated(useDecimal); codeGenerator.generate(task); codeGenerator.logInfo("Time for generation: " + durationFormat.format(duration / 1000L) + " seconds"); } catch (Exception e) { codeGenerator.logError("error during code generation", e); System.exit(1);
private void generateClassCode(Task task, String className, Map<String, String> parameters) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException { logDebug("generating " + className + " for " + task.getName()); if (parameters == null) { parameters = new HashMap<>(); } parameters.put("messagePackage", task.getMessagePackage()); parameters.put("fieldPackage", task.getFieldPackage()); Document document = getSpecification(task); generateCodeFile(task, document, parameters, task.getOutputBaseDirectory() + "/" + task.getMessageDirectory() + "/" + className + ".java", createTransformer(task, className + ".xsl")); }