package de.twenty11.skysail.server.ext.jenkins; import java.util.Collections; import java.util.Map; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.PersistenceUnit; 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 = "JenkinsForm") @Entity @PersistenceUnit(name = "JenkinsPU") public class JenkinsDetails implements Presentable { @Id @GeneratedValue @JsonIgnore private int pid;// primary key for db public int getPid() { return this.pid; } @Field @NotNull(message = "Name is mandatory") @Pattern(regexp = "^[a-zA-Z0-9]+$") private String name = ""; @Field @NotNull(message = "Location is mandatory") private String location = ""; public JenkinsDetails(String name, String location) { this.name = name; this.location = location; } public JenkinsDetails() { } public void setLocation(String location) { this.location = location; } public String getLocation() { return location; } public void setName(String name) { this.name = name; } public String getName() { return name; } @Override @JsonIgnore public PresentableHeader getHeader() { return new PresentableHeader.Builder(name).setLink("installation/" + name + "/jobs").setImage("icon-bold") .build(); } @Override @JsonIgnore public Map<String, Object> getContent() { return Collections.emptyMap(); } }