Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
  • Loading branch information
iceraj committed Sep 4, 2013
1 parent 7813833 commit aa4ece0
Show file tree
Hide file tree
Showing 50 changed files with 765 additions and 2,979 deletions.
1 change: 1 addition & 0 deletions .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
<classpathentry kind="src" output="test-classes" path="test"/>
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="war/WEB-INF/classes"/>
</classpath>
2 changes: 1 addition & 1 deletion .settings/com.google.gwt.eclipse.core.prefs
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
eclipse.preferences.version=1
filesCopiedToWebInfLib=gwt-servlet.jar
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+VFJBQ0U8L2xvZy1sZXZlbD48b3V0cHV0LXN0eWxlPk9CRlVTQ0FURUQ8L291dHB1dC1zdHlsZT48ZXh0cmEtYXJncz48IVtDREFUQVtdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDUxMm1dXT48L3ZtLWFyZ3M+PGVudHJ5LXBvaW50LW1vZHVsZT5zdGFyLmdlbmV0aWNzLlN0YXJnZW5ldGljc19nd3RfamF2YTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+REVCVUc8L2xvZy1sZXZlbD48b3V0cHV0LXN0eWxlPk9CRlVTQ0FURUQ8L291dHB1dC1zdHlsZT48ZXh0cmEtYXJncz48IVtDREFUQVtdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDUxMm1dXT48L3ZtLWFyZ3M+PGVudHJ5LXBvaW50LW1vZHVsZT5zdGFyLmdlbmV0aWNzLlN0YXJnZW5ldGljc19nd3RfamF2YTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
12 changes: 7 additions & 5 deletions src/star/genetics/Stargenetics_gwt_java.gwt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@
"http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd">
<module rename-to='stargenetics_gwt_java'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.user.User'/>
<!-- <inherits name="com.google.gwt.core.Core"/> -->
<inherits name="com.google.gwt.json.JSON" />

<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<!-- --><inherits name='com.google.gwt.user.theme.clean.Clean'/> -->
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->

<!-- Other module inherits -->
<inherits name="java.beans.JavaBeans"/>
<!-- Specify the app entry point class. -->
<entry-point class='star.genetics.client.Stargenetics_gwt_java'/>

Expand All @@ -29,5 +29,7 @@
<source path='utils'/>
<source path='visualizers'/>
<source path='xls'/>

<source path='beans'/>
<source path='tests'/>
<source path='parser'/>
</module>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.google.gwt.user.User" />
<!-- <inherits name="com.google.gwt.user.User" /> -->
<source path=""/>
</module>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package java.beans;
package star.genetics.beans;

public class PropertyChangeEvent
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package java.beans;
package star.genetics.beans;

public interface PropertyChangeListener
{
public void propertyChange(PropertyChangeEvent e);

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package java.beans;
package star.genetics.beans;

import java.util.ArrayList;

Expand All @@ -22,7 +22,7 @@ public void firePropertyChange(PropertyChangeEvent propertyChangeEvent)

}

