?? webhitdataset.java
字號:
/*
* This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* ---------------------------
* WebHitDataSet.java
* ---------------------------
* (C) Copyright 2002-2004, by Richard Atkinson.
*
* Original Author: Richard Atkinson;
*/
package org.jfree.chart.demo.servlet;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Locale;
import java.util.HashMap;
public class WebHitDataSet {
protected ArrayList data = new ArrayList();
public WebHitDataSet() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy",Locale.UK);
data.add(new WebHit(sdf.parse("01-Aug-2002"), "Catalog", 101923));
data.add(new WebHit(sdf.parse("02-Aug-2002"), "Catalog", 113125));
data.add(new WebHit(sdf.parse("05-Aug-2002"), "Catalog", 122148));
data.add(new WebHit(sdf.parse("06-Aug-2002"), "Catalog", 117434));
data.add(new WebHit(sdf.parse("07-Aug-2002"), "Catalog", 133256));
data.add(new WebHit(sdf.parse("08-Aug-2002"), "Catalog", 157654));
data.add(new WebHit(sdf.parse("09-Aug-2002"), "Catalog", 195356));
data.add(new WebHit(sdf.parse("12-Aug-2002"), "Catalog", 122567));
data.add(new WebHit(sdf.parse("13-Aug-2002"), "Catalog", 146343));
data.add(new WebHit(sdf.parse("14-Aug-2002"), "Catalog", 184558));
data.add(new WebHit(sdf.parse("15-Aug-2002"), "Catalog", 226524));
data.add(new WebHit(sdf.parse("16-Aug-2002"), "Catalog", 235234));
data.add(new WebHit(sdf.parse("19-Aug-2002"), "Catalog", 273442));
data.add(new WebHit(sdf.parse("20-Aug-2002"), "Catalog", 253675));
data.add(new WebHit(sdf.parse("21-Aug-2002"), "Catalog", 226434));
data.add(new WebHit(sdf.parse("22-Aug-2002"), "Catalog", 236558));
data.add(new WebHit(sdf.parse("23-Aug-2002"), "Catalog", 242655));
data.add(new WebHit(sdf.parse("26-Aug-2002"), "Catalog", 232562));
data.add(new WebHit(sdf.parse("27-Aug-2002"), "Catalog", 223226));
data.add(new WebHit(sdf.parse("28-Aug-2002"), "Catalog", 252626));
data.add(new WebHit(sdf.parse("01-Aug-2002"), "Checkout", 32355));
data.add(new WebHit(sdf.parse("02-Aug-2002"), "Checkout", 28543));
data.add(new WebHit(sdf.parse("05-Aug-2002"), "Checkout", 29665));
data.add(new WebHit(sdf.parse("06-Aug-2002"), "Checkout", 34567));
data.add(new WebHit(sdf.parse("07-Aug-2002"), "Checkout", 32453));
data.add(new WebHit(sdf.parse("08-Aug-2002"), "Checkout", 29455));
data.add(new WebHit(sdf.parse("09-Aug-2002"), "Checkout", 28558));
data.add(new WebHit(sdf.parse("12-Aug-2002"), "Checkout", 31084));
data.add(new WebHit(sdf.parse("13-Aug-2002"), "Checkout", 32568));
data.add(new WebHit(sdf.parse("14-Aug-2002"), "Checkout", 33563));
data.add(new WebHit(sdf.parse("15-Aug-2002"), "Checkout", 35675));
data.add(new WebHit(sdf.parse("16-Aug-2002"), "Checkout", 37568));
data.add(new WebHit(sdf.parse("19-Aug-2002"), "Checkout", 38764));
data.add(new WebHit(sdf.parse("20-Aug-2002"), "Checkout", 35787));
data.add(new WebHit(sdf.parse("21-Aug-2002"), "Checkout", 37865));
data.add(new WebHit(sdf.parse("22-Aug-2002"), "Checkout", 39563));
data.add(new WebHit(sdf.parse("23-Aug-2002"), "Checkout", 40291));
data.add(new WebHit(sdf.parse("26-Aug-2002"), "Checkout", 39576));
data.add(new WebHit(sdf.parse("27-Aug-2002"), "Checkout", 43623));
data.add(new WebHit(sdf.parse("28-Aug-2002"), "Checkout", 41436));
data.add(new WebHit(sdf.parse("01-Aug-2002"), "Tracking", 45344));
data.add(new WebHit(sdf.parse("02-Aug-2002"), "Tracking", 43222));
data.add(new WebHit(sdf.parse("05-Aug-2002"), "Tracking", 44567));
data.add(new WebHit(sdf.parse("06-Aug-2002"), "Tracking", 46435));
data.add(new WebHit(sdf.parse("07-Aug-2002"), "Tracking", 42538));
data.add(new WebHit(sdf.parse("08-Aug-2002"), "Tracking", 39553));
data.add(new WebHit(sdf.parse("09-Aug-2002"), "Tracking", 44565));
data.add(new WebHit(sdf.parse("12-Aug-2002"), "Tracking", 46548));
data.add(new WebHit(sdf.parse("13-Aug-2002"), "Tracking", 55433));
data.add(new WebHit(sdf.parse("14-Aug-2002"), "Tracking", 58548));
data.add(new WebHit(sdf.parse("15-Aug-2002"), "Tracking", 45453));
data.add(new WebHit(sdf.parse("16-Aug-2002"), "Tracking", 34565));
data.add(new WebHit(sdf.parse("19-Aug-2002"), "Tracking", 56678));
data.add(new WebHit(sdf.parse("20-Aug-2002"), "Tracking", 54569));
data.add(new WebHit(sdf.parse("21-Aug-2002"), "Tracking", 56843));
data.add(new WebHit(sdf.parse("22-Aug-2002"), "Tracking", 43772));
data.add(new WebHit(sdf.parse("23-Aug-2002"), "Tracking", 32655));
data.add(new WebHit(sdf.parse("26-Aug-2002"), "Tracking", 39564));
data.add(new WebHit(sdf.parse("27-Aug-2002"), "Tracking", 37643));
data.add(new WebHit(sdf.parse("28-Aug-2002"), "Tracking", 34763));
data.add(new WebHit(sdf.parse("01-Aug-2002"), "Service", 55437));
data.add(new WebHit(sdf.parse("02-Aug-2002"), "Service", 55745));
data.add(new WebHit(sdf.parse("05-Aug-2002"), "Service", 52523));
data.add(new WebHit(sdf.parse("06-Aug-2002"), "Service", 48563));
data.add(new WebHit(sdf.parse("07-Aug-2002"), "Service", 34675));
data.add(new WebHit(sdf.parse("08-Aug-2002"), "Service", 29455));
data.add(new WebHit(sdf.parse("09-Aug-2002"), "Service", 43678));
data.add(new WebHit(sdf.parse("12-Aug-2002"), "Service", 64377));
data.add(new WebHit(sdf.parse("13-Aug-2002"), "Service", 43677));
data.add(new WebHit(sdf.parse("14-Aug-2002"), "Service", 37574));
data.add(new WebHit(sdf.parse("15-Aug-2002"), "Service", 32645));
data.add(new WebHit(sdf.parse("16-Aug-2002"), "Service", 35345));
data.add(new WebHit(sdf.parse("19-Aug-2002"), "Service", 26785));
data.add(new WebHit(sdf.parse("20-Aug-2002"), "Service", 24754));
data.add(new WebHit(sdf.parse("21-Aug-2002"), "Service", 22467));
data.add(new WebHit(sdf.parse("22-Aug-2002"), "Service", 18545));
data.add(new WebHit(sdf.parse("23-Aug-2002"), "Service", 20567));
data.add(new WebHit(sdf.parse("26-Aug-2002"), "Service", 19325));
data.add(new WebHit(sdf.parse("27-Aug-2002"), "Service", 17343));
data.add(new WebHit(sdf.parse("28-Aug-2002"), "Service", 18533));
}
public ArrayList getDataByHitDate(String filterSection) {
ArrayList results = new ArrayList();
HashMap dateMap = new HashMap();
Iterator iter = this.data.listIterator();
int currentPosition = 0;
while (iter.hasNext()) {
WebHit webHit = (WebHit)iter.next();
if (filterSection == null ? true : filterSection.equals(webHit.getSection())) {
Integer position = (Integer)dateMap.get(webHit.getHitDate());
if (position == null) {
results.add(webHit);
dateMap.put(webHit.getHitDate(), new Integer(currentPosition));
currentPosition++;
} else {
WebHit previousWebHit = (WebHit)results.get(position.intValue());
previousWebHit.setHitCount(previousWebHit.getHitCount() + webHit.getHitCount());
}
}
}
return results;
}
public ArrayList getDataBySection(Date filterHitDate) {
ArrayList results = new ArrayList();
HashMap sectionMap = new HashMap();
Iterator iter = this.data.listIterator();
int currentPosition = 0;
while (iter.hasNext()) {
WebHit webHit = (WebHit)iter.next();
if (filterHitDate == null ? true : filterHitDate.equals(webHit.getHitDate())) {
Integer position = (Integer)sectionMap.get(webHit.getSection());
if (position == null) {
results.add(webHit);
sectionMap.put(webHit.getSection(), new Integer(currentPosition));
currentPosition++;
} else {
WebHit previousWebHit = (WebHit)results.get(position.intValue());
previousWebHit.setHitCount(previousWebHit.getHitCount() + webHit.getHitCount());
}
}
}
return results;
}
public ArrayList getSections() {
ArrayList list = new ArrayList();
list.add("Catalog");
list.add("Checkout");
list.add("Tracking");
list.add("Service");
return list;
}
public static void main(java.lang.String[] args) {
try {
WebHitDataSet whDataSet = new WebHitDataSet();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy",Locale.UK);
ArrayList results = whDataSet.getDataBySection(sdf.parse("01-Aug-2002"));
Iterator iter = results.listIterator();
while (iter.hasNext()) {
WebHit wh = (WebHit)iter.next();
System.out.println(wh.getSection() + " - " + wh.getHitCount());
}
System.out.println("Finished.");
} catch (Exception e) {
e.printStackTrace();
}
}
public static ArrayList getDateList() {
ArrayList dateList = new ArrayList();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy",Locale.UK);
try {
dateList.add(sdf.parse("28-Aug-2002"));
dateList.add(sdf.parse("27-Aug-2002"));
dateList.add(sdf.parse("26-Aug-2002"));
dateList.add(sdf.parse("23-Aug-2002"));
dateList.add(sdf.parse("22-Aug-2002"));
dateList.add(sdf.parse("21-Aug-2002"));
dateList.add(sdf.parse("20-Aug-2002"));
dateList.add(sdf.parse("19-Aug-2002"));
dateList.add(sdf.parse("16-Aug-2002"));
dateList.add(sdf.parse("15-Aug-2002"));
dateList.add(sdf.parse("14-Aug-2002"));
dateList.add(sdf.parse("13-Aug-2002"));
dateList.add(sdf.parse("12-Aug-2002"));
dateList.add(sdf.parse("09-Aug-2002"));
dateList.add(sdf.parse("08-Aug-2002"));
dateList.add(sdf.parse("07-Aug-2002"));
dateList.add(sdf.parse("06-Aug-2002"));
dateList.add(sdf.parse("05-Aug-2002"));
dateList.add(sdf.parse("02-Aug-2002"));
dateList.add(sdf.parse("01-Aug-2002"));
} catch (ParseException e) {
// ignore
}
return dateList;
}
public static ArrayList getSectionList() {
ArrayList sectionList = new ArrayList();
sectionList.add("Catalog");
sectionList.add("Checkout");
sectionList.add("Service");
sectionList.add("Tracking");
return sectionList;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -