@Test public void shouldCreateView() { View view = DefaultView.create(VIEW_NAME, VIEW_FUNCTION); DesignDocument document = DesignDocument.create(VIEW_NAME, Lists.newArrayList(view)); getBucket().bucketManager().insertDesignDocument(document); DesignDocument result = getBucket().bucketManager().getDesignDocument(VIEW_NAME); Assert.assertEquals(1, result.views().size()); View resultView = result.views().get(0); Assert.assertEquals(VIEW_NAME, resultView.name()); } }
@After public void clear() { if (getCouchbaseContainer().isIndex() && getCouchbaseContainer().isQuery() && getCouchbaseContainer().isPrimaryIndex()) { getBucket().query( N1qlQuery.simple(String.format("DELETE FROM `%s`", getBucket().name()), N1qlParams.build().consistency(ScanConsistency.STATEMENT_PLUS))); } else { getBucket().bucketManager().flush(); } }
/** * Creates the id index. * * @param bucketName * the bucket name */ private void createIdIndex(String bucketName) { Bucket bucket = null; try { bucket = CouchbaseBucketUtils.openBucket(cluster, bucketName, csmd.getBucketProperty("bucket.password")); /* * Ignoring if indexes pre-exist */ bucket.bucketManager().createN1qlPrimaryIndex(buildIndexName(bucketName), true, false); LOGGER.debug("Niql primary Index are created for bucket [" + bucketName + "]."); } catch (CouchbaseException cex) { LOGGER.error("Not able to create Niql primary index for bucket [" + bucketName + "].", cex); throw new KunderaException("Not able to create Niql primary index for bucket [" + bucketName + "].", cex); } finally { CouchbaseBucketUtils.closeBucket(bucket); } }
private static String nextUniqueViewName(final Bucket bucket) { int i = 0; while (true) { final String proposal = (DESIGN_DOC_INTERNAL + (i++)); final DesignDocument designDocument = bucket.bucketManager().getDesignDocument(proposal); if (designDocument == null) { return proposal; } LOGGER.trace("Invalid doc, keep trying. Now trying with {} " + proposal); } } }
public ClusterInfo(final Bucket bucket) { this.template = new RestTemplate(); this.bucket = bucket; this.info = bucket.bucketManager().info(); }
public ClientInfo(final Bucket bucket) { this.bucket = bucket; this.info = bucket.bucketManager().info(); }
public ClusterInfo(final Bucket bucket) { this.template = new RestTemplate(); this.bucket = bucket; this.info = bucket.bucketManager().info(); }
@Override public void clean() { bucket.bucketManager().flush(); }
public ClientInfo(final Bucket bucket) { this.bucket = bucket; this.info = bucket.bucketManager().info(); }
@Override public void invalidateAll() { bucket.bucketManager().flush(); }
private static void deleteDesignDoc(final String freeDesignDocName, final Bucket bucket) { bucket.bucketManager().removeDesignDocument(freeDesignDocName); }
private void removeDatabase() { bucket.bucketManager().flush(); }
private static DesignDocument createDesignDocAndView(final String freeDesignDocName, final Bucket bucket) { final String json = "function (doc, meta) {" + System.lineSeparator() + " emit(null, null);" + System.lineSeparator() + "}"; final List<View> views = Arrays.asList(DefaultView.create("allDocs", json)); final DesignDocument designDocument = DesignDocument.create(freeDesignDocName, views); bucket.bucketManager().insertDesignDocument(designDocument); return designDocument; }
/** {@inheritDoc} */ @Override public void clear() { getFeatureBucket().bucketManager().flush(); }
/** {@inheritDoc} */ @Override public void clear() { getPropertyBucket().bucketManager().flush(); }
private void createMapReduceViews(Bucket bucket, CouchbaseBuildDefinition buildDefinition) { LOG.debug("Creating {} views in '{}'", buildDefinition.getDesignDocuments().size(), buildDefinition.getBucketName()); // Insert design document into the bucket BucketManager bucketManager = bucket.bucketManager(); buildDefinition.getDesignDocuments().forEach(designDoc -> bucketManager.upsertDesignDocument(designDoc)); LOG.debug("Views created in '{}'", buildDefinition.getBucketName()); }
/** * Ensures that all views exists in the database. * * @param documentName the name of the design document. * @param views the views to ensure exists in the database. */ private void doEnsureIndexes(final String documentName, final List<View> views) { logger.debug("Ensure that indexes exist in bucket {}.", bucket.name()); final DesignDocument newDocument = DesignDocument.create(documentName, views); if (!newDocument.equals(bucket.bucketManager().getDesignDocument(documentName))) { logger.warn("Missing indexes in bucket {} for document {}, creating new.", bucket.name(), documentName); bucket.bucketManager().upsertDesignDocument(newDocument); } }
private void createDesignDocumentAndViewIfNeeded() { if (this.views != null && this.designDocument != null) { LOGGER.debug("Ensure that indexes exist in bucket [{}]", this.bucket.name()); val bucketManager = this.bucket.bucketManager(); val newDocument = DesignDocument.create(this.designDocument, new ArrayList<>(views)); try { if (!newDocument.equals(bucketManager.getDesignDocument(this.designDocument))) { LOGGER.warn("Missing indexes in bucket [{}] for document [{}]", this.bucket.name(), this.designDocument); bucketManager.upsertDesignDocument(newDocument); } } catch (final DesignDocumentDoesNotExistException e) { LOGGER.debug("Design document in bucket [{}] for document [{}] should be created", this.bucket.name(), this.designDocument); bucketManager.upsertDesignDocument(newDocument); } catch (final Exception e) { throw new IllegalArgumentException(e.getMessage(), e); } } }
private void createSpatialViews(Bucket bucket, CouchbaseBuildDefinition buildDefinition) { if (buildDefinition.getSpatialViews().size() == 0) { // No views to create return; } LOG.debug("Creating {} views in '{}'", buildDefinition.getSpatialViews().size(), buildDefinition.getBucketName()); // Initialize design document DesignDocument designDoc = DesignDocument.create( buildDefinition.getSpatialDesignDocumentName(), buildDefinition.getSpatialViews()); // Insert design document into the bucket BucketManager bucketManager = bucket.bucketManager(); bucketManager.upsertDesignDocument(designDoc); LOG.debug("Views created in '{}'", buildDefinition.getBucketName()); }
@After public void clear() { if (getCouchbaseContainer().isIndex() && getCouchbaseContainer().isQuery() && getCouchbaseContainer().isPrimaryIndex()) { getBucket().query( N1qlQuery.simple(String.format("DELETE FROM `%s`", getBucket().name()), N1qlParams.build().consistency(ScanConsistency.STATEMENT_PLUS))); } else { getBucket().bucketManager().flush(); } }