Example usage for org.jfree.data.time Millisecond Millisecond

List of usage examples for org.jfree.data.time Millisecond Millisecond

Introduction

In this page you can find the example usage for org.jfree.data.time Millisecond Millisecond.

Prototype

public Millisecond(Date time) 

Source Link

Document

Constructs a new millisecond using the default time zone.

Usage

From source file:org.streamspinner.harmonica.application.CQGraphTerminal.java

private Millisecond getMillisecond() {
    Calendar c = Calendar.getInstance();
    c.add(c.MILLISECOND, base);//from  w w w. j  a v a  2 s.  c  o m
    base++;
    Millisecond mil = new Millisecond(c.getTime());

    return mil;
}

From source file:com.freedomotic.jfrontend.extras.GraphPanel.java

/**
 *
 * @param ev//www  .j  a  v  a 2 s  . c  o  m
 */
public void addDataFromEvent(EventTemplate ev) {
    Date d = new Date(ev.getCreation());
    Millisecond ms_read = new Millisecond(d);
    int valut = ev.getProperty("object.behavior.powered").equalsIgnoreCase("true") ? 1 : 0;
    series.addOrUpdate(ms_read, valut);
    chart.fireChartChanged();

}

From source file:it.freedomotic.jfrontend.extras.GraphPanel.java

public void addDataFromEvent(EventTemplate ev) {
    Date d = new Date(ev.getCreation());
    Millisecond ms_read = new Millisecond(d);
    int valut = ev.getProperty("object.behavior.powered").equalsIgnoreCase("true") ? 1 : 0;
    series.addOrUpdate(ms_read, valut);//from  w  w  w.j a  va 2  s.  c o  m
    chart.fireChartChanged();

}

From source file:net.liuxuan.device.VACVBS.JIF_DrawChart_vacvbs.java

public void openFiletoCurve() throws NumberFormatException {
    String tempstr = jFormattedTextField_temp.getText();
    int tempint = Integer.parseInt(tempstr);
    dropinterval = tempint;/*  ww w .jav a  2s .  co  m*/

    //??
    //??0?1
    filterds = new double[dropinterval];

    SimpleDateFormat sdfx = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");
    //        String content;
    String fileContent = null;

    JFileChooser jfc = initFileChooser();
    int result = jfc.showOpenDialog(this); // ""?
    if (result == JFileChooser.APPROVE_OPTION) {
        //            String filepath = jfc.getSelectedFile().getAbsolutePath();
        if (jfc.getSelectedFile() == null) {
            //
            System.out.println("!!");
            return;
        }
        try {
            fileContent = Files.toString(jfc.getSelectedFile(), Charsets.ISO_8859_1);

        } catch (IOException ex) {
            Logger.getLogger(JIF_DrawChart_vacvbs.class.getName()).log(Level.SEVERE, null, ex);
        }
    } else {
        System.out.println("!!");
        return;
    }

    //??,dropinterval
    parseFileToDataStructure(fileContent, dropinterval);

    if (metadatas.size() == 0) {
        System.out.println("?");
        return;
    } else {
        chartPanel.getChart().setTitle("" + jfc.getSelectedFile().getName());
        System.out.println("" + jfc.getSelectedFile().getName());
        System.out.println(String.format("?%d", metadatas.size()));
    }

    //===============kalman?
    clearChart();//?

    tsNotifyFalse();//?

    //??
    for (int i = 0; i < metadatas.size(); i++) {
        VACVBSMetaData data = metadatas.get(i);

        ts_LP.addOrUpdate(new Millisecond(data.date1), data.LP);
        ts_HP.addOrUpdate(new Millisecond(data.date1), data.HP);
        ts_temprature.addOrUpdate(new Millisecond(data.date1), data.Temprature);
        //??100??100
        ts_humidity.addOrUpdate(new Millisecond(data.date1), data.Humidity);
        //25????25
        ts_num.addOrUpdate(new Millisecond(data.date1), data.num);
        //38????38
        ts_time.addOrUpdate(new Millisecond(data.date1), data.Time);
        //?
        //status 1?? 2 ? 3 4 5?? 6 7?? 8 9? 0 
        ts_reserved1.addOrUpdate(new Millisecond(data.date1), data.reserved1);
        ts_reserved2.addOrUpdate(new Millisecond(data.date1), data.reserved2);
        ts_reserved3.addOrUpdate(new Millisecond(data.date1), data.reserved3);
    }

    tsNotifyTrue();//
}

