• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PagingState类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.datastax.driver.core.PagingState的典型用法代码示例。如果您正苦于以下问题:Java PagingState类的具体用法?Java PagingState怎么用?Java PagingState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PagingState类属于com.datastax.driver.core包,在下文中一共展示了PagingState类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: ReadQueryDataImpl

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
private ReadQueryDataImpl(Tablename tablename,
                          ImmutableMap<String, ImmutableList<Object>> keys,
                          ImmutableSet<Clause> whereClauses, 
                          ImmutableMap<String, Boolean> columnsToFetch, 
                          Integer limit, 
                          Boolean allowFiltering,
                          Integer fetchSize,
                          Boolean distinct,
                          PagingState pagingState) {
    this.tablename = tablename;
    this.keys = keys;
    this.whereClauses = whereClauses;
    this.columnsToFetch = columnsToFetch;
    this.limit = limit;
    this.allowFiltering = allowFiltering;
    this.fetchSize = fetchSize;
    this.distinct = distinct;
    this.pagingState = pagingState;
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:20,代码来源:ReadQueryDataImpl.java


示例2: getPage

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
private TimelinePageVM getPage(Select select, String page, int limit) {
    //If we have a 'next' page set we deserialise it and add it to the select
    //statement
    if (page != null) {
        select.setPagingState(PagingState.fromString(page));
    }

    //Execute the query
    ResultSet resultSet = session.execute(select);

    //Get the next paging state
    PagingState newPagingState = resultSet.getExecutionInfo().getPagingState();
    //The number of rows that can be read without fetching
    int remaining = resultSet.getAvailableWithoutFetching();

    List<XmTimeline> timelines = new ArrayList<>(limit);

    for (Row row : resultSet) {
        XmTimeline timeline = TimelineMapper.createTimeline(row);

        timelines.add(timeline);

        //If we can't move to the next row without fetching we break
        if (--remaining == 0) {
            break;
        }
    }

    //Serialise the next paging state
    String serializedNewPagingState = newPagingState != null
        ? newPagingState.toString() :
        null;

    //Return an object with a list of timelines and the next paging state
    return new TimelinePageVM(timelines, serializedNewPagingState);
}
 
开发者ID:xm-online,项目名称:xm-ms-timeline,代码行数:37,代码来源:TimelineRepository.java


示例3: reduceFetchSize

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
/**
 * Reduces the fetch size and retries the query.  Returns true if the query succeeded, false if the root cause
 * of the exception does not indicate a frame size issue, if the frame size cannot be adjusted down any further,
 * or if the retried query fails for an unrelated reason.
 */
private boolean reduceFetchSize(Throwable reason) {
    if (!isAdaptiveException(reason) || --_remainingAdaptations == 0) {
        return false;
    }

    ExecutionInfo executionInfo = _delegate.getExecutionInfo();
    Statement statement = executionInfo.getStatement();
    PagingState pagingState = executionInfo.getPagingState();
    int fetchSize = statement.getFetchSize();

    while (fetchSize > MIN_FETCH_SIZE) {
        fetchSize = Math.max(fetchSize / 2, MIN_FETCH_SIZE);
        _log.debug("Retrying query at next page with fetch size {} due to {}", fetchSize, reason.getMessage());
        statement.setFetchSize(fetchSize);
        statement.setPagingState(pagingState);
        try {
            _delegate = _session.execute(statement);
            return true;
        } catch (Throwable t) {
            // Exit the adaptation loop if the exception isn't one where adapting further may help
            if (!isAdaptiveException(t) || --_remainingAdaptations == 0) {
                return false;
            }
        }
    }

    return false;
}
 
开发者ID:bazaarvoice,项目名称:emodb,代码行数:34,代码来源:AdaptiveResultSet.java


示例4: testFetchInvitesPageOfRecords

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Test
public void testFetchInvitesPageOfRecords() {
	PagingState pagingState = null;
			
	// page #, page size, # of expected results in the page
	pagingState = fetchAndAssert(1, 30, 30, pagingState);
	pagingState = fetchAndAssert(2, 30, 30, pagingState);
	pagingState = fetchAndAssert(3, 30, 30, pagingState);
	pagingState = fetchAndAssert(4, 30, 10, pagingState);
	
	// Last page results in empty paging state again
	assertNull(pagingState);
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:14,代码来源:PaginationTest.java


示例5: testFetchInvitesPageOfEntities

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Test
public void testFetchInvitesPageOfEntities() {
	PagingState pagingState = null;
			
	// page #, page size, # of expected results in the page
	pagingState = fetchEntityAndAssert(1, 30, 30, pagingState);
	pagingState = fetchEntityAndAssert(2, 30, 30, pagingState);
	pagingState = fetchEntityAndAssert(3, 30, 30, pagingState);
	pagingState = fetchEntityAndAssert(4, 30, 10, pagingState);
	
	// Last page results in empty paging state again
	assertNull(pagingState);
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:14,代码来源:PaginationTest.java


示例6: fetchEntityAndAssert

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
private PagingState fetchEntityAndAssert(int pageNumber, int pageSize, int expectedSize, PagingState pagingState) {
	ResultList<InvitesByMonthAndInviteDate> resultList = 
			new DaoImpl(cassandra.getSession(), TABLE_NAME)
		.readSequenceWithKey("group_id", "group_1")
		.asEntity(InvitesByMonthAndInviteDate.class)
		.withFetchSize(pageSize)
		.withPagingState(pagingState)
		.execute();
		
	int numRecords = assertSortOrder(resultList);
	
	assertEquals("Size should be "+expectedSize, expectedSize, numRecords);
	
	return resultList.getExecutionInfo().getPagingState();
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:16,代码来源:PaginationTest.java


示例7: getAuditLogs

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Override
public Result<AuditLog> getAuditLogs( UUID messageId ) {

    Statement query = QueryBuilder.select().all().from(TABLE_AUDIT_LOG)
        .where( QueryBuilder.eq( COLUMN_MESSAGE_ID, messageId ) );

    ResultSet rs = cassandraClient.getApplicationSession().execute( query );

    final List<AuditLog> auditLogs = rs.all().stream().map( row ->
        new AuditLog(
            AuditLog.Action.valueOf( row.getString( COLUMN_ACTION )),
            AuditLog.Status.valueOf( row.getString( COLUMN_STATUS )),
            row.getString( COLUMN_QUEUE_NAME ),
            row.getString( COLUMN_REGION ),
            row.getUUID( COLUMN_MESSAGE_ID ),
            row.getUUID( COLUMN_QUEUE_MESSAGE_ID ),
            row.getLong( COLUMN_TRANSFER_TIME ) )
    ).collect( Collectors.toList() );

    return new Result<AuditLog>() {

        @Override
        public PagingState getPagingState() {
            return null; // no paging
        }

        @Override
        public List<AuditLog> getEntities() {
            return auditLogs;
        }
    };

}
 
开发者ID:apache,项目名称:usergrid,代码行数:34,代码来源:AuditLogSerializationImpl.java


示例8: getAllTransferLogs

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Override
public Result<TransferLog> getAllTransferLogs(PagingState pagingState, int fetchSize ) {

    Statement query = QueryBuilder.select().all().from(TABLE_TRANSFER_LOG);

    query.setFetchSize( fetchSize );
    if ( pagingState != null ) {
        query.setPagingState( pagingState );
    }

    ResultSet rs = cassandraClient.getApplicationSession().execute( query );
    final PagingState newPagingState = rs.getExecutionInfo().getPagingState();

    final List<TransferLog> transferLogs = new ArrayList<>();
    int numReturned = rs.getAvailableWithoutFetching();
    for ( int i=0; i<numReturned; i++ ) {
        Row row = rs.one();
        TransferLog tlog = new TransferLog(
                row.getString( COLUMN_QUEUE_NAME ),
                row.getString( COLUMN_SOURCE_REGION ),
                row.getString( COLUMN_DEST_REGION ),
                row.getUUID( COLUMN_MESSAGE_ID ),
                row.getLong( COLUMN_TRANSFER_TIME ));
        transferLogs.add( tlog );
    }

    return new Result<TransferLog>() {

        @Override
        public PagingState getPagingState() {
            return newPagingState;
        }

        @Override
        public List<TransferLog> getEntities() {
            return transferLogs;
        }
    };
}
 
开发者ID:apache,项目名称:usergrid,代码行数:40,代码来源:TransferLogSerializationImpl.java


示例9: recordTransferLog

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Test
public void recordTransferLog() throws Exception {

    TransferLogSerialization logSerialization = getInjector().getInstance( TransferLogSerialization.class );

    CassandraClient cassandraClient = getInjector().getInstance( CassandraClientImpl.class );

    String queueName = "tlst_queue_" + RandomStringUtils.randomAlphanumeric( 15 );
    String source = RandomStringUtils.randomAlphanumeric( 15 );
    String dest = RandomStringUtils.randomAlphanumeric( 15 );

    int numLogs = 100;

    for ( int i=0; i<numLogs; i++ ) {
        logSerialization.recordTransferLog( queueName, source, dest, UUIDGen.getTimeUUID());
    }

    int count = 0;
    int fetchCount = 0;
    PagingState pagingState = null;
    while ( true ) {

        Result<TransferLog> all = logSerialization.getAllTransferLogs( pagingState, 10 );

        // we only want entities for our queue
        List<TransferLog> logs = all.getEntities().stream()
            .filter( log -> log.getQueueName().equals( queueName ) ).collect( Collectors.toList() );

        count += logs.size();
        fetchCount++;
        if ( all.getPagingState() == null ) {
            break;
        }
        pagingState = all.getPagingState();
    }

    Assert.assertEquals( numLogs, count );
}
 
开发者ID:apache,项目名称:usergrid,代码行数:39,代码来源:TransferLogSerializationTest.java


示例10: getTransferLogs

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
private List<TransferLog> getTransferLogs(TransferLogSerialization logSerialization) {
    PagingState pagingState = null;
    List<TransferLog> allLogs = new ArrayList<>();
    while ( true ) {
        Result<TransferLog> result = logSerialization.getAllTransferLogs( pagingState, 100 );
        allLogs.addAll( result.getEntities() );
        if ( result.getPagingState() == null ) {
            break;
        }
        pagingState = result.getPagingState();
    }
    return allLogs;
}
 
开发者ID:apache,项目名称:usergrid,代码行数:14,代码来源:TransferLogSerializationTest.java


示例11: searchVideos

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Override
public void searchVideos(SearchVideosRequest request, StreamObserver<SearchVideosResponse> responseObserver) {

    LOGGER.debug("Start searching video by tag");

    if (!validator.isValid(request, responseObserver)) {
        return;
    }

    final Optional<String> pagingState = Optional
            .ofNullable(request.getPagingState())
            .filter(StringUtils::isNotBlank);

    videoByTagManager
            .dsl()
            .select()
            .allColumns_FromBaseTable()
            .where()
            .tag().Eq(request.getQuery())
            .withFetchSize(request.getPageSize())
            .withOptionalPagingStateString(pagingState)
            .getListAsyncWithStats()
            .handle((tuple2, ex) -> {
                if (tuple2 != null) {
                    final SearchVideosResponse.Builder builder = SearchVideosResponse.newBuilder();
                    builder.setQuery(request.getQuery());
                    tuple2._1().stream().forEach(entity -> builder.addVideos(entity.toResultVideoPreview()));
                    Optional.ofNullable(tuple2._2().getPagingState())
                            .map(PagingState::toString)
                            .ifPresent(builder::setPagingState);
                    responseObserver.onNext(builder.build());
                    responseObserver.onCompleted();

                    LOGGER.debug("End searching video by tag");

                } else if (ex != null) {

                    LOGGER.error("Exception when searching video by tag : " + mergeStackTrace(ex));

                    responseObserver.onError(Status.INTERNAL.withCause(ex).asRuntimeException());
                }
                return tuple2;
            });
}
 
开发者ID:doanduyhai,项目名称:killrvideo-java,代码行数:45,代码来源:SearchService.java


示例12: withPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Override
public ListRead<ResultList<Record>, Record> withPagingState(
		PagingState pagingState) {
	return newQuery(query.withPagingState(pagingState));
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:6,代码来源:ListReadQueryAdapter.java


示例13: fetchAndAssert

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
private PagingState fetchAndAssert(int pageNumber, int pageSize, int expectedSize, PagingState pagingState) {
	Dao dao = new DaoImpl(cassandra.getSession(), TABLE_NAME);
	
	ListReadWithUnit<ResultList<Record>, Record> listReadUnit = dao.readSequenceWithKey("group_id", "group_1");
			
	// Pagination requires both: fetchSize and pagingState
	ListRead<ResultList<Record>, Record> listRead = listReadUnit.all()
			.withFetchSize(pageSize)
			.withPagingState(pagingState);
	
	ResultList<Record> resultList = listRead.execute();
	
	Iterator<Record> i = resultList.iterator();
		
	int numRecords = assertSortOrder(i);
	
	assertEquals("Size should be "+expectedSize, expectedSize, numRecords);
	
	return resultList.getExecutionInfo().getPagingState();
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:21,代码来源:PaginationTest.java


示例14: getPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Override
public PagingState getPagingState() {
	return pagingState;
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:5,代码来源:ReadQueryDataImpl.java


示例15: withPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
@Override
public ListReadQuery withPagingState(PagingState pagingState) {
    return newQuery(data.pagingState(pagingState));
}
 
开发者ID:1and1,项目名称:Troilus,代码行数:5,代码来源:ListReadQuery.java


示例16: withPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
/**
 * 
 * @param pagingState  paging state to set on driver Statement, or null, if none
 * @return a cloned query instance with paging state set
 */
ListRead<T, R> withPagingState(PagingState pagingState);
 
开发者ID:1and1,项目名称:Troilus,代码行数:7,代码来源:ListRead.java


示例17: getPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
/**
 * @return paging state or null, if none
 * @return
 */
PagingState getPagingState();
 
开发者ID:1and1,项目名称:Troilus,代码行数:6,代码来源:ReadQueryData.java


示例18: withPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
/**
 * @return a cloned query instance which allows paging
 */
ListRead<T, R> withPagingState(PagingState pagingState);
 
开发者ID:1and1,项目名称:Troilus,代码行数:5,代码来源:ListRead.java


示例19: getAllTransferLogs

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
/**
 * Get all transfer logs (for testing purposes)
 *
 * @param pagingState Paging state (or null if none)
 * @param fetchSize Number of rows to be fetched per page (or -1 for default)
 */
Result<TransferLog> getAllTransferLogs(PagingState pagingState, int fetchSize);
 
开发者ID:apache,项目名称:usergrid,代码行数:8,代码来源:TransferLogSerialization.java


示例20: getPagingState

import com.datastax.driver.core.PagingState; //导入依赖的package包/类
PagingState getPagingState(); 
开发者ID:apache,项目名称:usergrid,代码行数:2,代码来源:Result.java



注:本文中的com.datastax.driver.core.PagingState类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java AbstractStorelessUnivariateStatistic类代码示例发布时间:2022-05-22
下一篇:
Java Tsurgeon类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap