congrats Icon
New! Announcing our next generation AI code completions
Read here
Tabnine Logo
SearchRequest
Code IndexAdd Tabnine to your IDE (free)

How to use
SearchRequest
in
co.cask.cdap.spi.metadata

Best Java code snippets using co.cask.cdap.spi.metadata.SearchRequest (Showing top 19 results out of 315)

origin: cdapio/cdap

 public SearchRequest build() {
  return new SearchRequest(query, scope, namespaces, types, showHidden,
               offset, limit, cursor, cursorRequested, sorting);
 }
}
origin: cdapio/cdap

NamespaceId namespace = null;
Set<EntityScope> entityScopes;
if (request.getNamespaces() == null || request.getNamespaces().isEmpty()) {
 entityScopes = EnumSet.allOf(EntityScope.class);
} else {
 boolean hasSystem = false;
 for (String ns : request.getNamespaces()) {
  if (ns.equals(NamespaceId.SYSTEM.getNamespace())) {
   hasSystem = true;
 request.getQuery(),
 request.getTypes() == null ? Collections.emptySet() :
  request.getTypes().stream().map(EntityTypeSimpleName::valueOf).collect(Collectors.toSet()),
 request.getSorting() == null ? SortInfo.DEFAULT :
  new SortInfo(request.getSorting().getKey(), SortInfo.SortOrder.valueOf(request.getSorting().getOrder().name())),
 request.getOffset(),
 request.getLimit(),
 request.isCursorRequested() ? 1 : 0,
 request.getCursor(),
 request.isShowHidden(),
 entityScopes
));
origin: caskdata/cdap

@After
public void ensureCleanUp() throws IOException {
 assertEmpty(getMetadataStorage(), SearchRequest.of("*").build());
}
origin: cdapio/cdap

.of(request.getQuery())
.setCursor(request.getCursor())
.setCursorRequested(request.getNumCursors() > 0)
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("key1:value1").addType(TYPE_PROGRAM).build(), programRecord);
assertResults(mds, SearchRequest.of("key1:value1").build(), programRecord, datasetRecord);
assertResults(mds, SearchRequest.of("multiword:aV5").build(), programRecord);
assertResults(mds, SearchRequest.of("  multiword:aV1   ").build(), programRecord);
assertEmpty(mds, SearchRequest.of("multiword:aV5").build());
assertEmpty(mds, SearchRequest.of("key1:value1").addNamespace("ns12").build());
assertResults(mds, SearchRequest.of("  value1  av2  ").build(), programRecord, datasetRecord);
assertResults(mds, SearchRequest.of("  value1  sValue1  ").build(), programRecord, datasetRecord);
assertResults(mds, SearchRequest.of("  valu*  sVal*  ").build(), programRecord, datasetRecord);
assertResults(mds, SearchRequest.of("  valu*  sVal*  ").addType(TYPE_PROGRAM).addType(TYPE_DATASET).build(),
       programRecord, datasetRecord);
assertResults(mds, SearchRequest.of("  valu*  sVal*  ").build(), programRecord, datasetRecord);
origin: caskdata/cdap