From source file:com.android.ddmuilib.log.event.EventDisplay.java

private void processClick(XYPlot xyPlot) {
    double rangeValue = xyPlot.getRangeCrosshairValue();
    if (rangeValue != 0) {
        double domainValue = xyPlot.getDomainCrosshairValue();

        Millisecond msec = new Millisecond(new Date((long) domainValue));

        // look for values in the dataset that contains data at this TimePeriod
        Set<ValueDisplayDescriptor> descKeys = mValueDescriptorSeriesMap.keySet();

        for (ValueDisplayDescriptor descKey : descKeys) {
            HashMap<Integer, TimeSeries> map = mValueDescriptorSeriesMap.get(descKey);

            Set<Integer> pidKeys = map.keySet();

            for (Integer pidKey : pidKeys) {
                TimeSeries series = map.get(pidKey);

                Number value = series.getValue(msec);
                if (value != null) {
                    // found a match. lets check against the actual value.
                    if (value.doubleValue() == rangeValue) {

                        return;
                    }/*from  ww w  .  jav  a2 s .c o m*/
                }
            }
        }
    }
}

From source file:net.liuxuan.device.w3330.JIF_DrawChart_w3330.java

public void openFiletoCurve() throws NumberFormatException {
    String tempstr = jFormattedTextField_temp.getText();
    int tempint = Integer.parseInt(tempstr);
    dropinterval = tempint;//from   w  w w.jav  a2  s.  c  o m

    //??
    //??0?1
    double oldzero = -1000;
    long oldzerotime = -1;
    double oldstatus = -1;

    filterds = new double[dropinterval];
    SimpleDateFormat sdfx = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");
    //        String content;
    List<String> fileContentStringList = null;

    JFileChooser jfc = initFileChooser();

    //?lastpath
    String latestPath = (String) datas.get("lastpath");

    File currentDir = null;
    FileSystemView fsv = FileSystemView.getFileSystemView();
    if (latestPath == null) {
        //?
        currentDir = fsv.getHomeDirectory();
    } else {
        currentDir = new File(latestPath);
        if (currentDir.exists() && currentDir.isDirectory()) {
        } else {
            currentDir = fsv.getHomeDirectory();
        }
    }
    jfc.setCurrentDirectory(currentDir);

    int result = jfc.showOpenDialog(this); // ""?
    if (result == JFileChooser.APPROVE_OPTION) {
        //            String filepath = jfc.getSelectedFile().getAbsolutePath();
        //lastpath
        datas.put("lastpath", jfc.getSelectedFile().isDirectory() ? jfc.getSelectedFile().getAbsolutePath()
                : jfc.getSelectedFile().getParent());

        if (jfc.getSelectedFile() == null) {
            //
            System.out.println("!!");
            return;
        }
        try {
            fileContentStringList = Files.readLines(jfc.getSelectedFile(), Charsets.ISO_8859_1);

        } catch (IOException ex) {
            Logger.getLogger(JIF_DrawChart_w3330.class.getName()).log(Level.SEVERE, null, ex);
        }
    } else {
        System.out.println("!!");
        return;
    }

    //??,dropinterval
    parseFileToDataStructure(fileContentStringList, dropinterval);
    if (metadatas.size() == 0) {
        System.out.println("?");
        return;
    } else {
        chartPanel.getChart().setTitle("" + jfc.getSelectedFile().getName());
        System.out.println("" + jfc.getSelectedFile().getName());
        System.out.println(String.format("?%d", fileContentStringList.size()));
        System.out.println(String.format("?%d", metadatas.size()));
    }

    //?
    KalmanFilterHolder kfh_AmbiTemp = new KalmanFilterHolder(25d);//?
    KalmanFilterHolder kfh_ppm = new KalmanFilterHolder(13d);//?

    //===============kalman?
    clearChart();//?

    tsNotifyFalse();//?

    //??
    for (int i = 0; i < metadatas.size(); i++) {
        W3330MetaData data = metadatas.get(i);

        if (oldzero < -1) {
            oldzero = data.zero;
            oldzerotime = data.time.getTime();
        } else if (oldzero != data.zero) {
            oldzero = data.zero;
            oldzerotime = data.time.getTime();
            //
            Color purple = new Color(139, 0, 255);
            String Labelstr = String.format("%.4f", data.zero);
            chartDrawHerizonLine(data, purple, Labelstr);
        }

        //status 1?? 2 ? 3 4 5?? 6 7?? 8 9? 0 
        if (oldstatus != data.status) {
            oldstatus = data.status;
            //
            Color purple = new Color(139, 0, 255);
            String Labelstr;

            switch ((int) data.status) {
            case 1:
                Labelstr = "??";
                break;
            case 2:
                Labelstr = "?";
                break;
            case 3:
                Labelstr = "";
                break;
            case 4:
                Labelstr = "";
                break;
            case 5:
                Labelstr = "??";
                break;
            case 6:
                Labelstr = "";
                break;
            case 7:
                Labelstr = "??";
                break;
            case 8:
                Labelstr = "";
                break;
            case 9:
                Labelstr = "?";
                break;
            case 0:
                Labelstr = "";
                break;
            default:
                Labelstr = "???status=" + data.status;
                //                        throw new AssertionError();
            }
            //                Labelstr = String.format("%.4f", data.zero);
            chartDrawVerticalLine(data, purple, Labelstr);

            //?ppm
            kfh_ppm = new KalmanFilterHolder(data.wppm);//?
        }

        //
        data.filter1 = kfh_AmbiTemp.getEstimation(data.temp3);
        data.filter2 = kfh_ppm.getEstimation(data.wppm);

        //fitting2 = kalmanfilter2.getStateEstimation()[0]-(fitting-25)*0.78;
        //                        fitting2 = wppm-(fitting-25)*0.7;//ppm
        //                        fitting = kalmanfilter.getStateEstimation()[0];
        // state estimate shouldn't be larger than the measurement noise
        //                        double diff = Math.abs(x.getEntry(0) - kalmanfilter.getStateEstimation()[0]);
        /*
                     //?
                     if (filterpoint < filterds.length) {
                     //?
                     filterds[filterpoint] = temp3;
                     filterpoint++;
                     fitting = wppm;
                     } else {
                
                     //???
                     filterds[filterpoint % filterds.length] = temp3;
                     double[] copy = Arrays.copyOf(filterds, filterds.length);
                     Arrays.sort(copy);
                
                     double total = 0;
                     for (int idx = copy.length / 4; idx < copy.length - copy.length / 4; idx++) {
                     total += copy[idx];
                     }
                     temp3 = total / (copy.length - copy.length / 4 - copy.length / 4);
                     filterpoint++;
                     //0.78?
                     //????
                     //                            fitting = wppm-(filterds[filterpoint%filterds.length]-25)*0.78;
                     fitting = wppm - (temp3 - 25) * 0.78;
                     }
                     */
        ts_wppm.addOrUpdate(new Millisecond(data.time), data.wppm);
        ts_wppm_zero.addOrUpdate(new Millisecond(data.time), data.ppmzero);
        ts_wvtr.addOrUpdate(new Millisecond(data.time), data.wvtr);
        //??100??100
        ts_flux.addOrUpdate(new Millisecond(data.time), data.flux);
        //25????25
        ts_tempambi.addOrUpdate(new Millisecond(data.time), data.temp3);
        //38????38
        ts_tempcell.addOrUpdate(new Millisecond(data.time), data.temp1);
        //?
        //status 1?? 2 ? 3 4 5?? 6 7?? 8 9? 0 
        ts_status.addOrUpdate(new Millisecond(data.time), data.status);
        ts_fitting.addOrUpdate(new Millisecond(data.time), data.filter1);
        data.fitting2 = data.wppm - (data.temp3 - 25) * 1.25;//??
        //data.fitting2 = data.wppm *(273.15+25)/(273.15+data.temp3);//??
        //            data.fitting2= data.wppm+(data.flux-40)*12.4;
        //            ts_fitting2.addOrUpdate(new Millisecond(data.time), data.fitting2);
        ts_fitting2.addOrUpdate(new Millisecond(data.time), data.filter2);
        //fitting2 ?
        /*
         int step = 20;
         step = tempint;
         if (data.zero > 0 && i % step == 0 && i > 2 * step) {
         //??
         double value_wvtr = (data.wppm - data.zero) * 0.02161956;
         double total = 0;
         double value_avg = 0;
         double old1 = (metadatas.get(i - step).wppm - data.zero);
         double old2 = (metadatas.get(i - step * 2).wppm - data.zero);
         total = (old1 + old2 + (data.wppm - data.zero)) * 0.02161956;
         value_avg = total / 3;
         double diff = (value_wvtr - value_avg) / value_avg;
         System.out.println(String.format(":%s?%.4f?%.4f???%.4f%%", sdfx.format(data.time), value_wvtr, value_avg, diff * 100));
         ts_fitting2.addOrUpdate(new Millisecond(data.time), data.wppm - old1 - data.zero);
         }
         */
    }

    tsNotifyTrue();//
}

