diff --git a/brouter-server/src/main/java/btools/server/SuspectManager.java b/brouter-server/src/main/java/btools/server/SuspectManager.java index 621fe0f..98c155d 100644 --- a/brouter-server/src/main/java/btools/server/SuspectManager.java +++ b/brouter-server/src/main/java/btools/server/SuspectManager.java @@ -43,12 +43,14 @@ public class SuspectManager extends Thread public static void process( String url, BufferedWriter bw ) throws IOException { bw.write( "\n" ); + bw.write( "BRouter suspect manager. Help " ); StringTokenizer tk = new StringTokenizer( url, "/" ); tk.nextToken(); tk.nextToken(); long id = 0L; String country = null; + String filter = null; if ( tk.hasMoreTokens() ) { @@ -56,10 +58,16 @@ public class SuspectManager extends Thread if ( new File( "suspects/suspects_" + ctry + ".txt" ).exists() ) { country = ctry; + + if ( tk.hasMoreTokens() ) + { + filter = tk.nextToken(); + } } } if ( country == null ) // generate country list { + bw.write( "\n" ); File[] files = new File( "suspects" ).listFiles(); TreeSet names = new TreeSet(); for ( File f : files ) @@ -73,8 +81,9 @@ public class SuspectManager extends Thread for ( String ctry : names ) { String url2 = "/brouter/suspects/" + ctry; - bw.write( "" + ctry + "
\n" ); + bw.write( "
\n" ); } + bw.write( "
" + ctry + "newall
\n" ); bw.write( "\n" ); bw.flush(); return; @@ -109,7 +118,7 @@ public class SuspectManager extends Thread break; StringTokenizer tk2 = new StringTokenizer( line ); id = Long.parseLong( tk2.nextToken() ); - String countryId = country + "/" + id; + String countryId = country + "/" + filter + "/" + id; if ( new File( "falsepositives/" + id ).exists() ) { @@ -150,7 +159,7 @@ public class SuspectManager extends Thread int wps = NearRecentWps.count( id ); if ( wps < 8 ) { - message = "marking false-positive requires at least 10 recent nearby waypoints from BRouter-Web, found: " + wps; + message = "marking false-positive requires at least 8 recent nearby waypoints from BRouter-Web, found: " + wps; } else { @@ -178,7 +187,7 @@ public class SuspectManager extends Thread } if ( id != 0L ) { - String countryId = country + "/" + id; + String countryId = country + "/" + filter + "/" + id; int ilon = (int) ( id >> 32 ); int ilat = (int) ( id & 0xffffffff ); @@ -217,7 +226,7 @@ public class SuspectManager extends Thread File fixedEntry = new File( "fixedsuspects/" + id ); if ( fixedEntry.exists() ) { - bw.write( "

back to watchlist

\n" ); + bw.write( "

back to watchlist

\n" ); } else { @@ -231,14 +240,14 @@ public class SuspectManager extends Thread { bw.write( "mark as a confirmed issue

\n" ); } - bw.write( "

back to issue list

\n" ); + bw.write( "

back to issue list

\n" ); } } else { File suspects = new File( "suspects/suspects_" + country + ".txt" ); - bw.write( "suspect list for " + country + "\n" ); - bw.write( "
see watchlist\n" ); + bw.write( filter + " suspect list for " + country + "\n" ); + bw.write( "
see watchlist\n" ); bw.write( "
back to country list

\n" ); if ( suspects.exists() ) { @@ -258,9 +267,10 @@ public class SuspectManager extends Thread break; StringTokenizer tk2 = new StringTokenizer( line ); id = Long.parseLong( tk2.nextToken() ); + int prio = Integer.parseInt( tk2.nextToken() ); prio = ( ( prio + 1 ) / 2 ) * 2; // normalize (no link prios) - String countryId = country + "/" + id; + String countryId = country + "/" + filter + "/" + id; String hint = ""; @@ -272,6 +282,10 @@ public class SuspectManager extends Thread { continue; // known fixed } + if ( "new".equals( filter ) && new File( "suspectarchive/" + id ).exists() ) + { + continue; // known fixed + } if ( pass == 1 ) { if ( prio > maxprio )