You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(141) |
Sep
(184) |
Oct
(159) |
Nov
(77) |
Dec
(114) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(212) |
Feb
(302) |
Mar
(323) |
Apr
(360) |
May
(302) |
Jun
(392) |
Jul
(299) |
Aug
(858) |
Sep
(499) |
Oct
(489) |
Nov
(324) |
Dec
(438) |
2008 |
Jan
(449) |
Feb
(388) |
Mar
(811) |
Apr
(583) |
May
(949) |
Jun
(1431) |
Jul
(943) |
Aug
(527) |
Sep
(576) |
Oct
(440) |
Nov
(1046) |
Dec
(658) |
2009 |
Jan
(259) |
Feb
(192) |
Mar
(495) |
Apr
(2322) |
May
(2023) |
Jun
(1387) |
Jul
(722) |
Aug
(771) |
Sep
(167) |
Oct
(142) |
Nov
(384) |
Dec
(884) |
2010 |
Jan
(344) |
Feb
(82) |
Mar
(248) |
Apr
(341) |
May
(389) |
Jun
(289) |
Jul
(19) |
Aug
(478) |
Sep
(274) |
Oct
(431) |
Nov
(322) |
Dec
(207) |
2011 |
Jan
(125) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: John C. <jc...@us...> - 2006-08-20 06:49:16
|
Update of /cvsroot/tolven/tolvenWEB/web/five/test In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7392/web/five/test Modified Files: testFamily.xhtml Log Message: Add description to the page itself. Index: testFamily.xhtml =================================================================== RCS file: /cvsroot/tolven/tolvenWEB/web/five/test/testFamily.xhtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** testFamily.xhtml 7 Aug 2006 03:23:53 -0000 1.4 --- testFamily.xhtml 20 Aug 2006 06:49:13 -0000 1.5 *************** *** 57,60 **** --- 57,61 ---- </table> </div> + <p>These families are created as part of creating people. This is a global list, not associated with any particular user or account and is used to demonstrate scrolling. Clicking on a family shows the family.</p> </ui:composition> </body> |
From: John C. <jc...@us...> - 2006-08-20 06:48:36
|
Update of /cvsroot/tolven/tolvenWEB/web/five In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6987/web/five Modified Files: lab.xhtml labSummary.xhtml Log Message: Add Lab Result support Index: lab.xhtml =================================================================== RCS file: /cvsroot/tolven/tolvenWEB/web/five/lab.xhtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** lab.xhtml 1 Aug 2006 15:47:07 -0000 1.3 --- lab.xhtml 20 Aug 2006 06:48:33 -0000 1.4 *************** *** 9,13 **** </head> <body> ! <ui:composition><p>Lab results go here for element #{param.element}, path #{menu.targetMenuPath.path}.</p></ui:composition> </body> </html> \ No newline at end of file --- 9,77 ---- </head> <body> ! <ui:composition> ! <script language="JavaScript" type="text/javascript"> ! // <![CDATA[ ! #{menu.elementLabel}DG = new Rico.LiveGrid( '#{menu.element}LG', 15, #{menu.menuDataCount}, ! 'menuData.ajax', ! {prefetchBuffer: true, ! tableClass: 'dataGrid', ! largeBufferSize: 4.0, ! nearLimitFactor: 0.7, ! requestParameters: [{name: 'element', value: visiblePage}], ! loadingClass: 'dataGridLoading', ! sortAscendImg: '../images/sort_asc.gif', ! sortDescendImg:'../images/sort_desc.gif'}); ! ! #{menu.elementLabel}DGFilter = ''; ! #{menu.elementLabel}DGFilterChange = function (element, vax) { ! if (#{menu.elementLabel}DGFilter==vax) return; ! #{menu.elementLabel}DGFilter = vax; ! #{menu.elementLabel}DG.setRequestParams( {name: 'element', value: visiblePage}, ! {name: 'TestFilter', value: #{menu.elementLabel}DGFilter} ); ! // #{menu.elementLabel}DG.setTotalRows(10); ! #{menu.elementLabel}DG.resetContents(); ! #{menu.elementLabel}DG.requestContentRefresh(0); ! }; ! new Form.Element.Observer( $("#{menu.element}DGFilter"), 1, #{menu.elementLabel}DGFilterChange ); ! // ]]> ! </script> ! <form action="#"> ! Filter: <input name="#{menu.element}DGFilter" type="text" id="#{menu.element}DGFilter" /> ! </form> ! <div style="border: 1px solid #E1E1E1;width:100%;"> ! <table id="#{menu.element}LG_header" > ! <thead> ! <tr> ! <th align="right" width="125px">Date</th> ! <th align="left" width="210px">Test</th> ! <th align="left" width="210px">Result</th> ! <th align="right" width="100px">Value</th> ! <th align="left" width="75px">Units</th> ! <th align="left" width="75px">Interpretation</th> ! <th align="left" width="100px">Source</th> ! </tr> ! </thead> ! </table> ! <table id="#{menu.element}LG" > ! <tbody> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! <tr><td align="right" width="125px">-</td><td width="210px">-</td><td width="210px">-</td><td align="right" width="100px">-</td><td width="75px">-</td><td width="75px">-</td><td width="100px">-</td></tr> ! </tbody> ! </table> ! </div> </ui:composition> </body> </html> \ No newline at end of file Index: labSummary.xhtml =================================================================== RCS file: /cvsroot/tolven/tolvenWEB/web/five/labSummary.xhtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** labSummary.xhtml 12 Aug 2006 07:19:01 -0000 1.3 --- labSummary.xhtml 20 Aug 2006 06:48:33 -0000 1.4 *************** *** 10,20 **** <body> <ui:composition> ! <h:dataTable id="labsum" value="#{menu.menuData}" var="md" cellspacing="0" border="0" cellpadding="3" width="100%"> <f:facet name="header"> ! <h:outputText value="#{menu.thisMenu.text}"/> </f:facet> <h:column> <h:outputText value="#{md.date01}"> ! <f:convertDateTime type="date" pattern="yyyy"/> </h:outputText> </h:column> --- 10,22 ---- <body> <ui:composition> ! <h:dataTable id="labsum" value="#{menu.summaryMenuData}" var="md" cellspacing="0" border="0" cellpadding="3" width="100%"> <f:facet name="header"> ! <h:outputLink value="#" onclick="showPane('#{menu.menuDataItem.pathTo.echr.patient.results.lab.fullPath}')"> ! <h:outputText value="#{menu.thisMenu.text}"/> ! </h:outputLink> </f:facet> <h:column> <h:outputText value="#{md.date01}"> ! <f:convertDateTime type="date" pattern="MMM-yyyy"/> </h:outputText> </h:column> *************** *** 22,27 **** <h:outputText value="#{md.string01}"/> </h:column> </h:dataTable> ! <h:outputText rendered="#{menu.menuDataCount==0}" value="No Lab Results"/> </ui:composition> </body> --- 24,35 ---- <h:outputText value="#{md.string01}"/> </h:column> + <h:column> + <h:outputText value="#{md.string02}"/> + </h:column> </h:dataTable> ! <h:outputLink rendered="#{menu.menuDataCount>6}" value="#" onclick="showPane('#{menu.menuDataItem.pathTo.echr.patient.results.lab.fullPath}')"> ! <h:outputText value="More..." style="COLOR: #333333; TEXT-DECORATION: none; FONT-SIZE: 75%;TEXT-ALIGN: right;"/> ! </h:outputLink> ! <h:outputText rendered="#{menu.menuDataCount==0}" value="No Lab Results" style="COLOR: #333333; FONT-SIZE: 75%;TEXT-ALIGN: center;"/> </ui:composition> </body> |
From: John C. <jc...@us...> - 2006-08-20 06:47:20
|
Update of /cvsroot/tolven/tolvenWEB/src/org/tolven/web In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6561/src/org/tolven/web Modified Files: MenuAction.java Log Message: Add a new menuData feature that just returns 6 rows (used by summary screen) Index: MenuAction.java =================================================================== RCS file: /cvsroot/tolven/tolvenWEB/src/org/tolven/web/MenuAction.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MenuAction.java 18 Aug 2006 21:37:15 -0000 1.13 --- MenuAction.java 20 Aug 2006 06:47:18 -0000 1.14 *************** *** 160,164 **** MenuStructure ms = menuLocal.findMenuStructure( getAccountId(), getTargetMenuPath().getPath() ); MenuQueryControl ctrl = new MenuQueryControl(); ! ctrl.setLimit( 1000 ); ctrl.setMenuStructure( ms ); ctrl.setNow( getNow()); --- 160,164 ---- MenuStructure ms = menuLocal.findMenuStructure( getAccountId(), getTargetMenuPath().getPath() ); MenuQueryControl ctrl = new MenuQueryControl(); ! ctrl.setLimit( 5000 ); // TODO: This is a hard coded hard query limit that should be in a property or something ctrl.setMenuStructure( ms ); ctrl.setNow( getNow()); *************** *** 172,175 **** --- 172,192 ---- /** + * Get the menudata for the requested element + */ + public List<MenuData> getSummaryMenuData( ) { + MenuStructure ms = menuLocal.findMenuStructure( getAccountId(), getTargetMenuPath().getPath() ); + MenuQueryControl ctrl = new MenuQueryControl(); + ctrl.setLimit( 6 ); // TODO: Hard-coded limit of 6 items in summary should be specified in MenuStructure, not here. + ctrl.setMenuStructure( ms ); + ctrl.setNow( getNow()); + ctrl.setOffset( 0 ); + ctrl.setOriginalTargetPath( getTargetMenuPath() ); + ctrl.setRequestedPath( getTargetMenuPath() ); + ctrl.setSortDirection( "DESC"); // TODO: Hard-coded limit of default sort criteria should be in MenuStructure. + ctrl.setSortOrder( "Date" ); + return menuLocal.findMenuData( ctrl ); + } + + /** * Get the count of menudata for the requested element */ |
From: John C. <jc...@us...> - 2006-08-20 06:46:22
|
Update of /cvsroot/tolven/tolvenWEB/src/org/tolven/ajax In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6146/src/org/tolven/ajax Modified Files: AjaxServlet.java Log Message: When the column is PQ, display the string and sourt on the double value. Index: AjaxServlet.java =================================================================== RCS file: /cvsroot/tolven/tolvenWEB/src/org/tolven/ajax/AjaxServlet.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** AjaxServlet.java 16 Aug 2006 18:14:31 -0000 1.8 --- AjaxServlet.java 20 Aug 2006 06:46:20 -0000 1.9 *************** *** 224,231 **** writer.write(" "); } ! } else if (col.getInternal().startsWith("string")) { String val = md.getStringField( col.getInternal()); if (val != null) writer.write( val ); else writer.write( " "); } else if (col.getInternal().equals("reference")) { String ppath = md.getReferencePath( ); --- 224,236 ---- writer.write(" "); } ! } else if (col.getInternal().startsWith("string") || ! col.getInternal().startsWith("pqUnits")) { String val = md.getStringField( col.getInternal()); if (val != null) writer.write( val ); else writer.write( " "); + } else if (col.getInternal().startsWith("pqValue") ) { + String val = md.getPQStringField( col.getInternal() ); + if (val != null) writer.write( val ); + else writer.write( " "); } else if (col.getInternal().equals("reference")) { String ppath = md.getReferencePath( ); |
From: John C. <jc...@us...> - 2006-08-20 06:45:25
|
Update of /cvsroot/tolven/tolvenWEB/src/org/tolven/web In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5737/src/org/tolven/web Modified Files: TransactionFilter.java Log Message: Check for a transaction in case we get an exception. Index: TransactionFilter.java =================================================================== RCS file: /cvsroot/tolven/tolvenWEB/src/org/tolven/web/TransactionFilter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** TransactionFilter.java 18 Aug 2006 03:20:36 -0000 1.9 --- TransactionFilter.java 20 Aug 2006 06:45:23 -0000 1.10 *************** *** 93,96 **** --- 93,105 ---- ut = null; } catch (Exception e) { + try { + if(ut != null ) {// && (ut.getStatus()==Status.STATUS_ACTIVE) + ut.rollback(); + ut = null; + } + } catch (Exception e2 ) { + System.out.println( "*************** !!!!!TRANSACTION ROLLBACK EXCEPTION!!!! *******************" ); + throw new ServletException( e2 ); + } System.out.println( "***************TRANSACTION EXCEPTION FOLLOWS *******************" ); throw new ServletException( e ); *************** *** 99,102 **** --- 108,112 ---- if(ut != null ) {// && (ut.getStatus()==Status.STATUS_ACTIVE) ut.rollback(); + ut = null; } } catch (Exception e ) { |
From: John C. <jc...@us...> - 2006-08-20 06:43:32
|
Update of /cvsroot/tolven/tolvenEJB/src/org/tolven/app/entity In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4887/src/org/tolven/app/entity Modified Files: MenuData.java Log Message: Add generation of lab results and menu configuration. Several new scenario types are added including choose, repeat, probability. Allow two attributes for each PQ value: a string and a double. Sort on the double, display the string. Index: MenuData.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/app/entity/MenuData.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** MenuData.java 8 Aug 2006 18:14:54 -0000 1.8 --- MenuData.java 20 Aug 2006 06:43:28 -0000 1.9 *************** *** 145,148 **** --- 145,151 ---- private double pqValue01; + @Column( name="PQSVAL01") + private String pqStringVal01; + @Column( name="PQUNITS01") private String pqUnits01; *************** *** 151,154 **** --- 154,160 ---- private double pqValue02; + @Column( name="PQSVAL02") + private String pqStringVal02; + @Column( name="PQUNITS02") private String pqUnits02; *************** *** 157,160 **** --- 163,169 ---- private double pqValue03; + @Column( name="PQSVAL03") + private String pqStringVal03; + @Column( name="PQUNITS03") private String pqUnits03; *************** *** 163,166 **** --- 172,178 ---- private double pqValue04; + @Column( name="PQSVAL04") + private String pqStringVal04; + @Column( name="PQUNITS04") private String pqUnits04; *************** *** 392,401 **** // System.out.println( "[getStringField] " + fieldName + " in " + toString()); if (fieldName.equals("string01")) return this.getString01(); ! if (fieldName.equals("string02")) return this.getString02(); ! if (fieldName.equals("string03")) return this.getString03(); ! if (fieldName.equals("string04")) return this.getString04(); ! return null; } public String getParentPath( String fieldName ) { if (fieldName.equals("parent01")) return this.getParentPath01(); --- 404,426 ---- // System.out.println( "[getStringField] " + fieldName + " in " + toString()); if (fieldName.equals("string01")) return this.getString01(); ! else if (fieldName.equals("string02")) return this.getString02(); ! else if (fieldName.equals("string03")) return this.getString03(); ! else if (fieldName.equals("string04")) return this.getString04(); ! else if (fieldName.equals("pqUnits01")) return this.getPqUnits01(); ! else if (fieldName.equals("pqUnits02")) return this.getPqUnits02(); ! else if (fieldName.equals("pqUnits03")) return this.getPqUnits03(); ! else if (fieldName.equals("pqUnits04")) return this.getPqUnits04(); ! else return null; ! } ! public String getPQStringField( String fieldName ) { ! // System.out.println( "[getStringField] " + fieldName + " in " + toString()); ! if (fieldName.equals("pqValue01")) return this.getPqStringVal01(); ! else if (fieldName.equals("pqValue02")) return this.getPqStringVal02(); ! else if (fieldName.equals("pqValue03")) return this.getPqStringVal03(); ! else if (fieldName.equals("pqValue04")) return this.getPqStringVal04(); ! else return null; } + public String getParentPath( String fieldName ) { if (fieldName.equals("parent01")) return this.getParentPath01(); *************** *** 782,785 **** --- 807,834 ---- this.referencePath = referencePath; } + public String getPqStringVal01() { + return pqStringVal01; + } + public void setPqStringVal01(String pqStringVal01) { + this.pqStringVal01 = pqStringVal01; + } + public String getPqStringVal02() { + return pqStringVal02; + } + public void setPqStringVal02(String pqStringVal02) { + this.pqStringVal02 = pqStringVal02; + } + public String getPqStringVal03() { + return pqStringVal03; + } + public void setPqStringVal03(String pqStringVal03) { + this.pqStringVal03 = pqStringVal03; + } + public String getPqStringVal04() { + return pqStringVal04; + } + public void setPqStringVal04(String pqStringVal04) { + this.pqStringVal04 = pqStringVal04; + } } |
Update of /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4887/src/org/tolven/gen/bean Modified Files: ValueGen.java DiseaseGen.java GenMedical.java UniformValueGen.java PregnantGen.java PoissonValueGen.java GenSource.java Scenario.java GaussianValueGen.java DiabetesGen.java Added Files: RepeatScenario.java GroupScenario.java ProbabilityScenario.java ChooseScenario.java LabTestScenario.java Log Message: Add generation of lab results and menu configuration. Several new scenario types are added including choose, repeat, probability. Allow two attributes for each PQ value: a string and a double. Sort on the double, display the string. Index: Scenario.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/Scenario.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Scenario.java 11 Aug 2006 00:15:21 -0000 1.1 --- Scenario.java 20 Aug 2006 06:43:28 -0000 1.2 *************** *** 6,15 **** public class Scenario { ! public Scenario( ) { } ! public void apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { ! } } --- 6,40 ---- public class Scenario { ! private String title; ! public Scenario( ) { } ! public Scenario( String title ) { ! this.title = title; ! } ! ! /** ! * ! * @param patient ! * @param startTime ! * @param endTime ! * @param rng ! * @return Return true if this scenario did anything or not. For example, the select-one scenario ! * means the first (child) scenario to return true finishes the lot. ! */ ! public boolean apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { ! System.out.println( "Generic Scenario " + getTitle() ! + " for " + patient.getVp().getFirst() + " " + patient.getVp().getLast() ! + " starting " + startTime + " ending " + endTime); ! return false; ! } ! ! public String getTitle() { ! return title; ! } ! ! public void setTitle(String title) { ! this.title = title; } } Index: UniformValueGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/UniformValueGen.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** UniformValueGen.java 11 Aug 2006 00:15:21 -0000 1.1 --- UniformValueGen.java 20 Aug 2006 06:43:28 -0000 1.2 *************** *** 1,10 **** package org.tolven.gen.bean; public class UniformValueGen extends ValueGen{ private double low; private double high; ! public UniformValueGen( String units, double low, double high ) { ! super( units ); this.low = low; this.high = high; --- 1,15 ---- package org.tolven.gen.bean; + import org.apache.commons.math.random.RandomData; + public class UniformValueGen extends ValueGen{ private double low; private double high; ! public double generate( RandomData rng) { ! return rng.nextUniform(low,high); ! } ! ! public UniformValueGen( double low, double high ) { this.low = low; this.high = high; Index: DiabetesGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/DiabetesGen.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DiabetesGen.java 12 Aug 2006 07:19:03 -0000 1.2 --- DiabetesGen.java 20 Aug 2006 06:43:28 -0000 1.3 *************** *** 13,17 **** public class DiabetesGen extends ChronicDiseaseGen { - public DiabetesGen( RandomData rng ) { this.rng = rng; --- 13,16 ---- *************** *** 25,31 **** addMatcher( new DemogMatcher( 60, 200, "M", 0.08)); addMatcher( new DemogMatcher( 60, 200, "F", 0.12)); ! // addScenario( new Scenario( GregorianCalendar.MONTH, 12, ); ! // new Scenario( GregorianCalendar.MONTH, 12); } --- 24,49 ---- addMatcher( new DemogMatcher( 60, 200, "M", 0.08)); addMatcher( new DemogMatcher( 60, 200, "F", 0.12)); ! this.setScenario(new ChooseScenario( new ProbabilityScenario[] ! { ! new ProbabilityScenario( 0.50, new RepeatScenario( GregorianCalendar.MONTH, 6,1.5, false, ! new GroupScenario("0.50 scenario in Diabetes", new Scenario[] { ! new LabTestScenario("hemoglobin A1C test", "%", "7 (or less)", 1, new GaussianValueGen( 6.0, 1.2) ), ! new LabTestScenario("Creatinine", "mg/dL", "0.9 to 1.4 mg/dL", 1, new GaussianValueGen( 1.2, 0.2) ), ! new LabTestScenario("low-density lipoprotein (LDL)", "mg/dL", ">100 mg/dL", 0, new GaussianValueGen( 85.0, 15.0) ), ! new LabTestScenario("triglycerides", "mg/dL", ">150 mg/dL", 0, new GaussianValueGen( 140.0, 10.0) ), ! new LabTestScenario("urine albumin", "mcg", ">30 mcg", 0, new GaussianValueGen( 29.0, 6.0) ) ! } ! ))), + new ProbabilityScenario( 0.25, new RepeatScenario( GregorianCalendar.MONTH, 8,2.1, true, + new GroupScenario("0.50 scenario in Diabetes", new Scenario[] { + new LabTestScenario("hemoglobin A1C test", "%", "7 (or less)", 1, new GaussianValueGen( 9.0, 3.0) ), + new LabTestScenario("Creatinine", "mg/dL", "0.9 to 1.4 mg/dL", 1, new GaussianValueGen( 1.1, 0.4) ), + new LabTestScenario("low-density lipoprotein (LDL)", "mg/dL", ">100 mg/dL", 0, new GaussianValueGen( 165.0, 35.0) ), + new LabTestScenario("triglycerides", "mg/dL", ">150 mg/dL", 0, new GaussianValueGen( 180.0, 20.0) ), + new LabTestScenario("urine albumin", "mcg", ">30 mcg", 0, new GaussianValueGen( 35.0, 8.0) ) + } + ))), + } )); } --- NEW FILE: GroupScenario.java --- package org.tolven.gen.bean; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.commons.math.random.RandomData; /** * Apply all scenarios in the group * @author John Churin * */ public class GroupScenario extends Scenario { private List<Scenario> scenarios; public GroupScenario( String title, Scenario[] scenarios ) { super( title ); for ( int x = 0; x < scenarios.length; x++ ) { getScenarios().add(scenarios[x]); } } /** * Apply a group of scenarios unconditionally. * @param patient * @param startTime * @param endTime * @param rng * @return Return true if at least one of the child scenarios did something (returned true), otherwise false. */ public boolean apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { boolean rslt = false; for ( Scenario s : getScenarios()) { if (s.apply( patient, startTime, endTime, rng)) rslt = true; } return rslt; } public List<Scenario> getScenarios() { if (scenarios==null) scenarios = new ArrayList<Scenario>( 10 ); return scenarios; } public void setScenarios(List<Scenario> scenarios) { this.scenarios = scenarios; } /** * Add a Scenario * @param scenario */ public void addScenario( Scenario scenario) { getScenarios().add( scenario ); } } --- NEW FILE: ChooseScenario.java --- package org.tolven.gen.bean; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.commons.math.random.RandomData; /** * A scenario that chooses among the supplied ProbabilityScenarios). * When the apply method is called, a random number is selected between 0.0 and 1.0 and * the probabilities of each choice considered. The choices do not need to total 1.0. If they exceed * 1.0 any latter choices beyond the 1.0 limit would not be selected. For example: Say two choices were in the list: * Choice A = 0.25 and Choice B = 0.50 then 25% of the time Choice A would be selected and 25% of the time * neither choice A nor B would be selected. So as you can see, the probabilities are not normalized to 1.0. * @author John Churin * */ public class ChooseScenario extends Scenario { private List<ProbabilityScenario> scenarios; public ChooseScenario( ProbabilityScenario[] scenarios ) { for ( int x = 0; x < scenarios.length; x++ ) { getScenarios().add(scenarios[x]); } } /** * * @param patient * @param startTime * @param endTime * @param rng * @return Return true if one of the child scenarios did something (returned true), otherwise false. */ public boolean apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { double choice = rng.nextUniform(0.0, 1.0); double base = 0.0; for ( ProbabilityScenario s : getScenarios()) { base += s.getProbability(); if (base>choice) { System.out.println( "Scenario Choice " + s.getTitle()); return s.apply( patient, startTime, endTime, rng); } } return false; } public List<ProbabilityScenario> getScenarios() { if (scenarios==null) scenarios = new ArrayList<ProbabilityScenario>( 10 ); return scenarios; } public void setScenarios(List<ProbabilityScenario> scenarios) { this.scenarios = scenarios; } /** * Add a Scenario * @param scenario */ public void addScenario( ProbabilityScenario scenario) { getScenarios().add( scenario ); } } --- NEW FILE: RepeatScenario.java --- package org.tolven.gen.bean; import java.util.Date; import java.util.GregorianCalendar; import org.apache.commons.math.random.RandomData; /** * Repeat the supplied a scenario periodically * @author John Churin * */ public class RepeatScenario extends Scenario { private Scenario scenarioToRepeat; private int intervalType; private int intervalValue; private double deviation; private double deviationMs; private boolean resetClock; /** * Because this class uses date arithmatic, it's possible that it could look out of control so * we have an intrinsic maximum. If we hit the maximum, throw an IllegalArgumentException suggesting that * the repeat interval must be wrong. */ public static int MAX_REPEAT = 10000; /** * Repeating a scenario on a periodic basis * @param intervalType From GregorianCalendar (YEAR, MONTH, DAY, etc) * @param intervalValue How many calendar units is the interval (eg 12 months, 1 year, etc) * @param deviation Standard deviation. 0.0 means the scenario is repeated right on schedule each time. The deviation is relative to the * interval so. So the actual applied deviation is multiplied by the number of milliseconds in the specified intervalType (eg months*ms*deviation). * @param resetClock If true, the next instance will be based on the actual time of the current instance. If false, then each instance will * be based on the interval, exactly. For example, the patient might actually show up a few days early for an annual exam. If true, then * the next exam will be 12 months from the visit. If false, it will be 12 months from when the visit SHOULD have occured. * @param scenarioToRepeat The scenario to be repeated */ public RepeatScenario( int intervalType, int intervalValue, double deviation, boolean resetClock, Scenario scenarioToRepeat ) { this.intervalType = intervalType; this.intervalValue = intervalValue; this.setDeviation(deviation); this.resetClock = resetClock; this.scenarioToRepeat = scenarioToRepeat; this.setTitle("Repeat (" + intervalType + "*" + intervalValue + " " + deviation + ")" + scenarioToRepeat.getTitle()); } /** * To apply this scenario, we will modify the start time of the scenario to repeat to * be the selected event time. For example, if the repeat interval is one year (in milliseconds), * and the apply is call with a start time around 1992, then the child scenario is called * with a start time of 1977, 1978, to the end-time (present day or death being most common * for chronic diseases or the duration of the disease for acute diseases). * Since most repeat scenarios represent followup activity, the start date is NOT the date of * the first instance but rather it is start date plus the interval. Thus, if the * startDate were to be 1976, then the first "repeat" will be around 1977. */ public boolean apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { GregorianCalendar clock = new GregorianCalendar(); clock.setTime(startTime); boolean rslt = false; int count = 0; System.out.println( getTitle() + " of " + getScenarioToRepeat().getTitle() + " Ranging from " + clock.getTime() + " to " + endTime); while ( true ) { if (count++ >= MAX_REPEAT) throw new IllegalArgumentException( "Maximum repeat for scenario " + getTitle()); // Compute the interval with no randomness clock.add(intervalType, intervalValue); // Pick a time around that clock setting. Double instanceTime; if (getDeviation()==0.0) { instanceTime = new Double( clock.getTimeInMillis()); } else { instanceTime = new Double( rng.nextGaussian(clock.getTimeInMillis(), getDeviationMs())); } // Reset the clock if (resetClock) clock.setTimeInMillis(instanceTime.longValue()); // Needs to be before the end time, otherwise, we're done. if (clock.getTime().after(endTime)) break; // Now apply the instance getScenarioToRepeat().apply(patient, new Date(instanceTime.longValue()), endTime, rng ); rslt = true; } return rslt; } public Scenario getScenarioToRepeat() { return scenarioToRepeat; } public void setScenarioToRepeat(Scenario scenarioToRepeat) { this.scenarioToRepeat = scenarioToRepeat; } public double getDeviation() { return deviation; } public double getDeviationMs() { long units; if (intervalType == GregorianCalendar.MINUTE) units = 60L*1000L; else if (intervalType == GregorianCalendar.HOUR) units = 60L*60L*1000L; else if (intervalType == GregorianCalendar.DAY_OF_WEEK || intervalType == GregorianCalendar.DAY_OF_MONTH) units = 24L*60L*60L*1000L; else if (intervalType == GregorianCalendar.MONTH) units = 30L*24L*60L*60L*1000L; else if (intervalType == GregorianCalendar.YEAR) units = 365L*24L*60L*60L*1000L; else units = 1000L; // Calculate it in ms return deviation*units; } public void setDeviation(double deviation) { this.deviation = deviation; } } Index: PregnantGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/PregnantGen.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PregnantGen.java 11 Aug 2006 00:15:21 -0000 1.1 --- PregnantGen.java 20 Aug 2006 06:43:28 -0000 1.2 *************** *** 10,14 **** @Override protected void apply(GenMedical patient, Date eventTime) { ! doScenarios( patient, eventTime); Date birthDate = new Date(eventTime.getTime() + getMinimumSpacing()); System.out.println( "Pregnancy: " + eventTime + " DOB: " + birthDate + " Spacing: " + getMinimumSpacing()); --- 10,14 ---- @Override protected void apply(GenMedical patient, Date eventTime) { ! super.apply(patient, eventTime); Date birthDate = new Date(eventTime.getTime() + getMinimumSpacing()); System.out.println( "Pregnancy: " + eventTime + " DOB: " + birthDate + " Spacing: " + getMinimumSpacing()); Index: GenSource.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/GenSource.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GenSource.java 12 Aug 2006 07:19:03 -0000 1.2 --- GenSource.java 20 Aug 2006 06:43:28 -0000 1.3 *************** *** 18,22 **** public abstract class GenSource { private List<Matcher> matchers; ! private List<Scenario> scenarios; protected long matchCount = 0; protected long applyCount = 0; --- 18,22 ---- public abstract class GenSource { private List<Matcher> matchers; ! private Scenario scenario; protected long matchCount = 0; protected long applyCount = 0; *************** *** 95,99 **** * @param patient */ ! protected abstract void apply( GenMedical patient, Date eventTime ); /** --- 95,109 ---- * @param patient */ ! protected void apply(GenMedical patient, Date eventTime) { ! // Now carry out the appropriate scenario ! // Compute scenario endTime (dod or now) ! long msDOD = patient.getDOD( ).getTime(); ! long msNow = patient.getNow().getTime(); ! Date endTime; ! if (msDOD < msNow) endTime = new Date( msDOD ); ! else endTime = new Date( msNow ); ! if (getScenario()!=null) getScenario().apply(patient, eventTime, endTime, rng); ! } ! /** *************** *** 122,141 **** } - public List<Scenario> getScenarios() { - if (scenarios==null) scenarios = new ArrayList<Scenario>( 10 ); - return scenarios; - } - - public void setScenarios(List<Scenario> scenarios) { - this.scenarios = scenarios; - } - - /** - * Add a Scenario - * @param scenario - */ - public void addScenario( Scenario scenario) { - getScenarios().add( scenario ); - } /** * Minimum spacing between occurances of this event. --- 132,135 ---- *************** *** 171,173 **** --- 165,175 ---- getRepeatProbability().add(new Double( probability )); } + + public Scenario getScenario() { + return scenario; + } + + public void setScenario(Scenario scenario) { + this.scenario = scenario; + } } Index: GenMedical.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/GenMedical.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** GenMedical.java 18 Aug 2006 03:19:33 -0000 1.4 --- GenMedical.java 20 Aug 2006 06:43:28 -0000 1.5 *************** *** 9,12 **** --- 9,13 ---- import org.apache.commons.math.random.RandomDataImpl; import org.tolven.app.MenuLocal; + import org.tolven.app.entity.MSColumn; import org.tolven.app.entity.MenuData; import org.tolven.app.entity.MenuStructure; *************** *** 30,33 **** --- 31,36 ---- MenuStructure msActivity; MenuStructure msMhx; + MenuStructure msLabResult; + MenuStructure msLabResultSum; protected CHRGeneratorBean chrGen; protected RandomData rng = new RandomDataImpl(); *************** *** 50,53 **** --- 53,58 ---- msActivity = menu.findMenuStructure( patient.getAccount().getId(), "echr:activity"); msMhx = menu.findMenuStructure( patient.getAccount().getId(), "echr:patient:overview:summary:mhxsum"); + msLabResult = menu.findMenuStructure( patient.getAccount().getId(), "echr:patient:results:lab"); + msLabResultSum = menu.findMenuStructure( patient.getAccount().getId(), "echr:patient:overview:summary:labsum"); } /** *************** *** 225,262 **** */ public void generateLabResults( ) { - MenuStructure mss = menu.findMenuStructure( patient.getAccount().getId(), "echr:patient:overview:summary:labsum"); GregorianCalendar cal = new GregorianCalendar( ); cal.setTime( now ); cal.add(GregorianCalendar.YEAR, -3); ! generateLabResult( patient, mss, msActivity, cal.getTime(), "Complete cbc w/auto wbc"); cal.setTime( now ); cal.add(GregorianCalendar.YEAR, -1); ! generateLabResult( patient, mss, msActivity, cal.getTime(), "Urinalysis, nonauto w/scope"); } /** ! * Generate one lab result: ! * <ul> ! * <li>Add an item to the summary</li> ! * <li>Add the item to the Activity list</li> ! * </ul> * @return */ ! public void generateLabResult( MenuData patient, MenuStructure mss, MenuStructure msa, Date effective, String text ) { ! // Summary entry MenuData mds = new MenuData(); ! mds.setMenuStructure( mss ); mds.setParent01(patient); mds.setDate01( effective ); ! mds.setString01(text); menu.persistMenuData( mds); // New Activity referencing the result just created MenuData mda = new MenuData(); ! mda.setMenuStructure( msa ); mda.setDate01( effective ); mda.setParent01(patient); mda.setString01(patient.getString02() + " " + patient.getString01()); - mda.setParent02(mds); mda.setString02("Lab Result"); menu.persistMenuData( mda); --- 230,284 ---- */ public void generateLabResults( ) { GregorianCalendar cal = new GregorianCalendar( ); cal.setTime( now ); cal.add(GregorianCalendar.YEAR, -3); ! // generateLabResult( cal.getTime(), "Complete cbc w/auto wbc"); cal.setTime( now ); cal.add(GregorianCalendar.YEAR, -1); ! // generateLabResult( cal.getTime(), "Urinalysis, nonauto w/scope"); } /** ! * Generate a lab result. We ignore requests before the start date presuming that if the practice wasn't in ! * business, then the results wouldn't be in this record. ! * TODO: Allow batteries * @return */ ! public void generateLabResult( Date effective, String test, String result, double value, String valueString, String units, String interpretation, String source ) { ! // Anything before the start time we ignore. ! GregorianCalendar effectiveCal = new GregorianCalendar( ); ! effectiveCal.setTime( effective ); ! if (effectiveCal.get(GregorianCalendar.YEAR) < this.getStartYear()) return; ! // The main test result entry (as received, not normalized) ! // Normalized data should reference this entry ! MenuData md = new MenuData(); ! md.setMenuStructure( msLabResult ); ! md.setParent01(patient); ! md.setDate01( effective ); ! md.setString01(test); ! md.setString02(result); ! md.setString04(interpretation); ! md.setPqStringVal01(valueString); ! md.setPqValue01(value); ! md.setPqUnits01(units); ! menu.persistMenuData( md); ! ! // Summary entry referencing the result MenuData mds = new MenuData(); ! mds.setMenuStructure( msLabResultSum ); ! mds.setReference(md); mds.setParent01(patient); mds.setDate01( effective ); ! mds.setString01(test); ! mds.setString02(valueString + " " + units); menu.persistMenuData( mds); // New Activity referencing the result just created MenuData mda = new MenuData(); ! mda.setMenuStructure( msActivity ); ! mds.setReference(md); mda.setDate01( effective ); mda.setParent01(patient); mda.setString01(patient.getString02() + " " + patient.getString01()); mda.setString02("Lab Result"); menu.persistMenuData( mda); Index: ValueGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/ValueGen.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ValueGen.java 11 Aug 2006 00:15:21 -0000 1.1 --- ValueGen.java 20 Aug 2006 06:43:28 -0000 1.2 *************** *** 1,23 **** package org.tolven.gen.bean; import org.apache.commons.math.random.RandomData; import org.apache.commons.math.random.RandomDataImpl; public abstract class ValueGen { ! private String units; ! protected RandomData rng; ! ! ValueGen( String units) { ! this.units = units; ! rng = new RandomDataImpl(); ! } ! ! public String getUnits() { ! return units; ! } ! ! public void setUnits(String units) { ! this.units = units; ! } } --- 1,11 ---- package org.tolven.gen.bean; + import java.text.NumberFormat; + import org.apache.commons.math.random.RandomData; import org.apache.commons.math.random.RandomDataImpl; public abstract class ValueGen { ! public abstract double generate( RandomData rng); } --- NEW FILE: LabTestScenario.java --- package org.tolven.gen.bean; import java.text.NumberFormat; import java.util.Date; import org.apache.commons.math.random.RandomData; public class LabTestScenario extends Scenario { private String test; private String units; private String normalRange; private String pattern; private NumberFormat nf = NumberFormat.getInstance(); private ValueGen valueGen; public LabTestScenario(String test, String units, String normalRange, int fractionDigits, ValueGen valueGen) { this.test = test; this.units = units; this.normalRange = normalRange; this.setFractionDigits(fractionDigits); this.valueGen = valueGen; } /** * Actually create a lab test at the start time (we ignore endTime). */ public boolean apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { double value = getValueGen().generate(rng); String stringValue = nf.format(value); patient.generateLabResult( startTime, test, test, value, stringValue, units, null, null ); return true; } public ValueGen getValueGen() { return valueGen; } public void setValueGen(ValueGen valueGen) { this.valueGen = valueGen; } public String getTest() { return test; } public void setTest(String test) { this.test = test; } public String getUnits() { return units; } public void setUnits(String units) { this.units = units; } public String getNormalRange() { return normalRange; } public void setNormalRange(String normalRange) { this.normalRange = normalRange; } public String getPattern() { return pattern; } public void setPattern(String pattern) { this.pattern = pattern; } public int getFractionDigits() { return nf.getMaximumFractionDigits(); } public void setFractionDigits(int fractionDigits) { this.nf.setMaximumFractionDigits(fractionDigits); this.nf.setMinimumFractionDigits(fractionDigits); } } Index: DiseaseGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/DiseaseGen.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DiseaseGen.java 12 Aug 2006 07:19:03 -0000 1.2 --- DiseaseGen.java 20 Aug 2006 06:43:28 -0000 1.3 *************** *** 1,5 **** package org.tolven.gen.bean; - import java.util.Date; public class DiseaseGen extends GenSource { --- 1,4 ---- *************** *** 13,34 **** } - @Override - protected void apply(GenMedical patient, Date eventTime) { - doScenarios( patient, eventTime); - } - - protected void doScenarios(GenMedical patient, Date eventTime ) { - // Now carry out the appropriate scenarios - // Compute scenario endTime (dod or now) - long msDOD = patient.getDOD( ).getTime(); - long msNow = patient.getNow().getTime(); - Date endTime; - if (msDOD < msNow) endTime = new Date( msDOD ); - else endTime = new Date( msNow ); - for ( Scenario s : getScenarios()) { - s.apply(patient, eventTime, endTime, rng); - } - } - public String getDiseaseName() { return diseaseName; --- 12,15 ---- Index: PoissonValueGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/PoissonValueGen.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PoissonValueGen.java 11 Aug 2006 00:15:21 -0000 1.1 --- PoissonValueGen.java 20 Aug 2006 06:43:28 -0000 1.2 *************** *** 1,9 **** package org.tolven.gen.bean; public class PoissonValueGen extends ValueGen { private double mean; ! public PoissonValueGen( String units, double mean ) { ! super( units ); this.mean = mean; } --- 1,14 ---- package org.tolven.gen.bean; + import org.apache.commons.math.random.RandomData; + public class PoissonValueGen extends ValueGen { private double mean; ! public double generate( RandomData rng) { ! return rng.nextPoisson(mean); ! } ! ! public PoissonValueGen( double mean ) { this.mean = mean; } --- NEW FILE: ProbabilityScenario.java --- package org.tolven.gen.bean; import java.util.Date; import org.apache.commons.math.random.RandomData; public class ProbabilityScenario extends Scenario { private Scenario scenarioToApply; private double probability; public ProbabilityScenario( double probability, Scenario scenarioToApply ) { this.probability = probability; this.scenarioToApply = scenarioToApply; setTitle( "Probability " + getProbability() + " " + getScenarioToApply().getTitle()); } public double getProbability() { return probability; } public void setProbability(double probability) { this.probability = probability; } public boolean apply(GenMedical patient, Date startTime, Date endTime, RandomData rng ) { return getScenarioToApply().apply(patient, startTime, endTime, rng ); } public Scenario getScenarioToApply() { return scenarioToApply; } public void setScenarioToApply(Scenario scenarioToApply) { this.scenarioToApply = scenarioToApply; } } Index: GaussianValueGen.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/gen/bean/GaussianValueGen.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GaussianValueGen.java 11 Aug 2006 00:15:21 -0000 1.1 --- GaussianValueGen.java 20 Aug 2006 06:43:28 -0000 1.2 *************** *** 1,10 **** package org.tolven.gen.bean; public class GaussianValueGen extends ValueGen { private double mean; private double sigma; ! public GaussianValueGen( String units, double mean, double sigma ) { ! super( units ); this.mean = mean; this.sigma = sigma; --- 1,15 ---- package org.tolven.gen.bean; + import org.apache.commons.math.random.RandomData; + public class GaussianValueGen extends ValueGen { private double mean; private double sigma; ! public double generate( RandomData rng) { ! return rng.nextGaussian(mean,sigma); ! } ! ! public GaussianValueGen( double mean, double sigma ) { this.mean = mean; this.sigma = sigma; |
From: John C. <jc...@us...> - 2006-08-20 06:43:31
|
Update of /cvsroot/tolven/tolvenEJB/src/org/tolven/app/bean In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4887/src/org/tolven/app/bean Modified Files: MenuBean.java Log Message: Add generation of lab results and menu configuration. Several new scenario types are added including choose, repeat, probability. Allow two attributes for each PQ value: a string and a double. Sort on the double, display the string. Index: MenuBean.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/app/bean/MenuBean.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** MenuBean.java 19 Aug 2006 21:49:26 -0000 1.21 --- MenuBean.java 20 Aug 2006 06:43:28 -0000 1.22 *************** *** 81,85 **** if ( items.size()!=1) return null; return items.get(0); - } --- 81,84 ---- *************** *** 364,368 **** em.persist( new MSColumn( labAll, 2, "Test", "string01", null) ); em.persist( new MSColumn( labAll, 3, "Result", "string02", null) ); ! em.persist( new MSColumn( labAll, 4, "Value", "string03", null) ); em.persist( new MSColumn( labAll, 5, "Units", "pqUnits01", null) ); em.persist( new MSColumn( labAll, 6, "Interpretation", "string04", null) ); --- 363,367 ---- em.persist( new MSColumn( labAll, 2, "Test", "string01", null) ); em.persist( new MSColumn( labAll, 3, "Result", "string02", null) ); ! em.persist( new MSColumn( labAll, 4, "Value", "pqValue01", null) ); em.persist( new MSColumn( labAll, 5, "Units", "pqUnits01", null) ); em.persist( new MSColumn( labAll, 6, "Interpretation", "string04", null) ); *************** *** 426,429 **** --- 425,431 ---- account, summary, "labSummary.xhtml", null, 4, "labsum", "Lab Results", "true", null, "portlet" ); em.persist( labSummary ); + em.persist( new MSColumn( labSummary, 1, "Date", "date01", "yyyy") ); + em.persist( new MSColumn( labSummary, 2, "Test", "string01", null) ); + em.persist( new MSColumn( labSummary, 3, "Result", "string02", null) ); MenuStructure radSummary = new MenuStructure( |
From: Joseph I. <jos...@us...> - 2006-08-20 02:54:19
|
Update of /cvsroot/tolven/tolven/template In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv8498/template Modified Files: ant-build.template Log Message: Corrected a replace error (replaced tolven.security.credentials.dir with nothing at all :-) Index: ant-build.template =================================================================== RCS file: /cvsroot/tolven/tolven/template/ant-build.template,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** ant-build.template 20 Aug 2006 02:48:13 -0000 1.33 --- ant-build.template 20 Aug 2006 02:54:15 -0000 1.34 *************** *** 25,29 **** tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe ! =${tolven.location}/security-config/credentials tolven.security.build.dir=${tolven.location}/build --- 25,29 ---- tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe ! tolven.security.credentials.dir=${tolven.location}/security-config/credentials tolven.security.build.dir=${tolven.location}/build |
From: Joseph I. <jos...@us...> - 2006-08-20 02:48:15
|
Update of /cvsroot/tolven/tolven/security-config In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6023/security-config Modified Files: build.xml Log Message: Last places where the credentials dir was referred to asa certificates dir Index: build.xml =================================================================== RCS file: /cvsroot/tolven/tolven/security-config/build.xml,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** build.xml 20 Aug 2006 01:42:47 -0000 1.22 --- build.xml 20 Aug 2006 02:48:13 -0000 1.23 *************** *** 12,16 **** <fail unless="tolven.security.openssl.command" /> <fail unless="tolven.security.openssl.config" /> ! <fail unless="tolven.security.certificates.dir" /> <fail unless="tolven.security.openssl.ca.dir" /> --- 12,16 ---- <fail unless="tolven.security.openssl.command" /> <fail unless="tolven.security.openssl.config" /> ! <fail unless="tolven.security.credentials.dir" /> <fail unless="tolven.security.openssl.ca.dir" /> *************** *** 340,361 **** <target name="save-security-certificates" description="Initialize Postgres for Tolven" depends="required-properties"> ! <delete dir="${tolven.security.certificates.dir}" /> ! <mkdir dir="${tolven.security.certificates.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.ca.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.db.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.jboss.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.ldap.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.webserver.dir}" /> <echo level="info" message="Please read the installation output above to discover where individual credentials have been copied for application use." /> ! <echo level="info" message="All credentials have also been moved from ${tolven.security.build.dir} to ${tolven.security.certificates.dir} for safe keeping BUT will be DELETED if all certificates are generated again." /> </target> <target name="jbossInit" description="Initialize JBoss for Tolven" depends="required-properties"> <copy toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.certificates.dir}/jboss"> <include name="tolvendev-jboss.jks"/> <include name="tolvendev-jboss-cacerts.jks"/> </fileset> ! <fileset dir="${tolven.security.certificates.dir}/webserver"> <include name="tolvendev-webserver.jks"/> </fileset> --- 340,361 ---- <target name="save-security-certificates" description="Initialize Postgres for Tolven" depends="required-properties"> ! <delete dir="${tolven.security.credentials.dir}" /> ! <mkdir dir="${tolven.security.credentials.dir}" /> ! <move toDir="${tolven.security.credentials.dir}" file="${tolven.security.openssl.ca.dir}" /> ! <move toDir="${tolven.security.credentials.dir}" file="${tolven.security.openssl.db.dir}" /> ! <move toDir="${tolven.security.credentials.dir}" file="${tolven.security.openssl.jboss.dir}" /> ! <move toDir="${tolven.security.credentials.dir}" file="${tolven.security.openssl.ldap.dir}" /> ! <move toDir="${tolven.security.credentials.dir}" file="${tolven.security.openssl.webserver.dir}" /> <echo level="info" message="Please read the installation output above to discover where individual credentials have been copied for application use." /> ! <echo level="info" message="All credentials have also been moved from ${tolven.security.build.dir} to ${tolven.security.credentials.dir} for safe keeping BUT will be DELETED if all certificates are generated again." /> </target> <target name="jbossInit" description="Initialize JBoss for Tolven" depends="required-properties"> <copy toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.credentials.dir}/jboss"> <include name="tolvendev-jboss.jks"/> <include name="tolvendev-jboss-cacerts.jks"/> </fileset> ! <fileset dir="${tolven.security.credentials.dir}/webserver"> <include name="tolvendev-webserver.jks"/> </fileset> *************** *** 365,369 **** <target name="ldapInit" description="Initialize LDAP for Tolven" depends="required-properties"> <copy toDir="${ldap.location}" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.certificates.dir}/ldap /"> <include name="tolvendev-ldap-cert.pem"/> <include name="tolvendev-ldap-key.pem"/> --- 365,369 ---- <target name="ldapInit" description="Initialize LDAP for Tolven" depends="required-properties"> <copy toDir="${ldap.location}" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.credentials.dir}/ldap /"> <include name="tolvendev-ldap-cert.pem"/> <include name="tolvendev-ldap-key.pem"/> *************** *** 375,379 **** <target name="databaseInit" description="Initialize Postgres for Tolven" depends="required-properties"> <copy toDir="${postgres.location}/data" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.certificates.dir}/db"> <include name="server.crt"/> <include name="server.key"/> --- 375,379 ---- <target name="databaseInit" description="Initialize Postgres for Tolven" depends="required-properties"> <copy toDir="${postgres.location}/data" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.credentials.dir}/db"> <include name="server.crt"/> <include name="server.key"/> |
From: Joseph I. <jos...@us...> - 2006-08-20 02:48:15
|
Update of /cvsroot/tolven/tolven/template In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6023/template Modified Files: ant-build.template Log Message: Last places where the credentials dir was referred to asa certificates dir Index: ant-build.template =================================================================== RCS file: /cvsroot/tolven/tolven/template/ant-build.template,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** ant-build.template 20 Aug 2006 02:05:17 -0000 1.32 --- ant-build.template 20 Aug 2006 02:48:13 -0000 1.33 *************** *** 25,29 **** tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe ! tolven.security.certificates.dir=${tolven.location}/security-config/credentials tolven.security.build.dir=${tolven.location}/build --- 25,29 ---- tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe ! =${tolven.location}/security-config/credentials tolven.security.build.dir=${tolven.location}/build |
From: Joseph I. <jos...@us...> - 2006-08-20 02:48:15
|
Update of /cvsroot/tolven/tolven In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6023 Modified Files: build.xml Log Message: Last places where the credentials dir was referred to asa certificates dir Index: build.xml =================================================================== RCS file: /cvsroot/tolven/tolven/build.xml,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** build.xml 20 Aug 2006 01:42:47 -0000 1.40 --- build.xml 20 Aug 2006 02:48:13 -0000 1.41 *************** *** 82,86 **** </java> <copy file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" /> ! <move file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${tolven.security.certificates.dir}/db" overwrite="true" /> <replace file="${tolven.security.openssl.db.dir}/temp-pgserver.password" token="Encoded password: " value=""/> <loadfile property="hashed-pgserver.password" srcFile="${tolven.security.openssl.db.dir}/temp-pgserver.password"/> --- 82,86 ---- </java> <copy file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" /> ! <move file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${tolven.security.credentials.dir}/db" overwrite="true" /> <replace file="${tolven.security.openssl.db.dir}/temp-pgserver.password" token="Encoded password: " value=""/> <loadfile property="hashed-pgserver.password" srcFile="${tolven.security.openssl.db.dir}/temp-pgserver.password"/> |
From: Joseph I. <jos...@us...> - 2006-08-20 02:22:54
|
Update of /cvsroot/tolven/tolven/security-config In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27960/security-config Modified Files: .cvsignore Log Message: Prevent the credentials directory from raising a change flag in cvs Index: .cvsignore =================================================================== RCS file: /cvsroot/tolven/tolven/security-config/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 20 Aug 2006 01:42:47 -0000 1.1 --- .cvsignore 20 Aug 2006 02:22:50 -0000 1.2 *************** *** 1 **** ! certificates --- 1 ---- ! credentials |
From: Joseph I. <jos...@us...> - 2006-08-20 02:05:21
|
Update of /cvsroot/tolven/tolven/template In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21012/template Modified Files: ant-build.template Log Message: Changed the certificates directory name to credentials, since it holds certificates and password files and may hold other credential related info in the future. Index: ant-build.template =================================================================== RCS file: /cvsroot/tolven/tolven/template/ant-build.template,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** ant-build.template 20 Aug 2006 01:42:46 -0000 1.31 --- ant-build.template 20 Aug 2006 02:05:17 -0000 1.32 *************** *** 25,29 **** tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe ! tolven.security.certificates.dir=${tolven.location}/security-config/certificates tolven.security.build.dir=${tolven.location}/build --- 25,29 ---- tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe ! tolven.security.certificates.dir=${tolven.location}/security-config/credentials tolven.security.build.dir=${tolven.location}/build |
From: Joseph I. <jos...@us...> - 2006-08-20 01:42:50
|
Update of /cvsroot/tolven/tolven/security-config In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11691/security-config Modified Files: build.xml Added Files: .cvsignore Log Message: After using the tolven build directory to create credentials, they are moved to tolven/security-config, since the build directory is deleted for the deploy and would result in all credentials vanishing locally. Even though the credentials have already been distributed before the build directory is deleted, this way, users can manually redistribute them if they choose, without having to generate them all again. --- NEW FILE: .cvsignore --- certificates Index: build.xml =================================================================== RCS file: /cvsroot/tolven/tolven/security-config/build.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** build.xml 14 Aug 2006 00:17:36 -0000 1.21 --- build.xml 20 Aug 2006 01:42:47 -0000 1.22 *************** *** 12,15 **** --- 12,16 ---- <fail unless="tolven.security.openssl.command" /> <fail unless="tolven.security.openssl.config" /> + <fail unless="tolven.security.certificates.dir" /> <fail unless="tolven.security.openssl.ca.dir" /> *************** *** 84,87 **** --- 85,89 ---- <ant target="create-tolvendev-jboss-cacerts" /> <ant target="create-tolvendev-webserver-keystore" /> + <ant target="save-security-certificates" /> <ant target="jbossInit" /> <ant target="ldapInit" /> *************** *** 264,267 **** --- 266,294 ---- </target> + <target name="create-tolvendev-client-cert-for-db-truststore" depends="password-input"> + <echo level="info" message="Creating client certificate for Postgres client truststore" /> + <input message="Please enter certificate common name for DB Client (Hit Enter for 'tolven-demo-db-client-host')" addproperty="tolven.security.openssl.cert.pg.client.CommonName" defaultValue="tolven-demo-db-client-host"/> + <input message="Please enter certificate email for DB Client (Hit enter for 'tol...@to...')" addproperty="tolven.security.openssl.cert.pg.client.Email" defaultValue="tol...@to..."/> + <exec dir="${tolven.security.openssl.db.dir}" executable="${tolven.security.openssl.command}" failonerror="true"> + <arg line="req -new -passout pass:nopassword -config ${tolven.security.openssl.config} -out ${tolven.security.openssl.db.dir}/tolvendev-client-req.pem -keyout ${tolven.security.openssl.db.dir}/tolvendev-client-key.pem -days 10000 -subj /countryName=${tolven.security.openssl.cert.CountryName}/stateOrProvinceName=${tolven.security.openssl.cert.StateOrProvince}/organizationName="${tolven.security.openssl.cert.OrganizationName}"/organizationalUnitName="${tolven.security.openssl.cert.OrganizationUnitName}"/commonName=${tolven.security.openssl.cert.pg.client.CommonName}/emailAddress=${tolven.security.openssl.cert.pg.client.Email}" /> + </exec> + <move file="${tolven.security.openssl.db.dir}/tolvendev-client-req.pem" toDir="${tolven.security.openssl.ca.dir}" /> + <exec dir="${tolven.security.openssl.ca.dir}" executable="${tolven.security.openssl.command}" failonerror="true"> + <arg line="ca -batch -passin pass:${tolven.ca.key} -config ${tolven.security.openssl.config} -out tolvendev-client-cert.pem -days 10000 -subj /countryName=${tolven.security.openssl.cert.CountryName}/stateOrProvinceName=${tolven.security.openssl.cert.StateOrProvince}/organizationName="${tolven.security.openssl.cert.OrganizationName}"/organizationalUnitName="${tolven.security.openssl.cert.OrganizationUnitName}"/commonName=${tolven.security.openssl.cert.pg.client.CommonName}/emailAddress=${tolven.security.openssl.cert.pg.client.Email} -infiles tolvendev-client-req.pem" /> + </exec> + <delete file="${tolven.security.openssl.ca.dir}/tolvendev-client-req.pem" /> + <move file="${tolven.security.openssl.ca.dir}/tolvendev-client-cert.pem" toFile="${tolven.security.openssl.db.dir}/postgresql.crt" /> + <exec dir="${tolven.security.openssl.db.dir}" executable="${tolven.security.openssl.command}" failonerror="true"> + <arg line="rsa -passin pass:nopassword -in ${tolven.security.openssl.db.dir}/tolvendev-client-key.pem -out postgresql.key" /> + </exec> + <concat destfile="${tolven.security.openssl.db.dir}/root.crt" append="yes"> + <filelist dir="${tolven.security.openssl.db.dir}" files="postgresql.crt" /> + </concat> + <copy file="${tolven.security.openssl.db.dir}/postgresql.key" toDir="${postgres-client-cert-dir}" /> + <copy file="${tolven.security.openssl.db.dir}/postgresql.crt" toDir="${postgres-client-cert-dir}" /> + <echo level="info" message="The Client certificate postgresql.crt and its key postgresql.key are located in ${tolven.security.openssl.db.dir}" /> + <echo level="info" message="postgresql.crt has been placed in root.crt" /> + </target> + <target name="display-tolvendev-ldap-cert"> <exec executable="${tolven.security.openssl.command}" failonerror="true"> *************** *** 312,338 **** </target> ! <target name="get-cert-from-ldap"> ! <echo level="info" message="Test LDAP after a LDAP server is started with a copy of the created certificates...all certificates must be in their original creation directories." /> ! <input message="Please enter password for LDAP private key" addproperty="tolven.ldap.key" /> ! <exec executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="s_client -verify 10 -pass pass:${tolven.ldap.key} -connect ${tolven.security.openssl.ldap.host-port} -cert ${tolven.security.openssl.ca.dir}/certs/cacert.pem -key ${tolven.security.openssl.ca.dir}/keys/private/cakey.pem -prexit" /> ! </exec> ! </target> ! ! <target name="get-cert-from-db"> ! <echo level="info" message="Test DB after a DB server is started with a copy of the created certificates...all certificates must be in their original creation directories." /> ! <input message="Please enter password for DB private key" addproperty="tolven.db.key" /> ! <exec executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="s_client -verify 10 -pass pass:${tolven.db.key} -connect ${tolven.security.openssl.ldap.host-port} -cert ${tolven.security.openssl.ca.dir}/certs/cacert.pem -key ${tolven.security.openssl.ca.dir}/keys/private/cakey.pem -prexit" /> ! </exec> </target> <target name="jbossInit" description="Initialize JBoss for Tolven" depends="required-properties"> <copy toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.openssl.jboss.dir}/"> <include name="tolvendev-jboss.jks"/> <include name="tolvendev-jboss-cacerts.jks"/> </fileset> ! <fileset dir="${tolven.security.openssl.webserver.dir}/"> <include name="tolvendev-webserver.jks"/> </fileset> --- 339,361 ---- </target> ! <target name="save-security-certificates" description="Initialize Postgres for Tolven" depends="required-properties"> ! <delete dir="${tolven.security.certificates.dir}" /> ! <mkdir dir="${tolven.security.certificates.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.ca.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.db.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.jboss.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.ldap.dir}" /> ! <move toDir="${tolven.security.certificates.dir}" file="${tolven.security.openssl.webserver.dir}" /> ! <echo level="info" message="Please read the installation output above to discover where individual credentials have been copied for application use." /> ! <echo level="info" message="All credentials have also been moved from ${tolven.security.build.dir} to ${tolven.security.certificates.dir} for safe keeping BUT will be DELETED if all certificates are generated again." /> </target> <target name="jbossInit" description="Initialize JBoss for Tolven" depends="required-properties"> <copy toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.certificates.dir}/jboss"> <include name="tolvendev-jboss.jks"/> <include name="tolvendev-jboss-cacerts.jks"/> </fileset> ! <fileset dir="${tolven.security.certificates.dir}/webserver"> <include name="tolvendev-webserver.jks"/> </fileset> *************** *** 342,346 **** <target name="ldapInit" description="Initialize LDAP for Tolven" depends="required-properties"> <copy toDir="${ldap.location}" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.openssl.ldap.dir}/"> <include name="tolvendev-ldap-cert.pem"/> <include name="tolvendev-ldap-key.pem"/> --- 365,369 ---- <target name="ldapInit" description="Initialize LDAP for Tolven" depends="required-properties"> <copy toDir="${ldap.location}" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.certificates.dir}/ldap /"> <include name="tolvendev-ldap-cert.pem"/> <include name="tolvendev-ldap-key.pem"/> *************** *** 352,356 **** <target name="databaseInit" description="Initialize Postgres for Tolven" depends="required-properties"> <copy toDir="${postgres.location}/data" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.openssl.db.dir}"> <include name="server.crt"/> <include name="server.key"/> --- 375,379 ---- <target name="databaseInit" description="Initialize Postgres for Tolven" depends="required-properties"> <copy toDir="${postgres.location}/data" overwrite="true" preservelastmodified="true" > ! <fileset dir="${tolven.security.certificates.dir}/db"> <include name="server.crt"/> <include name="server.key"/> *************** *** 360,386 **** </target> ! <target name="create-tolvendev-client-cert-for-db-truststore" depends="password-input"> ! <echo level="info" message="Creating client certificate for Postgres client truststore" /> ! <input message="Please enter certificate common name for DB Client (Hit Enter for 'tolven-demo-db-client-host')" addproperty="tolven.security.openssl.cert.pg.client.CommonName" defaultValue="tolven-demo-db-client-host"/> ! <input message="Please enter certificate email for DB Client (Hit enter for 'tol...@to...')" addproperty="tolven.security.openssl.cert.pg.client.Email" defaultValue="tol...@to..."/> ! <exec dir="${tolven.security.openssl.db.dir}" executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="req -new -passout pass:nopassword -config ${tolven.security.openssl.config} -out ${tolven.security.openssl.db.dir}/tolvendev-client-req.pem -keyout ${tolven.security.openssl.db.dir}/tolvendev-client-key.pem -days 10000 -subj /countryName=${tolven.security.openssl.cert.CountryName}/stateOrProvinceName=${tolven.security.openssl.cert.StateOrProvince}/organizationName="${tolven.security.openssl.cert.OrganizationName}"/organizationalUnitName="${tolven.security.openssl.cert.OrganizationUnitName}"/commonName=${tolven.security.openssl.cert.pg.client.CommonName}/emailAddress=${tolven.security.openssl.cert.pg.client.Email}" /> ! </exec> ! <move file="${tolven.security.openssl.db.dir}/tolvendev-client-req.pem" toDir="${tolven.security.openssl.ca.dir}" /> ! <exec dir="${tolven.security.openssl.ca.dir}" executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="ca -batch -passin pass:${tolven.ca.key} -config ${tolven.security.openssl.config} -out tolvendev-client-cert.pem -days 10000 -subj /countryName=${tolven.security.openssl.cert.CountryName}/stateOrProvinceName=${tolven.security.openssl.cert.StateOrProvince}/organizationName="${tolven.security.openssl.cert.OrganizationName}"/organizationalUnitName="${tolven.security.openssl.cert.OrganizationUnitName}"/commonName=${tolven.security.openssl.cert.pg.client.CommonName}/emailAddress=${tolven.security.openssl.cert.pg.client.Email} -infiles tolvendev-client-req.pem" /> </exec> ! <delete file="${tolven.security.openssl.ca.dir}/tolvendev-client-req.pem" /> ! <move file="${tolven.security.openssl.ca.dir}/tolvendev-client-cert.pem" toFile="${tolven.security.openssl.db.dir}/postgresql.crt" /> ! <exec dir="${tolven.security.openssl.db.dir}" executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="rsa -passin pass:nopassword -in ${tolven.security.openssl.db.dir}/tolvendev-client-key.pem -out postgresql.key" /> </exec> - <concat destfile="${tolven.security.openssl.db.dir}/root.crt" append="yes"> - <filelist dir="${tolven.security.openssl.db.dir}" files="postgresql.crt" /> - </concat> - <copy file="${tolven.security.openssl.db.dir}/postgresql.key" toDir="${postgres-client-cert-dir}" /> - <copy file="${tolven.security.openssl.db.dir}/postgresql.crt" toDir="${postgres-client-cert-dir}" /> - <echo level="info" message="The Client certificate postgresql.crt and its key postgresql.key are located in ${tolven.security.openssl.db.dir}" /> - <echo level="info" message="postgresql.crt has been placed in root.crt" /> </target> --- 383,400 ---- </target> ! <target name="get-cert-from-ldap"> ! <echo level="info" message="Test LDAP after a LDAP server is started with a copy of the created certificates...all certificates must be in their original creation directories." /> ! <input message="Please enter password for LDAP private key" addproperty="tolven.ldap.key" /> ! <exec executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="s_client -verify 10 -pass pass:${tolven.ldap.key} -connect ${tolven.security.openssl.ldap.host-port} -cert ${tolven.security.openssl.ca.dir}/certs/cacert.pem -key ${tolven.security.openssl.ca.dir}/keys/private/cakey.pem -prexit" /> </exec> ! </target> ! ! <target name="get-cert-from-db"> ! <echo level="info" message="Test DB after a DB server is started with a copy of the created certificates...all certificates must be in their original creation directories." /> ! <input message="Please enter password for DB private key" addproperty="tolven.db.key" /> ! <exec executable="${tolven.security.openssl.command}" failonerror="true"> ! <arg line="s_client -verify 10 -pass pass:${tolven.db.key} -connect ${tolven.security.openssl.ldap.host-port} -cert ${tolven.security.openssl.ca.dir}/certs/cacert.pem -key ${tolven.security.openssl.ca.dir}/keys/private/cakey.pem -prexit" /> </exec> </target> |
From: Joseph I. <jos...@us...> - 2006-08-20 01:42:50
|
Update of /cvsroot/tolven/tolven In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11691 Modified Files: build.xml Log Message: After using the tolven build directory to create credentials, they are moved to tolven/security-config, since the build directory is deleted for the deploy and would result in all credentials vanishing locally. Even though the credentials have already been distributed before the build directory is deleted, this way, users can manually redistribute them if they choose, without having to generate them all again. Index: build.xml =================================================================== RCS file: /cvsroot/tolven/tolven/build.xml,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** build.xml 19 Aug 2006 07:44:20 -0000 1.39 --- build.xml 20 Aug 2006 01:42:47 -0000 1.40 *************** *** 81,88 **** <arg value="${tolven.database.password}" /> </java> ! <move file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${deploy.location}/conf" /> <replace file="${tolven.security.openssl.db.dir}/temp-pgserver.password" token="Encoded password: " value=""/> <loadfile property="hashed-pgserver.password" srcFile="${tolven.security.openssl.db.dir}/temp-pgserver.password"/> ! <delete file="${tolven.security.openssl.db.dir}/temp-pgserver.password"/> <filter token="hashed-pgserver-password" value="${hashed-pgserver.password}"/> <copy toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" filtering="true"> --- 81,89 ---- <arg value="${tolven.database.password}" /> </java> ! <copy file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" /> ! <move file="${tolven.security.openssl.db.dir}/pgserver.password" toDir="${tolven.security.certificates.dir}/db" overwrite="true" /> <replace file="${tolven.security.openssl.db.dir}/temp-pgserver.password" token="Encoded password: " value=""/> <loadfile property="hashed-pgserver.password" srcFile="${tolven.security.openssl.db.dir}/temp-pgserver.password"/> ! <delete dir="${tolven.security.openssl.db.dir}" /> <filter token="hashed-pgserver-password" value="${hashed-pgserver.password}"/> <copy toDir="${deploy.location}/conf" overwrite="true" preservelastmodified="true" filtering="true"> |
From: Joseph I. <jos...@us...> - 2006-08-20 01:42:50
|
Update of /cvsroot/tolven/tolven/template In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11691/template Modified Files: ant-build.template Log Message: After using the tolven build directory to create credentials, they are moved to tolven/security-config, since the build directory is deleted for the deploy and would result in all credentials vanishing locally. Even though the credentials have already been distributed before the build directory is deleted, this way, users can manually redistribute them if they choose, without having to generate them all again. Index: ant-build.template =================================================================== RCS file: /cvsroot/tolven/tolven/template/ant-build.template,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** ant-build.template 19 Aug 2006 07:44:20 -0000 1.30 --- ant-build.template 20 Aug 2006 01:42:46 -0000 1.31 *************** *** 25,28 **** --- 25,29 ---- tolven.security.openssl.command=${openSSL.location}/bin/openSSL.exe tolven.security.keytool.command=${java.home}/bin/keytool.exe + tolven.security.certificates.dir=${tolven.location}/security-config/certificates tolven.security.build.dir=${tolven.location}/build |
From: John C. <jc...@us...> - 2006-08-19 21:49:28
|
Update of /cvsroot/tolven/tolvenEJB/src/org/tolven/app/bean In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9154/src/org/tolven/app/bean Modified Files: MenuBean.java Log Message: Added lab test structure to menus Index: MenuBean.java =================================================================== RCS file: /cvsroot/tolven/tolvenEJB/src/org/tolven/app/bean/MenuBean.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** MenuBean.java 18 Aug 2006 03:19:33 -0000 1.20 --- MenuBean.java 19 Aug 2006 21:49:26 -0000 1.21 *************** *** 355,369 **** MenuStructure patResults = new MenuStructure( ! account, patient, "bar2.xhtml", null, 3, "patResults", "Test Results", "true", null, "tab" ); em.persist( patResults ); ! MenuStructure patlab = new MenuStructure( ! account, patResults, "lab.xhtml", null, 1, "patLab", "Lab", "true", null, "tab" ); ! em.persist( patlab ); MenuStructure image = new MenuStructure( ! account, patResults, "image.xhtml", null, 2, "image", "Image", "true", null, "tab" ); em.persist( image ); MenuStructure medications = new MenuStructure( account, patient, "medications.xhtml", null, 4, "meds", "Medications", "true", null, "tab" ); --- 355,388 ---- MenuStructure patResults = new MenuStructure( ! account, patient, "bar2.xhtml", null, 3, "results", "Test Results", "true", null, "tab" ); em.persist( patResults ); ! MenuStructure labAll = new MenuStructure( ! account, patResults, "lab.xhtml", null, 10, "lab", "Lab", "true", null, "tab" ); ! em.persist( labAll ); ! em.persist( new MSColumn( labAll, 1, "Date", "date01", "MMM-dd-yyyy hh:mm") ); ! em.persist( new MSColumn( labAll, 2, "Test", "string01", null) ); ! em.persist( new MSColumn( labAll, 3, "Result", "string02", null) ); ! em.persist( new MSColumn( labAll, 4, "Value", "string03", null) ); ! em.persist( new MSColumn( labAll, 5, "Units", "pqUnits01", null) ); ! em.persist( new MSColumn( labAll, 6, "Interpretation", "string04", null) ); ! em.persist( new MSColumn( labAll, 7, "Source", "parent02", null) ); ! ! MenuStructure labGraph = new MenuStructure( ! account, patResults, "labGraph.xhtml", null, 15, "labGraph", "Lab (Graph)", "true", null, "tab" ); ! em.persist( labGraph ); MenuStructure image = new MenuStructure( ! account, patResults, "image.xhtml", null, 20, "image", "Image", "true", null, "tab" ); em.persist( image ); + MenuStructure other = new MenuStructure( + account, patResults, "other.xhtml", null, 30, "other", "Other", "true", null, "tab" ); + em.persist( other ); + + MenuStructure selfMed = new MenuStructure( + account, patResults, "selfMed.xhtml", null, 40, "selfMed", "Self Medicating", "true", null, "tab" ); + em.persist( selfMed ); + MenuStructure medications = new MenuStructure( account, patient, "medications.xhtml", null, 4, "meds", "Medications", "true", null, "tab" ); |