Repository: incubator-unomi Updated Branches: refs/heads/master 121fbc8af -> 023009de6
UNOMI-21 Make the default location configurable instead of hardcoded. Signed-off-by: Serge Huber <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/023009de Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/023009de Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/023009de Branch: refs/heads/master Commit: 023009de6212050c3dfcb3f3ca427f509282cad6 Parents: 121fbc8 Author: Serge Huber <[email protected]> Authored: Wed Feb 15 17:30:57 2017 +0100 Committer: Serge Huber <[email protected]> Committed: Wed Feb 15 17:30:57 2017 +0100 ---------------------------------------------------------------------- .../actions/SetRemoteHostInfoAction.java | 57 +++++++++++++++++--- .../resources/OSGI-INF/blueprint/blueprint.xml | 20 +++++++ .../org.apache.unomi.plugins.request.cfg | 12 ++++- 3 files changed, 80 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/023009de/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java ---------------------------------------------------------------------- diff --git a/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java b/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java index 0f4d6ef..f8f70e3 100644 --- a/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java +++ b/plugins/request/src/main/java/org/apache/unomi/plugins/request/actions/SetRemoteHostInfoAction.java @@ -46,10 +46,51 @@ public class SetRemoteHostInfoAction implements ActionExecutor { private DatabaseReader databaseReader; private String pathToGeoLocationDatabase; + private String defaultSessionCountryCode = "CH"; + private String defaultSessionCountryName = "Switzerland"; + private String defaultSessionCity = "Geneva"; + private String defaultSessionAdminSubDiv1 = "2660645"; + private String defaultSessionAdminSubDiv2 = "6458783"; + private String defaultSessionIsp = "Cablecom"; + private double defaultLatitude = 46.1884341; + private double defaultLongitude = 6.1282508; + public void setPathToGeoLocationDatabase(String pathToGeoLocationDatabase) { this.pathToGeoLocationDatabase = pathToGeoLocationDatabase; } + public void setDefaultSessionCountryCode(String defaultSessionCountryCode) { + this.defaultSessionCountryCode = defaultSessionCountryCode; + } + + public void setDefaultSessionCountryName(String defaultSessionCountryName) { + this.defaultSessionCountryName = defaultSessionCountryName; + } + + public void setDefaultSessionCity(String defaultSessionCity) { + this.defaultSessionCity = defaultSessionCity; + } + + public void setDefaultSessionAdminSubDiv1(String defaultSessionAdminSubDiv1) { + this.defaultSessionAdminSubDiv1 = defaultSessionAdminSubDiv1; + } + + public void setDefaultSessionAdminSubDiv2(String defaultSessionAdminSubDiv2) { + this.defaultSessionAdminSubDiv2 = defaultSessionAdminSubDiv2; + } + + public void setDefaultSessionIsp(String defaultSessionIsp) { + this.defaultSessionIsp = defaultSessionIsp; + } + + public void setDefaultLatitude(double defaultLatitude) { + this.defaultLatitude = defaultLatitude; + } + + public void setDefaultLongitude(double defaultLongitude) { + this.defaultLongitude = defaultLongitude; + } + @Override public int execute(Action action, Event event) { HttpServletRequest httpServletRequest = (HttpServletRequest) event.getAttributes().get(Event.HTTP_REQUEST_ATTRIBUTE); @@ -79,15 +120,15 @@ public class SetRemoteHostInfoAction implements ActionExecutor { if (!remoteAddr.equals("127.0.0.1") && IPV4.matcher(remoteAddr).matches()) { ipLookup(remoteAddr, session); } else { - session.setProperty("sessionCountryCode", "CH"); - session.setProperty("sessionCountryName", "Switzerland"); - session.setProperty("sessionCity", "Geneva"); - session.setProperty("sessionAdminSubDiv1", "GE"); - session.setProperty("sessionAdminSubDiv2", "2500"); - session.setProperty("sessionIsp", "Cablecom"); + session.setProperty("sessionCountryCode", defaultSessionCountryCode); + session.setProperty("sessionCountryName", defaultSessionCountryName); + session.setProperty("sessionCity", defaultSessionCity); + session.setProperty("sessionAdminSubDiv1", defaultSessionAdminSubDiv1); + session.setProperty("sessionAdminSubDiv2", defaultSessionAdminSubDiv2); + session.setProperty("sessionIsp", defaultSessionIsp); Map<String, Double> location = new HashMap<String, Double>(); - location.put("lat", 46.1884341); - location.put("lon", 6.1282508); + location.put("lat", defaultLatitude); + location.put("lon", defaultLongitude); session.setProperty("location", location); } session.setProperty("countryAndCity", session.getProperty("sessionCountryName") + "@@" + session.getProperty("sessionCity") + http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/023009de/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml ---------------------------------------------------------------------- diff --git a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 3f20637..478657a 100644 --- a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -26,6 +26,16 @@ update-strategy="reload"> <cm:default-properties> <cm:property name="request.ipDatabase.location" value="file:${karaf.etc}/GeoIP2-City.mmdb"/> + + <cm:property name="defaultSessionCountryCode" value="CH"/> + <cm:property name="defaultSessionCountryName" value="Switzerland"/> + <cm:property name="defaultSessionCity" value="Geneva"/> + <cm:property name="defaultSessionAdminSubDiv1" value="2660645"/> + <cm:property name="defaultSessionAdminSubDiv2" value="6458783"/> + <cm:property name="defaultSessionIsp" value="Cablecom"/> + <cm:property name="defaultLatitude" value="46.1884341"/> + <cm:property name="defaultLongitude" value="6.1282508"/> + </cm:default-properties> </cm:property-placeholder> @@ -58,6 +68,16 @@ <bean class="org.apache.unomi.plugins.request.actions.SetRemoteHostInfoAction" init-method="postConstruct"> <property name="pathToGeoLocationDatabase" value="${request.ipDatabase.location}"/> + + <property name="defaultSessionCountryCode" value="${defaultSessionCountryCode}"/> + <property name="defaultSessionCountryName" value="${defaultSessionCountryName}"/> + <property name="defaultSessionCity" value="${defaultSessionCity}"/> + <property name="defaultSessionAdminSubDiv1" value="${defaultSessionAdminSubDiv1}"/> + <property name="defaultSessionAdminSubDiv2" value="${defaultSessionAdminSubDiv2}"/> + <property name="defaultSessionIsp" value="${defaultSessionIsp}"/> + <property name="defaultLatitude" value="${defaultLatitude}"/> + <property name="defaultLongitude" value="${defaultLongitude}"/> + </bean> </service> http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/023009de/plugins/request/src/main/resources/org.apache.unomi.plugins.request.cfg ---------------------------------------------------------------------- diff --git a/plugins/request/src/main/resources/org.apache.unomi.plugins.request.cfg b/plugins/request/src/main/resources/org.apache.unomi.plugins.request.cfg index 8d86ab2..b32ddee 100644 --- a/plugins/request/src/main/resources/org.apache.unomi.plugins.request.cfg +++ b/plugins/request/src/main/resources/org.apache.unomi.plugins.request.cfg @@ -15,4 +15,14 @@ # limitations under the License. # -request.ipDatabase.location=${karaf.etc}/GeoLite2-City.mmdb \ No newline at end of file +request.ipDatabase.location=${karaf.etc}/GeoLite2-City.mmdb + +# The following settings represent the default position that is used for localhost requests +defaultSessionCountryCode=CH +defaultSessionCountryName=Switzerland +defaultSessionCity=Geneva +defaultSessionAdminSubDiv1=2660645 +defaultSessionAdminSubDiv2=6458783 +defaultSessionIsp=Cablecom +defaultLatitude=46.1884341 +defaultLongitude=6.1282508
