@Override protected void validate(List<TableInfo> tableInfos) { if (!clusterManager.hasBucket(databaseName)) { throw new SchemaGenerationException("Bucket [" + databaseName + "] does not exist."); } }
@Override protected void update(List<TableInfo> tableInfos) { if (!clusterManager.hasBucket(databaseName)) { addBucket(databaseName); createIdIndex(databaseName); } }
@Override protected void create(List<TableInfo> tableInfos) { if (clusterManager.hasBucket(databaseName)) { /* * Removing bucket will drop indexes too * */ removeBucket(databaseName); } addBucket(databaseName); createIdIndex(databaseName); }
public void tearDown(CouchbaseBuildDefinition buildDefinition) { Cluster cluster = getCluster(hosts); closeBucket(buildDefinition.getBucketName()); ClusterManager clusterManager = cluster.clusterManager(buildDefinition.getAdminUsername(), buildDefinition.getAdminPasssword()); try { if (clusterManager.hasBucket(buildDefinition.getBucketName())) { clusterManager.removeBucket(buildDefinition.getBucketName()); } } catch (RuntimeException e) { if (e.getCause() != null && e.getCause() instanceof ConnectException) { LOG.warn("Could not connect to Couchbase: {}", e.getCause().getMessage()); } else { throw e; } } } }
private void createBucket(String database, Map<String, Object> customOptions) { final ClusterManager clusterManager = couchbaseCluster .clusterManager((String) customOptions.get(CouchbaseOptions.CLUSTER_USERNAME), (String) customOptions.get(CouchbaseOptions.CLUSTER_PASSWORD)); if (!clusterManager.hasBucket(database)) { // Create Bucket final DefaultBucketSettings.Builder bucketBuilder = DefaultBucketSettings.builder() .enableFlush(true) .name(database); if (isBucketPasswordSet(customOptions)) { bucketBuilder.password((String) customOptions.get(CouchbaseOptions.BUCKET_PASSWORD)); } clusterManager.insertBucket(bucketBuilder.build()); await() .atMost(60, TimeUnit.SECONDS) .until(() -> clusterManager.hasBucket(database)); } }
private void connectToBucket() { if (createBucket) { final ClusterManager clusterManager = couchbaseCluster.clusterManager(this.clusterUsername, this.clusterPassword); if (! clusterManager.hasBucket(this.bucketName)) { // Create Bucket final DefaultBucketSettings defaultBucketSettings = DefaultBucketSettings.builder() .enableFlush(true) .name(bucketName).build(); clusterManager.insertBucket(defaultBucketSettings); await() .atMost(30, TimeUnit.SECONDS) .until(() -> clusterManager.hasBucket(bucketName)); } } if (this.bucketPassword != null) { this.bucket = couchbaseCluster.openBucket(this.bucketName, this.bucketPassword); } else { this.bucket = couchbaseCluster.openBucket(this.bucketName); } }
public void setUp(CouchbaseBuildDefinition buildDefinition) { Cluster cluster = getCluster(hosts); ClusterManager clusterManager = cluster.clusterManager(buildDefinition.getAdminUsername(), buildDefinition.getAdminPasssword()); waitFor(this::couchbaseHealthy, hosts[0], buildDefinition); if (!clusterManager.hasBucket(buildDefinition.getBucketName())) { createBucket(clusterManager, buildDefinition); } waitFor(this::couchbaseHealthy, hosts[0], buildDefinition); Bucket bucket = openBucket(buildDefinition.getBucketName(), buildDefinition.getBucketPassword(), hosts); waitFor(this::couchbaseHealthy, hosts[0], buildDefinition); waitFor(this::createMapReduceViews, bucket, buildDefinition); waitFor(this::createSpatialViews, bucket, buildDefinition); waitFor(this::createPrimaryIndex, bucket, buildDefinition); createFullTextIndex(cluster, bucket, buildDefinition); // bucket.close(); }