Package org.kiji.schema.layout.KijiTableLayout.LocalityGroupLayout.FamilyLayout

Examples of org.kiji.schema.layout.KijiTableLayout.LocalityGroupLayout.FamilyLayout.ColumnLayout


  public void testAddColumn() throws Exception {
    final KijiTableLayout layout1 = KijiTableLayout.newLayout(getLayoutV1Desc());
    {
      final FamilyLayout fLayout1 = layout1.getFamilyMap().get("family_name");
      assertEquals(1, fLayout1.getId().getId());
      final ColumnLayout c1Layout1 = fLayout1.getColumnMap().get("column_name");
      assertEquals(1, c1Layout1.getId().getId());
    }

    final KijiTableLayout layout2 = KijiTableLayout.createUpdatedLayout(getLayoutV2Desc(), layout1);
    {
      final FamilyLayout fLayout2 = layout2.getFamilyMap().get("family_name");
      assertEquals(1, fLayout2.getId().getId());
      final ColumnLayout c1Layout2 = fLayout2.getColumnMap().get("column_name");
      assertEquals(1, c1Layout2.getId().getId());
      final ColumnLayout c2Layout2 = fLayout2.getColumnMap().get("second_column_name");
      assertEquals(2, c2Layout2.getId().getId());
    }

    final KijiTableLayout layout3 = KijiTableLayout.createUpdatedLayout(getLayoutV3Desc(), layout2);
    {
      final FamilyLayout fLayout3 = layout3.getFamilyMap().get("family_name");
      assertEquals(1, fLayout3.getId().getId());
      assertEquals(1, fLayout3.getColumnMap().size());
      final ColumnLayout c2Layout3 = fLayout3.getColumnMap().get("second_column_name");
      assertEquals(2, c2Layout3.getId().getId());
    }

    final KijiTableLayout layout4 = KijiTableLayout.createUpdatedLayout(getLayoutV4Desc(), layout3);
    {
      final FamilyLayout fLayout4 = layout4.getFamilyMap().get("family_name");
      assertEquals(1, fLayout4.getId().getId());
      assertEquals(2, fLayout4.getColumnMap().size());
      final ColumnLayout c2Layout4 = fLayout4.getColumnMap().get("second_column_name");
      assertEquals(2, c2Layout4.getId().getId());
      final ColumnLayout c3Layout4 = fLayout4.getColumnMap().get("third_column_name");
      assertEquals(1, c3Layout4.getId().getId());
    }
  }
View Full Code Here


  @Test
  public void testReference() throws Exception {
    final FamilyLayout fLayout = mRefLayout.getFamilyMap().get("family_name");
    assertEquals(1, fLayout.getId().getId());
    final ColumnLayout cLayout = fLayout.getColumnMap().get("column_name");
    assertEquals(1, cLayout.getId().getId());
  }
View Full Code Here

    assertEquals(1, layout2.getFamilies().size());
    assertNull(layout2.getFamilyMap().get("family_name"));
    final FamilyLayout fLayout2 = layout2.getFamilyMap().get("renamed_family_name");
    assertEquals(1, fLayout2.getColumns().size());
    assertEquals(1, fLayout2.getColumnMap().size());
    final ColumnLayout cLayout2 = fLayout2.getColumnMap().get("column_name");
    assertNotNull(cLayout2);
  }
View Full Code Here

          if (isRename && (reference == null)) {
            throw new InvalidLayoutException(String.format(
                "Invalid renaming: cannot find reference family for column '%s:%s'.",
                getName(), refCName));
          }
          final ColumnLayout refCLayout =
              (reference != null) ? reference.getColumnMap().get(refCName) : null;
          if (isRename && (refCLayout == null)) {
            throw new InvalidLayoutException(String.format(
                "Invalid renaming: cannot find column '%s:%s' in reference family.",
                getName(), refCName));
          }

          final ColumnId refCId = refCIdMap.remove(refCName);

          if (columnDesc.getDelete()) {
            if (refCId == null) {
              throw new InvalidLayoutException(String.format(
                  "Deleted column '%s:%s' does not exist in reference layout.",
                  mDesc.getName(), refCName));
            }
            itColumnDesc.remove();
            continue;
          }

          final ColumnLayout cLayout = new ColumnLayout(columnDesc, refCLayout);
          columns.add(cLayout);
          for (String columnName : cLayout.getNames()) {
            if (null != columnMap.put(columnName, cLayout)) {
                throw new InvalidLayoutException(String.format(
                    "Family '%s' contains duplicate column qualifier '%s'.",
                    getName(), columnName));
            }
          }
          if (cLayout.getId() != null) {
            final String previous = idMap.put(cLayout.getId(), cLayout.getName());
            Preconditions.checkState(previous == null,
                String.format("Duplicate column ID '%s' associated to '%s' and '%s'.",
                    cLayout.getId(), cLayout.getName(), previous));
          } else {
            unassigned.add(cLayout);
          }
        }
