⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reportdetailsbean.java

📁 report trafiic for java bean
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        return dp;
    }

    private Vector getFileNames()
    {
        long currTime = System.currentTimeMillis();
        long pieStr = currTime + 10L;
        Vector pieName = new Vector();
        for(int i = 0; i < 6; i++)
            if(i == 0)
            {
                String fName = "pieChart" + String.valueOf(currTime);
                pieName.add(fName);
            } else
            {
                String fName1 = "pieChart" + String.valueOf(pieStr);
                pieName.add(fName1);
                pieStr += 10L;
            }

        return pieName;
    }

    public void setColor(Color col1, Color col2)
    {
        inColor = col1;
        outColor = col2;
    }

    //Split Traffic time period dataset
    private Hashtable splitTimeTableXYDataset(TableXYDataset dataset)
    {
        Hashtable split = new Hashtable();
        int timeserieslen = dataset.getItemCount();
        int signlabel = -1;
        inTime = new TimeTableXYDataset();
        outTime = new TimeTableXYDataset();
        for(int i = 0; i < dataset.getSeriesCount(); i++)
        {
              for(int j = 0; j < dataset.getItemCount(); j++)
              {
                  long dat1 = 0L;
                  double dub1 = 0.0D;
                  long dat2 = 0L;
                  double dub2 = 0.0D;
                  int kk = j + 1;

                  if(j >= (dataset.getItemCount() - 1))
                  {
                      if (dataset.getXValue(i, j) != null)
                          dat1 = ((Long) dataset.getXValue(i, j)).longValue();
                      if (dataset.getYValue(i, j) != null)
                          dub1 = ((Double) dataset.getYValue(i, j)).doubleValue();

                      String inOut = dataset.getSeriesName(i);
                      if (dat1 != 0L && inOut != null && inOut.equals("IN"))
                          inTime.add(new Millisecond(new Date(dat1)), dub1, "IN");
                      else
                      if (dat1 != 0L && inOut != null && inOut.equals("OUT"))
                          outTime.add(new Millisecond(new Date(dat1)), dub1,"OUT");
                      break;
                  }

                  if (dataset.getXValue(i, j) != null)
                      dat1 = ((Long) dataset.getXValue(i, j)).longValue();
                  if (dataset.getXValue(i, kk) != null)
                      dat2 = ((Long) dataset.getXValue(i, kk)).longValue();
                  if (dataset.getYValue(i, j) != null)
                      dub1 = ((Double) dataset.getYValue(i, j)).doubleValue();
                  if (dataset.getYValue(i, kk) != null)
                      dub2 = ((Double) dataset.getYValue(i, kk)).doubleValue();

                  if(dat1 != 0L && dat2 != 0L)
                  {
                      long timeperiod = ((Long) dataset.getXValue(i, j)).longValue() -
                                        ((Long) dataset.getXValue(i, kk)).longValue();
                      timeperiod = Math.abs(timeperiod);
                      long timeperiod1;
                      timeperiod1 = timeperiod / (1000 * 60);
                      if (timeperiod1 < 10) {
                          if (timeserieslen <= 100) {
                              signlabel = 1;
                          }
                      }
                      if (timeperiod1 >= 10 && timeperiod1 < 60) {
                          if (timeserieslen <= 100) {
                              signlabel = 2;
                          }
                      }
                      if (timeperiod1 >= 60) {
                          if (timeserieslen <= 100) {
                              signlabel = 3;
                          }
                      }
                  }
                  if(signlabel == 1 || signlabel == 2)
                  {
                      String inOut = dataset.getSeriesName(i);
                      if (dat1 != 0L && inOut != null && inOut.equals("IN"))
                      {
                          //inTime.add(new Millisecond(new Date(dat1)), dub1, "IN");
                          if(dat2 != 0L && inOut != null && inOut.equals("IN"))
                             insertpoint(dat1, dub1, dat2, dub2, signlabel, 1);
                          else
                            inTime.add(new Millisecond(new Date(dat1)), dub1, "IN");
                      }
                      else
                      if (dat1 != 0L && inOut != null && inOut.equals("OUT"))
                      {
                          //outTime.add(new Millisecond(new Date(dat1)), dub1,"OUT");
                          if (dat2 != 0L && inOut != null && inOut.equals("OUT"))
                             insertpoint(dat1, dub1, dat2, dub2, signlabel, 2);
                          else
                             outTime.add(new Millisecond(new Date(dat1)), dub1,"OUT");
                      }
                  }
                  else
                  {
                      long dat = 0L;
                      double dub = 0.0D;
                      if (dataset.getXValue(i, j) != null)
                          dat = ((Long) dataset.getXValue(i, j)).longValue();
                      if (dataset.getYValue(i, j) != null)
                          dub = ((Double) dataset.getYValue(i, j)).doubleValue();
                      String inOut = dataset.getSeriesName(i);
                      if (dat != 0L && inOut != null && inOut.equals("IN"))
                          inTime.add(new Millisecond(new Date(dat)), dub, "IN");
                      else
                      if (dat != 0L && inOut != null && inOut.equals("OUT"))
                          outTime.add(new Millisecond(new Date(dat)), dub,
                                      "OUT");
                  }
              }
        }

        split.put("IN", inTime);
        split.put("OUT", outTime);
        return split;
    }

    //Segement Traffic interval - for example: one hour - from 60 to 720
    private void insertpoint(long dat1, double dub1, long dat2, double dub2, int signlabel, int inOut)
    {
        long timeperiods = dat2 - dat1;
        double YdiffValue = dub2 - dub1;
        double length = Math.abs(YdiffValue);
        int Intersection = 2;
        int controlnum = 12;
        double doublepai = 6.2832D;

        if(YdiffValue > 0)
        {
            Intersection = 1;
        }
        if(YdiffValue == 0)
        {
            Intersection = 2;
        }
        if(YdiffValue < 0)
        {
            Intersection = 3;
        }

        if(Intersection == 2)
        {
            if(inOut == 1)
            {
                inTime.add(new Millisecond(new Date(dat1)), dub1, "IN");
                inTime.add(new Millisecond(new Date(dat2)), dub2, "IN");
            }
            if(inOut == 2)
            {
                outTime.add(new Millisecond(new Date(dat1)), dub1, "OUT");
                outTime.add(new Millisecond(new Date(dat2)), dub2, "OUT");
            }
        } else
        if(Intersection == 1 || Intersection == 3)
        {
            long dat = 0L;
            double dub = 0.0D;

            if (signlabel == 1) {
                if (inOut == 1) {
                    if (Intersection == 1) {
                        dat = dat1;
                        dub = dub1;
                        inTime.add(new Millisecond(new Date(dat)), dub,"IN");
                        for (int ii = 1; ii < controlnum; ii++) {
                            long dd = (long) ii;
                            long totalnum = (long)controlnum;
                            double angles = (double)((double)dd)*doublepai/12.0D;
                            double randomnum = Math.sin(angles);
                            randomnum = Math.abs(randomnum);
                            double randomlen = length*randomnum;
                            dat = dat1 + (dd*timeperiods)/totalnum;
                            dub = dub1 + randomlen;
                            inTime.add(new Millisecond(new Date(dat)), dub,"IN");
                        }
                        //dat = dat2;
                        //dub = dub2;
                        //inTime.add(new Millisecond(new Date(dat)), dub,"IN");
                    } else
                    if (Intersection == 3) {
                        dat = dat1;
                        dub = dub1;
                        inTime.add(new Millisecond(new Date(dat)), dub,"IN");
                        for (int ii = 1; ii < controlnum; ii++) {
                            long dd = (long) ii;
                            long totalnum = (long)controlnum;
                            double angles = (double)((double)dd)*doublepai/12.0D;
                            double randomnum = Math.sin(angles);
                            randomnum = Math.abs(randomnum);
                            double randomlen = length*randomnum;
                            dat = dat1 + (dd*timeperiods)/totalnum;
                            dub = dub1 - randomlen;
                            inTime.add(new Millisecond(new Date(dat)), dub,"IN");
                        }
                        //dat = dat2;
                        //dub = dub2;
                        //inTime.add(new Millisecond(new Date(dat)), dub,"IN");
                    }
                }
                if (inOut == 2) {
                    if (Intersection == 1) {
                        dat = dat1;
                        dub = dub1;
                        outTime.add(new Millisecond(new Date(dat)), dub,"OUT");
                        for (int ii = 1; ii < controlnum; ii++) {
                            long dd = (long) ii;
                            long totalnum = (long)controlnum;
                            double angles = (double)((double)dd)*doublepai/12.0D;
                            double randomnum = Math.sin(angles);
                            randomnum = Math.abs(randomnum);
                            double randomlen = length*randomnum;
                            dat = dat1 + (dd*timeperiods)/totalnum;
                            dub = dub1 + randomlen;
                            outTime.add(new Millisecond(new Date(dat)), dub,"OUT");
                        }
                        //dat = dat2;
                        //dub = dub2;
                        //outTime.add(new Millisecond(new Date(dat)), dub,"OUT");
                    } else
                    if (Intersection == 3) {
                        dat = dat1;
                        dub = dub1;
                        outTime.add(new Millisecond(new Date(dat)), dub,"OUT");
                        for (int ii = 1; ii < controlnum; ii++) {
                            long dd = (long) ii;
                            long totalnum = (long)controlnum;
                            double angles = (double)((double)dd)*doublepai/12.0D;
                            double randomnum = Math.sin(angles);
                            randomnum = Math.abs(randomnum);
                            double randomlen = length*randomnum;
                            dat = dat1 + (dd*timeperiods)/totalnum;
                            dub = dub1 - randomlen;
                            outTime.add(new Millisecond(new Date(dat)), dub,"OUT");
                        }
                        //dat = dat2;
                        //dub = dub2;
                        //outTime.add(new Millisecond(new Date(dat)), dub,"OUT");
                    }
                }
            }
            if (signlabel == 2) {
                long dats = 0L;
                double dubs = 0.0D;

                if (inOut == 1) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -