Search in sources :

Example 1 with CreateCollectionOperation

use of com.mongodb.operation.CreateCollectionOperation in project mongo-java-driver by mongodb.

the class MongoDatabaseImpl method createCollection.

@Override
@SuppressWarnings("deprecation")
public void createCollection(final String collectionName, final CreateCollectionOptions createCollectionOptions, final SingleResultCallback<Void> callback) {
    CreateCollectionOperation operation = new CreateCollectionOperation(name, collectionName, writeConcern).capped(createCollectionOptions.isCapped()).sizeInBytes(createCollectionOptions.getSizeInBytes()).autoIndex(createCollectionOptions.isAutoIndex()).maxDocuments(createCollectionOptions.getMaxDocuments()).usePowerOf2Sizes(createCollectionOptions.isUsePowerOf2Sizes()).storageEngineOptions(toBsonDocument(createCollectionOptions.getStorageEngineOptions())).collation(createCollectionOptions.getCollation());
    IndexOptionDefaults indexOptionDefaults = createCollectionOptions.getIndexOptionDefaults();
    if (indexOptionDefaults.getStorageEngine() != null) {
        operation.indexOptionDefaults(new BsonDocument("storageEngine", toBsonDocument(indexOptionDefaults.getStorageEngine())));
    }
    ValidationOptions validationOptions = createCollectionOptions.getValidationOptions();
    if (validationOptions.getValidator() != null) {
        operation.validator(toBsonDocument(validationOptions.getValidator()));
    }
    if (validationOptions.getValidationLevel() != null) {
        operation.validationLevel(validationOptions.getValidationLevel());
    }
    if (validationOptions.getValidationAction() != null) {
        operation.validationAction(validationOptions.getValidationAction());
    }
    executor.execute(operation, callback);
}
Also used : CreateCollectionOperation(com.mongodb.operation.CreateCollectionOperation) BsonDocument(org.bson.BsonDocument) ValidationOptions(com.mongodb.client.model.ValidationOptions) IndexOptionDefaults(com.mongodb.client.model.IndexOptionDefaults)

Example 2 with CreateCollectionOperation

use of com.mongodb.operation.CreateCollectionOperation in project mongo-java-driver by mongodb.

the class CollectionHelper method create.

public void create(final String collectionName, final CreateCollectionOptions options) {
    drop(namespace);
    CreateCollectionOperation operation = new CreateCollectionOperation(namespace.getDatabaseName(), collectionName, WriteConcern.ACKNOWLEDGED).capped(options.isCapped()).sizeInBytes(options.getSizeInBytes()).autoIndex(options.isAutoIndex()).maxDocuments(options.getMaxDocuments());
    IndexOptionDefaults indexOptionDefaults = options.getIndexOptionDefaults();
    if (indexOptionDefaults.getStorageEngine() != null) {
        operation.indexOptionDefaults(new BsonDocument("storageEngine", toBsonDocument(indexOptionDefaults.getStorageEngine())));
    }
    ValidationOptions validationOptions = options.getValidationOptions();
    if (validationOptions.getValidator() != null) {
        operation.validator(toBsonDocument(validationOptions.getValidator()));
    }
    if (validationOptions.getValidationLevel() != null) {
        operation.validationLevel(validationOptions.getValidationLevel());
    }
    if (validationOptions.getValidationAction() != null) {
        operation.validationAction(validationOptions.getValidationAction());
    }
    operation.execute(getBinding());
}
Also used : CreateCollectionOperation(com.mongodb.operation.CreateCollectionOperation) BsonDocument(org.bson.BsonDocument) ValidationOptions(com.mongodb.client.model.ValidationOptions) IndexOptionDefaults(com.mongodb.client.model.IndexOptionDefaults)

Example 3 with CreateCollectionOperation

use of com.mongodb.operation.CreateCollectionOperation in project mongo-java-driver by mongodb.

the class DB method getCreateCollectionOperation.