From source file:de.xirp.chart.ChartManager.java

/**
 * This method creates a//ww  w. j a v  a  2s . c om
 * {@link org.jfree.data.time.TimeSeriesCollection} from the given
 * {@link de.xirp.db.Record} and key array. The
 * record is evaluated from the given start to the given stop time
 * or is evaluated completely if the flag <code>origTime</code>
 * is set to <code>true</code>. <br>
 * <br>
 * The method also fills the given
 * <code>List&lt;Observed&gt;</code> with the found
 * {@link de.xirp.db.Observed} value objects. This
 * list is used by the
 * {@link de.xirp.chart.ChartManager#exportAutomatically(List, JFreeChart)}
 * method. <br>
 * <br>
 * This is done because the code base is the the. The
 * {@link de.xirp.db.Observed} objects are created
 * from a database query. To create a chart the date must be
 * contained in a {@link org.jfree.data.time.TimeSeriesCollection}.
 * The export methods in
 * {@link de.xirp.chart.ChartUtil} works with a
 * <code>List&lt;Observed&gt;</code>. The database query
 * delivers a <code>List&lt;Observed&gt;</code>, so the values
 * are converted to a
 * {@link org.jfree.data.time.TimeSeriesCollection} and then are
 * copied to the <code>all</code> list to be used laster on in
 * the
 * {@link de.xirp.chart.ChartManager#exportAutomatically(List, JFreeChart)}
 * method.
 * 
 * @param all
 *            <code>null</code> or empty List <b>not</b>
 *            permitted.<br>
 *            Must be a <code>new</code> List.
 * @param record
 *            The record containing the data.
 * @param keys
 *            The keys to use.
 * @param origTime
 *            A flag indicating if the original time should be
 *            used.
 * @param stop
 *            The start time.
 * @param start
 *            The stop time.
 * @return A <code>TimeSeriesCollection</code> with the values
 *         of the record for the time interval.
 * @see org.jfree.data.time.TimeSeriesCollection
 * @see de.xirp.db.Observed
 * @see de.xirp.db.Record
 * @see de.xirp.chart.ChartUtil
 * @see de.xirp.chart.ChartManager#exportAutomatically(java.util.List,
 *      org.jfree.chart.JFreeChart)
 * @see org.jfree.chart.JFreeChart
 */
