private void initGraphPeriodAndSize(Range range, int width, int height, RrdGraphDef graphDef) { // ending timestamp is the (current) timestamp in seconds // starting timestamp will be adjusted for each graph final long endTime; final long startTime; if (range.getPeriod() == null) { // si endDate à la date du jour, alors on ne dépasse pas l'heure courante endTime = Math.min(range.getEndDate().getTime() / 1000, Util.getTime()); startTime = range.getStartDate().getTime() / 1000; } else { endTime = Util.getTime(); startTime = endTime - range.getPeriod().getDurationSeconds(); } final String label = getLabel(); final String titleStart; if (label.length() > 31 && width <= 200) { // si le label est trop long, on raccourci le titre sinon il ne rentre pas titleStart = label; } else { titleStart = label + " - " + range.getLabel(); } final String titleEnd; if (width > 400) { if (range.getPeriod() == null) { titleEnd = " - " + I18N.getFormattedString("sur", getApplication()); } else { titleEnd = " - " + I18N.getCurrentDate() + ' ' + I18N.getFormattedString("sur", getApplication()); } } else { titleEnd = ""; if (range.getPeriod() == null) { // si période entre 2 dates et si pas de zoom, // alors on réduit de 2 point la fonte du titre pour qu'il rentre dans le cadre graphDef.setLargeFont( graphDef.getLargeFont().deriveFont(graphDef.getLargeFont().getSize2D() - 2f)); } } graphDef.setStartTime(startTime); graphDef.setEndTime(endTime); graphDef.setTitle(titleStart + titleEnd); graphDef.setFirstDayOfWeek(Calendar.getInstance(I18N.getCurrentLocale()).getFirstDayOfWeek()); // or if the user locale patch is merged we should do: // (https://sourceforge.net/tracker/?func=detail&aid=3403733&group_id=82668&atid=566807) // graphDef.setLocale(I18N.getCurrentLocale()); // rq : la largeur et la hauteur de l'image sont plus grandes que celles fournies // car jrobin ajoute la largeur et la hauteur des textes et autres graphDef.setWidth(width); graphDef.setHeight(height); if (width <= 100) { graphDef.setNoLegend(true); graphDef.setUnitsLength(0); graphDef.setShowSignature(false); graphDef.setTitle(null); } // graphDef.setColor(RrdGraphConstants.COLOR_BACK, new GradientPaint(0, 0, // RrdGraphConstants.DEFAULT_BACK_COLOR.brighter(), 0, height, // RrdGraphConstants.DEFAULT_BACK_COLOR)); }
/** * Test. * * @throws IOException e */ @Test public void testToHtmlEn() throws IOException { I18N.bindLocale(Locale.US); Locale.setDefault(Locale.US); try { assertEquals("locale en", Locale.US, I18N.getCurrentLocale()); // counter avec 3 requêtes counter.addRequest("test1", 0, 0, false, 1000); counter.addRequest("test2", 1000, 500, false, 1000); counter.addRequest("test3", 10000, 5000, true, 10000); final HtmlReport htmlReport = new HtmlReport(collector, null, javaInformationsList, Period.TOUT, writer); htmlReport.toHtml("message", null); assertNotEmptyAndClear(writer); } finally { I18N.unbindLocale(); Locale.setDefault(Locale.FRENCH); } }