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( "" + ctry + " | new | all | \n" );
}
+ bw.write( "
\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 )