public void addPropertyChangeListener(PropertyChangeListener listener)
public void addPropertyChangeListener(star.genetics.beans.PropertyChangeListener listener)
{
listeners.add(listener);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package java.beans;
package star.genetics.beans;

public class StringTokenizer
{
Expand Down
131 changes: 12 additions & 119 deletions src/star/genetics/client/Stargenetics_gwt_java.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,6 @@
import star.genetics.shared.FieldVerifier;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;

/**
* Entry point classes define <code>onModuleLoad()</code>.
Expand All @@ -44,16 +30,17 @@ public void test2()
test(self, me);
}

public static int add(int a,int b)
public static String add(int a,int b)
{
return a+b;
return "" + a+b;
}

public native void test(Object self, MatingEngine me)
/*-{
$wnd.__sg_entry_point = self;
$wnd.__sg_me = me;
$wnd.__sg_add = $entry(@star.genetics.client.Stargenetics_gwt_java::add(II));
console.info( "Done!" );
return "Not A Number";
}-*/;

Expand All @@ -62,108 +49,14 @@ public native void test(Object self, MatingEngine me)
*/
public void onModuleLoad()
{
final Button sendButton = new Button("Send");
final TextBox nameField = new TextBox();
nameField.setText("GWT User");
final Label errorLabel = new Label();

// We can add style names to widgets
sendButton.addStyleName("sendButton");

// Add the nameField and sendButton to the RootPanel
// Use RootPanel.get() to get the entire body element
RootPanel.get("nameFieldContainer").add(nameField);
RootPanel.get("sendButtonContainer").add(sendButton);
RootPanel.get("errorLabelContainer").add(errorLabel);

// Focus the cursor on the name field when the app loads
nameField.setFocus(true);
nameField.selectAll();

// Create the popup dialog box
final DialogBox dialogBox = new DialogBox();
dialogBox.setText("Remote Procedure Call");
dialogBox.setAnimationEnabled(true);
final Button closeButton = new Button("Close");
// We can set the id of a widget by accessing its Element
closeButton.getElement().setId("closeButton");
final Label textToServerLabel = new Label();
final HTML serverResponseLabel = new HTML();
VerticalPanel dialogVPanel = new VerticalPanel();
dialogVPanel.addStyleName("dialogVPanel");
dialogVPanel.add(new HTML("<b>Sending name to the server:</b>"));
dialogVPanel.add(textToServerLabel);
dialogVPanel.add(new HTML("<br><b>Server replies:</b>"));
dialogVPanel.add(serverResponseLabel);
dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_RIGHT);
dialogVPanel.add(closeButton);
dialogBox.setWidget(dialogVPanel);
test2();
// Add a handler to close the DialogBox
closeButton.addClickHandler(new ClickHandler()
{
public void onClick(ClickEvent event)
{
dialogBox.hide();
sendButton.setEnabled(true);
sendButton.setFocus(true);

}
});

// Create a handler for the sendButton and nameField
class MyHandler implements ClickHandler, KeyUpHandler
{
/**
* Fired when the user clicks on the sendButton.
*/
public void onClick(ClickEvent event)
{
sendNameToServer();
MatingEngineImpl_XY xy = new MatingEngineImpl_XY();
ModelImpl impl = new ModelImpl();
GenomeImpl genome = new GenomeImpl();
ChromosomeImpl c = new ChromosomeImpl("name", genome);
GeneImpl g = new GeneImpl("test", 2, c);
impl.setGenome(genome);
System.out.println(impl);
}

/**
* Fired when the user types in the nameField.
*/
public void onKeyUp(KeyUpEvent event)
{
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER)
{
sendNameToServer();
}
}

/**
* Send the name from the nameField to the server and wait for a response.
*/
private void sendNameToServer()
{
// First, we validate the input.
errorLabel.setText("");
String textToServer = nameField.getText();
if (!FieldVerifier.isValidName(textToServer))
{
errorLabel.setText("Please enter at least four characters");
return;
}

// Then, we send the input to the server.
sendButton.setEnabled(false);
textToServerLabel.setText(textToServer);
serverResponseLabel.setText("");
}
}

// Add a handler to send the name to the server
MyHandler handler = new MyHandler();
sendButton.addClickHandler(handler);
nameField.addKeyUpHandler(handler);
MatingEngineImpl_XY xy = new MatingEngineImpl_XY();
ModelImpl impl = new ModelImpl();
GenomeImpl genome = new GenomeImpl();
ChromosomeImpl c = new ChromosomeImpl("name", genome);
GeneImpl g = new GeneImpl("test", 2, c);
impl.setGenome(genome);
impl.setMater(xy);
System.out.println(impl);
test(this,xy);
}
}
6 changes: 3 additions & 3 deletions src/star/genetics/genetic/impl/CreatureSetImpl.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package star.genetics.genetic.impl;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;

import star.genetics.beans.PropertyChangeEvent;
import star.genetics.beans.PropertyChangeListener;
import star.genetics.beans.PropertyChangeSupport;
import star.genetics.genetic.model.Creature;

