diff options
| author | orbiter <orbiter@6c8d7289-2bf4-0310-a012-ef5d649a1542> | 2007-07-16 23:47:21 +0000 |
|---|---|---|
| committer | orbiter <orbiter@6c8d7289-2bf4-0310-a012-ef5d649a1542> | 2007-07-16 23:47:21 +0000 |
| commit | b6d9cca67ef40f0ab3b92754c7bc82df250d7f82 (patch) | |
| tree | 46881e061c4ac91c8c840e315fcbf4162f618a48 /htroot | |
| parent | b1630e73c8d805c23befbbd22c6cc083a28179b9 (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.java | 9 | ||||
| -rw-r--r-- | htroot/ConfigUpdate_p.html | 25 | ||||
| -rw-r--r-- | htroot/ConfigUpdate_p.java | 33 | ||||
| -rw-r--r-- | htroot/News.java | 5 | ||||
| -rw-r--r-- | htroot/Supporter.java | 3 | ||||
| -rw-r--r-- | htroot/Surftips.java | 3 | ||||
| -rw-r--r-- | htroot/yacy/hello.java | 4 | ||||
| -rw-r--r-- | htroot/yacy/query.java | 5 | ||||
| -rw-r--r-- | htroot/yacy/transferURL.java | 4 |
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> - <input type="submit" name="downloadRelease" value="DownloadRelease" /> + <input type="submit" name="downloadRelease" value="Download Release" /> + <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"> <select name="releaseinstall"> #{downloadedreleases}# <option #(selected)#::selected#(/selected)# value="#[file]#">#[name]#</option> #{/downloadedreleases}# - </select>#(deployenabled)#::no automated installation on development environments:: - <button type="submit" name="update" value="InstallRelease"> - <img src="/env/grafics/lock.gif" alt="" /> - Install Release - </button>#(/deployenabled)# + </select> + #(deployenabled)#::no automated installation on development environments:: + <input type="submit" name="update" value="Install Release" /> + #(/deployenabled)# + </form></dd> + <dt><br />Automatic Update</dt> + <dd><form action="ConfigUpdate_p.html" method="get"> + check for new releases, download if available and restart with downloaded release<br /> + <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;
|
