package scrum.server.files; import ilarkesto.base.time.DateAndTime; import ilarkesto.fp.Predicate; import scrum.server.project.Project; public class FileDao extends GFileDao { public File getFilesByName(final String filename, final Project project) { return getEntity(new Predicate<File>() { public boolean test(File e) { return e.isProject(project) && e.isFilename(filename); } }); } public File getFileByNumber(final int number, final Project project) { return getEntity(new Predicate<File>() { public boolean test(File t) { return t.isNumber(number) && t.isProject(project); } }); } public File postFile(java.io.File f, Project project) { File file = newEntityInstance(); file.setProject(project); file.setFilename(f.getName()); file.setLabel(createLabel(f)); file.setUploadTime(DateAndTime.now()); file.updateNumber(); saveEntity(file); return file; } private String createLabel(java.io.File file) { String label = file.getName(); int idx = label.lastIndexOf('.'); if (idx > 0) { label = label.substring(0, idx); } return label; } }