[MediaWiki-commits] [Gerrit] Correct UAParser not to fail for malformed wmf_app - change (analytics...source)
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)
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