当前位置: 首页>>代码示例>>Java>>正文


Java Query.list方法代码示例

本文整理汇总了Java中org.infinispan.query.dsl.Query.list方法的典型用法代码示例。如果您正苦于以下问题:Java Query.list方法的具体用法?Java Query.list怎么用?Java Query.list使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.infinispan.query.dsl.Query的用法示例。


在下文中一共展示了Query.list方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: main

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
public static void main(String[] args) {
   ConfigurationBuilder builder = new ConfigurationBuilder();
   builder.indexing().index(Index.ALL)
      .addProperty("default.directory_provider", "ram")
      .addProperty("lucene_version", "LUCENE_CURRENT");
   // Construct a simple local cache manager with default configuration
   DefaultCacheManager cacheManager = new DefaultCacheManager(builder.build());
   // Obtain the default cache
   Cache<String, Person> cache = cacheManager.getCache();
   // Store some entries
   cache.put("person1", new Person("William", "Shakespeare"));
   cache.put("person2", new Person("William", "Wordsworth"));
   cache.put("person3", new Person("John", "Milton"));
   // Obtain a query factory for the cache
   QueryFactory queryFactory = Search.getQueryFactory(cache);
   // Construct a query
   Query query = queryFactory.from(Person.class).having("name").eq("William").toBuilder().build();
   // Execute the query
   List<Person> matches = query.list();
   // List the results
   matches.forEach(person -> System.out.printf("Match: %s", person));
   // Stop the cache manager and release all resources
   cacheManager.stop();
}
 
开发者ID:infinispan,项目名称:infinispan-simple-tutorials,代码行数:25,代码来源:InfinispanQuery.java

示例2: testProjections

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Test
public void testProjections() throws Exception {
   employeeCache.put(1, Utils.createEmployee1());
   employeeCache.put(2, Utils.createEmployee2());

   // get Employee back from remote cache and check its attributes
   Employee fromCache = employeeCache.get(1);
   Utils.assertEmployee(fromCache);

   // get Employee back from remote cache via query and check its attributes
   Query query = employeeQF.from(Employee.class)
         .setProjection("name")
         .having("name").eq("Tom").toBuilder()
         .build();

   List<Employee> list = query.list();
   assertNotNull(list);
   assertEquals(1, list.size());
   assertEquals("Tom", list.get(0).getName());
}
 
开发者ID:leads-project,项目名称:infinispan-avro,代码行数:21,代码来源:QueryTest.java

示例3: testAttributeQuery

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Test
public void testAttributeQuery() throws Exception {

   remoteCache0.put(1, createEmployee1());
   remoteCache0.put(2, createEmployee2());

   QueryFactory qf = Search.getQueryFactory(remoteCache1);

   Query query = qf.from(Employee.class)
         .having("ssn").eq("12357").toBuilder()
         .build();
   List<Employee> list = query.list();
   assertNotNull(list);
   assertEquals(1, list.size());

}
 
开发者ID:leads-project,项目名称:infinispan-avro,代码行数:17,代码来源:MultiHotRodQueryTest.java

示例4: getResources

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Override
public ResultSet<Resource> getResources(ResourceFilter filter, long startOffset, int maxResults) {
    QueryBuilder qb = qResource.from(IspnResource.class);
    FilterConditionContextQueryBuilder fccqb = null;
    if (filter.isRootOnly()) {
        fccqb = qb.having("parentId").isNull();
    }
    if (filter.getTypeId() != null) {
        fccqb = (fccqb == null ? qb : fccqb.and()).having("typeId").equal(filter.getTypeId());
    }
    if (filter.getFeedId() != null) {
        fccqb = (fccqb == null ? qb : fccqb.and()).having("feedId").equal(filter.getFeedId());
    }
    Query query = (fccqb == null ? qb : fccqb)
            .maxResults(maxResults)
            .startOffset(startOffset).build();
    List<IspnResource> ispnResources = query.list();
    List<Resource> result = ispnResources
            .stream()
            .map(r -> r.toResource(this::getResourceType))
            .collect(Collectors.toList());
    return new ResultSet<>(result, (long) query.getResultSize(), startOffset);
}
 
