Author: j16sdiz
Date: 2009-04-07 00:18:01 +0000 (Tue, 07 Apr 2009)
New Revision: 26583
Modified:
trunk/plugins/XMLSpider/db/Config.java
trunk/plugins/XMLSpider/web/ConfigPage.java
Log:
"Working period" patch from Artefact2
Editified to remove whitespace changes
Modified: trunk/plugins/XMLSpider/db/Config.java
===================================================================
--- trunk/plugins/XMLSpider/db/Config.java 2009-04-07 00:09:10 UTC (rev
26582)
+++ trunk/plugins/XMLSpider/db/Config.java 2009-04-07 00:18:01 UTC (rev
26583)
@@ -8,6 +8,8 @@
import freenet.node.RequestStarter;
import freenet.support.Logger;
+import java.util.Calendar;
+
public class Config extends Persistent implements Cloneable {
/**
* Directory where the generated indices are stored
@@ -21,7 +23,10 @@
private String indexOwnerEmail;
private int maxShownURIs;
- private int maxParallelRequests;
+ private int maxParallelRequestsWorking;
+ private int maxParallelRequestsNonWorking;
+ private int beginWorkingPeriod; // Between 0 and 23
+ private int endWorkingPeriod; // Between 0 and 23
private String[] badlistedExtensions;
private short requestPriority;
@@ -41,7 +46,10 @@
maxShownURIs = 15;
- maxParallelRequests = 100;
+ maxParallelRequestsWorking = 100;
+ maxParallelRequestsNonWorking = 100;
+ beginWorkingPeriod = 23;
+ endWorkingPeriod = 7;
badlistedExtensions = new String[] { //
".ico", ".bmp", ".png", ".jpg", ".jpeg",
".gif", // image
@@ -132,15 +140,65 @@
return indexOwnerEmail;
}
- public synchronized void setMaxParallelRequests(int
maxParallelRequests) {
+ public synchronized void setMaxParallelRequestsWorking(int
maxParallelRequests) {
assert !isPersistent();
- this.maxParallelRequests = maxParallelRequests;
+ this.maxParallelRequestsWorking = maxParallelRequests;
}
+ public synchronized int getMaxParallelRequestsWorking() {
+ return maxParallelRequestsWorking;
+ }
+
+ public synchronized void setMaxParallelRequestsNonWorking(int
maxParallelRequests) {
+ assert !isPersistent();
+ this.maxParallelRequestsNonWorking = maxParallelRequests;
+ }
+
+ public synchronized int getMaxParallelRequestsNonWorking() {
+ return maxParallelRequestsNonWorking;
+ }
+
public synchronized int getMaxParallelRequests() {
- return maxParallelRequests;
+ int actualHour =
Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
+ Boolean isWorking = true;
+
+ if(this.getBeginWorkingPeriod() < this.getEndWorkingPeriod()) {
+ // Midnight isn't in the interval.
+ // m M
+ // 0 -----|############|----- 24
+ isWorking = (actualHour > this.getBeginWorkingPeriod()
&& actualHour < this.getEndWorkingPeriod());
+ } else {
+ // Midnight is in the interval.
+ // M m
+ // 0 #####|------------|##### 24
+ isWorking = (actualHour > this.getBeginWorkingPeriod()
|| actualHour < this.getEndWorkingPeriod());
+ }
+
+ if(isWorking) {
+ return this.getMaxParallelRequestsWorking();
+ } else {
+ return this.getMaxParallelRequestsNonWorking();
+ }
}
+ public synchronized void setBeginWorkingPeriod(int beginWorkingPeriod) {
+ assert !isPersistent();
+ this.beginWorkingPeriod = beginWorkingPeriod;
+ }
+
+ public synchronized int getBeginWorkingPeriod() {
+ return beginWorkingPeriod;
+ }
+
+ public synchronized void setEndWorkingPeriod(int endWorkingPeriod) {
+ assert !isPersistent();
+ this.endWorkingPeriod = endWorkingPeriod;
+ }
+
+ public synchronized int getEndWorkingPeriod() {
+ return endWorkingPeriod;
+ }
+
public synchronized void setBadlistedExtensions(String[]
badlistedExtensions) {
assert !isPersistent();
this.badlistedExtensions = badlistedExtensions;
Modified: trunk/plugins/XMLSpider/web/ConfigPage.java
===================================================================
--- trunk/plugins/XMLSpider/web/ConfigPage.java 2009-04-07 00:09:10 UTC (rev
26582)
+++ trunk/plugins/XMLSpider/web/ConfigPage.java 2009-04-07 00:18:01 UTC (rev
26583)
@@ -34,10 +34,22 @@
public synchronized void processPostRequest(HTTPRequest request,
HTMLNode contentNode) {
config = xmlSpider.getConfig().clone();
- if (request.isPartSet("maxParallelRequests")) {
- int v = request.getIntPart("maxParallelRequests",
config.getMaxParallelRequests());
- config.setMaxParallelRequests(v);
+ if (request.isPartSet("maxParallelRequestsWorking")) {
+ int v =
request.getIntPart("maxParallelRequestsWorking",
config.getMaxParallelRequestsWorking());
+ config.setMaxParallelRequestsWorking(v);
}
+ if (request.isPartSet("maxParallelRequestsNonWorking")) {
+ int v =
request.getIntPart("maxParallelRequestsNonWorking",
config.getMaxParallelRequestsNonWorking());
+ config.setMaxParallelRequestsNonWorking(v);
+ }
+ if (request.isPartSet("beginWorkingPeriod")) {
+ int v = request.getIntPart("beginWorkingPeriod",
config.getBeginWorkingPeriod());
+ config.setBeginWorkingPeriod(v);
+ }
+ if (request.isPartSet("endWorkingPeriod")) {
+ int v = request.getIntPart("endWorkingPeriod",
config.getEndWorkingPeriod());
+ config.setEndWorkingPeriod(v);
+ }
if (request.isPartSet("indexMaxEntries")) {
int v = request.getIntPart("indexMaxEntries",
config.getIndexMaxEntries());
config.setIndexMaxEntries(v);
@@ -100,11 +112,30 @@
HTMLNode spiderConfig = configForm.addChild("ul", "class",
"config");
addConfig(spiderConfig, //
- "Max Parallel Requests", "Maximum number of parallel
requests.", //
- "maxParallelRequests", //
+ "Max Parallel Requests (Working)", "Maximum number of
parallel requests if we are in the working period.", //
+ "maxParallelRequestsWorking", //
new String[] { "0", "10", "50", "100", "250", "500" },
//
- Integer.toString(config.getMaxParallelRequests()));
+
Integer.toString(config.getMaxParallelRequestsWorking()));
addConfig(spiderConfig, //
+ "Max Parallel Requests (Non-Working)", "Maximum number
of parallel requests if we are not in the working period.", //
+ "maxParallelRequestsNonWorking", //
+ new String[] { "0", "10", "50", "100", "250", "500" },
//
+
Integer.toString(config.getMaxParallelRequestsNonWorking()));
+
+ addConfig(spiderConfig, //
+ "Working period beginning hour", "Beginning hour of the
Working period.", //
+ "beginWorkingPeriod", //
+ new String[] { "0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "10", "11",
+ "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23" }, //
+ Integer.toString(config.getBeginWorkingPeriod()));
+ addConfig(spiderConfig, //
+ "Working period ending hour", "Ending hour of the
Working period.", //
+ "endWorkingPeriod", //
+ new String[] { "0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "10", "11",
+ "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23" }, //
+ Integer.toString(config.getEndWorkingPeriod()));
+
+ addConfig(spiderConfig, //
"Bad Listed Extensions", "Comma seprated list of banned
URI suffix.", //
"badListedExtensions", //
config.getBadlistedExtensions());
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs