Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [59382] trunk/WikiWord/WikiWord

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


daniel at svn

Nov 24, 2009, 6:07 AM

Post #1 of 1 (77 views)
Permalink
SVN: [59382] trunk/WikiWord/WikiWord

http://www.mediawiki.org/wiki/Special:Code/MediaWiki/59382

Revision: 59382
Author: daniel
Date: 2009-11-24 14:07:57 +0000 (Tue, 24 Nov 2009)

Log Message:
-----------
no more WikiWordStoreFactory, instantiate stores directly

Modified Paths:
--------------
trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/StoreBackedApp.java
trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/query/QueryConsole.java
trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/rdf/ExportRdf.java
trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/DatabaseConceptStores.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildConceptInfo.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildStatistics.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildThesaurus.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportApp.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportConcepts.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportProperties.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseConceptStoreBuilders.java
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java

Removed Paths:
-------------
trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/WikiWordStoreFactory.java

Modified: trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/StoreBackedApp.java
===================================================================
--- trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/StoreBackedApp.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/StoreBackedApp.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -11,7 +11,6 @@
import de.brightbyte.wikiword.store.WikiWordConceptStoreBase;
import de.brightbyte.wikiword.store.WikiWordLocalStore;
import de.brightbyte.wikiword.store.WikiWordStore;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;