@SuppressWarnings("deprecation")
private CreateCollectionOperation getCreateCollectionOperation(final String collectionName, final DBObject options) {
    if (options.get("size") != null && !(options.get("size") instanceof Number)) {
        throw new IllegalArgumentException("'size' should be Number");
    }
    if (options.get("max") != null && !(options.get("max") instanceof Number)) {
        throw new IllegalArgumentException("'max' should be Number");
    }
    if (options.get("capped") != null && !(options.get("capped") instanceof Boolean)) {
        throw new IllegalArgumentException("'capped' should be Boolean");
    }
    if (options.get("autoIndexId") != null && !(options.get("autoIndexId") instanceof Boolean)) {
        throw new IllegalArgumentException("'autoIndexId' should be Boolean");
    }
    if (options.get("storageEngine") != null && !(options.get("storageEngine") instanceof DBObject)) {
        throw new IllegalArgumentException("'storageEngine' should be DBObject");
    }
    if (options.get("indexOptionDefaults") != null && !(options.get("indexOptionDefaults") instanceof DBObject)) {
        throw new IllegalArgumentException("'indexOptionDefaults' should be DBObject");
    }
    if (options.get("validator") != null && !(options.get("validator") instanceof DBObject)) {
        throw new IllegalArgumentException("'validator' should be DBObject");
    }
    if (options.get("validationLevel") != null && !(options.get("validationLevel") instanceof String)) {
        throw new IllegalArgumentException("'validationLevel' should be String");
    }
    if (options.get("validationAction") != null && !(options.get("validationAction") instanceof String)) {
        throw new IllegalArgumentException("'validationAction' should be String");
    }
    boolean capped = false;
    boolean autoIndex = true;
    long sizeInBytes = 0;
    long maxDocuments = 0;
    Boolean usePowerOfTwoSizes = null;
    BsonDocument storageEngineOptions = null;
    BsonDocument indexOptionDefaults = null;
    BsonDocument validator = null;
    ValidationLevel validationLevel = null;
    ValidationAction validationAction = null;
    if (options.get("capped") != null) {
        capped = (Boolean) options.get("capped");
    }
    if (options.get("size") != null) {
        sizeInBytes = ((Number) options.get("size")).longValue();
    }
    if (options.get("autoIndexId") != null) {
        autoIndex = (Boolean) options.get("autoIndexId");
    }
    if (options.get("max") != null) {
        maxDocuments = ((Number) options.get("max")).longValue();
    }
    if (options.get("usePowerOfTwoSizes") != null) {
        usePowerOfTwoSizes = (Boolean) options.get("usePowerOfTwoSizes");
    }
    if (options.get("storageEngine") != null) {
        storageEngineOptions = wrap((DBObject) options.get("storageEngine"));
    }
    if (options.get("indexOptionDefaults") != null) {
        indexOptionDefaults = wrap((DBObject) options.get("indexOptionDefaults"));
    }
    if (options.get("validator") != null) {
        validator = wrap((DBObject) options.get("validator"));
    }
    if (options.get("validationLevel") != null) {
        validationLevel = ValidationLevel.fromString((String) options.get("validationLevel"));
    }
    if (options.get("validationAction") != null) {
        validationAction = ValidationAction.fromString((String) options.get("validationAction"));
    }
    Collation collation = DBObjectCollationHelper.createCollationFromOptions(options);
    return new CreateCollectionOperation(getName(), collectionName, getWriteConcern()).capped(capped).collation(collation).sizeInBytes(sizeInBytes).autoIndex(autoIndex).maxDocuments(maxDocuments).usePowerOf2Sizes(usePowerOfTwoSizes).storageEngineOptions(storageEngineOptions).indexOptionDefaults(indexOptionDefaults).validator(validator).validationLevel(validationLevel).validationAction(validationAction);
}
Also used : CreateCollectionOperation(com.mongodb.operation.CreateCollectionOperation) BsonDocument(org.bson.BsonDocument) ValidationAction(com.mongodb.client.model.ValidationAction) ValidationLevel(com.mongodb.client.model.ValidationLevel) Collation(com.mongodb.client.model.Collation)

Example 4 with CreateCollectionOperation

use of com.mongodb.operation.CreateCollectionOperation in project mongo-java-driver by mongodb.

the class MongoDatabaseImpl method createCollection.

@Override
@SuppressWarnings("deprecation")
public void createCollection(final String collectionName, final CreateCollectionOptions createCollectionOptions) {
    CreateCollectionOperation operation = new CreateCollectionOperation(name, collectionName, writeConcern).collation(createCollectionOptions.getCollation()).capped(createCollectionOptions.isCapped()).sizeInBytes(createCollectionOptions.getSizeInBytes()).autoIndex(createCollectionOptions.isAutoIndex()).maxDocuments(createCollectionOptions.getMaxDocuments()).usePowerOf2Sizes(createCollectionOptions.isUsePowerOf2Sizes()).storageEngineOptions(toBsonDocument(createCollectionOptions.getStorageEngineOptions()));
    IndexOptionDefaults indexOptionDefaults = createCollectionOptions.getIndexOptionDefaults();
    if (indexOptionDefaults.getStorageEngine() != null) {
        operation.indexOptionDefaults(new BsonDocument("storageEngine", toBsonDocument(indexOptionDefaults.getStorageEngine())));
    }
    ValidationOptions validationOptions = createCollectionOptions.getValidationOptions();
    if (validationOptions.getValidator() != null) {
        operation.validator(toBsonDocument(validationOptions.getValidator()));
    }
    if (validationOptions.getValidationLevel() != null) {
        operation.validationLevel(validationOptions.getValidationLevel());
    }
    if (validationOptions.getValidationAction() != null) {
        operation.validationAction(validationOptions.getValidationAction());
    }
    executor.execute(operation);
}
Also used : CreateCollectionOperation(com.mongodb.operation.CreateCollectionOperation) BsonDocument(org.bson.BsonDocument) ValidationOptions(com.mongodb.client.model.ValidationOptions) IndexOptionDefaults(com.mongodb.client.model.IndexOptionDefaults)

Aggregations

CreateCollectionOperation (com.mongodb.operation.CreateCollectionOperation)4 BsonDocument (org.bson.BsonDocument)4 IndexOptionDefaults (com.mongodb.client.model.IndexOptionDefaults)3 ValidationOptions (com.mongodb.client.model.ValidationOptions)3 Collation (com.mongodb.client.model.Collation)1 ValidationAction (com.mongodb.client.model.ValidationAction)1 ValidationLevel (com.mongodb.client.model.ValidationLevel)1