@Override
public Build newBuild(Build build) {
try {
int id = dbCreate(
"INSERT INTO BUILDS(BRANCHID, NAME, DESCRIPTION, CREATION, CREATOR) VALUES (:branchId, :name, :description, :creation, :creator)",
params("name", build.getName())
.addValue("description", build.getDescription())
.addValue("branchId", build.getBranch().id())
.addValue("creation", dateTimeForDB(build.getSignature().getTime()))
.addValue("creator", build.getSignature().getUser().getName())
);
return build.withId(id(id));
} catch (DuplicateKeyException ex) {
throw new BuildNameAlreadyDefinedException(build.getName());
}
}