@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof DatabaseVersion)) { return false; } DatabaseVersion other = (DatabaseVersion) obj; if (header == null) { if (other.header != null) { return false; } } else if (!header.equals(other.header)) { return false; } return true; }
public DatabaseBranch findWinnersApplyBranch(DatabaseBranch losersBranch, DatabaseBranch winnersBranch) { logger.log(Level.INFO, "Finding winnersApplyBranch."); logger.log(Level.INFO, "Losers Branch: " + losersBranch); logger.log(Level.INFO, "Winners Branch: " + winnersBranch); DatabaseBranch winnersApplyBranch = new DatabaseBranch(); boolean applyBranchStarted = false; for (int i = 0; i < winnersBranch.size(); i++) { if (!applyBranchStarted) { if (i >= losersBranch.size() || !losersBranch.get(i).equals(winnersBranch.get(i))) { applyBranchStarted = true; } } if (applyBranchStarted) { winnersApplyBranch.add(winnersBranch.get(i)); } } return winnersApplyBranch; }
DatabaseVersionHeader currentBranchLastDatabaseVersionHeader = currentBranch.getLast(); if (winningLastDatabaseVersionHeader.equals(currentBranchLastDatabaseVersionHeader)) { return new AbstractMap.SimpleEntry<String, DatabaseBranch>(currentClient, winnersBranch);
public DatabaseBranch findLosersPruneBranch(DatabaseBranch losersBranch, DatabaseBranch winnersBranch) { DatabaseBranch losersPruneBranch = new DatabaseBranch(); boolean pruneBranchStarted = false; for (int i = 0; i < losersBranch.size(); i++) { if (pruneBranchStarted) { losersPruneBranch.add(losersBranch.get(i)); } else if (i < winnersBranch.size() && !losersBranch.get(i).equals(winnersBranch.get(i))) { pruneBranchStarted = true; losersPruneBranch.add(losersBranch.get(i)); } } return losersPruneBranch; }