@Override public void setIndexDefinition(IndexDefinition definition) { if (definition != null) { this.getFeatures().put(GateConstants.CORPUS_INDEX_DEFINITION_FEATURE_KEY, definition); String className = definition.getIrEngineClassName(); try { // Class aClass = Class.forName(className); Class<?> aClass = Class.forName(className, true, Gate.getClassLoader()); IREngine engine = (IREngine) aClass.newInstance(); this.indexManager = engine.getIndexmanager(); this.indexManager.setIndexDefinition(definition); this.indexManager.setCorpus(this); } catch (Exception e) { e.printStackTrace(Err.getPrintWriter()); } // switch (definition.getIndexType()) { // case GateConstants.IR_LUCENE_INVFILE: // this.indexManager = new LuceneIndexManager(); // this.indexManager.setIndexDefinition(definition); // this.indexManager.setCorpus(this); // break; // } this.addedDocs = new Vector<Document>(); this.removedDocIDs = new Vector<String>(); this.changedDocs = new Vector<Document>(); } }