[kepler-code] r28819 - in trunk/modules: science-pipes/workflows/dev science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship science-pipes-frontend/WebContent/editor/parts
barseghian at ecoinformatics.org
barseghian at ecoinformatics.org
Wed Oct 19 17:10:12 PDT 2011
Author: barseghian
Date: 2011-10-19 17:10:12 -0700 (Wed, 19 Oct 2011)
New Revision: 28819
Added:
trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/Histogram.java
trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.Histogram.meta.xml
Modified:
trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/SurvivalCurveCalc.java
trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.SurvivalCurveCalc.meta.xml
trunk/modules/science-pipes-frontend/WebContent/editor/parts/survivorship-actors.xml
trunk/modules/science-pipes/workflows/dev/survivorship_actors_test.xml
Log:
Histogram actor
minor adjustments to SurvivalCurveCalc actor
comment out actors not yet usable w/ DP1
Modified: trunk/modules/science-pipes/workflows/dev/survivorship_actors_test.xml
===================================================================
--- trunk/modules/science-pipes/workflows/dev/survivorship_actors_test.xml 2011-10-19 14:03:31 UTC (rev 28818)
+++ trunk/modules/science-pipes/workflows/dev/survivorship_actors_test.xml 2011-10-20 00:10:12 UTC (rev 28819)
@@ -97,7 +97,7 @@
</property>
</entity>
<entity name="ImageDisplay3" class="ptolemy.actor.lib.image.ImageDisplay">
- <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={112, 22, 128, 44}, maximized=false}">
+ <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={112, 22, 700, 544}, maximized=false}">
</property>
<property name="_pictureSize" class="ptolemy.actor.gui.SizeAttribute" value="[700, 500]">
</property>
@@ -112,6 +112,28 @@
<property name="_location" class="ptolemy.kernel.util.Location" value="[110.0, 475.0]">
</property>
</entity>
+ <entity name="Histogram" class="edu.cornell.birds.is.bap.actor.survivorship.Histogram">
+ <property name="group" class="edu.cornell.birds.is.bap.ptolemy.StringChoiceParameter" value="Death Year">
+<display name="Column"/> </property>
+ <property name="_location" class="ptolemy.kernel.util.Location" value="[30.0, 710.0]">
+ </property>
+ </entity>
+ <entity name="ImageDisplay4" class="ptolemy.actor.lib.image.ImageDisplay">
+ <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={112, 22, 700, 544}, maximized=false}">
+ </property>
+ <property name="_pictureSize" class="ptolemy.actor.gui.SizeAttribute" value="[700, 500]">
+ </property>
+ <property name="_location" class="ptolemy.kernel.util.Location" value="[180.0, 745.0]">
+ </property>
+ </entity>
+ <entity name="Display3" class="ptolemy.actor.lib.gui.Display">
+ <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={65, 305, 1189, 542}, maximized=false}">
+ </property>
+ <property name="_paneSize" class="ptolemy.actor.gui.SizeAttribute" value="[1189, 498]">
+ </property>
+ <property name="_location" class="ptolemy.kernel.util.Location" value="[245.0, 670.0]">
+ </property>
+ </entity>
<relation name="relation6" class="ptolemy.actor.TypedIORelation">
<property name="width" class="ptolemy.data.expr.Parameter" value="1">
</property>
@@ -170,6 +192,14 @@
<property name="width" class="ptolemy.data.expr.Parameter" value="1">
</property>
</relation>
+ <relation name="relation14" class="ptolemy.actor.TypedIORelation">
+ <property name="width" class="ptolemy.data.expr.Parameter" value="1">
+ </property>
+ </relation>
+ <relation name="relation15" class="ptolemy.actor.TypedIORelation">
+ <property name="width" class="ptolemy.data.expr.Parameter" value="1">
+ </property>
+ </relation>
<link port="Display.input" relation="relation4"/>
<link port="Display2.input" relation="relation"/>
<link port="Life Table Display.input" relation="relation2"/>
@@ -200,4 +230,9 @@
<link port="AgePyramidPlot.out" relation="relation13"/>
<link port="ImageDisplay3.input" relation="relation13"/>
<link port="AgePyramid Display.input" relation="relation9"/>
+ <link port="Histogram.output" relation="relation15"/>
+ <link port="Histogram.dataPort" relation="relation7"/>
+ <link port="Histogram.out" relation="relation14"/>
+ <link port="ImageDisplay4.input" relation="relation14"/>
+ <link port="Display3.input" relation="relation15"/>
</entity>
Added: trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/Histogram.java
===================================================================
--- trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/Histogram.java (rev 0)
+++ trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/Histogram.java 2011-10-20 00:10:12 UTC (rev 28819)
@@ -0,0 +1,248 @@
+/**
+ * '$RCSfile: RExpression.java,v $'
+ *
+ * '$Author: pea1 $'
+ * '$Date: 2009/03/25 15:51:49 $'
+ * '$Revision: 1.2 $'
+ *
+ * For Details: http://kepler.ecoinformatics.org
+ *
+ * Copyright (c) 2003 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
+ * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+ * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY
+ * OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
+ * UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ */
+
+package edu.cornell.birds.is.bap.actor.survivorship;
+
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.ecoinformatics.seek.R.RExpression;
+import org.jfree.chart.ChartUtilities;
+
+import edu.cornell.birds.is.bap.actor.WorkflowOutputRepositoryActorHelper;
+import edu.cornell.birds.is.bap.ptolemy.StringChoiceParameter;
+import edu.cornell.birds.is.bap.ptolemy.StringChoiceProvider;
+
+import ptolemy.actor.TypedIOPort;
+import ptolemy.actor.parameters.PortParameter;
+import ptolemy.data.AWTImageToken;
+import ptolemy.data.StringToken;
+import ptolemy.data.Token;
+import ptolemy.data.expr.Parameter;
+import ptolemy.data.type.BaseType;
+import ptolemy.kernel.CompositeEntity;
+import ptolemy.kernel.util.IllegalActionException;
+
+import ptolemy.kernel.util.NameDuplicationException;
+
+
+public class Histogram extends RExpression implements StringChoiceProvider {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -607356176739963444L;
+
+ public static Log log = LogFactory.getLog(Histogram.class);
+
+ public TypedIOPort outPort;
+ public PortParameter titlePort;
+ public PortParameter subTitlePort;
+ public Parameter widthParameter;
+ public Parameter heightParameter;
+ public Parameter numBinsParameter;
+ public TypedIOPort dataPort;
+
+ public StringChoiceParameter dataColumnText = null;
+ public StringChoiceParameter nBinsText = null;
+
+ protected WorkflowOutputRepositoryActorHelper outputServiceHelper =
+ new WorkflowOutputRepositoryActorHelper();
+
+
+ /** Construct an actor with the given container and name.
+ * @param container The container.
+ * @param name The name of this actor.
+ * @exception IllegalActionException If the actor cannot be contained
+ * by the proposed container.
+ * @exception NameDuplicationException If the container already has an
+ * actor with this name.
+ */
+ public Histogram(CompositeEntity container, String name)
+ throws NameDuplicationException, IllegalActionException {
+ super(container, name);
+
+ dataPort = new TypedIOPort(this, "dataPort", true, false);
+
+ titlePort = new PortParameter(this, "title");
+ titlePort.setDisplayName("Title");
+ titlePort.setStringMode(true);
+
+ subTitlePort = new PortParameter(this, "subTitle");
+ subTitlePort.setDisplayName("Auxiliary Title");
+ subTitlePort.setStringMode(true);
+
+ widthParameter = new Parameter(this, "width");
+ widthParameter.setTypeEquals(BaseType.INT);
+ widthParameter.setExpression("700");
+
+ heightParameter = new Parameter(this, "height");
+ heightParameter.setTypeEquals(BaseType.INT);
+ heightParameter.setExpression("500");
+
+ dataColumnText = new StringChoiceParameter(this, "dataColumn", this);
+ dataColumnText.setDisplayName("Column");
+ dataColumnText.setExpression(dataColumnText.getChoices()[0]);
+
+ numBinsParameter = new Parameter(this, "numBins");
+ numBinsParameter.setDisplayName("Suggested Bin number or method");
+ numBinsParameter.setStringMode(true);
+ numBinsParameter.setExpression("Scott");
+
+ outPort = new TypedIOPort(this, "out", false, true);
+ outPort.setTypeEquals(BaseType.OBJECT);
+
+
+ expression.setExpression("this is filled in at fire()");
+ }
+
+ public void fire() throws IllegalActionException {
+
+ // XXX currently we want png not pdf. see about support for pdf later.
+ forcePDFForOSX = false;
+
+ String dataColumnChoice = dataColumnText.getKeyForCurrentChoice();
+ // R replaces spaces with a period in column names
+ String dataColumn = dataColumnChoice.replace(" ", ".");
+
+ String title = getCompoundTitle();
+
+ StringToken dataToken = (StringToken) dataPort.get(0);
+ String demographyFileString = dataToken.stringValue();
+ File demographyFile = new File(demographyFileString);
+ if (!demographyFile.canRead()){
+ System.out.println("Histogram.fire() failed to get readable file from dataPort input port");
+ return;
+ }
+
+ // nbins can be either an int or string (binning method)
+ String nbins = numBinsParameter.getExpression();
+ try{
+ Integer.parseInt(nbins);
+ }catch(NumberFormatException nfe){
+ nbins = "\"".concat(nbins).concat("\"");
+ }
+
+ //XXX a bit hacky:
+ numXPixels.setExpression(widthParameter.getExpression());
+ numYPixels.setExpression(heightParameter.getExpression());
+
+ String agePyramidRcode =
+ "demographyData <- read.table(\"" + demographyFile.toString() + "\", sep=\",\", quote=\"\\\"\", " +
+ "header = TRUE)\n" +
+ "library(MASS)\n" +
+ "attach(demographyData)\n" +
+ "truehist("+dataColumn+", prob=FALSE, nbins="+nbins+", xlab=\""+dataColumnChoice+"\", ylab=\"Frequency\", main=\""+title+"\")\n" +
+ "library(Hmisc)\n" +
+ "minor.tick(nx=2, ny=2, tick.ratio=.5)\n";
+
+ expression.setExpression(agePyramidRcode);
+
+ // *****
+ super.fire();
+ // *****
+
+ BufferedImage bufferedImage = null;
+ try {
+ bufferedImage = ImageIO.read(new File(home+graphicsOutputFile));
+ if (bufferedImage == null){
+ System.out.println("Histogram.fire bufferedImage == null ERROR");
+ }
+ storeOutput(bufferedImage);
+ outPort.send(0, new AWTImageToken(bufferedImage));
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+
+ protected void storeOutput(BufferedImage image) {
+ if (outputServiceHelper.isActive()) {
+ try {
+ byte[] bytes = ChartUtilities.encodeAsPNG(image);
+ outputServiceHelper.storeOutput(this, "image/png", null, bytes);
+ }
+ catch (IOException e) {
+ log.warn("IOException trying to encode image for storage", e);
+ }
+ }
+ }
+
+ protected String getCompoundTitle() throws IllegalActionException {
+
+ StringBuffer b = new StringBuffer();
+
+ titlePort.update();
+ Token titleToken = titlePort.getToken();
+
+ subTitlePort.update();
+ Token auxTitleToken = subTitlePort.getToken();
+
+ if (titleToken != null) {
+ b.append(((StringToken)titleToken).stringValue());
+ }
+
+ if (auxTitleToken != null) {
+ if (b.length() > 0) b.append("\n");
+ b.append(((StringToken)auxTitleToken).stringValue());
+ }
+
+ return b.toString();
+ }
+
+ // XXX would be nice to utilize names or colnames of table for providing choices,
+ // but only get data on fire. possible to change when port gets connected?
+ private String[] choices = new String[] {
+ "Age",
+ "Birth Year",
+ "Death Year",
+ };
+ public String[] getChoices() {
+ return choices;
+ }
+ public String getValueForChoice(String choice) {
+ return choice;
+ }
+ public String getChoiceForValue(String value) {
+ return value;
+ }
+
+
+}
Property changes on: trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/Histogram.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/SurvivalCurveCalc.java
===================================================================
--- trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/SurvivalCurveCalc.java 2011-10-19 14:03:31 UTC (rev 28818)
+++ trunk/modules/science-pipes-backend/src/edu/cornell/birds/is/bap/actor/survivorship/SurvivalCurveCalc.java 2011-10-20 00:10:12 UTC (rev 28819)
@@ -82,7 +82,7 @@
outPort = new TypedIOPort(this, "out", false, true);
outPort.setTypeEquals(BaseType.OBJECT);
- groupByText = new StringChoiceParameter(this, "group", this);
+ groupByText = new StringChoiceParameter(this, "groupBy", this);
groupByText.setDisplayName("Group By Column");
groupByText.setExpression(groupByText.getChoices()[0]);
@@ -91,9 +91,8 @@
public void fire() throws IllegalActionException {
- String groupByChoice = groupByText.stringValue();
- String key = groupByText.getKeyForCurrentChoice();
- log.debug("groupByText: " + key);
+ String groupByChoice = groupByText.getKeyForCurrentChoice();
+ log.debug("groupByChoice: " + groupByChoice);
StringToken dataToken = (StringToken) dataPort.get(0);
String demographyFileString = dataToken.stringValue();
Added: trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.Histogram.meta.xml
===================================================================
--- trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.Histogram.meta.xml (rev 0)
+++ trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.Histogram.meta.xml 2011-10-20 00:10:12 UTC (rev 28819)
@@ -0,0 +1,144 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN" "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
+<entity name="Histogram" class="edu.cornell.birds.is.bap.actor.survivorship.Histogram">
+ <display name="Histogram"/>
+
+ <property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
+ <property name="description" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Given demography data, creates a histogram plot for selected column.</configure>
+ </property>
+ <property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"/>
+ <property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"/>
+ <property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"/>
+ <property name="port:image" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Histogram image.</configure>
+ </property>
+ <property name="port:subTitle" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Text to use for secondary plot title</configure>
+ </property>
+ <property name="port:out" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Typically, this port should remain unused</configure>
+ </property>
+ <property name="port:title" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Text to use for primary plot title</configure>
+ </property>
+ <property name="port:dataPort" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Data from which a column will be plotted.</configure>
+ </property>
+ <property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Width of chart, in pixels (hint: try 700 to start with)</configure>
+ </property>
+ <property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Height of chart, in pixels (hint: try 500 to start with)</configure>
+ </property>
+ <property name="prop:auxiliaryTitle" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Text to use for secondary chart title</configure>
+ </property>
+ <property name="prop:title" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Text to use for primary chart title</configure>
+ </property>
+ <property name="prop:numBins" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Suggested number of Bins or bin method(Scott or FD/Freedman-Diaconis)</configure>
+ </property>
+ <property name="prop:dataColumn" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>The data column to plot.</configure>
+ </property>
+ </property>
+ <property name="_iconSmall" class="ptolemy.kernel.util.StringAttribute" value="icon_bar_chart.png">
+ </property>
+ <property name="_iconMedium" class="ptolemy.kernel.util.StringAttribute" value="icon_bar_chart.png">
+ </property>
+ <property name="_iconLarge" class="ptolemy.kernel.util.StringAttribute" value="icon_bar_chart.png">
+ </property>
+ <property name="_iconXLarge" class="ptolemy.kernel.util.StringAttribute" value="icon_bar_chart.png">
+ </property>
+
+ <property name="title" class="ptolemy.actor.parameters.PortParameter" value="">
+ <display name="Title"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+ <property name="subTitle" class="ptolemy.actor.parameters.PortParameter" value="">
+ <display name="Sub-Title"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+ <property name="width" class="ptolemy.data.expr.Parameter" value="700">
+ <display name="Width (px)"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+ <property name="height" class="ptolemy.data.expr.Parameter" value="500">
+ <display name="Height (px)"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+ <port name="dataPort" class="ptolemy.actor.TypedIOPort">
+ <property name="input"/>
+ <display name="Data Input"/>
+ </port>
+ <port name="out" class="ptolemy.actor.TypedIOPort">
+ <property name="output"/>
+ <display name="Image"/>
+ </port>
+ <port name="title" class="ptolemy.actor.parameters.ParameterPort">
+ <property name="input"/>
+ <display name="Title"/>
+ <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
+ <display name="tokenConsumptionRate"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+ </port>
+ <port name="subTitle" class="ptolemy.actor.parameters.ParameterPort">
+ <property name="input"/>
+ <display name="Sub-Title"/>
+ <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
+ <display name="tokenConsumptionRate"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+ </port>
+
+ <property name="numBins" class="ptolemy.data.expr.Parameter" value="Scott">
+ <display name="Bins"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ </property>
+
+ <property name="dataColumn" class="edu.cornell.birds.is.bap.ptolemy.StringChoiceParameter" value="Age">
+ <display name="Data Column"/>
+ <property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
+ </property>
+ <property name="_visibilityHint" class="ptolemy.kernel.util.StringAttribute" value="full">
+ </property>
+ <property name="_uiHint" class="ptolemy.kernel.util.StringAttribute" value="default">
+ </property>
+ <property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
+ <property name="Age" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Age</configure>
+ </property>
+ <property name="Birth Year" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Birth Year</configure>
+ </property>
+ <property name="Death Year" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Death Year</configure>
+ </property>
+ </property>
+ </property>
+
+</entity>
\ No newline at end of file
Property changes on: trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.Histogram.meta.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.SurvivalCurveCalc.meta.xml
===================================================================
--- trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.SurvivalCurveCalc.meta.xml 2011-10-19 14:03:31 UTC (rev 28818)
+++ trunk/modules/science-pipes-frontend/WebContent/editor/parts/edu.cornell.birds.is.bap.actor.survivorship.SurvivalCurveCalc.meta.xml 2011-10-20 00:10:12 UTC (rev 28819)
@@ -16,6 +16,9 @@
<property name="port:dataPort" class="ptolemy.kernel.util.ConfigurableAttribute">
<configure>Demography data to operate on.</configure>
</property>
+ <property name="port:groupBy" class="ptolemy.kernel.util.ConfigurableAttribute">
+ <configure>Group by column.</configure>
+ </property>
</property>
<property name="_iconSmall" class="ptolemy.kernel.util.StringAttribute" value="icon_calculator.png">
</property>
@@ -34,7 +37,8 @@
<property name="output"/>
<display name="Out"/>
</port>
- <property name="groupByText" class="edu.cornell.birds.is.bap.ptolemy.StringChoiceParameter" value="Gender">
+
+ <property name="groupBy" class="edu.cornell.birds.is.bap.ptolemy.StringChoiceParameter" value="Gender">
<display name="Group By"/>
<property name="_parameterHint" class="ptolemy.kernel.util.StringAttribute">
</property>
Modified: trunk/modules/science-pipes-frontend/WebContent/editor/parts/survivorship-actors.xml
===================================================================
--- trunk/modules/science-pipes-frontend/WebContent/editor/parts/survivorship-actors.xml 2011-10-19 14:03:31 UTC (rev 28818)
+++ trunk/modules/science-pipes-frontend/WebContent/editor/parts/survivorship-actors.xml 2011-10-20 00:10:12 UTC (rev 28819)
@@ -11,13 +11,17 @@
<actor class="edu.cornell.birds.is.bap.actor.crossingboundaries.calc.DistinctDataUnion" name="Data Union" guid="edu.cornell.birds.is.bap.actor.crossingboundaries.calc.DistinctDataUnion"/>
</group>
<group name="Output" expanded="true" id="output">
+ <actor class="edu.cornell.birds.is.bap.actor.survivorship.Histogram" name="Histogram" guid="edu.cornell.birds.is.bap.actor.survivorship.Histogram"/>
<actor class="edu.cornell.birds.is.bap.actor.survivorship.AgePyramidPlot" name="Age Pyramid Plot" guid="edu.cornell.birds.is.bap.actor.survivorship.AgePyramidPlot"/>
<actor class="edu.cornell.birds.is.bap.actor.survivorship.LifeTable" name="Life Table" guid="edu.cornell.birds.is.bap.actor.survivorship.LifeTable"/>
<actor class="edu.cornell.birds.is.bap.actor.survivorship.SurvivalCurvePlot" name="Survival Curve Plot" guid="edu.cornell.birds.is.bap.actor.survivorship.SurvivalCurvePlot"/>
+ <actor class="ptolemy.actor.lib.gui.Display" name="Data Viewer" guid="ptolemy.actor.lib.gui.Display"/>
+
+ <!--
<actor class="edu.cornell.birds.is.bap.actor.jfreechart.DataSeriesLabeler" name="Data Labeler" guid="edu.cornell.birds.is.bap.actor.jfreechart.DataSeriesLabeler"/>
<actor class="edu.cornell.birds.is.bap.actor.jfreechart.GraphSeriesUnion" name="Bar Chart Series Union" guid="edu.cornell.birds.is.bap.actor.jfreechart.GraphSeriesUnion"/>
<actor class="edu.cornell.birds.is.bap.actor.jfreechart.BarChart" name="Bar Chart" guid="edu.cornell.birds.is.bap.actor.jfreechart.BarChart"/>
<actor class="edu.cornell.birds.is.bap.actor.jfreechart.PieChart" name="Pie Chart" guid="edu.cornell.birds.is.bap.actor.jfreechart.PieChart"/>
- <actor class="ptolemy.actor.lib.gui.Display" name="Data Viewer" guid="ptolemy.actor.lib.gui.Display"/>
+ -->
</group>
</actorList>
\ No newline at end of file
More information about the Kepler-cvs
mailing list