r68124 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r68123‎ | r68124 | r68125 >
Date:15:01, 16 June 2010
Author:daniel
Status:deferred
Tags:
Comment:
store page and revision ids in resource table
Modified paths:
  • /trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/schema/LocalConceptStoreSchema.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/RevisionInfo.java (added) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ConceptImporter.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportDump.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/PropertyImporter.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/extract/ExtractFromDump.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/extract/TextExtractor.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/processor/AbstractPageProcessor.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/processor/WikiWordPageProcessor.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/processor/XmlDumpDriver.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseLocalConceptStoreBuilder.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java (modified) (history)
  • /trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/LocalConceptStoreBuilder.java (modified) (history)

Diff [purge]

Index: trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/schema/LocalConceptStoreSchema.java
@@ -65,6 +65,8 @@
6666
6767 resourceTable = new EntityTable(this, "resource", getDefaultTableAttributes());
6868 resourceTable.addField( new DatabaseField(this, "id", "INT", "AUTO_INCREMENT", true, KeyType.PRIMARY ) );
 69+ resourceTable.addField( new DatabaseField(this, "page_id", "INT", null, false, KeyType.UNIQUE ) );
 70+ resourceTable.addField( new DatabaseField(this, "revision_id", "INT", null, false, KeyType.UNIQUE ) );
6971 //resourceTable.addField( new ReferenceField(this, "corpus", "INT", null, true, null, "corpus", "id", null ) );
7072 resourceTable.addField( new DatabaseField(this, "name", getTextType(255), null, true, KeyType.UNIQUE ) );
7173 resourceTable.addField( new DatabaseField(this, "type", "INT", null, true, KeyType.INDEX ) ); //TODO: enum
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/processor/AbstractPageProcessor.java
@@ -17,6 +17,7 @@
1818 import de.brightbyte.util.SystemUtils;
1919 import de.brightbyte.wikiword.NamespaceSet;
2020 import de.brightbyte.wikiword.ResourceType;
 21+import de.brightbyte.wikiword.RevisionInfo;
