adopted latestVersion to float handling

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@363 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
orbiter 20 years ago
parent 374f4ccdb4
commit fbef7fed81

@ -78,12 +78,14 @@ public class Status {
prop.put("protection", 1);//protected
// version information
prop.put("svnRevision", env.getConfig("svnRevision", ""));
if ((yacyCore.latestVersion == null) || (yacyCore.latestVersion.length() < 3) || (yacyCore.latestVersion.equals(env.getConfig("version",""))))
prop.put("svnRevision", env.getConfig("svnRevision", ""));
float thisVersion = yacyCore.latestVersion;
try {thisVersion = Float.parseFloat(env.getConfig("version","0.1"));} catch (NumberFormatException e) {}
if (yacyCore.latestVersion == thisVersion)
prop.put("versioncomment", 0);//no commet
else
prop.put("versioncomment", 1);//new version
prop.put("versioncomment_latestVersion", yacyCore.latestVersion);
prop.put("versioncomment_latestVersion", "" + yacyCore.latestVersion);
prop.put("host", serverCore.publicLocalIP());
prop.put("port", env.getConfig("port", "<unknown>"));

@ -91,7 +91,7 @@ public class yacyCore {
public static yacyDHTAction dhtAgent = null;
public static serverLog log;
public static long lastOnlineTime = 0;
public static String latestVersion = "";
public static float latestVersion = (float) 0.1;
public static long speedKey = 0;
public static File yacyDBPath;

@ -289,6 +289,9 @@ public class yacyPeerActions {
if ((yacyCore.universalTime() - ctime) > 120000) seed.setFlagDirectConnect(false); // 2 minutes
}
// update latest version number
if (seed.getVersion() > yacyCore.latestVersion) yacyCore.latestVersion = seed.getVersion();
// prepare to update
if (disconnectedSeed != null) {
// if the indirect connect aims to announce a peer that we know has been disconnected

@ -1,4 +1,4 @@
//yacy.java
//yacy.java
//-----------------------
//(C) by Michael Peter Christen; mc@anomic.de
//first published on http://www.yacy.net
@ -113,12 +113,15 @@ public final class yacy {
// static objects
private static String vString = "@REPL_VERSION@";
private static float version = (float) 0.1;
private static final String vDATE = "@REPL_DATE@";
private static final String copyright = "[ YACY Proxy v" + vString + ", build " + vDATE + " by Michael Christen / www.yacy.net ]";
private static final String hline = "-------------------------------------------------------------------------------";
private static void startup(String homePath) {
long startup = yacyCore.universalTime();
try {version = Float.parseFloat(vString);} catch (NumberFormatException e) {}
try {
// start up
System.out.println(copyright);
@ -157,15 +160,15 @@ public final class yacy {
sb.setConfig("parseableExt", "html,htm,txt,php,shtml,asp");
// if we are running an SVN version, we try to detect the used svn revision now ...
Properties buildProp = new Properties();
File buildPropFile = null;
try {
buildPropFile = new File(homePath,"build.properties");
buildProp.load(new FileInputStream(buildPropFile));
} catch (Exception e) {
System.err.println("ERROR: " + buildPropFile.toString() + " not found in settings path");
}
Properties buildProp = new Properties();
File buildPropFile = null;
try {
buildPropFile = new File(homePath,"build.properties");
buildProp.load(new FileInputStream(buildPropFile));
} catch (Exception e) {
System.err.println("ERROR: " + buildPropFile.toString() + " not found in settings path");
}
try {
if (buildProp.containsKey("releaseNr")) {
// this normally looks like this: $Revision: 181 $
@ -174,9 +177,9 @@ public final class yacy {
Matcher matcher = pattern.matcher(svnReleaseNrStr);
if (matcher.find()) {
String svrReleaseNr = matcher.group(1);
if (vString.equals("@" + "REPL_VERSION" + "@")) {
vString = "SVN " + svrReleaseNr;
}
try {
version = version + (Float.parseFloat(svrReleaseNr) / (float) 10000000.0);
} catch (NumberFormatException e) {}
sb.setConfig("svnRevision", svrReleaseNr);
}
}
@ -184,11 +187,12 @@ public final class yacy {
System.err.println("Unable to determine the currently used SVN revision number.");
}
sb.setConfig("version", vString);
sb.setConfig("version", "" + version);
sb.setConfig("vdate", vDATE);
sb.setConfig("applicationRoot", homePath);
sb.setConfig("startupTime", "" + startup);
serverLog.logSystem("STARTUP", "YACY Version: " + vString + ", Built " + vDATE);
serverLog.logSystem("STARTUP", "YACY Version: " + version + ", Built " + vDATE);
yacyCore.latestVersion = version;
// read environment
//new
@ -216,9 +220,9 @@ public final class yacy {
"This directory shares it's content with the applications htroot path, so you\r\n" +
"may access your yacy search page with\r\n" +
"http://<your-peer-name>.yacy/\r\n" +
"\r\n").getBytes(), htdocsDefaultReadme);} catch (IOException e) {
System.out.println("Error creating htdocs readme: " + e.getMessage());
}
"\r\n").getBytes(), htdocsDefaultReadme);} catch (IOException e) {
System.out.println("Error creating htdocs readme: " + e.getMessage());
}
File wwwDefaultPath = new File(htDocsPath, "www");
if (!(wwwDefaultPath.exists())) wwwDefaultPath.mkdir();
@ -292,7 +296,7 @@ public final class yacy {
sb,
30000 /*command max length incl. GET args*/);
server.setName("httpd:"+port);
server.setPriority(Thread.MAX_PRIORITY);
server.setPriority(Thread.MAX_PRIORITY);
if (server == null) {
serverLog.logFailure("STARTUP", "Failed to start server. Probably port " + port + " already in use.");
} else {
@ -307,50 +311,50 @@ public final class yacy {
String browserPopUpApplication = sb.getConfig("browserPopUpApplication", "netscape");
serverSystem.openBrowser("http://localhost:" + port + "/" + browserPopUpPage, browserPopUpApplication);
}
//Copy the shipped locales into DATA
File localesPath = new File(sb.getRootPath(), sb.getConfig("localesPath", "DATA/LOCALE"));
File defaultLocalesPath = new File(sb.getRootPath(), "locales");
File defaultLocalesPath = new File(sb.getRootPath(), "locales");
try{
File[] defaultLocales = defaultLocalesPath.listFiles();
localesPath.mkdirs();
for(int i=0;i < defaultLocales.length; i++){
if(defaultLocales[i].getName().endsWith(".lng"))
serverFileUtils.copy(defaultLocales[i], new File(localesPath, defaultLocales[i].getName()));
serverFileUtils.copy(defaultLocales[i], new File(localesPath, defaultLocales[i].getName()));
}
serverLog.logInfo("STARTUP", "Copied the default lokales to DATA/LOCALE");
}catch(NullPointerException e){
serverLog.logError("STARTUP", "Nullpointer Exception while copying the default Locales");
}
//regenerate Locales from Translationlist, if needed
String lang = sb.getConfig("htLocaleSelection", "");
if(! lang.equals("") && ! lang.equals("default") ){ //locale is used
String currentRev = "";
try{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File( sb.getConfig("htRootPath", "htroot"), "locale/"+lang+"/version" ))));
currentRev = br.readLine();
br.close();
}catch(IOException e){
//Error
}
try{ //seperate try, because we want this, even when the File "version2 does not exist.
if(! currentRev.equals(sb.getConfig("svnRevision", "")) ){ //is this another version?!
File sourceDir = new File(sb.getConfig("htRootPath", "htroot"));
File destDir = new File(sourceDir, "locale/"+lang);
if(translator.translateFiles(sourceDir, destDir, new File("DATA/LOCALE/"+lang+".lng"), "html")){ //translate it
//write the new Versionnumber
BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(new File(destDir, "version"))));
bw.write(sb.getConfig("svnRevision", "Error getting Version"));
bw.close();
}
}
}catch(IOException e){
//Error
}
}
//regenerate Locales from Translationlist, if needed
String lang = sb.getConfig("htLocaleSelection", "");
if(! lang.equals("") && ! lang.equals("default") ){ //locale is used
String currentRev = "";
try{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File( sb.getConfig("htRootPath", "htroot"), "locale/"+lang+"/version" ))));
currentRev = br.readLine();
br.close();
}catch(IOException e){
//Error
}
try{ //seperate try, because we want this, even when the File "version2 does not exist.
if(! currentRev.equals(sb.getConfig("svnRevision", "")) ){ //is this another version?!
File sourceDir = new File(sb.getConfig("htRootPath", "htroot"));
File destDir = new File(sourceDir, "locale/"+lang);
if(translator.translateFiles(sourceDir, destDir, new File("DATA/LOCALE/"+lang+".lng"), "html")){ //translate it
//write the new Versionnumber
BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(new File(destDir, "version"))));
bw.write(sb.getConfig("svnRevision", "Error getting Version"));
bw.close();
}
}
}catch(IOException e){
//Error
}
}
// registering shutdown hook
serverLog.logSystem("STARTUP", "Registering Shutdown Hook");
@ -501,7 +505,7 @@ public final class yacy {
// finished
serverLog.logSystem("GEN-WORDSTAT", "FINISHED");
}
private static void checkMigrate(File dbroot, serverLog log, File file, plasmaWordIndex wordIndex) throws IOException {
long length = file.length();
if (length > 3000) {
@ -705,8 +709,7 @@ public final class yacy {
}
}
class shutdownHookThread extends Thread
{
class shutdownHookThread extends Thread {
private plasmaSwitchboard sb = null;
private Thread mainThread = null;
@ -715,14 +718,14 @@ class shutdownHookThread extends Thread
this.mainThread = mainThread;
}
public void run() {
public void run() {
try {
if (!this.sb.isTerminated()) {
if (!this.sb.isTerminated()) {
serverLog.logSystem("SHUTDOWN","Shutdown via shutdown hook.");
// sending the yacy main thread a shutdown signal
this.sb.terminate();
this.sb.terminate();
// waiting for the yacy thread to finish execution
this.mainThread.join();

Loading…
Cancel
Save