@Test
public void testUpdateSearch() throws IOException {
 MetadataStorage mds = getMetadataStorage();
 final String ns = "ns";
 final MetadataEntity program = new NamespaceId(ns).app("app1").worker("wk1").toMetadataEntity();
 Metadata meta = new Metadata(USER, tags("tag1", "tag2"), props("key1", "value1", "key2", "value2"));
 MetadataRecord programRecord = new MetadataRecord(program, meta);
 mds.apply(new Update(program, meta));
 assertResults(mds, SearchRequest.of("value1").addNamespace(ns).build(), programRecord);
 assertResults(mds, SearchRequest.of("value2").addNamespace(ns).build(), programRecord);
 assertResults(mds, SearchRequest.of("tag2").addNamespace(ns).build(), programRecord);
 mds.apply(new Update(program, new Metadata(USER, props("key1", "value3"))));
 mds.apply(new Remove(program, ImmutableSet.of(new ScopedNameOfKind(PROPERTY, USER, "key2"),
                         new ScopedNameOfKind(TAG, USER, "tag2"))));
 programRecord = new MetadataRecord(program, new Metadata(USER, tags("tag1"), props("key1", "value3")));
 // Searching for value1 should be empty
 assertEmpty(mds, SearchRequest.of("value1").addNamespace(ns).build());
 // Instead key1 has value value3 now
 assertResults(mds, SearchRequest.of("value3").addNamespace(ns).build(), programRecord);
 // key2 and tag2 were deleted
 assertEmpty(mds, SearchRequest.of("value2").addNamespace(ns).build());
 assertEmpty(mds, SearchRequest.of("tag2").addNamespace(ns).build());
 // tag1 is still here
 assertResults(mds, SearchRequest.of("tag1").addNamespace(ns).build(), programRecord);
 // clean up
 mds.apply(new Drop(program));
}
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("value1").build(), programRecord);
assertResults(mds, SearchRequest.of("  aV1   ").addType(TYPE_PROGRAM).build(), programRecord);
assertEmpty(mds, SearchRequest.of("-").build());
assertEmpty(mds, SearchRequest.of(",").build());
assertEmpty(mds, SearchRequest.of("_").build());
assertEmpty(mds, SearchRequest.of(", ,").build());
assertEmpty(mds, SearchRequest.of(", - ,").build());
assertResults(mds, SearchRequest.of("av5").addType(TYPE_PROGRAM).build(), programRecord);
assertResults(mds, SearchRequest.of("ValUe1").addType(TYPE_PROGRAM).build(), programRecord);
                              new ScopedName(SYSTEM, "key3"), "value1")));
assertResults(mds, SearchRequest.of("value1").addType(TYPE_PROGRAM).build(), programRecord);
assertResults(mds, SearchRequest.of("value2*").build(), programRecord, datasetRecord);
assertEmpty(mds, SearchRequest.of("value2*").addNamespace("ns12").build());
origin: caskdata/cdap

assertInOrder(mds, SearchRequest.of("value1 multiword:av2").addNamespace(ns).build(),
       service1Record, dataset2Record);
assertInOrder(mds, SearchRequest.of("value1 sValue*").addNamespace(ns).setLimit(Integer.MAX_VALUE).build(),
       dataset2Record, dataset1Record, service1Record);
assertResults(mds, SearchRequest.of("*").addNamespace(ns).setLimit(Integer.MAX_VALUE).build(),
       dataset2Record, dataset1Record, service1Record);
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("tags:*").addNamespace(ns1).build(),
       app1Record, program1Record, dataset1Record, dataset2Record, file1Record);
assertResults(mds, SearchRequest.of("tags:tag1*").addNamespace(ns1).build(),
       app1Record, program1Record, dataset1Record);
assertResults(mds, SearchRequest.of("  tAGS  :  tag1  ").addNamespace(ns1).build(),
       app1Record, program1Record);
assertResults(mds, SearchRequest.of("tags:tag5").addNamespace(ns1).build(),
       file1Record);
assertResults(mds, SearchRequest.of("tags:tag2").addNamespace(ns1).build(),
       app1Record, dataset1Record, dataset2Record, file1Record);
assertResults(mds, SearchRequest.of("tags:tag4").addNamespace(ns1).build(),
       dataset2Record);
assertResults(mds, SearchRequest.of("tags:tag33").addNamespace(ns1).build(),
       dataset1Record);
assertResults(mds, SearchRequest.of("tag12-tag33").addNamespace(ns1).build(),
       dataset1Record);
assertResults(mds, SearchRequest.of("  tag33  ").addNamespace(ns1).build(),
       dataset1Record);
assertResults(mds, SearchRequest.of("tags:tag3*").addNamespace(ns1).build(),
       app1Record, dataset1Record);
origin: caskdata/cdap

