public void dropIndex(final String indexName) { commitAnyActiveTx("drop index"); try { synchronized (contexts) { for (OrientGraphContext ctx : contexts) { ctx.manualIndices.remove(indexName); } } getRawGraph().getMetadata().getIndexManager().dropIndex(indexName); saveIndexConfiguration(); } catch (Exception e) { this.rollback(); throw new RuntimeException(e.getMessage(), e); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) public <T extends Element> Index<T> createIndex(final String indexName, final Class<T> indexClass, final Parameter... indexParameters) { final OrientGraphContext context = getContext(true); commitAnyActiveTx("create index '" + indexName + "'"); synchronized (contexts) { if (context.manualIndices.containsKey(indexName)) throw ExceptionFactory.indexAlreadyExists(indexName); final OrientIndex<? extends OrientElement> index = new OrientIndex<OrientElement>( this, indexName, indexClass, null); // ADD THE INDEX IN ALL CURRENT CONTEXTS for (OrientGraphContext ctx : contexts) ctx.manualIndices.put(index.getIndexName(), index); // SAVE THE CONFIGURATION INTO THE GLOBAL CONFIG saveIndexConfiguration(); return (Index<T>) index; } }
public Index<T> call(final OrientBaseGraph g) { final OIndexManager indexManager = getDatabase().getMetadata().getIndexManager(); if (indexManager.getIndex(indexName) != null) throw ExceptionFactory.indexAlreadyExists(indexName); final OrientIndex<? extends OrientElement> index = new OrientIndex<OrientElement>(g, indexName, indexClass, null); // SAVE THE CONFIGURATION INTO THE GLOBAL CONFIG saveIndexConfiguration(); return (Index<T>) index; } }, "create index '", indexName, "'");
@Override public Object call(OrientBaseGraph g) { try { final OIndexManager indexManager = getRawGraph().getMetadata().getIndexManager(); final OIndex index = indexManager.getIndex(indexName); ODocument metadata = index.getConfiguration().field("metadata"); String recordMapIndexName = null; if (metadata != null) { recordMapIndexName = metadata.field(OrientIndex.CONFIG_RECORD_MAP_NAME); } indexManager.dropIndex(indexName); if (recordMapIndexName != null) getRawGraph().getMetadata().getIndexManager().dropIndex(recordMapIndexName); saveIndexConfiguration(); return null; } catch (Exception e) { g.rollback(); throw new RuntimeException(e.getMessage(), e); } } }, "drop index '", indexName, "'");