// ----------> GENERATED FILE - DON'T TOUCH! <----------
// generator: ilarkesto.mda.legacy.generator.EntityGenerator
package scrum.server.sprint;
import java.util.*;
import ilarkesto.persistence.*;
import ilarkesto.core.logging.Log;
import ilarkesto.base.*;
import ilarkesto.base.time.*;
import ilarkesto.auth.*;
public abstract class GSprint
extends AEntity
implements ilarkesto.auth.ViewProtected<scrum.server.admin.User>, ilarkesto.search.Searchable, java.lang.Comparable<Sprint> {
// --- AEntity ---
public final SprintDao getDao() {
return sprintDao;
}
protected void repairDeadDatob(ADatob datob) {
}
@Override
public void storeProperties(Map properties) {
super.storeProperties(properties);
properties.put("number", this.number);
properties.put("projectId", this.projectId);
properties.put("label", this.label);
properties.put("goal", this.goal);
properties.put("begin", this.begin == null ? null : this.begin.toString());
properties.put("end", this.end == null ? null : this.end.toString());
properties.put("velocity", this.velocity);
properties.put("completedRequirementLabels", this.completedRequirementLabels);
properties.put("planningNote", this.planningNote);
properties.put("reviewNote", this.reviewNote);
properties.put("retrospectiveNote", this.retrospectiveNote);
properties.put("productOwnersIds", this.productOwnersIds);
properties.put("scrumMastersIds", this.scrumMastersIds);
properties.put("teamMembersIds", this.teamMembersIds);
}
public int compareTo(Sprint other) {
return toString().toLowerCase().compareTo(other.toString().toLowerCase());
}
private static final ilarkesto.core.logging.Log LOG = ilarkesto.core.logging.Log.get(GSprint.class);
public static final String TYPE = "sprint";
// -----------------------------------------------------------
// - Searchable
// -----------------------------------------------------------
public boolean matchesKey(String key) {
if (super.matchesKey(key)) return true;
if (matchesKey(getLabel(), key)) return true;
if (matchesKey(getGoal(), key)) return true;
if (matchesKey(getCompletedRequirementLabels(), key)) return true;
if (matchesKey(getPlanningNote(), key)) return true;
if (matchesKey(getReviewNote(), key)) return true;
if (matchesKey(getRetrospectiveNote(), key)) return true;
return false;
}
// -----------------------------------------------------------
// - number
// -----------------------------------------------------------
private int number;
public final int getNumber() {
return number;
}
public final void setNumber(int number) {
number = prepareNumber(number);
if (isNumber(number)) return;
this.number = number;
fireModified("number="+number);
}
protected int prepareNumber(int number) {
return number;
}
public final boolean isNumber(int number) {
return this.number == number;
}
protected final void updateNumber(Object value) {
setNumber((Integer)value);
}
// -----------------------------------------------------------
// - project
// -----------------------------------------------------------
private String projectId;
private transient scrum.server.project.Project projectCache;
private void updateProjectCache() {
projectCache = this.projectId == null ? null : (scrum.server.project.Project)projectDao.getById(this.projectId);
}
public final String getProjectId() {
return this.projectId;
}
public final scrum.server.project.Project getProject() {
if (projectCache == null) updateProjectCache();
return projectCache;
}
public final void setProject(scrum.server.project.Project project) {
project = prepareProject(project);
if (isProject(project)) return;
this.projectId = project == null ? null : project.getId();
projectCache = project;
fireModified("project="+project);
}
protected scrum.server.project.Project prepareProject(scrum.server.project.Project project) {
return project;
}
protected void repairDeadProjectReference(String entityId) {
if (this.projectId == null || entityId.equals(this.projectId)) {
repairMissingMaster();
}
}
public final boolean isProjectSet() {
return this.projectId != null;
}
public final boolean isProject(scrum.server.project.Project project) {
if (this.projectId == null && project == null) return true;
return project != null && project.getId().equals(this.projectId);
}
protected final void updateProject(Object value) {
setProject(value == null ? null : (scrum.server.project.Project)projectDao.getById((String)value));
}
// -----------------------------------------------------------
// - label
// -----------------------------------------------------------
private java.lang.String label;
public final java.lang.String getLabel() {
return label;
}
public final void setLabel(java.lang.String label) {
label = prepareLabel(label);
if (isLabel(label)) return;
this.label = label;
fireModified("label="+label);
}
protected java.lang.String prepareLabel(java.lang.String label) {
label = Str.removeUnreadableChars(label);
return label;
}
public final boolean isLabelSet() {
return this.label != null;
}
public final boolean isLabel(java.lang.String label) {
if (this.label == null && label == null) return true;
return this.label != null && this.label.equals(label);
}
protected final void updateLabel(Object value) {
setLabel((java.lang.String)value);
}
// -----------------------------------------------------------
// - goal
// -----------------------------------------------------------
private java.lang.String goal;
public final java.lang.String getGoal() {
return goal;
}
public final void setGoal(java.lang.String goal) {
goal = prepareGoal(goal);
if (isGoal(goal)) return;
this.goal = goal;
fireModified("goal="+goal);
}
protected java.lang.String prepareGoal(java.lang.String goal) {
goal = Str.removeUnreadableChars(goal);
return goal;
}
public final boolean isGoalSet() {
return this.goal != null;
}
public final boolean isGoal(java.lang.String goal) {
if (this.goal == null && goal == null) return true;
return this.goal != null && this.goal.equals(goal);
}
protected final void updateGoal(Object value) {
setGoal((java.lang.String)value);
}
// -----------------------------------------------------------
// - begin
// -----------------------------------------------------------
private ilarkesto.base.time.Date begin;
public final ilarkesto.base.time.Date getBegin() {
return begin;
}
public final void setBegin(ilarkesto.base.time.Date begin) {
begin = prepareBegin(begin);
if (isBegin(begin)) return;
this.begin = begin;
fireModified("begin="+begin);
}
protected ilarkesto.base.time.Date prepareBegin(ilarkesto.base.time.Date begin) {
return begin;
}
public final boolean isBeginSet() {
return this.begin != null;
}
public final boolean isBegin(ilarkesto.base.time.Date begin) {
if (this.begin == null && begin == null) return true;
return this.begin != null && this.begin.equals(begin);
}
protected final void updateBegin(Object value) {
value = value == null ? null : new ilarkesto.base.time.Date((String)value);
setBegin((ilarkesto.base.time.Date)value);
}
// -----------------------------------------------------------
// - end
// -----------------------------------------------------------
private ilarkesto.base.time.Date end;
public final ilarkesto.base.time.Date getEnd() {
return end;
}
public final void setEnd(ilarkesto.base.time.Date end) {
end = prepareEnd(end);
if (isEnd(end)) return;
this.end = end;
fireModified("end="+end);
}
protected ilarkesto.base.time.Date prepareEnd(ilarkesto.base.time.Date end) {
return end;
}
public final boolean isEndSet() {
return this.end != null;
}
public final boolean isEnd(ilarkesto.base.time.Date end) {
if (this.end == null && end == null) return true;
return this.end != null && this.end.equals(end);
}
protected final void updateEnd(Object value) {
value = value == null ? null : new ilarkesto.base.time.Date((String)value);
setEnd((ilarkesto.base.time.Date)value);
}
// -----------------------------------------------------------
// - velocity
// -----------------------------------------------------------
private java.lang.Float velocity;
public final java.lang.Float getVelocity() {
return velocity;
}
public final void setVelocity(java.lang.Float velocity) {
velocity = prepareVelocity(velocity);
if (isVelocity(velocity)) return;
this.velocity = velocity;
fireModified("velocity="+velocity);
}
protected java.lang.Float prepareVelocity(java.lang.Float velocity) {
return velocity;
}
public final boolean isVelocitySet() {
return this.velocity != null;
}
public final boolean isVelocity(java.lang.Float velocity) {
if (this.velocity == null && velocity == null) return true;
return this.velocity != null && this.velocity.equals(velocity);
}
protected final void updateVelocity(Object value) {
setVelocity((java.lang.Float)value);
}
// -----------------------------------------------------------
// - completedRequirementLabels
// -----------------------------------------------------------
private java.lang.String completedRequirementLabels;
public final java.lang.String getCompletedRequirementLabels() {
return completedRequirementLabels;
}
public final void setCompletedRequirementLabels(java.lang.String completedRequirementLabels) {
completedRequirementLabels = prepareCompletedRequirementLabels(completedRequirementLabels);
if (isCompletedRequirementLabels(completedRequirementLabels)) return;
this.completedRequirementLabels = completedRequirementLabels;
fireModified("completedRequirementLabels="+completedRequirementLabels);
}
protected java.lang.String prepareCompletedRequirementLabels(java.lang.String completedRequirementLabels) {
completedRequirementLabels = Str.removeUnreadableChars(completedRequirementLabels);
return completedRequirementLabels;
}
public final boolean isCompletedRequirementLabelsSet() {
return this.completedRequirementLabels != null;
}
public final boolean isCompletedRequirementLabels(java.lang.String completedRequirementLabels) {
if (this.completedRequirementLabels == null && completedRequirementLabels == null) return true;
return this.completedRequirementLabels != null && this.completedRequirementLabels.equals(completedRequirementLabels);
}
protected final void updateCompletedRequirementLabels(Object value) {
setCompletedRequirementLabels((java.lang.String)value);
}
// -----------------------------------------------------------
// - planningNote
// -----------------------------------------------------------
private java.lang.String planningNote;
public final java.lang.String getPlanningNote() {
return planningNote;
}
public final void setPlanningNote(java.lang.String planningNote) {
planningNote = preparePlanningNote(planningNote);
if (isPlanningNote(planningNote)) return;
this.planningNote = planningNote;
fireModified("planningNote="+planningNote);
}
protected java.lang.String preparePlanningNote(java.lang.String planningNote) {
planningNote = Str.removeUnreadableChars(planningNote);
return planningNote;
}
public final boolean isPlanningNoteSet() {
return this.planningNote != null;
}
public final boolean isPlanningNote(java.lang.String planningNote) {
if (this.planningNote == null && planningNote == null) return true;
return this.planningNote != null && this.planningNote.equals(planningNote);
}
protected final void updatePlanningNote(Object value) {
setPlanningNote((java.lang.String)value);
}
// -----------------------------------------------------------
// - reviewNote
// -----------------------------------------------------------
private java.lang.String reviewNote;
public final java.lang.String getReviewNote() {
return reviewNote;
}
public final void setReviewNote(java.lang.String reviewNote) {
reviewNote = prepareReviewNote(reviewNote);
if (isReviewNote(reviewNote)) return;
this.reviewNote = reviewNote;
fireModified("reviewNote="+reviewNote);
}
protected java.lang.String prepareReviewNote(java.lang.String reviewNote) {
reviewNote = Str.removeUnreadableChars(reviewNote);
return reviewNote;
}
public final boolean isReviewNoteSet() {
return this.reviewNote != null;
}
public final boolean isReviewNote(java.lang.String reviewNote) {
if (this.reviewNote == null && reviewNote == null) return true;
return this.reviewNote != null && this.reviewNote.equals(reviewNote);
}
protected final void updateReviewNote(Object value) {
setReviewNote((java.lang.String)value);
}
// -----------------------------------------------------------
// - retrospectiveNote
// -----------------------------------------------------------
private java.lang.String retrospectiveNote;
public final java.lang.String getRetrospectiveNote() {
return retrospectiveNote;
}
public final void setRetrospectiveNote(java.lang.String retrospectiveNote) {
retrospectiveNote = prepareRetrospectiveNote(retrospectiveNote);
if (isRetrospectiveNote(retrospectiveNote)) return;
this.retrospectiveNote = retrospectiveNote;
fireModified("retrospectiveNote="+retrospectiveNote);
}
protected java.lang.String prepareRetrospectiveNote(java.lang.String retrospectiveNote) {
retrospectiveNote = Str.removeUnreadableChars(retrospectiveNote);
return retrospectiveNote;
}
public final boolean isRetrospectiveNoteSet() {
return this.retrospectiveNote != null;
}
public final boolean isRetrospectiveNote(java.lang.String retrospectiveNote) {
if (this.retrospectiveNote == null && retrospectiveNote == null) return true;
return this.retrospectiveNote != null && this.retrospectiveNote.equals(retrospectiveNote);
}
protected final void updateRetrospectiveNote(Object value) {
setRetrospectiveNote((java.lang.String)value);
}
// -----------------------------------------------------------
// - productOwners
// -----------------------------------------------------------
private java.util.Set<String> productOwnersIds = new java.util.HashSet<String>();
public final java.util.Set<scrum.server.admin.User> getProductOwners() {
return (java.util.Set) userDao.getByIdsAsSet(this.productOwnersIds);
}
public final void setProductOwners(Collection<scrum.server.admin.User> productOwners) {
productOwners = prepareProductOwners(productOwners);
if (productOwners == null) productOwners = Collections.emptyList();
java.util.Set<String> ids = getIdsAsSet(productOwners);
if (this.productOwnersIds.equals(ids)) return;
this.productOwnersIds = ids;
fireModified("productOwners="+Str.format(productOwners));
}
protected Collection<scrum.server.admin.User> prepareProductOwners(Collection<scrum.server.admin.User> productOwners) {
return productOwners;
}
protected void repairDeadProductOwnerReference(String entityId) {
if (this.productOwnersIds.remove(entityId)) fireModified("productOwners-=" + entityId);
}
public final boolean containsProductOwner(scrum.server.admin.User productOwner) {
if (productOwner == null) return false;
return this.productOwnersIds.contains(productOwner.getId());
}
public final int getProductOwnersCount() {
return this.productOwnersIds.size();
}
public final boolean isProductOwnersEmpty() {
return this.productOwnersIds.isEmpty();
}
public final boolean addProductOwner(scrum.server.admin.User productOwner) {
if (productOwner == null) throw new IllegalArgumentException("productOwner == null");
boolean added = this.productOwnersIds.add(productOwner.getId());
if (added) fireModified("productOwners+=" + productOwner);
return added;
}
public final boolean addProductOwners(Collection<scrum.server.admin.User> productOwners) {
if (productOwners == null) throw new IllegalArgumentException("productOwners == null");
boolean added = false;
for (scrum.server.admin.User productOwner : productOwners) {
added = added | this.productOwnersIds.add(productOwner.getId());
}
if (added) fireModified("productOwners+="+Str.format(productOwners));
return added;
}
public final boolean removeProductOwner(scrum.server.admin.User productOwner) {
if (productOwner == null) throw new IllegalArgumentException("productOwner == null");
if (this.productOwnersIds == null) return false;
boolean removed = this.productOwnersIds.remove(productOwner.getId());
if (removed) fireModified("productOwners-=" + productOwner);
return removed;
}
public final boolean removeProductOwners(Collection<scrum.server.admin.User> productOwners) {
if (productOwners == null) return false;
if (productOwners.isEmpty()) return false;
boolean removed = false;
for (scrum.server.admin.User _element: productOwners) {
removed = removed | removeProductOwner(_element);
}
if (removed) fireModified("productOwners-="+Str.format(productOwners));
return removed;
}
public final boolean clearProductOwners() {
if (this.productOwnersIds.isEmpty()) return false;
this.productOwnersIds.clear();
fireModified("productOwners cleared");
return true;
}
protected final void updateProductOwners(Object value) {
Collection<String> ids = (Collection<String>) value;
setProductOwners((java.util.Set) userDao.getByIdsAsSet(ids));
}
// -----------------------------------------------------------
// - scrumMasters
// -----------------------------------------------------------
private java.util.Set<String> scrumMastersIds = new java.util.HashSet<String>();
public final java.util.Set<scrum.server.admin.User> getScrumMasters() {
return (java.util.Set) userDao.getByIdsAsSet(this.scrumMastersIds);
}
public final void setScrumMasters(Collection<scrum.server.admin.User> scrumMasters) {
scrumMasters = prepareScrumMasters(scrumMasters);
if (scrumMasters == null) scrumMasters = Collections.emptyList();
java.util.Set<String> ids = getIdsAsSet(scrumMasters);
if (this.scrumMastersIds.equals(ids)) return;
this.scrumMastersIds = ids;
fireModified("scrumMasters="+Str.format(scrumMasters));
}
protected Collection<scrum.server.admin.User> prepareScrumMasters(Collection<scrum.server.admin.User> scrumMasters) {
return scrumMasters;
}
protected void repairDeadScrumMasterReference(String entityId) {
if (this.scrumMastersIds.remove(entityId)) fireModified("scrumMasters-=" + entityId);
}
public final boolean containsScrumMaster(scrum.server.admin.User scrumMaster) {
if (scrumMaster == null) return false;
return this.scrumMastersIds.contains(scrumMaster.getId());
}
public final int getScrumMastersCount() {
return this.scrumMastersIds.size();
}
public final boolean isScrumMastersEmpty() {
return this.scrumMastersIds.isEmpty();
}
public final boolean addScrumMaster(scrum.server.admin.User scrumMaster) {
if (scrumMaster == null) throw new IllegalArgumentException("scrumMaster == null");
boolean added = this.scrumMastersIds.add(scrumMaster.getId());
if (added) fireModified("scrumMasters+=" + scrumMaster);
return added;
}
public final boolean addScrumMasters(Collection<scrum.server.admin.User> scrumMasters) {
if (scrumMasters == null) throw new IllegalArgumentException("scrumMasters == null");
boolean added = false;
for (scrum.server.admin.User scrumMaster : scrumMasters) {
added = added | this.scrumMastersIds.add(scrumMaster.getId());
}
if (added) fireModified("scrumMasters+="+Str.format(scrumMasters));
return added;
}
public final boolean removeScrumMaster(scrum.server.admin.User scrumMaster) {
if (scrumMaster == null) throw new IllegalArgumentException("scrumMaster == null");
if (this.scrumMastersIds == null) return false;
boolean removed = this.scrumMastersIds.remove(scrumMaster.getId());
if (removed) fireModified("scrumMasters-=" + scrumMaster);
return removed;
}
public final boolean removeScrumMasters(Collection<scrum.server.admin.User> scrumMasters) {
if (scrumMasters == null) return false;
if (scrumMasters.isEmpty()) return false;
boolean removed = false;
for (scrum.server.admin.User _element: scrumMasters) {
removed = removed | removeScrumMaster(_element);
}
if (removed) fireModified("scrumMasters-="+Str.format(scrumMasters));
return removed;
}
public final boolean clearScrumMasters() {
if (this.scrumMastersIds.isEmpty()) return false;
this.scrumMastersIds.clear();
fireModified("scrumMasters cleared");
return true;
}
protected final void updateScrumMasters(Object value) {
Collection<String> ids = (Collection<String>) value;
setScrumMasters((java.util.Set) userDao.getByIdsAsSet(ids));
}
// -----------------------------------------------------------
// - teamMembers
// -----------------------------------------------------------
private java.util.Set<String> teamMembersIds = new java.util.HashSet<String>();
public final java.util.Set<scrum.server.admin.User> getTeamMembers() {
return (java.util.Set) userDao.getByIdsAsSet(this.teamMembersIds);
}
public final void setTeamMembers(Collection<scrum.server.admin.User> teamMembers) {
teamMembers = prepareTeamMembers(teamMembers);
if (teamMembers == null) teamMembers = Collections.emptyList();
java.util.Set<String> ids = getIdsAsSet(teamMembers);
if (this.teamMembersIds.equals(ids)) return;
this.teamMembersIds = ids;
fireModified("teamMembers="+Str.format(teamMembers));
}
protected Collection<scrum.server.admin.User> prepareTeamMembers(Collection<scrum.server.admin.User> teamMembers) {
return teamMembers;
}
protected void repairDeadTeamMemberReference(String entityId) {
if (this.teamMembersIds.remove(entityId)) fireModified("teamMembers-=" + entityId);
}
public final boolean containsTeamMember(scrum.server.admin.User teamMember) {
if (teamMember == null) return false;
return this.teamMembersIds.contains(teamMember.getId());
}
public final int getTeamMembersCount() {
return this.teamMembersIds.size();
}
public final boolean isTeamMembersEmpty() {
return this.teamMembersIds.isEmpty();
}
public final boolean addTeamMember(scrum.server.admin.User teamMember) {
if (teamMember == null) throw new IllegalArgumentException("teamMember == null");
boolean added = this.teamMembersIds.add(teamMember.getId());
if (added) fireModified("teamMembers+=" + teamMember);
return added;
}
public final boolean addTeamMembers(Collection<scrum.server.admin.User> teamMembers) {
if (teamMembers == null) throw new IllegalArgumentException("teamMembers == null");
boolean added = false;
for (scrum.server.admin.User teamMember : teamMembers) {
added = added | this.teamMembersIds.add(teamMember.getId());
}
if (added) fireModified("teamMembers+="+Str.format(teamMembers));
return added;
}
public final boolean removeTeamMember(scrum.server.admin.User teamMember) {
if (teamMember == null) throw new IllegalArgumentException("teamMember == null");
if (this.teamMembersIds == null) return false;
boolean removed = this.teamMembersIds.remove(teamMember.getId());
if (removed) fireModified("teamMembers-=" + teamMember);
return removed;
}
public final boolean removeTeamMembers(Collection<scrum.server.admin.User> teamMembers) {
if (teamMembers == null) return false;
if (teamMembers.isEmpty()) return false;
boolean removed = false;
for (scrum.server.admin.User _element: teamMembers) {
removed = removed | removeTeamMember(_element);
}
if (removed) fireModified("teamMembers-="+Str.format(teamMembers));
return removed;
}
public final boolean clearTeamMembers() {
if (this.teamMembersIds.isEmpty()) return false;
this.teamMembersIds.clear();
fireModified("teamMembers cleared");
return true;
}
protected final void updateTeamMembers(Object value) {
Collection<String> ids = (Collection<String>) value;
setTeamMembers((java.util.Set) userDao.getByIdsAsSet(ids));
}
public void updateProperties(Map<?, ?> properties) {
for (Map.Entry entry : properties.entrySet()) {
String property = (String) entry.getKey();
if (property.equals("id")) continue;
Object value = entry.getValue();
if (property.equals("number")) updateNumber(value);
if (property.equals("projectId")) updateProject(value);
if (property.equals("label")) updateLabel(value);
if (property.equals("goal")) updateGoal(value);
if (property.equals("begin")) updateBegin(value);
if (property.equals("end")) updateEnd(value);
if (property.equals("velocity")) updateVelocity(value);
if (property.equals("completedRequirementLabels")) updateCompletedRequirementLabels(value);
if (property.equals("planningNote")) updatePlanningNote(value);
if (property.equals("reviewNote")) updateReviewNote(value);
if (property.equals("retrospectiveNote")) updateRetrospectiveNote(value);
if (property.equals("productOwnersIds")) updateProductOwners(value);
if (property.equals("scrumMastersIds")) updateScrumMasters(value);
if (property.equals("teamMembersIds")) updateTeamMembers(value);
}
}
protected void repairDeadReferences(String entityId) {
super.repairDeadReferences(entityId);
repairDeadProjectReference(entityId);
if (this.productOwnersIds == null) this.productOwnersIds = new java.util.HashSet<String>();
repairDeadProductOwnerReference(entityId);
if (this.scrumMastersIds == null) this.scrumMastersIds = new java.util.HashSet<String>();
repairDeadScrumMasterReference(entityId);
if (this.teamMembersIds == null) this.teamMembersIds = new java.util.HashSet<String>();
repairDeadTeamMemberReference(entityId);
}
// --- ensure integrity ---
public void ensureIntegrity() {
super.ensureIntegrity();
if (!isProjectSet()) {
repairMissingMaster();
return;
}
try {
getProject();
} catch (EntityDoesNotExistException ex) {
LOG.info("Repairing dead project reference");
repairDeadProjectReference(this.projectId);
}
if (this.productOwnersIds == null) this.productOwnersIds = new java.util.HashSet<String>();
Set<String> productOwners = new HashSet<String>(this.productOwnersIds);
for (String entityId : productOwners) {
try {
userDao.getById(entityId);
} catch (EntityDoesNotExistException ex) {
LOG.info("Repairing dead productOwner reference");
repairDeadProductOwnerReference(entityId);
}
}
if (this.scrumMastersIds == null) this.scrumMastersIds = new java.util.HashSet<String>();
Set<String> scrumMasters = new HashSet<String>(this.scrumMastersIds);
for (String entityId : scrumMasters) {
try {
userDao.getById(entityId);
} catch (EntityDoesNotExistException ex) {
LOG.info("Repairing dead scrumMaster reference");
repairDeadScrumMasterReference(entityId);
}
}
if (this.teamMembersIds == null) this.teamMembersIds = new java.util.HashSet<String>();
Set<String> teamMembers = new HashSet<String>(this.teamMembersIds);
for (String entityId : teamMembers) {
try {
userDao.getById(entityId);
} catch (EntityDoesNotExistException ex) {
LOG.info("Repairing dead teamMember reference");
repairDeadTeamMemberReference(entityId);
}
}
}
// -----------------------------------------------------------
// - dependencies
// -----------------------------------------------------------
static scrum.server.project.ProjectDao projectDao;
public static final void setProjectDao(scrum.server.project.ProjectDao projectDao) {
GSprint.projectDao = projectDao;
}
static SprintDao sprintDao;
public static final void setSprintDao(SprintDao sprintDao) {
GSprint.sprintDao = sprintDao;
}
}