@Test
public void testCrossNamespaceDefaultSearch() throws IOException {
 MetadataStorage mds = getMetadataStorage();
 NamespaceId ns1 = new NamespaceId("ns1");
 NamespaceId ns2 = new NamespaceId("ns2");
 MetadataEntity ns1app = ns1.app("a").toMetadataEntity();
 MetadataEntity ns2app = ns2.app("a").toMetadataEntity();
 MetadataRecord app1Record = new MetadataRecord(ns1app, new Metadata(USER, props("k1", "v1", "k2", "v2")));
 MetadataRecord app2Record = new MetadataRecord(ns2app, new Metadata(USER, props("k1", "v1")));
 mds.apply(new Update(ns1app, app1Record.getMetadata()));
 mds.apply(new Update(ns2app, app2Record.getMetadata()));
 assertResults(mds, SearchRequest.of("v1").build(), app1Record, app2Record);
 assertResults(mds, SearchRequest.of("v2").build(), app1Record);
 assertResults(mds, SearchRequest.of("*").build(), app1Record, app2Record);
 // clean up
 mds.batch(ImmutableList.of(new Drop(ns1app), new Drop(ns2app)));
}
origin: caskdata/cdap

@Test
public void testSearchDifferentNamespaces() throws IOException {
 MetadataStorage mds = getMetadataStorage();
 final String ns1 = "ns1";
 final NamespaceId ns1Id = new NamespaceId(ns1);
 final MetadataEntity artifact = ns1Id.artifact("artifact", "1.0").toMetadataEntity();
 final MetadataEntity sysArtifact = NamespaceId.SYSTEM.artifact("artifact", "1.0").toMetadataEntity();
 final String multiWordKey = "multiword";
 final String multiWordValue = "aV1 av2 ,  -  ,  av3 - av4_av5 av6";
 Metadata meta = new Metadata(SYSTEM, props(multiWordKey, multiWordValue));
 MetadataRecord artifactRecord = new MetadataRecord(artifact, meta);
 MetadataRecord sysArtifactRecord = new MetadataRecord(sysArtifact, meta);
 mds.apply(new Update(artifact, meta));
 mds.apply(new Update(sysArtifact, meta));
 // searching only user namespace should not return system entity
 assertResults(mds, SearchRequest.of("aV5").addNamespace(ns1).build(), artifactRecord);
 // searching only user namespace and system should return only the system entity
 assertResults(mds, SearchRequest.of("aV5").addSystemNamespace().build(), sysArtifactRecord);
 // searching only user namespace and system should return both entities
 assertResults(mds, SearchRequest.of("aV5").addNamespace(ns1).addSystemNamespace().build(),
        artifactRecord, sysArtifactRecord);
 // clean up
 mds.batch(ImmutableList.of(new Drop(artifact), new Drop(sysArtifact)));
}
origin: caskdata/cdap

@Test
public void testSearchOnTypes() throws Exception {
 MetadataStorage mds = getMetadataStorage();
 MetadataEntity myDs = NamespaceId.DEFAULT.dataset("myDs").toMetadataEntity();
 MetadataEntity myField1 = MetadataEntity.builder(myDs).appendAsType("field", "myField1").build();
 MetadataEntity myField2 = MetadataEntity.builder(myDs).appendAsType("field", "myField2").build();
 MetadataRecord record1 = new MetadataRecord(myField1, new Metadata(USER, props("testKey1", "testValue1")));
 MetadataRecord record2 = new MetadataRecord(myField2, new Metadata(USER, props("testKey2", "testValue2")));
 mds.apply(new Update(myField1, record1.getMetadata()));
 mds.apply(new Update(myField2, record2.getMetadata()));
 // Search for it based on value
 assertResults(mds, SearchRequest.of("field:myField1").build(), record1);
 // should return both fields
 assertResults(mds, SearchRequest.of("field:myFie*").build(), record1, record2);
 assertResults(mds, SearchRequest.of("field*").build(), record1, record2);
 // clean up
 mds.batch(ImmutableList.of(new Drop(myField1), new Drop(myField2)));
}
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("aV5").addNamespace(ns1).addSystemNamespace().build(),
       programRecord, sysArtifactRecord);
assertResults(mds, SearchRequest.of("aV5").addNamespace(ns1).addType(TYPE_PROGRAM).build(),
       programRecord);