开发者ID:hawkular,项目名称:hawkular-commons,代码行数:24,代码来源:InventoryServiceIspn.java

示例5: buildMetricsEndpoints

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Override
public void buildMetricsEndpoints() {
    for (Map.Entry<String, String> filter : scrapeConfig.getFilter().entrySet()) {
        int nResults, offSet = 0;
        do {
            Query qb = qResource.from(IspnResource.class)
                    .having("typeId")
                    .equal(filter.getKey())
                    .startOffset(offSet)
                    .maxResults(MAX_RESULTS)
                    .build();
            nResults = qb.getResultSize();
            List<IspnResource> results = qb.list();
            offSet = results.size();
            results.forEach(r -> writeMetricsEndpoint(r.getRawResource()));
        } while (offSet < nResults);
    }
}
 
开发者ID:hawkular,项目名称:hawkular-commons,代码行数:19,代码来源:InventoryServiceIspn.java

示例6: getRules

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Override
public List<?> getRules(final String clientIPAddress) {
    try {
        final RemoteCache<String, Rule> ruleCache = cacheManagerForIndexableCaches.getCache(SinkitCacheName.infinispan_rules.toString());
        final ImmutablePair<String, String> startEndAddresses = CIDRUtils.getStartEndAddresses(clientIPAddress);
        final String clientIPAddressPaddedBigInt = startEndAddresses.getLeft();
        log.log(Level.FINE, "Getting key [" + clientIPAddress + "] which actually translates to BigInteger zero padded representation " + "[" + clientIPAddressPaddedBigInt + "]");
        // Let's try to hit it
        Rule rule = ruleCache.withFlags(Flag.SKIP_CACHE_LOAD).get(clientIPAddressPaddedBigInt);
        if (rule != null) {
            return Collections.singletonList(rule);
        }
        QueryFactory qf = Search.getQueryFactory(ruleCache);
        Query query = qf.from(Rule.class)
                .having("startAddress").lte(clientIPAddressPaddedBigInt)
                .and()
                .having("endAddress").gte(clientIPAddressPaddedBigInt)
                .toBuilder().build();
        return query.list();
    } catch (Exception e) {
        log.log(Level.SEVERE, "getRules client address troubles", e);
        // TODO: Proper Error codes.
        return null;
    }
}
 
开发者ID:whalebone,项目名称:sinkit-core,代码行数:26,代码来源:WebApiEJB.java

示例7: getAllRules

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Override
public List<?> getAllRules() {
    try {
        final RemoteCache<String, Rule> ruleCache = cacheManagerForIndexableCaches.getCache(SinkitCacheName.infinispan_rules.toString());
        log.log(Level.SEVERE, "getAllRules: This is a very expensive operation.");
        final QueryFactory qf = Search.getQueryFactory(ruleCache);
        final Query query = qf.from(Rule.class).build();
        // Hundreds of records...
        List<Rule> results = query.list();
        return results;
    } catch (Exception e) {
        log.log(Level.SEVERE, "getRules client address troubles", e);
        // TODO: Proper Error codes.
        return null;
    }
}
 
开发者ID:whalebone,项目名称:sinkit-core,代码行数:17,代码来源:WebApiEJB.java

示例8: performKeySearch

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Override
public Object performKeySearch(String cacheName, String columnNameInSource, Object value, ObjectConnection conn) throws TranslatorException {
    
	
	@SuppressWarnings("rawtypes")
	QueryBuilder qb = getQueryBuilder(cacheName, conn);
    
	value = escapeReservedChars(value);
	
    FilterConditionContext fcc = qb.having(columnNameInSource).eq(value);
	
	Query query = fcc.toBuilder().build();
	List<Object> results = query.list();
	if (results.size() == 1) {
		return results.get(0);
	} else if (results.size() > 1) {
		throw new TranslatorException(InfinispanPlugin.Util.gs(InfinispanPlugin.Event.TEIID25053, value.toString()));
	}
	
	return null;
}
 