private static TimeSeriesCollection createTimeSeriesAndFillAllObservedList(List<Observed> all, Record record,
        String[] keys, boolean origTime, long start, long stop) {

    TimeSeriesCollection dataset = new TimeSeriesCollection();
    Date date = new Date();
    List<Observed> obs;
    for (String keyname : keys) {
        TimeSeries ts = new TimeSeries(keyname, Millisecond.class);
        if (origTime) {
            obs = ChartDatabaseUtil.getObservedList(record, keyname);
        } else {
            obs = ChartDatabaseUtil.getObservedList(record, keyname, start, stop);
        }
        for (Observed o : obs) {
            date.setTime(o.getTimestamp());
            ts.addOrUpdate(new Millisecond(date), o.getValue());
        }
        all.addAll(obs);
        dataset.addSeries(ts);
    }
    return dataset;
}

From source file:ch.algotrader.client.chart.ChartTab.java

private RegularTimePeriod getRegularTimePeriod(Date date) {

    if (TimePeriod.MSEC.equals(this.chartDefinition.getTimePeriod())) {
        return new Millisecond(date);
    } else if (TimePeriod.SEC.equals(this.chartDefinition.getTimePeriod())) {
        return new Second(date);
    } else if (TimePeriod.MIN.equals(this.chartDefinition.getTimePeriod())) {
        return new Minute(date);
    } else if (TimePeriod.HOUR.equals(this.chartDefinition.getTimePeriod())) {
        return new Hour(date);
    } else if (TimePeriod.DAY.equals(this.chartDefinition.getTimePeriod())) {
        return new Day(date);
    } else if (TimePeriod.WEEK.equals(this.chartDefinition.getTimePeriod())) {
        return new Week(date);
    } else if (TimePeriod.MONTH.equals(this.chartDefinition.getTimePeriod())) {
        return new Month(date);
    } else if (TimePeriod.YEAR.equals(this.chartDefinition.getTimePeriod())) {
        return new Year(date);
    } else {//w w w .  j  a v a2 s  . c o m
        throw new IllegalArgumentException("unkown TimePeriod: " + this.chartDefinition.getTimePeriod());
    }
}

