/** * Get a list of index names for the given list of index models * * @param indexes the index models * @param codecRegistry the codec registry to convert each Bson key to a BsonDocument * @return the list of index names */ public static List<String> getIndexNames(final List<IndexModel> indexes, final CodecRegistry codecRegistry) { List<String> indexNames = new ArrayList<String>(indexes.size()); for (IndexModel index : indexes) { String name = index.getOptions().getName(); if (name != null) { indexNames.add(name); } else { indexNames.add(IndexHelper.generateIndexName(index.getKeys().toBsonDocument(BsonDocument.class, codecRegistry))); } } return indexNames; }
.name(model.getOptions().getName()) .background(model.getOptions().isBackground()) .unique(model.getOptions().isUnique())
@Override public Memory unconvert(Environment env, TraceInfo trace, IndexOptions arg) throws Throwable { if (arg == null) return Memory.NULL; ArrayMemory options = ArrayMemory.createHashed(12); options.put("name", arg.getName()); options.put("background", arg.isBackground()); options.put("sparse", arg.isSparse()); options.put("unique", arg.isUnique()); if (arg.getDefaultLanguage() != null) options.put("defaultLanguage", arg.getDefaultLanguage()); if (arg.getBits() != null) options.put("bits", arg.getBits()); if (arg.getMax() != null) options.put("max", arg.getMax()); if (arg.getMin() != null) options.put("min", arg.getMin()); if (arg.getLanguageOverride() != null) options.put("languageOverride", arg.getLanguageOverride()); if (arg.getVersion() != null) options.put("version", arg.getVersion()); if (arg.getTextVersion() != null) options.put("textVersion", arg.getTextVersion()); if (arg.getSphereVersion() != null) options.put("sphereVersion", arg.getSphereVersion()); return options; }
@Test public void indexOptionsConversion() { IndexOptionsBuilder indexOptions = indexOptions(); com.mongodb.client.model.IndexOptions options = indexHelper.convert(indexOptions, false); assertEquals("index_name", options.getName()); assertTrue(options.isBackground()); assertTrue(options.isUnique()); assertTrue(options.isSparse()); assertEquals(Long.valueOf(42), options.getExpireAfter(TimeUnit.SECONDS)); assertEquals("en", options.getDefaultLanguage()); assertEquals("de", options.getLanguageOverride()); assertEquals(indexHelper.convert(indexOptions.collation()), options.getCollation()); assertTrue(indexHelper.convert(indexOptions, true).isBackground()); assertTrue(indexHelper.convert(indexOptions.background(false), true).isBackground()); assertTrue(indexHelper.convert(indexOptions.background(true), true).isBackground()); assertTrue(indexHelper.convert(indexOptions.background(true), false).isBackground()); assertFalse(indexHelper.convert(indexOptions.background(false), false).isBackground()); }
/** * Create index on billing collection. * * @param indexName the name of index. * @param index the index options. */ private void createBillingIndexes(String indexName, Bson index) { MongoCollection<Document> collection = database.getCollection(MongoConstants.COLLECTION_BILLING); IndexOptions options = new IndexOptions().name(MongoConstants.COLLECTION_BILLING + indexName); try { collection .createIndex(index, options); } catch (Exception e) { LOGGER.warn("Cannot create index {} on collection {}. {}", options.getName(), MongoConstants.COLLECTION_BILLING, e.getLocalizedMessage(), e); } }
/** * Get a list of index names for the given list of index models * * @param indexes the index models * @param codecRegistry the codec registry to convert each Bson key to a BsonDocument * @return the list of index names */ public static List<String> getIndexNames(final List<IndexModel> indexes, final CodecRegistry codecRegistry) { List<String> indexNames = new ArrayList<String>(indexes.size()); for (IndexModel index : indexes) { String name = index.getOptions().getName(); if (name != null) { indexNames.add(name); } else { indexNames.add(IndexHelper.generateIndexName(index.getKeys().toBsonDocument(BsonDocument.class, codecRegistry))); } } return indexNames; }
indexOptionsMap.put("key", expectedIndex.getKeys()); if (expectedIndexOptions.getName() == null) { StringBuilder indexName = new StringBuilder(); ((Document) expectedIndex.getKeys()).forEach((key, value) -> indexOptionsMap.put("name", indexName.toString()); } else { indexOptionsMap.put("name", expectedIndexOptions.getName());
.name(model.getOptions().getName()) .background(model.getOptions().isBackground()) .unique(model.getOptions().isUnique())