/** * Test that we can configure the RelativeDateFormat to show * hh:mm:ss. */ public void test2033092() { RelativeDateFormat rdf = new RelativeDateFormat(); rdf.setShowZeroDays(false); rdf.setShowZeroHours(false); rdf.setMinuteSuffix(":"); rdf.setHourSuffix(":"); rdf.setSecondSuffix(""); DecimalFormat hoursFormatter = new DecimalFormat(); hoursFormatter.setMaximumFractionDigits(0); hoursFormatter.setMaximumIntegerDigits(2); hoursFormatter.setMinimumIntegerDigits(2); rdf.setHourFormatter(hoursFormatter); DecimalFormat minsFormatter = new DecimalFormat(); minsFormatter.setMaximumFractionDigits(0); minsFormatter.setMaximumIntegerDigits(2); minsFormatter.setMinimumIntegerDigits(2); rdf.setMinuteFormatter(minsFormatter); DecimalFormat secondsFormatter = new DecimalFormat(); secondsFormatter.setMaximumFractionDigits(0); secondsFormatter.setMaximumIntegerDigits(2); secondsFormatter.setMinimumIntegerDigits(2); rdf.setSecondFormatter(secondsFormatter); String s = rdf.format(new Date(2 * 60L * 60L * 1000L + 122500L)); assertEquals("02:02:02", s); }
/** * Sets the X axis to display time relative to the given start time. */ // for relative time, format the x axis differently // the data _does not_ change public static void setRelativeAxis(JFreeChart chart, long startTime) { if (chart != null) { RelativeDateFormat format = new RelativeDateFormat(startTime); // : separators format.setHourSuffix(":"); format.setMinuteSuffix(":"); format.setSecondSuffix(""); // zero pad minutes and seconds DecimalFormat padded = new DecimalFormat("00"); format.setMinuteFormatter(padded); format.setSecondFormatter(padded); XYPlot plot = chart.getXYPlot(); ((DateAxis) plot.getDomainAxis()).setDateFormatOverride(format); } }
/** * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { RelativeDateFormat df1 = new RelativeDateFormat(123L); RelativeDateFormat df2 = new RelativeDateFormat(123L); assertTrue(df1.equals(df2)); int h1 = df1.hashCode(); int h2 = df2.hashCode(); assertEquals(h1, h2); }
/** * Some tests for negative dates. */ public void testNegative() { NumberFormat nf = new DecimalFormat("0"); RelativeDateFormat df1 = new RelativeDateFormat(); df1.setSecondFormatter(nf); assertEquals("-0h0m1s", df1.format(new Date(-1000L))); }
private static ValueAxis createYAxisRenderer(ViewMode vm, String label) { switch (vm) { case BY_DISTANCE: return new NumberAxis(label); case BY_DURATION: DateAxis domainAxis = new DateAxis(label); domainAxis.setDateFormatOverride(new RelativeDateFormat()); return domainAxis; default: throw new IllegalStateException("Unknown mode " + vm); //$NON-NLS-1$ } }
private static JFreeChart createChart(XYDataset xydataset) { JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Flink Exactly-Once on Kafka with YARN Chaos Monkey", "Date", "Value", xydataset, true, true, false); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); XYLineAndShapeRenderer r0 = (XYLineAndShapeRenderer) xyplot.getRenderer(0); // draw data points as points r0.setSeriesShapesVisible(2, true); r0.setSeriesLinesVisible(2, true); // order elements as assed xyplot.setSeriesRenderingOrder(SeriesRenderingOrder.FORWARD); DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis(); Number first = xydataset.getX(0, 0); Minute minute = new Minute(new Date((Long)first)); System.out.println("first = "+first); RelativeDateFormat relativedateformat = new RelativeDateFormat(minute.getFirstMillisecond()); relativedateformat.setSecondFormatter(new DecimalFormat("00")); dateaxis.setDateFormatOverride(relativedateformat); //dateaxis.setDateFormatOverride(new SimpleDateFormat("mm:ss")); ValueAxis valueaxis = xyplot.getRangeAxis(); valueaxis.setAutoRangeMinimumSize(1.0D); valueaxis.setLabel("Elements/Core"); xyplot.getRenderer().setSeriesPaint(2, ChartColor.DARK_MAGENTA); return jfreechart; }
private void createChartPanel(String title, long time) { YIntervalSeriesCollection dataset = new YIntervalSeriesCollection(); chart = ChartFactory.createTimeSeriesChart(title, X_AXIS_TITLE, "", dataset, true, true, true); XYPlot plot = (XYPlot) chart.getPlot(); DeviationRenderer errorRenderer = new DeviationRenderer(); errorRenderer.setShapesVisible(false); errorRenderer.setLinesVisible(true); errorRenderer.setAlpha(0.0f); // errorRenderer.setDrawYError(false); // errorRenderer.setDrawXError(false); plot.setRenderer(errorRenderer); plot.setBackgroundPaint(Color.WHITE); plot.setRangeGridlinePaint(Color.DARK_GRAY); plot.setDomainGridlinePaint(Color.DARK_GRAY); upperDomainBound = (time / 1000) + ((interval - 1) * step / 1000); DateAxis domain = (DateAxis) plot.getDomainAxis(); domain.setAutoRange(false); domain.setRange((time / 1000), upperDomainBound); RelativeDateFormat rdf = new RelativeDateFormat(); rdf.setHourSuffix(":"); rdf.setMinuteSuffix(":"); rdf.setSecondSuffix(""); rdf.setSecondFormatter(new DecimalFormat("0")); domain.setDateFormatOverride(rdf); plot.setDomainAxis(domain); plotPanel = new ChartPanel(chart, true); setSizeOfComponent(plotPanel, new Dimension(plotWidth, plotHeight)); container.add(plotPanel, BorderLayout.CENTER); container.add(createRadioBoxes(visType == VisualizationType.Metric), BorderLayout.SOUTH); setSizeOfComponent(container, new Dimension(plotWidth, plotHeight + boxOffset)); }
/** * Check that the equals() method can distinguish all fields. */ public void testEquals() { RelativeDateFormat df1 = new RelativeDateFormat(); RelativeDateFormat df2 = new RelativeDateFormat(); assertEquals(df1, df2); df1.setBaseMillis(123L); assertFalse(df1.equals(df2)); df2.setBaseMillis(123L); assertTrue(df1.equals(df2)); df1.setDaySuffix("D"); assertFalse(df1.equals(df2)); df2.setDaySuffix("D"); assertTrue(df1.equals(df2)); df1.setHourSuffix("H"); assertFalse(df1.equals(df2)); df2.setHourSuffix("H"); assertTrue(df1.equals(df2)); df1.setMinuteSuffix("M"); assertFalse(df1.equals(df2)); df2.setMinuteSuffix("M"); assertTrue(df1.equals(df2)); df1.setSecondSuffix("S"); assertFalse(df1.equals(df2)); df2.setSecondSuffix("S"); assertTrue(df1.equals(df2)); df1.setShowZeroDays(!df1.getShowZeroDays()); assertFalse(df1.equals(df2)); df2.setShowZeroDays(!df2.getShowZeroDays()); assertTrue(df1.equals(df2)); df1.setSecondFormatter(new DecimalFormat("0.0")); assertFalse(df1.equals(df2)); df2.setSecondFormatter(new DecimalFormat("0.0")); assertTrue(df1.equals(df2)); }
/** * Some checks for the formatting. */ public void testFormat() { RelativeDateFormat rdf = new RelativeDateFormat(); String s = rdf.format(new Date(2 * 60L * 60L * 1000L + 122500L)); assertEquals("2h2m2.500s", s); }
/** * Check that the equals() method can distinguish all fields. */ public void testEquals() { RelativeDateFormat df1 = new RelativeDateFormat(); RelativeDateFormat df2 = new RelativeDateFormat(); assertEquals(df1, df2); df1.setBaseMillis(123L); assertFalse(df1.equals(df2)); df2.setBaseMillis(123L); assertTrue(df1.equals(df2)); df1.setDayFormatter(new DecimalFormat("0%")); assertFalse(df1.equals(df2)); df2.setDayFormatter(new DecimalFormat("0%")); assertTrue(df1.equals(df2)); df1.setDaySuffix("D"); assertFalse(df1.equals(df2)); df2.setDaySuffix("D"); assertTrue(df1.equals(df2)); df1.setHourFormatter(new DecimalFormat("0%")); assertFalse(df1.equals(df2)); df2.setHourFormatter(new DecimalFormat("0%")); assertTrue(df1.equals(df2)); df1.setHourSuffix("H"); assertFalse(df1.equals(df2)); df2.setHourSuffix("H"); assertTrue(df1.equals(df2)); df1.setMinuteFormatter(new DecimalFormat("0%")); assertFalse(df1.equals(df2)); df2.setMinuteFormatter(new DecimalFormat("0%")); assertTrue(df1.equals(df2)); df1.setMinuteSuffix("M"); assertFalse(df1.equals(df2)); df2.setMinuteSuffix("M"); assertTrue(df1.equals(df2)); df1.setSecondSuffix("S"); assertFalse(df1.equals(df2)); df2.setSecondSuffix("S"); assertTrue(df1.equals(df2)); df1.setShowZeroDays(!df1.getShowZeroDays()); assertFalse(df1.equals(df2)); df2.setShowZeroDays(!df2.getShowZeroDays()); assertTrue(df1.equals(df2)); df1.setSecondFormatter(new DecimalFormat("0.0")); assertFalse(df1.equals(df2)); df2.setSecondFormatter(new DecimalFormat("0.0")); assertTrue(df1.equals(df2)); }