From source file:com.peterbochs.instrument.InstrumentPanel.java

private void runTimer() {
    if (interruptTimer != null) {
        interruptTimer.cancel();/* ww w. j  av  a 2s  .  c  om*/
    }

    interruptTimer = new Timer();
    interruptTimer.schedule(new TimerTask() {
        Hashtable<Long, Integer> oldInterruptRecords;

        public void run() {
            try {
                synchronized (allSeries) {
                    ArrayList<Long> list = Collections.list(InterruptSocketServer.interruptRecords.keys());
                    Date d = new Date();
                    // int noOfFrame = getTimeframe() / getSpeed();
                    oldInterruptRecords = (Hashtable<Long, Integer>) InterruptSocketServer.interruptRecords
                            .clone();
                    ((InterruptTableModel) jInterruptTable.getModel()).fireTableDataChanged();

                    for (int x = 0; x < list.size(); x++) {
                        long interuptNoL = list.get(x);
                        int interruptNo = (int) interuptNoL;
                        if (allSeries.get(interruptNo) != null) {
                            TimeSeries series = allSeries.get(interruptNo);
                            List<TimeSeriesDataItem> items = series.getItems();
                            for (int z = items.size() - 1; z >= 0; z--) {
                                RegularTimePeriod pd = items.get(z).getPeriod();
                                Calendar cal1 = Calendar.getInstance();
                                cal1.add(Calendar.MILLISECOND, -1 * getTimeframe());
                                Calendar cal2 = Calendar.getInstance();
                                cal2.setTime(pd.getEnd());
                                if (cal1.after(cal2)) {
                                    series.delete(pd);
                                }
                            }
                            series.add(new Millisecond(d),
                                    InterruptSocketServer.interruptRecords.get(interuptNoL)
                                            - oldInterruptRecords.get(interuptNoL));
                            //                     InterruptSocketServer.interruptRecords.put(interuptNoL, 0);
                        } else {
                            TimeSeries newSeries = new TimeSeries("Int 0x" + Integer.toHexString(interruptNo));
                            interruptDataset.addSeries(newSeries);
                            allSeries.put(interruptNo, newSeries);
                        }
                    }

                    interruptChart.fireChartChanged();
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }, 0, getSpeed());
}