@SuppressWarnings({ "unchecked", "rawtypes" }) private OrientIndex<?> loadIndex(final OIndex<?> rawIndex) { final OrientIndex<?> index = new OrientIndex(this, rawIndex); // REGISTER THE INDEX getContext(true).manualIndices.put(index.getIndexName(), index); return index; }
private List<Index<? extends Element>> loadManualIndexes() { final List<Index<? extends Element>> result = new ArrayList<Index<? extends Element>>(); for (OIndex<?> idx : getDatabase().getMetadata().getIndexManager().getIndexes()) { if (hasIndexClass(idx)) // LOAD THE INDEXES result.add(new OrientIndex<OrientElement>(this, idx)); } return result; }
@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, "'");
/** * Returns an index by name and class * * @param indexName Index name * @param indexClass Class as one or subclass of Vertex.class and Edge.class * * @return Index instance */ @SuppressWarnings("unchecked") @Override public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { makeActive(); final OIndexManager indexManager = getDatabase().getMetadata().getIndexManager(); final OIndex idx = indexManager.getIndex(indexName); if (idx == null || !hasIndexClass(idx)) return null; final Index<? extends Element> index = new OrientIndex(this, idx); if (indexClass.isAssignableFrom(index.getIndexClass())) return (Index<T>) index; else throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); }