📄 reportdetailsbean.java
字号:
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 + -