Menu

Version3_Showcases

ENNAHDI EL IDRISSI, Mohamed

Version 3 of automatic report generator project Builder design pattern fore more flexibility, except for XML Generator.

CSV

Plain Example

try {
    Engine e = new CSVEngine.Builder(c, query, "d:/work/examples/example.csv").build();
    File f = e.generate();
} catch (FileNotGeneratedException e) {
    logger.error("", e);
}

Example with StatementType, Separator Character and Escape Character

try {
    Engine e = new CSVEngine.Builder(c, query, "d:/work/examples/example.csv").statementType(StatementType.CALLABLE_STATEMENT).separator(',').escape('\'').build();
    File f = e.generate();
} catch (FileNotGeneratedException e) {
    logger.error("", e);
}

XLS

Plain Example

Engine e = new XLSEngine.Builder(c, query, path).build();
File f = e.generate();

Example with InputDateFormat and OutputDateFormat

Engine e = new XLSEngine.Builder(c, query, path).inputDateFormat("yyyy-MM-dd").outputDateFormat("dd/MM/yyyy").build();
File f = e.generate();

XML

Plain Example

try {
    Engine e = new XMLEngine(c, StatementType.PREPARED_STATEMENT, query, path) {
        @Override
        public Object browse(ResultSet rs) {
            try {
                ObjectFactory factory = new ObjectFactory();
                Employees root = factory.createEmployees();
                List<Employee> employees = new ArrayList<>();
                int i = 0;
                while (rs.next()) {
                    Employee emp;
                    emp = factory.createEmployee(rs);
                    employees.add(emp);
                    i++;
                }
                root.setEmployees(employees);
                logger.info("Rows Processed: " + i);
                return root;
            } catch (DatatypeConfigurationException | SQLException e) {
                logger.error("", e);
            } finally {
                try {
                    rs.close();
                } catch (SQLException e) {
                    logger.error("", e);
                }
            }
           throw new FileNotGeneratedException("A problem occurred during the generation of the document " + path + ".");
        }
    };
    File f = e.generate();
} catch (FileNotGeneratedException e) {
    logger.error("", e);
}