Awight has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/403477 )
Change subject: Light refactoring
......................................................................
Light refactoring
Split from I3517af1cd2a2005596447d154ae338b3bf5692d9
Change-Id: I1d7a7d02623b64471721338bf33b82075010e524
---
M pom.xml
R src/org/mediawiki/dumper/filters/AfterTimeStampFilter.java
R src/org/mediawiki/dumper/filters/BeforeTimeStampFilter.java
R src/org/mediawiki/dumper/filters/ChainingDumpWriter.java
R src/org/mediawiki/dumper/filters/LatestFilter.java
R src/org/mediawiki/dumper/filters/ProgressFilter.java
R src/org/mediawiki/dumper/filters/RevisionListFilter.java
R src/org/mediawiki/dumper/filters/TimeStampFilter.java
A src/org/mediawiki/dumper/filters/predicates/BaseListFilter.java
R src/org/mediawiki/dumper/filters/predicates/ExactListFilter.java
R src/org/mediawiki/dumper/filters/predicates/ListFilter.java
R src/org/mediawiki/dumper/filters/predicates/NamespaceFilter.java
R src/org/mediawiki/dumper/filters/predicates/NotalkFilter.java
A src/org/mediawiki/dumper/filters/predicates/PredicatePageFilter.java
R src/org/mediawiki/dumper/filters/predicates/TitleMatchFilter.java
R src/org/mediawiki/dumper/input/XmlDumpReader.java
R src/org/mediawiki/dumper/wiki/Contributor.java
R src/org/mediawiki/dumper/wiki/Namespace.java
R src/org/mediawiki/dumper/wiki/NamespaceSet.java
R src/org/mediawiki/dumper/wiki/Page.java
R src/org/mediawiki/dumper/wiki/Revision.java
R src/org/mediawiki/dumper/wiki/Siteinfo.java
R src/org/mediawiki/dumper/wiki/Title.java
R src/org/mediawiki/dumper/wiki/Wikiinfo.java
R src/org/mediawiki/dumper/writers/DumpWriter.java
R src/org/mediawiki/dumper/writers/MultiWriter.java
R src/org/mediawiki/dumper/writers/sql/SqlFileStream.java
R src/org/mediawiki/dumper/writers/sql/SqlLiteral.java
R src/org/mediawiki/dumper/writers/sql/SqlServerStream.java
R src/org/mediawiki/dumper/writers/sql/SqlStream.java
R src/org/mediawiki/dumper/writers/sql/SqlWriter.java
R src/org/mediawiki/dumper/writers/sql/SqlWriter14.java
R src/org/mediawiki/dumper/writers/sql/SqlWriter15.java
R src/org/mediawiki/dumper/writers/sql/SqlWriter1_25.java
R src/org/mediawiki/dumper/writers/xml/SphinxWriter.java
R src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_10.java
R src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_3.java
R src/org/mediawiki/dumper/writers/xml/XmlWriter.java
38 files changed, 310 insertions(+), 202 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/mwdumper
refs/changes/77/403477/1
diff --git a/pom.xml b/pom.xml
index 5dc7d5c..b67cc18 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,6 +15,11 @@
<dependencies>
<dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>19.0</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.4.1</version>
diff --git a/src/org/mediawiki/importer/AfterTimeStampFilter.java
b/src/org/mediawiki/dumper/filters/AfterTimeStampFilter.java
similarity index 91%
rename from src/org/mediawiki/importer/AfterTimeStampFilter.java
rename to src/org/mediawiki/dumper/filters/AfterTimeStampFilter.java
index 8300fbc..ad0ffdf 100644
--- a/src/org/mediawiki/importer/AfterTimeStampFilter.java
+++ b/src/org/mediawiki/dumper/filters/AfterTimeStampFilter.java
@@ -22,14 +22,16 @@
*
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters;
import java.io.IOException;
-import java.text.ParseException;
+
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
public class AfterTimeStampFilter extends TimeStampFilter {
- public AfterTimeStampFilter(DumpWriter sink, String timeStamp) throws
ParseException {
+ public AfterTimeStampFilter(DumpWriter sink, String timeStamp) {
super(sink, timeStamp);
}
diff --git a/src/org/mediawiki/importer/BeforeTimeStampFilter.java
b/src/org/mediawiki/dumper/filters/BeforeTimeStampFilter.java
similarity index 91%
rename from src/org/mediawiki/importer/BeforeTimeStampFilter.java
rename to src/org/mediawiki/dumper/filters/BeforeTimeStampFilter.java
index 6575c3b..7536e49 100644
--- a/src/org/mediawiki/importer/BeforeTimeStampFilter.java
+++ b/src/org/mediawiki/dumper/filters/BeforeTimeStampFilter.java
@@ -22,14 +22,16 @@
*
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters;
import java.io.IOException;
-import java.text.ParseException;
+
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
public class BeforeTimeStampFilter extends TimeStampFilter {
- public BeforeTimeStampFilter(DumpWriter sink, String timeStamp) throws
ParseException {
+ public BeforeTimeStampFilter(DumpWriter sink, String timeStamp) {
super(sink, timeStamp);
}
diff --git a/src/org/mediawiki/importer/PageFilter.java
b/src/org/mediawiki/dumper/filters/ChainingDumpWriter.java
similarity index 72%
rename from src/org/mediawiki/importer/PageFilter.java
rename to src/org/mediawiki/dumper/filters/ChainingDumpWriter.java
index d1338b1..f727bd5 100644
--- a/src/org/mediawiki/importer/PageFilter.java
+++ b/src/org/mediawiki/dumper/filters/ChainingDumpWriter.java
@@ -23,51 +23,49 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters;
import java.io.IOException;
-public abstract class PageFilter implements DumpWriter {
- DumpWriter sink;
- boolean showThisPage;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
+import org.mediawiki.dumper.writers.DumpWriter;
+
+public abstract class ChainingDumpWriter implements DumpWriter {
+ protected final DumpWriter writer;
- public PageFilter(DumpWriter sink) {
- this.sink = sink;
+ public ChainingDumpWriter(DumpWriter writer) {
+ this.writer = writer;
}
public void close() throws IOException {
- sink.close();
+ writer.close();
}
public void writeStartWiki(Wikiinfo info) throws IOException {
- sink.writeStartWiki(info);
+ writer.writeStartWiki(info);
}
public void writeEndWiki() throws IOException {
- sink.writeEndWiki();
+ writer.writeEndWiki();
}
public void writeSiteinfo(Siteinfo info) throws IOException {
- sink.writeSiteinfo(info);
+ writer.writeSiteinfo(info);
}
public void writeStartPage(Page page) throws IOException {
- showThisPage = pass(page);
- if (showThisPage)
- sink.writeStartPage(page);
+ writer.writeStartPage(page);
}
public void writeEndPage() throws IOException {
- if (showThisPage)
- sink.writeEndPage();
+ writer.writeEndPage();
}
public void writeRevision(Revision revision) throws IOException {
- if (showThisPage)
- sink.writeRevision(revision);
+ writer.writeRevision(revision);
}
- protected boolean pass(Page page) {
- return true;
- }
}
diff --git a/src/org/mediawiki/importer/LatestFilter.java
b/src/org/mediawiki/dumper/filters/LatestFilter.java
similarity index 70%
rename from src/org/mediawiki/importer/LatestFilter.java
rename to src/org/mediawiki/dumper/filters/LatestFilter.java
index 709f5bd..8e928db 100644
--- a/src/org/mediawiki/importer/LatestFilter.java
+++ b/src/org/mediawiki/dumper/filters/LatestFilter.java
@@ -23,44 +23,26 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters;
import java.io.IOException;
-public class LatestFilter implements DumpWriter {
- DumpWriter sink;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
+
+public class LatestFilter extends ChainingDumpWriter {
Revision lastRevision;
public LatestFilter(DumpWriter sink) {
- this.sink = sink;
+ super(sink);
}
-
- public void close() throws IOException {
- sink.close();
- }
-
- public void writeStartWiki(Wikiinfo info) throws IOException {
- sink.writeStartWiki(info);
- }
-
- public void writeEndWiki() throws IOException {
- sink.writeEndWiki();
- }
-
- public void writeSiteinfo(Siteinfo info) throws IOException {
- sink.writeSiteinfo(info);
- }
-
- public void writeStartPage(Page page) throws IOException {
- sink.writeStartPage(page);
- }
-
+
public void writeEndPage() throws IOException {
if (lastRevision != null) {
- sink.writeRevision(lastRevision);
+ writer.writeRevision(lastRevision);
lastRevision = null;
}
- sink.writeEndPage();
+ writer.writeEndPage();
}
public void writeRevision(Revision revision) {
diff --git a/src/org/mediawiki/dumper/ProgressFilter.java
b/src/org/mediawiki/dumper/filters/ProgressFilter.java
similarity index 91%
rename from src/org/mediawiki/dumper/ProgressFilter.java
rename to src/org/mediawiki/dumper/filters/ProgressFilter.java
index 01ce837..2cbfe64 100644
--- a/src/org/mediawiki/dumper/ProgressFilter.java
+++ b/src/org/mediawiki/dumper/filters/ProgressFilter.java
@@ -23,17 +23,16 @@
* $Id$
*/
-package org.mediawiki.dumper;
+package org.mediawiki.dumper.filters;
import java.io.IOException;
import java.text.MessageFormat;
-import org.mediawiki.importer.DumpWriter;
-import org.mediawiki.importer.Page;
-import org.mediawiki.importer.PageFilter;
-import org.mediawiki.importer.Revision;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
-public class ProgressFilter extends PageFilter {
+public class ProgressFilter extends ChainingDumpWriter {
int pages = 0;
int revisions = 0;
int interval = 1000;
diff --git a/src/org/mediawiki/importer/RevisionListFilter.java
b/src/org/mediawiki/dumper/filters/RevisionListFilter.java
similarity index 79%
rename from src/org/mediawiki/importer/RevisionListFilter.java
rename to src/org/mediawiki/dumper/filters/RevisionListFilter.java
index 44f4f13..288bb8d 100644
--- a/src/org/mediawiki/importer/RevisionListFilter.java
+++ b/src/org/mediawiki/dumper/filters/RevisionListFilter.java
@@ -23,23 +23,25 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters;
-import java.lang.Integer;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.TreeSet;
-public class RevisionListFilter implements DumpWriter {
- DumpWriter sink;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
+
+public class RevisionListFilter extends ChainingDumpWriter {
protected TreeSet<Integer> revIds;
protected Page currentPage;
protected boolean pageWritten;
public RevisionListFilter(DumpWriter sink, String sourceFileName)
throws IOException {
- this.sink = sink;
+ super(sink);
revIds = new TreeSet<Integer>();
BufferedReader input = new BufferedReader(new InputStreamReader(
new FileInputStream(sourceFileName), "utf-8"));
@@ -53,23 +55,7 @@
}
input.close();
}
-
- public void close() throws IOException {
- sink.close();
- }
-
- public void writeStartWiki(Wikiinfo info) throws IOException {
- sink.writeStartWiki(info);
- }
-
- public void writeEndWiki() throws IOException {
- sink.writeEndWiki();
- }
-
- public void writeSiteinfo(Siteinfo info) throws IOException {
- sink.writeSiteinfo(info);
- }
-
+
public void writeStartPage(Page page) throws IOException {
currentPage = page;
pageWritten = false;
@@ -77,17 +63,17 @@
public void writeEndPage() throws IOException {
if (pageWritten) {
- sink.writeEndPage();
+ writer.writeEndPage();
}
}
public void writeRevision(Revision revision) throws IOException {
if (revIds.contains(new Integer(revision.Id))) {
if (!pageWritten) {
- sink.writeStartPage(currentPage);
+ writer.writeStartPage(currentPage);
pageWritten = true;
}
- sink.writeRevision(revision);
+ writer.writeRevision(revision);
}
}
}
diff --git a/src/org/mediawiki/importer/TimeStampFilter.java
b/src/org/mediawiki/dumper/filters/TimeStampFilter.java
similarity index 70%
rename from src/org/mediawiki/importer/TimeStampFilter.java
rename to src/org/mediawiki/dumper/filters/TimeStampFilter.java
index 50c0c63..36d26d0 100644
--- a/src/org/mediawiki/importer/TimeStampFilter.java
+++ b/src/org/mediawiki/dumper/filters/TimeStampFilter.java
@@ -22,39 +22,31 @@
*
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters;
import java.io.IOException;
-import java.util.Calendar;
-import java.text.SimpleDateFormat;
import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
-public class TimeStampFilter implements DumpWriter {
- DumpWriter sink;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
+
+public class TimeStampFilter extends ChainingDumpWriter {
+ public static final String TIMESTAMP_FORMAT =
"yyyy-MM-dd'T'HH:mm:ss'Z'";
protected Calendar filterTimeStamp;
protected Page currentPage;
protected boolean pageWritten;
- public TimeStampFilter(DumpWriter sink, String timeStamp) throws
ParseException {
- this.sink = sink;
+ public TimeStampFilter(DumpWriter sink, String timeStamp) {
+ super(sink);
filterTimeStamp = Calendar.getInstance();
- filterTimeStamp.setTime(new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(timeStamp));
- }
-
- public void close() throws IOException {
- sink.close();
- }
-
- public void writeStartWiki(Wikiinfo info) throws IOException {
- sink.writeStartWiki(info);
- }
-
- public void writeEndWiki() throws IOException {
- sink.writeEndWiki();
- }
-
- public void writeSiteinfo(Siteinfo info) throws IOException {
- sink.writeSiteinfo(info);
+ try {
+ filterTimeStamp.setTime(new
SimpleDateFormat(TIMESTAMP_FORMAT).parse(timeStamp));
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
}
public void writeStartPage(Page page) throws IOException {
@@ -64,15 +56,15 @@
public void writeEndPage() throws IOException {
if (pageWritten) {
- sink.writeEndPage();
+ writer.writeEndPage();
}
}
public void writeRevision(Revision revision) throws IOException {
if (!pageWritten) {
- sink.writeStartPage(currentPage);
+ writer.writeStartPage(currentPage);
pageWritten = true;
}
- sink.writeRevision(revision);
+ writer.writeRevision(revision);
}
}
diff --git a/src/org/mediawiki/dumper/filters/predicates/BaseListFilter.java
b/src/org/mediawiki/dumper/filters/predicates/BaseListFilter.java
new file mode 100644
index 0000000..dac0208
--- /dev/null
+++ b/src/org/mediawiki/dumper/filters/predicates/BaseListFilter.java
@@ -0,0 +1,20 @@
+package org.mediawiki.dumper.filters.predicates;
+
+import java.util.Set;
+
+import org.mediawiki.dumper.wiki.Page;
+
+public abstract class BaseListFilter extends PredicatePageFilter {
+
+ protected final Set<String> set;
+
+ public BaseListFilter(Set<String> set) {
+ this.set = set;
+ }
+
+ public boolean test(Page page) {
+ return set.contains(page.Title.subjectPage().toString())
+ || set.contains(page.Title.talkPage().toString());
+ }
+
+}
\ No newline at end of file
diff --git a/src/org/mediawiki/importer/ExactListFilter.java
b/src/org/mediawiki/dumper/filters/predicates/ExactListFilter.java
similarity index 82%
rename from src/org/mediawiki/importer/ExactListFilter.java
rename to src/org/mediawiki/dumper/filters/predicates/ExactListFilter.java
index 50bedfb..2e56230 100644
--- a/src/org/mediawiki/importer/ExactListFilter.java
+++ b/src/org/mediawiki/dumper/filters/predicates/ExactListFilter.java
@@ -23,16 +23,18 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters.predicates;
import java.io.IOException;
+import org.mediawiki.dumper.wiki.Page;
+
public class ExactListFilter extends ListFilter {
- public ExactListFilter(DumpWriter sink, String sourceFileName) throws
IOException {
- super(sink, sourceFileName);
+ public ExactListFilter(String sourceFileName) throws IOException {
+ super(sourceFileName);
}
- protected boolean pass(Page page) {
- return list.containsKey(page.Title.toString());
+ public boolean test(Page page) {
+ return set.contains(page.Title.toString());
}
}
diff --git a/src/org/mediawiki/importer/ListFilter.java
b/src/org/mediawiki/dumper/filters/predicates/ListFilter.java
similarity index 73%
rename from src/org/mediawiki/importer/ListFilter.java
rename to src/org/mediawiki/dumper/filters/predicates/ListFilter.java
index 9d74ead..fac812a 100644
--- a/src/org/mediawiki/importer/ListFilter.java
+++ b/src/org/mediawiki/dumper/filters/predicates/ListFilter.java
@@ -23,20 +23,26 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters.predicates;
import java.io.BufferedReader;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
-import java.util.HashMap;
+import java.io.UnsupportedEncodingException;
-public class ListFilter extends PageFilter {
- protected HashMap<String, String> list;
-
- public ListFilter(DumpWriter sink, String sourceFileName) throws
IOException {
- super(sink);
- list = new HashMap<String, String>();
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
+
+public class ListFilter extends BaseListFilter {
+ public ListFilter(String sourceFileName) throws IOException {
+ super(readFile(sourceFileName));
+ }
+
+ private static ImmutableSet<String> readFile(String sourceFileName)
+ throws UnsupportedEncodingException,
FileNotFoundException, IOException {
+ Builder<String> builder = ImmutableSet.builder();
BufferedReader input = new BufferedReader(new InputStreamReader(
new FileInputStream(sourceFileName), "utf-8"));
String line = input.readLine();
@@ -48,15 +54,11 @@
title = line.substring(1);
if (title.length() > 0)
- list.put(title, title);
+ builder.add(title);
}
line = input.readLine();
}
input.close();
- }
-
- protected boolean pass(Page page) {
- return list.containsKey(page.Title.subjectPage().toString())
- || list.containsKey(page.Title.talkPage().toString());
+ return builder.build();
}
}
diff --git a/src/org/mediawiki/importer/NamespaceFilter.java
b/src/org/mediawiki/dumper/filters/predicates/NamespaceFilter.java
similarity index 71%
rename from src/org/mediawiki/importer/NamespaceFilter.java
rename to src/org/mediawiki/dumper/filters/predicates/NamespaceFilter.java
index ab5e7f4..07b8d29 100644
--- a/src/org/mediawiki/importer/NamespaceFilter.java
+++ b/src/org/mediawiki/dumper/filters/predicates/NamespaceFilter.java
@@ -23,39 +23,39 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters.predicates;
import java.util.HashMap;
-public class NamespaceFilter extends PageFilter {
+import org.mediawiki.dumper.wiki.Page;
+
+public class NamespaceFilter extends PredicatePageFilter {
+ private static final String[] NAMESPACE_KEYS = {
+ "NS_MAIN",
+ "NS_TALK",
+ "NS_USER",
+ "NS_USER_TALK",
+ "NS_PROJECT",
+ "NS_PROJECT_TALK",
+ "NS_IMAGE",
+ "NS_IMAGE_TALK",
+ "NS_MEDIAWIKI",
+ "NS_MEDIAWIKI_TALK",
+ "NS_TEMPLATE",
+ "NS_TEMPLATE_TALK",
+ "NS_HELP",
+ "NS_HELP_TALK",
+ "NS_CATEGORY",
+ "NS_CATEGORY_TALK" };
boolean invert;
HashMap<Integer, String> matches;
- public NamespaceFilter(DumpWriter sink, String configString) {
- super(sink);
+ public NamespaceFilter(String configString) {
invert = configString.startsWith("!");
if (invert)
configString = configString.substring(1);
matches = new HashMap<Integer, String>();
-
- String[] namespaceKeys = {
- "NS_MAIN",
- "NS_TALK",
- "NS_USER",
- "NS_USER_TALK",
- "NS_PROJECT",
- "NS_PROJECT_TALK",
- "NS_IMAGE",
- "NS_IMAGE_TALK",
- "NS_MEDIAWIKI",
- "NS_MEDIAWIKI_TALK",
- "NS_TEMPLATE",
- "NS_TEMPLATE_TALK",
- "NS_HELP",
- "NS_HELP_TALK",
- "NS_CATEGORY",
- "NS_CATEGORY_TALK" };
String[] itemList = configString.trim().split(",");
for (int i = 0; i < itemList.length; i++) {
@@ -65,15 +65,16 @@
int key = Integer.parseInt(trimmed);
matches.put(new Integer(key), trimmed);
} catch (NumberFormatException e) {
- for (int key = 0; key < namespaceKeys.length;
key++) {
- if
(trimmed.equalsIgnoreCase(namespaceKeys[key]))
+ System.err.println("namespace keys in mwdumper
are outdated!");
+ for (int key = 0; key < NAMESPACE_KEYS.length;
key++) {
+ if
(trimmed.equalsIgnoreCase(NAMESPACE_KEYS[key]))
matches.put(new Integer(key),
trimmed);
}
}
}
}
- protected boolean pass(Page page) {
+ public boolean test(Page page) {
return invert ^ matches.containsKey(page.Title.Namespace);
}
}
diff --git a/src/org/mediawiki/importer/NotalkFilter.java
b/src/org/mediawiki/dumper/filters/predicates/NotalkFilter.java
similarity index 86%
rename from src/org/mediawiki/importer/NotalkFilter.java
rename to src/org/mediawiki/dumper/filters/predicates/NotalkFilter.java
index 2eb47a3..465d1ea 100644
--- a/src/org/mediawiki/importer/NotalkFilter.java
+++ b/src/org/mediawiki/dumper/filters/predicates/NotalkFilter.java
@@ -23,14 +23,12 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters.predicates;
-public class NotalkFilter extends PageFilter {
- public NotalkFilter(DumpWriter sink) {
- super(sink);
- }
+import org.mediawiki.dumper.wiki.Page;
- protected boolean pass(Page page) {
+public class NotalkFilter extends PredicatePageFilter {
+ public boolean test(Page page) {
return !page.Title.isTalk();
}
}
diff --git
a/src/org/mediawiki/dumper/filters/predicates/PredicatePageFilter.java
b/src/org/mediawiki/dumper/filters/predicates/PredicatePageFilter.java
new file mode 100644
index 0000000..47c5f19
--- /dev/null
+++ b/src/org/mediawiki/dumper/filters/predicates/PredicatePageFilter.java
@@ -0,0 +1,60 @@
+/*
+ * MediaWiki import/export processing tools
+ * Copyright 2005 by Brion Vibber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
+ * SOFTWARE.
+ *
+ * $Id$
+ */
+
+package org.mediawiki.dumper.filters.predicates;
+
+import java.io.IOException;
+import java.util.function.Predicate;
+
+import org.mediawiki.dumper.filters.ChainingDumpWriter;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.writers.DumpWriter;
+
+public abstract class PredicatePageFilter implements Predicate<Page> {
+
+ public static DumpWriter makePredicateDumpWriter(final DumpWriter
successorWriter, final PredicatePageFilter filter) {
+ return new ChainingDumpWriter(successorWriter) {
+ boolean showThisPage = true;
+
+ public void writeStartPage(Page page) throws
IOException {
+ showThisPage = filter.test(page);
+ if (showThisPage)
+ writer.writeStartPage(page);
+ }
+
+ public void writeEndPage() throws IOException {
+ if (showThisPage)
+ writer.writeEndPage();
+ }
+
+ public void writeRevision(Revision revision) throws
IOException {
+ if (showThisPage)
+ writer.writeRevision(revision);
+ }
+
+ };
+ }
+}
diff --git a/src/org/mediawiki/importer/TitleMatchFilter.java
b/src/org/mediawiki/dumper/filters/predicates/TitleMatchFilter.java
similarity index 83%
rename from src/org/mediawiki/importer/TitleMatchFilter.java
rename to src/org/mediawiki/dumper/filters/predicates/TitleMatchFilter.java
index a7429b8..e71c798 100644
--- a/src/org/mediawiki/importer/TitleMatchFilter.java
+++ b/src/org/mediawiki/dumper/filters/predicates/TitleMatchFilter.java
@@ -23,19 +23,20 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.filters.predicates;
import java.util.regex.Pattern;
-public class TitleMatchFilter extends PageFilter {
- Pattern regex;
+import org.mediawiki.dumper.wiki.Page;
+
+public class TitleMatchFilter extends PredicatePageFilter {
+ final Pattern regex;
- public TitleMatchFilter(DumpWriter sink, String regexString) {
- super(sink);
+ public TitleMatchFilter(String regexString) {
regex = Pattern.compile(regexString);
}
- protected boolean pass(Page page) {
+ public boolean test(Page page) {
return regex.matcher(page.Title.toString()).matches();
}
}
diff --git a/src/org/mediawiki/importer/XmlDumpReader.java
b/src/org/mediawiki/dumper/input/XmlDumpReader.java
similarity index 97%
rename from src/org/mediawiki/importer/XmlDumpReader.java
rename to src/org/mediawiki/dumper/input/XmlDumpReader.java
index aa25b12..82112eb 100644
--- a/src/org/mediawiki/importer/XmlDumpReader.java
+++ b/src/org/mediawiki/dumper/input/XmlDumpReader.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.input;
import java.io.IOException;
import java.io.InputStream;
@@ -38,6 +38,14 @@
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
+import org.mediawiki.dumper.wiki.Contributor;
+import org.mediawiki.dumper.wiki.NamespaceSet;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Title;
+import org.mediawiki.dumper.wiki.Wikiinfo;
+import org.mediawiki.dumper.writers.DumpWriter;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
diff --git a/src/org/mediawiki/importer/Contributor.java
b/src/org/mediawiki/dumper/wiki/Contributor.java
similarity index 97%
rename from src/org/mediawiki/importer/Contributor.java
rename to src/org/mediawiki/dumper/wiki/Contributor.java
index b1f922c..af146a0 100644
--- a/src/org/mediawiki/importer/Contributor.java
+++ b/src/org/mediawiki/dumper/wiki/Contributor.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
public class Contributor {
public String Username;
diff --git a/src/org/mediawiki/importer/Namespace.java
b/src/org/mediawiki/dumper/wiki/Namespace.java
similarity index 91%
rename from src/org/mediawiki/importer/Namespace.java
rename to src/org/mediawiki/dumper/wiki/Namespace.java
index 1c44735..52ce433 100644
--- a/src/org/mediawiki/importer/Namespace.java
+++ b/src/org/mediawiki/dumper/wiki/Namespace.java
@@ -22,12 +22,12 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
public class Namespace {
- int Index;
- String Prefix;
- String Case;
+ public final int Index;
+ public final String Prefix;
+ public final String Case;
public Namespace(int index, String prefix, String nscase) {
Index = index;
diff --git a/src/org/mediawiki/importer/NamespaceSet.java
b/src/org/mediawiki/dumper/wiki/NamespaceSet.java
similarity index 98%
rename from src/org/mediawiki/importer/NamespaceSet.java
rename to src/org/mediawiki/dumper/wiki/NamespaceSet.java
index 11d350f..074be5b 100644
--- a/src/org/mediawiki/importer/NamespaceSet.java
+++ b/src/org/mediawiki/dumper/wiki/NamespaceSet.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
import java.util.Map;
import java.util.HashMap;
diff --git a/src/org/mediawiki/importer/Page.java
b/src/org/mediawiki/dumper/wiki/Page.java
similarity index 97%
rename from src/org/mediawiki/importer/Page.java
rename to src/org/mediawiki/dumper/wiki/Page.java
index edc21c9..ace34c3 100644
--- a/src/org/mediawiki/importer/Page.java
+++ b/src/org/mediawiki/dumper/wiki/Page.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
import java.util.Hashtable;
diff --git a/src/org/mediawiki/importer/Revision.java
b/src/org/mediawiki/dumper/wiki/Revision.java
similarity index 97%
rename from src/org/mediawiki/importer/Revision.java
rename to src/org/mediawiki/dumper/wiki/Revision.java
index 9d6f695..e5596f0 100644
--- a/src/org/mediawiki/importer/Revision.java
+++ b/src/org/mediawiki/dumper/wiki/Revision.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
import java.util.Calendar;
diff --git a/src/org/mediawiki/importer/Siteinfo.java
b/src/org/mediawiki/dumper/wiki/Siteinfo.java
similarity index 97%
rename from src/org/mediawiki/importer/Siteinfo.java
rename to src/org/mediawiki/dumper/wiki/Siteinfo.java
index 27364c5..696b691 100644
--- a/src/org/mediawiki/importer/Siteinfo.java
+++ b/src/org/mediawiki/dumper/wiki/Siteinfo.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
public class Siteinfo {
public String Sitename;
diff --git a/src/org/mediawiki/importer/Title.java
b/src/org/mediawiki/dumper/wiki/Title.java
similarity index 98%
rename from src/org/mediawiki/importer/Title.java
rename to src/org/mediawiki/dumper/wiki/Title.java
index 5bdb7b0..f4aeb2a 100644
--- a/src/org/mediawiki/importer/Title.java
+++ b/src/org/mediawiki/dumper/wiki/Title.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
public class Title {
public Integer Namespace;
diff --git a/src/org/mediawiki/importer/Wikiinfo.java
b/src/org/mediawiki/dumper/wiki/Wikiinfo.java
similarity index 96%
rename from src/org/mediawiki/importer/Wikiinfo.java
rename to src/org/mediawiki/dumper/wiki/Wikiinfo.java
index ea4a94f..7716bc0 100644
--- a/src/org/mediawiki/importer/Wikiinfo.java
+++ b/src/org/mediawiki/dumper/wiki/Wikiinfo.java
@@ -22,7 +22,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.wiki;
public class Wikiinfo {
public String Lang;
diff --git a/src/org/mediawiki/importer/DumpWriter.java
b/src/org/mediawiki/dumper/writers/DumpWriter.java
similarity index 88%
rename from src/org/mediawiki/importer/DumpWriter.java
rename to src/org/mediawiki/dumper/writers/DumpWriter.java
index eb21f02..49bb8e9 100644
--- a/src/org/mediawiki/importer/DumpWriter.java
+++ b/src/org/mediawiki/dumper/writers/DumpWriter.java
@@ -23,9 +23,14 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers;
import java.io.IOException;
+
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
public interface DumpWriter {
void close() throws IOException;
@@ -39,5 +44,4 @@
void writeEndPage() throws IOException;
void writeRevision(Revision revision) throws IOException;
- //void WriteUpload(Upload upload) throws IOException; // for the future
}
diff --git a/src/org/mediawiki/importer/MultiWriter.java
b/src/org/mediawiki/dumper/writers/MultiWriter.java
similarity index 85%
rename from src/org/mediawiki/importer/MultiWriter.java
rename to src/org/mediawiki/dumper/writers/MultiWriter.java
index 305cfdf..365f4d4 100644
--- a/src/org/mediawiki/importer/MultiWriter.java
+++ b/src/org/mediawiki/dumper/writers/MultiWriter.java
@@ -23,18 +23,24 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers;
import java.io.IOException;
-import java.util.ArrayList;
+import java.util.List;
+
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
public class MultiWriter implements DumpWriter {
- ArrayList<DumpWriter> sinks;
+ private final List<DumpWriter> sinks;
- public MultiWriter() {
- sinks = new ArrayList<DumpWriter>();
+ public MultiWriter(List<DumpWriter> writers) {
+ this.sinks = writers;
}
+ @Override
public void close() throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -42,6 +48,7 @@
}
}
+ @Override
public void writeStartWiki(Wikiinfo info) throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -49,6 +56,7 @@
}
}
+ @Override
public void writeEndWiki() throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -56,6 +64,7 @@
}
}
+ @Override
public void writeSiteinfo(Siteinfo info) throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -63,6 +72,7 @@
}
}
+ @Override
public void writeStartPage(Page page) throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -70,6 +80,7 @@
}
}
+ @Override
public void writeEndPage() throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -77,6 +88,7 @@
}
}
+ @Override
public void writeRevision(Revision revision) throws IOException {
for (int i = 0; i < sinks.size(); i++) {
DumpWriter sink = sinks.get(i);
@@ -84,7 +96,4 @@
}
}
- public void add(DumpWriter sink) {
- sinks.add(sink);
- }
}
diff --git a/src/org/mediawiki/importer/SqlFileStream.java
b/src/org/mediawiki/dumper/writers/sql/SqlFileStream.java
similarity index 92%
rename from src/org/mediawiki/importer/SqlFileStream.java
rename to src/org/mediawiki/dumper/writers/sql/SqlFileStream.java
index 9577da3..7e095dd 100644
--- a/src/org/mediawiki/importer/SqlFileStream.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlFileStream.java
@@ -1,4 +1,4 @@
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/src/org/mediawiki/importer/SqlLiteral.java
b/src/org/mediawiki/dumper/writers/sql/SqlLiteral.java
similarity index 96%
rename from src/org/mediawiki/importer/SqlLiteral.java
rename to src/org/mediawiki/dumper/writers/sql/SqlLiteral.java
index 1473411..a610cc5 100644
--- a/src/org/mediawiki/importer/SqlLiteral.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlLiteral.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
/**
* Quickie wrapper class for including literal SQL expressions.
diff --git a/src/org/mediawiki/importer/SqlServerStream.java
b/src/org/mediawiki/dumper/writers/sql/SqlServerStream.java
similarity index 95%
rename from src/org/mediawiki/importer/SqlServerStream.java
rename to src/org/mediawiki/dumper/writers/sql/SqlServerStream.java
index 7ba921b..2821121 100644
--- a/src/org/mediawiki/importer/SqlServerStream.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlServerStream.java
@@ -1,4 +1,4 @@
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
import java.sql.Connection;
diff --git a/src/org/mediawiki/importer/SqlStream.java
b/src/org/mediawiki/dumper/writers/sql/SqlStream.java
similarity index 84%
rename from src/org/mediawiki/importer/SqlStream.java
rename to src/org/mediawiki/dumper/writers/sql/SqlStream.java
index 9182ea4..7da1668 100644
--- a/src/org/mediawiki/importer/SqlStream.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlStream.java
@@ -1,4 +1,4 @@
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
diff --git a/src/org/mediawiki/importer/SqlWriter.java
b/src/org/mediawiki/dumper/writers/sql/SqlWriter.java
similarity index 96%
rename from src/org/mediawiki/importer/SqlWriter.java
rename to src/org/mediawiki/dumper/writers/sql/SqlWriter.java
index a155157..6bc6e30 100644
--- a/src/org/mediawiki/importer/SqlWriter.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlWriter.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
import java.text.MessageFormat;
@@ -34,6 +34,13 @@
import java.util.Iterator;
import java.util.TimeZone;
+import org.mediawiki.dumper.wiki.Namespace;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
+import org.mediawiki.dumper.writers.DumpWriter;
+
public abstract class SqlWriter implements DumpWriter {
public static abstract class Traits {
diff --git a/src/org/mediawiki/importer/SqlWriter14.java
b/src/org/mediawiki/dumper/writers/sql/SqlWriter14.java
similarity index 96%
rename from src/org/mediawiki/importer/SqlWriter14.java
rename to src/org/mediawiki/dumper/writers/sql/SqlWriter14.java
index 2585c4d..cbdb908 100644
--- a/src/org/mediawiki/importer/SqlWriter14.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlWriter14.java
@@ -23,10 +23,13 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+
public class SqlWriter14 extends SqlWriter {
private Page currentPage;
diff --git a/src/org/mediawiki/importer/SqlWriter15.java
b/src/org/mediawiki/dumper/writers/sql/SqlWriter15.java
similarity index 96%
rename from src/org/mediawiki/importer/SqlWriter15.java
rename to src/org/mediawiki/dumper/writers/sql/SqlWriter15.java
index f57473d..52d4672 100644
--- a/src/org/mediawiki/importer/SqlWriter15.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlWriter15.java
@@ -25,10 +25,13 @@
// Doesn't actually work yet...
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+
public class SqlWriter15 extends SqlWriter {
protected Page currentPage;
protected Revision lastRevision;
diff --git a/src/org/mediawiki/importer/SqlWriter1_25.java
b/src/org/mediawiki/dumper/writers/sql/SqlWriter1_25.java
similarity index 96%
rename from src/org/mediawiki/importer/SqlWriter1_25.java
rename to src/org/mediawiki/dumper/writers/sql/SqlWriter1_25.java
index a24696c..9fa9f42 100644
--- a/src/org/mediawiki/importer/SqlWriter1_25.java
+++ b/src/org/mediawiki/dumper/writers/sql/SqlWriter1_25.java
@@ -23,10 +23,12 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.sql;
import java.io.IOException;
-import java.nio.charset.Charset;
+
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
public class SqlWriter1_25 extends SqlWriter15 {
public SqlWriter1_25(SqlWriter.Traits tr, SqlStream output) {
diff --git a/src/org/mediawiki/importer/SphinxWriter.java
b/src/org/mediawiki/dumper/writers/xml/SphinxWriter.java
similarity index 91%
rename from src/org/mediawiki/importer/SphinxWriter.java
rename to src/org/mediawiki/dumper/writers/xml/SphinxWriter.java
index c5ffadb..31eaf54 100644
--- a/src/org/mediawiki/importer/SphinxWriter.java
+++ b/src/org/mediawiki/dumper/writers/xml/SphinxWriter.java
@@ -23,12 +23,18 @@
* $Id: XmlDumpWriter.java 11268 2005-10-10 06:57:30Z vibber $
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.xml;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Calendar;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
+import org.mediawiki.dumper.writers.DumpWriter;
+
/**
* Generates XML stream suitable for the Sphinx search engine's xmlpipe input.
*/
diff --git a/src/org/mediawiki/importer/XmlDumpWriter0_10.java
b/src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_10.java
similarity index 94%
rename from src/org/mediawiki/importer/XmlDumpWriter0_10.java
rename to src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_10.java
index 65010da..8a84e94 100644
--- a/src/org/mediawiki/importer/XmlDumpWriter0_10.java
+++ b/src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_10.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.xml;
import java.io.IOException;
import java.io.OutputStream;
@@ -35,6 +35,14 @@
import java.util.Map;
import java.util.TimeZone;
+import org.mediawiki.dumper.wiki.Contributor;
+import org.mediawiki.dumper.wiki.Namespace;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
+import org.mediawiki.dumper.writers.DumpWriter;
+
public class XmlDumpWriter0_10 implements DumpWriter {
protected OutputStream stream;
protected XmlWriter writer;
diff --git a/src/org/mediawiki/importer/XmlDumpWriter0_3.java
b/src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_3.java
similarity index 93%
rename from src/org/mediawiki/importer/XmlDumpWriter0_3.java
rename to src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_3.java
index 40cdbb5..fe47bc4 100644
--- a/src/org/mediawiki/importer/XmlDumpWriter0_3.java
+++ b/src/org/mediawiki/dumper/writers/xml/XmlDumpWriter0_3.java
@@ -23,7 +23,7 @@
* $Id$
*/
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.xml;
import java.io.IOException;
import java.io.OutputStream;
@@ -34,6 +34,14 @@
import java.util.Map;
import java.util.TimeZone;
+import org.mediawiki.dumper.wiki.Contributor;
+import org.mediawiki.dumper.wiki.Namespace;
+import org.mediawiki.dumper.wiki.Page;
+import org.mediawiki.dumper.wiki.Revision;
+import org.mediawiki.dumper.wiki.Siteinfo;
+import org.mediawiki.dumper.wiki.Wikiinfo;
+import org.mediawiki.dumper.writers.DumpWriter;
+
public class XmlDumpWriter0_3 implements DumpWriter {
protected OutputStream stream;
protected XmlWriter writer;
diff --git a/src/org/mediawiki/importer/XmlWriter.java
b/src/org/mediawiki/dumper/writers/xml/XmlWriter.java
similarity index 98%
rename from src/org/mediawiki/importer/XmlWriter.java
rename to src/org/mediawiki/dumper/writers/xml/XmlWriter.java
index 27a94f3..4cf0447 100644
--- a/src/org/mediawiki/importer/XmlWriter.java
+++ b/src/org/mediawiki/dumper/writers/xml/XmlWriter.java
@@ -1,4 +1,4 @@
-package org.mediawiki.importer;
+package org.mediawiki.dumper.writers.xml;
import java.io.BufferedWriter;
import java.io.IOException;
--
To view, visit https://gerrit.wikimedia.org/r/403477
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1d7a7d02623b64471721338bf33b82075010e524
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/mwdumper
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits