|
From: Márcio V. d. S. <mv...@us...> - 2007-11-05 23:25:58
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv3595/src/java/net/sf/tail/report/xls Modified Files: ReportXlsGenerator.java CellStylist.java TimeSeriesXlsGenerator.java SliceXlsGenerator.java Log Message: Mudança no estilo do xls para ficar mais proximo do html. Index: CellStylist.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls/CellStylist.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CellStylist.java 5 Nov 2007 21:32:56 -0000 1.8 --- CellStylist.java 5 Nov 2007 23:25:59 -0000 1.9 *************** *** 150,154 **** protected void drawImage(File reportPNG, HSSFSheet sheet, int columnStart, int columnEnd) throws IOException { HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); ! HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 523, 0, (short) columnStart, 1, (short) columnEnd, 17); anchor.setAnchorType(3); --- 150,154 ---- protected void drawImage(File reportPNG, HSSFSheet sheet, int columnStart, int columnEnd) throws IOException { HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); ! HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 240, 0, (short) columnStart, 5, (short) columnEnd, 23); anchor.setAnchorType(3); *************** *** 184,186 **** --- 184,229 ---- } + public HSSFCellStyle createTitleCellStyle() { + HSSFCellStyle style = workbook.createCellStyle(); + style.setAlignment(HSSFCellStyle.ALIGN_CENTER); + + HSSFFont font = workbook.createFont(); + font.setFontName("Arial"); + font.setFontHeightInPoints((short) 16); + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + font.setUnderline(HSSFFont.U_SINGLE); + font.setColor(HSSFColor.GREY_80_PERCENT.index); + style.setFont(font); + return style; + } + + public HSSFCellStyle createSubTitleCellStyle() { + HSSFCellStyle style = workbook.createCellStyle(); + style.setAlignment(HSSFCellStyle.ALIGN_CENTER); + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + style.setFillBackgroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index); + style.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index); + + HSSFFont font = workbook.createFont(); + font.setFontName("Arial"); + font.setFontHeightInPoints((short) 14); + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + font.setColor(HSSFColor.DARK_BLUE.index); + style.setFont(font); + return style; + } + + public HSSFCellStyle createInfoCellStyle() { + HSSFCellStyle style = workbook.createCellStyle(); + style.setAlignment(HSSFCellStyle.ALIGN_CENTER); + + HSSFFont font = workbook.createFont(); + font.setFontName("Arial"); + font.setFontHeightInPoints((short) 12); + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + font.setColor(HSSFColor.BLACK.index); + style.setFont(font); + return style; + } + } \ No newline at end of file Index: TimeSeriesXlsGenerator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls/TimeSeriesXlsGenerator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TimeSeriesXlsGenerator.java 5 Nov 2007 21:32:56 -0000 1.5 --- TimeSeriesXlsGenerator.java 5 Nov 2007 23:25:59 -0000 1.6 *************** *** 41,53 **** report.getDecisions().get(0).getSeries().getBegin(), report.getSlicer().getSeries().getEnd() - 1); ! HSSFCellStyle style = stylist.createHeaderCellStyle(); row = generateHeader(row, style); ! HSSFCellStyle style3 = stylist.createInternalCellStyle(); HSSFCellStyle style2 = stylist.createInternal2CellStyle(); ! generateInternalRow(row, series, style3, style2); stylist.rearrangeSheet(sheet, 11); - LOG.info("Time Series generated (" + (System.currentTimeMillis() - time )+ " miliseconds)"); --- 41,64 ---- report.getDecisions().get(0).getSeries().getBegin(), report.getSlicer().getSeries().getEnd() - 1); ! HSSFCellStyle style = stylist.createTitleCellStyle(); ! String title = "Time Series"; ! row = generateTitle(row, title, style); ! ! style = stylist.createSubTitleCellStyle(); ! String[] subtitle = new String[4]; ! subtitle[0] = "Stock:"; ! subtitle[1] = report.getSlicer().getSeries().getName(); ! subtitle[2] = "for:"; ! subtitle[3] = report.getSlicer().getSeries().getPeriodName(); ! row = generateSubTitle(row, subtitle, style); ! ! style = stylist.createHeaderCellStyle(); row = generateHeader(row, style); ! style = stylist.createInternalCellStyle(); HSSFCellStyle style2 = stylist.createInternal2CellStyle(); ! generateInternalRow(row, series, style, style2); stylist.rearrangeSheet(sheet, 11); LOG.info("Time Series generated (" + (System.currentTimeMillis() - time )+ " miliseconds)"); *************** *** 56,61 **** } ! private int generateHeader(int firtRow, HSSFCellStyle style) { ! HSSFRow rowHeader = sheet.createRow((short) firtRow++); int columnIndex = INDEX_FIRST_COLUMN; --- 67,95 ---- } ! private int generateTitle(int firstRow, String title, HSSFCellStyle style) { ! HSSFRow rowHeader = sheet.createRow((short) firstRow++); ! int columnIndex = INDEX_FIRST_COLUMN; ! ! createCell(rowHeader, title, (short) columnIndex++, style); ! ! LOG.info("Title created"); ! return firstRow; ! } ! ! private int generateSubTitle(int firstRow, String[] title, HSSFCellStyle style) { ! HSSFRow rowHeader = sheet.createRow((short) firstRow); ! int columnIndex = INDEX_FIRST_COLUMN; ! ! createCell(rowHeader, title[0], (short) columnIndex++, style); ! createCell(rowHeader, title[1], (short) columnIndex++, style); ! createCell(rowHeader, title[2], (short) columnIndex++, style); ! createCell(rowHeader, title[3], (short) columnIndex++, style); ! ! LOG.info("Subtitle created"); ! return firstRow+2; ! } ! ! private int generateHeader(int firstRow, HSSFCellStyle style) { ! HSSFRow rowHeader = sheet.createRow((short) firstRow++); int columnIndex = INDEX_FIRST_COLUMN; *************** *** 71,75 **** LOG.info("Header created"); ! return firtRow; } --- 105,109 ---- LOG.info("Header created"); ! return firstRow; } Index: SliceXlsGenerator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls/SliceXlsGenerator.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** SliceXlsGenerator.java 5 Nov 2007 21:32:56 -0000 1.12 --- SliceXlsGenerator.java 5 Nov 2007 23:25:59 -0000 1.13 *************** *** 27,31 **** protected static final int INDEX_FIRST_COLUMN = 1; ! protected static final int INDEX_FIRST_ROW = 18; protected static final String FM_REPORT_DIR = "reports" + File.separatorChar; --- 27,31 ---- protected static final int INDEX_FIRST_COLUMN = 1; ! protected static final int INDEX_FIRST_ROW = 1; protected static final String FM_REPORT_DIR = "reports" + File.separatorChar; *************** *** 62,66 **** HSSFSheet sheet = workbook.createSheet(decision.getFileName()); ! HSSFCellStyle style = stylist.createHeaderCellStyle(); row = generateHeader(row, workbook, sheet, criteria, style); --- 62,88 ---- HSSFSheet sheet = workbook.createSheet(decision.getFileName()); ! HSSFCellStyle style = stylist.createTitleCellStyle(); ! String title = "Slice Report"; ! row = generateTitle(row, title, style, sheet); ! ! style = stylist.createSubTitleCellStyle(); ! String[] subtitle = new String[4]; ! subtitle[0] = "Stock:"; ! subtitle[1] = decision.getSeries().getName(); ! subtitle[2] = "for:"; ! subtitle[3] = decision.getSeries().getPeriodName(); ! row = generateSubTitle(row, subtitle, style, sheet); ! ! style = stylist.createInfoCellStyle(); ! String[] info = new String[4]; ! info[0] = "Strategy:"; ! info[1] = decision.getStrategy().getClass().getSimpleName(); ! info[2] = "Criteria:"; ! info[3] = decision.getCriterion().getName(); ! row = generateInfo(row, info, style, sheet); ! ! row = 24; ! ! style = stylist.createHeaderCellStyle(); row = generateHeader(row, workbook, sheet, criteria, style); *************** *** 90,93 **** --- 112,151 ---- } + private int generateTitle(int firstRow, String title, HSSFCellStyle style, HSSFSheet sheet) { + HSSFRow rowHeader = sheet.createRow((short) firstRow++); + int columnIndex = INDEX_FIRST_COLUMN; + + createCell(rowHeader, title, (short) columnIndex++, style); + + LOG.info("Title created"); + return firstRow; + } + + private int generateSubTitle(int firstRow, String[] title, HSSFCellStyle style, HSSFSheet sheet) { + HSSFRow rowHeader = sheet.createRow((short) firstRow++); + int columnIndex = INDEX_FIRST_COLUMN; + + createCell(rowHeader, title[0], (short) columnIndex++, style); + createCell(rowHeader, title[1], (short) columnIndex++, style); + createCell(rowHeader, title[2], (short) columnIndex++, style); + createCell(rowHeader, title[3], (short) columnIndex++, style); + + LOG.info("Subtitle created"); + return firstRow; + } + + private int generateInfo(int firstRow, String[] title, HSSFCellStyle style, HSSFSheet sheet) { + HSSFRow rowHeader = sheet.createRow((short) firstRow); + int columnIndex = INDEX_FIRST_COLUMN; + + createCell(rowHeader, title[0], (short) columnIndex++, style); + createCell(rowHeader, title[1], (short) columnIndex++, style); + createCell(rowHeader, title[2], (short) columnIndex++, style); + createCell(rowHeader, title[3], (short) columnIndex++, style); + + LOG.info("Info created"); + return firstRow+2; + } + private int generateHeader(int firtRow, HSSFWorkbook workbook, HSSFSheet sheet, List<AnalysisCriterion> criteria, HSSFCellStyle style) { *************** *** 116,119 **** --- 174,178 ---- int index = firtRow - INDEX_FIRST_ROW; for (Trade trade : decision.getTrades()) { + int i = 0; if (even){ style = style2; *************** *** 145,149 **** } for (AnalysisCriterion criterium : criteria) { ! calculate = criterium.calculate(decision.getSeries(), decision.getTrades().get(index - 2)); createCell(rowDecision, calculate, (short) indexcolumn++, style); } --- 204,208 ---- } for (AnalysisCriterion criterium : criteria) { ! calculate = criterium.calculate(decision.getSeries(), decision.getTrades().get(i++)); createCell(rowDecision, calculate, (short) indexcolumn++, style); } Index: ReportXlsGenerator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls/ReportXlsGenerator.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ReportXlsGenerator.java 5 Nov 2007 21:32:56 -0000 1.12 --- ReportXlsGenerator.java 5 Nov 2007 23:25:59 -0000 1.13 *************** *** 25,29 **** private static final int INDEX_FIRST_COLUMN = 1; ! private static final int INDEX_FIRST_ROW = 18; private HSSFWorkbook workbook; --- 25,29 ---- private static final int INDEX_FIRST_COLUMN = 1; ! private static final int INDEX_FIRST_ROW = 1; private HSSFWorkbook workbook; *************** *** 56,60 **** HSSFSheet sheet = workbook.createSheet("Complete Report"); ! HSSFCellStyle style = stylist.createHeaderCellStyle(); row = generateHeader(row, sheet, report, criteria, style); --- 56,82 ---- HSSFSheet sheet = workbook.createSheet("Complete Report"); ! HSSFCellStyle style = stylist.createTitleCellStyle(); ! String title = "WalkForward Report"; ! row = generateTitle(row, title, style, sheet); ! ! style = stylist.createSubTitleCellStyle(); ! String[] subtitle = new String[4]; ! subtitle[0] = "Stock:"; ! subtitle[1] = report.getSlicer().getSeries().getName(); ! subtitle[2] = "for:"; ! subtitle[3] = report.getSlicer().getSeries().getPeriodName(); ! row = generateSubTitle(row, subtitle, style, sheet); ! ! style = stylist.createInfoCellStyle(); ! String[] info = new String[4]; ! info[0] = "Slicer:"; ! info[1] = report.getSlicer().getName(); ! info[2] = "Strategy:"; ! info[3] = report.getDecisions().get(0).getStrategy().getClass().getSimpleName() + " Criteria: " + report.getApplyedCriterion().getName(); ! row = generateInfo(row, info, style, sheet); ! ! row = 24; ! ! style = stylist.createHeaderCellStyle(); row = generateHeader(row, sheet, report, criteria, style); *************** *** 78,81 **** --- 100,139 ---- } + private int generateTitle(int firstRow, String title, HSSFCellStyle style, HSSFSheet sheet) { + HSSFRow rowHeader = sheet.createRow((short) firstRow++); + int columnIndex = INDEX_FIRST_COLUMN; + + createCell(rowHeader, title, (short) columnIndex++, style); + + LOG.info("Title created"); + return firstRow; + } + + private int generateSubTitle(int firstRow, String[] title, HSSFCellStyle style, HSSFSheet sheet) { + HSSFRow rowHeader = sheet.createRow((short) firstRow++); + int columnIndex = INDEX_FIRST_COLUMN; + + createCell(rowHeader, title[0], (short) columnIndex++, style); + createCell(rowHeader, title[1], (short) columnIndex++, style); + createCell(rowHeader, title[2], (short) columnIndex++, style); + createCell(rowHeader, title[3], (short) columnIndex++, style); + + LOG.info("Subtitle created"); + return firstRow; + } + + private int generateInfo(int firstRow, String[] title, HSSFCellStyle style, HSSFSheet sheet) { + HSSFRow rowHeader = sheet.createRow((short) firstRow); + int columnIndex = INDEX_FIRST_COLUMN; + + createCell(rowHeader, title[0], (short) columnIndex++, style); + createCell(rowHeader, title[1], (short) columnIndex++, style); + createCell(rowHeader, title[2], (short) columnIndex++, style); + createCell(rowHeader, title[3], (short) columnIndex++, style); + + LOG.info("Info created"); + return firstRow+2; + } + private int generateHeader(int firtRow, HSSFSheet sheet, Report report, List<AnalysisCriterion> criteria, HSSFCellStyle style) { |