assertResults(mds, SearchRequest.of("multiword:aV5").addNamespace(ns1).addType(TYPE_PROGRAM).build(),
       programRecord);
assertResults(mds, SearchRequest.of("multiword:" + multiWordValue)
        .addNamespace(ns1).addSystemNamespace().addType(TYPE_ARTIFACT).build(),
       sysArtifactRecord);
assertResults(mds, SearchRequest.of("multiword:aV4").addNamespace(ns2).addSystemNamespace().build(),
       artifactRecord, sysArtifactRecord);
assertEmpty(mds, SearchRequest.of("aV*").addNamespace(ns2).addSystemNamespace().addType(TYPE_PROGRAM).build());
assertResults(mds, SearchRequest.of("av*").addNamespace("ns3").addSystemNamespace().build(),
       sysArtifactRecord);
assertResults(mds, SearchRequest.of("av*").addSystemNamespace().build(),
       sysArtifactRecord);
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("v1").setLimit(10).build(),
       record11, record12, record13, record21, record22);
assertResults(mds, SearchRequest.of("v2").setLimit(10).build(),
       record12, record21, record22);
assertResults(mds, SearchRequest.of("v3").setLimit(10).build(),
       record13, record22);
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setLimit(Integer.MAX_VALUE).build(),
       datasetRecord, streamRecord, serviceRecord);
assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setShowHidden(true).build(),
       hiddenRecord, datasetRecord, streamRecord, serviceRecord);
assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setLimit(2).setCursorRequested(true).build(),
       datasetRecord, streamRecord);
assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setOffset(1).setLimit(2).build(),
       streamRecord, serviceRecord);
assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setOffset(1).setLimit(3).setShowHidden(true).build(),
       datasetRecord, streamRecord, serviceRecord);
assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setOffset(2).setLimit(2).build(),
       serviceRecord);
assertEmpty(mds, SearchRequest.of("tag*").addNamespace(ns).setOffset(4).setLimit(2).build());
assertResults(mds, SearchRequest.of("tag*").addNamespace(ns).setOffset(1).build(),
       streamRecord, serviceRecord);
origin: caskdata/cdap

@Test
public void testCrossNamespaceCustomSearch() throws Exception {
 MetadataStorage mds = getMetadataStorage();
 String appName = "app";
 MetadataEntity ns1App = new NamespaceId("ns1").app(appName).toMetadataEntity();
 MetadataEntity ns2App = new NamespaceId("ns2").app(appName).toMetadataEntity();
 Metadata meta = new Metadata(SYSTEM, props(ENTITY_NAME_KEY, appName));
 MetadataRecord app1Record = new MetadataRecord(ns1App, meta);
 MetadataRecord app2Record = new MetadataRecord(ns2App, meta);
 mds.apply(new Update(ns1App, meta));
 mds.apply(new Update(ns2App, meta));
 assertInOrder(mds, SearchRequest.of("*").setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.ASC)).build(),
        app1Record, app2Record);
 // clean up
 mds.batch(ImmutableList.of(new Drop(ns1App), new Drop(ns2App)));
}
origin: caskdata/cdap

 assertResults(mds, SearchRequest.of("*").setLimit(Integer.MAX_VALUE).setCursorRequested(true).build(),
        record11, record12, record13, record21, record22);
assertResults(mds, SearchRequest.of("*").setCursorRequested(true).setOffset(1).setLimit(4).build(),
       results[1], results[2], results[3], results[4]);
assertResults(mds, SearchRequest.of("*").setCursorRequested(true).setOffset(0).setLimit(4).build(),
       results[0], results[1], results[2], results[3]);
assertResults(mds, SearchRequest.of("*").setCursorRequested(true).setOffset(1).setLimit(3).build(),
       results[1], results[2], results[3], results[3]);
origin: caskdata/cdap

