package de.twenty11.skysail.server.ext.jgit; import java.util.HashMap; import java.util.Map; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import org.codehaus.jackson.annotate.JsonIgnore; import de.twenty11.skysail.common.Presentable; import de.twenty11.skysail.common.PresentableHeader; import de.twenty11.skysail.common.forms.Field; import de.twenty11.skysail.common.forms.Form; @Form(name = "LocalRepositoryForm") @Entity public class LocalRepositoryDescriptor implements Presentable { @Id @GeneratedValue @JsonIgnore private int pid;// primary key for db public int getPid() { return this.pid; } @Field @Pattern(regexp = "^[a-zA-Z0-9]+$", message = "name must only contain letters or digits.") @NotNull(message = "Name is mandatory") private String name; @Field @NotNull(message = "Path is mandatory") private String path; public LocalRepositoryDescriptor() { // To change body of created methods use File | Settings | File Templates. } public LocalRepositoryDescriptor(String name, String path) { this.name = name; this.path = path; } public String getPath() { return path; } public String getName() { return name; } @Override public PresentableHeader getHeader() { return new PresentableHeader.Builder(name).setLink("repos/" + name + "/listdir/").build(); } @Override @JsonIgnore public Map<String, Object> getContent() { Map<String, Object> results = new HashMap<String, Object>(); results.put("path", path); return results; } }