Package org.kiji.schema.KijiDataRequest

Examples of org.kiji.schema.KijiDataRequest.Column


   */
  private static List<Column> getColumnRequests(
      final KijiColumnName column,
      final KijiDataRequest dataRequest
  ) {
    final Column exactRequest = dataRequest.getColumn(column);
    if (exactRequest != null) {
      return ImmutableList.of(exactRequest);
    }

    if (column.isFullyQualified()) {
      // The column is fully qualified, but a request doesn't exist for the qualified column.
      // Check if the family is requested, and if so create a new qualified-column request from it.
      final Column familyRequest =
          dataRequest.getRequestForColumn(KijiColumnName.create(column.getFamily(), null));
      if (familyRequest == null) {
        return ImmutableList.of();
      }
      ColumnsDef columnDef = ColumnsDef
          .create()
          .withFilter(familyRequest.getFilter())
          .withPageSize(familyRequest.getPageSize())
          .withMaxVersions(familyRequest.getMaxVersions())
          .add(column.getFamily(), column.getQualifier(), familyRequest.getReaderSpec());

      return ImmutableList.of(
          KijiDataRequest.builder().addColumns(columnDef).build().getColumn(column));
    } else {
      // The column is a family, but a request doesn't exist for the entire family add all requests
View Full Code Here


   * @param column The column for which to validate a request exists.
   * @return Whether the data request contains a request for the column.
   */
  private boolean containsColumnRequest(final KijiColumnName column) {
    final KijiDataRequest dataRequest = mResult.getDataRequest();
    final Column exactRequest = dataRequest.getColumn(column);
    if (exactRequest != null) {
      Preconditions.checkArgument(!exactRequest.isPagingEnabled(),
          "Paging is enabled for column %s in data request %s.", exactRequest, dataRequest);
      return true;
    } else if (column.isFullyQualified()) {
      // The column is fully qualified, but a request doesn't exist for the qualified column.
      // Check if the family is requested, and validate it.
      final Column familyRequest =
          dataRequest.getColumn(KijiColumnName.create(column.getFamily(), null));
      if (familyRequest == null) {
        return false;
      }
      Preconditions.checkArgument(
          !familyRequest.isPagingEnabled(),
          "Paging is enabled for column %s in data request %s.", familyRequest, dataRequest);
      return true;
    } else {
      boolean requestContainsColumns = false;
      for (final Column columnRequest : dataRequest.getColumns()) {
View Full Code Here

        family);

    final NavigableMap<String, T> qualifiers = Maps.newTreeMap();
    final Collection<Column> columnRequests = mResult.getDataRequest().getColumns();

    final Column familyRequest = mResult.getDataRequest().getRequestForColumn(family, null);
    if (familyRequest != null) {
      String previousQualifier = null;
      final KijiResult<T> narrowView = mResult.narrowView(column);
      for (final KijiCell<T> cell : narrowView) {
        final String qualifier = cell.getColumn().getQualifier();
View Full Code Here

        family);

    final NavigableMap<String, KijiCell<T>> qualifiers = Maps.newTreeMap();
    final Collection<Column> columnRequests = mResult.getDataRequest().getColumns();

    final Column familyRequest = mResult.getDataRequest().getRequestForColumn(family, null);
    if (familyRequest != null) {
      String previousQualifier = null;
      for (final KijiCell<T> cell : mResult.<T>narrowView(column)) {
        final String qualifier = cell.getColumn().getQualifier();
        if (!qualifier.equals(previousQualifier)) {
View Full Code Here

      final String family,
      final String qualifier
  ) throws KijiColumnPagingNotEnabledException {
    final KijiColumnName column = KijiColumnName.create(family, qualifier);

    final Column columnRequest = mResult.getDataRequest().getRequestForColumn(column);

    Preconditions.checkNotNull(columnRequest,
        "Requested column %s is not included in the data request %s.",
        column, mResult.getDataRequest());

    if (!columnRequest.isPagingEnabled()) {
      throw new KijiColumnPagingNotEnabledException(
          String.format("Requested column %s does not have paging enabled in data request %s.",
          column, mResult.getDataRequest()));
    }
View Full Code Here

    Preconditions.checkState(mLayout.getFamilyMap().get(family).isMapType(),
        "getPager(String family) is only enabled on map type column families. "
            + "The column family '%s' is a group type column family. "
            + "Please use the getPager(String family, String qualifier) method.", family);

    final Column columnRequest = mResult.getDataRequest().getColumn(column);
    Preconditions.checkNotNull(columnRequest,
        "Requested column %s is not included in the data request %s.",
        column, mResult.getDataRequest());

    if (!columnRequest.isPagingEnabled()) {
      throw new KijiColumnPagingNotEnabledException(
          String.format("Requested column %s does not have paging enabled in data request %s.",
              column, mResult.getDataRequest()));
    }
View Full Code Here

      KijiColumnName colName,
      CellDecoderProvider cellDecoderProvider)
      throws KijiColumnPagingNotEnabledException {
    Preconditions.checkArgument(colName.isFullyQualified());

    Column columnRequest = dataRequest.getColumn(colName.getFamily(), colName.getQualifier());
    if (columnRequest == null) {
      // There is no data request for this fully-qualified column.
      // However, paging is allowed if this column belongs to a map-type family with paging enabled.
      columnRequest = dataRequest.getColumn(colName.getFamily(), null);
      Preconditions.checkArgument(columnRequest != null,
View Full Code Here

TOP

Related Classes of org.kiji.schema.KijiDataRequest.Column

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.