diff -ur mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/Page.java mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/Page.java --- mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/Page.java 2012-09-24 17:43:14.000000000 +0200 +++ mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/Page.java 2012-10-19 11:27:58.000000000 +0200 @@ -30,6 +30,7 @@ public class Page { public Title Title; public int Id; + public boolean isRedirect = false; public Hashtable DiscussionThreadingInfo; public String Restrictions; diff -ur mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/Revision.java mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/Revision.java --- mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/Revision.java 2012-09-24 17:43:14.000000000 +0200 +++ mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/Revision.java 2012-10-19 11:27:58.000000000 +0200 @@ -35,11 +35,6 @@ public String Text; public boolean Minor; - public boolean isRedirect() { - // FIXME - return Text.startsWith("#REDIRECT ") || Text.startsWith("#redirect "); - } - public Revision() { Comment = ""; Text = ""; diff -ur mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/SqlWriter15.java mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/SqlWriter15.java --- mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/SqlWriter15.java 2012-09-24 17:43:14.000000000 +0200 +++ mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/SqlWriter15.java 2012-10-19 11:27:58.000000000 +0200 @@ -118,7 +118,7 @@ {"page_title", titleFormat(page.Title.Text)}, {"page_restrictions", page.Restrictions}, {"page_counter", ZERO}, - {"page_is_redirect", revision.isRedirect() ? ONE : ZERO}, + {"page_is_redirect", page.isRedirect ? ONE : ZERO}, {"page_is_new", ZERO}, {"page_random", traits.getRandom()}, {"page_touched", traits.getCurrentTime()}, diff -ur mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/XmlDumpReader.java mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/XmlDumpReader.java --- mwdumper-HEAD-da61c4e/src/org/mediawiki/importer/XmlDumpReader.java 2012-09-24 17:43:14.000000000 +0200 +++ mwdumper-HEAD-da61c4e-new/src/org/mediawiki/importer/XmlDumpReader.java 2012-10-19 11:27:58.000000000 +0200 @@ -138,6 +138,7 @@ endElements.put("namespaces","namespaces"); endElements.put("namespace","namespace"); endElements.put("page","page"); + endElements.put("redirect","redirect"); endElements.put("restrictions","restrictions"); endElements.put("revision","revision"); endElements.put("siteinfo","siteinfo"); @@ -212,6 +213,7 @@ else if (qName == "page") closePage(); else if (qName == "title") readTitle(); else if (qName == "restrictions") readRestrictions(); + else if (qName == "redirect") readRedirect(); // rare tags: else if (qName.startsWith("Thread")) threadAttribute(qName); else if (qName == "mediawiki") closeMediaWiki(); @@ -327,6 +329,10 @@ throw new IllegalArgumentException("Unexpected outside a , , or "); } + void readRedirect() { + page.isRedirect = true; + } + void readRestrictions() { page.Restrictions = bufferContents(); }