[MediaWiki-commits] [Gerrit] Correct UAParser not to fail for malformed wmf_app - change (analytics...source)

2015-06-10 Thread Joal (Code Review)
Joal has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/217226

Change subject: Correct UAParser not to fail for malformed wmf_app
..

Correct UAParser not to fail for malformed wmf_app

Previous commit had a failure case for malformed WikimediaApp user agent 
strings.
Now it shouldn't fail.

Bug: T99932
Change-Id: I539a45327ed08e3ef198a5ede2dc7fec569ced4d
---
M 
refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
M 
refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
2 files changed, 13 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/refinery/source 
refs/changes/26/217226/1

diff --git 
a/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
 
b/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
index de41e8c..4560e44 100644
--- 
a/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
+++ 
b/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
@@ -115,13 +115,18 @@
 result.put(os_minor, NA);
 }
 
+// Default wmf_app_version is NA
+result.put(wmf_app_version, NA);
+
 String wmfAppStart = WikipediaApp/;
 if (uaString.startsWith(wmfAppStart)) {
 int from = wmfAppStart.length();
 int to = uaString.indexOf(' ', from);
-result.put(wmf_app_version, uaString.substring(from, to));
-} else {
-result.put(wmf_app_version, NA);
+// if space after wmfAppStart, in between wmfAppStart and space 
substring
+if (to  from)
+result.put(wmf_app_version, uaString.substring(from, to));
+else // Else between wmfAppStart and end of string
+result.put(wmf_app_version, uaString.substring(from, 
uaString.length()));
 }
 
 return result;
diff --git 
a/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
 
b/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
index df2f65a..7b347f3 100644
--- 
a/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
+++ 
b/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
@@ -41,6 +41,10 @@
 String ua2 = WikipediaApp/4.1.2 (iPhone OS 8.3; Tablet);
 MapString, String uaMap2 = uaParser.getUAMap(ua2);
 assertEquals(App version check, 4.1.2, 
uaMap2.get(wmf_app_version));
+
+String ua = WikipediaApp/2.0-r-2015-04-23;
+MapString, String uaMap = uaParser.getUAMap(ua);
+assertEquals(App version check, 2.0-r-2015-04-23, 
uaMap.get(wmf_app_version));
 }
 
 @Test
@@ -50,4 +54,5 @@
 MapString, String uaMap = uaParser.getUAMap(ua);
 assertEquals(App version check, uaParser.NA, 
uaMap.get(wmf_app_version));
 }
+
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/217226
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I539a45327ed08e3ef198a5ede2dc7fec569ced4d
Gerrit-PatchSet: 1
Gerrit-Project: analytics/refinery/source
Gerrit-Branch: master
Gerrit-Owner: Joal j...@wikimedia.org

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Correct UAParser not to fail for malformed wmf_app - change (analytics...source)

2015-06-10 Thread Ottomata (Code Review)
Ottomata has submitted this change and it was merged.

Change subject: Correct UAParser not to fail for malformed wmf_app
..


Correct UAParser not to fail for malformed wmf_app

Previous commit had a failure case for malformed WikimediaApp user agent 
strings.
Now it shouldn't fail.

Bug: T99932
Change-Id: I539a45327ed08e3ef198a5ede2dc7fec569ced4d
---
M 
refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
M 
refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
2 files changed, 12 insertions(+), 3 deletions(-)

Approvals:
  Mforns: Verified; Looks good to me, but someone else must approve
  Ottomata: Verified; Looks good to me, approved



diff --git 
a/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
 
b/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
index de41e8c..1ea7707 100644
--- 
a/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
+++ 
b/refinery-core/src/main/java/org/wikimedia/analytics/refinery/core/UAParser.java
@@ -115,14 +115,18 @@
 result.put(os_minor, NA);
 }
 
+// Default wmf_app_version is NA
+String wmfAppVersion = NA;
+
 String wmfAppStart = WikipediaApp/;
 if (uaString.startsWith(wmfAppStart)) {
 int from = wmfAppStart.length();
+// Take the substring until either space or end of string.
 int to = uaString.indexOf(' ', from);
-result.put(wmf_app_version, uaString.substring(from, to));
-} else {
-result.put(wmf_app_version, NA);
+to = (to == -1) ? uaString.length() : to;
+wmfAppVersion = uaString.substring(from, to);
 }
+result.put(wmf_app_version, wmfAppVersion);
 
 return result;
 }
diff --git 
a/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
 
b/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
index df2f65a..7b347f3 100644
--- 
a/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
+++ 
b/refinery-core/src/test/java/org/wikimedia/analytics/refinery/core/TestUAParserAppVersionRecognition.java
@@ -41,6 +41,10 @@
 String ua2 = WikipediaApp/4.1.2 (iPhone OS 8.3; Tablet);
 MapString, String uaMap2 = uaParser.getUAMap(ua2);
 assertEquals(App version check, 4.1.2, 
uaMap2.get(wmf_app_version));
+
+String ua = WikipediaApp/2.0-r-2015-04-23;
+MapString, String uaMap = uaParser.getUAMap(ua);
+assertEquals(App version check, 2.0-r-2015-04-23, 
uaMap.get(wmf_app_version));
 }
 
 @Test
@@ -50,4 +54,5 @@
 MapString, String uaMap = uaParser.getUAMap(ua);
 assertEquals(App version check, uaParser.NA, 
uaMap.get(wmf_app_version));
 }
+
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/217226
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I539a45327ed08e3ef198a5ede2dc7fec569ced4d
Gerrit-PatchSet: 2
Gerrit-Project: analytics/refinery/source
Gerrit-Branch: master
Gerrit-Owner: Joal j...@wikimedia.org
Gerrit-Reviewer: Joal j...@wikimedia.org
Gerrit-Reviewer: Mforns mfo...@wikimedia.org
Gerrit-Reviewer: Ottomata o...@wikimedia.org

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits