package org.tgdb;
import org.tgdb.form.AbstractFormDataManagerFactory;
import org.tgdb.form.FormDataException;
import org.tgdb.form.FormDataManager;
import org.tgdb.frame.WebFormDataManager;
import java.util.ArrayList;
public class TgDbFormDataManagerFactory extends AbstractFormDataManagerFactory {
/**
* Constant field for the typical genotype default values
*/
public final static int GENOTYPE = 0;
public final static int MARKER_FILTER = 1;
public final static int MARKER = 2;
public final static int MARKER_SET_FILTER = 3;
public final static int MARKER_SET_MEMBERSHIP_FILTER = 4;
public final static int MARKER_SET_POSITION_FILTER = 5;
public final static int U_MARKER_FILTER = 6;
public final static int U_MARKER_MAPPING = 7;
public final static int U_MARKER = 8;
public final static int U_MARKER_SET_FILTER = 9;
public final static int U_MARKER_SET_MEMBERSHIP_FILTER = 10;
public final static int U_MARKER_SET_POSITION_FILTER = 11;
public final static int INDIVIDUALS_FILTER = 12;
public final static int FAMILY_GROUPING = 13;
public final static int GROUPING_FILTER = 14;
public final static int GROUP = 15;
public final static int GROUP_MEMBERSHIP_FILTER = 16;
public final static int SAMPLE = 17;
public final static int SAMPLE_FILTER = 18;
public final static int PHENOTYPE = 19;
public final static int VARIABLE_FILTER = 20;
public final static int VARIABLE_SET_FILTER = 21;
public final static int PHENOTYPE_FILTER = 22;
public final static int U_VARIABLE = 23;
public final static int VARIABLE_SET_MEMBERSHIP_FILTER = 24;
public final static int U_VARIABLE_SET_MEMBERSHIP_FILTER = 25;
public final static int U_VARIABLE_SET_FILTER = 26;
public final static int SAMPLINGUNIT_DETAILS = 27;
public final static int EXPMODEL = 28;
public final static int EXPMODELS = 29;
public final static int PHENOTREE = 30;
public final static int FAST_SEARCH = 31;
public final static int ALLELE = 32;
public final static int STRAIN = 33;
public final static int MUTATION_TYPE = 34;
public final static int EXPRESSION_MODEL = 35;
public final static int STRAIN_TYPE = 36;
public final static int STRAIN_STATE = 37;
public final static int GENE = 38;
public final static int STRAIN_ALLELES = 39;
public final static int GENES = 40;
public final static int STRAINS = 41;
private TgDbCaller caller;
/** Creates a new instance of TgDbFormDataManagerFactory */
public TgDbFormDataManagerFactory(TgDbCaller caller) {
super();
this.caller = caller;
initNames();
}
// inits the names of all managers
private static void initNames() {
names = new ArrayList();
names.add("genotype");
names.add("marker_filter");
names.add("marker");
names.add("marker_set_filter");
names.add("marker_set_membership_filter");
names.add("marker_set_position_filter");
names.add("u_marker_filter");
names.add("u_marker_mapping");
names.add("u_marker");
names.add("u_marker_set_filter");
names.add("u_marker_set_membership_filter");
names.add("u_marker_set_position_filter");
names.add("individuals_filter");
names.add("family_grouping");
names.add("grouping_filter");
names.add("group");
names.add("group_membership_filter");
names.add("sample");
names.add("sample_filter");
names.add("phenotype");
names.add("variable_filter");
names.add("variable_set_filter");
names.add("phenotype_filter");
names.add("u_variable");
names.add("variable_set_membership_filter");
names.add("u_variable_set_membership_filter");
names.add("u_variable_set_filter");
names.add("samplingunit_details");
names.add("expmodel");
names.add("expmodels");
names.add("phenotree");
names.add("fast_search");
names.add("allele");
names.add("strain");
names.add("mutation_type");
names.add("expression_model");
names.add("strain_type");
names.add("strain_state");
names.add("gene");
names.add("strain_alleles");
names.add("genes");
names.add("strains");
}
/**
* Creates a new FormDataManager instance with suitable default values.
* @param name The type of WebFormDataManager to create
* @throws org.tgdb.frame.ActionException If the the name could not be recognized
* @return A WebFormDataManager object with default values as specified by the type of WebFormDataManager to build
*/
public FormDataManager createInstance(int name, int type) throws FormDataException {
// Name that will be used when storing session variables,
// eg. tmp.actionName.varName
// Mainly made this way for easy clean-up if desired later on...
if(name > names.size())
throw new FormDataException("FormDataManager name does not exits");
FormDataManager formDataManager = null;
if(type == WEB_FORM)
formDataManager = new WebFormDataManager(false);
else
formDataManager = new FormDataManager(false);
// Default values for the genotype 'create' view
if(name == GENOTYPE){
formDataManager.putDefault("mid", "");
formDataManager.putDefault("iid", "");
formDataManager.putDefault("cid", "");
formDataManager.putDefault("raw1", "");
formDataManager.putDefault("raw2", "");
formDataManager.putDefault("reference", "");
formDataManager.putDefault("comm", "");
formDataManager.putDefault("aid1", "");
formDataManager.putDefault("aid2", "");
formDataManager.putDefault("level", "");
}
// Default values for the marker view filter
else if(name == MARKER_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("cname", "*");
formDataManager.putDefault("name", "");
}
// Default values for the marker create/edit filter
else if(name == MARKER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("mid", "");
formDataManager.putDefault("p1", "");
formDataManager.putDefault("p2", "");
formDataManager.putDefault("name", "");
formDataManager.putDefault("comm", "");
formDataManager.putDefault("position", "");
formDataManager.putDefault("alias", "");
formDataManager.putDefault("cname", "*");
}
// Default values for the marker set view filter
else if(name == MARKER_SET_FILTER) {
formDataManager.putDefault("v.suid", ""+caller.getSuid());
formDataManager.putDefault("v.name", "");
formDataManager.putDefault("v.comm", "");
formDataManager.putDefault("member", "");
}
// Default values for the marker set membership view filter
else if(name == MARKER_SET_MEMBERSHIP_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("cid", "");
formDataManager.putDefault("msid", "");
}
// Default values for the marker set position view filter
else if(name == MARKER_SET_POSITION_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("msid", "");
}
// Default values for the unified marker view filter
else if(name == U_MARKER_FILTER) {
formDataManager.putDefault("sid", ""+caller.getSid());
formDataManager.putDefault("cname", "*");
formDataManager.putDefault("pid", ""+caller.getPid());
}
// Default values for the unified marker mapping
else if(name == U_MARKER_MAPPING) {
formDataManager.putDefault("umid", "");
formDataManager.putDefault("mid", "");
formDataManager.putDefault("cid", "");
}
// Default values for the unified marker create/edit
else if(name == U_MARKER) {
formDataManager.putDefault("name", "");
formDataManager.putDefault("comm", "");
formDataManager.putDefault("cid", "");
formDataManager.putDefault("position", "");
formDataManager.putDefault("alias", "");
formDataManager.putDefault("sid", ""+caller.getSid());
}
// Default values for the unified marker set view filter
else if(name == U_MARKER_SET_FILTER) {
formDataManager.putDefault("v.sid", ""+caller.getSid());
formDataManager.putDefault("v.name", "");
formDataManager.putDefault("v.comm", "");
formDataManager.putDefault("v.pid", ""+caller.getPid());
formDataManager.putDefault("member", "");
}
// Default values for the unified marker set membership view filter
else if(name == U_MARKER_SET_MEMBERSHIP_FILTER) {
formDataManager.putDefault("sid", ""+caller.getSid());
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("umsid", "");
}
// Default values for the unified marker set position view filter
else if(name == U_MARKER_SET_POSITION_FILTER) {
formDataManager.putDefault("sid", ""+caller.getSid());
formDataManager.putDefault("umsid", "");
formDataManager.putDefault("umid", "");
}
// Default values for the individuals view filter
else if(name == INDIVIDUALS_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("sex", "*");
formDataManager.putDefault("father", "");
formDataManager.putDefault("mother", "");
formDataManager.putDefault("alias", "");
formDataManager.putDefault("identity", "");
formDataManager.putDefault("bdatefrom", "");
formDataManager.putDefault("bdateto", "");
formDataManager.putDefault("status", "E");
formDataManager.putDefault("gid", "*");
formDataManager.putDefault("gsid", "*");
formDataManager.putDefault("querytype", "simple");
}
// Default values for the family grouping
else if(name == FAMILY_GROUPING) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("mother", "");
formDataManager.putDefault("father", "");
formDataManager.putDefault("comm", "Auto created from family information. ");
formDataManager.putDefault("name", "");
}
// Default values for the grouping filter
else if(name == GROUPING_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("gsid", "");
}
// Default values for the group
else if(name == GROUP) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("comm", "");
formDataManager.putDefault("name", "");
formDataManager.putDefault("gsid", "");
}
// Default values for the group membership filter
else if(name == GROUP_MEMBERSHIP_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("sex", "*");
formDataManager.putDefault("father", "");
formDataManager.putDefault("mother", "");
formDataManager.putDefault("alias", "");
formDataManager.putDefault("identity", "");
formDataManager.putDefault("bdatefrom", "");
formDataManager.putDefault("bdateto", "");
formDataManager.putDefault("status", "E");
formDataManager.putDefault("gid", "");
formDataManager.putDefault("gsid", "");
}
// Default values for the sample create/update
else if(name == SAMPLE) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("name", "");
formDataManager.putDefault("comm", "");
formDataManager.putDefault("experimenter", "");
formDataManager.putDefault("tissue", "");
formDataManager.putDefault("iid", "");
formDataManager.putDefault("storage", "");
formDataManager.putDefault("date", "");
formDataManager.putDefault("treatment", "");
}
// Default values for the sample view/edit filter
else if(name == SAMPLE_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("name", "");
formDataManager.putDefault("tissue_type", "");
formDataManager.putDefault("identity", "");
formDataManager.putDefault("storage", "");
}
// Default values for the phenotype create/edit filter
else if(name == PHENOTYPE) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("date", "");
formDataManager.putDefault("value", "");
formDataManager.putDefault("comm", "");
formDataManager.putDefault("reference", "");
formDataManager.putDefault("identity", "");
formDataManager.putDefault("variable", "");
}
// Default values for the variable create/edit filter
else if(name == VARIABLE_FILTER) {
formDataManager.putDefault("v.suid", ""+caller.getSuid());
formDataManager.putDefault("v.type", "*");
formDataManager.putDefault("v.name", "");
formDataManager.putDefault("v.unit", "");
formDataManager.putDefault("vs.vsid", "*");
}
// Default values for the variable set create/edit filter
else if(name == VARIABLE_SET_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("vsname", "");
formDataManager.putDefault("vname", "");
}
// Default values for the phenotype view/edit filter
else if(name == PHENOTYPE_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("name", "");
formDataManager.putDefault("identity", "");
}
// Default values for the unified variable view/edit filter
else if(name == U_VARIABLE) {
formDataManager.putDefault("pid", ""+caller.getPid());
formDataManager.putDefault("sid", ""+caller.getSid());
formDataManager.putDefault("type", "*");
formDataManager.putDefault("name", "");
formDataManager.putDefault("unit", "");
}
// Default values for the variable set membership
else if(name == VARIABLE_SET_MEMBERSHIP_FILTER) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("vsid", "");
}
// Default values for the unified variable set membership
else if(name == U_VARIABLE_SET_MEMBERSHIP_FILTER) {
formDataManager.putDefault("sid", ""+caller.getSid());
formDataManager.putDefault("uvsid", "");
}
// Default values for the unified variable set view/edit filter
else if(name == U_VARIABLE_SET_FILTER) {
formDataManager.putDefault("sid", ""+caller.getSid());
formDataManager.putDefault("pid", ""+caller.getPid());
formDataManager.putDefault("vsname", "");
formDataManager.putDefault("vname", "");
}
// Default values for the samplingunit details page
else if(name == SAMPLINGUNIT_DETAILS) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("linkid", "");
formDataManager.putDefault("fileid", "");
}
else if(name == EXPMODEL) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("eid", "");
formDataManager.putDefault("gmid", "");
formDataManager.putDefault("goid", "");
}
else if (name == EXPMODELS) {
formDataManager.putDefault("suid", ""+caller.getSuid());
formDataManager.putDefault("raid","");
formDataManager.putDefault("fstid","");
formDataManager.putDefault("gaid","");
formDataManager.putDefault("emap","");
formDataManager.putDefault("ma","");
formDataManager.putDefault("inducible","");
formDataManager.putDefault("participantname","");
formDataManager.putDefault("groupname", "");
formDataManager.putDefault("mutationtypes","");
formDataManager.putDefault("ordertype","");
formDataManager.putDefault("disslevel","");
formDataManager.putDefault("strain","");
formDataManager.putDefault("delta","20");
formDataManager.putDefault("page","1");
}
else if (name == PHENOTREE) {
formDataManager.putDefault("levelOne", "");
formDataManager.putDefault("levelTwo", "");
formDataManager.putDefault("levelThree", "");
formDataManager.putDefault("levelFour", "");
formDataManager.putDefault("levelFive", "");
formDataManager.putDefault("levelSix", "");
formDataManager.putDefault("levelSeven", "");
formDataManager.putDefault("levelEight", "");
formDataManager.putDefault("levelNine", "");
}
else if (name == FAST_SEARCH) {
formDataManager.putDefault("fast_search_key", "");
}
else if (name == ALLELE) {
formDataManager.putDefault("aid", "");
formDataManager.putDefault("attributes", "");
}
else if (name == STRAIN) {
formDataManager.putDefault("strain_id", "");
}
else if (name == MUTATION_TYPE) {
formDataManager.putDefault("mtid", "");
}
else if (name == EXPRESSION_MODEL) {
formDataManager.putDefault("exid", "");
}
else if (name == STRAIN_TYPE) {
formDataManager.putDefault("stid", "");
}
else if (name == STRAIN_STATE) {
formDataManager.putDefault("ssid", "");
}
else if (name == GENE) {
formDataManager.putDefault("gaid", "");
}
else if (name == STRAIN_ALLELES) {
formDataManager.putDefault("delta","20");
formDataManager.putDefault("promoter","");
formDataManager.putDefault("inducible","");
formDataManager.putDefault("made_by","");
formDataManager.putDefault("ordertype","");
formDataManager.putDefault("page","1");
}
else if (name == GENES) {
formDataManager.putDefault("delta","20");
formDataManager.putDefault("page","1");
}
else if (name == STRAINS) {
formDataManager.putDefault("delta","20");
formDataManager.putDefault("page","1");
}
return formDataManager;
}
}