Source code file content

Revision: 459 (of 459)

css & weld tests
» Project Revision History

» Checkout URL

arena / arena-model / src / main / java / com / kenai / puj / arena / model / entity / PujCompetitionEntity.java

Size: 3457 bytes, 1 line
package com.kenai.puj.arena.model.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlRootElement;

@NamedQueries( {
		@NamedQuery(name = PujCompetitionEntity.FIND_BY_COMPETITION_NAME, query = "SELECT c FROM PujCompetitionEntity c WHERE c.name=:"
				+ PujCompetitionEntity.PARAM_COMPETITION_NAME),
		@NamedQuery(name = PujCompetitionEntity.FIND_BY_INSTITUTION, query = "SELECT roles.competition FROM PujInstitutionRoles roles JOIN roles.institution inst WHERE inst.acronym=:"
				+ PujCompetitionEntity.PARAM_INSTITUTION_ACRONYM) })
@XmlRootElement
@Entity
public class PujCompetitionEntity extends PujAbstractRootEntity {
	private static final long serialVersionUID = PujAbstractEntity.serialVersionUID;

	/**
	 * Searches for an user by his email or by his login. Parameters:
	 * <ul>
	 * <li><code>UserEntity.PARAM_GROUP_ID</code>: the id of the institution
	 * that contains competitions</li>
	 * </ul>
	 */
	public static final String FIND_BY_COMPETITION_NAME = "findCompetitionByName";
	public static final String FIND_BY_INSTITUTION = "findCompetitionByInstitution";
	public static final String PARAM_COMPETITION_NAME = "pujName";
	public static final String PARAM_INSTITUTION_ACRONYM = "institutionAcronym";

	public static final String NAME = "name";

	/**
	 *<ul>
	 * <li>{@value CompetitionStatus#NEW} phase means an empty competition, non
	 * insertable and waiting further configurations.</li>
	 * <li>Homework submissions are only accepted during the
	 * {@value CompetitionStatus#CALL_FOR_PAPERS} phase</li>
	 * <li>Homework grades only accepted during the
	 * {@value CompetitionStatus#EVALUATION} phase</li>
	 * <li>Once {@value CompetitionStatus#HISTORY}, no more changes in the
	 * database are accepted</li>
	 * </ul>
	 */
	@XmlEnum(String.class)
	public enum CompetitionStatus {
		@XmlEnumValue("NEW")
		NEW, @XmlEnumValue("CALL_FOR_PAPERS")
		CALL_FOR_PAPERS, @XmlEnumValue("EVALUATION")
		EVALUATION, @XmlEnumValue("HISTORY")
		HISTORY
	}

	@XmlAttribute
	@Id
	@Column(name = NAME, length = 12)
	public String name;

	/**
	 * @see <a
	 *      href="http://www.summa-tech.com/blog/2009/02/24/speed-up-xml-programming-with-jaxb/">Speed
	 *      up XML programming with JAXB</a> TODO: why it do not serialize ?
	 */
	// @Column(columnDefinition = "VARCHAR(20) NOT NULL DEFAULT 'NEW'")
	@XmlAttribute
	@Enumerated(EnumType.STRING)
	@Column(columnDefinition = "VARCHAR(20) DEFAULT 'NEW'")
	public CompetitionStatus status;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public PujCompetitionEntity.CompetitionStatus getStatus() {
		return status;
	}

	public void setStatus(PujCompetitionEntity.CompetitionStatus status) {
		this.status = status;
	}

	@Override
	public boolean equals(Object arg0) {
		if (arg0 == null || !(arg0 instanceof PujCompetitionEntity)) {
			return false;
		}
		return ((PujCompetitionEntity) arg0).getVersion() == this.getVersion()
				&& ((PujCompetitionEntity) arg0).getName().equals(
						this.getName());
	}

	@Override
	public int hashCode() {
		return getVersion();
	}
}
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20100226.3083a24)
 
 
loading
Please Confirm