开发者ID:kenweezy,项目名称:teiid,代码行数:22,代码来源:DSLSearch.java

示例9: getChildren

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Override
public ResultSet<Resource> getChildren(String parentId, long startOffset, int maxResults) {
    Query query = qResource.from(IspnResource.class)
            .having("parentId").equal(parentId)
            .maxResults(maxResults)
            .startOffset(startOffset).build();
    List<IspnResource> ispnResources = query.list();
    List<Resource> result = ispnResources
            .stream()
            .map(r -> r.toResource(this::getResourceType))
            .collect(Collectors.toList());
    return new ResultSet<>(result, (long) query.getResultSize(), startOffset);
}
 
开发者ID:hawkular,项目名称:hawkular-commons,代码行数:14,代码来源:InventoryServiceIspn.java

示例10: rulesLookup

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
/**
 * There are 3 ways to find the result, in ascending order by their cost:
 * 1. local cache of already found results based on clientIPAddressPaddedBigInt
 * 2. getting key clientIPAddressPaddedBigInt from the cache of Rules
 * 3. lookup in the cache of Rules based on subnets
 * <p>
 * TODO: List? Array? Map with additional data? Let's think this over.
 * TODO: Replace/factor out duplicated code in .getRules out of webApiEJB
 *
 * @param clientIPAddressPaddedBigInt
 * @return list of rules
 */
private List<Rule> rulesLookup(final String clientIPAddressPaddedBigInt, final RemoteCache<String, Rule> ruleCache) {
    try {
        log.log(Level.FINE, "Getting key BigInteger zero padded representation " + clientIPAddressPaddedBigInt);
        // Let's search subnets
        final String keyInCache = DigestUtils.md5Hex(clientIPAddressPaddedBigInt + clientIPAddressPaddedBigInt);
        log.log(Level.FINE, "keyInCache: " + keyInCache + ", from: " + (clientIPAddressPaddedBigInt + clientIPAddressPaddedBigInt));

        final List<Rule> cached = ruleLocalCache.get(keyInCache);
        if (cached != null) {
            return cached;
        } else {
            // Let's try to hit it
            final Rule rule = ruleCache.withFlags(Flag.SKIP_CACHE_LOAD).get(clientIPAddressPaddedBigInt);
            if (rule != null) {
                return Collections.singletonList(rule);
            }
            final QueryFactory qf = Search.getQueryFactory(ruleCache);
            final Query query = qf.from(Rule.class)
                    .having("startAddress").lte(clientIPAddressPaddedBigInt)
                    .and()
                    .having("endAddress").gte(clientIPAddressPaddedBigInt)
                    .toBuilder().build();
            if (query != null) {
                final List<Rule> result = query.list();
                ruleLocalCache.put(keyInCache, result);
                return result;

            }
            return Collections.emptyList();
        }
    } catch (Exception e) {
        log.log(Level.SEVERE, "getRules client address troubles", e);
        return null;
    }
}
 
开发者ID:whalebone,项目名称:sinkit-core,代码行数:48,代码来源:DNSApiEJB.java

示例11: testAttributeQuery

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@Test
public void testAttributeQuery() throws Exception {

   employeeCache.put(1, Utils.createEmployee1());
   employeeCache.put(2, Utils.createEmployee2());

   // get Employee back from remote cache and check its attributes
   Employee fromCache = employeeCache.get(1);
   Utils.assertEmployee(fromCache);

   Query query = employeeQF.from(Employee.class)
         .having("name").eq("Tom").toBuilder()
         .build();
   List<Employee> list = query.list();
   assertNotNull(list);
   assertEquals(1, list.size());
   assertEquals(Employee.class, list.get(0).getClass());
   Utils.assertEmployee(list.get(0));

   query = employeeQF.from(Employee.class)
         .having("salary").lte(6000).toBuilder()
         .build();
   list = query.list();
   assertNotNull(list);
   assertEquals(1, list.size());
   assertEquals(Employee.class, list.get(0).getClass());
   Utils.assertEmployee2(list.get(0));

   query = employeeQF.from(Employee.class)
         .having("salary").lte(10000).toBuilder()
         .build();
   list = query.list();
   assertNotNull(list);
   assertEquals(2, list.size());

   query = employeeQF.from(Employee.class)
         .having("salary").gte(5000).toBuilder()
         .build();
   list = query.list();
   assertNotNull(list);
   assertEquals(2, list.size());

}
 
