jenkins-bot has submitted this change and it was merged.
Change subject: Hygiene: rename ContentPersister to DatabaseClient
......................................................................
Hygiene: rename ContentPersister to DatabaseClient
• The app interacts with the database's tables through clients of type
ContentPersister. Rename ContentPersister to DatabaseClient.
• Rename DBOpenHelper to Database. DBOpenHelper is a subclass of
SQLiteOpenHelper, however, "Helper" is too generic a term and
"Database" makes it clear there should only be one instance, and that
DatabaseTable and DatabaseClient are closely related.
• Change WikipediaApp.getDatabaseClient() to use classes themselves
instead of Class.getCanonicalName() for the keys.
Change-Id: I0a6adbf067ff34248b1bab743e5eb8967c7b6e59
---
M app/src/main/java/org/wikipedia/WikipediaApp.java
R app/src/main/java/org/wikipedia/data/Database.java
R app/src/main/java/org/wikipedia/data/DatabaseClient.java
M app/src/main/java/org/wikipedia/data/SQLiteContentProvider.java
M app/src/main/java/org/wikipedia/editing/summaries/EditSummaryHandler.java
M app/src/main/java/org/wikipedia/history/DeleteAllHistoryTask.java
M app/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
M app/src/main/java/org/wikipedia/history/HistoryFragment.java
M app/src/main/java/org/wikipedia/history/SaveHistoryTask.java
M app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
M app/src/main/java/org/wikipedia/pageimages/PageImageDatabaseTable.java
M app/src/main/java/org/wikipedia/savedpages/DeleteAllSavedPagesTask.java
M app/src/main/java/org/wikipedia/savedpages/DeleteSavedPageTask.java
M app/src/main/java/org/wikipedia/savedpages/SavePageTask.java
M app/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
M app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java
M app/src/main/java/org/wikipedia/search/DeleteAllRecentSearchesTask.java
M app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
18 files changed, 52 insertions(+), 52 deletions(-)
Approvals:
Dbrant: Looks good to me, approved
jenkins-bot: Verified
diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java
b/app/src/main/java/org/wikipedia/WikipediaApp.java
index 9e522ec..e6030b8 100644
--- a/app/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/app/src/main/java/org/wikipedia/WikipediaApp.java
@@ -22,8 +22,8 @@
import org.wikipedia.analytics.SessionFunnel;
import org.wikipedia.crash.CrashReporter;
import org.wikipedia.crash.hockeyapp.HockeyAppCrashReporter;
-import org.wikipedia.data.ContentPersister;
-import org.wikipedia.data.DBOpenHelper;
+import org.wikipedia.data.DatabaseClient;
+import org.wikipedia.data.Database;
import org.wikipedia.drawable.DrawableUtil;
import org.wikipedia.editing.EditTokenStorage;
import org.wikipedia.editing.summaries.EditSummary;
@@ -86,13 +86,13 @@
private final RemoteConfig remoteConfig = new RemoteConfig();
private final UserInfoStorage userInfoStorage = new UserInfoStorage();
private final MccMncStateHandler mccMncStateHandler = new
MccMncStateHandler();
- private final Map<String, ContentPersister<?>> persisters =
Collections.synchronizedMap(new HashMap<String, ContentPersister<?>>());
+ private final Map<Class<?>, DatabaseClient<?>> databaseClients =
Collections.synchronizedMap(new HashMap<Class<?>, DatabaseClient<?>>());
private final Map<String, Api> apis = new HashMap<>();
private AppLanguageState appLanguageState;
private FunnelManager funnelManager;
private SessionFunnel sessionFunnel;
- private DBOpenHelper dbOpenHelper;
+ private Database database;
private EditTokenStorage editTokenStorage;
private SharedPreferenceCookieManager cookieManager;
private String userAgent;
@@ -180,7 +180,7 @@
sessionFunnel = new SessionFunnel(this);
editTokenStorage = new EditTokenStorage(this);
cookieManager = new SharedPreferenceCookieManager();
- dbOpenHelper = new DBOpenHelper(this);
+ database = new Database(this);
enableWebViewDebugging();
@@ -316,30 +316,30 @@
return appLanguageState.getAppLanguageCanonicalName(code);
}
- public DBOpenHelper getDbOpenHelper() {
- return dbOpenHelper;
+ public Database getDatabase() {
+ return database;
}
- public <T> ContentPersister<T> getPersister(Class<T> cls) {
- if (!persisters.containsKey(cls.getCanonicalName())) {
- ContentPersister persister;
+ public <T> DatabaseClient<T> getDatabaseClient(Class<T> cls) {
+ if (!databaseClients.containsKey(cls)) {
+ DatabaseClient client;
if (cls.equals(HistoryEntry.class)) {
- persister = new ContentPersister<>(this,
HistoryEntry.DATABASE_TABLE);
+ client = new DatabaseClient<>(this,
HistoryEntry.DATABASE_TABLE);
} else if (cls.equals(PageImage.class)) {
- persister = new ContentPersister<>(this,
PageImage.DATABASE_TABLE);
+ client = new DatabaseClient<>(this, PageImage.DATABASE_TABLE);
} else if (cls.equals(RecentSearch.class)) {
- persister = new ContentPersister<>(this,
RecentSearch.DATABASE_TABLE);
+ client = new DatabaseClient<>(this,
RecentSearch.DATABASE_TABLE);
} else if (cls.equals(SavedPage.class)) {
- persister = new ContentPersister<>(this,
SavedPage.DATABASE_TABLE);
+ client = new DatabaseClient<>(this, SavedPage.DATABASE_TABLE);
} else if (cls.equals(EditSummary.class)) {
- persister = new ContentPersister<>(this,
EditSummary.DATABASE_TABLE);
+ client = new DatabaseClient<>(this,
EditSummary.DATABASE_TABLE);
} else {
throw new RuntimeException("No persister found for class " +
cls.getCanonicalName());
}
- persisters.put(cls.getCanonicalName(), persister);
+ databaseClients.put(cls, client);
}
//noinspection unchecked
- return (ContentPersister<T>) persisters.get(cls.getCanonicalName());
+ return (DatabaseClient<T>) databaseClients.get(cls);
}
public RemoteConfig getRemoteConfig() {
diff --git a/app/src/main/java/org/wikipedia/data/DBOpenHelper.java
b/app/src/main/java/org/wikipedia/data/Database.java
similarity index 92%
rename from app/src/main/java/org/wikipedia/data/DBOpenHelper.java
rename to app/src/main/java/org/wikipedia/data/Database.java
index 71710af..9e0a5e2 100644
--- a/app/src/main/java/org/wikipedia/data/DBOpenHelper.java
+++ b/app/src/main/java/org/wikipedia/data/Database.java
@@ -9,7 +9,7 @@
import org.wikipedia.pageimages.PageImage;
import org.wikipedia.search.RecentSearch;
-public class DBOpenHelper extends SQLiteOpenHelper {
+public class Database extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "wikipedia.db";
private static final int DATABASE_VERSION = 8;
@@ -22,7 +22,7 @@
EditSummary.DATABASE_TABLE
};
- public DBOpenHelper(Context context) {
+ public Database(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
diff --git a/app/src/main/java/org/wikipedia/data/ContentPersister.java
b/app/src/main/java/org/wikipedia/data/DatabaseClient.java
similarity index 89%
rename from app/src/main/java/org/wikipedia/data/ContentPersister.java
rename to app/src/main/java/org/wikipedia/data/DatabaseClient.java
index 9458797..82f85d3 100644
--- a/app/src/main/java/org/wikipedia/data/ContentPersister.java
+++ b/app/src/main/java/org/wikipedia/data/DatabaseClient.java
@@ -7,17 +7,17 @@
import android.os.RemoteException;
import android.support.annotation.NonNull;
-public class ContentPersister<T> {
+public class DatabaseClient<T> {
@NonNull private final ContentProviderClient client;
@NonNull private final DatabaseTable<T> databaseTable;
- public ContentPersister(@NonNull Context context,
- @NonNull DatabaseTable<T> databaseTable) {
+ public DatabaseClient(@NonNull Context context,
+ @NonNull DatabaseTable<T> databaseTable) {
this(databaseTable.acquireClient(context), databaseTable);
}
- public ContentPersister(@NonNull ContentProviderClient client,
- @NonNull DatabaseTable<T> databaseTable) {
+ public DatabaseClient(@NonNull ContentProviderClient client,
+ @NonNull DatabaseTable<T> databaseTable) {
this.client = client;
this.databaseTable = databaseTable;
}
diff --git a/app/src/main/java/org/wikipedia/data/SQLiteContentProvider.java
b/app/src/main/java/org/wikipedia/data/SQLiteContentProvider.java
index d2c3d83..b43cf4f 100644
--- a/app/src/main/java/org/wikipedia/data/SQLiteContentProvider.java
+++ b/app/src/main/java/org/wikipedia/data/SQLiteContentProvider.java
@@ -22,8 +22,8 @@
this.databaseTable = databaseTable;
}
- protected DBOpenHelper getDbOpenHelper() {
- return WikipediaApp.getInstance().getDbOpenHelper();
+ protected Database getDatabase() {
+ return WikipediaApp.getInstance().getDatabase();
}
private final UriMatcher uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
@@ -47,7 +47,7 @@
int uriType = uriMatcher.match(uri);
- SQLiteDatabase db = getDbOpenHelper().getReadableDatabase();
+ SQLiteDatabase db = getDatabase().getReadableDatabase();
Cursor cursor;
switch (uriType) {
@@ -73,7 +73,7 @@
@Override
public Uri insert(@NonNull Uri uri, ContentValues values) {
int uriType = uriMatcher.match(uri);
- SQLiteDatabase sqlDB = getDbOpenHelper().getWritableDatabase();
+ SQLiteDatabase sqlDB = getDatabase().getWritableDatabase();
switch (uriType) {
case MATCH_ALL:
sqlDB.insert(getTableName(), null, values);
@@ -90,7 +90,7 @@
int rows = 0;
int uriType = uriMatcher.match(uri);
- SQLiteDatabase db = getDbOpenHelper().getReadableDatabase();
+ SQLiteDatabase db = getDatabase().getReadableDatabase();
switch(uriType) {
case MATCH_ALL:
@@ -109,7 +109,7 @@
@Override
public int update(@NonNull Uri uri, ContentValues values, String
selection, String[] selectionArgs) {
int uriType = uriMatcher.match(uri);
- SQLiteDatabase sqlDB = getDbOpenHelper().getWritableDatabase();
+ SQLiteDatabase sqlDB = getDatabase().getWritableDatabase();
int modifiedRows;
switch (uriType) {
case MATCH_ALL:
@@ -125,7 +125,7 @@
@Override
public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] values) {
int uriType = uriMatcher.match(uri);
- SQLiteDatabase sqlDB = getDbOpenHelper().getWritableDatabase();
+ SQLiteDatabase sqlDB = getDatabase().getWritableDatabase();
sqlDB.beginTransaction();
switch (uriType) {
case MATCH_ALL:
diff --git
a/app/src/main/java/org/wikipedia/editing/summaries/EditSummaryHandler.java
b/app/src/main/java/org/wikipedia/editing/summaries/EditSummaryHandler.java
index 09ff467..499b20f 100644
--- a/app/src/main/java/org/wikipedia/editing/summaries/EditSummaryHandler.java
+++ b/app/src/main/java/org/wikipedia/editing/summaries/EditSummaryHandler.java
@@ -66,7 +66,7 @@
public void persistSummary() {
WikipediaApp app =
(WikipediaApp)container.getContext().getApplicationContext();
EditSummary summary = new
EditSummary(summaryEdit.getText().toString(), new Date());
- app.getPersister(EditSummary.class).upsert(summary,
EditSummaryDatabaseTable.SELECTION_KEYS);
+ app.getDatabaseClient(EditSummary.class).upsert(summary,
EditSummaryDatabaseTable.SELECTION_KEYS);
}
public boolean handleBackPressed() {
diff --git a/app/src/main/java/org/wikipedia/history/DeleteAllHistoryTask.java
b/app/src/main/java/org/wikipedia/history/DeleteAllHistoryTask.java
index a6466b8..8720d64 100644
--- a/app/src/main/java/org/wikipedia/history/DeleteAllHistoryTask.java
+++ b/app/src/main/java/org/wikipedia/history/DeleteAllHistoryTask.java
@@ -15,7 +15,7 @@
@Override
public Void performTask() throws Throwable {
- app.getPersister(HistoryEntry.class).deleteAll();
+ app.getDatabaseClient(HistoryEntry.class).deleteAll();
return null;
}
}
diff --git
a/app/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
b/app/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
index cc7f00b..254a9dd 100644
--- a/app/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
+++ b/app/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
@@ -37,7 +37,7 @@
int uriType = getUriMatcher().match(uri);
- SQLiteDatabase db = getDbOpenHelper().getReadableDatabase();
+ SQLiteDatabase db = getDatabase().getReadableDatabase();
Cursor cursor;
switch (uriType) {
diff --git a/app/src/main/java/org/wikipedia/history/HistoryFragment.java
b/app/src/main/java/org/wikipedia/history/HistoryFragment.java
index 95c7532..6709b4a 100644
--- a/app/src/main/java/org/wikipedia/history/HistoryFragment.java
+++ b/app/src/main/java/org/wikipedia/history/HistoryFragment.java
@@ -148,7 +148,7 @@
SparseBooleanArray checkedItems =
historyEntryList.getCheckedItemPositions();
for (int i = 0; i < checkedItems.size(); i++) {
if (checkedItems.valueAt(i)) {
-
app.getPersister(HistoryEntry.class).delete(
+
app.getDatabaseClient(HistoryEntry.class).delete(
HistoryEntry.DATABASE_TABLE.fromCursor((Cursor)
adapter.getItem(checkedItems.keyAt(i))),
HistoryEntryDatabaseTable.SELECTION_KEYS);
}
diff --git a/app/src/main/java/org/wikipedia/history/SaveHistoryTask.java
b/app/src/main/java/org/wikipedia/history/SaveHistoryTask.java
index 3d70afa..8e9bfe6 100644
--- a/app/src/main/java/org/wikipedia/history/SaveHistoryTask.java
+++ b/app/src/main/java/org/wikipedia/history/SaveHistoryTask.java
@@ -2,7 +2,7 @@
import org.wikipedia.WikipediaApp;
import org.wikipedia.concurrency.SaneAsyncTask;
-import org.wikipedia.data.ContentPersister;
+import org.wikipedia.data.DatabaseClient;
import android.util.Log;
@@ -25,9 +25,9 @@
// and won't collapse them into a single entry at the top. Deleting it
will ensure
// that all previous instances will be deleted, and then only the most
recent instance
// will be placed at the top.
- final ContentPersister persister =
app.getPersister(HistoryEntry.class);
- persister.delete(entry, HistoryEntryDatabaseTable.SELECTION_KEYS);
- persister.persist(entry);
+ DatabaseClient client = app.getDatabaseClient(HistoryEntry.class);
+ client.delete(entry, HistoryEntryDatabaseTable.SELECTION_KEYS);
+ client.persist(entry);
return null;
}
diff --git a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
index 4be7a77..2b7829b 100644
--- a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
+++ b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
@@ -785,7 +785,7 @@
public void onFinish(Map<PageTitle, String> result) {
if (result.containsKey(model.getTitle())) {
PageImage pi = new PageImage(model.getTitle(),
result.get(model.getTitle()));
- app.getPersister(PageImage.class).upsert(pi,
PageImageDatabaseTable.SELECTION_KEYS);
+ app.getDatabaseClient(PageImage.class).upsert(pi,
PageImageDatabaseTable.SELECTION_KEYS);
updateThumbnail(result.get(model.getTitle()));
}
}
diff --git
a/app/src/main/java/org/wikipedia/pageimages/PageImageDatabaseTable.java
b/app/src/main/java/org/wikipedia/pageimages/PageImageDatabaseTable.java
index 9c6d196..c00b41e 100644
--- a/app/src/main/java/org/wikipedia/pageimages/PageImageDatabaseTable.java
+++ b/app/src/main/java/org/wikipedia/pageimages/PageImageDatabaseTable.java
@@ -51,7 +51,7 @@
try {
String searchStr = title.getPrefixedText().replace("'", "''");
String selection = getTableName() + "." + COL_TITLE + "='" +
searchStr + "'";
- c = app.getPersister(PageImage.class).select(
+ c = app.getDatabaseClient(PageImage.class).select(
selection, new String[] {}, "");
if (c.getCount() > 0) {
c.moveToFirst();
diff --git
a/app/src/main/java/org/wikipedia/savedpages/DeleteAllSavedPagesTask.java
b/app/src/main/java/org/wikipedia/savedpages/DeleteAllSavedPagesTask.java
index b478e30..410f38a 100644
--- a/app/src/main/java/org/wikipedia/savedpages/DeleteAllSavedPagesTask.java
+++ b/app/src/main/java/org/wikipedia/savedpages/DeleteAllSavedPagesTask.java
@@ -18,7 +18,7 @@
@Override
public Void performTask() throws Throwable {
// Clear Saved Pages!
- app.getPersister(SavedPage.class).deleteAll();
+ app.getDatabaseClient(SavedPage.class).deleteAll();
// Purge all the contents in storage.
delete(new File(SavedPage.getSavedPagesDir()), true);
// TODO: don't we need to funnel around, too? ;)
diff --git
a/app/src/main/java/org/wikipedia/savedpages/DeleteSavedPageTask.java
b/app/src/main/java/org/wikipedia/savedpages/DeleteSavedPageTask.java
index 73c955e..6a4d584 100644
--- a/app/src/main/java/org/wikipedia/savedpages/DeleteSavedPageTask.java
+++ b/app/src/main/java/org/wikipedia/savedpages/DeleteSavedPageTask.java
@@ -4,7 +4,7 @@
import org.wikipedia.WikipediaApp;
import org.wikipedia.concurrency.SaneAsyncTask;
-import org.wikipedia.data.ContentPersister;
+import org.wikipedia.data.DatabaseClient;
public class DeleteSavedPageTask extends SaneAsyncTask<Boolean> {
private final WikipediaApp app;
@@ -18,8 +18,8 @@
@Override
public Boolean performTask() throws Throwable {
savedPage.deleteFromFileSystem();
- ContentPersister<SavedPage> persister =
app.getPersister(SavedPage.class);
- persister.delete(savedPage, SavedPageDatabaseTable.SELECTION_KEYS);
+ DatabaseClient<SavedPage> client =
app.getDatabaseClient(SavedPage.class);
+ client.delete(savedPage, SavedPageDatabaseTable.SELECTION_KEYS);
WikipediaApp.getInstance().getFunnelManager().getSavedPagesFunnel(savedPage.getTitle().getSite()).logDelete();
return true;
}
diff --git a/app/src/main/java/org/wikipedia/savedpages/SavePageTask.java
b/app/src/main/java/org/wikipedia/savedpages/SavePageTask.java
index 984b514..5e8695b 100644
--- a/app/src/main/java/org/wikipedia/savedpages/SavePageTask.java
+++ b/app/src/main/java/org/wikipedia/savedpages/SavePageTask.java
@@ -1,6 +1,6 @@
package org.wikipedia.savedpages;
-import org.wikipedia.data.ContentPersister;
+import org.wikipedia.data.DatabaseClient;
import org.wikipedia.page.PageTitle;
import org.wikipedia.WikipediaApp;
import org.wikipedia.concurrency.SaneAsyncTask;
@@ -30,8 +30,8 @@
public Boolean performTask() throws Throwable {
SavedPage savedPage = new SavedPage(title);
savedPage.writeToFileSystem(page);
- ContentPersister<SavedPage> persister =
app.getPersister(SavedPage.class);
- persister.upsert(savedPage, SavedPageDatabaseTable.SELECTION_KEYS);
+ DatabaseClient<SavedPage> client =
app.getDatabaseClient(SavedPage.class);
+ client.upsert(savedPage, SavedPageDatabaseTable.SELECTION_KEYS);
final ImageUrlMap imageUrlMap = new
ImageUrlMap.Builder(savedPage.getBaseDir()).extractUrls(page).build();
final int numImagesAttempts = imageUrlMap.size();
diff --git
a/app/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
b/app/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
index 0f341da..58ee882 100644
--- a/app/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
+++ b/app/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
@@ -37,7 +37,7 @@
int uriType = getUriMatcher().match(uri);
- SQLiteDatabase db = getDbOpenHelper().getReadableDatabase();
+ SQLiteDatabase db = getDatabase().getReadableDatabase();
Cursor cursor;
switch (uriType) {
diff --git
a/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java
b/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java
index 2885223..d842752 100644
--- a/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java
+++ b/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java
@@ -58,7 +58,7 @@
SavedPage savedPage = new SavedPage(title);
String[] args = getPrimaryKeySelectionArgs(savedPage);
String selection = getPrimaryKeySelection(savedPage, args);
- c = app.getPersister(SavedPage.class).select(selection, args, "");
+ c = app.getDatabaseClient(SavedPage.class).select(selection, args,
"");
if (c.getCount() > 0) {
exists = true;
}
diff --git
a/app/src/main/java/org/wikipedia/search/DeleteAllRecentSearchesTask.java
b/app/src/main/java/org/wikipedia/search/DeleteAllRecentSearchesTask.java
index b82d307..bbfb076 100644
--- a/app/src/main/java/org/wikipedia/search/DeleteAllRecentSearchesTask.java
+++ b/app/src/main/java/org/wikipedia/search/DeleteAllRecentSearchesTask.java
@@ -14,7 +14,7 @@
@Override
public Void performTask() throws Throwable {
- app.getPersister(RecentSearch.class).deleteAll();
+ app.getDatabaseClient(RecentSearch.class).deleteAll();
return null;
}
}
diff --git a/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
b/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
index 6b3dc31..8630b7b 100644
--- a/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
+++ b/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
@@ -428,7 +428,7 @@
@Override
public Void performTask() throws Throwable {
- app.getPersister(RecentSearch.class).upsert(entry,
HistoryEntryDatabaseTable.SELECTION_KEYS);
+ app.getDatabaseClient(RecentSearch.class).upsert(entry,
HistoryEntryDatabaseTable.SELECTION_KEYS);
return null;
}
--
To view, visit https://gerrit.wikimedia.org/r/268320
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0a6adbf067ff34248b1bab743e5eb8967c7b6e59
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits