Index addIndex(String name, String docType, String path, String dataType, boolean caseSensitive, boolean range, boolean unique, String description) { // TODO: what it is for?! String typePath = path; //xdmRepo.getModelManagement().normalizePath(docType); Index index = new Index(1, new Date(), getCurrentUser(), name, docType, typePath, path, new QName(xs_ns, dataType, xs_prefix), caseSensitive, range, unique, description, true); Schema schema = getEntity(); if (schema.addIndex(index)) { // store schema! flushEntity(schema); return index; } return null; }
public boolean addSchemaIndex(Index index) { if (xdmSchema.addIndex(index)) { Path[] paths; try { paths = indexMgr.createIndex(index); } catch (BagriException ex) { logger.warn("addSchemaIndex.error; index: " + index, ex); return false; } DocumentManagementImpl docMgr = (DocumentManagementImpl) getDocumentManagement(); for (Path xPath: paths) { try { docMgr.indexElements(xPath.getPathId()); } catch (BagriException ex) { logger.warn("addSchemaIndex.error; index: " + index, ex); } } return paths.length > 0; } logger.info("addSchemaIndex; index {} already exists! do we need to index values?", index); return false; }
for (int i=0; i < size; i++) { Index idx = in.readObject(); xSchema.addIndex(idx);