View Full Code Here

            for (ColumnLayout columnLayout : flayout.getColumns()) {
              final CellSchema cellSchema = columnLayout.getDesc().getColumnSchema();

              final String refColumnName =
                  refFamilyLayout.getColumnIdNameMap().get(columnLayout.getId());
              ColumnLayout refColumnLayout = null;
              if (refColumnName != null) {
                // If there is a column from the reference layout with the same column ID, get its
                // layout.
                refColumnLayout = refFamilyLayout.getColumnMap().get(refColumnName);
              }
              // If there is a column from the reference layout with the same column ID, get its
              // CellSchema.
              final CellSchema refCellSchema =
                  (refColumnLayout == null) ? null : refColumnLayout.getDesc().getColumnSchema();

              // If there is no matching column, refCellSchema will be null and this will only test
              // that the new reader and writer schemas are internally compatible.
              incompatabilityMessages.addAll(addColumnNamestoIncompatibilityMessages(
                  flayout.getName(),
View Full Code Here

    final KijiColumnName kijiColumnName;
    if (family.isGroupType()) {
      // Group type family.
      final ColumnId qualifierID = ColumnId.fromByteArray(cassandraColumnName.getQualifier());
      final ColumnLayout qualifier =
          family.getColumnMap().get(family.getColumnIdNameMap().get(qualifierID));
      if (qualifier == null) {
        throw new NoSuchColumnException(String.format(
            "No column with ID %s in family %s of table %s.",
            qualifierID.getId(), family.getName(), mLayout.getName()));
      }
      kijiColumnName = KijiColumnName.create(family.getName(), qualifier.getName());
    } else {
      // Map type family.
      assert(family.isMapType());
      kijiColumnName =
          KijiColumnName.create(
View Full Code Here

            // User specified a group-type family, but no qualifier.  Include all qualifiers.
            for (ColumnLayout column : family.getColumns()) {
              addColumn(family, column, familyMap);
            }
          } else {
            final ColumnLayout column = family.getColumnMap().get(rawColumn.getQualifier());
            if (null == column) {
              throw new RuntimeException(String.format(
                  "No column '%s' in table '%s'.", rawColumn, layout.getName()));
            }
            addColumn(family, column, familyMap);
View Full Code Here

    }

    if (family.isGroupType()) {
      // Group type family.
      final ColumnId qualifierID = ColumnId.fromString(rawQualifier);
      final ColumnLayout qualifier =
          family.getColumnMap().get(family.getColumnIdNameMap().get(qualifierID));
      if (qualifier == null) {
        throw new NoSuchColumnException(String.format(
            "No column with ID %s in family %s of table %s.",
            qualifierID.getId(), family.getName(), mLayout.getName()));
      }
      final KijiColumnName kijiColumnName =
          new KijiColumnName(family.getName(), qualifier.getName());
      LOG.debug("Translated to Kiji group column {}.", kijiColumnName);
      return kijiColumnName;
    } else {
      // Map type family.
      assert family.isMapType();
View Full Code Here

      throw new NoSuchColumnException(String.format("No family %s in layout for table %s.",
          familyName, mLayout.getName()));
    }

    // Validate that the qualifier exists
    final ColumnLayout qualifier = family.getColumnMap().get(qualifierName);
    if (qualifier == null) {
      throw new NoSuchColumnException(String.format("No qualifier %s in family %s of table %s.",
          qualifierName, familyName, mLayout.getName()));
    }
View Full Code Here

      if (familyLayout == null) {
        throw new IllegalArgumentException(
            String.format("Unknown family '%s' in table %s.", family, tableURI));
      }

      final ColumnLayout columnLayout = familyLayout.getColumnMap().get(qualifier);
      if (columnLayout == null) {
        throw new IllegalArgumentException(
            String.format("Unknown qualifier '%s' in family '%s' of table %s.",
                qualifier, family, tableURI));
      }

      if (columnLayout.getDesc().getColumnSchema().getType() == SchemaType.COUNTER) {
        throw new UnsupportedOperationException(
            "Cassandra Kiji does not support puts to counter columns.");
      }

      final ColumnId localityGroupId = familyLayout.getLocalityGroup().getId();
View Full Code Here

TOP

Related Classes of org.kiji.schema.layout.KijiTableLayout.LocalityGroupLayout.FamilyLayout.ColumnLayout

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.