Ejemplo n.º 1
0
  static void isFreeDbkeyPosition(SchemaRecord record, short dbkeyPosition) {

    for (OwnerRole ownerRole : record.getOwnerRoles()) {
      if (dbkeyPosition == ownerRole.getNextDbkeyPosition()
          || ownerRole.getPriorDbkeyPosition() != null
              && dbkeyPosition == ownerRole.getPriorDbkeyPosition().shortValue()) {

        throw new RuntimeException(MSG_DBKEY_OVERLAPS);
      }
    }

    for (MemberRole memberRole : record.getMemberRoles()) {
      if (memberRole.getIndexDbkeyPosition() != null
              && dbkeyPosition == memberRole.getIndexDbkeyPosition().shortValue()
          || memberRole.getNextDbkeyPosition() != null
              && dbkeyPosition == memberRole.getNextDbkeyPosition().shortValue()
          || memberRole.getOwnerDbkeyPosition() != null
              && dbkeyPosition == memberRole.getOwnerDbkeyPosition().shortValue()
          || memberRole.getPriorDbkeyPosition() != null
              && dbkeyPosition == memberRole.getPriorDbkeyPosition().shortValue()) {

        throw new RuntimeException(MSG_DBKEY_OVERLAPS);
      }
    }
  }