@Test
public void testSearchOnTagsUpdate() throws IOException {
 MetadataStorage mds = getMetadataStorage();
 MetadataEntity entity = NamespaceId.DEFAULT.app("appX").workflow("wtf").toMetadataEntity();
 Metadata meta = new Metadata(SYSTEM, tags("tag1", "tag2"));
 mds.apply(new Update(entity, meta));
 Assert.assertEquals(meta.getTags(SYSTEM), mds.read(new Read(entity, SYSTEM)).getTags(SYSTEM));
 assertResults(mds, SearchRequest.of("tag1").build(), new MetadataRecord(entity, meta));
 // add an more tags
 mds.apply(new Update(entity, new Metadata(SYSTEM, tags("tag3", "tag4"))));
 Set<String> newTags = tags("tag1", "tag2", "tag3", "tag4");
 Metadata newMeta = new Metadata(SYSTEM, newTags);
 Assert.assertEquals(newTags, mds.read(new Read(entity, SYSTEM)).getTags(SYSTEM));
 for (String expectedTag : newTags) {
  assertResults(mds, SearchRequest.of(expectedTag).build(), new MetadataRecord(entity, newMeta));
 }
 // add an empty set of tags. This should have no effect on retrieval or search of tags
 mds.apply(new Update(entity, new Metadata(SYSTEM, tags())));
 Assert.assertEquals(newTags, mds.read(new Read(entity, SYSTEM)).getTags(SYSTEM));
 for (String expectedTag : newTags) {
  assertResults(mds, SearchRequest.of(expectedTag).build(), new MetadataRecord(entity, newMeta));
 }
 // clean up
 mds.apply(new Drop(entity));
}
origin: caskdata/cdap

assertResults(mds, SearchRequest.of("name*").addNamespace(ns1).setLimit(3).build(),
       appRecord, datasetRecord, programRecord);
assertInOrder(mds, SearchRequest.of("*").addNamespace(ns1).setLimit(2)
        .setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.ASC)).build(),
       programRecord, datasetRecord);
assertInOrder(mds, SearchRequest.of("*").addNamespace(ns1).setOffset(1).setLimit(2)
        .setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.ASC)).build(),
       datasetRecord, appRecord);
assertInOrder(mds, SearchRequest.of("*").addNamespace(ns1).setLimit(2)
        .setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.DESC)).build(),
       appRecord, datasetRecord);
assertInOrder(mds, SearchRequest.of("*").addNamespace(ns1).setOffset(2).setLimit(1)
        .setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.DESC)).build(),
       programRecord);
 assertInOrder(mds, SearchRequest.of("*").addNamespace(ns1).setLimit(1).setCursorRequested(true)
         .setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.ASC)).build(),
        programRecord);
Assert.assertNotNull(response.getCursor());
response =
 assertInOrder(mds, SearchRequest.of("*").addNamespace(ns1).setLimit(1).setCursorRequested(true)
         .setCursor(response.getCursor()).setSorting(new Sorting(ENTITY_NAME_KEY, Sorting.Order.ASC))
         .build(),
Assert.assertNotNull(response.getCursor());
co.cask.cdap.spi.metadataSearchRequest

Javadoc

Represents a metadata search request.

Most used methods

  • of
  • <init>
    Create a new search request.
  • getCursor
  • getLimit
  • getNamespaces
  • getOffset
  • getQuery
  • getSorting
  • getTypes
  • isCursorRequested
  • isShowHidden
  • isShowHidden

Popular in Java

  • Start an intent from android
  • setScale (BigDecimal)
  • runOnUiThread (Activity)
  • scheduleAtFixedRate (ScheduledExecutorService)
  • GridLayout (java.awt)
    The GridLayout class is a layout manager that lays out a container's components in a rectangular gri
  • FileReader (java.io)
    A specialized Reader that reads from a file in the file system. All read requests made by calling me
  • InetAddress (java.net)
    An Internet Protocol (IP) address. This can be either an IPv4 address or an IPv6 address, and in pra
  • DecimalFormat (java.text)
    A concrete subclass of NumberFormat that formats decimal numbers. It has a variety of features desig
  • ServletException (javax.servlet)
    Defines a general exception a servlet can throw when it encounters difficulty.
  • HttpServletRequest (javax.servlet.http)
    Extends the javax.servlet.ServletRequest interface to provide request information for HTTP servlets.
  • Top 12 Jupyter Notebook Extensions
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyStudentsTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now