@Override
public Branch newBranch(Branch branch) {
try {
int id = dbCreate(
"INSERT INTO BRANCHES(PROJECTID, NAME, DESCRIPTION, DISABLED, CREATION, CREATOR) VALUES (:projectId, :name, :description, :disabled, :creation, :creator)",
params("name", branch.getName())
.addValue("description", branch.getDescription())
.addValue("disabled", branch.isDisabled())
.addValue("projectId", branch.getProject().id())
.addValue("creation", dateTimeForDB(branch.getSignature().getTime()))
.addValue("creator", branch.getSignature().getUser().getName())
);
return branch.withId(id(id));
} catch (DuplicateKeyException ex) {
throw new BranchNameAlreadyDefinedException(branch.getName());
}
}