Dagens kata

This commit is contained in:
2015-05-11 16:32:11 +02:00
parent a776f7d403
commit f3d4612069
22 changed files with 765 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
package data;
import java.util.ArrayList;
import java.util.List;
import tree.Visitable;
import tree.Visitor;
public class Session implements Visitable {
private List<Partition> partitions = new ArrayList<>();
public void addPartition(Partition partition) {
partitions.add(partition);
}
public void printInfo() {
Logging.out.println("Session:");
for (Partition p : partitions) {
p.printInfo();
}
}
public Session load() {
Visitor visitor = new LoadVisitor();
accept(visitor);
return this;
}
public Session refresh() {
// for (Partition p : partitions) {
// p.refresh();
// }
Visitor visitor = new RefreshVisitor();
return this;
}
public int getLatestCommitId() {
int latestCommitId = 0;
for (Partition p : partitions) {
int partitionCommitId = p.getLatestCommitId();
if (partitionCommitId > latestCommitId) {
latestCommitId = partitionCommitId;
}
}
return latestCommitId;
}
public int getSize() {
int totalSize = 0;
for (Partition p : partitions) {
totalSize += p.getSize();
}
return totalSize;
}
@Override
public void accept(Visitor visitor) {
visitor.handle(this);
for (Partition p : partitions) {
p.accept(visitor);
}
}
}