From b154851f1fd46e4c205ab15e0d669e39baf6142a Mon Sep 17 00:00:00 2001 From: Arndt Brenschede Date: Sun, 21 Oct 2018 11:50:58 +0200 Subject: [PATCH] shared profile dir --- brouter-server/src/main/java/btools/server/RouteServer.java | 5 ++++- .../src/main/java/btools/server/ServiceContext.java | 1 + .../java/btools/server/request/ProfileUploadHandler.java | 1 + .../src/main/java/btools/server/request/ServerHandler.java | 5 +++++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/brouter-server/src/main/java/btools/server/RouteServer.java b/brouter-server/src/main/java/btools/server/RouteServer.java index c7a94e8..5cdf0de 100644 --- a/brouter-server/src/main/java/btools/server/RouteServer.java +++ b/brouter-server/src/main/java/btools/server/RouteServer.java @@ -180,7 +180,10 @@ public class RouteServer extends Thread serviceContext.segmentDir = args[0]; serviceContext.profileDir = args[1]; System.setProperty( "profileBaseDir", serviceContext.profileDir ); - serviceContext.customProfileDir = args[2]; + String dirs = args[2]; + StringTokenizer tk = new StringTokenizer( dirs, "," ); + serviceContext.customProfileDir = tk.nextToken(); + serviceContext.sharedProfileDir = tk.hasMoreTokens() ? tk.nextToken() : serviceContext.customProfileDir; int maxthreads = Integer.parseInt( args[4] ); diff --git a/brouter-server/src/main/java/btools/server/ServiceContext.java b/brouter-server/src/main/java/btools/server/ServiceContext.java index eabd996..28d6fc0 100644 --- a/brouter-server/src/main/java/btools/server/ServiceContext.java +++ b/brouter-server/src/main/java/btools/server/ServiceContext.java @@ -13,6 +13,7 @@ public class ServiceContext public String segmentDir; public String profileDir; public String customProfileDir; + public String sharedProfileDir; public Map profileMap = null; public List nogoList; } diff --git a/brouter-server/src/main/java/btools/server/request/ProfileUploadHandler.java b/brouter-server/src/main/java/btools/server/request/ProfileUploadHandler.java index 3cdd5e9..a0ce933 100644 --- a/brouter-server/src/main/java/btools/server/request/ProfileUploadHandler.java +++ b/brouter-server/src/main/java/btools/server/request/ProfileUploadHandler.java @@ -22,6 +22,7 @@ public class ProfileUploadHandler // prefix for custom profile id to distinguish from default profiles public static final String CUSTOM_PREFIX = "custom_"; + public static final String SHARED_PREFIX = "shared_"; private ServiceContext serviceContext; diff --git a/brouter-server/src/main/java/btools/server/request/ServerHandler.java b/brouter-server/src/main/java/btools/server/request/ServerHandler.java index c63ea86..bec049d 100644 --- a/brouter-server/src/main/java/btools/server/request/ServerHandler.java +++ b/brouter-server/src/main/java/btools/server/request/ServerHandler.java @@ -51,6 +51,11 @@ public class ServerHandler extends RequestHandler { String customProfile = profile.substring( ProfileUploadHandler.CUSTOM_PREFIX.length() ); profile = new File( serviceContext.customProfileDir, customProfile ).getPath(); } + else if ( profile.startsWith( ProfileUploadHandler.SHARED_PREFIX ) ) + { + String customProfile = profile.substring( ProfileUploadHandler.SHARED_PREFIX.length() ); + profile = new File( serviceContext.sharedProfileDir, customProfile ).getPath(); + } rc.localFunction = profile; rc.setAlternativeIdx(Integer.parseInt(params.get( "alternativeidx" )));