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

Reply via email to