public class CreatureSetImpl implements star.genetics.genetic.model.CreatureSet, Serializable
Expand Down
2 changes: 1 addition & 1 deletion src/star/genetics/genetic/impl/RuleImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.beans.StringTokenizer;

import star.genetics.beans.StringTokenizer;
import star.genetics.client.Messages;
import star.genetics.genetic.model.Allele;
import star.genetics.genetic.model.Chromosome;
Expand Down
46 changes: 46 additions & 0 deletions src/star/genetics/parser/EngineParser.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package star.genetics.parser;

import com.google.gwt.json.client.JSONNumber;
import com.google.gwt.json.client.JSONObject;

import star.genetics.genetic.impl.MatingEngineImpl_XY;
import star.genetics.genetic.impl.ModelImpl;

public class EngineParser
{
public static void parse(ModelImpl model, JSONObject engine)
{
String sex_type = engine.get("sex_type").isString().toString();
if ("xy".equalsIgnoreCase(sex_type))
{
parse_XY(model, engine);
}
}

private static float get(JSONObject obj, String key, float default_value)
{
float ret = default_value;
if (obj.containsKey(key))
{
JSONNumber n = obj.get(key).isNumber();
if (n != null)
{
ret = (float) n.doubleValue();
}
}
return ret;
}

private static void parse_XY(ModelImpl model, JSONObject engine)
{
float maleRecombinationRate = get(engine, "male_recombination_rate", 1.0f);
float femaleRecombinationRate = get(engine, "female_recombination_rate", 1.0f);
float femaleSexRatio = get(engine, "female_sex_ratio", 1.0f);
int progeniesCount = Math.round(get(engine, "avg_offspring_count", 50.0f));
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);
model.setMater(xy);
}
}
75 changes: 75 additions & 0 deletions src/star/genetics/parser/GenomeParser.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package star.genetics.parser;

import star.genetics.genetic.impl.AlleleImpl;
import star.genetics.genetic.impl.ChromosomeImpl;
import star.genetics.genetic.impl.GeneImpl;
import star.genetics.genetic.impl.GenomeImpl;
import star.genetics.genetic.impl.ModelImpl;

import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;

public class GenomeParser
{

public static void parse(ModelImpl model, JSONObject genome)
{
GenomeImpl ret = new GenomeImpl();
parseChromosomes( ret , genome.get("chromosomes").isObject());
model.setGenome(ret);
}


private static void parseChromosomes(GenomeImpl genome, JSONObject chromosomes)
{
for( String chromosome_id : chromosomes.keySet() ) {
ChromosomeImpl c = new ChromosomeImpl(chromosome_id, genome);
parseChromosome( c, chromosomes.get(chromosome_id).isObject() );
}
}


private static void parseChromosome(ChromosomeImpl c, JSONObject chromosome)
{
String name = chromosome.get("name").isString().toString();
parseGenes( c , chromosome.get("genes").isArray());
}


private static void parseGenes(ChromosomeImpl c, JSONArray genes)
{
for( int i = 0 ; i < genes.size() ; i++)
{
JSONObject gene = genes.get(i).isObject();
parseGene( c , gene );
}

}


private static void parseGene(ChromosomeImpl c, JSONObject gene)
{
String name = gene.get("name").isString().toString();
float position = (float)gene.get("position").isNumber().doubleValue();
GeneImpl g = new GeneImpl(name, position, c);
parseAlleles( g , gene.get("alleles").isArray());
}


private static void parseAlleles(GeneImpl gene, JSONArray alleles)
{
for( int i = 0 ; i < alleles.size() ; i++ )
{
parseAllele( gene , alleles.get(i).isObject());
}
}


private static void parseAllele(GeneImpl gene, JSONObject allele)
{
String name = allele.get("name").isString().toString();
AlleleImpl a = new AlleleImpl(name, gene);
}


}
Loading

0 comments on commit aa4ece0

Please sign in to comment.