summaryrefslogtreecommitdiff
path: root/htroot
diff options
context:
space:
mode:
authororbiter <orbiter@6c8d7289-2bf4-0310-a012-ef5d649a1542>2007-07-16 23:47:21 +0000
committerorbiter <orbiter@6c8d7289-2bf4-0310-a012-ef5d649a1542>2007-07-16 23:47:21 +0000
commitb6d9cca67ef40f0ab3b92754c7bc82df250d7f82 (patch)
tree46881e061c4ac91c8c840e315fcbf4162f618a48 /htroot
parentb1630e73c8d805c23befbbd22c6cc083a28179b9 (diff)
- fixed problem with yacyVersion and own version generation
- within this context: generalized date format handling - extended Update interface: * a version lookup can be triggered manually * a complete lookup + download + re-boot process can be triggered with one click git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3986 6c8d7289-2bf4-0310-a012-ef5d649a1542
Diffstat (limited to 'htroot')
-rw-r--r--htroot/AccessTracker_p.java9
-rw-r--r--htroot/ConfigUpdate_p.html25
-rw-r--r--htroot/ConfigUpdate_p.java33
-rw-r--r--htroot/News.java5
-rw-r--r--htroot/Supporter.java3
-rw-r--r--htroot/Surftips.java3
-rw-r--r--htroot/yacy/hello.java4
-rw-r--r--htroot/yacy/query.java5
-rw-r--r--htroot/yacy/transferURL.java4
9 files changed, 69 insertions, 22 deletions
diff --git a/htroot/AccessTracker_p.java b/htroot/AccessTracker_p.java
index 5310dc7b3..5fc8248a8 100644
--- a/htroot/AccessTracker_p.java
+++ b/htroot/AccessTracker_p.java
@@ -38,6 +38,7 @@ import de.anomic.http.httpHeader;
import de.anomic.net.natLib;
import de.anomic.plasma.plasmaSearchQuery;
import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverDate;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.yacy.yacyCore;
@@ -97,7 +98,7 @@ public class AccessTracker_p {
while (ii.hasNext()) {
entry = (Map.Entry) ii.next();
prop.put("page_list_" + entCount + "_host", host);
- prop.put("page_list_" + entCount + "_date", yacyCore.universalDateShortString(new Date(((Long) entry.getKey()).longValue())));
+ prop.put("page_list_" + entCount + "_date", serverDate.shortSecondTime(new Date(((Long) entry.getKey()).longValue())));
prop.put("page_list_" + entCount + "_path", (String) entry.getValue());
entCount++;
}
@@ -113,7 +114,7 @@ public class AccessTracker_p {
while (ii.hasNext()) {
entry = (Map.Entry) ii.next();
prop.put("page_list_" + entCount + "_host", host);
- prop.put("page_list_" + entCount + "_date", yacyCore.universalDateShortString(new Date(((Long) entry.getKey()).longValue())));
+ prop.put("page_list_" + entCount + "_date", serverDate.shortSecondTime(new Date(((Long) entry.getKey()).longValue())));
prop.put("page_list_" + entCount + "_path", (String) entry.getValue());
entCount++;
}
@@ -135,7 +136,7 @@ public class AccessTracker_p {
// put values in template
prop.put("page_list_" + entCount + "_dark", ((dark) ? 1 : 0) ); dark =! dark;
prop.put("page_list_" + entCount + "_host", (String) searchProfile.get("host"));
- prop.put("page_list_" + entCount + "_date", yacyCore.universalDateShortString(new Date(trackerHandle.longValue())));
+ prop.put("page_list_" + entCount + "_date", serverDate.shortSecondTime(new Date(trackerHandle.longValue())));
prop.put("page_list_" + entCount + "_timestamp", Long.toString(trackerHandle.longValue()));
if (page == 2) {
// local search
@@ -171,7 +172,7 @@ public class AccessTracker_p {
Iterator ii = handles.iterator();
while (ii.hasNext()) {
Long timestamp = (Long) ii.next();
- prop.put("page_list_" + entCount + "_dates_" + dateCount + "_date", yacyCore.universalDateShortString(new Date(timestamp.longValue())));
+ prop.put("page_list_" + entCount + "_dates_" + dateCount + "_date", serverDate.shortSecondTime(new Date(timestamp.longValue())));
prop.put("page_list_" + entCount + "_dates_" + dateCount + "_timestamp", timestamp.toString());
dateCount++;
}
diff --git a/htroot/ConfigUpdate_p.html b/htroot/ConfigUpdate_p.html
index 9c1a4cd0c..674833b39 100644
--- a/htroot/ConfigUpdate_p.html
+++ b/htroot/ConfigUpdate_p.html
@@ -23,19 +23,30 @@
<option #(selected)#::selected#(/selected)# value="#[url]#">#[name]#</option>
#{/availreleases}#
</select>
- &nbsp;&nbsp;<input type="submit" name="downloadRelease" value="DownloadRelease" />
+ &nbsp;&nbsp;<input type="submit" name="downloadRelease" value="Download Release" />
+ &nbsp;&nbsp;<input type="submit" name="checkRelease" value="Check for new Release" />
</form></dd>
- <dt>Downloaded Releases</dt>
+ <dt><br />Downloaded Releases</dt>
<dd><form action="Steering.html" method="get">
&nbsp;<select name="releaseinstall">
#{downloadedreleases}#
<option #(selected)#::selected#(/selected)# value="#[file]#">#[name]#</option>
#{/downloadedreleases}#
- </select>#(deployenabled)#::no&nbsp;automated installation on development environments::
- &nbsp;&nbsp;<button type="submit" name="update" value="InstallRelease">
- <img src="/env/grafics/lock.gif" alt="" />
- Install Release
- </button>#(/deployenabled)#
+ </select>
+ #(deployenabled)#::no&nbsp;automated installation on development environments::
+ &nbsp;&nbsp;<input type="submit" name="update" value="Install Release" />
+ #(/deployenabled)#
+ </form></dd>
+ <dt><br />Automatic Update</dt>
+ <dd><form action="ConfigUpdate_p.html" method="get">
+ &nbsp;check for new releases, download if available and restart with downloaded release<br />
+ &nbsp;&nbsp;<input type="submit" name="autoUpdate" value="Check + Download + Install Release Now" /><br />
+ #(autoUpdate)#::
+ <div class="commit">Download of release #[downloadedRelease]# finished. Restart Initiated.</div>::
+ <div class="error">No more recent release found.</div>::
+ <div class="error">Omiting update because this is a development environment.</div>::
+ <div class="error">Omiting update because download of relase #[downloadedRelease]# failed.</div>
+ #(/autoUpdate)#
</form></dd>
</dl>
</fieldset>
diff --git a/htroot/ConfigUpdate_p.java b/htroot/ConfigUpdate_p.java
index a4d0d426f..459d4ab4e 100644
--- a/htroot/ConfigUpdate_p.java
+++ b/htroot/ConfigUpdate_p.java
@@ -46,6 +46,7 @@ public class ConfigUpdate_p {
final plasmaSwitchboard sb = (plasmaSwitchboard) env;
prop.put("candeploy_configCommit", 0);
+ prop.put("candeploy_autoUpdate", 0);
if (post != null) {
if (post.containsKey("downloadRelease")) {
@@ -61,6 +62,38 @@ public class ConfigUpdate_p {
}
}
+ if (post.containsKey("checkRelease")) {
+ yacyVersion.allReleases(true);
+ }
+
+ if (post.containsKey("autoUpdate")) {
+ yacyVersion updateVersion = yacyVersion.rulebasedUpdateInfo(true);
+ if (updateVersion == null) {
+ prop.put("candeploy_autoUpdate", 2); // no more recent release found
+ } else try {
+ // there is a version that is more recent. Load it and re-start with it
+ sb.getLog().logInfo("AUTO-UPDATE: downloading more recent release " + updateVersion.url);
+ yacyVersion.downloadRelease(updateVersion);
+ prop.put("candeploy_autoUpdate_downloadedRelease", updateVersion.name);
+ File releaseFile = new File(sb.getRootPath(), "DATA/RELEASE/" + updateVersion.name);
+ boolean devenvironment = yacyVersion.combined2prettyVersion(sb.getConfig("version","0.1")).startsWith("dev");
+ if (devenvironment) {
+ sb.getLog().logInfo("AUTO-UPDATE: omiting update because this is a development environment");
+ prop.put("candeploy_autoUpdate", 3);
+ } else if ((!releaseFile.exists()) || (releaseFile.length() == 0)) {
+ sb.getLog().logInfo("AUTO-UPDATE: omiting update because download failed (file cannot be found or is too small)");
+ prop.put("candeploy_autoUpdate", 4);
+ } else {
+ yacyVersion.deployRelease(updateVersion.name);
+ sb.terminate(5000);
+ sb.getLog().logInfo("AUTO-UPDATE: deploy and restart initiated");
+ prop.put("candeploy_autoUpdate", 1);
+ }
+ } catch (IOException e) {
+ sb.getLog().logSevere("AUTO-UPDATE: could not download and install release " + updateVersion.url + ": " + e.getMessage());
+ }
+ }
+
if (post.containsKey("configSubmit")) {
prop.put("candeploy_configCommit", 1);
sb.setConfig("update.process", (post.get("updateMode", "manual").equals("manual")) ? "manual" : "auto");
diff --git a/htroot/News.java b/htroot/News.java
index fa4cea787..6e5430b75 100644
--- a/htroot/News.java
+++ b/htroot/News.java
@@ -51,6 +51,7 @@ import java.util.Map;
import de.anomic.http.httpHeader;
import de.anomic.http.httpc;
import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverDate;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.yacy.yacyCore;
@@ -137,10 +138,10 @@ public class News {
String category = record.category();
prop.put("table_list_" + i + "_id", record.id());
prop.put("table_list_" + i + "_ori", (seed == null) ? record.originator() : seed.getName());
- prop.put("table_list_" + i + "_cre", yacyCore.universalDateShortString(record.created()));
+ prop.put("table_list_" + i + "_cre", serverDate.shortSecondTime(record.created()));
prop.put("table_list_" + i + "_crerfcdate", httpc.dateString(record.created()));
prop.put("table_list_" + i + "_cat", category);
- prop.put("table_list_" + i + "_rec", (record.received() == null) ? "-" : yacyCore.universalDateShortString(record.received()));
+ prop.put("table_list_" + i + "_rec", (record.received() == null) ? "-" : serverDate.shortSecondTime(record.received()));
prop.put("table_list_" + i + "_dis", record.distributed());
Map attributeMap = record.attributes();
diff --git a/htroot/Supporter.java b/htroot/Supporter.java
index ecf57ebda..53e09ef52 100644
--- a/htroot/Supporter.java
+++ b/htroot/Supporter.java
@@ -39,6 +39,7 @@ import de.anomic.kelondro.kelondroRow;
import de.anomic.kelondro.kelondroNaturalOrder;
import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.plasma.urlPattern.plasmaURLPattern;
+import de.anomic.server.serverDate;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.tools.crypt;
@@ -104,7 +105,7 @@ public class Supporter {
//accumulateVotes(negativeHashes, positiveHashes, yacyNewsPool.OUTGOING_DB);
//accumulateVotes(negativeHashes, positiveHashes, yacyNewsPool.PUBLISHED_DB);
kelondroMScoreCluster ranking = new kelondroMScoreCluster(); // score cluster for url hashes
- kelondroRow rowdef = new kelondroRow("String url-255, String title-120, String description-120, String refid-" + (yacyCore.universalDateShortPattern.length() + 12), kelondroNaturalOrder.naturalOrder, 0);
+ kelondroRow rowdef = new kelondroRow("String url-255, String title-120, String description-120, String refid-" + (serverDate.shortSecondFormatterPattern.length() + 12), kelondroNaturalOrder.naturalOrder, 0);
HashMap Supporter = new HashMap(); // a mapping from an url hash to a kelondroRow.Entry with display properties
accumulateSupporter(Supporter, ranking, rowdef, negativeHashes, positiveHashes, yacyNewsPool.INCOMING_DB);
//accumulateSupporter(Supporter, ranking, rowdef, negativeHashes, positiveHashes, yacyNewsPool.OUTGOING_DB);
diff --git a/htroot/Surftips.java b/htroot/Surftips.java
index 2681f43bb..ee01a298e 100644
--- a/htroot/Surftips.java
+++ b/htroot/Surftips.java
@@ -39,6 +39,7 @@ import de.anomic.kelondro.kelondroRow;
import de.anomic.kelondro.kelondroNaturalOrder;
import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.plasma.urlPattern.plasmaURLPattern;
+import de.anomic.server.serverDate;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.tools.crypt;
@@ -112,7 +113,7 @@ public class Surftips {
//accumulateVotes(negativeHashes, positiveHashes, yacyNewsPool.OUTGOING_DB);
//accumulateVotes(negativeHashes, positiveHashes, yacyNewsPool.PUBLISHED_DB);
kelondroMScoreCluster ranking = new kelondroMScoreCluster(); // score cluster for url hashes
- kelondroRow rowdef = new kelondroRow("String url-255, String title-120, String description-120, String refid-" + (yacyCore.universalDateShortPattern.length() + 12), kelondroNaturalOrder.naturalOrder, 0);
+ kelondroRow rowdef = new kelondroRow("String url-255, String title-120, String description-120, String refid-" + (serverDate.shortSecondFormatterPattern.length() + 12), kelondroNaturalOrder.naturalOrder, 0);
HashMap surftips = new HashMap(); // a mapping from an url hash to a kelondroRow.Entry with display properties
accumulateSurftips(surftips, ranking, rowdef, negativeHashes, positiveHashes, yacyNewsPool.INCOMING_DB);
//accumulateSurftips(surftips, ranking, rowdef, negativeHashes, positiveHashes, yacyNewsPool.OUTGOING_DB);
diff --git a/htroot/yacy/hello.java b/htroot/yacy/hello.java
index 31f892147..c7f46d429 100644
--- a/htroot/yacy/hello.java
+++ b/htroot/yacy/hello.java
@@ -46,13 +46,13 @@
// javac -classpath .:../../classes hello.java
// if the shell's current path is HTROOT
-import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import de.anomic.http.httpHeader;
import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.server.serverCore;
+import de.anomic.server.serverDate;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.yacy.yacyClient;
@@ -205,7 +205,7 @@ public final class hello {
seeds.append("seed0=").append(yacyCore.seedDB.mySeed.genSeedStr(key)).append(serverCore.crlfString);
}
- prop.putASIS("mytime", yacyCore.universalDateShortString(new Date()));
+ prop.putASIS("mytime", serverDate.shortSecondTime());
prop.putASIS("seedlist", seeds.toString());
// return rewrite properties
return prop;
diff --git a/htroot/yacy/query.java b/htroot/yacy/query.java
index a4b9ddfdc..712eafe56 100644
--- a/htroot/yacy/query.java
+++ b/htroot/yacy/query.java
@@ -46,10 +46,9 @@
// javac -classpath .:../../classes query.java
// if the shell's current path is HTROOT
-import java.util.Date;
-
import de.anomic.http.httpHeader;
import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverDate;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.yacy.yacyCore;
@@ -86,7 +85,7 @@ public final class query {
final String obj = post.get("object", ""); // keyword for query subject
final String env = post.get("env", ""); // argument to query
- prop.putASIS("mytime", yacyCore.universalDateShortString(new Date()));
+ prop.putASIS("mytime", serverDate.shortSecondTime());
// check if we are the right target and requester has correct information about this peer
if (yacyCore.seedDB.mySeed == null || !yacyCore.seedDB.mySeed.hash.equals(youare)) {
diff --git a/htroot/yacy/transferURL.java b/htroot/yacy/transferURL.java
index ac886b62c..f88191126 100644
--- a/htroot/yacy/transferURL.java
+++ b/htroot/yacy/transferURL.java
@@ -51,11 +51,11 @@ import java.text.ParseException;
import de.anomic.http.httpHeader;
import de.anomic.index.indexURLEntry;
import de.anomic.plasma.plasmaSwitchboard;
-import de.anomic.plasma.plasmaURL;
import de.anomic.plasma.urlPattern.plasmaURLPattern;
import de.anomic.server.serverCore;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
+import de.anomic.server.serverDate;
import de.anomic.yacy.yacyCore;
import de.anomic.yacy.yacyNetwork;
import de.anomic.yacy.yacySeed;
@@ -66,7 +66,7 @@ public final class transferURL {
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) throws InterruptedException {
long start = System.currentTimeMillis();
long freshdate = 0;
- try {freshdate = plasmaURL.shortDayFormatter.parse("20061101").getTime();} catch (ParseException e1) {}
+ try {freshdate = serverDate.shortDayFormatter.parse("20061101").getTime();} catch (ParseException e1) {}
// return variable that accumulates replacements
final plasmaSwitchboard sb = (plasmaSwitchboard) env;