开发者ID:leads-project,项目名称:infinispan-avro,代码行数:44,代码来源:QueryTest.java

示例12: performSearch

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
private static List<Object> performSearch(Condition where, OrderBy orderby, String cacheName, ObjectConnection conn)
			throws TranslatorException {

    QueryBuilder qb = getQueryBuilder(cacheName, conn);
    	    
    if (orderby != null) {
	    List<SortSpecification> sss = orderby.getSortSpecifications();
	    for (SortSpecification spec:sss) {
	    	Expression exp = spec.getExpression();
	    	Column mdIDElement = ((ColumnReference) exp).getMetadataObject();
	    	SortOrder so = SortOrder.ASC;
	    	if (spec.getOrdering().name().equalsIgnoreCase(SortOrder.DESC.name())) {
	    		so = SortOrder.DESC;
	    	}
	    	qb = qb.orderBy(mdIDElement.getNameInSource(), so);		    }
    }
    	
    FilterConditionContext fcc = buildQueryFromWhereClause(where, qb, null);	 
	 			
	List<Object> results =  null;
			
	Query query = null;
	if (fcc != null) {
		query = fcc.toBuilder().build();
		results = query.list();

		if (results == null) {
			return Collections.emptyList();
		}
	} else if (orderby != null) {
		   query = qb.build();
           results = query.list();
           if (results == null) {
                   return Collections.emptyList();
           }			
	} else {
		query = qb.build();
		results = query.list();
		if (results == null) {
			return Collections.emptyList();
		}
	}

	return results;
	
}
 
开发者ID:kenweezy,项目名称:teiid,代码行数:48,代码来源:DSLSearch.java

示例13: performSearch

import org.infinispan.query.dsl.Query; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
public static List<Object> performSearch(Condition where, OrderBy orderby, String cacheName, InfinispanConnection conn)
			throws TranslatorException {

    QueryBuilder qb = getQueryBuilder(cacheName, conn);
    	    
    if (orderby != null) {
	    List<SortSpecification> sss = orderby.getSortSpecifications();
	    for (SortSpecification spec:sss) {
	    	Expression exp = spec.getExpression();
	    	Column mdIDElement = ((ColumnReference) exp).getMetadataObject();
	    	SortOrder so = SortOrder.ASC;
	    	if (spec.getOrdering().name().equalsIgnoreCase(SortOrder.DESC.name())) {
	    		so = SortOrder.DESC;
	    	}
	    	qb = qb.orderBy(mdIDElement.getNameInSource(), so);		    	
	    }
    }
    	
    FilterConditionContext fcc = buildQueryFromWhereClause(where, qb, null);	 
	 			
	List<Object> results =  null;
			
	Query query = null;
	if (fcc != null) {
		query = fcc.toBuilder().build();
		results = query.list();

		if (results == null) {
			return Collections.emptyList();
		}
		
	} else if (orderby != null) {
	   query = qb.build();
          results = query.list();
          if (results == null) {
                  return Collections.emptyList();
          }

	} else {
	    results = new ArrayList<Object>();
		RemoteCache<?, Object> c = (RemoteCache<?, Object>) conn.getCache(cacheName);
	    for (Object id : c.keySet()) {
	          results. add(c.get(id));
	    }
	}

	return results;
	
}
 
开发者ID:kenweezy,项目名称:teiid,代码行数:51,代码来源:DSLSearch.java


注:本文中的org.infinispan.query.dsl.Query.list方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。