2122 import de.brightbyte.wikiword.TweakSet;
2223 import de.brightbyte.wikiword.analyzer.AnalyzerUtils;
2324 import de.brightbyte.wikiword.analyzer.WikiPage;
@@ -125,10 +126,13 @@
126127 }
127128 */
128129
129 - public void handlePage(int id, int namespace, String title, String text, Date timestamp) throws IOException, PersistenceException {
 130+ public void handlePage(RevisionInfo revision, String text) throws IOException, PersistenceException {
 131+ int id = revision.getPageId();
 132+ String title = revision.getPageTitle();
 133+
130134 if (stoplist!=null) {
131135 if (stoplist.set(id, true)) {
132 - out.warn("WARNING: ignored dupe: #"+id+" "+namespace+":"+title);
 136+ out.warn("WARNING: ignored dupe: #"+revision.getPageId()+" "+revision.getPageTitle());
133137 return;
134138 }
135139 }
@@ -158,7 +162,7 @@
159163 bulkTracker.step(text.length());
160164 memoryTracker.step();
161165
162 - int rcId = importPage(namespace, title, text, timestamp);
 166+ int rcId = importPage(revision, text);
163167 if (rcId>0) lastRcId = rcId;
164168
165169 progressTicks++;
@@ -214,20 +218,20 @@
215219 return true;
216220 }
217221
218 - protected final int importPage(int namespace, String title, String text, Date timestamp) throws PersistenceException {
219 - WikiPage page = analyzer.makePage(namespace, title, text, forceTitleCase);
 222+ protected final int importPage(RevisionInfo revision, String text) throws PersistenceException {
 223+ WikiPage page = analyzer.makePage(revision.getNamespace(), revision.getPageTitle(), text, forceTitleCase);
220224
221225 //TODO: check if page is stored. if up to date, skip. if older, update. if missing, create. optionally force update.
222226
223227 if (!isRelevant(page)) {
224 - out.trace("ignored page "+title+" in namespace "+namespace);
 228+ out.trace("ignored page "+revision.getPageTitle()+" in namespace "+revision.getNamespace());
225229 return -1;
226230 }
227231
228 - return importPage(page, timestamp);
 232+ return importPage(page, revision);
229233 }
230234
231 - protected abstract int importPage(WikiPage page, Date timestamp) throws PersistenceException;
 235+ protected abstract int importPage(WikiPage page, RevisionInfo revision) throws PersistenceException;
232236
233237 public int getProgressInterval() {
234238 return progressInterval;
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/processor/XmlDumpDriver.java
@@ -19,8 +19,10 @@
2020 import de.brightbyte.job.BlockingJobQueue;
2121 import de.brightbyte.util.ErrorHandler;
2222 import de.brightbyte.util.PersistenceException;
 23+import de.brightbyte.wikiword.Corpus;
2324 import de.brightbyte.wikiword.Namespace;
2425 import de.brightbyte.wikiword.NamespaceSet;
 26+import de.brightbyte.wikiword.RevisionInfo;
2527 import de.brightbyte.wikiword.TweakSet;
2628 import de.brightbyte.wikiword.builder.InputFileHelper;
2729
@@ -31,6 +33,7 @@
3234 public class XmlDumpDriver implements DataSourceDriver {
3335
3436 protected URL dump;
 37+ protected Corpus corpus;
3538 protected InputStream in;
3639 protected TweakSet tweaks;
3740 protected LeveledOutput log;
@@ -195,7 +198,8 @@
196199 }
197200
198201 protected void importPage(Page page, Revision revision) throws IOException, PersistenceException {
199 - importer.handlePage(page.Id, page.Title.Namespace, page.Title.Text, revision.Text, revision.Timestamp.getTime());
 202+ RevisionInfo r = new RevisionInfo(corpus, page.Id, revision.Id, revision.Timestamp.getTime(), page.Title.Text, page.Title.Namespace);
 203+ importer.handlePage(r, revision.Text);
200204 }
201205
202206 protected void handleImportError(String message, Throwable e) {
@@ -205,22 +209,22 @@
206210 }
207211 }
208212
209 - public XmlDumpDriver(URL dump, InputFileHelper inputHelper, LeveledOutput log, ErrorHandler<XmlDumpDriver, Throwable, RuntimeException> errorHandler, TweakSet tweaks) {
 213+ public XmlDumpDriver(Corpus corpus, URL dump, InputFileHelper inputHelper, LeveledOutput log, ErrorHandler<XmlDumpDriver, Throwable, RuntimeException> errorHandler, TweakSet tweaks) {
210214 if (dump==null) throw new NullPointerException();
211215 this.dump= dump;
212 - init(inputHelper, log, errorHandler, tweaks);
 216+ init(corpus, inputHelper, log, errorHandler, tweaks);
213217 }
214218
215 - public XmlDumpDriver(InputStream in, LeveledOutput log, ErrorHandler<XmlDumpDriver, Throwable, RuntimeException> errorHandler, TweakSet tweaks) {
 219+ public XmlDumpDriver(Corpus corpus, InputStream in, LeveledOutput log, ErrorHandler<XmlDumpDriver, Throwable, RuntimeException> errorHandler, TweakSet tweaks) {
216220 if (in==null) throw new NullPointerException();
217221 this.in= in;
218 - init(null, log, errorHandler, tweaks);
 222+ init(corpus, null, log, errorHandler, tweaks);
219223 }
220224
221225 private int importQueueCapacity = 0;
222226 private InputFileHelper inputHelper;
223227
224 - private void init(InputFileHelper inputHelper, LeveledOutput log, ErrorHandler<XmlDumpDriver, Throwable, RuntimeException> errorHandler, TweakSet tweaks) {
 228+ private void init(Corpus corpus, InputFileHelper inputHelper, LeveledOutput log, ErrorHandler<XmlDumpDriver, Throwable, RuntimeException> errorHandler, TweakSet tweaks) {
225229 if (log==null) throw new NullPointerException();
226230 if (tweaks==null) throw new NullPointerException();
227231 if (inputHelper==null && in==null) throw new NullPointerException();
@@ -229,6 +233,7 @@
230234 this.log = log;
231235 this.inputHelper = inputHelper;
232236 this.errorHandler = errorHandler;
 237+ this.corpus = corpus;
233238
234239 importQueueCapacity = tweaks.getTweak("dumpdriver.pageImportQueue", 8);
235240 }
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/processor/WikiWordPageProcessor.java
@@ -7,6 +7,7 @@
88 import de.brightbyte.io.Output;
99 import de.brightbyte.util.PersistenceException;
1010 import de.brightbyte.wikiword.NamespaceSet;
 11+import de.brightbyte.wikiword.RevisionInfo;
1112
1213 /**
1314 * A WikiWordImporter receives data from a ImportDriver; it will generally analyze the data,
@@ -44,15 +45,12 @@
4546 * do somethign meaningful with the data it is given, usually to analyze it and then store the result
4647 * somewhere.
4748 *
48 - * @param id unique page id
49 - * @param namespace the page's namespace id
50 - * @param title the page's title, unique within the namespace
 49+ * @param revision revision info
5150 * @param text the page's full wiki-text
52 - * @param time the timestamp of the page's last modification
5351 * @throws IOException
5452 * @throws PersistenceException
5553 */
56 - public void handlePage(int id, int namespace, String title, String text, Date time) throws IOException, PersistenceException;
 54+ public void handlePage(RevisionInfo revision, String text) throws IOException, PersistenceException;
5755
5856 /**
5957 * called to prepare for a new improt run, after reset, but before initialize.
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportDump.java
@@ -107,7 +107,7 @@
108108
109109 ///////////////////////// main import run ////////////////////////////////////
110110 if (agenda.beginTask("ImportDump.run", "analysis")) {
111 - DataSourceDriver driver = new XmlDumpDriver(getDumpFileURL(), inputHelper, getLogOutput(), new FatalBackgroundErrorHandler<XmlDumpDriver, Throwable, RuntimeException>(), tweaks);
 111+ DataSourceDriver driver = new XmlDumpDriver(getCorpus(), getDumpFileURL(), inputHelper, getLogOutput(), new FatalBackgroundErrorHandler<XmlDumpDriver, Throwable, RuntimeException>(), tweaks);
112112
113113 importer.reset();
114114
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/PropertyImporter.java
@@ -1,6 +1,5 @@
22 package de.brightbyte.wikiword.builder;
33
4 -import java.util.Date;
54 import java.util.Map;
65 import java.util.Set;
76
@@ -9,9 +8,10 @@
109 import de.brightbyte.util.PersistenceException;
1110 import de.brightbyte.wikiword.ConceptType;
1211 import de.brightbyte.wikiword.ResourceType;
 12+import de.brightbyte.wikiword.RevisionInfo;
1313 import de.brightbyte.wikiword.TweakSet;
 14+import de.brightbyte.wikiword.analyzer.WikiPage;
1415 import de.brightbyte.wikiword.analyzer.WikiTextAnalyzer;
15 -import de.brightbyte.wikiword.analyzer.WikiPage;
1616 import de.brightbyte.wikiword.store.builder.ConceptBasedStoreBuilder;
1717 import de.brightbyte.wikiword.store.builder.IncrementalStoreBuilder;
1818 import de.brightbyte.wikiword.store.builder.LocalConceptStoreBuilder;
@@ -44,7 +44,7 @@
4545 */
4646
4747 @Override
48 - public int importPage(WikiPage analyzerPage, Date timestamp) throws PersistenceException {
 48+ public int importPage(WikiPage analyzerPage, RevisionInfo revision) throws PersistenceException {
4949 String name = analyzerPage.getConceptName();
5050 String rcName = analyzerPage.getResourceName();
5151
@@ -55,7 +55,7 @@
5656 ConceptType ctype = analyzerPage.getConceptType();
5757
5858 if (buildConcepts) {
59 - rcId = storeResource(rcName, rcType, timestamp);
 59+ rcId = storeResource(revision.getPageId(), revision.getRevisionId(), rcName, rcType, revision.getRevisionTimestamp());
6060
6161 if (rcType == ResourceType.REDIRECT) {
6262 storeAlias(analyzerPage, rcId);
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ConceptImporter.java
@@ -13,6 +13,7 @@
1414 import de.brightbyte.wikiword.ExtractionRule;
1515 import de.brightbyte.wikiword.Namespace;
1616 import de.brightbyte.wikiword.ResourceType;
 17+import de.brightbyte.wikiword.RevisionInfo;
1718 import de.brightbyte.wikiword.TweakSet;
1819 import de.brightbyte.wikiword.analyzer.WikiPage;
1920 import de.brightbyte.wikiword.analyzer.WikiTextAnalyzer;
@@ -250,7 +251,7 @@
251252 }
252253
253254 @Override
254 - public int importPage(WikiPage analyzerPage, Date timestamp) throws PersistenceException {
 255+ public int importPage(WikiPage analyzerPage, RevisionInfo revision) throws PersistenceException {
255256 ResourceType rcType = analyzerPage.getResourceType();
256257 String name = analyzerPage.getConceptName();
257258 String rcName = analyzerPage.getResourceName();
@@ -259,7 +260,7 @@
260261 //String title = analyzerPage.getTitle().toString();
261262
262263 //TODO: check if page is stored. if up to date, skip. if older, update. if missing, create. optionally force update.
263 - int rcId = storeResource(rcName, rcType, timestamp);
 264+ int rcId = storeResource(revision.getPageId(), revision.getRevisionId(), rcName, rcType, revision.getRevisionTimestamp());
264265
265266 if (storeRawText) {
266267 textStore.storeRawText(rcId, rcName, text);
@@ -599,9 +600,9 @@
600601 store.storeReference(rcId, term, targetId, targetName, rule);
601602 }
602603
603 - protected int storeResource(String name, ResourceType ptype, Date time) throws PersistenceException {
 604+ protected int storeResource(int pageId, int revId, String name, ResourceType ptype, Date time) throws PersistenceException {
604605 //NOTE: trust name. no need to check
605 - return store.storeResource(name, ptype, time);
 606+ return store.storeResource(pageId, revId, name, ptype, time);
606607 }
607608
608609 protected void storeSection(int rcId, String name, String page) throws PersistenceException {
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/RevisionInfo.java
@@ -0,0 +1,88 @@
 2+package de.brightbyte.wikiword;
 3+
 4+import java.net.URL;
 5+import java.util.Date;
 6+
 7+public class RevisionInfo {
 8+ private final int pageId;
 9+ private final int revisionId;
 10+ private final String pageTitle;
 11+ private final Date revisionTimestamp;
 12+ private final int namespace;
 13+ private final Corpus corpus;
 14+
 15+ public RevisionInfo(final Corpus corpus, final int pageId, final int revisionId, final Date revisionTimestamp, final String pageTitle, final int namespace) {
 16+ super();
 17+ this.pageId = pageId;
 18+ this.revisionId = revisionId;
 19+ this.pageTitle = pageTitle;
 20+ this.revisionTimestamp = revisionTimestamp;
 21+ this.corpus = corpus;
 22+ this.namespace = namespace;
 23+ }
 24+
 25+ public Corpus getCorpus() {
 26+ return corpus;
 27+ }
 28+
 29+ public int getPageId() {
 30+ return pageId;
 31+ }
 32+
 33+ public String getPageTitle() {
 34+ return pageTitle;
 35+ }
 36+
 37+ public int getRevisionId() {
 38+ return revisionId;
 39+ }
 40+
 41+ public Date getRevisionTimestamp() {
 42+ return revisionTimestamp;
 43+ }
 44+
 45+ public int getNamespace() {
 46+ return namespace;
 47+ }
 48+
 49+ public String toString() {
 50+ return getPageTitle();
 51+ }
 52+
 53+ public URL getPageURL() {
 54+ return corpus.getResourceURL(getPageTitle());
 55+ }
 56+
 57+ @Override
 58+ public int hashCode() {
 59+ final int PRIME = 31;
 60+ int result = 1;
 61+ result = PRIME * result + ((corpus == null) ? 0 : corpus.hashCode());
 62+ result = PRIME * result + pageId;
 63+ result = PRIME * result + revisionId;
 64+ return result;
 65+ }
 66+
 67+ @Override
 68+ public boolean equals(Object obj) {
 69+ if (this == obj)
 70+ return true;
 71+ if (obj == null)
 72+ return false;
 73+ if (getClass() != obj.getClass())
 74+ return false;
 75+ final RevisionInfo other = (RevisionInfo) obj;
 76+ if (corpus == null) {
 77+ if (other.corpus != null)
 78+ return false;
 79+ } else if (!corpus.equals(other.corpus))
 80+ return false;
 81+ if (pageId != other.pageId)
 82+ return false;
 83+ if (revisionId != other.revisionId)
 84+ return false;
 85+ return true;
 86+ }
 87+
 88+
 89+}
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/extract/TextExtractor.java
@@ -1,6 +1,5 @@
22 package de.brightbyte.wikiword.extract;
33
4 -import java.util.Date;
54 import java.util.HashSet;
65 import java.util.Set;
76
@@ -9,6 +8,7 @@
109 import de.brightbyte.wikiword.Namespace;
1110 import de.brightbyte.wikiword.NamespaceSet;
1211 import de.brightbyte.wikiword.ResourceType;
 12+import de.brightbyte.wikiword.RevisionInfo;
1313 import de.brightbyte.wikiword.TweakSet;
1414 import de.brightbyte.wikiword.analyzer.WikiPage;
1515 import de.brightbyte.wikiword.analyzer.WikiTextAnalyzer;
@@ -70,7 +70,7 @@
7171 }
7272
7373 @Override
74 - public int importPage(WikiPage analyzerPage, Date timestamp) throws PersistenceException {
 74+ public int importPage(WikiPage analyzerPage, RevisionInfo revision) throws PersistenceException {
7575
7676 ResourceType ptype = analyzerPage.getResourceType();
7777 String name = analyzerPage.getName().toString();
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/extract/ExtractFromDump.java
@@ -66,7 +66,7 @@
6767 processor.setLogOutput(getLogOutput());
6868 processor.configure(args);
6969
70 - DataSourceDriver driver = new XmlDumpDriver(dumpFile, inputHelper, getLogOutput(), new FatalBackgroundErrorHandler<XmlDumpDriver, Throwable, RuntimeException>(), tweaks);
 70+ DataSourceDriver driver = new XmlDumpDriver(getCorpus(), dumpFile, inputHelper, getLogOutput(), new FatalBackgroundErrorHandler<XmlDumpDriver, Throwable, RuntimeException>(), tweaks);
7171
7272 processor.reset();
7373 processor.prepare();
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java
@@ -638,14 +638,14 @@
639639 return conceptCounter;
640640 }
641641
642 - public int storeResource(String name, ResourceType ptype, Date time) {
 642+ public int storeResource(int pageId, int revId, String name, ResourceType ptype, Date time) {
643643 resourceCounter++;
644 - log("+ storeResource: id = "+resourceCounter+", name = "+name+", type = "+ptype+", timestamp = "+time);
 644+ log("+ storeResource: page_id = "+pageId+", revision_id = "+revId+", id = "+resourceCounter+", name = "+name+", type = "+ptype+", timestamp = "+time);
645645 return resourceCounter;
646646 }
647647
648 - public int storeResourceAbout(String name, ResourceType ptype, Date time, int conceptId, String conceptName) {
649 - int resourceId = storeResource(name, ptype, time);
 648+ public int storeResourceAbout(int pageId, int revId, String name, ResourceType ptype, Date time, int conceptId, String conceptName) {
 649+ int resourceId = storeResource(pageId, revId, name, ptype, time);
650650 storeAbout(resourceId, name, conceptId, conceptName);
651651 return resourceId;
652652 }
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseLocalConceptStoreBuilder.java
@@ -5,16 +5,12 @@
66 import java.sql.ResultSet;
77 import java.sql.SQLException;
88 import java.util.Date;
9 -import java.util.Map;
109 import java.util.Random;
1110
1211 import javax.sql.DataSource;
1312
14 -import sun.security.action.GetLongAction;
15 -
1613 import de.brightbyte.application.Agenda;
1714 import de.brightbyte.data.ChunkyBitSet;
18 -import de.brightbyte.data.Functor;
1915 import de.brightbyte.data.KeyValueStore;
2016 import de.brightbyte.data.Pair;
2117 import de.brightbyte.data.PersistentIdManager;
@@ -332,8 +328,8 @@
333329 /**
334330 * @see de.brightbyte.wikiword.store.builder.LocalConceptStoreBuilder#storeResourceAbout(java.lang.String, de.brightbyte.wikiword.ResourceType, java.util.Date, int conceptId, String conceptName)
335331 */
336 - public int storeResourceAbout(String name, ResourceType ptype, Date time, int conceptId, String conceptName) throws PersistenceException {
337 - int rcId = storeResource(name, ptype, time);
 332+ public int storeResourceAbout(int pageId, int revId, String name, ResourceType ptype, Date time, int conceptId, String conceptName) throws PersistenceException {
 333+ int rcId = storeResource(pageId, revId, name, ptype, time);
338334 storeAbout(rcId, name, conceptId, conceptName);
339335 return rcId;
340336 }
@@ -341,10 +337,13 @@
342338 /**
343339 * @see de.brightbyte.wikiword.store.builder.LocalConceptStoreBuilder#storeResource(java.lang.String, de.brightbyte.wikiword.ResourceType, java.util.Date)
344340 */
345 - public int storeResource(String name, ResourceType ptype, Date time) throws PersistenceException {
 341+ public int storeResource(int pageId, int revId, String name, ResourceType ptype, Date time) throws PersistenceException {
346342 try {
347343 name = checkName(resourceInserter.getLastId()+1, name, "resource name ({0})", resourceInserter.getLastId()+1);
348344
 345+ if (pageId>0) resourceInserter.updateInt("page_id", pageId );
 346+ if (revId>0) resourceInserter.updateInt("revision_id", revId );
 347+
349348 resourceInserter.updateString("name", name );
350349 resourceInserter.updateInt("type", ptype.getCode());
351350 resourceInserter.updateString("timestamp", timestampFormatter.format(time));
Index: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/LocalConceptStoreBuilder.java
@@ -22,10 +22,10 @@
2323 public abstract void storeDefinition(int rcId, int conceptId, String definition)
2424 throws PersistenceException;
2525
26 - public abstract int storeResource(String name, ResourceType ptype,
 26+ public abstract int storeResource(int pageId, int revId, String name, ResourceType ptype,
2727 Date time) throws PersistenceException;
2828
29 - public abstract int storeResourceAbout(String name, ResourceType ptype,
 29+ public abstract int storeResourceAbout(int pageId, int revId, String name, ResourceType ptype,
3030 Date time, int concept, String conceptName) throws PersistenceException;
3131
3232 public abstract int storeConcept(int rcId, String name, ConceptType ctype)

Status & tagging log