/**
* This is the base class for entry points to WikiWord.
@@ -26,8 +25,6 @@
protected boolean allowLocalStore;
protected boolean allowGlobalStore;

- protected WikiWordStoreFactory<? extends S> conceptStoreFactory;
-
public StoreBackedApp(boolean allowGlobal, boolean allowLocal) {
super();

@@ -76,10 +73,6 @@
return (Corpus)dataset;
}

- public void setConceptStoreFactory(WikiWordStoreFactory<? extends S> conceptStoreFactory) {
- this.conceptStoreFactory = conceptStoreFactory;
- }
-
public DatasetIdentifier getConfiguredDataset() {
DatasetIdentifier dataset;

@@ -96,9 +89,6 @@

return dataset;
}
-
-
- protected abstract WikiWordStoreFactory<? extends S> createConceptStoreFactory() throws IOException, PersistenceException;

protected void openStores() throws PersistenceException {
for (WikiWordStore store: stores) {
@@ -118,16 +108,13 @@
}
}

- protected void createStores(WikiWordStoreFactory<? extends S> factory) throws IOException, PersistenceException {
- conceptStore = factory.newStore();
- registerStore(conceptStore);
- }
+ protected abstract void createStores() throws IOException, PersistenceException;

protected void launchExecute() throws Exception {
- if (conceptStoreFactory==null) conceptStoreFactory= createConceptStoreFactory();
- if (conceptStore==null) createStores(conceptStoreFactory);
+ if (conceptStore==null) createStores();

if (conceptStore==null) throw new RuntimeException("createStores() failed to initialize conceptStore");
+ if (!stores.contains(conceptStore)) throw new RuntimeException("createStores() failed to call registerStore(conceptStore)");

exitCode = 23;


Modified: trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/query/QueryConsole.java
===================================================================
--- trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/query/QueryConsole.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/query/QueryConsole.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -27,7 +27,6 @@
import de.brightbyte.wikiword.store.GlobalConceptStore;
import de.brightbyte.wikiword.store.LocalConceptStore;
import de.brightbyte.wikiword.store.WikiWordConceptStore;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;

public class QueryConsole extends ConsoleApp<WikiWordConceptStore> {

@@ -391,7 +390,8 @@
}

@Override
- protected WikiWordStoreFactory<WikiWordConceptStore> createConceptStoreFactory() throws IOException, PersistenceException {
- return new DatabaseConceptStores.Factory(getConfiguredDataSource(), getConfiguredDataset(), tweaks, true, true);
+ protected void createStores() throws PersistenceException, IOException {
+ conceptStore = DatabaseConceptStores.createConceptStore(getConfiguredDataSource(), getConfiguredDataset(), tweaks, true, true);
+ registerStore(conceptStore);
}
}

Modified: trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/rdf/ExportRdf.java
===================================================================
--- trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/rdf/ExportRdf.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/rdf/ExportRdf.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -42,7 +42,6 @@
import de.brightbyte.wikiword.store.DatabaseLocalConceptStore;
import de.brightbyte.wikiword.store.DatabaseWikiWordConceptStore;
import de.brightbyte.wikiword.store.WikiWordConceptStore;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.DatabaseWikiWordConceptStore.DatabaseStatisticsStore;

public class ExportRdf<V, R extends V, A, W> extends StoreBackedApp<WikiWordConceptStore> {
@@ -966,10 +965,10 @@
this.plainSkos = plainSkos;
}

-
@Override
- protected WikiWordStoreFactory<WikiWordConceptStore> createConceptStoreFactory() throws IOException, PersistenceException {
- return new DatabaseConceptStores.Factory(getConfiguredDataSource(), getConfiguredDataset(), tweaks, true, true);
+ protected void createStores() throws PersistenceException, IOException {
+ conceptStore = DatabaseConceptStores.createConceptStore(getConfiguredDataSource(), getConfiguredDataset(), tweaks, true, true);
+ registerStore(conceptStore);
}

public static void main(String[] argv) throws Exception {

Modified: trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/DatabaseConceptStores.java
===================================================================
--- trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/DatabaseConceptStores.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/DatabaseConceptStores.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -15,29 +15,6 @@

public class DatabaseConceptStores {

- public static class Factory<S extends DatabaseWikiWordConceptStore<? extends WikiWordConcept, ? extends WikiWordConceptReference<? extends WikiWordConcept>>> implements WikiWordStoreFactory<S> {
- private DataSource db;
- private DatasetIdentifier dataset;
- private TweakSet tweaks;
- private boolean allowCorpus;
- private boolean allowThesaurus;
-
- public Factory(DataSource db, DatasetIdentifier dataset, TweakSet tweaks, boolean allowCorpus, boolean allowThesaurus) {
- super();
- this.db = db;
- this.dataset = dataset;
- this.tweaks = tweaks;
- this.allowCorpus = allowCorpus;
- this.allowThesaurus = allowThesaurus;
- }
-
- @SuppressWarnings("unchecked")
- public S newStore() throws PersistenceException {
- return (S)createConceptStore(db, dataset, tweaks, allowCorpus, allowThesaurus);
- }
-
- }
-
public static DatabaseWikiWordConceptStore<? extends WikiWordConcept, ? extends WikiWordConceptReference<? extends WikiWordConcept>> createConceptStore(DataSource db, DatasetIdentifier dataset, TweakSet tweaks, boolean allowCorpus, boolean allowThesaurus) throws PersistenceException {
//XXX: UGLY HACK!
try {

Deleted: trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/WikiWordStoreFactory.java
===================================================================
--- trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/WikiWordStoreFactory.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWord/src/main/java/de/brightbyte/wikiword/store/WikiWordStoreFactory.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -1,7 +0,0 @@
-package de.brightbyte.wikiword.store;
-
-import de.brightbyte.util.PersistenceException;
-
-public interface WikiWordStoreFactory<S extends WikiWordStore> {
- public S newStore() throws PersistenceException;
-}

Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildConceptInfo.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildConceptInfo.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildConceptInfo.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -4,7 +4,6 @@

import de.brightbyte.util.PersistenceException;
import de.brightbyte.wikiword.model.WikiWordConcept;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.builder.ConceptInfoStoreBuilder;
import de.brightbyte.wikiword.store.builder.WikiWordConceptStoreBuilder;

@@ -22,8 +21,8 @@
}

@Override
- protected void createStores(WikiWordStoreFactory<? extends WikiWordConceptStoreBuilder<? extends WikiWordConcept>> factory) throws IOException, PersistenceException {
- super.createStores(factory);
+ protected void createStores() throws IOException, PersistenceException {
+ super.createStores();

infoStore = conceptStore.getConceptInfoStoreBuilder();
registerTargetStore(infoStore);

Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildStatistics.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildStatistics.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildStatistics.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -4,7 +4,6 @@

import de.brightbyte.util.PersistenceException;
import de.brightbyte.wikiword.model.WikiWordConcept;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.builder.StatisticsStoreBuilder;
import de.brightbyte.wikiword.store.builder.WikiWordConceptStoreBuilder;

@@ -29,8 +28,8 @@
//protected WikiWordConceptStoreBuilder<?> conceptStore;

@Override
- protected void createStores(WikiWordStoreFactory<? extends WikiWordConceptStoreBuilder<? extends WikiWordConcept>> factory) throws IOException, PersistenceException {
- super.createStores(factory);
+ protected void createStores() throws IOException, PersistenceException {
+ super.createStores();

statisticsStore = conceptStore.getStatisticsStoreBuilder();
registerTargetStore(statisticsStore);

Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildThesaurus.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildThesaurus.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/BuildThesaurus.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -5,7 +5,6 @@

import de.brightbyte.util.PersistenceException;
import de.brightbyte.wikiword.Corpus;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.builder.GlobalConceptStoreBuilder;

/**
@@ -117,8 +116,8 @@
}

@Override
- protected void createStores(WikiWordStoreFactory<? extends GlobalConceptStoreBuilder> factory) throws IOException, PersistenceException {
- super.createStores(factory);
+ protected void createStores() throws IOException, PersistenceException {
+ super.createStores();
registerTargetStore(conceptStore);
}


Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportApp.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportApp.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportApp.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -9,14 +9,16 @@

import de.brightbyte.application.Agenda;
import de.brightbyte.application.Agenda.Monitor;
+import de.brightbyte.io.ConsoleIO;
import de.brightbyte.io.Prompt;
import de.brightbyte.util.PersistenceException;
+import de.brightbyte.wikiword.Corpus;
import de.brightbyte.wikiword.StoreBackedApp;
import de.brightbyte.wikiword.model.WikiWordConcept;
import de.brightbyte.wikiword.store.WikiWordStore;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.builder.DatabaseConceptStoreBuilders;
import de.brightbyte.wikiword.store.builder.DatabaseWikiWordStoreBuilder;
+import de.brightbyte.wikiword.store.builder.DebugLocalConceptStoreBuilder;
import de.brightbyte.wikiword.store.builder.WikiWordConceptStoreBuilder;
import de.brightbyte.wikiword.store.builder.WikiWordStoreBuilder;

@@ -49,13 +51,7 @@
this.useAgenda = agendaTask != null;
}

- @SuppressWarnings("unchecked")
@Override
- protected WikiWordStoreFactory<? extends S> createConceptStoreFactory() throws IOException, PersistenceException {
- return new DatabaseConceptStoreBuilders.Factory(getConfiguredDataSource(), getConfiguredDataset(), tweaks, null, true, true);
- }
-
- @Override
protected void declareOptions() {
super.declareOptions();

@@ -278,9 +274,14 @@
if (!targetStores.contains(store)) targetStores.add(store);
}

- protected void createStores(WikiWordStoreFactory<? extends S> factory) throws IOException, PersistenceException {
- super.createStores(factory);
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void createStores() throws PersistenceException, IOException {
+ if (args.isSet("debug")) conceptStore = (S)new DebugLocalConceptStoreBuilder(getCorpus(), out); //HACK: ugly cast; //FIXME: will fail if global store expected
+ else conceptStore = (S)DatabaseConceptStoreBuilders.createConceptStoreBuilder(getConfiguredDataSource(), getConfiguredDataset(), tweaks, null, true, true);

+ registerStore(conceptStore);
+
if (conceptStore instanceof DatabaseWikiWordStoreBuilder) {
((DatabaseWikiWordStoreBuilder)conceptStore).setBackgroundErrorHandler(new FatalBackgroundErrorHandler<Runnable, Throwable, Error>());
}

Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportConcepts.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportConcepts.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportConcepts.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -7,7 +7,6 @@
import de.brightbyte.wikiword.Corpus;
import de.brightbyte.wikiword.analyzer.WikiTextAnalyzer;
import de.brightbyte.wikiword.store.WikiWordStore;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.builder.DebugLocalConceptStoreBuilder;
import de.brightbyte.wikiword.store.builder.LocalConceptStoreBuilder;
import de.brightbyte.wikiword.store.builder.PropertyStoreBuilder;
@@ -28,14 +27,9 @@
super("ImportConcepts");
}

- protected WikiWordStoreFactory<? extends LocalConceptStoreBuilder> createConceptStoreFactory() throws IOException, PersistenceException {
- if (args.isSet("debug")) return new DebugLocalConceptStoreBuilder.Factory((Corpus)getConfiguredDataset(), ConsoleIO.output);
- else return super.createConceptStoreFactory();
- }
-
@Override
- protected void createStores(WikiWordStoreFactory<? extends LocalConceptStoreBuilder> factory) throws IOException, PersistenceException {
- super.createStores(factory);
+ protected void createStores() throws IOException, PersistenceException {
+ super.createStores();
registerTargetStore(conceptStore);

textStore = conceptStore.getTextStoreBuilder();

Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportProperties.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportProperties.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/ImportProperties.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -7,7 +7,6 @@
import de.brightbyte.wikiword.builder.ConceptImporter;
import de.brightbyte.wikiword.builder.ImportDump;
import de.brightbyte.wikiword.builder.PropertyImporter;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;
import de.brightbyte.wikiword.store.builder.LocalConceptStoreBuilder;
import de.brightbyte.wikiword.store.builder.PropertyStoreBuilder;

@@ -26,8 +25,8 @@
}

@Override
- protected void createStores(WikiWordStoreFactory<? extends LocalConceptStoreBuilder> factory) throws IOException, PersistenceException {
- super.createStores(factory);
+ protected void createStores() throws IOException, PersistenceException {
+ super.createStores();
boolean attach = args.isSet("attach");
if (!attach) registerTargetStore(conceptStore);


Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseConceptStoreBuilders.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseConceptStoreBuilders.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseConceptStoreBuilders.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -12,34 +12,9 @@
import de.brightbyte.wikiword.TweakSet;
import de.brightbyte.wikiword.model.WikiWordConcept;
import de.brightbyte.wikiword.schema.WikiWordStoreSchema;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;

public class DatabaseConceptStoreBuilders {
-
- public static class Factory<C extends WikiWordConcept> implements WikiWordStoreFactory<DatabaseWikiWordConceptStoreBuilder<C>> {
- private DataSource db;
- private DatasetIdentifier dataset;
- private TweakSet tweaks;
- private Agenda agenda;
- private boolean allowCorpus;
- private boolean allowThesaurus;
-
- public Factory(DataSource db, DatasetIdentifier dataset, TweakSet tweaks, Agenda agenda, boolean allowCorpus, boolean allowThesaurus) {
- super();
- this.db = db;
- this.dataset = dataset;
- this.tweaks = tweaks;
- this.agenda = agenda;
- this.allowCorpus = allowCorpus;
- this.allowThesaurus = allowThesaurus;
- }
-
- @SuppressWarnings("unchecked")
- public DatabaseWikiWordConceptStoreBuilder<C> newStore() throws PersistenceException {
- return (DatabaseWikiWordConceptStoreBuilder<C>)createConceptStoreBuilder(db, dataset, tweaks, agenda, allowCorpus, allowThesaurus);
- }
- }
-
+
public static DatabaseWikiWordConceptStoreBuilder<? extends WikiWordConcept> createConceptStoreBuilder(DataSource db, DatasetIdentifier dataset, TweakSet tweaks, Agenda agenda, boolean allowCorpus, boolean allowThesaurus) throws PersistenceException {
//XXX: UGLY HACK!
try {

Modified: trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java
===================================================================
--- trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java 2009-11-24 13:51:53 UTC (rev 59381)
+++ trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java 2009-11-24 14:07:57 UTC (rev 59382)
@@ -24,26 +24,11 @@
import de.brightbyte.wikiword.schema.AliasScope;
import de.brightbyte.wikiword.store.GroupNameTranslator;
import de.brightbyte.wikiword.store.WikiWordConceptStore;
-import de.brightbyte.wikiword.store.WikiWordStoreFactory;

/**
* Dummy implementation of WikiStoreBuilder for testing and debugging
*/
public class DebugLocalConceptStoreBuilder implements LocalConceptStoreBuilder {
-
- public static class Factory implements WikiWordStoreFactory<DebugLocalConceptStoreBuilder> {
- protected Output out;
- protected Corpus corpus;
-
- public Factory(Corpus corpus, Output out) {
- this.out = out;
- this.corpus = corpus;
- }
-
- public DebugLocalConceptStoreBuilder newStore() throws PersistenceException {
- return new DebugLocalConceptStoreBuilder(corpus, out);
- }
- }

public class DebugTextStoreBuilder implements TextStoreBuilder {




_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS [at] lists
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.