Ejemplo n.º 1
0
  public static DatabaseVersionHeader createFromString(String databaseVersionHeaderString)
      throws Exception {
    Matcher databaseVersionHeaderMatcher =
        databaseVersionHeaderPattern.matcher(databaseVersionHeaderString);

    if (!databaseVersionHeaderMatcher.matches()) {
      throw new Exception("Invalid database version header string: " + databaseVersionHeaderString);
    }

    String client = databaseVersionHeaderMatcher.group(1);
    String vectorClockString = databaseVersionHeaderMatcher.group(2);
    long databaseVersionHeaderTime = Long.parseLong(databaseVersionHeaderMatcher.group(3));

    VectorClock vectorClock = createVectorClock(vectorClockString);

    DatabaseVersionHeader newDatabaseVersionHeader = new DatabaseVersionHeader();

    newDatabaseVersionHeader.setDate(new Date(databaseVersionHeaderTime));
    newDatabaseVersionHeader.setVectorClock(vectorClock);
    newDatabaseVersionHeader.setClient(client);

    return newDatabaseVersionHeader;
  }