diff --git a/src/star/genetics/client/Helper.java b/src/star/genetics/client/Helper.java index c14669c..99272f6 100644 --- a/src/star/genetics/client/Helper.java +++ b/src/star/genetics/client/Helper.java @@ -8,7 +8,6 @@ import star.genetics.genetic.model.Creature; import star.genetics.visualizers.Visualizer; -import com.google.gwt.json.client.JSONNull; import com.google.gwt.json.client.JSONNumber; import com.google.gwt.json.client.JSONString; import com.google.gwt.json.client.JSONValue; @@ -80,11 +79,15 @@ public static final JSONValue wrapString(String value) { return new JSONString(value); } - return JSONNull.getInstance(); + return new JSONString(""); } public static final String unwrapString(JSONValue value) { + if (value == null) + { + return null; + } JSONString s = value.isString(); return s != null ? s.stringValue() : null; } diff --git a/src/star/genetics/client/JSONable.java b/src/star/genetics/client/JSONable.java index b14c494..8ea4f5f 100644 --- a/src/star/genetics/client/JSONable.java +++ b/src/star/genetics/client/JSONable.java @@ -1,5 +1,7 @@ package star.genetics.client; +import star.genetics.genetic.model.Model; + import com.google.gwt.json.client.JSONObject; public interface JSONable @@ -48,4 +50,5 @@ public interface JSONable static final String KIND = "kind"; JSONObject getJSON(); + Model getModel(); } diff --git a/src/star/genetics/client/JSONableList.java b/src/star/genetics/client/JSONableList.java index 9fa13b4..9db7750 100644 --- a/src/star/genetics/client/JSONableList.java +++ b/src/star/genetics/client/JSONableList.java @@ -19,8 +19,15 @@ public JSONableList(JSONArray array) public void add(T element) { + if( element instanceof String) + { + data.set(data.size(), Helper.wrapString((String)element)); + } + else + { JSONable e = (JSONable) element; data.set(data.size(), e.getJSON()); + } } public int size() @@ -51,6 +58,10 @@ public T next() { JSONValue element = data.get(index); index++; + if( element.isString() != null) + { + return (T)Helper.unwrapString(element); + } return create(element.isObject()); } diff --git a/src/star/genetics/client/StarGenetics.java b/src/star/genetics/client/StarGenetics.java index 80bcc92..588797a 100644 --- a/src/star/genetics/client/StarGenetics.java +++ b/src/star/genetics/client/StarGenetics.java @@ -42,11 +42,12 @@ public void execute(Exec exec) { try { - logger.log(Level.FINE, "in Execute."); + logger.log(Level.INFO, "in Execute."); String command = exec.getCommand(); - System.out.println("command " + command); + logger.log(Level.INFO, "in Command:" + command); if (Commands.Open.is(command)) { + logger.log(Level.INFO, "in Command: OPEN -- " + command); open(exec); } else if (Commands.ListStrains.is(command)) @@ -81,8 +82,11 @@ private void save(Exec exec) private void open(Exec exec) { + logger.log(Level.INFO, "in Command: QQ Open"); Open cmd = exec.cast(); + logger.log(Level.INFO, "in Command: AA Open"); cmd.execute(this); + logger.log(Level.INFO, "in Command: WW Open"); } private void listStrains(Exec exec) @@ -101,9 +105,8 @@ private void updateExperiment(Exec exec) private static native void log(String str) /*-{ - if( typeof(console) == 'object' && console && console.info ) - { - console.info( str ) ; + if (typeof (console) == 'object' && console && console.info) { + console.info(str); } }-*/; diff --git a/src/star/genetics/client/Stargenetics_gwt_java.java b/src/star/genetics/client/Stargenetics_gwt_java.java index 20ca14f..79609de 100644 --- a/src/star/genetics/client/Stargenetics_gwt_java.java +++ b/src/star/genetics/client/Stargenetics_gwt_java.java @@ -49,12 +49,15 @@ public static void execute(Exec obj) { logger.log(Level.INFO, "New StarGenetics backend for token " + token); map.put(token, new StarGenetics()); + } else { logger.log(Level.INFO, "Loading existing StarGenetics backend for token " + token); } + logger.log(Level.INFO, "New StarGenetics backend for token " + token + " pre exec."); map.get(token).execute(obj); + logger.log(Level.INFO, "New StarGenetics backend for token " + token + " post exec."); } else { diff --git a/src/star/genetics/client/messages/Open.java b/src/star/genetics/client/messages/Open.java index 50f1b63..5ac3406 100644 --- a/src/star/genetics/client/messages/Open.java +++ b/src/star/genetics/client/messages/Open.java @@ -1,5 +1,8 @@ package star.genetics.client.messages; +import java.util.logging.Level; +import java.util.logging.Logger; + import star.genetics.client.StarGenetics; import star.genetics.genetic.model.Model; import star.genetics.parser.ModelParser; @@ -10,7 +13,6 @@ public class Open extends Exec { - protected Open() { } @@ -23,14 +25,21 @@ protected Open() public final Model execute(StarGenetics starGenetics) { + Logger logger = Logger.getLogger("Open"); final String VERSION_1 = "Version_1"; Model model = null; + logger.log(Level.INFO, "Open 1"); if (VERSION_1.equalsIgnoreCase(getProtocol())) { - model = (ModelParser.parse(getJSONModel())); + logger.log(Level.INFO, "Open 2"); + model = ModelParser.parse(getJSONModel()); + logger.log(Level.INFO, "Open 3"); JSONObject ret = new JSONObject(); + logger.log(Level.INFO, "Open 4"); starGenetics.setModel(model); + logger.log(Level.INFO,"Open 5"); onSuccess(ret.getJavaScriptObject()); + logger.log(Level.INFO, "Open 6"); } else { @@ -38,6 +47,7 @@ public final Model execute(StarGenetics starGenetics) ret.put("error", new JSONString("Unrecognized protocol.")); onError(ret.getJavaScriptObject()); } + logger.log(Level.INFO, "Open 7"); return model; } } diff --git a/src/star/genetics/client/messages/Save.java b/src/star/genetics/client/messages/Save.java index 87699da..6dcb45f 100644 --- a/src/star/genetics/client/messages/Save.java +++ b/src/star/genetics/client/messages/Save.java @@ -6,9 +6,6 @@ import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONString; -import com.google.web.bindery.autobean.shared.AutoBean; -import com.google.web.bindery.autobean.shared.AutoBeanCodex; -import com.google.web.bindery.autobean.shared.AutoBeanUtils; public class Save extends Exec { @@ -19,11 +16,9 @@ protected Save() public final native String getProtocol() /*-{ return this.data.protocol; }-*/; - public final String serialize(ModelWriter model) + public final JSONObject serialize(ModelWriter model) { - - AutoBean m = AutoBeanUtils.getAutoBean(model); - return AutoBeanCodex.encode(m).getPayload(); + return model.getJSON(); } public final void execute(StarGenetics starGenetics, Model model) @@ -32,7 +27,7 @@ public final void execute(StarGenetics starGenetics, Model model) if (VERSION_1.equalsIgnoreCase(getProtocol())) { JSONObject ret = new JSONObject(); - ret.put("model", new JSONString(serialize((ModelWriter) model))); + ret.put("model", serialize((ModelWriter) model)); ret.put("model2", new JSONString("test")); starGenetics.setModel(model); onSuccess(ret.getJavaScriptObject()); diff --git a/src/star/genetics/client/messages_en.properties b/src/star/genetics/client/messages_en.properties index 1fd293b..5b614ab 100644 --- a/src/star/genetics/client/messages_en.properties +++ b/src/star/genetics/client/messages_en.properties @@ -1,5 +1,5 @@ #en -#Tue Jan 14 15:53:22 EST 2014 +#Thu Jan 16 19:56:22 EST 2014 GroupBy.4={0} ({1}%) GroupBy.3=Male Cow.0=m\: diff --git a/src/star/genetics/genetic/impl/AlleleImpl.java b/src/star/genetics/genetic/impl/AlleleImpl.java index 611eebf..7ea4e93 100644 --- a/src/star/genetics/genetic/impl/AlleleImpl.java +++ b/src/star/genetics/genetic/impl/AlleleImpl.java @@ -3,7 +3,10 @@ import java.io.Serializable; import star.genetics.client.Helper; +import star.genetics.genetic.model.Chromosome; import star.genetics.genetic.model.Gene; +import star.genetics.genetic.model.Genome; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONObject; @@ -12,16 +15,27 @@ public class AlleleImpl implements star.genetics.genetic.model.Allele, Serializa private static final long serialVersionUID = 1L; JSONObject data = new JSONObject(); - public AlleleImpl(JSONObject data) + Model model; + + @Override + public Model getModel() + { + return model; + } + + public AlleleImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public AlleleImpl(String name, Gene gene) + public AlleleImpl(String name, Gene gene, Model model) { data.put(NAME, Helper.wrapString(name)); - data.put(GENE, gene.getJSON()); + data.put(CHROMOSOME, Helper.wrapString(gene.getChromosome().getName())); + data.put(GENE, Helper.wrapString(gene.getName())); gene.getGeneTypes().add(this); + this.model = model; } public String getName() @@ -31,7 +45,10 @@ public String getName() public Gene getGene() { - return new GeneImpl(data.get(GENE).isObject()); + Genome g = getModel().getGenome(); + Chromosome c= g.getChromosomeByName(Helper.unwrapString(data.get(CHROMOSOME))); + Gene gene = c.getGeneByName(Helper.unwrapString(data.get(GENE))); + return gene; } @Override diff --git a/src/star/genetics/genetic/impl/ChromosomeImpl.java b/src/star/genetics/genetic/impl/ChromosomeImpl.java index 0d7f77e..3a54f23 100644 --- a/src/star/genetics/genetic/impl/ChromosomeImpl.java +++ b/src/star/genetics/genetic/impl/ChromosomeImpl.java @@ -7,6 +7,7 @@ import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Gene; import star.genetics.genetic.model.Genome; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONObject; @@ -15,17 +16,25 @@ public class ChromosomeImpl implements star.genetics.genetic.model.Chromosome, S { private static final long serialVersionUID = 1L; private JSONObject data; - - public ChromosomeImpl(JSONObject data) + private Model model ; + public Model getModel() + { + return model; + } + + public ChromosomeImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public ChromosomeImpl(String name, Genome genome) + public ChromosomeImpl(String name, Genome genome, Model model ) { + data = new JSONObject(); data.put(NAME, Helper.wrapString(name)); data.put(GENES, new JSONArray()); genome.addChromosome(this); + this.model = model; } public String getName() @@ -39,7 +48,7 @@ public JSONableList getGenes() { public Gene create(JSONObject d) { - return new GeneImpl(d); + return new GeneImpl(d, getModel()); } }; } diff --git a/src/star/genetics/genetic/impl/ChromosomeRuleImpl.java b/src/star/genetics/genetic/impl/ChromosomeRuleImpl.java index 7bd17cd..05ff805 100644 --- a/src/star/genetics/genetic/impl/ChromosomeRuleImpl.java +++ b/src/star/genetics/genetic/impl/ChromosomeRuleImpl.java @@ -1,39 +1,49 @@ package star.genetics.genetic.impl; import java.io.Serializable; -import java.util.Map; -import java.util.TreeMap; - -import com.google.gwt.json.client.JSONObject; +import java.util.logging.Level; +import java.util.logging.Logger; +import star.genetics.client.Helper; import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Chromosome; import star.genetics.genetic.model.Creature; import star.genetics.genetic.model.DiploidAlleles; import star.genetics.genetic.model.Gene; import star.genetics.genetic.model.GeneticMakeup; +import star.genetics.genetic.model.Model; + +import com.google.gwt.json.client.JSONObject; class ChromosomeRuleImpl implements Serializable, IndividualRule { private static final long serialVersionUID = 1L; + Model model ; + public Model getModel() + { + return model; + } + private final Chromosome chromosome() { - return new ChromosomeImpl(data.get(CHROMOSOME).isObject()); + return getModel().getGenome().getChromosomeByName(Helper.unwrapString(data.get(CHROMOSOME))); }; private JSONObject data; - ChromosomeRuleImpl(JSONObject data) + ChromosomeRuleImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - ChromosomeRuleImpl(Chromosome c) + ChromosomeRuleImpl(Chromosome c, Model model) { data = new JSONObject(); - data.put(CHROMOSOME, c.getJSON()); - data.put("MAKEUP", new JSONObject()); + data.put(CHROMOSOME, Helper.wrapString(c.getName())); + data.put(MAKEUP, new JSONObject()); + this.model = model; } public JSONObject getJSON() @@ -43,7 +53,7 @@ public JSONObject getJSON() RuleMakeup get() { - return new RuleMakeup(data); + return new RuleMakeup(data,getModel()); } public boolean test(GeneticMakeup makeup, Creature.Sex sex) @@ -51,23 +61,34 @@ public boolean test(GeneticMakeup makeup, Creature.Sex sex) return makeup.test(chromosome(), get()); } + static Logger logger = Logger.getLogger("ChromosomeRuleImpl"); + void addAllele(int strand, Allele a) { + logger.log(Level.INFO, "a 1"); if (strand == 0) { - get().put(a.getGene(), new DiploidAllelesImpl(a, null)); + logger.log(Level.INFO, "a 2"); + logger.log(Level.INFO, "a 2a: " + get()); + logger.log(Level.INFO, "a 2d"); + DiploidAlleles da = new DiploidAllelesImpl(a, null,getModel()); + Gene g = a.getGene(); + get().put(g, da); + logger.log(Level.INFO, "a 3"); + } else { + logger.log(Level.INFO, "a 4"); + logger.log(Level.INFO, "a 4a" + get() ); + logger.log(Level.INFO, "a 4b" + a.getGene() ); DiploidAlleles diploid = get().get(a.getGene()); - get().put(a.getGene(), new DiploidAllelesImpl(diploid != null ? diploid.get(0) : null, a)); + logger.log(Level.INFO, "a 5"); + get().put(a.getGene(), new DiploidAllelesImpl(diploid != null ? diploid.get(0) : null, a, getModel())); + logger.log(Level.INFO, "a 6"); } + logger.log(Level.INFO, "a E"); } - private Chromosome getChromosome() - { - return chromosome(); - } - } diff --git a/src/star/genetics/genetic/impl/CrateModelImpl.java b/src/star/genetics/genetic/impl/CrateModelImpl.java index 17d5a40..5ba908d 100644 --- a/src/star/genetics/genetic/impl/CrateModelImpl.java +++ b/src/star/genetics/genetic/impl/CrateModelImpl.java @@ -7,6 +7,7 @@ import star.genetics.client.Messages; import star.genetics.genetic.model.CrateModel; import star.genetics.genetic.model.CreatureSet; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONObject; @@ -14,18 +15,25 @@ public class CrateModelImpl implements CrateModel, Serializable { private static final long serialVersionUID = 1L; private JSONObject data; + private final Model model; + public Model getModel() + { + return model; + } - public CrateModelImpl(int id) + public CrateModelImpl(int id, Model model) { data.put(PARENTS, new JSONObject()); data.put(PROGENIES, new JSONObject()); data.put(NAME, Helper.wrapString(MessageFormat.format(Messages.getString("CrateModelImpl.0"), id))); //$NON-NLS-1$ data.put(UUID, Helper.wrapString(generateUUID())); + this.model = model; } - CrateModelImpl(JSONObject data) + CrateModelImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } @Override @@ -46,12 +54,12 @@ public String getName() public CreatureSet getParents() { - return new CreatureSetImpl(data.get(PARENTS).isObject()); + return new CreatureSetImpl(data.get(PARENTS).isObject(), getModel()); } public CreatureSet getProgenies() { - return new CreatureSetImpl(data.get(PROGENIES).isObject()); + return new CreatureSetImpl(data.get(PROGENIES).isObject(), getModel()); } @Override diff --git a/src/star/genetics/genetic/impl/CrateSetImpl.java b/src/star/genetics/genetic/impl/CrateSetImpl.java index b72072b..c57e15b 100644 --- a/src/star/genetics/genetic/impl/CrateSetImpl.java +++ b/src/star/genetics/genetic/impl/CrateSetImpl.java @@ -7,6 +7,7 @@ import star.genetics.client.JSONableList; import star.genetics.genetic.model.CrateModel; import star.genetics.genetic.model.CrateSet; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONObject; @@ -14,16 +15,23 @@ public class CrateSetImpl implements CrateSet, Serializable { private static final long serialVersionUID = 1L; - private static final String ID = null; private JSONObject data; + private final Model model; - CrateSetImpl(JSONObject data) + public Model getModel() + { + return model; + } + + CrateSetImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - CrateSetImpl() + CrateSetImpl(Model model) { + this.model = model; this.data = new JSONObject(); data.put(ID, Helper.wrapNumber(1)); data.put(SET, new JSONArray()); @@ -45,7 +53,7 @@ JSONableList getSet() { public CrateModel create(JSONObject data) { - return new CrateModelImpl(data); + return new CrateModelImpl(data, getModel()); } }; } @@ -102,7 +110,7 @@ public Iterator iterator() public CrateModel newCrateModel() { int id = Math.round(Helper.unwrapNumber(data.get(ID))); - CrateModel ret = new CrateModelImpl(id); + CrateModel ret = new CrateModelImpl(id, getModel()); id++; data.put(ID, Helper.wrapNumber(id)); add(ret); diff --git a/src/star/genetics/genetic/impl/CreatureImpl.java b/src/star/genetics/genetic/impl/CreatureImpl.java index 51e9ece..2cbca53 100644 --- a/src/star/genetics/genetic/impl/CreatureImpl.java +++ b/src/star/genetics/genetic/impl/CreatureImpl.java @@ -11,6 +11,7 @@ import star.genetics.genetic.model.GeneticMakeup; import star.genetics.genetic.model.GeneticModel; import star.genetics.genetic.model.Genome; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONBoolean; @@ -19,18 +20,25 @@ public class CreatureImpl implements star.genetics.genetic.model.Creature, Serializable { private static final long serialVersionUID = 1L; - private JSONObject data; + private final JSONObject data; + private final Model model; - CreatureImpl(JSONObject data) + public Model getModel() + { + return model; + } + CreatureImpl(JSONObject data, Model model) { + this.model = model; this.data = data; } - public CreatureImpl(String name, Genome genome, Sex sex, GeneticMakeup makeup, int matingsAvailable, Map properties, CreatureSet parents) + public CreatureImpl(String name, Genome genome, Sex sex, GeneticMakeup makeup, int matingsAvailable, Map properties, CreatureSet parents, Model model) { + this.model = model; this.data = new JSONObject(); data.put(NAME, Helper.wrapString(name)); - data.put(GENOME, genome.getJSON()); +// data.put(GENOME, genome.getJSON()); data.put(SEX, sex.getJSON()); data.put(MAKEUP, makeup.getJSON()); data.put(MATINGSAVAILABLE, Helper.wrapNumber(matingsAvailable)); @@ -43,17 +51,17 @@ public CreatureImpl(String name, Genome genome, Sex sex, GeneticMakeup makeup, i public CreatureSet getParents() { - return new CreatureSetImpl(data.get(PARENTS).isObject()); + return new CreatureSetImpl(data.get(PARENTS).isObject(), getModel()); } public Genome getGenome() { - return new GenomeImpl(data.get(GENOME).isObject()); + return getModel().getGenome(); } public GeneticMakeup getMakeup() { - return new GeneticMakeupImpl(data.get(MAKEUP).isObject()); + return new GeneticMakeupImpl(data.get(MAKEUP).isObject(), getModel()); } public String getName() diff --git a/src/star/genetics/genetic/impl/CreatureSetImpl.java b/src/star/genetics/genetic/impl/CreatureSetImpl.java index 03e7b62..f9a64c6 100644 --- a/src/star/genetics/genetic/impl/CreatureSetImpl.java +++ b/src/star/genetics/genetic/impl/CreatureSetImpl.java @@ -5,6 +5,7 @@ import star.genetics.client.JSONableList; import star.genetics.genetic.model.Creature; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONObject; @@ -12,15 +13,23 @@ public class CreatureSetImpl implements star.genetics.genetic.model.CreatureSet, Serializable { private static final long serialVersionUID = 1L; - private JSONObject data; - - CreatureSetImpl(JSONObject data) + private final JSONObject data; + private final Model model; + + public Model getModel() + { + return model; + } + + CreatureSetImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public CreatureSetImpl() + public CreatureSetImpl(Model model) { + this.model = model; data = new JSONObject(); data.put(CREATURES, new JSONArray()); } @@ -33,7 +42,7 @@ JSONableList getCreatures() @Override public Creature create(JSONObject data) { - return new CreatureImpl(data); + return new CreatureImpl(data, getModel()); } }; diff --git a/src/star/genetics/genetic/impl/DiploidAllelesImpl.java b/src/star/genetics/genetic/impl/DiploidAllelesImpl.java index 766fd84..c883be9 100644 --- a/src/star/genetics/genetic/impl/DiploidAllelesImpl.java +++ b/src/star/genetics/genetic/impl/DiploidAllelesImpl.java @@ -1,46 +1,93 @@ package star.genetics.genetic.impl; import java.io.Serializable; +import java.util.logging.Level; +import java.util.logging.Logger; import star.genetics.client.Messages; import star.genetics.genetic.model.Allele; +import star.genetics.genetic.model.Model; -import com.google.gwt.json.client.JSONNull; import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONValue; public class DiploidAllelesImpl implements star.genetics.genetic.model.DiploidAlleles, Serializable { private static final long serialVersionUID = 1L; - private JSONObject data; - - DiploidAllelesImpl(JSONObject data) + private final JSONObject data; + private final Model model; +public Model getModel() +{ + return model; +} + + DiploidAllelesImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public DiploidAllelesImpl(Allele[] alleles) + static Logger logger = Logger.getLogger("DiploidAllelesImpl"); + + public DiploidAllelesImpl(Allele[] alleles, Model model) { + this.model = model; + logger.log(Level.INFO, "a 1"); + if (alleles != null && (alleles.length == 1 || alleles.length == 2)) { - data.put(ALLELE_1, alleles[0].getJSON()); - data.put(ALLELE_2, alleles.length == 2 ? alleles[1].getJSON() : JSONNull.getInstance()); + logger.log(Level.INFO, "a 3"); + + data = new JSONObject(); + if (alleles[0] != null) + { + data.put(ALLELE_1, alleles[0].getJSON()); + } + logger.log(Level.INFO, "a 4"); + if (alleles.length == 2 && alleles[1] != null) + { + data.put(ALLELE_2, alleles[1].getJSON()); + } + logger.log(Level.INFO, "a 5"); + } else { throw new RuntimeException(Messages.getString("DiploidAllelesImpl.0")); //$NON-NLS-1$ } + logger.log(Level.INFO, "a 2"); + } - public DiploidAllelesImpl(Allele a1, Allele a2) + public DiploidAllelesImpl(Allele a1, Allele a2, Model model) { - this(new Allele[] { a1, a2 }); + this.model = model; + logger.log(Level.INFO, "a 7a A"); + data = new JSONObject(); + if (a1 != null) + { + data.put(ALLELE_1, a1.getJSON()); + } + logger.log(Level.INFO, "a 7b B"); + if (a2 != null) + { + data.put(ALLELE_2, a2.getJSON()); + } + logger.log(Level.INFO, "a 7c C"); } Allele get(JSONValue data) { + if( data != null) + { JSONObject o = data.isObject(); - return o != null ? new AlleleImpl(o) : null; + return o != null ? new AlleleImpl(o,getModel()) : null; + } + else + { + return null; + } + } Allele a1() diff --git a/src/star/genetics/genetic/impl/GelImpl.java b/src/star/genetics/genetic/impl/GelImpl.java index 19c636d..185e62b 100644 --- a/src/star/genetics/genetic/impl/GelImpl.java +++ b/src/star/genetics/genetic/impl/GelImpl.java @@ -1,34 +1,40 @@ package star.genetics.genetic.impl; import java.io.Serializable; -import java.util.HashSet; import java.util.Iterator; -import java.util.Set; - -import com.google.gwt.json.client.JSONArray; -import com.google.gwt.json.client.JSONObject; import star.genetics.client.Helper; -import star.genetics.client.JSONable; import star.genetics.client.JSONableList; import star.genetics.genetic.model.Gel; import star.genetics.genetic.model.GelPosition; +import star.genetics.genetic.model.Model; + +import com.google.gwt.json.client.JSONArray; +import com.google.gwt.json.client.JSONObject; public class GelImpl implements Gel, Serializable { private static final long serialVersionUID = 1L; - private JSONObject data; - - public GelImpl(String name, int index) + private final JSONObject data; + private final Model model; + + public Model getModel() + { + return model; + } + + public GelImpl(String name, int index, Model model) { + this.model = model; data = new JSONObject(); data.put(NAME, Helper.wrapString(name)); data.put(INDEX, Helper.wrapNumber(index)); data.put(SET, new JSONArray()); } - public GelImpl(JSONObject data) - { + public GelImpl(JSONObject data, Model model) + { + this.model = model; this.data = data; } @@ -58,7 +64,7 @@ JSONableList set() { @Override public GelPosition create(JSONObject data) { - return new GelPositionImpl(data); + return new GelPositionImpl(data, getModel()); } }; } diff --git a/src/star/genetics/genetic/impl/GelPositionImpl.java b/src/star/genetics/genetic/impl/GelPositionImpl.java index 3cf20fc..a29edfb 100644 --- a/src/star/genetics/genetic/impl/GelPositionImpl.java +++ b/src/star/genetics/genetic/impl/GelPositionImpl.java @@ -2,42 +2,51 @@ import java.io.Serializable; -import com.google.gwt.json.client.JSONArray; -import com.google.gwt.json.client.JSONObject; - import star.genetics.client.Helper; import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Gel; import star.genetics.genetic.model.GelPosition; +import star.genetics.genetic.model.Model; + +import com.google.gwt.json.client.JSONArray; +import com.google.gwt.json.client.JSONObject; public class GelPositionImpl implements GelPosition, Serializable { private static final long serialVersionUID = 1L; - private JSONObject data; + private final JSONObject data; + private final Model model; - public GelPositionImpl(Gel gel, Float[] position, Allele allele) + public Model getModel() { + return model; + } + + public GelPositionImpl(Gel gel, Float[] position, Allele allele, Model model) + { + this.model = model; data = new JSONObject(); data.put(GEL, gel.getJSON()); setPosition(position); data.put(ALLELES, allele.getJSON()); } - public GelPositionImpl(JSONObject data) + public GelPositionImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } @Override public JSONObject getJSON() { - return data; + return data; } - + @Override public Gel getGel() { - return new GelImpl(data.get(GEL).isObject()); + return new GelImpl(data.get(GEL).isObject(), getModel()); } @Override @@ -67,7 +76,7 @@ void setPosition(Float[] position) @Override public Allele getAllele() { - return new AlleleImpl(data.get(ALLELES).isObject()); + return new AlleleImpl(data.get(ALLELES).isObject(), getModel()); } } diff --git a/src/star/genetics/genetic/impl/GelRulesImpl.java b/src/star/genetics/genetic/impl/GelRulesImpl.java index b8ec13b..345c365 100644 --- a/src/star/genetics/genetic/impl/GelRulesImpl.java +++ b/src/star/genetics/genetic/impl/GelRulesImpl.java @@ -3,28 +3,37 @@ import java.io.Serializable; import java.util.ArrayList; -import com.google.gwt.json.client.JSONArray; -import com.google.gwt.json.client.JSONObject; - import star.genetics.client.JSONableList; import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Gel; import star.genetics.genetic.model.GelPosition; import star.genetics.genetic.model.GelRules; +import star.genetics.genetic.model.Model; + +import com.google.gwt.json.client.JSONArray; +import com.google.gwt.json.client.JSONObject; public class GelRulesImpl implements GelRules, Serializable { private static final long serialVersionUID = 1L; - private JSONObject data; + private final JSONObject data; + private final Model model; + + public Model getModel() + { + return model; + } - public GelRulesImpl(JSONObject data) + public GelRulesImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public GelRulesImpl() + public GelRulesImpl(Model model) { + this.model = model; data = new JSONObject(); data.put(GELS, new JSONArray()); data.put(POS, new JSONArray()); @@ -43,7 +52,7 @@ JSONableList gels() @Override public Gel create(JSONObject data) { - return new GelImpl(data); + return new GelImpl(data, getModel()); } }; } @@ -56,7 +65,7 @@ JSONableList pos() @Override public GelPosition create(JSONObject data) { - return new GelPositionImpl(data); + return new GelPositionImpl(data, getModel()); } }; } @@ -70,7 +79,7 @@ private Gel getOrCreateGel(String name) return g; } } - GelImpl gi = new GelImpl(name, gels().size()); + GelImpl gi = new GelImpl(name, gels().size(), getModel()); gels().add(gi); return gi; } @@ -83,7 +92,7 @@ public void addGel(String gelName) public void addGel(String gelName, Allele allele, Float[] position) { Gel g = getOrCreateGel(gelName); - GelPositionImpl gpi = new GelPositionImpl(g, position, allele); + GelPositionImpl gpi = new GelPositionImpl(g, position, allele,getModel()); g.addGelPosition(gpi); pos().add(gpi); } diff --git a/src/star/genetics/genetic/impl/GeneImpl.java b/src/star/genetics/genetic/impl/GeneImpl.java index 94d74ec..71bf16a 100644 --- a/src/star/genetics/genetic/impl/GeneImpl.java +++ b/src/star/genetics/genetic/impl/GeneImpl.java @@ -5,6 +5,7 @@ import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Chromosome; import star.genetics.genetic.model.Gene; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONObject; @@ -13,25 +14,34 @@ public class GeneImpl implements star.genetics.genetic.model.Gene { private static final long serialVersionUID = 1L; - private JSONObject data; + private final JSONObject data; + private final Model model; - GeneImpl(JSONObject data) + public Model getModel() + { + return model; + } + + public GeneImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public GeneImpl(String name, float position, Chromosome chromosome) + public GeneImpl(String name, float position, Chromosome chromosome, Model model) { + data = new JSONObject(); data.put(NAME, Helper.wrapString(name)); data.put(POSITON, Helper.wrapNumber(position)); - data.put(CHROMOSOME, chromosome.getJSON()); + data.put(CHROMOSOME, Helper.wrapString(chromosome.getName())); data.put(GENETYPES, new JSONArray()); chromosome.getGenes().add(this); + this.model = model; } public star.genetics.genetic.model.Chromosome getChromosome() { - return new ChromosomeImpl(data.get(CHROMOSOME).isObject()); + return getModel().getGenome().getChromosomeByName(Helper.unwrapString(data.get(CHROMOSOME))); } public String getName() @@ -52,7 +62,7 @@ public JSONableList getGeneTypes() @Override public Allele create(JSONObject data) { - return new AlleleImpl(data); + return new AlleleImpl(data, getModel()); } }; } @@ -110,9 +120,4 @@ public JSONObject getJSON() return data; } - public static Gene fromJSON(JSONObject value) - { - return new GeneImpl(value); - } - } diff --git a/src/star/genetics/genetic/impl/GeneticMakeupImpl.java b/src/star/genetics/genetic/impl/GeneticMakeupImpl.java index ca25f99..243f608 100644 --- a/src/star/genetics/genetic/impl/GeneticMakeupImpl.java +++ b/src/star/genetics/genetic/impl/GeneticMakeupImpl.java @@ -1,30 +1,37 @@ package star.genetics.genetic.impl; -import java.util.Map; -import java.util.Map.Entry; -import java.util.TreeMap; - +import star.genetics.client.Helper; import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Chromosome; import star.genetics.genetic.model.DiploidAlleles; import star.genetics.genetic.model.Gene; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONObject; +import com.google.gwt.json.client.JSONString; +import com.google.gwt.json.client.JSONValue; public class GeneticMakeupImpl implements star.genetics.genetic.model.GeneticMakeup { private static final long serialVersionUID = 1L; - private JSONObject data; - - GeneticMakeupImpl(JSONObject data) + private final JSONObject data; + private final Model model; + public Model getModel() + { + return model; + } + + GeneticMakeupImpl(JSONObject data, Model model) { + this.model = model; this.data = data; } - public GeneticMakeupImpl() + public GeneticMakeupImpl(Model model) { + this.model = model; this.data = new JSONObject(); - data.put("MAKEUP", new JSONObject()); + data.put(MAKEUP, new JSONObject()); } @Override @@ -32,20 +39,44 @@ public JSONObject getJSON() { return data; } - + + public String toStr( Gene g ) + { + JSONObject ret = new JSONObject(); + ret.put("chromosome", Helper.wrapString(g.getChromosome().getName())); + ret.put("gene", Helper.wrapString(g.getName())); + return ret.toString(); + } + public void put(Gene g, DiploidAlleles d) { - data.get(MAKEUP).isObject().put(g.getJSON().toString(), d.getJSON()); + data.get(MAKEUP).isObject().put(toStr(g), d.getJSON()); } public DiploidAlleles get(Gene g) { - return new DiploidAllelesImpl(data.get(MAKEUP).isObject().get(g.getJSON().toString()).isObject()); + JSONValue value = data.get(MAKEUP).isObject().get(toStr(g)); + if( value != null ) + { + return new DiploidAllelesImpl(value.isObject(),getModel()); + } + else + { + return null; + } } public DiploidAlleles get(String g) { - return new DiploidAllelesImpl(data.get(MAKEUP).isObject().get(g).isObject()); + JSONValue value = data.get(MAKEUP).isObject().get(g); + if(value != null ) + { + return new DiploidAllelesImpl(value.isObject(),getModel()); + } + else + { + return null; + } } int size() diff --git a/src/star/genetics/genetic/impl/GenomeImpl.java b/src/star/genetics/genetic/impl/GenomeImpl.java index 72da317..6686b94 100644 --- a/src/star/genetics/genetic/impl/GenomeImpl.java +++ b/src/star/genetics/genetic/impl/GenomeImpl.java @@ -8,6 +8,7 @@ import star.genetics.client.JSONableList; import star.genetics.genetic.model.Chromosome; import star.genetics.genetic.model.Gene; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONObject; @@ -15,16 +16,23 @@ public class GenomeImpl implements star.genetics.genetic.model.Genome, Serializable { private static final long serialVersionUID = 1L; - private String name; - private JSONObject data; + private final JSONObject data; + private final Model model; - public GenomeImpl(JSONObject data) + public Model getModel() + { + return model; + } + + public GenomeImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public GenomeImpl() + public GenomeImpl(Model model) { + this.model = model; this.data = new JSONObject(); data.put(SEX, SexType.XY.getJSON()); data.put(CHROMOSOMES, new JSONArray()); @@ -70,12 +78,21 @@ public Iterator iterator() JSONableList getChromosomes() { + if( data == null ) + { + throw new NullPointerException(); + } + if( data.get(CHROMOSOMES) == null ) + { + throw new NullPointerException(); + } + return new JSONableList(data.get(CHROMOSOMES).isArray()) { @Override public Chromosome create(JSONObject data) { - return new ChromosomeImpl(data); + return new ChromosomeImpl(data, getModel()); } }; } diff --git a/src/star/genetics/genetic/impl/HaploidRuleImpl.java b/src/star/genetics/genetic/impl/HaploidRuleImpl.java index 4743cc0..f6bccd5 100644 --- a/src/star/genetics/genetic/impl/HaploidRuleImpl.java +++ b/src/star/genetics/genetic/impl/HaploidRuleImpl.java @@ -1,11 +1,10 @@ package star.genetics.genetic.impl; -import com.google.gwt.json.client.JSONNull; -import com.google.gwt.json.client.JSONObject; - import star.genetics.genetic.model.Creature.Sex; import star.genetics.genetic.model.GeneticMakeup; +import com.google.gwt.json.client.JSONObject; + public class HaploidRuleImpl implements IndividualRule { private static final long serialVersionUID = 1L; @@ -19,15 +18,20 @@ public boolean test(GeneticMakeup makeup, Sex sex) @Override public JSONObject getJSON() { - return new JSONObject(); + return new JSONObject(); } - + public HaploidRuleImpl(JSONObject data) - { - } - + { + } + public HaploidRuleImpl() { - + } + + public star.genetics.genetic.model.Model getModel() + { + return null; + }; } diff --git a/src/star/genetics/genetic/impl/MatingEngineImpl_Common.java b/src/star/genetics/genetic/impl/MatingEngineImpl_Common.java index 4477ded..9f84658 100644 --- a/src/star/genetics/genetic/impl/MatingEngineImpl_Common.java +++ b/src/star/genetics/genetic/impl/MatingEngineImpl_Common.java @@ -3,8 +3,6 @@ import java.io.Serializable; import java.util.Map; -import com.google.gwt.json.client.JSONObject; - import star.genetics.client.Helper; import star.genetics.client.JSONable; import star.genetics.client.Messages; @@ -13,26 +11,36 @@ import star.genetics.genetic.model.GeneticMakeup; import star.genetics.genetic.model.GeneticModel; import star.genetics.genetic.model.Genome; +import star.genetics.genetic.model.Model; import star.genetics.genetic.model.RuleSet; import star.genetics.xls.ParseException; +import com.google.gwt.json.client.JSONObject; + public abstract class MatingEngineImpl_Common implements Serializable, JSONable { private static final long serialVersionUID = 1L; final static String sterileString = GeneticModel.sterile; - JSONObject data; + protected final JSONObject data; + private final Model model; + public Model getModel() + { + return model; + } - MatingEngineImpl_Common(JSONObject data) + MatingEngineImpl_Common(JSONObject data, Model model) { this.data = data; + this.model = model; } public JSONObject getJSON() { return data; }; - MatingEngineImpl_Common(int progeniesCount, float twinningFrequency, float identicalTwinsFrequency) + MatingEngineImpl_Common(int progeniesCount, float twinningFrequency, float identicalTwinsFrequency, Model model) { + this.model = model; data = new JSONObject(); data.put("progeniesCount", Helper.wrapNumber(progeniesCount)); data.put("twinningFrequency", Helper.wrapNumber(twinningFrequency)); @@ -58,7 +66,7 @@ private float identicalTwinsFrequency() public CreatureSet getProgenies(String crateName, CreatureSet parents, int countFrom, int matings, RuleSet rules) throws MatingException { - CreatureSet set = new star.genetics.genetic.impl.CreatureSetImpl(); + CreatureSet set = new star.genetics.genetic.impl.CreatureSetImpl(getModel()); if (canMate(parents)) { Creature[] parentArray = new Creature[2]; @@ -124,7 +132,7 @@ public CreatureSet getProgenies(String crateName, CreatureSet parents, int count private Creature clone(String name, Creature source, int matings) { - return new star.genetics.genetic.impl.CreatureImpl(name, source.getGenome(), source.getSex(), source.getMakeup(), matings, source.getProperties().asMap(), source.getParents()); + return new star.genetics.genetic.impl.CreatureImpl(name, source.getGenome(), source.getSex(), source.getMakeup(), matings, source.getProperties().asMap(), source.getParents(), getModel()); } protected abstract GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex sex1, GeneticMakeup makeup2, Creature.Sex sex2); @@ -139,7 +147,7 @@ protected Creature mate(String crateName, Creature p1, Creature p2, String suffi Genome genome = p1.getGenome(); Creature.Sex sex = p1.getSex() != null ? Sex.getSex(makeup, genome, name) : null; Map x = rules.getProperties(makeup, sex); - CreatureSet parents = new CreatureSetImpl(); + CreatureSet parents = new CreatureSetImpl(getModel()); parents.add(p1); parents.add(p2); @@ -151,7 +159,7 @@ protected Creature mate(String crateName, Creature p1, Creature p2, String suffi } if (!isLethal) { - star.genetics.genetic.impl.CreatureImpl ret = new star.genetics.genetic.impl.CreatureImpl(name, genome, sex, makeup, matings, x, parents); + star.genetics.genetic.impl.CreatureImpl ret = new star.genetics.genetic.impl.CreatureImpl(name, genome, sex, makeup, matings, x, parents,getModel()); return ret; } else diff --git a/src/star/genetics/genetic/impl/MatingEngineImpl_MAT.java b/src/star/genetics/genetic/impl/MatingEngineImpl_MAT.java index 7e423bd..198ddb7 100644 --- a/src/star/genetics/genetic/impl/MatingEngineImpl_MAT.java +++ b/src/star/genetics/genetic/impl/MatingEngineImpl_MAT.java @@ -19,6 +19,7 @@ import star.genetics.genetic.model.GeneticMakeup; import star.genetics.genetic.model.Genome; import star.genetics.genetic.model.MatingEngine; +import star.genetics.genetic.model.Model; import star.genetics.genetic.model.RuleSet; public class MatingEngineImpl_MAT implements MatingEngine, Serializable @@ -71,9 +72,15 @@ public String toString() float femaleRecombinationRate; float femaleSexRatio; int progeniesCount; - - public MatingEngineImpl_MAT(float maleRecombinationRate, float femaleRecombinationRate, float femaleSexRatio, int progeniesCount) + private final Model model; + public Model getModel() + { + return model; + } + + public MatingEngineImpl_MAT(float maleRecombinationRate, float femaleRecombinationRate, float femaleSexRatio, int progeniesCount, Model model) { + this.model = model; this.maleRecombinationRate = maleRecombinationRate; this.femaleRecombinationRate = femaleRecombinationRate; this.femaleSexRatio = femaleSexRatio; @@ -167,14 +174,14 @@ public CreatureSet getProgenies(String crateName, CreatureSet parents, int count Creature c2 = parents.get(1); Random rng = new Random(); - CreatureSetImpl ret = new CreatureSetImpl(); + CreatureSetImpl ret = new CreatureSetImpl(getModel()); Genome genome = c1.getGenome(); for (int pIndex = 0; pIndex < progeniesCount; pIndex++) { GeneticMakeupImpl[] makeups = new GeneticMakeupImpl[4]; for (int i = 0; i < 4; i++) { - makeups[i] = new GeneticMakeupImpl(); + makeups[i] = new GeneticMakeupImpl(getModel()); } for (Chromosome c : genome) { @@ -201,7 +208,7 @@ public CreatureSet getProgenies(String crateName, CreatureSet parents, int count default: throw new RuntimeException(Messages.getString("MatingEngineImpl_MAT.0")); //$NON-NLS-1$ } - makeup.put(gene, new DiploidAllelesImpl(allele, null)); + makeup.put(gene, new DiploidAllelesImpl(allele, null,getModel())); } } } @@ -226,7 +233,7 @@ public CreatureSet getProgenies(String crateName, CreatureSet parents, int count int i = (x + offset) % 4; GeneticMakeup makeup = makeups[i]; Map properties = rules.getProperties(makeup, thisSex); - CreatureImpl creature = new CreatureImpl(crateName + "-" + (countFrom / 4 + pIndex + 1) + D[x], genome, thisSex, makeup, matings, properties, parents); //$NON-NLS-1$ + CreatureImpl creature = new CreatureImpl(crateName + "-" + (countFrom / 4 + pIndex + 1) + D[x], genome, thisSex, makeup, matings, properties, parents, getModel()); //$NON-NLS-1$ ret.add(creature); } diff --git a/src/star/genetics/genetic/impl/MatingEngineImpl_UNISEX.java b/src/star/genetics/genetic/impl/MatingEngineImpl_UNISEX.java index 5a1071d..a047e62 100644 --- a/src/star/genetics/genetic/impl/MatingEngineImpl_UNISEX.java +++ b/src/star/genetics/genetic/impl/MatingEngineImpl_UNISEX.java @@ -11,6 +11,7 @@ import star.genetics.genetic.model.GeneticMakeup; import star.genetics.genetic.model.Genome; import star.genetics.genetic.model.MatingEngine; +import star.genetics.genetic.model.Model; public class MatingEngineImpl_UNISEX extends MatingEngineImpl_Common implements MatingEngine, Serializable { @@ -20,15 +21,16 @@ public class MatingEngineImpl_UNISEX extends MatingEngineImpl_Common implements float twinningFrequency = 0; float identicalTwinsFrequency = 0; - public MatingEngineImpl_UNISEX(float femaleRecombinationRate, int progeniesCount) + + public MatingEngineImpl_UNISEX(float femaleRecombinationRate, int progeniesCount, Model model) { - super(progeniesCount, 0, 0); + super(progeniesCount, 0, 0, model); this.femaleRecombinationRate = femaleRecombinationRate; } protected GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex sex1, GeneticMakeup makeup2, Creature.Sex sex2) { - GeneticMakeup makeup = new star.genetics.genetic.impl.GeneticMakeupImpl(); + GeneticMakeup makeup = new star.genetics.genetic.impl.GeneticMakeupImpl(getModel()); boolean position1 = Math.random() < .5f; boolean position2 = Math.random() < .5f; star.genetics.genetic.model.Creature.Sex sex = null; @@ -55,7 +57,7 @@ protected GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex previousGenePosition = genePosition; Allele a1 = allele1 != null ? allele1.get(position1 ? 0 : 1) : null; Allele a2 = allele2 != null ? allele2.get(position2 ? 0 : 1) : null; - DiploidAlleles allele = new star.genetics.genetic.impl.DiploidAllelesImpl(a1, a2); + DiploidAlleles allele = new star.genetics.genetic.impl.DiploidAllelesImpl(a1, a2, getModel()); makeup.put(g, allele); } return makeup; diff --git a/src/star/genetics/genetic/impl/MatingEngineImpl_XO.java b/src/star/genetics/genetic/impl/MatingEngineImpl_XO.java index b40ab28..4b59b7a 100644 --- a/src/star/genetics/genetic/impl/MatingEngineImpl_XO.java +++ b/src/star/genetics/genetic/impl/MatingEngineImpl_XO.java @@ -11,6 +11,7 @@ import star.genetics.genetic.model.GeneticMakeup; import star.genetics.genetic.model.Genome; import star.genetics.genetic.model.MatingEngine; +import star.genetics.genetic.model.Model; import star.genetics.genetic.model.RuleSet; public class MatingEngineImpl_XO extends MatingEngineImpl_Common implements MatingEngine, Serializable @@ -24,9 +25,9 @@ public class MatingEngineImpl_XO extends MatingEngineImpl_Common implements Mati float twinningFrequency = 0; float identicalTwinsFrequency = 0; - public MatingEngineImpl_XO(float maleRecombinationRate, float femaleRecombinationRate, float femaleSexRatio, int progeniesCount, float spontaniousMales) + public MatingEngineImpl_XO(float maleRecombinationRate, float femaleRecombinationRate, float femaleSexRatio, int progeniesCount, float spontaniousMales, Model model) { - super(progeniesCount, 0, 0); + super(progeniesCount, 0, 0, model); this.maleRecombinationRate = maleRecombinationRate; this.femaleRecombinationRate = femaleRecombinationRate; this.femaleSexRatio = femaleSexRatio; @@ -47,7 +48,7 @@ protected Creature mate(String crateName, Creature p1, Creature p2, String suffi protected GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex sex1, GeneticMakeup makeup2, Creature.Sex sex2) { - GeneticMakeup makeup = new star.genetics.genetic.impl.GeneticMakeupImpl(); + GeneticMakeup makeup = new star.genetics.genetic.impl.GeneticMakeupImpl(getModel()); boolean position1 = Math.random() < .5f; boolean position2 = Math.random() < .5f; star.genetics.genetic.model.Creature.Sex sex = Math.random() < femaleSexRatio ? star.genetics.genetic.model.Creature.Sex.FEMALE : star.genetics.genetic.model.Creature.Sex.MALE; @@ -130,7 +131,7 @@ protected GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex } } } - DiploidAlleles allele = new star.genetics.genetic.impl.DiploidAllelesImpl(a1, a2); + DiploidAlleles allele = new star.genetics.genetic.impl.DiploidAllelesImpl(a1, a2, getModel()); makeup.put(g, allele); } return makeup; diff --git a/src/star/genetics/genetic/impl/MatingEngineImpl_XY.java b/src/star/genetics/genetic/impl/MatingEngineImpl_XY.java index afd7fdf..07f01a1 100644 --- a/src/star/genetics/genetic/impl/MatingEngineImpl_XY.java +++ b/src/star/genetics/genetic/impl/MatingEngineImpl_XY.java @@ -4,8 +4,6 @@ import java.util.Map; import java.util.TreeSet; -import com.google.gwt.json.client.JSONObject; - import star.genetics.client.Helper; import star.genetics.genetic.model.Allele; import star.genetics.genetic.model.Chromosome; @@ -17,9 +15,12 @@ import star.genetics.genetic.model.GeneticModel; import star.genetics.genetic.model.Genome; import star.genetics.genetic.model.MatingEngine; +import star.genetics.genetic.model.Model; import star.genetics.genetic.model.RuleSet; import star.genetics.xls.ParseException; +import com.google.gwt.json.client.JSONObject; + public class MatingEngineImpl_XY extends MatingEngineImpl_Common implements MatingEngine, Serializable { private static final long serialVersionUID = 1L; @@ -42,25 +43,25 @@ float femaleSexRatio() }; - public MatingEngineImpl_XY() + public MatingEngineImpl_XY( Model model) { - super(20, 0, 0); + super(20, 0, 0, model); data.put(MALERECOMBINATIONRATE, Helper.wrapNumber(1f)); data.put(FEMALERECOMBINATIONRATE, Helper.wrapNumber(1f)); data.put("femaleSexRatio", Helper.wrapNumber(.5f)); } - public MatingEngineImpl_XY(float maleRecombinationRate, float femaleRecombinationRate, float femaleSexRatio, int progeniesCount, float twinningFrequency, float identicalTwinsFrequency) + public MatingEngineImpl_XY(float maleRecombinationRate, float femaleRecombinationRate, float femaleSexRatio, int progeniesCount, float twinningFrequency, float identicalTwinsFrequency, Model model) { - super(progeniesCount, twinningFrequency, identicalTwinsFrequency); + super(progeniesCount, twinningFrequency, identicalTwinsFrequency, model); data.put(MALERECOMBINATIONRATE, Helper.wrapNumber(maleRecombinationRate)); data.put(FEMALERECOMBINATIONRATE, Helper.wrapNumber(femaleRecombinationRate)); data.put("femaleSexRatio", Helper.wrapNumber(femaleSexRatio)); } - public MatingEngineImpl_XY(JSONObject data) + public MatingEngineImpl_XY(JSONObject data, Model model) { - super(data); + super(data, model); } protected Creature mate(String crateName, Creature p1, Creature p2, String suffix, int matings, RuleSet rules) @@ -73,7 +74,7 @@ protected Creature mate(String crateName, Creature p1, Creature p2, String suffi Genome genome = p1.getGenome(); Creature.Sex sex = Sex.getSex(makeup, genome, name); Map x = rules.getProperties(makeup, sex); - CreatureSet parents = new CreatureSetImpl(); + CreatureSet parents = new CreatureSetImpl(getModel()); parents.add(p1); parents.add(p2); @@ -85,7 +86,7 @@ protected Creature mate(String crateName, Creature p1, Creature p2, String suffi } if (!isLethal) { - star.genetics.genetic.impl.CreatureImpl ret = new star.genetics.genetic.impl.CreatureImpl(name, genome, sex, makeup, matings, x, parents); + star.genetics.genetic.impl.CreatureImpl ret = new star.genetics.genetic.impl.CreatureImpl(name, genome, sex, makeup, matings, x, parents, getModel()); return ret; } else @@ -102,7 +103,7 @@ protected Creature mate(String crateName, Creature p1, Creature p2, String suffi protected GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex sex1, GeneticMakeup makeup2, Creature.Sex sex2) { - GeneticMakeup makeup = new star.genetics.genetic.impl.GeneticMakeupImpl(); + GeneticMakeup makeup = new star.genetics.genetic.impl.GeneticMakeupImpl(getModel()); boolean position1 = Math.random() < .5f; boolean position2 = Math.random() < .5f; star.genetics.genetic.model.Creature.Sex sex = Math.random() < femaleSexRatio() ? star.genetics.genetic.model.Creature.Sex.FEMALE : star.genetics.genetic.model.Creature.Sex.MALE; @@ -178,7 +179,7 @@ protected GeneticMakeup mate(Genome genome, GeneticMakeup makeup1, Creature.Sex } } } - DiploidAlleles allele = new star.genetics.genetic.impl.DiploidAllelesImpl(a1, a2); + DiploidAlleles allele = new star.genetics.genetic.impl.DiploidAllelesImpl(a1, a2, getModel()); makeup.put(g, allele); } return makeup; diff --git a/src/star/genetics/genetic/impl/ModelImpl.java b/src/star/genetics/genetic/impl/ModelImpl.java index 902a8fc..2035993 100644 --- a/src/star/genetics/genetic/impl/ModelImpl.java +++ b/src/star/genetics/genetic/impl/ModelImpl.java @@ -8,9 +8,9 @@ import star.genetics.genetic.model.GelRules; import star.genetics.genetic.model.Genome; import star.genetics.genetic.model.MatingEngine; +import star.genetics.genetic.model.Model; import star.genetics.visualizers.VisualizerFactory; -import com.google.gwt.json.client.JSONNull; import com.google.gwt.json.client.JSONObject; public class ModelImpl implements star.genetics.genetic.model.ModelWriter, Serializable @@ -27,9 +27,9 @@ public ModelImpl() data.put(SPONTANIOUSMALES, Helper.wrapNumber(0.001f)); data.put(MATINGSCOUNT, Helper.wrapNumber(Integer.MAX_VALUE)); data.put(PROGENIESCOUNT, Helper.wrapNumber(50)); - data.put(CRATESET, new CrateSetImpl().getJSON()); - data.put(RULESET, JSONNull.getInstance()); - data.put(GENOME, JSONNull.getInstance()); + data.put(CRATESET, (new CrateSetImpl(getModel())).getJSON()); + data.put(RULESET, new JSONObject()); + data.put(GENOME, new JSONObject()); } public void setVisualizerClass(String className) @@ -50,7 +50,7 @@ public void setRules(star.genetics.genetic.model.RuleSet rules) public star.genetics.genetic.model.RuleSet getRules() { - return new RuleSetImpl(data.get(RULESET).isObject()); + return new RuleSetImpl(data.get(RULESET).isObject(), getModel()); } public void setMater(MatingEngineImpl_XY mater) @@ -77,7 +77,7 @@ public void setGenome(Genome genome) public Genome getGenome() { - return new GenomeImpl(data.get(GENOME).isObject()); + return new GenomeImpl(data.get(GENOME).isObject(),getModel()); } public MatingEngine getMatingEngine() @@ -95,24 +95,24 @@ public MatingEngine getMatingEngine() // twinning = md.getTwinningFrequency(); // identical = md.getIdenticalTwinsFrequency(); // } - mater = new MatingEngineImpl_XY(maleRecombinationRate(), femaleRecombinationRate(), 0.5f, getProgeniesCount(), twinning, identical); + mater = new MatingEngineImpl_XY(maleRecombinationRate(), femaleRecombinationRate(), 0.5f, getProgeniesCount(), twinning, identical, getModel()); } else if (Genome.SexType.XO.equals(getGenome().getSexType())) { - mater = new MatingEngineImpl_XO(maleRecombinationRate(), femaleRecombinationRate(), 0.5f, getProgeniesCount(), getSpontaniousMales()); + mater = new MatingEngineImpl_XO(maleRecombinationRate(), femaleRecombinationRate(), 0.5f, getProgeniesCount(), getSpontaniousMales(),getModel()); } else if (Genome.SexType.Aa.equals(getGenome().getSexType())) { - mater = new MatingEngineImpl_MAT(maleRecombinationRate(), femaleRecombinationRate(), 0.5f, getProgeniesCount()); + mater = new MatingEngineImpl_MAT(maleRecombinationRate(), femaleRecombinationRate(), 0.5f, getProgeniesCount(), getModel()); } else if (Genome.SexType.UNISEX.equals(getGenome().getSexType())) { - mater = new MatingEngineImpl_UNISEX(femaleRecombinationRate(), getProgeniesCount()); + mater = new MatingEngineImpl_UNISEX(femaleRecombinationRate(), getProgeniesCount(), getModel()); } } else { if (Genome.SexType.XY.equals(getGenome().getSexType())) { - mater = new MatingEngineImpl_XY(data.get(MATER).isObject()); + mater = new MatingEngineImpl_XY(data.get(MATER).isObject(),getModel()); } } return mater; @@ -120,7 +120,7 @@ else if (Genome.SexType.UNISEX.equals(getGenome().getSexType())) public star.genetics.genetic.model.CreatureSet getCreatures() { - return new CreatureSetImpl(data.get(CREATURES).isObject()); + return new CreatureSetImpl(data.get(CREATURES).isObject(), getModel()); } public float getRecombinationRate(Sex sex) @@ -140,7 +140,7 @@ private float femaleRecombinationRate() public CrateSet getCrateSet() { - return new CrateSetImpl(data.get(CRATESET).isObject()); + return new CrateSetImpl(data.get(CRATESET).isObject(), getModel()); } public int getProgeniesCount() @@ -185,11 +185,17 @@ public void setGelRules(GelRules gri) public GelRules getGelRules() { - return new GelRulesImpl(data.get(GELRULESET).isObject()); + return new GelRulesImpl(data.get(GELRULESET).isObject(),getModel()); } public JSONObject getJSON() { return data; } + + @Override + public Model getModel() + { + return this; + } } diff --git a/src/star/genetics/genetic/impl/ParentsSetImpl.java b/src/star/genetics/genetic/impl/ParentsSetImpl.java index 8d52cc8..90f8764 100644 --- a/src/star/genetics/genetic/impl/ParentsSetImpl.java +++ b/src/star/genetics/genetic/impl/ParentsSetImpl.java @@ -1,11 +1,17 @@ package star.genetics.genetic.impl; +import star.genetics.genetic.model.Model; import star.genetics.genetic.model.ParentsSet; public class ParentsSetImpl extends CreatureSetImpl implements ParentsSet { private static final long serialVersionUID = 1L; + public ParentsSetImpl(Model model) + { + super(model); + } + public boolean canMate() { if (size() == 2) diff --git a/src/star/genetics/genetic/impl/RuleImpl.java b/src/star/genetics/genetic/impl/RuleImpl.java index bb6ad93..6a11336 100644 --- a/src/star/genetics/genetic/impl/RuleImpl.java +++ b/src/star/genetics/genetic/impl/RuleImpl.java @@ -1,13 +1,11 @@ package star.genetics.genetic.impl; import java.io.Serializable; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; - -import com.google.gwt.json.client.JSONArray; -import com.google.gwt.json.client.JSONObject; +import java.util.logging.Level; +import java.util.logging.Logger; import star.genetics.beans.StringTokenizer; import star.genetics.client.Helper; @@ -22,6 +20,10 @@ import star.genetics.genetic.model.GeneticMakeup; import star.genetics.genetic.model.Genome; import star.genetics.genetic.model.Genome.SexType; +import star.genetics.genetic.model.Model; + +import com.google.gwt.json.client.JSONArray; +import com.google.gwt.json.client.JSONObject; public class RuleImpl implements star.genetics.genetic.model.Rule, Serializable { @@ -36,17 +38,17 @@ private JSONableList compiledRules() public IndividualRule create(JSONObject data) { String kind = Helper.unwrapString(data.get(KIND)); - if( kind == "ChromosomeRuleImpl") + if ("ChromosomeRuleImpl".equals(kind)) { - return new ChromosomeRuleImpl(data); + return new ChromosomeRuleImpl(data, getModel()); } - else if( kind == "HaploidRuleImpl" ) + else if ("HaploidRuleImpl".equals(kind)) { return new HaploidRuleImpl(data); } - else if( kind == "SexRuleImpl") + else if ("SexRuleImpl".equals(kind)) { - return new SexRuleImpl(data); + return new SexRuleImpl(data, getModel()); } else { @@ -80,31 +82,48 @@ else if (element instanceof SexRuleImpl) }; } - private JSONObject data; + private final JSONObject data; + private final Model model; + public Model getModel() + { + return model; + } - public RuleImpl(JSONObject data) + public RuleImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } - public RuleImpl(String rule, HashMap properties, Genome g) + static Logger logger = Logger.getLogger("RuleImpl"); + + public RuleImpl(String rule, HashMap properties, Genome g, Model model) { + this.model = model; + logger.log(Level.INFO, "step 1"); data = new JSONObject(); + logger.log(Level.INFO, "step 2"); data.put(NAME, Helper.wrapString(rule)); + logger.log(Level.INFO, "step 3"); data.put(COMPILEDRULES, new JSONArray()); + logger.log(Level.INFO, "step 4"); + data.put(PROPERTIES, new JSONObject()); addProperties(properties); + logger.log(Level.INFO, "step 5"); if (!isDefault()) { + logger.log(Level.INFO, "step 5a"); parseRules(rule, g); } + logger.log(Level.INFO, "step 6"); } @Override public JSONObject getJSON() { - return data; + return data; } - + public void addProperties(Map properties) { for (Entry entry : properties.entrySet()) @@ -120,30 +139,49 @@ public JSONableMap getProperties() String getName() { + logger.log(Level.INFO, "step 5c" + data); return Helper.unwrapString(data.get(NAME)); } private void parseRules(String rule, Genome g) { + logger.log(Level.INFO, "pR 1"); + data.put(COMPILEDRULES, new JSONArray()); + logger.log(Level.INFO, "pR 2"); StringTokenizer ruleSplit = new StringTokenizer(rule, ";"); //$NON-NLS-1$ + logger.log(Level.INFO, "pR 3"); while (ruleSplit.hasMoreTokens()) { + logger.log(Level.INFO, "pR 4"); String oneRule = ruleSplit.nextToken().trim(); boolean isRuleParsed = false; + logger.log(Level.INFO, "pR 5"); + if (!isRuleParsed) { + logger.log(Level.INFO, "pR 6"); + isRuleParsed = parseSexRule(oneRule, g); } if (!isRuleParsed) { + logger.log(Level.INFO, "pR 7"); + isRuleParsed = parseHaploidRule(oneRule, g); } if (!isRuleParsed) { + logger.log(Level.INFO, "pR 8"); + parseOneRule(oneRule, g); + } + logger.log(Level.INFO, "pR 9"); + } + logger.log(Level.INFO, "pR 10"); + } private boolean parseHaploidRule(String oneRule, Genome g) @@ -174,12 +212,12 @@ private boolean parseSexRule(String oneRule, Genome g) if (s.equals("sex:male")) //$NON-NLS-1$ { ret = true; - compiledRules().add(new SexRuleImpl(Creature.Sex.MALE)); + compiledRules().add(new SexRuleImpl(Creature.Sex.MALE, getModel())); } else if (s.equals("sex:female")) //$NON-NLS-1$ { ret = true; - compiledRules().add(new SexRuleImpl(Creature.Sex.FEMALE)); + compiledRules().add(new SexRuleImpl(Creature.Sex.FEMALE, getModel())); } } } @@ -191,12 +229,12 @@ else if (SexType.Aa.equals(g.getSexType())) if (s.equals("sex:mata")) //$NON-NLS-1$ { ret = true; - compiledRules().add(new SexRuleImpl(Creature.Sex.MALE)); + compiledRules().add(new SexRuleImpl(Creature.Sex.MALE,getModel())); } else if (s.equals("sex:matalpha")) //$NON-NLS-1$ { ret = true; - compiledRules().add(new SexRuleImpl(Creature.Sex.FEMALE)); + compiledRules().add(new SexRuleImpl(Creature.Sex.FEMALE,getModel())); } } } @@ -205,16 +243,20 @@ else if (s.equals("sex:matalpha")) //$NON-NLS-1$ private void parseOneRule(String oneRule, Genome g) { + logger.log(Level.INFO, "pOR 1"); int chromosomeSplit = oneRule.indexOf(':'); String chromosomeName = null; Chromosome chromosome = null; + if (chromosomeSplit != -1) { + logger.log(Level.INFO, "pOR 2"); chromosomeName = oneRule.substring(0, chromosomeSplit).trim(); chromosome = g.getChromosomeByName(chromosomeName); } else { + logger.log(Level.INFO, "pOR 3"); int indexC = oneRule.indexOf(','); int indexS = oneRule.indexOf(' '); if (indexC == -1) @@ -237,55 +279,88 @@ private void parseOneRule(String oneRule, Genome g) } } } + logger.log(Level.INFO, "pOR 4"); + if (chromosome != null) { + logger.log(Level.INFO, "pOR 5"); + String alleles = oneRule.substring(chromosomeSplit + 1).trim(); + logger.log(Level.INFO, "pOR 9"); ChromosomeRuleImpl cr = makeChromosomeRule(alleles, chromosome); + logger.log(Level.INFO, "pOR 10"); if (cr != null) { + logger.log(Level.INFO, "pOR 11"); + compiledRules().add(cr); + logger.log(Level.INFO, "pOR 12"); + } + logger.log(Level.INFO, "pOR 8"); + } else { + logger.log(Level.INFO, "pOR 6"); + if (!"default".equalsIgnoreCase(oneRule.trim())) //$NON-NLS-1$ { throw new RuntimeException(MessageFormat.format(Messages.getString("RuleImpl.2"), oneRule)); //$NON-NLS-1$ } } + logger.log(Level.INFO, "pOR 7"); + } private ChromosomeRuleImpl makeChromosomeRule(String alleles, Chromosome chromosome) { - ChromosomeRuleImpl cr = new ChromosomeRuleImpl(chromosome); + logger.log(Level.INFO, "mcR 1"); + ChromosomeRuleImpl cr = new ChromosomeRuleImpl(chromosome, getModel()); + logger.log(Level.INFO, "mcR 2"); StringTokenizer strandSplit = new StringTokenizer(alleles, ","); //$NON-NLS-1$ boolean add = false; int strand = 0; + logger.log(Level.INFO, "mcR 3"); while (strandSplit.hasMoreTokens()) { + logger.log(Level.INFO, "mcR 4"); String strandRule = strandSplit.nextToken().trim(); StringTokenizer allelesSplit = new StringTokenizer(strandRule, " "); //$NON-NLS-1$ + logger.log(Level.INFO, "mcR 5"); while (allelesSplit.hasMoreTokens()) { + logger.log(Level.INFO, "mcR 6"); String alleleName = allelesSplit.nextToken().trim(); + logger.log(Level.INFO, "mcR 7"); Allele allele = chromosome.getAlleleByName(alleleName); + logger.log(Level.INFO, "mcR 8"); if (allele != null) { + logger.log(Level.INFO, "mcR 8 a"); + cr.addAllele(strand, allele); + logger.log(Level.INFO, "mcR 8 b"); add = true; } else { + logger.log(Level.INFO, "mcR 8 exc"); + throw new RuntimeException(MessageFormat.format(Messages.getString("RuleImpl.1"), alleleName, getName())); //$NON-NLS-1$ } + logger.log(Level.INFO, "mcR 9"); } strand++; + logger.log(Level.INFO, "mcR 10"); } + logger.log(Level.INFO, "mcR 11"); return add ? cr : null; } public boolean isDefault() { + logger.log(Level.INFO, "step 5b"); return DEFAULT.equalsIgnoreCase(getName()) || "*".equalsIgnoreCase(getName()); } diff --git a/src/star/genetics/genetic/impl/RuleMakeup.java b/src/star/genetics/genetic/impl/RuleMakeup.java index 4b610c3..ee23556 100644 --- a/src/star/genetics/genetic/impl/RuleMakeup.java +++ b/src/star/genetics/genetic/impl/RuleMakeup.java @@ -5,16 +5,23 @@ import star.genetics.client.JSONable; import star.genetics.genetic.model.DiploidAlleles; import star.genetics.genetic.model.Gene; +import star.genetics.genetic.model.Model; import com.google.gwt.json.client.JSONObject; public class RuleMakeup implements JSONable { - private JSONObject data; + private final JSONObject data; + private final Model model; + public Model getModel() + { + return model; + } - RuleMakeup( JSONObject data ) + RuleMakeup( JSONObject data , Model model) { this.data = data; + this.model = model; } @Override @@ -25,17 +32,18 @@ public JSONObject getJSON() public void put(Gene g, DiploidAlleles d) { - data.get(MAKEUP).isObject().put(g.getJSON().toString(), d.getJSON()); + String gene_str = g.getJSON().toString(); + data.get(MAKEUP).isObject().put(gene_str, d.getJSON()); } public DiploidAlleles get(Gene g) { - return new DiploidAllelesImpl(data.get(MAKEUP).isObject().get(g.getJSON().toString()).isObject()); + return new DiploidAllelesImpl(data.get(MAKEUP).isObject().get(g.getJSON().toString()).isObject(),getModel()); } public DiploidAlleles get(String g) { - return new DiploidAllelesImpl(data.get(MAKEUP).isObject().get(g).isObject()); + return new DiploidAllelesImpl(data.get(MAKEUP).isObject().get(g).isObject(),getModel()); } int size() diff --git a/src/star/genetics/genetic/impl/RuleSetImpl.java b/src/star/genetics/genetic/impl/RuleSetImpl.java index dfd1948..cd20431 100644 --- a/src/star/genetics/genetic/impl/RuleSetImpl.java +++ b/src/star/genetics/genetic/impl/RuleSetImpl.java @@ -1,42 +1,52 @@ package star.genetics.genetic.impl; -import java.util.ArrayList; -import java.util.Collections; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; - -import com.google.gwt.json.client.JSONArray; -import com.google.gwt.json.client.JSONObject; +import java.util.logging.Level; +import java.util.logging.Logger; import star.genetics.client.Helper; import star.genetics.client.JSONableList; import star.genetics.genetic.model.Creature; import star.genetics.genetic.model.GeneticMakeup; +import star.genetics.genetic.model.Model; import star.genetics.genetic.model.Rule; +import com.google.gwt.json.client.JSONArray; +import com.google.gwt.json.client.JSONObject; + public class RuleSetImpl implements star.genetics.genetic.model.RuleSet { private static final long serialVersionUID = 1L; - private JSONObject data; - - JSONableList getRules() { + private final JSONObject data; + private final Model model; + public Model getModel() + { + return model; + } + JSONableList getRules() + { return new JSONableList(data.get(RULES).isArray()) { @Override - public Rule create(JSONObject data) - { - return new RuleImpl(data); - } + public Rule create(JSONObject data) + { + return new RuleImpl(data,getModel()); + } }; } - public RuleSetImpl(LinkedHashSet orderedSet) + + public RuleSetImpl(LinkedHashSet orderedSet, Model model) { + this.data = new JSONObject(); + this.model = model; JSONArray d = new JSONArray(); JSONableList q = new JSONableList(d) { @@ -51,8 +61,8 @@ public String create(JSONObject data) { q.add(s); } - data.put( "propertyNames" , d); - data.put( RULES, new JSONArray()); + data.put(PROPERTIES, d); + data.put(RULES, new JSONArray()); } public JSONObject getJSON() @@ -62,26 +72,36 @@ public JSONObject getJSON() JSONableList propertyNames() { - return new JSONableList(data.get("propertyNames").isArray()) + return new JSONableList(data.get(PROPERTIES).isArray()) { @Override public String create(JSONObject data) { return Helper.unwrapString(data); } + + @Override + public Iterator iterator() + { + return super.iterator(); + } }; } - public RuleSetImpl() + public RuleSetImpl(Model model) { + this.model = model; this.data = new JSONObject(); - data.put("propertyNames", new JSONArray()); + data.put(PROPERTIES, new JSONArray()); + data.put(RULES, new JSONArray()); + } - public RuleSetImpl(JSONObject data) - { - this.data =data; - } + public RuleSetImpl(JSONObject data, Model model) + { + this.model = model; + this.data = data; + } public Map getProperties(GeneticMakeup genotype, Creature.Sex sex) { @@ -123,15 +143,23 @@ private void combine(Map target, Map source) } } + static Logger logger = Logger.getLogger("RuleSetImpl"); + @Override public boolean add(Rule rule) { + logger.log( Level.INFO, "step 1"); JSONableList propertyNames = propertyNames(); + logger.log( Level.INFO, "step 2:" + data.get(PROPERTIES)); for (String s : rule.getProperties().asMap().keySet()) { + logger.log( Level.INFO, "step 2a " + propertyNames); propertyNames.add(s); + logger.log( Level.INFO, "step 2b"); } + logger.log( Level.INFO, "step 3"); getRules().add(rule); + logger.log( Level.INFO, "step 4"); return true; } diff --git a/src/star/genetics/genetic/impl/SexRuleImpl.java b/src/star/genetics/genetic/impl/SexRuleImpl.java index ab82728..02f9b81 100644 --- a/src/star/genetics/genetic/impl/SexRuleImpl.java +++ b/src/star/genetics/genetic/impl/SexRuleImpl.java @@ -2,15 +2,23 @@ import java.io.Serializable; -import com.google.gwt.json.client.JSONObject; - import star.genetics.genetic.model.Creature.Sex; import star.genetics.genetic.model.GeneticMakeup; +import star.genetics.genetic.model.Model; + +import com.google.gwt.json.client.JSONObject; public class SexRuleImpl implements IndividualRule, Serializable { private static final long serialVersionUID = 1L; + Model model; + + @Override + public Model getModel() + { + return model; + } private Sex s() { return Sex.fromJSON(data.get(SEX)); @@ -18,15 +26,17 @@ private Sex s() private JSONObject data; - public SexRuleImpl(Sex s) + public SexRuleImpl(Sex s, Model model) { data = new JSONObject(); data.put(SEX, s.getJSON()); + this.model = model; } - public SexRuleImpl(JSONObject data) + public SexRuleImpl(JSONObject data, Model model) { this.data = data; + this.model = model; } @Override diff --git a/src/star/genetics/genetic/model/Rule.java b/src/star/genetics/genetic/model/Rule.java index 325ef61..7ee75b8 100644 --- a/src/star/genetics/genetic/model/Rule.java +++ b/src/star/genetics/genetic/model/Rule.java @@ -1,7 +1,5 @@ package star.genetics.genetic.model; -import java.util.HashMap; - import star.genetics.client.JSONable; import star.genetics.client.JSONableMap; diff --git a/src/star/genetics/parser/EngineParser.java b/src/star/genetics/parser/EngineParser.java index b7d7b95..ae97f69 100644 --- a/src/star/genetics/parser/EngineParser.java +++ b/src/star/genetics/parser/EngineParser.java @@ -46,27 +46,27 @@ private static void parse_XY(ModelImpl model, JSONObject engine) float twinningFrequency = get(engine, "twinning", 0.0f); float identicalTwinsFrequency = get(engine, "identical_twins_frequency", 0.0f); - MatingEngineImpl_XY xy = new MatingEngineImpl_XY(maleRecombinationRate, femaleRecombinationRate, femaleSexRatio, progeniesCount, twinningFrequency, identicalTwinsFrequency); + MatingEngineImpl_XY xy = new MatingEngineImpl_XY(maleRecombinationRate, femaleRecombinationRate, femaleSexRatio, progeniesCount, twinningFrequency, identicalTwinsFrequency,model); model.setMater(xy); // fix genome - fixGenome_XY(model.getGenome()); + fixGenome_XY(model.getGenome(), model); } - private static void fixGenome_XY(Genome genome) + private static void fixGenome_XY(Genome genome, ModelImpl model) { Chromosome cx = genome.getChromosomeByName("X"); if (cx == null) { - cx = new ChromosomeImpl("X", genome); - Gene gx = new GeneImpl("x", 0, cx); - new AlleleImpl("x", gx); + cx = new ChromosomeImpl("X", genome, model); + Gene gx = new GeneImpl("x", 0, cx, model); + new AlleleImpl("x", gx,model); } Chromosome cy = genome.getChromosomeByName("Y"); if (cy == null) { - cy = new ChromosomeImpl("Y", genome); - Gene gy = new GeneImpl("y", 0, cy); - new AlleleImpl("x", gy); + cy = new ChromosomeImpl("Y", genome, model); + Gene gy = new GeneImpl("y", 0, cy, model); + new AlleleImpl("x", gy,model); } } diff --git a/src/star/genetics/parser/GenomeParser.java b/src/star/genetics/parser/GenomeParser.java index 7b4c0c3..868b0df 100644 --- a/src/star/genetics/parser/GenomeParser.java +++ b/src/star/genetics/parser/GenomeParser.java @@ -1,5 +1,8 @@ package star.genetics.parser; +import java.util.logging.Level; +import java.util.logging.Logger; + import star.genetics.genetic.impl.AlleleImpl; import star.genetics.genetic.impl.ChromosomeImpl; import star.genetics.genetic.impl.GeneImpl; @@ -11,59 +14,94 @@ public class GenomeParser { + static Logger logger = Logger.getLogger("GenomeParser"); public static void parse(ModelImpl model, JSONObject genome) { - GenomeImpl ret = new GenomeImpl(); - parseChromosomes(ret, genome.get("chromosomes").isObject()); + logger.log(Level.INFO, "step 1"); + GenomeImpl ret = new GenomeImpl(model); + logger.log(Level.INFO, "step 2"); model.setGenome(ret); + logger.log(Level.INFO, "step 3"); + parseChromosomes(ret, genome.get("chromosomes").isObject(), model); + logger.log(Level.INFO, "step 4"); + } - private static void parseChromosomes(GenomeImpl genome, JSONObject chromosomes) + private static void parseChromosomes(GenomeImpl genome, JSONObject chromosomes, ModelImpl model) { + logger.log(Level.INFO, "step 5"); for (String chromosome_id : chromosomes.keySet()) { - ChromosomeImpl c = new ChromosomeImpl(chromosome_id, genome); - parseChromosome(c, chromosomes.get(chromosome_id).isObject()); + logger.log(Level.INFO, "step 7"); + ChromosomeImpl c = new ChromosomeImpl(chromosome_id, genome, model); + logger.log(Level.INFO, "step 8"); + parseChromosome(c, chromosomes.get(chromosome_id).isObject(), model); + logger.log(Level.INFO, "step 9"); } + logger.log(Level.INFO, "step 6"); } - private static void parseChromosome(ChromosomeImpl c, JSONObject chromosome) + private static void parseChromosome(ChromosomeImpl c, JSONObject chromosome, ModelImpl model) { + logger.log(Level.INFO, "step 10"); String name = chromosome.get("name").isString().stringValue(); - parseGenes(c, chromosome.get("genes").isArray()); + logger.log(Level.INFO, "step 11"); + parseGenes(c, chromosome.get("genes").isArray(), model); + logger.log(Level.INFO, "step 12"); } - private static void parseGenes(ChromosomeImpl c, JSONArray genes) + private static void parseGenes(ChromosomeImpl c, JSONArray genes, ModelImpl model) { + logger.log(Level.INFO, "step 13"); for (int i = 0; i < genes.size(); i++) { + logger.log(Level.INFO, "step 14"); JSONObject gene = genes.get(i).isObject(); - parseGene(c, gene); + logger.log(Level.INFO, "step 15"); + parseGene(c, gene, model); + logger.log(Level.INFO, "step 16"); } + logger.log(Level.INFO, "step 17"); } - private static void parseGene(ChromosomeImpl c, JSONObject gene) + private static void parseGene(ChromosomeImpl c, JSONObject gene, ModelImpl model) { + logger.log(Level.INFO, "step 18"); String name = gene.get("name").isString().stringValue(); + logger.log(Level.INFO, "step 19"); float position = (float) gene.get("position").isNumber().doubleValue(); - GeneImpl g = new GeneImpl(name, position, c); - parseAlleles(g, gene.get("alleles").isArray()); + logger.log(Level.INFO, "step 20"); + GeneImpl g = new GeneImpl(name, position, c, model); + logger.log(Level.INFO, "step 21"); + parseAlleles(g, gene.get("alleles").isArray(), model); + logger.log(Level.INFO, "step 22"); } - private static void parseAlleles(GeneImpl gene, JSONArray alleles) + private static void parseAlleles(GeneImpl gene, JSONArray alleles, ModelImpl model) { + logger.log(Level.INFO, "step 23"); + for (int i = 0; i < alleles.size(); i++) { - parseAllele(gene, alleles.get(i).isObject()); + logger.log(Level.INFO, "step 24"); + + parseAllele(gene, alleles.get(i).isObject(), model); + logger.log(Level.INFO, "step 25"); + } + logger.log(Level.INFO, "step 26"); + } - private static void parseAllele(GeneImpl gene, JSONObject allele) + private static void parseAllele(GeneImpl gene, JSONObject allele, ModelImpl model) { + logger.log(Level.INFO, "step 27"); String name = allele.get("name").isString().stringValue(); - AlleleImpl a = new AlleleImpl(name, gene); + logger.log(Level.INFO, "step 28"); + AlleleImpl a = new AlleleImpl(name, gene, model); + logger.log(Level.INFO, "step 29"); } } diff --git a/src/star/genetics/parser/ModelParser.java b/src/star/genetics/parser/ModelParser.java index 10a5a7a..57eb439 100644 --- a/src/star/genetics/parser/ModelParser.java +++ b/src/star/genetics/parser/ModelParser.java @@ -1,5 +1,8 @@ package star.genetics.parser; +import java.util.logging.Level; +import java.util.logging.Logger; + import star.genetics.genetic.impl.ModelImpl; import star.genetics.genetic.model.Model; @@ -22,18 +25,30 @@ private static void parse(ModelImpl model, JSONObject top) private static void parseGenetics(ModelImpl model, JSONObject genetics) { + Logger logger = Logger.getLogger("Parse"); + logger.log( Level.INFO , "parse A"); VisualizerParser.parse(model, genetics.get("visualizer").isObject()); + logger.log( Level.INFO , "parse B"); GenomeParser.parse(model, genetics.get("genome").isObject()); + logger.log( Level.INFO , "parse C"); EngineParser.parse(model, genetics.get("engine").isObject()); + logger.log( Level.INFO , "parse D"); PhenotypeRulesParser.parse(model, genetics.get("phenotype_rules").isArray()); + logger.log( Level.INFO , "parse E"); StrainsParser.parse(model, genetics.get("strains").isObject()); + logger.log( Level.INFO , "parse F"); } public static Model parse(String json) { + Logger logger = Logger.getLogger("Parse"); + logger.log( Level.INFO , "parse Start E"); ModelImpl model = new ModelImpl(); + logger.log( Level.INFO , "parse 2"); JSONObject top = getTop(json); + logger.log( Level.INFO , "parse 3"); parse(model, top); + logger.log( Level.INFO , "parse End"); return model; } diff --git a/src/star/genetics/parser/PhenotypeRulesParser.java b/src/star/genetics/parser/PhenotypeRulesParser.java index c5f3439..ce840ce 100644 --- a/src/star/genetics/parser/PhenotypeRulesParser.java +++ b/src/star/genetics/parser/PhenotypeRulesParser.java @@ -1,6 +1,8 @@ package star.genetics.parser; import java.util.HashMap; +import java.util.logging.Level; +import java.util.logging.Logger; import star.genetics.genetic.impl.ModelImpl; import star.genetics.genetic.impl.RuleImpl; @@ -13,32 +15,50 @@ public class PhenotypeRulesParser { + static Logger logger = Logger.getLogger("PhenotypeRulesParser"); public static void parse(ModelImpl model, JSONArray rules) { - RuleSetImpl set = new RuleSetImpl(); + logger.log(Level.INFO, "step 1"); + + RuleSetImpl set = new RuleSetImpl(model); + logger.log(Level.INFO, "step 2"); for (int i = 0; i < rules.size(); i++) { + logger.log(Level.INFO, "step 3"); + JSONObject rule = rules.get(i).isObject(); - set.add(parseRule(set, rule, model.getGenome())); + logger.log(Level.INFO, "step 4 QQ"); + + set.add(parseRule(set, rule, model.getGenome(),model)); + logger.log(Level.INFO, "step 5 " + i + " " + rules.size()); } + logger.log(Level.INFO, "step 6"); model.setRules(set); + logger.log(Level.INFO, "step 7"); + } - private static Rule parseRule(RuleSetImpl set, JSONObject rule, Genome genome) + private static Rule parseRule(RuleSetImpl set, JSONObject rule, Genome genome, ModelImpl model) { + logger.log(Level.INFO, "step 8"); String matches = rule.get("matches").isString().stringValue(); HashMap phenotype = parsePhenotype(rule.get("phenotype").isObject()); - return new RuleImpl(matches, phenotype, genome); + logger.log(Level.INFO, "step 9"); + RuleImpl ret = new RuleImpl(matches, phenotype, genome,model); + logger.log(Level.INFO, "step 10"); + return ret; } private static HashMap parsePhenotype(JSONObject object) { + logger.log(Level.INFO, "step 11"); HashMap ret = new HashMap(); for (String key : object.keySet()) { ret.put(key, object.get(key).toString()); } + logger.log(Level.INFO, "step 12"); return ret; } diff --git a/src/star/genetics/parser/StrainsParser.java b/src/star/genetics/parser/StrainsParser.java index d07cf28..a77391f 100644 --- a/src/star/genetics/parser/StrainsParser.java +++ b/src/star/genetics/parser/StrainsParser.java @@ -23,7 +23,7 @@ public class StrainsParser public static void parse(ModelImpl model, JSONObject strains) { - CreatureSetImpl set = new CreatureSetImpl(); + CreatureSetImpl set = new CreatureSetImpl(model); parseStrains(model, set, strains.get("initial").isObject()); model.setCreatures(set); } @@ -43,14 +43,13 @@ private static void parseStrain(ModelImpl model, CreatureSetImpl set, JSONObject String ssex = strain.get("sex").isString().stringValue(); Sex sex = "M".equalsIgnoreCase(ssex) ? Sex.MALE : Sex.FEMALE; GeneticMakeupImpl makeup = parseGeneticMakeup(model, strain.get("alleles").isArray()); - fixMakeup_XY(model.getGenome(), makeup, sex); + fixMakeup_XY(model.getGenome(), makeup, sex, model); Map properties = new HashMap(); - CreatureImpl c = new CreatureImpl(name, model.getGenome(), sex, makeup, model.getMatingsCount(), properties, null); - + CreatureImpl c = new CreatureImpl(name, model.getGenome(), sex, makeup, model.getMatingsCount(), properties, null, model); set.add(c); } - private static void fixMakeup_XY(Genome genome, GeneticMakeupImpl makeup, Sex sex) + private static void fixMakeup_XY(Genome genome, GeneticMakeupImpl makeup, Sex sex, ModelImpl model) { Chromosome cx = genome.getChromosomeByName("X"); if (cx != null && cx.getGenes().size() == 1) @@ -60,7 +59,7 @@ private static void fixMakeup_XY(Genome genome, GeneticMakeupImpl makeup, Sex se if (da == null) { Allele x = gx.getGeneTypes().iterator().next(); - makeup.put(gx, new DiploidAllelesImpl(x, Sex.MALE.equals(sex) ? null : x)); + makeup.put(gx, new DiploidAllelesImpl(x, Sex.MALE.equals(sex) ? null : x, model)); } } Chromosome cy = genome.getChromosomeByName("Y"); @@ -71,14 +70,14 @@ private static void fixMakeup_XY(Genome genome, GeneticMakeupImpl makeup, Sex se if (da == null) { Allele y = gy.getGeneTypes().iterator().next(); - makeup.put(gy, new DiploidAllelesImpl(null, Sex.MALE.equals(sex) ? y : null)); + makeup.put(gy, new DiploidAllelesImpl(null, Sex.MALE.equals(sex) ? y : null, model)); } } } private static GeneticMakeupImpl parseGeneticMakeup(ModelImpl model, JSONArray array) { - GeneticMakeupImpl ret = new GeneticMakeupImpl(); + GeneticMakeupImpl ret = new GeneticMakeupImpl(model); for (int i = 0; i < array.size(); i++) { parseAlleles(model, ret, array.get(i).isString().stringValue()); @@ -95,7 +94,7 @@ private static void parseAlleles(ModelImpl model, GeneticMakeupImpl ret, String { alleles[i] = getAllele(genome, alleleStr[i]); } - ret.put(alleles[0].getGene(), new DiploidAllelesImpl(alleles)); + ret.put(alleles[0].getGene(), new DiploidAllelesImpl(alleles, model)); } private static Allele getAllele(star.genetics.genetic.model.Genome g, String allele) diff --git a/test/star/genetics/tests/SetupModel.java b/test/star/genetics/tests/SetupModel.java index ec4040f..c8ca4d7 100644 --- a/test/star/genetics/tests/SetupModel.java +++ b/test/star/genetics/tests/SetupModel.java @@ -35,7 +35,7 @@ public void test2() Creature c0 = m.getCreatures().get(0); Creature c1 = m.getCreatures().get(1); assertTrue(c0.getSex() != c1.getSex() ); - CreatureSetImpl parents = new CreatureSetImpl(); + CreatureSetImpl parents = new CreatureSetImpl(null); parents.add(c0); parents.add(c1); try diff --git a/war/stargenetics_gwt_java/2A4520198C13C2974AEC0A466C63FBE2.cache.html b/war/stargenetics_gwt_java/284C5226A995E1F8E53446357CAF21E7.cache.html similarity index 65% rename from war/stargenetics_gwt_java/2A4520198C13C2974AEC0A466C63FBE2.cache.html rename to war/stargenetics_gwt_java/284C5226A995E1F8E53446357CAF21E7.cache.html index f15e06c..6223069 100644 --- a/war/stargenetics_gwt_java/2A4520198C13C2974AEC0A466C63FBE2.cache.html +++ b/war/stargenetics_gwt_java/284C5226A995E1F8E53446357CAF21E7.cache.html @@ -4,15 +4,15 @@ var $wnd = parent; var $doc = $wnd.document; var $moduleName, $moduleBase; -var $strongName = '2A4520198C13C2974AEC0A466C63FBE2'; +var $strongName = '284C5226A995E1F8E53446357CAF21E7'; var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null, $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; $stats && $stats({moduleName:'stargenetics_gwt_java',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'}); + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + + - + - + - + + - + + + - + + + + - + + + - + - diff --git a/war/stargenetics_gwt_java/7D5DA7D70B41A543B95892B8A50C0835.cache.html b/war/stargenetics_gwt_java/7A97DFC9A07B114F0D58C342BF28549C.cache.html similarity index 64% rename from war/stargenetics_gwt_java/7D5DA7D70B41A543B95892B8A50C0835.cache.html rename to war/stargenetics_gwt_java/7A97DFC9A07B114F0D58C342BF28549C.cache.html index f6d403a..3b5c0c0 100644 --- a/war/stargenetics_gwt_java/7D5DA7D70B41A543B95892B8A50C0835.cache.html +++ b/war/stargenetics_gwt_java/7A97DFC9A07B114F0D58C342BF28549C.cache.html @@ -4,17 +4,17 @@ var $wnd = parent; var $doc = $wnd.document; var $moduleName, $moduleBase; -var $strongName = '7D5DA7D70B41A543B95892B8A50C0835'; +var $strongName = '7A97DFC9A07B114F0D58C342BF28549C'; var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null, $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; $stats && $stats({moduleName:'stargenetics_gwt_java',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'}); + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + + - + - + - + + + - + + - + + + + - + + + - + diff --git a/war/stargenetics_gwt_java/D76B1B8FB9EC35F7CD00411DE84F03E7.cache.html b/war/stargenetics_gwt_java/AC0092883DA3296B7A5B74D66E7C365F.cache.html similarity index 65% rename from war/stargenetics_gwt_java/D76B1B8FB9EC35F7CD00411DE84F03E7.cache.html rename to war/stargenetics_gwt_java/AC0092883DA3296B7A5B74D66E7C365F.cache.html index 756fc98..688fa16 100644 --- a/war/stargenetics_gwt_java/D76B1B8FB9EC35F7CD00411DE84F03E7.cache.html +++ b/war/stargenetics_gwt_java/AC0092883DA3296B7A5B74D66E7C365F.cache.html @@ -4,15 +4,15 @@ var $wnd = parent; var $doc = $wnd.document; var $moduleName, $moduleBase; -var $strongName = 'D76B1B8FB9EC35F7CD00411DE84F03E7'; +var $strongName = 'AC0092883DA3296B7A5B74D66E7C365F'; var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null, $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; $stats && $stats({moduleName:'stargenetics_gwt_java',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'}); + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + + - + + - + + + + + + - + + + - + - diff --git a/war/stargenetics_gwt_java/8AAEA6CAE2C98277BEAE8149D5DC4F55.cache.html b/war/stargenetics_gwt_java/D919D8D961D2F8B548F554EB7269780A.cache.html similarity index 65% rename from war/stargenetics_gwt_java/8AAEA6CAE2C98277BEAE8149D5DC4F55.cache.html rename to war/stargenetics_gwt_java/D919D8D961D2F8B548F554EB7269780A.cache.html index 823de27..ae37ef5 100644 --- a/war/stargenetics_gwt_java/8AAEA6CAE2C98277BEAE8149D5DC4F55.cache.html +++ b/war/stargenetics_gwt_java/D919D8D961D2F8B548F554EB7269780A.cache.html @@ -4,15 +4,15 @@ var $wnd = parent; var $doc = $wnd.document; var $moduleName, $moduleBase; -var $strongName = '8AAEA6CAE2C98277BEAE8149D5DC4F55'; +var $strongName = 'D919D8D961D2F8B548F554EB7269780A'; var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null, $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; $stats && $stats({moduleName:'stargenetics_gwt_java',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'}); + - + - + - + - + - + - + - + - + - - + - + - + - + - + + - + - + + - + + + - + + + + + + - + + - diff --git a/war/stargenetics_gwt_java/BC9D1B25343A558CE5EB2E667BEF34D4.cache.html b/war/stargenetics_gwt_java/E002EA5FCDD2E89FE1450FC8794E714D.cache.html similarity index 64% rename from war/stargenetics_gwt_java/BC9D1B25343A558CE5EB2E667BEF34D4.cache.html rename to war/stargenetics_gwt_java/E002EA5FCDD2E89FE1450FC8794E714D.cache.html index f25212f..74f0e8e 100644 --- a/war/stargenetics_gwt_java/BC9D1B25343A558CE5EB2E667BEF34D4.cache.html +++ b/war/stargenetics_gwt_java/E002EA5FCDD2E89FE1450FC8794E714D.cache.html @@ -4,15 +4,15 @@ var $wnd = parent; var $doc = $wnd.document; var $moduleName, $moduleBase; -var $strongName = 'BC9D1B25343A558CE5EB2E667BEF34D4'; +var $strongName = 'E002EA5FCDD2E89FE1450FC8794E714D'; var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null, $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; $stats && $stats({moduleName:'stargenetics_gwt_java',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'}); + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + + - + + - + + + - + + + + + + - + + - diff --git a/war/stargenetics_gwt_java/217524B69B8B652B7A502D68575B13C8.cache.html b/war/stargenetics_gwt_java/E7E9FDC239C31A840641373BAD306DA2.cache.html similarity index 65% rename from war/stargenetics_gwt_java/217524B69B8B652B7A502D68575B13C8.cache.html rename to war/stargenetics_gwt_java/E7E9FDC239C31A840641373BAD306DA2.cache.html index e926125..561ae23 100644 --- a/war/stargenetics_gwt_java/217524B69B8B652B7A502D68575B13C8.cache.html +++ b/war/stargenetics_gwt_java/E7E9FDC239C31A840641373BAD306DA2.cache.html @@ -4,15 +4,15 @@ var $wnd = parent; var $doc = $wnd.document; var $moduleName, $moduleBase; -var $strongName = '217524B69B8B652B7A502D68575B13C8'; +var $strongName = 'E7E9FDC239C31A840641373BAD306DA2'; var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null, $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null; $stats && $stats({moduleName:'stargenetics_gwt_java',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'}); + - + - + - + - + - + - + - @@ -5119,7 +5131,7 @@ this.com_google_gwt_user_client_ui_DirectionalTextHelper_textDir = this.com_google_gwt_user_client_ui_DirectionalTextHelper_initialElementDir; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(219, 1, {}, com_google_gwt_user_client_ui_DirectionalTextHelper_DirectionalTextHelper__Lcom_google_gwt_dom_client_Element_2ZV); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(218, 1, {}, com_google_gwt_user_client_ui_DirectionalTextHelper_DirectionalTextHelper__Lcom_google_gwt_dom_client_Element_2ZV); _.com_google_gwt_user_client_ui_DirectionalTextHelper_element = null; _.com_google_gwt_user_client_ui_DirectionalTextHelper_initialElementDir = null; _.com_google_gwt_user_client_ui_DirectionalTextHelper_textDir = null; @@ -5142,7 +5154,7 @@ this.com_google_gwt_user_client_ui_LabelBase_directionalTextHelper = new com_google_gwt_user_client_ui_DirectionalTextHelper_DirectionalTextHelper__Lcom_google_gwt_dom_client_Element_2ZV(this.com_google_gwt_user_client_ui_UIObject_element); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(222, 162, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget])); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(221, 161, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget])); _.com_google_gwt_user_client_ui_LabelBase_autoHorizontalAlignment = null; _.com_google_gwt_user_client_ui_LabelBase_directionalTextHelper = null; _.com_google_gwt_user_client_ui_LabelBase_horzAlign = null; @@ -5157,7 +5169,7 @@ com_google_gwt_user_client_ui_LabelBase_$updateHorizontalAlignment__Lcom_google_gwt_user_client_ui_LabelBase_2V(this); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(221, 222, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_Label_Label__Ljava_lang_String_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(220, 221, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_Label_Label__Ljava_lang_String_2V); function com_google_gwt_user_client_ui_HTML_HTML__Ljava_lang_String_2V(html){ com_google_gwt_user_client_ui_Label_Label__Lcom_google_gwt_dom_client_Element_2V.call(this, $doc.createElement($intern_24)); this.com_google_gwt_user_client_ui_UIObject_element[$intern_55] = 'gwt-HTML'; @@ -5165,7 +5177,7 @@ com_google_gwt_user_client_ui_LabelBase_$updateHorizontalAlignment__Lcom_google_gwt_user_client_ui_LabelBase_2V(this); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(220, 221, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_HTML_HTML__Ljava_lang_String_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(219, 220, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_HTML_HTML__Ljava_lang_String_2V); function com_google_gwt_user_client_ui_HasAutoHorizontalAlignment_$clinit__V(){ com_google_gwt_user_client_ui_HasAutoHorizontalAlignment_$clinit__V = nullMethod; com_google_gwt_user_client_ui_HasAutoHorizontalAlignment_ALIGN_1CONTENT_1START = new com_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_HasHorizontalAlignment$AutoHorizontalAlignmentConstant__V; @@ -5187,7 +5199,7 @@ function com_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_HasHorizontalAlignment$AutoHorizontalAlignmentConstant__V(){ } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(223, 1, {}, com_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_HasHorizontalAlignment$AutoHorizontalAlignmentConstant__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(222, 1, {}, com_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_HasHorizontalAlignment$AutoHorizontalAlignmentConstant__V); function com_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_HasHorizontalAlignment$HorizontalAlignmentConstant__Ljava_lang_String_2V(textAlignString){ this.com_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_textAlignString = textAlignString; } @@ -5200,7 +5212,7 @@ return direction == (com_google_gwt_i18n_client_HasDirection$Direction_$clinit__V() , com_google_gwt_i18n_client_HasDirection$Direction_LTR)?(com_google_gwt_user_client_ui_HasHorizontalAlignment_$clinit__V() , com_google_gwt_user_client_ui_HasHorizontalAlignment_ALIGN_1LEFT):direction == com_google_gwt_i18n_client_HasDirection$Direction_RTL?(com_google_gwt_user_client_ui_HasHorizontalAlignment_$clinit__V() , com_google_gwt_user_client_ui_HasHorizontalAlignment_ALIGN_1RIGHT):(com_google_gwt_user_client_ui_HasHorizontalAlignment_$clinit__V() , com_google_gwt_user_client_ui_HasHorizontalAlignment_ALIGN_1LOCALE_1START); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(224, 223, {}, com_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_HasHorizontalAlignment$HorizontalAlignmentConstant__Ljava_lang_String_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(223, 222, {}, com_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_HasHorizontalAlignment$HorizontalAlignmentConstant__Ljava_lang_String_2V); _.com_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_textAlignString = null; function com_google_gwt_user_client_ui_HasVerticalAlignment_$clinit__V(){ com_google_gwt_user_client_ui_HasVerticalAlignment_$clinit__V = nullMethod; @@ -5214,7 +5226,7 @@ this.com_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_verticalAlignString = verticalAlignString; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(225, 1, {}, com_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_HasVerticalAlignment$VerticalAlignmentConstant__Ljava_lang_String_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(224, 1, {}, com_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_HasVerticalAlignment$VerticalAlignmentConstant__Ljava_lang_String_2V); _.com_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_verticalAlignString = null; function com_google_gwt_user_client_ui_HorizontalPanel_$add__Lcom_google_gwt_user_client_ui_HorizontalPanel_2Lcom_google_gwt_user_client_ui_Widget_2V(this$static, w){ var td, com_google_gwt_user_client_ui_HorizontalPanel_$createAlignedTd__Lcom_google_gwt_user_client_ui_HorizontalPanel_2Lcom_google_gwt_user_client_Element_2_td_0; @@ -5237,7 +5249,7 @@ this.com_google_gwt_user_client_ui_CellPanel_table[$intern_84] = $intern_83; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(226, 218, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_HorizontalPanel_HorizontalPanel__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(225, 217, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_HorizontalPanel_HorizontalPanel__V); _.remove__Lcom_google_gwt_user_client_ui_Widget_2Z = function com_google_gwt_user_client_ui_HorizontalPanel_remove__Lcom_google_gwt_user_client_ui_Widget_2Z(w){ var removed, td; td = com_google_gwt_dom_client_DOMImpl_$getParentElement__Lcom_google_gwt_dom_client_DOMImpl_2Lcom_google_gwt_dom_client_Node_2Lcom_google_gwt_dom_client_Element_2(w.com_google_gwt_user_client_ui_UIObject_element); @@ -5265,7 +5277,7 @@ function com_google_gwt_user_client_ui_PopupPanel$1_PopupPanel$1__Lcom_google_gwt_user_client_ui_PopupPanel_2V(){ } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(227, 1, makeCastMap([Q$com_google_gwt_event_logical_shared_ResizeHandler, Q$com_google_gwt_event_shared_EventHandler]), com_google_gwt_user_client_ui_PopupPanel$1_PopupPanel$1__Lcom_google_gwt_user_client_ui_PopupPanel_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(226, 1, makeCastMap([Q$com_google_gwt_event_logical_shared_ResizeHandler, Q$com_google_gwt_event_shared_EventHandler]), com_google_gwt_user_client_ui_PopupPanel$1_PopupPanel$1__Lcom_google_gwt_user_client_ui_PopupPanel_2V); _.onResize__Lcom_google_gwt_event_logical_shared_ResizeEvent_2V = function com_google_gwt_user_client_ui_PopupPanel$1_onResize__Lcom_google_gwt_event_logical_shared_ResizeEvent_2V(event){ com_google_gwt_user_client_ui_PopupPanel$1_$onResize__Lcom_google_gwt_user_client_ui_PopupPanel$1_2Lcom_google_gwt_event_logical_shared_ResizeEvent_2V(); } @@ -5274,7 +5286,7 @@ this.com_google_gwt_user_client_ui_PopupPanel$3_this$0 = this$0; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(228, 1, makeCastMap([Q$com_google_gwt_event_shared_EventHandler, Q$com_google_gwt_user_client_Event$NativePreviewHandler]), com_google_gwt_user_client_ui_PopupPanel$3_PopupPanel$3__Lcom_google_gwt_user_client_ui_PopupPanel_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(227, 1, makeCastMap([Q$com_google_gwt_event_shared_EventHandler, Q$com_google_gwt_user_client_Event$NativePreviewHandler]), com_google_gwt_user_client_ui_PopupPanel$3_PopupPanel$3__Lcom_google_gwt_user_client_ui_PopupPanel_2V); _.onPreviewNativeEvent__Lcom_google_gwt_user_client_Event$NativePreviewEvent_2V = function com_google_gwt_user_client_ui_PopupPanel$3_onPreviewNativeEvent__Lcom_google_gwt_user_client_Event$NativePreviewEvent_2V(event){ com_google_gwt_user_client_ui_PopupPanel_$previewNativeEvent__Lcom_google_gwt_user_client_ui_PopupPanel_2Lcom_google_gwt_user_client_Event$NativePreviewEvent_2V(this.com_google_gwt_user_client_ui_PopupPanel$3_this$0, event); } @@ -5284,7 +5296,7 @@ this.com_google_gwt_user_client_ui_PopupPanel$4_this$0 = this$0; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(229, 1, makeCastMap([Q$com_google_gwt_event_logical_shared_ValueChangeHandler, Q$com_google_gwt_event_shared_EventHandler]), com_google_gwt_user_client_ui_PopupPanel$4_PopupPanel$4__Lcom_google_gwt_user_client_ui_PopupPanel_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(228, 1, makeCastMap([Q$com_google_gwt_event_logical_shared_ValueChangeHandler, Q$com_google_gwt_event_shared_EventHandler]), com_google_gwt_user_client_ui_PopupPanel$4_PopupPanel$4__Lcom_google_gwt_user_client_ui_PopupPanel_2V); _.com_google_gwt_user_client_ui_PopupPanel$4_this$0 = null; function com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_$maybeShowGlass__Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2V(this$static){ if (this$static.com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_showing) { @@ -5361,7 +5373,7 @@ this.com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_curPanel = panel; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(230, 3, {}, com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_PopupPanel$ResizeAnimation__Lcom_google_gwt_user_client_ui_PopupPanel_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(229, 3, {}, com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_PopupPanel$ResizeAnimation__Lcom_google_gwt_user_client_ui_PopupPanel_2V); _.com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_curPanel = null; _.com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_glassShowing = false; _.com_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_isUnloading = false; @@ -5443,12 +5455,12 @@ return rp; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(232, 210, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_RootPanel, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget])); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(231, 209, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_RootPanel, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget])); var com_google_gwt_user_client_ui_RootPanel_maybeDetachCommand, com_google_gwt_user_client_ui_RootPanel_rootPanels, com_google_gwt_user_client_ui_RootPanel_widgetsToDetach; function com_google_gwt_user_client_ui_RootPanel$1_RootPanel$1__V(){ } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(233, 1, {}, com_google_gwt_user_client_ui_RootPanel$1_RootPanel$1__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(232, 1, {}, com_google_gwt_user_client_ui_RootPanel$1_RootPanel$1__V); _.execute__Lcom_google_gwt_user_client_ui_Widget_2V = function com_google_gwt_user_client_ui_RootPanel$1_execute__Lcom_google_gwt_user_client_ui_Widget_2V(w){ w.com_google_gwt_user_client_ui_Widget_attached && w.onDetach__V(); } @@ -5456,7 +5468,7 @@ function com_google_gwt_user_client_ui_RootPanel$2_RootPanel$2__V(){ } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(234, 1, makeCastMap([Q$com_google_gwt_event_logical_shared_CloseHandler, Q$com_google_gwt_event_shared_EventHandler]), com_google_gwt_user_client_ui_RootPanel$2_RootPanel$2__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(233, 1, makeCastMap([Q$com_google_gwt_event_logical_shared_CloseHandler, Q$com_google_gwt_event_shared_EventHandler]), com_google_gwt_user_client_ui_RootPanel$2_RootPanel$2__V); _.onClose__Lcom_google_gwt_event_logical_shared_CloseEvent_2V = function com_google_gwt_user_client_ui_RootPanel$2_onClose__Lcom_google_gwt_event_logical_shared_CloseEvent_2V(closeEvent){ com_google_gwt_user_client_ui_RootPanel_detachWidgets__V(); } @@ -5465,7 +5477,7 @@ com_google_gwt_user_client_ui_RootPanel_RootPanel__Lcom_google_gwt_dom_client_Element_2V.call(this, $doc.body); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(235, 232, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_RootPanel, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_RootPanel$DefaultRootPanel__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(234, 231, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_RootPanel, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_RootPanel$DefaultRootPanel__V); _.setWidgetPositionImpl__Lcom_google_gwt_user_client_ui_Widget_2IIV = function com_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_setWidgetPositionImpl__Lcom_google_gwt_user_client_ui_Widget_2IIV(w, left, top){ left -= 0; top -= 0; @@ -5480,7 +5492,7 @@ return scrollable.currentStyle.direction == $intern_16?scrollable.clientWidth - (scrollable.scrollWidth || 0):0; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(236, 1, {}); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(235, 1, {}); var com_google_gwt_user_client_ui_ScrollImpl_impl = null; function com_google_gwt_user_client_ui_ScrollImpl$ScrollImplTrident_$initialize__Lcom_google_gwt_user_client_ui_ScrollImpl$ScrollImplTrident_2Lcom_google_gwt_dom_client_Element_2Lcom_google_gwt_dom_client_Element_2V(scrollable, container){ scrollable.__lastScrollTop = scrollable.__lastScrollLeft = 0; @@ -5521,7 +5533,7 @@ com_google_gwt_dom_client_DOMImplStandard_$dispatchEvent__Lcom_google_gwt_dom_client_DOMImplStandard_2Lcom_google_gwt_dom_client_Element_2Lcom_google_gwt_dom_client_NativeEvent_2V(elem, (com_google_gwt_dom_client_DOMImplStandard_$createHtmlEvent__Lcom_google_gwt_dom_client_DOMImplStandard_2Lcom_google_gwt_dom_client_Document_2Ljava_lang_String_2ZZLcom_google_gwt_dom_client_NativeEvent_2_evt_0 = $doc.createEvent('HTMLEvents') , com_google_gwt_dom_client_DOMImplStandard_$createHtmlEvent__Lcom_google_gwt_dom_client_DOMImplStandard_2Lcom_google_gwt_dom_client_Document_2Ljava_lang_String_2ZZLcom_google_gwt_dom_client_NativeEvent_2_evt_0.initEvent($intern_69, false, false) , com_google_gwt_dom_client_DOMImplStandard_$createHtmlEvent__Lcom_google_gwt_dom_client_DOMImplStandard_2Lcom_google_gwt_dom_client_Document_2Ljava_lang_String_2ZZLcom_google_gwt_dom_client_NativeEvent_2_evt_0)); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(237, 236, {}, com_google_gwt_user_client_ui_ScrollImpl$ScrollImplTrident_ScrollImpl$ScrollImplTrident__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(236, 235, {}, com_google_gwt_user_client_ui_ScrollImpl$ScrollImplTrident_ScrollImpl$ScrollImplTrident__V); var com_google_gwt_user_client_ui_ScrollImpl$ScrollImplTrident_resizeHandler = null, com_google_gwt_user_client_ui_ScrollImpl$ScrollImplTrident_scrollHandler = null; function com_google_gwt_user_client_ui_SimplePanel$1_$next__Lcom_google_gwt_user_client_ui_SimplePanel$1_2Lcom_google_gwt_user_client_ui_Widget_2(this$static){ if (!this$static.com_google_gwt_user_client_ui_SimplePanel$1_hasElement || !this$static.com_google_gwt_user_client_ui_SimplePanel$1_this$0.com_google_gwt_user_client_ui_SimplePanel_widget) { @@ -5536,7 +5548,7 @@ this.com_google_gwt_user_client_ui_SimplePanel$1_hasElement = !!this.com_google_gwt_user_client_ui_SimplePanel$1_this$0.com_google_gwt_user_client_ui_SimplePanel_widget; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(238, 1, {}, com_google_gwt_user_client_ui_SimplePanel$1_SimplePanel$1__Lcom_google_gwt_user_client_ui_SimplePanel_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(237, 1, {}, com_google_gwt_user_client_ui_SimplePanel$1_SimplePanel$1__Lcom_google_gwt_user_client_ui_SimplePanel_2V); _.hasNext__Z = function com_google_gwt_user_client_ui_SimplePanel$1_hasNext__Z(){ return this.com_google_gwt_user_client_ui_SimplePanel$1_hasElement; } @@ -5568,7 +5580,7 @@ this.com_google_gwt_user_client_ui_CellPanel_table[$intern_84] = $intern_83; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(239, 218, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_VerticalPanel_VerticalPanel__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(238, 217, makeCastMap([Q$com_google_gwt_event_logical_shared_HasAttachHandlers, Q$com_google_gwt_event_shared_HasHandlers, Q$com_google_gwt_user_client_EventListener, Q$com_google_gwt_user_client_ui_HasVisibility, Q$com_google_gwt_user_client_ui_IsWidget, Q$com_google_gwt_user_client_ui_UIObject, Q$com_google_gwt_user_client_ui_Widget]), com_google_gwt_user_client_ui_VerticalPanel_VerticalPanel__V); _.remove__Lcom_google_gwt_user_client_ui_Widget_2Z = function com_google_gwt_user_client_ui_VerticalPanel_remove__Lcom_google_gwt_user_client_ui_Widget_2Z(w){ var removed, td; td = com_google_gwt_dom_client_DOMImpl_$getParentElement__Lcom_google_gwt_dom_client_DOMImpl_2Lcom_google_gwt_dom_client_Node_2Lcom_google_gwt_dom_client_Element_2(w.com_google_gwt_user_client_ui_UIObject_element); @@ -5636,7 +5648,7 @@ this.com_google_gwt_user_client_ui_WidgetCollection_array = com_google_gwt_lang_Array_initDim__Ljava_lang_Class_2Lcom_google_gwt_core_client_JavaScriptObject_2IIILcom_google_gwt_lang_Array_2(com_google_gwt_lang_ClassLiteralHolder__13Lcom_1google_1gwt_1user_1client_1ui_1Widget_12_1classLit, makeCastMap([Q$java_io_Serializable]), Q$com_google_gwt_user_client_ui_Widget, 4, 0); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(240, 1, {}, com_google_gwt_user_client_ui_WidgetCollection_WidgetCollection__Lcom_google_gwt_user_client_ui_HasWidgets_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(239, 1, {}, com_google_gwt_user_client_ui_WidgetCollection_WidgetCollection__Lcom_google_gwt_user_client_ui_HasWidgets_2V); _.iterator__Ljava_util_Iterator_2 = function com_google_gwt_user_client_ui_WidgetCollection_iterator__Ljava_util_Iterator_2(){ return new com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_WidgetCollection$WidgetIterator__Lcom_google_gwt_user_client_ui_WidgetCollection_2V(this); } @@ -5655,7 +5667,7 @@ this.com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_this$0 = this$0; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(241, 1, {}, com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_WidgetCollection$WidgetIterator__Lcom_google_gwt_user_client_ui_WidgetCollection_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(240, 1, {}, com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_WidgetCollection$WidgetIterator__Lcom_google_gwt_user_client_ui_WidgetCollection_2V); _.hasNext__Z = function com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_hasNext__Z(){ return this.com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_index < this.com_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_this$0.com_google_gwt_user_client_ui_WidgetCollection_size - 1; } @@ -5756,129 +5768,6 @@ return xhr; } -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPayload__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2(this$static){ - var com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2_sb_0; - if (com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$isString__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Z(this$static)) { - return com_google_gwt_core_client_JsonUtils_escapeValue__Ljava_lang_String_2Ljava_lang_String_2(this$static.__s); - } - if (com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastSupported__Z()) { - return com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifyFast__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2(this$static); - } - return com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2_sb_0 = new java_lang_StringBuilder_StringBuilder__V , com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_StringBuilder_2V(this$static, com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2_sb_0) , com_google_gwt_core_client_impl_StringBufferImplArrayBase_$toString__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2(com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2_sb_0.java_lang_StringBuilder_data); -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys0__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2V(this$static, list){ - for (key in this$static) { - this$static.hasOwnProperty(key) && list.add__Ljava_lang_Object_2Z(key); - } -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getRaw__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2ILcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2(this$static, index){ - _ = this$static[index]; - if (_ == null) { - return null; - } - if (com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_isUnwrappedString__Lcom_google_gwt_core_client_JavaScriptObject_2Z(_)) { - return {__s:_}; - } - return Object(_); -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getRaw__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2(this$static, index){ - _ = this$static[index]; - if (_ == null) { - return null; - } - if (com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_isUnwrappedString__Lcom_google_gwt_core_client_JavaScriptObject_2Z(_)) { - return {__s:_}; - } - return Object(_); -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$isString__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Z(this$static){ - return this$static && this$static.__s != null; -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifyFast__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2(this$static){ - return $wnd.JSON.stringify(this$static, function(key, value){ - if (key == $intern_92) { - return; - } - return value; - } - ); -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_StringBuilder_2V(this$static, sb){ - var i, j, key, key$iterator, needsComma, value, com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2_toReturn_0; - if (this$static == (com_google_web_bindery_autobean_shared_Splittable_$clinit__V() , com_google_web_bindery_autobean_shared_Splittable_NULL)) { - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_5); - return; - } - if (Object.prototype.toString.call(this$static) == '[object Boolean]') { - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2ZV(sb.java_lang_StringBuilder_data, this$static == true); - return; - } - if (Object.prototype.toString.call(this$static) == '[object Number]') { - java_lang_StringBuilder_$append__Ljava_lang_StringBuilder_2DLjava_lang_StringBuilder_2(sb, Number(this$static)); - return; - } - if (com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$isString__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Z(this$static)) { - java_lang_StringBuilder_$append__Ljava_lang_StringBuilder_2Ljava_lang_String_2Ljava_lang_StringBuilder_2(sb, com_google_gwt_core_client_JsonUtils_escapeValue__Ljava_lang_String_2Ljava_lang_String_2(this$static.__s)); - return; - } - if (Object.prototype.toString.call(this$static) == '[object Array]') { - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_29); - for (i = 0 , j = this$static.length; i < j; ++i) { - i > 0 && (com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_30) , sb); - com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_StringBuilder_2V(com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getRaw__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2ILcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2(this$static, i), sb); - } - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_31); - return; - } - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_32); - needsComma = false; - for (key$iterator = new java_util_Collections$UnmodifiableCollectionIterator_Collections$UnmodifiableCollectionIterator__Ljava_util_Iterator_2V((com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2_toReturn_0 = new java_util_ArrayList_ArrayList__V , com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys0__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2V(this$static, com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2_toReturn_0) , java_util_Collections_$clinit__V() , com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2_toReturn_0?new java_util_Collections$UnmodifiableRandomAccessList_Collections$UnmodifiableRandomAccessList__Ljava_util_List_2V(com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getPropertyKeys__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_util_List_2_toReturn_0):new java_util_Collections$UnmodifiableList_Collections$UnmodifiableList__Ljava_util_List_2V(null)).java_util_Collections$UnmodifiableCollection_coll.iterator__Ljava_util_Iterator_2()); key$iterator.java_util_Collections$UnmodifiableCollectionIterator_it.hasNext__Z();) { - key = com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2(key$iterator.java_util_Collections$UnmodifiableCollectionIterator_it.next__Ljava_lang_Object_2(), Q$java_lang_String); - needsComma?(com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_30) , sb):(needsComma = true); - value = com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$getRaw__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_String_2Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2(this$static, key); - if (!(Object.prototype.toString.call(value) == '[object Function]')) { - if (java_lang_String_$equals__Ljava_lang_String_2Ljava_lang_Object_2Z($intern_92, key)) { - continue; - } - java_lang_StringBuilder_$append__Ljava_lang_StringBuilder_2Ljava_lang_String_2Ljava_lang_StringBuilder_2(sb, com_google_gwt_core_client_JsonUtils_escapeValue__Ljava_lang_String_2Ljava_lang_String_2(key)); - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_14); - com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_$stringifySlow__Lcom_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_2Ljava_lang_StringBuilder_2V(value, sb); - } - } - com_google_gwt_core_client_impl_StringBufferImplArrayBase_$append__Lcom_google_gwt_core_client_impl_StringBufferImplArrayBase_2Ljava_lang_Object_2Ljava_lang_String_2V(sb.java_lang_StringBuilder_data, $intern_34); -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_isUnwrappedString__Lcom_google_gwt_core_client_JavaScriptObject_2Z(obj){ - return Object.prototype.toString.call(obj) == '[object String]'; -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastSupported__Z(){ - if (com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastTested) { - return com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastResult; - } - com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastTested = true; - return com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastResult = com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastSupported0__Z(); -} - -function com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastSupported0__Z(){ - return $wnd.JSON && $wnd.JSON.stringify && $wnd.JSON.stringify({b:function(){ - } - }) == '{}'; -} - -var com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastResult = false, com_google_web_bindery_autobean_gwt_client_impl_JsoSplittable_stringifyFastTested = false; -function com_google_web_bindery_autobean_shared_Splittable_$clinit__V(){ - com_google_web_bindery_autobean_shared_Splittable_$clinit__V = nullMethod; - com_google_web_bindery_autobean_shared_Splittable_NULL = null; -} - -var com_google_web_bindery_autobean_shared_Splittable_NULL; function com_google_web_bindery_event_shared_SimpleEventBus$1_$removeHandler__Lcom_google_web_bindery_event_shared_SimpleEventBus$1_2V(this$static){ com_google_gwt_event_shared_HandlerManager$Bus_$doRemove__Lcom_google_gwt_event_shared_HandlerManager$Bus_2Lcom_google_web_bindery_event_shared_Event$Type_2Ljava_lang_Object_2Ljava_lang_Object_2V(this$static.com_google_web_bindery_event_shared_SimpleEventBus$1_this$0, this$static.com_google_web_bindery_event_shared_SimpleEventBus$1_val$type, this$static.com_google_web_bindery_event_shared_SimpleEventBus$1_val$source, this$static.com_google_web_bindery_event_shared_SimpleEventBus$1_val$handler); } @@ -5890,7 +5779,7 @@ this.com_google_web_bindery_event_shared_SimpleEventBus$1_val$handler = val$handler; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(247, 1, {}, com_google_web_bindery_event_shared_SimpleEventBus$1_SimpleEventBus$1__Lcom_google_web_bindery_event_shared_SimpleEventBus_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(245, 1, {}, com_google_web_bindery_event_shared_SimpleEventBus$1_SimpleEventBus$1__Lcom_google_web_bindery_event_shared_SimpleEventBus_2V); _.com_google_web_bindery_event_shared_SimpleEventBus$1_this$0 = null; _.com_google_web_bindery_event_shared_SimpleEventBus$1_val$handler = null; _.com_google_web_bindery_event_shared_SimpleEventBus$1_val$source = null; @@ -5902,7 +5791,7 @@ this.com_google_web_bindery_event_shared_SimpleEventBus$2_val$handler = val$handler; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(248, 1, makeCastMap([Q$com_google_web_bindery_event_shared_SimpleEventBus$Command]), com_google_web_bindery_event_shared_SimpleEventBus$2_SimpleEventBus$2__Lcom_google_web_bindery_event_shared_SimpleEventBus_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(246, 1, makeCastMap([Q$com_google_web_bindery_event_shared_SimpleEventBus$Command]), com_google_web_bindery_event_shared_SimpleEventBus$2_SimpleEventBus$2__Lcom_google_web_bindery_event_shared_SimpleEventBus_2V); _.execute__V = function com_google_web_bindery_event_shared_SimpleEventBus$2_execute__V(){ com_google_web_bindery_event_shared_SimpleEventBus_$doAddNow__Lcom_google_web_bindery_event_shared_SimpleEventBus_2Lcom_google_web_bindery_event_shared_Event$Type_2Ljava_lang_Object_2Ljava_lang_Object_2V(this.com_google_web_bindery_event_shared_SimpleEventBus$2_this$0, this.com_google_web_bindery_event_shared_SimpleEventBus$2_val$type, this.com_google_web_bindery_event_shared_SimpleEventBus$2_val$source, this.com_google_web_bindery_event_shared_SimpleEventBus$2_val$handler); } @@ -5918,7 +5807,7 @@ this.com_google_web_bindery_event_shared_SimpleEventBus$3_val$handler = val$handler; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(249, 1, makeCastMap([Q$com_google_web_bindery_event_shared_SimpleEventBus$Command]), com_google_web_bindery_event_shared_SimpleEventBus$3_SimpleEventBus$3__Lcom_google_web_bindery_event_shared_SimpleEventBus_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(247, 1, makeCastMap([Q$com_google_web_bindery_event_shared_SimpleEventBus$Command]), com_google_web_bindery_event_shared_SimpleEventBus$3_SimpleEventBus$3__Lcom_google_web_bindery_event_shared_SimpleEventBus_2V); _.execute__V = function com_google_web_bindery_event_shared_SimpleEventBus$3_execute__V(){ com_google_web_bindery_event_shared_SimpleEventBus_$doRemoveNow__Lcom_google_web_bindery_event_shared_SimpleEventBus_2Lcom_google_web_bindery_event_shared_Event$Type_2Ljava_lang_Object_2Ljava_lang_Object_2V(this.com_google_web_bindery_event_shared_SimpleEventBus$3_this$0, this.com_google_web_bindery_event_shared_SimpleEventBus$3_val$type, this.com_google_web_bindery_event_shared_SimpleEventBus$3_val$source, this.com_google_web_bindery_event_shared_SimpleEventBus$3_val$handler); } @@ -5931,7 +5820,11 @@ com_google_gwt_core_client_impl_StackTraceCreator$Collector_$fillInStackTrace__Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2Ljava_lang_Throwable_2V(this); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(250, 15, makeCastMap([Q$java_io_Serializable, Q$java_lang_Exception, Q$java_lang_Throwable]), java_lang_ArrayStoreException_ArrayStoreException__V); +function java_lang_ArrayStoreException_ArrayStoreException__Ljava_lang_String_2V(message){ + java_lang_RuntimeException_RuntimeException__Ljava_lang_String_2V.call(this, message); +} + +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(248, 15, makeCastMap([Q$java_io_Serializable, Q$java_lang_Exception, Q$java_lang_Throwable]), java_lang_ArrayStoreException_ArrayStoreException__V, java_lang_ArrayStoreException_ArrayStoreException__Ljava_lang_String_2V); function java_lang_Boolean_$clinit__V(){ java_lang_Boolean_$clinit__V = nullMethod; java_lang_Boolean_FALSE = new java_lang_Boolean_Boolean__ZV(false); @@ -5946,7 +5839,7 @@ this.java_lang_Boolean_value = value; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(251, 1, makeCastMap([Q$java_io_Serializable, Q$java_lang_Boolean, Q$java_lang_Comparable]), java_lang_Boolean_Boolean__ZV); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(249, 1, makeCastMap([Q$java_io_Serializable, Q$java_lang_Boolean, Q$java_lang_Comparable]), java_lang_Boolean_Boolean__ZV); _.compareTo__Ljava_lang_Object_2I$ = function java_lang_Boolean_compareTo__Ljava_lang_Object_2I(other){ return java_lang_Boolean_$compareTo__Ljava_lang_Boolean_2Ljava_lang_Boolean_2I(this, com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2(other, Q$java_lang_Boolean)); } @@ -5960,7 +5853,7 @@ } ; _.toString__Ljava_lang_String_2$ = function java_lang_Boolean_toString__Ljava_lang_String_2(){ - return this.java_lang_Boolean_value?$intern_93:'false'; + return this.java_lang_Boolean_value?$intern_92:'false'; } ; _.java_lang_Boolean_value = false; @@ -5968,12 +5861,13 @@ function java_lang_Class_Class__V(){ } -function java_lang_Class_createForArray__Ljava_lang_String_2Ljava_lang_String_2ILjava_lang_Class_2Ljava_lang_Class_2(packageName, className, seedId){ +function java_lang_Class_createForArray__Ljava_lang_String_2Ljava_lang_String_2ILjava_lang_Class_2Ljava_lang_Class_2(packageName, className, seedId, componentType){ var clazz; clazz = new java_lang_Class_Class__V; clazz.java_lang_Class_typeName = packageName + className; java_lang_Class_isInstantiable__IZ(seedId != 0?-seedId:0) && java_lang_Class_setClassLiteral__ILjava_lang_Class_2V(seedId != 0?-seedId:0, clazz); clazz.java_lang_Class_modifiers = 4; + clazz.java_lang_Class_componentType = componentType; return clazz; } @@ -6003,6 +5897,15 @@ return clazz; } +function java_lang_Class_createForPrimitive__Ljava_lang_String_2Ljava_lang_String_2ILjava_lang_Class_2(className, seedId){ + var clazz; + clazz = new java_lang_Class_Class__V; + clazz.java_lang_Class_typeName = $intern_4 + className; + java_lang_Class_isInstantiable__IZ(seedId) && java_lang_Class_setClassLiteral__ILjava_lang_Class_2V(seedId, clazz); + clazz.java_lang_Class_modifiers = 1; + return clazz; +} + function java_lang_Class_getSeedFunction__Ljava_lang_Class_2Lcom_google_gwt_core_client_JavaScriptObject_2(clazz){ var func = com_google_gwt_lang_SeedUtil_seedTable[clazz.java_lang_Class_seedId]; clazz = null; @@ -6040,11 +5943,12 @@ proto.java_lang_Object__1_1_1clazz$ = clazz; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(252, 1, {}, java_lang_Class_Class__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(250, 1, {}, java_lang_Class_Class__V); _.toString__Ljava_lang_String_2$ = function java_lang_Class_toString__Ljava_lang_String_2(){ return ((this.java_lang_Class_modifiers & 2) != 0?'interface ':(this.java_lang_Class_modifiers & 1) != 0?$intern_4:'class ') + this.java_lang_Class_typeName; } ; +_.java_lang_Class_componentType = null; _.java_lang_Class_modifiers = 0; _.java_lang_Class_seedId = 0; _.java_lang_Class_typeName = null; @@ -6052,8 +5956,8 @@ com_google_gwt_core_client_impl_StackTraceCreator$Collector_$fillInStackTrace__Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2Ljava_lang_Throwable_2V(this); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(253, 15, makeCastMap([Q$java_io_Serializable, Q$java_lang_Exception, Q$java_lang_Throwable]), java_lang_ClassCastException_ClassCastException__V); -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(255, 1, makeCastMap([Q$java_io_Serializable, Q$java_lang_Number])); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(251, 15, makeCastMap([Q$java_io_Serializable, Q$java_lang_Exception, Q$java_lang_Throwable]), java_lang_ClassCastException_ClassCastException__V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(253, 1, makeCastMap([Q$java_io_Serializable, Q$java_lang_Number])); function java_lang_Double_$compareTo__Ljava_lang_Double_2Ljava_lang_Double_2I(this$static, b){ return java_lang_Double_compare__DDI(this$static.java_lang_Double_value, b.java_lang_Double_value); } @@ -6072,7 +5976,7 @@ return x < y?-1:x > y?1:0; } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(254, 255, makeCastMap([Q$java_io_Serializable, Q$java_lang_Comparable, Q$java_lang_Double, Q$java_lang_Number]), java_lang_Double_Double__DV); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(252, 253, makeCastMap([Q$java_io_Serializable, Q$java_lang_Comparable, Q$java_lang_Double, Q$java_lang_Number]), java_lang_Double_Double__DV); _.compareTo__Ljava_lang_Object_2I$ = function java_lang_Double_compareTo__Ljava_lang_Object_2I(b){ return java_lang_Double_$compareTo__Ljava_lang_Double_2Ljava_lang_Double_2I(this, com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2(b, Q$java_lang_Double)); } @@ -6102,7 +6006,7 @@ java_lang_RuntimeException_RuntimeException__Ljava_lang_String_2V.call(this, message); } -com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(257, 15, makeCastMap([Q$java_io_Serializable, Q$java_lang_Exception, Q$java_lang_Throwable]), java_lang_IllegalArgumentException_IllegalArgumentException__V, java_lang_IllegalArgumentException_IllegalArgumentException__Ljava_lang_String_2V); +com_google_gwt_lang_SeedUtil_defineSeed__IILcom_google_gwt_core_client_JavaScriptObject_2Lcom_google_gwt_core_client_JavaScriptObject_2(255, 15, makeCastMap([Q$java_io_Serializable, Q$java_lang_Exception, Q$java_lang_Throwable]), java_lang_IllegalArgumentException_IllegalArgumentException__V, java_lang_IllegalArgumentException_IllegalArgumentException__Ljava_lang_String_2V); function java_lang_IllegalStateException_IllegalStateException__V(){ com_google_gwt_core_client_impl_StackTraceCreator$Collector_$fillInStackTrace__Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2Ljava_lang_Throwable_2V(this); } @@ -6111,9 +6015,7 @@ java_lang_RuntimeException_RuntimeException__Ljava_lang_String_2V.call(this, s); } ---> - + - + - + - + - + - + + - + + - + + + - + + + + - + + + - + - diff --git a/war/stargenetics_gwt_java/stargenetics_gwt_java.nocache.js b/war/stargenetics_gwt_java/stargenetics_gwt_java.nocache.js index ad88b56..a86058e 100644 --- a/war/stargenetics_gwt_java/stargenetics_gwt_java.nocache.js +++ b/war/stargenetics_gwt_java/stargenetics_gwt_java.nocache.js @@ -1,5 +1,5 @@ function stargenetics_gwt_java(){ - var $intern_0 = '', $intern_36 = '" for "gwt:onLoadErrorFn"', $intern_34 = '" for "gwt:onPropertyErrorFn"', $intern_21 = '"><\/script>', $intern_10 = '#', $intern_62 = '.cache.html', $intern_12 = '/', $intern_24 = '//', $intern_55 = '217524B69B8B652B7A502D68575B13C8', $intern_56 = '2A4520198C13C2974AEC0A466C63FBE2', $intern_57 = '7D5DA7D70B41A543B95892B8A50C0835', $intern_58 = '8AAEA6CAE2C98277BEAE8149D5DC4F55', $intern_61 = ':', $intern_28 = '::', $intern_70 = '