You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(18) |
Aug
(33) |
Sep
(30) |
Oct
(27) |
Nov
(59) |
Dec
(30) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(67) |
Feb
(44) |
Mar
(70) |
Apr
(73) |
May
(119) |
Jun
(31) |
Jul
(92) |
Aug
(86) |
Sep
(76) |
Oct
(152) |
Nov
(156) |
Dec
(85) |
2008 |
Jan
(111) |
Feb
(121) |
Mar
(107) |
Apr
(102) |
May
(45) |
Jun
(65) |
Jul
(62) |
Aug
(133) |
Sep
(56) |
Oct
(56) |
Nov
(17) |
Dec
(15) |
2009 |
Jan
(10) |
Feb
(5) |
Mar
(10) |
Apr
(14) |
May
(49) |
Jun
(94) |
Jul
(67) |
Aug
(23) |
Sep
(9) |
Oct
(92) |
Nov
(26) |
Dec
(51) |
2010 |
Jan
(105) |
Feb
(83) |
Mar
(52) |
Apr
(59) |
May
(68) |
Jun
(71) |
Jul
(127) |
Aug
(49) |
Sep
(91) |
Oct
(27) |
Nov
(33) |
Dec
(26) |
2011 |
Jan
(26) |
Feb
(45) |
Mar
(26) |
Apr
(28) |
May
(17) |
Jun
(15) |
Jul
(45) |
Aug
(33) |
Sep
(50) |
Oct
(22) |
Nov
(10) |
Dec
(21) |
2012 |
Jan
(33) |
Feb
(24) |
Mar
(36) |
Apr
(60) |
May
(60) |
Jun
(43) |
Jul
(114) |
Aug
(19) |
Sep
(35) |
Oct
(24) |
Nov
(64) |
Dec
(12) |
2013 |
Jan
(54) |
Feb
(58) |
Mar
(51) |
Apr
(46) |
May
(21) |
Jun
(29) |
Jul
(25) |
Aug
(25) |
Sep
(13) |
Oct
(7) |
Nov
(14) |
Dec
(27) |
2014 |
Jan
(10) |
Feb
(7) |
Mar
(16) |
Apr
(14) |
May
(19) |
Jun
(8) |
Jul
(15) |
Aug
(11) |
Sep
(5) |
Oct
(11) |
Nov
(11) |
Dec
(4) |
2015 |
Jan
(52) |
Feb
(27) |
Mar
(22) |
Apr
(17) |
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(3) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
(2) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(4) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(2) |
Nov
|
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: <mg...@us...> - 2007-01-12 19:42:42
|
Revision: 285 http://svn.sourceforge.net/obo/?rev=285&view=rev Author: mgibson Date: 2007-01-12 11:42:40 -0800 (Fri, 12 Jan 2007) Log Message: ----------- tried to use if in ant - its complicated - just doing echo of PHENOTE_VERSION for now Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/doc/phenote-website/phenote.html Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-12 17:42:15 UTC (rev 284) +++ phenote/trunk/build.xml 2007-01-12 19:42:40 UTC (rev 285) @@ -9,6 +9,8 @@ <project name="phenote" default="compile" basedir="."> + <!-- for antcontrib for if - hafta set CLASSPATH to /usr/share/ant/lib/ant-contrib-1.0b3.jar--> + <!-- taskdef resource="net/sf/antcontrib/antcontrib.properties"/ --> <description>phenote ant build</description> <!-- allows for use of environment vars --> <property environment="env"/> @@ -395,6 +397,7 @@ <!-- need to test if PHENOTE_VERSION is defined - possible?? --> <target name="webstart"> + <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> <copy todir="phenote-webstart"> <fileset file="doc/phenote-website/*.html"/> </copy> @@ -423,6 +426,20 @@ todir="phenote-webstart/${env.PHENOTE_VERSION}/jars"/> </target> + + <target name="if-version"> + <if> + <equals arg1="${env.PHENOTE_VERSION}" arg2="" /> + <then> + <echo message="Env Var PHENOTE VERSION must be set - exiting" /> + </then> + <else> + <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> + </else> + </if> + </target> + + </project> Modified: phenote/trunk/doc/phenote-website/phenote.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote.html 2007-01-12 17:42:15 UTC (rev 284) +++ phenote/trunk/doc/phenote-website/phenote.html 2007-01-12 19:42:40 UTC (rev 285) @@ -29,9 +29,10 @@ <br> <a href="1.0/phenote-zfin.jnlp">Phenote 1.0 for zfin</a><br> -<br> <br> +<a href="1.0/phenote-zfin.jnlp"></a><a href="1.0/phenote-human.jnlp">Phenote 1.0 for human</a><br> +<br> To be clear the above webstart links for zfin & fly were made via configuration not hard wired code. Thus one could in theory configure This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-12 17:42:18
|
Revision: 284 http://svn.sourceforge.net/obo/?rev=284&view=rev Author: mgibson Date: 2007-01-12 09:42:15 -0800 (Fri, 12 Jan 2007) Log Message: ----------- updated phenote page and release notes for 1.0 release Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote-release-notes.html phenote/trunk/doc/phenote-website/phenote.html Modified: phenote/trunk/doc/phenote-website/phenote-release-notes.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote-release-notes.html 2007-01-11 22:11:20 UTC (rev 283) +++ phenote/trunk/doc/phenote-website/phenote-release-notes.html 2007-01-12 17:42:15 UTC (rev 284) @@ -1,86 +1,160 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> + + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + + <title>Phenote Release Notes</title> </head> + + <body> + <h1>Phenote Release Notes</h1> -1.0 -will probably come out in December.<br> + +1.1 +will probably come out in February<br> +<br> +<h2><span style="text-decoration: underline;">1.0</span></h2> +<a href="1.0/phenote-flybase.jnlp">Phenote 1.0 for fly</a><br> + +<a href="1.0/phenote-zfin.jnlp">Phenote 1.0 for zfin</a><br> +<a href="http://165.124.152.194/db/cgi-bin/dictyBase/curation/phenotypeCuration.pl">DichtyBase +webby phenote</a><br> +<a href="http://reaper.lbl.gov/phenote/html/ncbo.html">Webby +Phenote(components used by Zfin)</a><br> +<br> +January 12, 2007<br> +<br> +The main improvement here is the ability to add any field you like, not +just E,Q,GC,GT,Pub. In the configured webstarts Stage, Evidence, +Description, Abnormal, and Absent have been added through this new +mechanism. This entailed a refactoring of the datamodel.<br> +<br> +Webby phenote is now using JSP and Spring.<br> +<br> +There has been some recent work with UVictoria for ontology graph +visualization. This is coming along well and hopefully will be seen in +the next release. <h2><span style="text-decoration: underline;">0.9</span></h2> + <a href="0.9/phenote-flybase.jnlp">Phenote 0.9 for fly</a><br> + <a href="0.9/phenote-zfin.jnlp">Phenote (standalone) 0.9 for zfin</a><br> + <a href="http://165.124.152.194/web/html/interface.html">DichtyBase webby phenote</a><br> + <br> + mid November 2006<br> + <br> + Undo<br> + Christian Pich(Zfin) has added a Quartz scheduler to phenote, which zfin takes advantage of, to schedule when to check for new obo files.<br> + Also Christian Pich upgraded the PhenoteServlet to the Spring framework - much nicer!<br> + Synonyms are now returned from auto complete with [syn] and when selected the term goes in the field (webby & standalone), obsoletes hits with [obs]<br> + Bulk update & copy in standalone.<br> + Jim Balhoff(Nescent) changed radio buttons to checkboxes, and file saver says save not load and recognizes adapter by file extensions, psx->phenosyntax, .xml -> phenoxml <br> + Single quotes escaped for javascript fns.<br> + <h2><span style="text-decoration: underline;">0.8</span></h2> + <a href="0.8/phenote-flybase.jnlp">Phenote 0.8 for fly.</a><br> + <a href="0.8/phenote-zfin.jnlp">Phenote (standalone) 0.8 for zfin</a><br> + <a href="http://165.124.152.194/web/html/interface.html">DichtyBase webby phenote</a><br> + <br> + 10/2/06<br> + Added post composition to standalone phenote. Logging for both webby/servlet & standalone.<br> + Pheno-xml reader (thanks to Jim Balhoff) and improvements to pheno-xml writer (does pub & genetic context)<br> + Command line reading & writing of phenoxml & phenosyntax.<br> + Application exits on window exit (unless servlet)<br> + Can filter out stage terms from zfin anatomy<br> + <h2><span style="text-decoration: underline;">0.7</span></h2> + <a href="0.7/phenote-flybase.jnlp">Phenote 0.7 for fly.</a><br> + <a href="0.7/phenote-zfin.jnlp">Phenote (standalone) 0.7 for zfin</a><br> + <a href="http://165.124.152.194/web/html/interface.html">DichtyBase webby phenote</a><br> + <br> + Web: entity chooser, can configure to check for new obo files and load them. (These are installed at zfin, if anyone would like to see them publicly let me know). Entity field and term info installed into zfin phenotype site. term info & completion are scrollable.<br> + Standalone: can read & write pheno-syntax with ids & term names in comments, entity chooser, pub field, use button in term info, sort table by clicking on headers, personal config file gets copied out of jar, paste mac bug fixed, file load/save remembered,layout fixed<br> + <br> -<h2><span style="font-weight: bold;"><span - style="text-decoration: underline;">0.6</span></span></h2> + +<h2><span style="font-weight: bold;"><span style="text-decoration: underline;">0.6</span></span></h2> + <a href="http://reaper.lbl.gov/phenote/html/ncbo.html">Webby Phenote (0.6)</a><br> + <a href="0.6/phenote-flybase.jnlp">Phenote 0.6 with fly anatomy</a><br> + <a href="0.6/phenote-zfin.jnlp">Phenote 0.6 with zebrafish anatomy</a><br> + <br> + The main feature of release 0.6 is a webby phenote. This is in its extremely early stages (very little functionality and buggy). At this point it only does Entity and Quality fields and term info and thats it, and even thats buggy, but more coming soon! <br> + <br> + Not much new in the stand alone phenote (as Ive been working on the webby phenote). Mainly it can write pheno-xml, and it uses the latest pato (as of July 28, 2006).<br> -<h2><span style="font-weight: bold;"><span - style="text-decoration: underline;">0.5</span></span></h2> + +<h2><span style="font-weight: bold;"><span style="text-decoration: underline;">0.5</span></span></h2> + <br> + <a href="0.5/phenote-flybase.jnlp">Phenote 0.5 webstart for FlyBase</a><br> + <a href="0.5/phenote-zfin.jnlp">Phenote 0.5 webstart for ZFIN</a><br> + <br> + 5/12/06<br> + No new additions to the gui here. In preparation for my visit to Cambridge/FlyBase, I worked on a FlyBase dataadapter. This is phenote first data adapter so I also laid down the foundations for data @@ -92,14 +166,23 @@ tested yet with Proforma, but it works in the test suite. Added special FlyBase character wrappers that do the parsing and creating of Proforma character strings.<br> + <h2><span style="text-decoration: underline;">0.4</span></h2> + <a href="0.4/phenote-flybase.jnlp">0.4 flybase webstart</a><br> + <a href="0.4/phenote-zfin.jnlp">0.4 zfin webstart</a><br> + <br> + 4/26/06<br> + Added Genetic Context field.<br> + Parent & child terms in term info are now clickable/navigable.<br> + Links in descriptions are clickable (should bring up default browser)<br> + Added configuration to configure ontologies & fields. This is currently at a devloper level (xml file) not a user level(gui - todo). There is a command line argument for which configuration file to use. @@ -107,95 +190,162 @@ change the code to do it (like was done for the ctol release). The configuration for now is for developers (internal xml file), on the todo is to have a gui configuration for users.<br> + Minor bugs: cant delete to 0 rows anymore, synonym search duplicates taken out<br> + <br> + Dev stuff:<br> + Refactored for configuration & adding field. Made the internal code much more generic for adding new fields from configuration, got rid of a lot of hard wiring. Part of this was instituring model-view-controller in some places where views were improperly talking to other views. In theory this should also make it easier to plop a web gui on top of the current phenote model & controller.<br> + Renamed Phenotype to Character. Added Character interface CharacterI.<br> + Added tests to test suite.<br> + <br> + <h2><span style="text-decoration: underline;">0.3.1 (CToL)<br> + </span></h2> + <a href="0.3.1/phenote-webstart.jnlp">0.3.1 phenote webstart (for CToL)</a><br> + <br> + 4/7/06<br> + 0.3.1 is identical to 0.3 except that it has ontologies for CToL (fish evolution group). In particular it uses a fish taxonomy<br> + ontology for the id (in this taxonomy) choosing. On the todo is the ability to configure ontologies, but not there yet, so for now need to hardwire with seaparate jar file. This clearly makes the todo item a bit more pressing.<br> + <h2><span style="text-decoration: underline;">0.3</span></h2> + <a href="0.3/phenote-webstart.jnlp">0.3 phenote webstart</a><br> + <br> + 4/7/06<br> + Release for NESCent fish eveolution meeting. No major new functionality here. Cleaned up and fixed a lot of the bugs in 0.2, which was rather buggy.<br> + <br> + Completion terms now sorted alphabeitcally.<br> + Obsolete is now in addition to regular terms, not in lieu of.<br> + Filtering out attribute values (todo: change to actually filter in values)<br> + Html formatting of term info (todo: make terms selectable)<br> + Children relations are in term info<br> + Term info layout greatly improved<br> + Term info in scroller<br> + Border with label around term info<br> + Put definition at end of term info<br> + <br> + Fixed bugs:<br> + Backspace in ontology combo box<br> + Selection of item in comp list causing exception, not going in term box<br> + No terms with just 1 char<br> + Popup was staying up after selection<br> + <br> + Dev stuff:<br> + Test suite added! (todo: add more tests)<br> + Migrated to jdk 1.5 (which caused some of the bugs above)<br> + Ant file made build.xml.<br> + CompletionList refactored into Ontology (prompted by sorting)<br> + <br> + <br> + <h2><span style="text-decoration: underline;">0.2</span></h2> + <a href="0.2/phenote-webstart.jnlp">0.2 phenote webstart</a><br> + <br> + 3/27/06<br> + Added the ability to do term completion on Synonyms, Definitions, and Obsoletes. Also can mouse over a term in a completion list and get information about it in the term info text area. <br> + <br> + The term info area needs a lot of work.<br> + TODO:<br> + layout, scrollbar, border w title, ordering & lumping parents & children, formatting. <br> + Also perhaps have children & parents be clickable in some fashion either html-like clickable text or as buttons.<br> + Theres also bugs in term completion boxes. If you start backspacing it gets wacky for instance.<br> + <br> + <a href="0.2/phenote-webstart.jnlp"><br> + </a> <h2><span style="text-decoration: underline;">0.1</span></h2> + <a href="0.1/phenote-webstart.jnlp">0.1 phenote webstart</a><br> + <br> + 3/1/06<br> + 0.1 was the initial phenote release (known briefly as the plumper at the time). It just had a genotype, anatomy and pato fields, where anatomy and pato did term completion (just on term names) with there ontologies in a drop down list. There was also the phenotype table that tracked phenotype instances being edited in the above fields. This very limited functionality was demo'd at the cbio meeting 3/3/06 at Stanford.<br> + <br> + <a href="0.2/phenote-webstart.jnlp"></a><br> + <br> + <br> + <a href="phenote.html">Phenote main page</a><br> + </body> </html> Modified: phenote/trunk/doc/phenote-website/phenote.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote.html 2007-01-11 22:11:20 UTC (rev 283) +++ phenote/trunk/doc/phenote-website/phenote.html 2007-01-12 17:42:15 UTC (rev 284) @@ -1,125 +1,194 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> + + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + + <title>Phenote</title> </head> + + <body> + <h1 style="text-align: left;"><span style="font-weight: bold;"></span>Phenote<br> + </h1> + <br> + Phenote is a tool to annotate phenotypes using the Entity Quality paradigm. It takes advantage of ontologies. It uses term completion to allow curators quick access to the ontology terms they want to use. <br> + <br> -<a href="0.9/phenote-flybase.jnlp">Phenote 0.9 for fly</a><br> +<a href="1.0/phenote-flybase.jnlp">Phenote 1.0 for fly</a><br> + <br> -<a href="0.9/phenote-zfin.jnlp">Phenote (standalone) 0.9 for zfin</a><br> + +<a href="1.0/phenote-zfin.jnlp">Phenote 1.0 for zfin</a><br> <br> + +<br> + To be clear the above webstart links for zfin & fly were made via configuration not hard wired code. Thus one could in theory configure phenote for ones own purposes.<br> + <br> -Recent addditions include the ability to post compose terms, bul + +Recent addditions include the ability to add any field you like, post compose terms, bulk update, undo, spring framework, and synonyms now are shown in the completion list.<br> + <br> + Zebrafish requires components of phenote(to plug into their non-public website), not a full web app. Here is a proof of concept of some of those components:<br> + <br> + <a href="http://reaper.lbl.gov/phenote/html/ncbo.html">Webby Phenote(components used by Zfin)</a><br> + <br> + Webby phenote is a collaboration with Sohel Merchant at dictyBase. Here is what they have done:<br> + <br> -<a - href="http://165.124.152.194/db/cgi-bin/dictyBase/curation/phenotypeCuration.pl">DichtyBase + +<a href="http://165.124.152.194/db/cgi-bin/dictyBase/curation/phenotypeCuration.pl">DichtyBase webby phenote</a><br> + <br> + <br> + I am doing these -releases to get feedback. Please report any bugs (ideally through the <a - href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">bug +releases to get feedback. Please report any bugs (ideally through the <a href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">bug tracker</a>) and let me know what you think (mg...@fr...).<br> + <br> -Currently under development (still buggy):<br> -<br> -<a href="1.0/phenote-flybase.jnlp">Phenote dev 1.0 for fly</a><br> -<br> -<a href="1.0/phenote-zfin.jnlp">Phenote dev 1.0 for zfin</a><br> -<br> -<br> + <h4>Phenote links:<br> + </h4> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-phenote">Phenote email list</a><br> + <a href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">Phenote bug tracker</a><br> -<a - href="https://lists.sourceforge.net/lists/listinfo/obo-phenote-bug-tracker">Bug + +<a href="https://lists.sourceforge.net/lists/listinfo/obo-phenote-bug-tracker">Bug tracker email list</a><br> + <a href="https://sourceforge.net/svn/?group_id=76834">Phenote source code (obo sourceforge svn)</a><br> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-svn-commit">Phenote svn commit email list</a><br> -<a - href="http://wiki.dictybase.org/dictywiki/index.php/Phenotype_Curation_Tool_Documentation#Usage">Dichty + +<a href="http://wiki.dictybase.org/dictywiki/index.php/Phenotype_Curation_Tool_Documentation#Usage">Dichty webby phenote wiki developer docs</a><br> -<a - href="http://www.bioontology.org/wiki-internal/index.php/Phenotype_Annotation_Tool">Phenote + +<a href="http://www.bioontology.org/wiki-internal/index.php/Phenotype_Annotation_Tool">Phenote ncbo internal wiki (ncbo folk only)</a><br> + <br> + <a href="phenote-release-notes.html">Phenote Release Notes and old webstart releases</a><br> + <br> + If the Phenote webstart link fails to do anything, then there are probably problems -with webstart and/or java(has to be jdk 1.5). Take a look at my <a - href="webstart-troubleshooting.html">webstart troubleshooting</a><br> +with webstart and/or java(has to be jdk 1.5). Take a look at my <a href="webstart-troubleshooting.html">webstart troubleshooting</a><br> + page.<br> + <br> + Click here for <a href="phenote-java-requirements.html">phenote java requirements</a><br> + <br> + <br> + <br> + Old releases: <br> + <br> + +<a href="0.9/phenote-flybase.jnlp">Phenote 0.9 for fly</a><br> + +<a href="0.9/phenote-zfin.jnlp">Phenote (standalone) 0.9 for zfin</a><br> +<br> <a href="0.8/phenote-flybase.jnlp">Phenote 0.8 for fly.</a><br> + <a href="0.8/phenote-zfin.jnlp">Phenote (standalone) 0.8 for zfin</a><br> + <br> + <a href="0.7/phenote-flybase.jnlp">Phenote 0.7 for fly.</a><br> + <a href="0.7/phenote-zfin.jnlp">Phenote (standalone) 0.7 for zfin</a><br> + <br> + <a href="0.6/phenote-flybase.jnlp">Phenote 0.6 with fly anatomy</a><br> + <br> + <a href="0.6/phenote-zfin.jnlp">Phenote 0.6 with zebrafish anatomy</a><br> + <br> + <a href="0.5/phenote-flybase.jnlp">Phenote 0.5 webstart for FlyBase</a><br> + <br> + <a href="0.5/phenote-zfin.jnlp">Phenote 0.5 webstart for ZFIN</a><br> + <br> + <a href="0.4/phenote-flybase.jnlp">Phenote 0.4 webstart for FlyBase</a><br> + <br> + <a href="0.4/phenote-zfin.jnlp">Phenote 0.4 webstart for ZFIN</a><br> + <br> + <a href="0.3.1/phenote-webstart.jnlp">Phenote for CToL group (0.3.1)</a> (a special release for the CToL group that uses fish taxonomy)<br> + <br> + <a href="0.3/phenote-webstart.jnlp">Phenote 0.3</a><br> + <br> + <a href="0.2/phenote-webstart.jnlp">Phenote 0.2</a><br> + <br> + <a href="0.1/phenote-webstart.jnlp">Phenote 0.1</a><br> + <br> + <br> + </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-11 22:11:19
|
Revision: 283 http://svn.sourceforge.net/obo/?rev=283&view=rev Author: mgibson Date: 2007-01-11 14:11:20 -0800 (Thu, 11 Jan 2007) Log Message: ----------- config file name change in jnlp Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote-flybase.jnlp phenote/trunk/doc/phenote-website/phenote-zfin.jnlp Modified: phenote/trunk/doc/phenote-website/phenote-flybase.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-flybase.jnlp 2007-01-11 21:11:32 UTC (rev 282) +++ phenote/trunk/doc/phenote-website/phenote-flybase.jnlp 2007-01-11 22:11:20 UTC (rev 283) @@ -39,7 +39,7 @@ </resources> <application-desc main-class="phenote.main.Phenote"> <argument>-c</argument> - <argument>/initial-flybase.cfg</argument> + <argument>/flybase.cfg</argument> </application-desc> </jnlp> Modified: phenote/trunk/doc/phenote-website/phenote-zfin.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-zfin.jnlp 2007-01-11 21:11:32 UTC (rev 282) +++ phenote/trunk/doc/phenote-website/phenote-zfin.jnlp 2007-01-11 22:11:20 UTC (rev 283) @@ -39,7 +39,7 @@ </resources> <application-desc main-class="phenote.main.Phenote"> <argument>-c</argument> - <argument>/initial-zfin.cfg</argument> + <argument>/zfin-standalone.cfg</argument> </application-desc> </jnlp> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-11 21:49:45
|
Revision: 280 http://svn.sourceforge.net/obo/?rev=280&view=rev Author: mgibson Date: 2007-01-11 12:59:18 -0800 (Thu, 11 Jan 2007) Log Message: ----------- ant doing signing of webstart jars instead of svn jars Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/src/java/phenote/gui/TermInfo.java Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-10 21:50:31 UTC (rev 279) +++ phenote/trunk/build.xml 2007-01-11 20:59:18 UTC (rev 280) @@ -375,11 +375,13 @@ <!-- todo do all jars not just phenote - take out -signed --> <!-- depends on sym link phenote-webstart and env var PHENOTE_VERSION --> - <target name="build-webstart" depends="build-sign-jars,webstart"/> + <!-- target name="build-webstart" depends="build-sign-jars,webstart"/ --> + <target name="build-webstart" depends="build-all,jar,webstart,sign-webstart-jars"/ > <target name="build-sign-jars" depends="build-all,jar,sign-jars"/> - <target name="sign-jars"> + + <target name="sign-jars-svn-jar-dir-take-this-out-perhaps"> <signjar keystore="plumpkey" alias="signFiles" storepass="plumper" keypass="plumper"> <fileset dir="${lib}"> @@ -388,6 +390,16 @@ </signjar> </target> + + <target name="sign-jars-svn-jar-dir-take-this-out-perhaps"> + <signjar keystore="plumpkey" alias="signFiles" + storepass="plumper" keypass="plumper"> + <fileset dir="${lib}"> + <include name="*.jar"/> + </fileset> + </signjar> + </target> + <!-- need to test if PHENOTE_VERSION is defined - possible?? --> <target name="webstart"> @@ -403,6 +415,15 @@ </copy> </target> + <target name="sign-webstart-jars"> + <signjar keystore="plumpkey" alias="signFiles" + storepass="plumper" keypass="plumper"> + <fileset dir="phenote-webstart/${env.PHENOTE_VERSION}/jars"> + <include name="*.jar"/> + </fileset> + </signjar> + </target> + <target name="webstart-just-phenote-jar" depends="build-all,jar"> <signjar jar="${lib}/phenote.jar" keystore="plumpkey" alias="signFiles" storepass="plumper" keypass="plumper"/> Modified: phenote/trunk/src/java/phenote/gui/TermInfo.java =================================================================== --- phenote/trunk/src/java/phenote/gui/TermInfo.java 2007-01-10 21:50:31 UTC (rev 279) +++ phenote/trunk/src/java/phenote/gui/TermInfo.java 2007-01-11 20:59:18 UTC (rev 280) @@ -216,59 +216,3 @@ // //previousOboClass = currentOboClass; // } // JEditorPane allows for html formatting - bold... but doesnt do word wrap - bummer! - // as far as i can tell - // would have to explicitly put <br> in text. can also do hyperlinks! - // for now just doing JTextArea - // do this more generically? some sort of controller? -// CompletionListListener l = new CompletionListListener(); -// termPanel.getEntityComboBox().addCompletionListListener(l); -// termPanel.getPatoComboBox().addCompletionListListener(l); -// if (termPanel.hasLumpComboBox()) -// termPanel.getLumpComboBox().addCompletionListListener(l); - - // ..... BrowserLauncher2? webstart BasicService? config browser... - // somehow distinguish local links from non local?? - // look for localhost? - - // set up localhost servlet? or just pick out text from url? - // hmmmmm...... -// private boolean isPhenoteLink(HyperlinkEvent e) { -// return e.getURL() == null && e.getDescription().startsWith(PHENOTE_LINK_PREFIX); -// } - -// String desc = e.getDescription(); -// if (desc == null || desc.equals("")) return; -// String id = getIdFromDescription(desc); - -// private String getIdFromDescription(String desc) { -// return desc.substring(PHENOTE_LINK_PREFIX.length()); -// } - -// /** Listens for completion list selection (via moouse over) and populates -// term info with term selected -- this is pase - replaced by -// TermSelectionEvent/Listener */ -// private class CompletionListListener implements ListSelectionListener { -// public void valueChanged(ListSelectionEvent e) { -// //int index = e.getFirstIndex(); -// Object source = e.getSource(); -// // hate to cast but it is handy here... and it is in fact a JList -// //System.out.println("TI got sel - src: "+source.getClass()+" list? "+(source instanceof javax.swing.JList)); -// if (!(source instanceof JList)) { -// System.out.println("source of combo box mouse over is not JList "+ -// source.getClass()); -// return; -// } -// JList jList = (JList)source; -// Object selectedValue = jList.getSelectedValue(); -// if (selectedValue == null) -// return; -// //System.out.println("sel val "+selectedValue.getClass()+" name "+selectedValue); -// // the selected item should be an OBOClass -// if (!(selectedValue instanceof OBOClass)) { -// System.out.println("selected completion term is not obo class " -// +selectedValue.getClass()); -// return; -// } -// OBOClass oboClass = (OBOClass)selectedValue; -// setTextFromOboClass(oboClass); -// } -// } // end of CompletionListListener inner class This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-11 21:49:13
|
Revision: 281 http://svn.sourceforge.net/obo/?rev=281&view=rev Author: mgibson Date: 2007-01-11 13:01:52 -0800 (Thu, 11 Jan 2007) Log Message: ----------- put in disabled graphics config for human Modified Paths: -------------- phenote/trunk/conf/human.cfg Modified: phenote/trunk/conf/human.cfg =================================================================== --- phenote/trunk/conf/human.cfg 2007-01-11 20:59:18 UTC (rev 280) +++ phenote/trunk/conf/human.cfg 2007-01-11 21:01:52 UTC (rev 281) @@ -6,6 +6,8 @@ <log config-file="conf/log4j-standalone.xml" /> + <uvic-graph enable="false"/> + <field name="Pub" syntax-abbrev="PUB"/> <field name="Genotype" syntax-abbrev="GT" type="free_text"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-11 21:15:40
|
Revision: 282 http://svn.sourceforge.net/obo/?rev=282&view=rev Author: mgibson Date: 2007-01-11 13:11:32 -0800 (Thu, 11 Jan 2007) Log Message: ----------- fixed ant mistakes Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/conf/flybase.cfg phenote/trunk/conf/human.cfg Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-11 21:01:52 UTC (rev 281) +++ phenote/trunk/build.xml 2007-01-11 21:11:32 UTC (rev 282) @@ -376,19 +376,11 @@ <!-- todo do all jars not just phenote - take out -signed --> <!-- depends on sym link phenote-webstart and env var PHENOTE_VERSION --> <!-- target name="build-webstart" depends="build-sign-jars,webstart"/ --> - <target name="build-webstart" depends="build-all,jar,webstart,sign-webstart-jars"/ > + <target name="build-webstart" depends="build-all,jar,webstart,sign-webstart-jars"/> - <target name="build-sign-jars" depends="build-all,jar,sign-jars"/> + <!-- target name="build-sign-jars" depends="build-all,jar,sign-jars"/ --> - <target name="sign-jars-svn-jar-dir-take-this-out-perhaps"> - <signjar keystore="plumpkey" alias="signFiles" - storepass="plumper" keypass="plumper"> - <fileset dir="${lib}"> - <include name="*.jar"/> - </fileset> - </signjar> - </target> <target name="sign-jars-svn-jar-dir-take-this-out-perhaps"> Modified: phenote/trunk/conf/flybase.cfg =================================================================== --- phenote/trunk/conf/flybase.cfg 2007-01-11 21:01:52 UTC (rev 281) +++ phenote/trunk/conf/flybase.cfg 2007-01-11 21:11:32 UTC (rev 282) @@ -1,5 +1,5 @@ -<phenote-configuration version="0.8" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> +<phenote-configuration version="1.0" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> <dataadapter name="phenosyntax"/> <dataadapter name="phenoxml"/> Modified: phenote/trunk/conf/human.cfg =================================================================== --- phenote/trunk/conf/human.cfg 2007-01-11 21:01:52 UTC (rev 281) +++ phenote/trunk/conf/human.cfg 2007-01-11 21:11:32 UTC (rev 282) @@ -1,5 +1,5 @@ -<phenote-configuration version="0.9" xmlns="phenote/config/xml"> +<phenote-configuration version="1.0" xmlns="phenote/config/xml"> <dataadapter name="phenosyntax"/> <dataadapter name="phenoxml"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-10 22:40:39
|
Revision: 279 http://svn.sourceforge.net/obo/?rev=279&view=rev Author: mgibson Date: 2007-01-10 13:50:31 -0800 (Wed, 10 Jan 2007) Log Message: ----------- disable uvic graphics for zfin for release - hopefully release soon Modified Paths: -------------- phenote/trunk/conf/zfin-standalone.cfg Modified: phenote/trunk/conf/zfin-standalone.cfg =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg 2007-01-10 21:44:22 UTC (rev 278) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-01-10 21:50:31 UTC (rev 279) @@ -5,7 +5,7 @@ <log config-file="conf/log4j-standalone.xml"/> - <uvic-graph enable="true"/> + <uvic-graph enable="false"/> <field name="Pub" syntax-abbrev="PUB"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-10 21:44:22
|
Revision: 278 http://svn.sourceforge.net/obo/?rev=278&view=rev Author: mgibson Date: 2007-01-10 13:44:22 -0800 (Wed, 10 Jan 2007) Log Message: ----------- version - 1.0.1 Modified Paths: -------------- phenote/trunk/src/java/phenote/main/PhenoteVersion.java Modified: phenote/trunk/src/java/phenote/main/PhenoteVersion.java =================================================================== --- phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-10 20:22:20 UTC (rev 277) +++ phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-10 21:44:22 UTC (rev 278) @@ -6,7 +6,7 @@ //private static final float MAJOR_VERSION_NUM = 0.8f; //private static final float SUB_VERSION_NUM = .3f; - private static final String VERSION = "1.0 dev"; // ?? + private static final String VERSION = "1.0.1 dev"; // ?? // type is "dev" or "release" //private static final String type = " dev"; // "release" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-10 20:22:22
|
Revision: 277 http://svn.sourceforge.net/obo/?rev=277&view=rev Author: mgibson Date: 2007-01-10 12:22:20 -0800 (Wed, 10 Jan 2007) Log Message: ----------- added more mem for ant run options fixed broken test methods in charFieldGui Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java phenote/trunk/src/java/phenote/gui/field/FieldPanel.java Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-10 18:24:01 UTC (rev 276) +++ phenote/trunk/build.xml 2007-01-10 20:22:20 UTC (rev 277) @@ -87,10 +87,10 @@ </target> <target name="zfin" depends="compile"> - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx120M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx200M"> <!-- arg value="-c configfilehereventually"/ --> <arg value="-c"/> - <arg value="initial-zfin.cfg"/> + <arg value="zfin-standalone.cfg"/> <classpath> <pathelement path="${classfiles}"/> <fileset dir="${lib}"> @@ -102,7 +102,7 @@ </target> <target name="fly" depends="compile"> - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx120M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx200M"> <!-- arg value="-c configfilehereventually"/ --> <arg value="-c"/> <arg value="initial-flybase.cfg"/> @@ -117,7 +117,7 @@ </target> <target name="obd" depends="compile"> - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx120M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx200M"> <!-- arg value="-c configfilehereventually"/ --> <arg value="-c"/> <arg value="obd.cfg"/> @@ -131,7 +131,7 @@ </java> </target> <target name="run-jar" > - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx120M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx200M"> <!-- arg value="-c configfilehereventually"/ --> <classpath> <fileset dir="${lib}"> @@ -142,7 +142,7 @@ </target> <target name="run-conf" depends="compile"> - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx120M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx200M"> <!-- arg value="-c configfilehereventually"/ --> <arg value="-c"/> <!-- from command line with -DCONF-FILE=initial-zfin.cfg --> @@ -159,7 +159,7 @@ <target name="test" depends="build-test"> - <java classname="org.junit.runner.JUnitCore" fork="yes" jvmargs="-Xmx120M"> + <java classname="org.junit.runner.JUnitCore" fork="yes" jvmargs="-Xmx200M"> <arg value="phenote.gui.TestPhenote"/> <classpath> <pathelement path="${classfiles}"/> Modified: phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-01-10 18:24:01 UTC (rev 276) +++ phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-01-10 20:22:20 UTC (rev 277) @@ -176,7 +176,7 @@ } - private String getLabel() { + String getLabel() { if (label == null) { if (charField.hasMoreThanOneOntology() || !charField.hasOntologies()) label = charField.getName(); @@ -260,6 +260,7 @@ private FreeTextField getFreeTextField() { return freeTextField; } + // ?? was this moved somewhere else? // /** key listener for free text fields for Cmd-V pasting for macs */ // private class TextKeyListener extends java.awt.event.KeyAdapter { // public void keyPressed(java.awt.event.KeyEvent e) { Modified: phenote/trunk/src/java/phenote/gui/field/FieldPanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-10 18:24:01 UTC (rev 276) +++ phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-10 20:22:20 UTC (rev 277) @@ -136,19 +136,19 @@ // for test to listen - move to test code? public AbstractAutoCompList getEntityComboBox() { - return getComboBox(CharFieldEnum.ENTITY); + //return getComboBox(CharFieldEnum.ENTITY); + return getComboBox("Entity"); } - // for testing - move to test? - private AbstractAutoCompList getComboBox(CharFieldEnum cfe) { + private AbstractAutoCompList getComboBox(String name) { for (CharFieldGui cfg : charFieldGuiList) - if (cfg.getCharFieldEnum() == cfe) - return cfg.getCompList(); + if (cfg.getLabel().equals(name)) return cfg.getCompList(); return null; } + public AbstractAutoCompList getQualityComboBox() { - return getComboBox(CharFieldEnum.QUALITY); + return getComboBox("Quality"); } // boolean hasLumpComboBox() { // //return lumpField.isCombo(); @@ -162,6 +162,13 @@ // GARBAGE - DELETE +// // for testing - move to test? +// private AbstractAutoCompList getComboBox(CharFieldEnum cfe) { +// for (CharFieldGui cfg : charFieldGuiList) +// if (cfg.getCharFieldEnum() == cfe) +// return cfg.getCompList(); +// return null; +// } // load up terms for term completion /// Ontology.init(); // hmmmm.... now initializes with get - thread! This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-10 18:24:03
|
Revision: 276 http://svn.sourceforge.net/obo/?rev=276&view=rev Author: mgibson Date: 2007-01-10 10:24:01 -0800 (Wed, 10 Jan 2007) Log Message: ----------- fixed bug where multiple references to same obo file in config was causing that obo file to be reloaded multiple times rather than reused - which of course was a nightmare for memory Modified Paths: -------------- phenote/trunk/src/java/phenote/config/OntologyConfig.java phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java phenote/trunk/src/java/phenote/datamodel/OntologyManager.java Modified: phenote/trunk/src/java/phenote/config/OntologyConfig.java =================================================================== --- phenote/trunk/src/java/phenote/config/OntologyConfig.java 2007-01-09 21:37:37 UTC (rev 275) +++ phenote/trunk/src/java/phenote/config/OntologyConfig.java 2007-01-10 18:24:01 UTC (rev 276) @@ -46,6 +46,7 @@ return; ontologyFile = file; } + public String getFile() { return ontologyFile; } private boolean isBad(String s) { return s == null || s.trim().equals(""); Modified: phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-09 21:37:37 UTC (rev 275) +++ phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-10 18:24:01 UTC (rev 276) @@ -7,8 +7,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import org.apache.log4j.Logger; import org.geneontology.oboedit.datamodel.OBOSession; @@ -38,11 +40,13 @@ private Config config; private OntologyManager ontologyManager = OntologyManager.inst(); private boolean initializingOntologies = false; + private Map<String,Ontology> fileToOntologyCache = new HashMap<String,Ontology>(); + private static final Logger LOG = Logger.getLogger(OntologyDataAdapter.class); private OntologyDataAdapter() { config = Config.inst(); - initOntologies(); + initOntologies(); // loads up all ontologies //if (config.checkForNewOntologies()){new OntologyFileCheckThread().start();} } @@ -108,9 +112,6 @@ initializingOntologies = false; } - - - /** Load up/cache Sets for all ontologies used, anatomyOntologyTermSet * and patoOntologyTermSet -- move to dataadapter/OntologyDataAdapter... */ private Ontology initOntology(OntologyConfig ontCfg) throws OntologyException { @@ -119,31 +120,47 @@ ontology.setFilter(ontCfg.getFilter()); if (ontCfg.hasSlim()) ontology.setSlim(ontCfg.getSlim()); - loadOboSession(ontology,ontCfg.ontologyFile); // throws FileNotFoundEx + + loadOboSession(ontology,ontCfg.getFile()); // throws FileNotFoundEx return ontology; } -// private void loadRelationshipOntology() { hmmmmmm -// // for now - todo configure! post comp relationship-ontology -// // FieldConfig rfc = config.getRelationshipFieldConfig(); -// //CharFieldEnum relEnum = rfc.getCharFieldEnum(); -// CharFieldEnum relEnum = CharFieldEnum.RELATIONSHIP; -// CharField cf = new CharField(relEnum); -// } - + /** Load obo session with obo edit adapter, unless previously loaded - reuse */ private void loadOboSession(Ontology o,String filename) throws OntologyException { + // check cache of ontologies to see if ontology file already loaded + if (fileIsInCache(filename)) { + loadOboSessionFromCache(o,filename); + } + else { + loadOboSessionIgnoreCache(o,filename); + } + } + + private boolean fileIsInCache(String filename) { + return fileToOntologyCache.containsKey(filename); + } + + private void loadOboSessionFromCache(Ontology o,String filename) + throws OntologyException { + Ontology previousOntol = fileToOntologyCache.get(filename); + o.setOboSession(previousOntol.getOboSession()); // throws OntEx if error + System.out.println("obo file already loaded using, obo file from cache "+o.getOboSession()); + o.setTimestamp(previousOntol.getTimestamp()); + o.setSource(previousOntol.getSource()); + } + + private void loadOboSessionIgnoreCache(Ontology o,String filename) + throws OntologyException { URL url = findFile(filename); // throws OntologyEx if file not found - OBOSession oboSession = getOboSession(url); - o.setOboSession(oboSession); // throws OntEx if error + o.setOboSession(getOboSession(url)); // throws OntEx if error + fileToOntologyCache.put(filename,o); File file = new File(url.getFile()); long date = file.lastModified(); - //System.out.println(" file "+file+" mod "+date+" "+new Date(date)); if (date > 0) { // jar files have 0 date??? o.setTimestamp(date); o.setSource(file.toString()); } } - /** Look for file in current directory (.) and jar file @@ -170,9 +187,7 @@ return os; } catch (DataAdapterException e) { - //System.out.println("got data adapter exception: "+e); LOG.error("got data adapter exception: "+e); // ?? - //return null; // empty session? throw new OntologyException(e); } } @@ -181,9 +196,18 @@ to reload itself from its file - in other words there is a new obo file to load in place of old one */ public void reloadOntology(Ontology ont) throws OntologyException { - loadOboSession(ont,ont.getSource()); // throws ex + loadOboSessionIgnoreCache(ont,ont.getSource()); // throws ex } +// private void loadRelationshipOntology() { hmmmmmm +// // for now - todo configure! post comp relationship-ontology +// // FieldConfig rfc = config.getRelationshipFieldConfig(); +// //CharFieldEnum relEnum = rfc.getCharFieldEnum(); +// CharFieldEnum relEnum = CharFieldEnum.RELATIONSHIP; +// CharField cf = new CharField(relEnum); +// } + + } @@ -242,73 +266,8 @@ // } // } -/// // first try file as is (full path provided) -// File file = new File(fileName); -// if (file.exists()) -// return makeUrl(fileName); - -// String oboFileDir = "obo-files/"; -// // try current directory + obo-file dir -// String currentDir = "./" + oboFileDir + fileName; -// file = new File(currentDir); -// if (file.exists()) -// return makeUrl(currentDir); - -// // try jar - hopefully this works... jar files have to have '/' prepended -// // first try without obo-files dir (in jar) -// String jarFile = "/" + fileName; -// URL url = Ontology.class.getResource(jarFile); // looks in jar -// // 2nd try with obo-files dir in jar file (i used to do it this way) -// if (url == null) { -// jarFile = "/" + oboFileDir + fileName; -// url = Ontology.class.getResource(jarFile); // looks in jar -// } - -// if (url == null) { -// throw new FileNotFoundException("No file found for "+fileName); -// } -// return url; -// } -// private URL makeUrl(String file) { -// try { -// return new URL("file:"+file); -// } -// catch (MalformedURLException e) { -// //System.out.println("malformed url "+file+" "+e); -// LOG.error("malformed url "+file+" "+e); -// return null; -// } -// } // if (date > 0) { // jar files have 0 date??? // ontology.setTimestamp(date); // ontology.setSource(file.toString()); // } -// URL url = findFile(ontCfg.ontologyFile); // throws FileNotFoundEx -// File file = new File(url.getFile()); -// long date = file.lastModified(); -// System.out.println("url path "+url.getPath()+" file "+file+" mod "+date+" "+new Date(date)); -// OBOSession oboSession = getOboSession(url); -// Ontology pato = loadOntology(config.getPatoOntologyConfig()); -// ontologyManager.setPatoOntology(pato); - -// if (config.hasLumpOntology()) { -// Ontology lump = loadOntology(config.getLumpOntologyConfig()); -// ontologyManager.setLumpOntology(lump); -// } - -// List<OntologyConfig> entities = config.getEntityOntologyConfigs(); -// Iterator<OntologyConfig> it = entities.iterator(); -// while(it.hasNext()) { -// Ontology o = loadOntology(it.next()); -// ontologyManager.addEntityOntology(o); -// } - -// if (config.hasGeneticContextField()) { -// FieldConfig fc = config.getGeneticContextConfig(); -// Ontology o = loadOntology(fc.getOntologyConfig()); -// //ontologyManager.setGeneticContextOntology(o); -// // alternatively... ... // or (new CharField(cfe,o)) ?? -// //ontologyManager.addOntology(fc.getCharFieldEnum(),o); -// ontologyManager.addField(new CharField(fc.getCharFieldEnum(),o)); -// } Modified: phenote/trunk/src/java/phenote/datamodel/OntologyManager.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-01-09 21:37:37 UTC (rev 275) +++ phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-01-10 18:24:01 UTC (rev 276) @@ -77,15 +77,6 @@ //return null; } - -// private void addOntologyList(List<Ontology> l) { -// allOntologyList.addAll(l); -// } - -// private void addOntology(Ontology o) { -// allOntologyList.add(o); -// } - /** Searches all ontologies for id - this could be even more savvy and utilize the id prefix AO,GO,PATO... Should this deal with post comp? if ^ then create a post comp term on fly? @@ -183,6 +174,15 @@ } +// private void addOntologyList(List<Ontology> l) { +// allOntologyList.addAll(l); +// } + +// private void addOntology(Ontology o) { +// allOntologyList.add(o); +// } + + // i think char field now does this //fieldToOntologyList = new HashMap<CharFieldEnum,List<Ontology>>(); //private Map<CharFieldEnum,List<Ontology>> fieldToOntologyList; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-09 21:37:40
|
Revision: 275 http://svn.sourceforge.net/obo/?rev=275&view=rev Author: mgibson Date: 2007-01-09 13:37:37 -0800 (Tue, 09 Jan 2007) Log Message: ----------- fixed pheno xml adapter for new generic datamodel - i went back and forth on whether the strongly typed methods - getEntity - should be scrapped or just be wrappers/convenience methods for the generic datamodel - i finally went with convenience methods as it is convenient - the only thing thats a little wierd is now theres convenience methods for entity quality gt gc pub - but there arent for anything else - nor do i intend to add them as the whole point of the generic datamodel is anything can be configured into the datamodel - but one of course can ignore the conveneince methods entirely Modified Paths: -------------- phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/dataadapter/phenoxml/PhenoXmlAdapter.java phenote/trunk/src/java/phenote/datamodel/CharFieldEnum.java phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java phenote/trunk/src/java/phenote/datamodel/Character.java phenote/trunk/src/java/phenote/datamodel/CharacterI.java phenote/trunk/src/java/phenote/datamodel/OntologyManager.java phenote/trunk/src/java/phenote/gui/field/FieldPanel.java Added Paths: ----------- phenote/trunk/src/java/phenote/datamodel/CharFieldException.java Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-01-09 21:37:37 UTC (rev 275) @@ -44,14 +44,8 @@ public final static String DEFAULT_CONFIG_FILE = "flybase.cfg"; private static Config singleton = new Config(); private String configFile = DEFAULT_CONFIG_FILE; - //private String patoFile = "attribute_and_values.obo"; // default value - //private OntologyConfig patoConfig; - //private FieldConfig patoConfig; - private FieldConfig lumpConfig = new FieldConfig(CharFieldEnum.LUMP,"Genotype"); + //private FieldConfig lumpConfig = new FieldConfig(CharFieldEnum.LUMP,"Genotype"); //private String lumpOntologyFile = null; private OntologyConfig lumpConfig = new OntologyConfig("Genotype"); - //private List<OntologyConfig> entityConfigList = new ArrayList<OntologyConfig>(); - //private FieldConfig entityConfig; - //private FieldConfig geneticContextConfig; private List<DataAdapterI> dataAdapterList; private List<FieldConfig> fieldList = new ArrayList<FieldConfig>(); //private boolean checkForNewOntologies = false; Modified: phenote/trunk/src/java/phenote/dataadapter/phenoxml/PhenoXmlAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/phenoxml/PhenoXmlAdapter.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/dataadapter/phenoxml/PhenoXmlAdapter.java 2007-01-09 21:37:37 UTC (rev 275) @@ -9,6 +9,8 @@ import javax.swing.JFileChooser; +import org.apache.log4j.Logger; + import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlOptions; @@ -29,6 +31,8 @@ import phenote.datamodel.Character; import phenote.datamodel.CharacterListI; import phenote.datamodel.CharacterList; +import phenote.datamodel.CharFieldEnum; // ? +import phenote.datamodel.CharFieldException; import phenote.datamodel.OntologyManager; import phenote.datamodel.TermNotFoundException; import phenote.dataadapter.CharacterListManager; @@ -262,13 +266,24 @@ } private void addGenotypeAndContext(CharacterI chr, Phenoset ps, PhenotypeManifestation pm) { - String genotype = chr.getGenotype(); - addGenotypeToPhenoset(genotype, ps); - ManifestIn mi = pm.addNewManifestIn(); - mi.setGenotype(genotype); - if (chr.hasGeneticContext()) { + ManifestIn mi = pm.addNewManifestIn(); // only add if have gt or gc? + try { + //chr.getGenotype(); unfortunate new way due to new generic datamodel + String genotype = chr.getValueString("Genotype"); // CFEx + // check if its there?? + addGenotypeToPhenoset(genotype, ps); + mi.setGenotype(genotype); + } + catch (CharFieldException e) {} // do nothing just skip it (??) + + String gc = CharFieldEnum.GENETIC_CONTEXT.toString(); + if (chr.hasValue(gc)) { // hasGeneticCont Typeref typeref = mi.addNewTyperef(); - typeref.setAbout(chr.getGeneticContext().getID()); + //typeref.setAbout(chr.getGeneticContext().getID()); + try { typeref.setAbout(chr.getTerm(gc).getID()); } + catch (CharFieldException e) { + log().debug("failed to get gc field"); // shouldnt happen with hasValue + } } } @@ -319,5 +334,10 @@ return "PhenoXML files"; } + private Logger log; + private Logger log() { + if (log == null) log = Logger.getLogger(getClass()); + return log; + } } Modified: phenote/trunk/src/java/phenote/datamodel/CharFieldEnum.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharFieldEnum.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/datamodel/CharFieldEnum.java 2007-01-09 21:37:37 UTC (rev 275) @@ -12,7 +12,7 @@ return new CharFieldValue(c.getPub(),c,this); } }, - LUMP("Genotype") { // genotype? default? + GENOTYPE("Genotype") { // genotype? default? public void setValue(CharacterI c, CharFieldValue v) { c.setGenotype(v.getName()); } @@ -54,7 +54,8 @@ // CHAR FIELD ENUM vars & methods (make its own class!) private final String name; private CharFieldEnum(String name) { this.name = name; } - public String toString() { return name; } + public String toString() { return getName(); } + public String getName() { return name; } public abstract void setValue(CharacterI c, CharFieldValue v); public abstract CharFieldValue getValue(CharacterI c); Added: phenote/trunk/src/java/phenote/datamodel/CharFieldException.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharFieldException.java (rev 0) +++ phenote/trunk/src/java/phenote/datamodel/CharFieldException.java 2007-01-09 21:37:37 UTC (rev 275) @@ -0,0 +1,5 @@ +package phenote.datamodel; + +public class CharFieldException extends Exception { + CharFieldException(String m) { super(m); } +} Modified: phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java 2007-01-09 21:37:37 UTC (rev 275) @@ -87,7 +87,8 @@ public boolean isTerm() { return isOboClass; } - public OBOClass getOboClass() { return oboClassValue; } + public OBOClass getOboClass() { return getTerm(); } // --> getTerm more general + public OBOClass getTerm() { return oboClassValue; } public void editModel() { // if (charFieldEnum == null) @@ -103,6 +104,7 @@ } } + CharField getCharField() { return charField; } public CharFieldEnum getCharFieldEnum() { return charFieldEnum; } public String toString() { return getName(); } Modified: phenote/trunk/src/java/phenote/datamodel/Character.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/Character.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/datamodel/Character.java 2007-01-09 21:37:37 UTC (rev 275) @@ -1,7 +1,8 @@ package phenote.datamodel; import java.util.HashMap; -import java.util.Map; +import java.util.List; +import org.apache.log4j.Logger; import org.geneontology.oboedit.datamodel.OBOClass; @@ -14,13 +15,14 @@ // List<CharFieldValue> charFields??? or List<CharField> // phase these out... - private String pub; - private String genotype=""; // eventually Genotype class + //private String pub; + //private String genotype=""; // eventually Genotype class // OboClass? OntologyTerm?... - private OBOClass entity; // CharFieldValue??? - private OBOClass quality; - private OBOClass geneticContext; - // new generic data structure + //private OBOClass entity; // CharFieldValue??? + //private OBOClass quality; + //private OBOClass geneticContext; + // new generic data structure try { setValue(new CharFieldValue(e,this,getEntityField())); } + private HashMap<CharField,CharFieldValue> charFieldToValue = new HashMap<CharField,CharFieldValue>(); @@ -29,11 +31,17 @@ charFieldToValue.put(cf,cfv); //System.out.println("Char setVal "+cf+" val "+cfv); } + private void setValue(CharFieldValue cfv) { + charFieldToValue.put(cfv.getCharField(),cfv); + } public void setValue(CharField cf, String s) throws TermNotFoundException { CharFieldValue cfv = cf.makeValue(this,s); setValue(cf,cfv); } + private void setValue(CharField cf, OBOClass term) { + setValue(new CharFieldValue(term,this,cf)); + } /** generic getter */ public CharFieldValue getValue(CharField cf) { @@ -55,14 +63,18 @@ return cfv.getName(); } - public String getValueString(String field) throws Exception { + public String getValueString(String field) throws CharFieldException { CharField cf = getCharFieldForName(field); // throws ex - if (!hasValue(cf)) return null; // ?? exception? + if (!hasValue(cf)) return null; // ?? exception? ""? return getValue(cf).getName(); } - public OBOClass getTerm(String field) throws Exception { + public OBOClass getTerm(String field) throws CharFieldException { CharField cf = getCharFieldForName(field); // throws ex + return getTerm(cf); + } + + private OBOClass getTerm(CharField cf) { if (!hasValue(cf)) return null; // ?? exception? return getValue(cf).getOboClass(); } @@ -79,51 +91,108 @@ try { return hasValue(getCharFieldForName(fieldName)); } - catch (Exception e) { // throws exception if doesnt have + catch (CharFieldException e) { // throws exception if doesnt have return false; } } - private CharField getCharFieldForName(String fieldName) throws Exception { - for (CharField cf : charFieldToValue.keySet()) { + private CharField getCharFieldForName(String fieldName) throws CharFieldException { + for (CharField cf : getAllCharFields()) { if (cf.getName().equalsIgnoreCase(fieldName)) return cf; } - throw new Exception("No field for "+fieldName); + throw new CharFieldException("No field for "+fieldName); } - public String getPub() { return pub; } - public boolean hasPub() { return pub!=null && !pub.equals(""); } - public String getGenotype() { return genotype; } - public OBOClass getEntity() { return entity; } - public OBOClass getQuality() { return quality; } + /** return all char fields configured, both currently used or null in char */ + private List<CharField> getAllCharFields() { + return OntologyManager.inst().getCharFieldList(); + } + + // conveneince methods... + public String getPub() { + try { return getValueString(getPubField()); } + catch (CharFieldException e) { return null; } // ?? ""? + } + public boolean hasPub() { return getPub()!=null && !getPub().equals(""); } + private CharField getPubField() throws CharFieldException { + return getCharFieldForName(CharFieldEnum.PUB.getName()); + } + public String getGenotype() { + try { return getValueString(getGenotypeField()); } + catch (CharFieldException e) { return null; } // ?? + } + private CharField getGenotypeField() throws CharFieldException { + return getCharFieldForName(CharFieldEnum.GENOTYPE.getName()); + } + /** cant decide to kill this or not - part of me thinks entity is fundamental to + phenote so why not make it handy */ + public OBOClass getEntity() { + try { return getValue(getEntityField()).getTerm(); } + catch (CharFieldException e) { return null; } // ?? + } + private CharField getEntityField() throws CharFieldException { + return getCharFieldForName(CharFieldEnum.ENTITY.getName()); + //catch (CharFieldException e) { return null; } // ?? ex? + } + public OBOClass getQuality() { + //return quality; + try { return getValue(getQualField()).getTerm(); } + catch (CharFieldException e) { return null; } // ?? + } + private CharField getQualField() throws CharFieldException { + return getCharFieldForName(CharFieldEnum.QUALITY.getName()); + } public boolean hasGeneticContext() { - return geneticContext!=null && !geneticContext.equals(""); + return getGeneticContext()!=null && !getGeneticContext().equals(""); } - public OBOClass getGeneticContext() { return geneticContext; } + public OBOClass getGeneticContext() { + try { return getTerm(getGenConField()); } + catch (CharFieldException e) { return null; } // ?? + } + private CharField getGenConField() throws CharFieldException { + return getCharFieldForName(CharFieldEnum.GENETIC_CONTEXT.getName()); + } - // convenience functions - public String getEntityName() { return entity.getName(); } - public String getQualityName() { return quality.getName(); } - public String getGeneticContextName() { return geneticContext.getName(); } - - public void setPub(String p ) { pub = p; } - public void setGenotype(String gt) { genotype = gt; } - public void setEntity(OBOClass e) { entity = e; } - public void setQuality(OBOClass p) { quality = p; } - public void setGeneticContext(OBOClass gc) { geneticContext = gc; } + public void setPub(String p ) { + try { setValue(new CharFieldValue(p,this,getPubField())); } + catch (CharFieldException x) { log().error("no Pub field -> config!"); } + } + public void setGenotype(String gt) { + try { setValue(getGenotypeField(),gt); } + catch (CharFieldException x) { log().error(x); } + catch (TermNotFoundException e) {} // doesnt happen for free text field + } + public void setEntity(OBOClass e) { + try { setValue(new CharFieldValue(e,this,getEntityField())); } + catch (CharFieldException x) { log().error("no Entity field -> config!"); } + } + public void setQuality(OBOClass q) { + try {setValue(new CharFieldValue(q,this,getQualField())); } + catch (CharFieldException e) { log().error("no Quality field -> config!"); } + } + public void setGeneticContext(OBOClass gc) { + try { setValue(getGenConField(),gc); } + catch (CharFieldException e) { log().error("no Genetic Context field -> config!"); } + } + // this is just used for testing at this point public boolean equals(CharacterI ch) { - return eq(genotype,ch.getGenotype()) && eq(entity,ch.getEntity()) - && eq(quality,ch.getQuality()) && eq(geneticContext,ch.getGeneticContext()); + //return eq(getGenotype(),ch.getGenotype()) && eq(getEntity(),ch.getEntity()) + // && eq(quality,ch.getQuality()) && eq(geneticContext,ch.getGeneticContext()); + for (CharField cf : getAllCharFields()) { + if (!eq(getValue(cf),ch.getValue(cf))) + return false; + } + return true; } /** check if both are null in addition to .equals() */ - private boolean eq(Object o1, Object o2) { - if (o1==null && o2==null) return true; - if (o1 == null) return false; - return o1.equals(o2); + private boolean eq(CharFieldValue c1,CharFieldValue c2) { + if (c1==null && c2==null) return true; + if (c2 == null) return false; + return c1.equals(c2); } public CharacterI cloneCharacter() { @@ -135,16 +204,32 @@ } catch (CloneNotSupportedException e) { return null; } } + // used by character table panel public boolean hasNoContent() { - if (hasPub()) return false; - if (genotype!=null && !genotype.equals("")) return false; - if (entity != null) return false; - if (quality != null) return false; - return geneticContext == null; +// if (hasPub()) return false; +// if (genotype!=null && !genotype.equals("")) return false; +// if (getEntity() != null) return false; +// if (getQuality() != null) return false; +// return geneticContext == null; + for (CharField cf : getAllCharFields()) { + if (hasValue(cf)) return false; + } + return true; } public String toString() { - return "Pub "+pub+" genotype "+genotype+" gen ctxt "+geneticContext+" entity "+ - entity+" qual "+quality; + //return "Pub "+pub+" genotype "+genotype+" gen ctxt "+geneticContext+" entity "+ + // entity+" qual "+quality; + StringBuffer sb = new StringBuffer(); + for (CharField cf : getAllCharFields()) { + sb.append(cf.getName()).append(" ").append(charFieldToValue.get(cf)).append(" "); + } + return sb.toString(); } + + private Logger log; + private Logger log() { + if (log == null) log = Logger.getLogger(getClass()); + return log; + } } Modified: phenote/trunk/src/java/phenote/datamodel/CharacterI.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharacterI.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/datamodel/CharacterI.java 2007-01-09 21:37:37 UTC (rev 275) @@ -17,24 +17,18 @@ public CharFieldValue getValue(CharField cf); public String getValueString(CharField cf); // should make an exception for this - public String getValueString(String fieldName) throws Exception; // yuck - public OBOClass getTerm(String fieldName) throws Exception; + public String getValueString(String fieldName) throws CharFieldException; // yuck + public OBOClass getTerm(String fieldName) throws CharFieldException; // public void setTerm(String field, OBOClass term); // needed for protege plugin // public void setTerm(String field, String id) throws OboException; public boolean hasValue(CharField cf); - public boolean hasValue(String fieldName) throws Exception; + public boolean hasValue(String fieldName);//throws CharFieldException? public CharacterI cloneCharacter(); public boolean equals(CharacterI c); public boolean hasNoContent(); - - // pase! delete! - public String getEntityName(); - public String getQualityName(); // OBOClass? - public String getGeneticContextName(); - public String getPub(); public boolean hasPub(); public String getGenotype(); @@ -50,3 +44,4 @@ public void setQuality(OBOClass p); public void setGeneticContext(OBOClass gc); } + Modified: phenote/trunk/src/java/phenote/datamodel/OntologyManager.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-01-09 21:37:37 UTC (rev 275) @@ -235,60 +235,3 @@ // entityOntologyList = entList; // } -// public void addEntityOntology(Ontology o) { -// getEntityOntologyList().add(o); -// allOntologyList.add(o); -// } - -// public List<Ontology> getEntityOntologyList() { -// if (entityOntologyList == null) -// entityOntologyList = new ArrayList<Ontology>(); -// return entityOntologyList; -// } - -// // for now just 1 -// public Ontology getEntityOntology() { -// return getEntityOntologyList().get(0); -// } - - /** Set from OntologyDataAdapter */ -// public void setPatoOntology(Ontology patoOntology) { -// this.patoOntology = patoOntology; -// addOntology(patoOntology); -// } - - // pase? -// public Ontology getPatoOntology() { -// //if (patoOntology != null) -// return patoOntology; -// } - -// public boolean hasGeneticContext() { -// return geneticContextOntology != null; -// } - -// public void setGeneticContextOntology(Ontology gc) { -// geneticContextOntology = gc; -// addOntology(geneticContextOntology); -// } - -// public Ontology getGeneticContextOntology() { -// return geneticContextOntology; -// } - - - // eventually... - // Ontology getOntology(CharFieldEnum c) { return fieldToOntology.get(c); } - -// public void addOntology(CharFieldEnum c, Ontology o) { -// // for now... -// if (c == CharFieldEnum.GENETIC_CONTEXT) -// setGeneticContextOntology(o); -// addOntology(o); - -// // OR -// // addOntologyToMap(c,o); - -// // OR -// charFieldList.add(new CharField(c,o)); -// } Modified: phenote/trunk/src/java/phenote/gui/field/FieldPanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-05 23:29:45 UTC (rev 274) +++ phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-09 21:37:37 UTC (rev 275) @@ -150,13 +150,13 @@ public AbstractAutoCompList getQualityComboBox() { return getComboBox(CharFieldEnum.QUALITY); } - boolean hasLumpComboBox() { - //return lumpField.isCombo(); - return getLumpComboBox() != null; - } - AbstractAutoCompList getLumpComboBox() { - return getComboBox(CharFieldEnum.LUMP); - } +// boolean hasLumpComboBox() { +// //return lumpField.isCombo(); +// return getLumpComboBox() != null; +// } +// AbstractAutoCompList getLumpComboBox() { +// return getComboBox(CharFieldEnum.LUMP); +// } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-05 23:29:49
|
Revision: 274 http://svn.sourceforge.net/obo/?rev=274&view=rev Author: mgibson Date: 2007-01-05 15:29:45 -0800 (Fri, 05 Jan 2007) Log Message: ----------- bug fix for sugi layout in shrimp uvic dag viewer - thank you chris bennet - so sugi was occasionally laying out boxes on wrong level - turns out chris put a check in for endless loop for cycles as sugi bombs on cycles but had side effect of occasional improper layout - fixed now Modified Paths: -------------- phenote/trunk/jars/sugilayout.jar Modified: phenote/trunk/jars/sugilayout.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-05 23:17:25
|
Revision: 273 http://svn.sourceforge.net/obo/?rev=273&view=rev Author: mgibson Date: 2007-01-05 15:17:25 -0800 (Fri, 05 Jan 2007) Log Message: ----------- fixed sorting by clicking on column header - was broken by new generic data model Modified Paths: -------------- phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/datamodel/CharField.java phenote/trunk/src/java/phenote/datamodel/Character.java phenote/trunk/src/java/phenote/datamodel/CharacterI.java phenote/trunk/src/java/phenote/datamodel/CharacterList.java phenote/trunk/src/java/phenote/datamodel/CharacterListI.java phenote/trunk/src/java/phenote/gui/CharacterTableModel.java Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-01-05 23:17:25 UTC (rev 273) @@ -187,8 +187,11 @@ return getFieldConfig(index).getLabel(); } - public CharFieldEnum getCharFieldEnum(int index) { - return getFieldConfig(index).getCharFieldEnum(); +// public CharFieldEnum getCharFieldEnum(int index) { +// return getFieldConfig(index).getCharFieldEnum(); +// } + public CharField getCharField(int index) { + return getFieldConfig(index).getCharField(); } /** needed for getFieldLabel for table */ Modified: phenote/trunk/src/java/phenote/datamodel/CharField.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-01-05 23:17:25 UTC (rev 273) @@ -204,22 +204,3 @@ // } // }; - -// // CHAR FIELD ENUM vars & methods (make its own class!) -// private final String name; -// private CharFieldEnum(String name) { this.name = name; } -// public String toString() { return name; } -// public abstract void setValue(CharacterI c, CharFieldValue v); -// public abstract CharFieldValue getValue(CharacterI c); - -// // unclear if we need this??? need it in generic field config -// public static CharFieldEnum getCharFieldEnum(String fieldString) { -// for ( CharFieldEnum cfe : CharFieldEnum.values()) { -// if (cfe.name.equalsIgnoreCase(fieldString)) -// return cfe; -// } -// System.out.println("ERROR: No Char Field found for string "+fieldString); -// return null; -// } - -// }; Modified: phenote/trunk/src/java/phenote/datamodel/Character.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/Character.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/datamodel/Character.java 2007-01-05 23:17:25 UTC (rev 273) @@ -48,6 +48,13 @@ return cfv; } + // return "" if null value?? throw ex? used for sorting CharList + public String getValueString(CharField cf) { + CharFieldValue cfv = getValue(cf); + if (cfv.getName() == null) return ""; // ?? ex? + return cfv.getName(); + } + public String getValueString(String field) throws Exception { CharField cf = getCharFieldForName(field); // throws ex if (!hasValue(cf)) return null; // ?? exception? Modified: phenote/trunk/src/java/phenote/datamodel/CharacterI.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharacterI.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/datamodel/CharacterI.java 2007-01-05 23:17:25 UTC (rev 273) @@ -15,6 +15,7 @@ public void setValue(CharField cf, CharFieldValue cfv); // ?? public void setValue(CharField cf, String valueString) throws TermNotFoundException; public CharFieldValue getValue(CharField cf); + public String getValueString(CharField cf); // should make an exception for this public String getValueString(String fieldName) throws Exception; // yuck public OBOClass getTerm(String fieldName) throws Exception; Modified: phenote/trunk/src/java/phenote/datamodel/CharacterList.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharacterList.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/datamodel/CharacterList.java 2007-01-05 23:17:25 UTC (rev 273) @@ -32,15 +32,15 @@ } // ?? - public void sortBy(CharFieldEnum cfe) { - Collections.sort(characterList,getComparator(cfe)); + public void sortBy(CharField cf) { + Collections.sort(characterList,getComparator(cf)); } - private Comparator<CharacterI> getComparator(final CharFieldEnum cfe) { + private Comparator<CharacterI> getComparator(final CharField cf) { return new Comparator<CharacterI>() { public int compare(CharacterI c1, CharacterI c2) { - String s1 = cfe.getValue(c1).getName(); - String s2 = cfe.getValue(c2).getName(); + String s1 = c1.getValueString(cf);//cf.getValue(c1).getName(); + String s2 = c2.getValueString(cf); return s1.compareTo(s2); } }; Modified: phenote/trunk/src/java/phenote/datamodel/CharacterListI.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharacterListI.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/datamodel/CharacterListI.java 2007-01-05 23:17:25 UTC (rev 273) @@ -17,6 +17,6 @@ public int indexOf(CharacterI c); public List<CharacterI> getList(); public boolean equals(CharacterListI cl); - /** Sort data by char field enum field */ - public void sortBy(CharFieldEnum cfe); + /** Sort data by char field/column */ + public void sortBy(CharField cf); } Modified: phenote/trunk/src/java/phenote/gui/CharacterTableModel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/CharacterTableModel.java 2007-01-05 22:26:06 UTC (rev 272) +++ phenote/trunk/src/java/phenote/gui/CharacterTableModel.java 2007-01-05 23:17:25 UTC (rev 273) @@ -164,9 +164,9 @@ } } - private CharFieldEnum getCharFieldEnum(int col) { - return config.getCharFieldEnum(col); - } +// private CharFieldEnum getCharFieldEnum(int col) { +// return config.getCharFieldEnum(col); +// } public boolean isCellEditable(int r, int c) { @@ -177,8 +177,8 @@ but for now just sort data itself? dont yet have separate view objects to sort */ void setSortKey(int col) { - CharFieldEnum cfe = getCharFieldEnum(col); - characterList.sortBy(cfe); // ??? + CharField cf = config.getCharField(col); + characterList.sortBy(cf); // ??? fireTableDataChanged(); } private Logger log; @@ -195,47 +195,3 @@ int endRow; } - //--rowCount; - // hmmmmm - this cant be hardwired, needs to work with config - // not sure how to do this.... - // getField(col).getValue(inst); - //switch (col) { case(0) : return inst.getGenotype(); case(1) : return inst.getEntity(); - //case(2) : return inst.getPato();} -// // i dont think this is still used??? if it is refactor! its wrong actually -// public void setValueAtDELETEhmmmmm(Object value, int row, int col) { -// CharacterI inst = getCharacter(row); -// String valString = (String)value; // better be a string - -// // getField(col).setValue(valString); // setValString? setVal(Obj)? - -// switch (col) { -// case(0) : -// inst.setGenotype(valString); -// break; -// case(1) : -// inst.setEntity(valString); -// break; -// case(2) : -// inst.setPato(valString); -// } -// fireTableCellUpdated(row,col); // causes repaint -// } -// private class TableCharListChangeListener implements CharListChangeListener { -// public void newCharList(CharListChangeEvent e) { -// characterList = e.getCharacterList(); -// // need to repaint & select 1st item in table -// // do all of this in Panel? -// } -// } - - // --> CharTablePanel -// private class TableCharChangeListener implements CharChangeListener { -// public void charChanged(CharChangeEvent e) { -// //int row = getSelectedRow(); -// //fireTableDataChanged(); // ??? causes loss of selection -// //setRowSelectionInterval(row,row); -// repaint(); // will this cause new data to come in? -// } -// } - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-05 22:26:06
|
Revision: 272 http://svn.sourceforge.net/obo/?rev=272&view=rev Author: mgibson Date: 2007-01-05 14:26:06 -0800 (Fri, 05 Jan 2007) Log Message: ----------- put in config flag uvic-graph enable="true" to enable/disable uvic graphics Modified Paths: -------------- phenote/trunk/conf/flybase.cfg phenote/trunk/conf/phenote-config.rnc phenote/trunk/conf/phenote-config.xsd phenote/trunk/conf/zfin-standalone.cfg phenote/trunk/jars/phenoteconfigbeans.jar phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/gui/CharacterTablePanel.java Modified: phenote/trunk/conf/flybase.cfg =================================================================== --- phenote/trunk/conf/flybase.cfg 2007-01-05 20:45:27 UTC (rev 271) +++ phenote/trunk/conf/flybase.cfg 2007-01-05 22:26:06 UTC (rev 272) @@ -6,6 +6,8 @@ <log config-file="conf/log4j-standalone.xml" /> + <uvic-graph enable="false"/> + <field name="Pub" syntax-abbrev="PUB"/> <field name="Genotype" syntax-abbrev="GT" type="free_text"/> Modified: phenote/trunk/conf/phenote-config.rnc =================================================================== --- phenote/trunk/conf/phenote-config.rnc 2007-01-05 20:45:27 UTC (rev 271) +++ phenote/trunk/conf/phenote-config.rnc 2007-01-05 22:26:06 UTC (rev 272) @@ -6,6 +6,7 @@ attribute version { xsd:float }, log, dataadapter*, + uvic-graph, field* } @@ -28,6 +29,8 @@ attribute config-file { text } } +uvic-graph = element uvic-graph { attribute enable { xsd:boolean } } + field = element field { ##attribute name { "Pub" | "Genotype" | "Genetic Context" | "Entity" | "Quality" }, Modified: phenote/trunk/conf/phenote-config.xsd =================================================================== --- phenote/trunk/conf/phenote-config.xsd 2007-01-05 20:45:27 UTC (rev 271) +++ phenote/trunk/conf/phenote-config.xsd 2007-01-05 22:26:06 UTC (rev 272) @@ -5,6 +5,7 @@ <xs:sequence> <xs:element ref="x:log"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:dataadapter"/> + <xs:element ref="x:uvic-graph"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:field"/> </xs:sequence> <xs:attribute name="version" use="required" type="xs:float"/> @@ -30,6 +31,11 @@ <xs:attribute name="config-file" use="required"/> </xs:complexType> </xs:element> + <xs:element name="uvic-graph"> + <xs:complexType> + <xs:attribute name="enable" use="required" type="xs:boolean"/> + </xs:complexType> + </xs:element> <xs:element name="field"> <xs:complexType> <xs:sequence> Modified: phenote/trunk/conf/zfin-standalone.cfg =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg 2007-01-05 20:45:27 UTC (rev 271) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-01-05 22:26:06 UTC (rev 272) @@ -5,6 +5,8 @@ <log config-file="conf/log4j-standalone.xml"/> + <uvic-graph enable="true"/> + <field name="Pub" syntax-abbrev="PUB"/> <field name="Genotype" syntax-abbrev="GT" type="free_text"/> Modified: phenote/trunk/jars/phenoteconfigbeans.jar =================================================================== (Binary files differ) Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-01-05 20:45:27 UTC (rev 271) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-01-05 22:26:06 UTC (rev 272) @@ -29,6 +29,7 @@ import phenote.config.xml.FieldDocument.Field; import phenote.config.xml.OntologyDocument.Ontology; import phenote.config.xml.LogDocument.Log; +import phenote.config.xml.UvicGraphDocument.UvicGraph; import phenote.util.FileUtil; import phenote.datamodel.CharField; @@ -56,6 +57,7 @@ //private boolean checkForNewOntologies = false; //private int newOntologyCheckMinutes = 10; private String logConfigFile = "conf/log4j.xml"; // default log config file + private boolean uvicGraphEnabled = false; // default false for now /** singleton */ private Config() { @@ -169,30 +171,13 @@ // /** How many minutes between checks for new ontologies */ // public int getOntologyCheckMinutes() { return newOntologyCheckMinutes; } + /** config flag for enabling uvic shrimp dag graph */ + public boolean uvicGraphIsEnabled() { return uvicGraphEnabled; } + public URL getLogConfigUrl() throws FileNotFoundException { return FileUtil.findUrl(logConfigFile); } - private FieldConfig getLumpConfig() { - // name = Taxonmony, file = BTO.obo... - return lumpConfig; - } - - public boolean hasLumpField() { - return true; // config this - ctol may not have lumps... for now true - } - - public boolean hasLumpOntology() { - if (!hasLumpField()) - return false; - return lumpConfig.hasOntology(); - } - - public OntologyConfig getLumpOntologyConfig() { - if (!hasLumpField()) return null; - return lumpConfig.getOntologyConfig(); - } - public int getNumberOfFields() { return getFieldConfigList().size(); } @@ -270,6 +255,11 @@ addDataAdapterFromString(name); } + // GRAPH + UvicGraph gr = pc.getUvicGraph(); + if (gr != null) + uvicGraphEnabled = gr.getEnable(); + // FIELDS Field[] fields = pc.getFieldArray(); for (Field f : fields) { Modified: phenote/trunk/src/java/phenote/gui/CharacterTablePanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/CharacterTablePanel.java 2007-01-05 20:45:27 UTC (rev 271) +++ phenote/trunk/src/java/phenote/gui/CharacterTablePanel.java 2007-01-05 22:26:06 UTC (rev 272) @@ -104,7 +104,8 @@ // should this go in a menu? commitButton = addButton(SAVE_STRING,al,buttonPanel); buttonPanel.add(Box.createRigidArea(new Dimension(20,0))); - graphWindow = addButton("Graph",al,buttonPanel); + if (Config.inst().uvicGraphIsEnabled()) + graphWindow = addButton("Graph",al,buttonPanel); add(buttonPanel); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-05 20:45:28
|
Revision: 271 http://svn.sourceforge.net/obo/?rev=271&view=rev Author: mgibson Date: 2007-01-05 12:45:27 -0800 (Fri, 05 Jan 2007) Log Message: ----------- rename zfin config to distinguish from web config Added Paths: ----------- phenote/trunk/conf/zfin-standalone.cfg Removed Paths: ------------- phenote/trunk/conf/initial-zfin.cfg Deleted: phenote/trunk/conf/initial-zfin.cfg =================================================================== --- phenote/trunk/conf/initial-zfin.cfg 2007-01-05 19:53:54 UTC (rev 270) +++ phenote/trunk/conf/initial-zfin.cfg 2007-01-05 20:45:27 UTC (rev 271) @@ -1,32 +0,0 @@ -<phenote-configuration version="1.0" xmlns="phenote/config/xml" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" schemaLocation="phenote-config.xsd"> - - <dataadapter name="phenosyntax"/> - <dataadapter name="phenoxml"/> - - <log config-file="conf/log4j-standalone.xml"/> - - <field name="Pub" syntax-abbrev="PUB"/> - - <field name="Genotype" syntax-abbrev="GT" type="free_text"/> - - <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> - - <field name="Entity" syntax-abbrev="E"> - <postcomp relationship-ontology="relationship.obo"/> - <ontology name="ZF" file="zebrafish_anatomy.obo" filter-out="ZFS:" /> - <ontology name="GO" file="gene_ontology.obo"/> - <ontology name="SP" file="spatial.obo"/> - </field> - - <field name="Stage" file="zebrafish_anatomy.obo" filter-out="ZFA:" syntax-abbrev="T"/> - - <field name="Quality" file="quality.obo" syntax-abbrev="Q" /> - - <field name="Absent" file="quality.obo" slim="absent_slim" syntax-abbrev="Tag"/> - <field name="Abnormal" file="quality.obo" slim="abnormal_slim" syntax-abbrev="Tag"/> - - <field name="Evidence" file="evidence_code.obo" syntax-abbrev="EV"/> - - <field name="Description" syntax-abbrev="Desc"/> - -</phenote-configuration> Copied: phenote/trunk/conf/zfin-standalone.cfg (from rev 270, phenote/trunk/conf/initial-zfin.cfg) =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg (rev 0) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-01-05 20:45:27 UTC (rev 271) @@ -0,0 +1,32 @@ +<phenote-configuration version="1.0" xmlns="phenote/config/xml" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" schemaLocation="phenote-config.xsd"> + + <dataadapter name="phenosyntax"/> + <dataadapter name="phenoxml"/> + + <log config-file="conf/log4j-standalone.xml"/> + + <field name="Pub" syntax-abbrev="PUB"/> + + <field name="Genotype" syntax-abbrev="GT" type="free_text"/> + + <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> + + <field name="Entity" syntax-abbrev="E"> + <postcomp relationship-ontology="relationship.obo"/> + <ontology name="ZF" file="zebrafish_anatomy.obo" filter-out="ZFS:" /> + <ontology name="GO" file="gene_ontology.obo"/> + <ontology name="SP" file="spatial.obo"/> + </field> + + <field name="Stage" file="zebrafish_anatomy.obo" filter-out="ZFA:" syntax-abbrev="T"/> + + <field name="Quality" file="quality.obo" syntax-abbrev="Q" /> + + <field name="Absent" file="quality.obo" slim="absent_slim" syntax-abbrev="Tag"/> + <field name="Abnormal" file="quality.obo" slim="abnormal_slim" syntax-abbrev="Tag"/> + + <field name="Evidence" file="evidence_code.obo" syntax-abbrev="EV"/> + + <field name="Description" syntax-abbrev="Desc"/> + +</phenote-configuration> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kev...@us...> - 2007-01-05 19:54:02
|
Revision: 270 http://svn.sourceforge.net/obo/?rev=270&view=rev Author: kevinschaper Date: 2007-01-05 11:53:54 -0800 (Fri, 05 Jan 2007) Log Message: ----------- Used an existing feature of ajax.autocompleter library to handle synonyms and obsoletes. Anything wrapped in a span with class="informal" will show up in the word completion dropdown, but won't actually end up in the text box. That way we can put [syn: synonymname] and [obs] in when appropriate, but still use the built in ajax.autocompleter function to fill in the text in the box. This is good, because gives correct behavior when using a keyboard. Modified Paths: -------------- phenote/trunk/src/web/WEB-INF/jsp/term_completion.jsp Modified: phenote/trunk/src/web/WEB-INF/jsp/term_completion.jsp =================================================================== --- phenote/trunk/src/web/WEB-INF/jsp/term_completion.jsp 2007-01-05 19:48:49 UTC (rev 269) +++ phenote/trunk/src/web/WEB-INF/jsp/term_completion.jsp 2007-01-05 19:53:54 UTC (rev 270) @@ -3,8 +3,11 @@ <body> <ul> <c:forEach var="completionTerm" items="${formBean.completionTermList}"> - <li onmouseover="phenoteState.updateTermInfo(new Term('<c:out value="${completionTerm.ID}" />','<c:out value="${completionTerm.escapedName}" escapeXml="false" />','<c:out value="${completionTerm.ontol}" />'));" id='<c:out value="${completionTerm.ID}" />' - onclick="phenoteState.setCompletedTerm('<c:out value="${completionTerm.escapedName}" />','<c:out value="${completionTerm.field}" />')"><c:out value="${completionTerm.compListDisplayString}" /></li> + <li onmouseover="phenoteState.updateTermInfo(new Term('<c:out value="${completionTerm.ID}" />', + '<c:out value="${completionTerm.escapedName}" escapeXml="false" />', + '<c:out value="${completionTerm.ontol}" />'));" + id='<c:out value="${completionTerm.ID}" />' + ><c:out value="${completionTerm.name}" /><span class="informal"><c:out value="${completionTerm.compListInformalString}" /></span></li> </c:forEach> </ul> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kev...@us...> - 2007-01-05 19:48:49
|
Revision: 269 http://svn.sourceforge.net/obo/?rev=269&view=rev Author: kevinschaper Date: 2007-01-05 11:48:49 -0800 (Fri, 05 Jan 2007) Log Message: ----------- added getCompListInformalString method to output [syn: synonymname] or [obs] when necessary Modified Paths: -------------- phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java Modified: phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java 2007-01-05 18:40:40 UTC (rev 268) +++ phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java 2007-01-05 19:48:49 UTC (rev 269) @@ -39,6 +39,22 @@ return getCompListDisplayString(); } + + public String getCompListInformalString() { + StringBuffer informal = new StringBuffer(); + + if (isSynMatch()) { + informal.append(" [syn: " + synMatchString + "]"); + } + + if (term.isObsolete()) { + informal.append(" [obs]"); + } + + return informal.toString(); + } + + public String getCompListDisplayString() { StringBuffer display = new StringBuffer(); StringBuffer appends = new StringBuffer(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-05 18:40:42
|
Revision: 268 http://svn.sourceforge.net/obo/?rev=268&view=rev Author: mgibson Date: 2007-01-05 10:40:40 -0800 (Fri, 05 Jan 2007) Log Message: ----------- fixed pheno syntax read as it was broken with generic datamodel it uses configuration of syntax abbrevs put slims in new quality.obo - tedious - either those slims need to go in master or be side file (obo edit i think can do that) or scrapped Modified Paths: -------------- phenote/trunk/obo-files/quality.obo phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/config/FieldConfig.java phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java phenote/trunk/src/java/phenote/datamodel/Character.java phenote/trunk/src/java/phenote/datamodel/CharacterI.java Modified: phenote/trunk/obo-files/quality.obo =================================================================== --- phenote/trunk/obo-files/quality.obo 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/obo-files/quality.obo 2007-01-05 18:40:40 UTC (rev 268) @@ -2,6 +2,8 @@ date: 28:11:2006 13:58 saved-by: George Gkoutos auto-generated-by: OBO-Edit 1.002 +subsetdef: absent_slim "Absent/present slim" +subsetdef: abnormal_slim "Abnormal/normal slim" default-namespace: quality [Term] @@ -2397,17 +2399,20 @@ related_synonym: "atypical" [] related_synonym: "defective" [] is_a: PATO:0000069 ! deviation(from_normal) +subset: abnormal_slim [Term] id: PATO:0000461 name: normal related_synonym: "average" [] is_a: PATO:0000069 ! deviation(from_normal) +subset: abnormal_slim [Term] id: PATO:0000462 name: absent is_a: PATO:0000070 ! presence +subset: absent_slim [Term] id: PATO:0000463 @@ -2433,6 +2438,7 @@ id: PATO:0000467 name: present is_a: PATO:0000070 ! presence +subset: absent_slim [Term] id: PATO:0000468 Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-01-05 18:40:40 UTC (rev 268) @@ -231,6 +231,15 @@ return fields; } + public String getSyntaxAbbrevForCharField(CharField cf) throws ConfigException { + for (FieldConfig fc : getFieldConfigList()) { + if (fc.hasCharField(cf)) + return fc.getSyntaxAbbrev(); + } + // failed to find field config for char field - shouldnt happen + throw new ConfigException("Syn Abbrev for "+cf+" not found"); + } + /** should this just be a part of fieldConfigList? and main window would filter it out when making up fields? rel is for post comp gui - or maybe FieldConfig should have isPostComp, getPostCompRelFile - yes! */ @@ -248,15 +257,6 @@ PhenoteConfiguration pc = pcd.getPhenoteConfiguration(); -// // CHECK FOR ONTOLOGIES -// CheckForNewOntologies cfno = pc.getCheckForNewOntologies(); -// if (cfno != null) { // ? -// checkForNewOntologies = true; -// BigInteger bi = cfno.getIntervalMinutes(); -// if (bi != null) -// newOntologyCheckMinutes = bi.intValue(); -// } - // LOG CONFIG FILE Log log = pc.getLog(); if (log != null && log.getConfigFile() != null) { @@ -375,278 +375,12 @@ } -// OLD OLD OLD - DELETE - DOM STUFF - replaced with xml beans -// /** Default entity list is the anatomy ontology -- DELETE*/ -// private List<OntologyConfig> defaultEntityConfigList() { -// OntologyConfig oc = new OntologyConfig("Anatomy","anatomy.obo"); -// List<OntologyConfig> l = new ArrayList<OntologyConfig>(1); -// l.add(oc); -// return l; -// } -// List<URL> possibleUrls = getPossibleUrls(filename); -// for (URL u : possibleUrls) -// if (urlExists(u)) return u; -// System.out.println("Failed to find file "+filename); -// throw new FileNotFoundException(filename+" not found"); -// } - -// private List<URL> getPossibleUrls(String filename) { -// List<URL> urls = new ArrayList(5); -// try { -// URL u = new File(filename).toURL(); -// if (u != null) urls.add(u); -// u = new File("conf/"+filename).toURL(); -// if (u != null) urls.add(u); -// } catch (MalformedURLException e) { -// System.out.println("bad file url "+e); -// } -// URL jarUrl = Config.class.getResource(filename); -// if (jarUrl != null) urls.add(jarUrl); -// jarUrl = Config.class.getResource("/"+filename); -// if (jarUrl != null) urls.add(jarUrl); -// return urls; -// } - -// private boolean urlExists(URL u) { -// try { u.openStream(); } -// catch (IOException e) { return false; } -// //System.out.println("url suceeded "+u); -// return true; -// } - -// public OntologyConfig getPatoOntologyConfig() { -// return getPatoConfig().getOntologyConfig(); -// } - - /** paot config should always be present, make default if not set from xml */ -// private FieldConfig getPatoConfig() { -// if (patoConfig == null) { -// System.out.println("error pato config is null, making default"); -// OntologyConfig o = OntologyConfig.defaultPato; -// patoConfig = new FieldConfig(CharFieldEnum.PATO,o); -// } -// return patoConfig; -// } - -// public boolean hasGeneticContextField() { -// return geneticContextConfig != null; -// } - -// public OntologyConfig getGeneticContextOntologyConfig() { -// if (!hasGeneticContextField()) return null; -// return getGeneticContextConfig().getOntologyConfig(); // check if has ont? -// } - -// public FieldConfig getGeneticContextConfig() { -// return geneticContextConfig; -// } - -// private void initGeneticContextConfig(OntologyConfig oc) { -// geneticContextConfig = new FieldConfig(CharFieldEnum.GENETIC_CONTEXT,oc); -// } - -// private FieldConfig getEntityConfig() { -// if (entityConfig == null) -// entityConfig = new FieldConfig(CharFieldEnum.ENTITY,"Entity"); -// return entityConfig; -// } - -// public List<OntologyConfig> getEntityOntologyConfigs() { -// // if (entityConfigList.isEmpty()) entityConfigList = defaultEntityConfigList(); -// // return entityConfigList; -// return getEntityConfig().getOntologyConfigList(); -// } - -// public String getFieldName(int index) { -// return getFieldConfig(index).getLabel(); -// } - //String name = f.getName().getStringValue(); - //String file = f.getFile().getStringValue(); -// if (fieldList == null) -// initFieldConfigList(); -// // refactor! - just have it come straight from xml parse! -// private void initFieldConfigList() { -// //fieldList = new ArrayList<FieldConfig>(); -// if (hasLumpField()) { -// fieldList.add(getLumpConfig()); -// } -// if (hasGeneticContextField()) { -// fieldList.add(getGeneticContextConfig()); -// } -// // entity config should always be present shouldnt it? -// fieldList.add(getEntityConfig()); -// fieldList.add(getPatoConfig()); // pato required -// } - - -// /** Throws ParserConfig,SAXEx, & IOException if problems - sep class? */ -// private Document getDocument(String filename) throws Exception { -// DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); -// DocumentBuilder builder = dbf.newDocumentBuilder(); -// Document document = tryFile(builder,filename); -// if (document == null) -// document = tryFile(builder,"conf/"+filename); -// if (document == null) { // try jar file -// URL url = Config.class.getResource(filename); -// // hmmmm - so ontology data adapter prepends "/" for jar file but above -// // doesnt (which seems to work for web start but not jboss) try with -// // prepended slash as well - what the heck -// // its true this works for jboss - above for webstart - very strange -// if (url == null) -// url = Config.class.getResource("/"+filename); -// if (url == null) -// System.out.println("failed to get file from jar with or without '/' prepend"); -// else -// document = tryFile(builder,url.toString()); -// } - -// if (document == null) { -// System.out.println("Failed to find config file "+filename); -// throw new FileNotFoundException(filename); -// } -// return document; -// } - -// /** Returns null if cant find file, throws exception if parse fails */ -// private Document tryFile(DocumentBuilder builder, String uri) throws Exception { -// if (uri == null) return null; -// Document document = null; -// try { -// document = builder.parse(uri); -// } -// catch (FileNotFoundException e) { -// return null; -// } -// return document; -// } - -// // do this with xml beans & xsd of config? -// private void parseXmlFileWithDom(String filename) { -// Document document=null; -// try { -// document = getDocument(filename); -// } catch (Exception e) { -// System.out.println("Xml config parse error: "+e); -// e.printStackTrace(); -// return; -// } -// Element root = document.getDocumentElement(); -// NodeList kids = root.getChildNodes(); -// int size = kids.getLength(); -// for (int i=0; i<size; i++) { -// Node node = kids.item(i); -// parsePato(node); // if not pato does nothing -// parseEntity(node); -// parseGeneticContext(node); -// parseDataAdapter(node); -// } -// } - - // private void parseLump(Node node) ... - - // return true if sucessfully parsed? -// private void parsePato(Node node) { -// if (!node.getNodeName().equals("pato")) return; -// OntologyConfig oc = makeOntologyConfig(node,"Pato"); -// //getPatoConfig().addOntologyConfig(oc); -// patoConfig = new FieldConfig(CharFieldEnum.PATO,oc); -// } - -// private void parseEntity(Node node) { -// if (!node.getNodeName().equals("entity")) return; - -// // while (hasMoreOntologies(node) ??? na! - -// // List <OntologyConfig> getOntologyConfigs(node) {} - -// makeOntologyConfigs(node,getEntityConfig()); -// //getEntityConfig().addOntologyConfig(oc); -// //getEntityConfig().setOntologyConfigs(configs); -// //entityConfigList.add(fc); -// } - -// private void parseGeneticContext(Node node) { -// if (!node.getNodeName().equals("genetic-context")) return; -// OntologyConfig oc = makeOntologyConfig(node,"Genetic Context"); -// initGeneticContextConfig(oc); -// // check if has ontology? -// //getGeneticContextConfig().addOntologyConfig(oc); -// } - -// /** Return null if node doesnt actually have ontology info - like if there -// is no file attribute which is required */ -// private OntologyConfig makeOntologyConfig(Node node, String defaultName) { -// String name = getNameAttribute(node); -// if (name == null || name.equals("")) -// name = defaultName; -// // if field only has one ontology -// if (!hasFileAttribute(node)) -// return null; - -// String file = getFileAttribute(node); - -// return makeOntologyConfig(name,file); -// } - -// /** so this is funny but the field node may contain info on a single ontology -// or it may contain ontology kid nodes, in the case it has multiple ontolgies -// like entity */ -// private void makeOntologyConfigs(Node fieldNode, FieldConfig fieldConfig) { -// String name = getNameAttribute(fieldNode); -// if (name == null || name.equals("")) -// name = fieldConfig.getLabel(); - -// // if field only has one ontology will be specified in node attribs -// OntologyConfig oc = makeOntologyConfig(fieldNode,name); -// if (oc != null) -// fieldConfig.addOntologyConfig(oc); // return? - -// // see if theres mutliple ontologies specified as ontology elements -// NodeList kids = fieldNode.getChildNodes(); -// for (int i=0; i<kids.getLength(); i++) { -// Node node = kids.item(i); -// if (node.getNodeName().equals("ontology")) { -// oc = makeOntologyConfig(node,name); -// fieldConfig.addOntologyConfig(oc); +// // CHECK FOR ONTOLOGIES +// CheckForNewOntologies cfno = pc.getCheckForNewOntologies(); +// if (cfno != null) { // ? +// checkForNewOntologies = true; +// BigInteger bi = cfno.getIntervalMinutes(); +// if (bi != null) +// newOntologyCheckMinutes = bi.intValue(); // } -// } -// } -// private boolean hasFileAttribute(Node node) { -// return hasContent(getFileAttribute(node)); -// } - -// private boolean hasContent(String s) { -// return s != null && !s.equals(""); -// } - -// private String getFileAttribute(Node node) { -// return getAttribute(node,"file"); -// } - -// private String getNameAttribute(Node node) { -// return getAttribute(node,"name"); -// } - -// /** Returns null if node is not element, or attrib not attribute */ -// private String getAttribute(Node node, String attrib) { -// Element element = elementCast(node); -// if (element == null) return null; -// return element.getAttribute(attrib); -// } - -// private Element elementCast(Node node) { -// if (node instanceof Element) -// return (Element)node; -// System.out.println("Config xml parsing error, expected element " -// +node.getNodeName()); -// return null; // throw exception? -// } - -// private void parseDataAdapter(Node node) { -// if (!node.getNodeName().equals("data-adapter")) return; -// String name = getNameAttribute(node); -// addDataAdapterFromString(name); -// } - -//} Modified: phenote/trunk/src/java/phenote/config/FieldConfig.java =================================================================== --- phenote/trunk/src/java/phenote/config/FieldConfig.java 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/src/java/phenote/config/FieldConfig.java 2007-01-05 18:40:40 UTC (rev 268) @@ -17,12 +17,6 @@ private OntologyConfig postCompRelOntCfg; private String syntaxAbbrev; -// FieldConfig(CharFieldEnum c,OntologyConfig o) { -// charFieldEnum = c; -// if (o == null) return; // shouldnt happen -// label = o.getName(); -// addOntologyConfig(o); -// } FieldConfig(CharFieldEnum c, String label) { charFieldEnum = c; @@ -94,9 +88,21 @@ void setSyntaxAbbrev(String syn) { this.syntaxAbbrev = syn; } + String getSyntaxAbbrev() { + if (syntaxAbbrev == null) return getLabel(); + return syntaxAbbrev; + } //void String getSyntaxAbbrev() { return syntaxAbbrev; } boolean hasSyntaxAbbrev(String abb) { return abb.equals(syntaxAbbrev); } public void setCharField(CharField cf) { charField = cf; } CharField getCharField() { return charField; } + boolean hasCharField(CharField cf) { return charField == cf; } } + +// FieldConfig(CharFieldEnum c,OntologyConfig o) { +// charFieldEnum = c; +// if (o == null) return; // shouldnt happen +// label = o.getName(); +// addOntologyConfig(o); +// } Modified: phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java 2007-01-05 18:40:40 UTC (rev 268) @@ -10,6 +10,7 @@ import phenote.datamodel.Character; import phenote.datamodel.CharacterI; import phenote.datamodel.CharField; +import phenote.datamodel.CharFieldValue; import phenote.datamodel.OntologyManager; import phenote.datamodel.TermNotFoundException; import phenote.config.Config; @@ -53,30 +54,40 @@ try { - if (character.hasValue("Pub")) // hasPub - sb.append("PUB=").append(character.getValueString("Pub")); //Pub()); - // Genotype - not strictly part of pheno syntax but lets face it we need it - // i would say its an omission from syntax - //sb.append(" GT=").append(character.getGenotype()); - if (character.hasValue("Genotype")) - sb.append(" GT=").append(character.getValueString("Genotype")); - if (character.hasValue("Genetic Context")) - sb.append(" GC=").append(makeValue(character.getTerm("Genetic Context"))); + // ontology manager should have char fields in order of config which should be + // syntax order - hope this isnt too presumptious + for (CharField cf : OntologyManager.inst().getCharFieldList()) { + if (character.hasValue(cf)) { + sb.append(Config.inst().getSyntaxAbbrevForCharField(cf)).append("=");//ex + sb.append(makeValue(character.getValue(cf))).append(" "); + } + // check for entity & quality?? + } + +// if (character.hasValue("Pub")) // hasPub +// sb.append("PUB=").append(character.getValueString("Pub")); //Pub()); +// // Genotype - not strictly part of pheno syntax but lets face it we need it +// // i would say its an omission from syntax +// //sb.append(" GT=").append(character.getGenotype()); +// if (character.hasValue("Genotype")) +// sb.append(" GT=").append(character.getValueString("Genotype")); +// if (character.hasValue("Genetic Context")) +// sb.append(" GC=").append(makeValue(character.getTerm("Genetic Context"))); - if (!character.hasValue("Entity")) - throw new BadCharException("Error: character has no entity, ignoring"); - //sb.append(" E=").append(makeValue(character.getEntity())); - sb.append(" E=").append(makeValue(character.getTerm("Entity"))); +// if (!character.hasValue("Entity")) +// throw new BadCharException("Error: character has no entity, ignoring"); +// //sb.append(" E=").append(makeValue(character.getEntity())); +// sb.append(" E=").append(makeValue(character.getTerm("Entity"))); - // if (character.hasValue(CharFieldEnum.STAGE)) +// // if (character.hasValue(CharFieldEnum.STAGE)) - //if (character.getQuality() == null) - if (!character.hasValue("Quality")) - throw new BadCharException("Error: character has no quality, ignoring"); - sb.append(" Q=").append(makeValue(character.getTerm("Quality"))); +// //if (character.getQuality() == null) +// if (!character.hasValue("Quality")) +// throw new BadCharException("Error: character has no quality, ignoring"); +// sb.append(" Q=").append(makeValue(character.getTerm("Quality"))); } - catch (Exception e) { + catch (ConfigException e) { throw new BadCharException(e.getMessage()); } return sb.toString(); @@ -87,7 +98,12 @@ BadCharException(String m) { super(m); } } - private String makeValue(OBOClass term) { + private String makeValue(CharFieldValue v) { + if (v.isTerm()) return makeTermValue(v.getOboClass()); + return v.getName(); + } + + private String makeTermValue(OBOClass term) { // id & commented out name for readability return term.getID() + " /*" + term.getName() + "*/"; } Modified: phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/src/java/phenote/datamodel/CharFieldValue.java 2007-01-05 18:40:40 UTC (rev 268) @@ -69,6 +69,13 @@ return new CharFieldValue((String)null,c,cf); // ""? } + boolean isEmpty() { + if (isOboClass) + return oboClassValue == null; + else + return stringValue == null; + } + // maybe this should be called getString??? why getName??? public String getName() { if (!isOboClass) @@ -78,6 +85,8 @@ return ""; // null? } + public boolean isTerm() { return isOboClass; } + public OBOClass getOboClass() { return oboClassValue; } public void editModel() { Modified: phenote/trunk/src/java/phenote/datamodel/Character.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/Character.java 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/src/java/phenote/datamodel/Character.java 2007-01-05 18:40:40 UTC (rev 268) @@ -64,7 +64,9 @@ public boolean hasValue(CharField cf) { // empty string is a valid value for non-required field - or should there // be some sort of somthing to indicate "empty" value? - return getValue(cf) != null; // && !getValue(cf).equals(""); + //return getValue(cf) != null; // && !getValue(cf).equals(""); + if (getValue(cf) == null) return false; + return !getValue(cf).isEmpty(); } public boolean hasValue(String fieldName) { try { Modified: phenote/trunk/src/java/phenote/datamodel/CharacterI.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharacterI.java 2007-01-04 19:10:26 UTC (rev 267) +++ phenote/trunk/src/java/phenote/datamodel/CharacterI.java 2007-01-05 18:40:40 UTC (rev 268) @@ -48,4 +48,4 @@ public void setEntity(OBOClass e); public void setQuality(OBOClass p); public void setGeneticContext(OBOClass gc); - } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-04 19:10:32
|
Revision: 267 http://svn.sourceforge.net/obo/?rev=267&view=rev Author: mgibson Date: 2007-01-04 11:10:26 -0800 (Thu, 04 Jan 2007) Log Message: ----------- got phenote working with the latest shrimp dag viewer - still a bunch of issues to work out but its coming along - not ready yet for curators to check out i think Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/jars/layouts.jar phenote/trunk/jars/shrimp.jar phenote/trunk/phenote phenote/trunk/src/java/phenote/gui/ShrimpDag.java Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2006-12-22 18:24:19 UTC (rev 266) +++ phenote/trunk/build.xml 2007-01-04 19:10:26 UTC (rev 267) @@ -74,7 +74,7 @@ <!-- runs off classfiles not jar, todo: run-jar --> <target name="run" depends="compile"> - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx120M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx400M"> <!-- arg value="-c configfilehereventually"/ --> <classpath> <pathelement path="${classfiles}"/> Modified: phenote/trunk/jars/layouts.jar =================================================================== (Binary files differ) Modified: phenote/trunk/jars/shrimp.jar =================================================================== (Binary files differ) Modified: phenote/trunk/phenote =================================================================== --- phenote/trunk/phenote 2006-12-22 18:24:19 UTC (rev 266) +++ phenote/trunk/phenote 2007-01-04 19:10:26 UTC (rev 267) @@ -1,3 +1,13 @@ #!/bin/sh -java -Xmx300M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ +PHENOTE_CLASSPATH=classfiles +for file in jars/*.jar; do + if [ $file != jars/phenote.jar ]; then + #echo "Adding ${file} to CLASSPATH" + PHENOTE_CLASSPATH=${PHENOTE_CLASSPATH}:${file}; + fi; +done + +java -Xmx300M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ + +##java -Xmx300M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ Modified: phenote/trunk/src/java/phenote/gui/ShrimpDag.java =================================================================== --- phenote/trunk/src/java/phenote/gui/ShrimpDag.java 2006-12-22 18:24:19 UTC (rev 266) +++ phenote/trunk/src/java/phenote/gui/ShrimpDag.java 2007-01-04 19:10:26 UTC (rev 267) @@ -1,7 +1,9 @@ package phenote.gui; -//import javax.swing.JFrame; +import java.awt.Component; +import javax.swing.JFrame; + import org.geneontology.oboedit.datamodel.OBOSession; //import ca.uvic.csr.shrimp.gui.QueryView.QueryView; @@ -27,9 +29,9 @@ } private ShrimpDag() { - //window = new JFrame("Shrimp ontology viewer"); - //window.pack(); - //window.setVisible(true); + //window = new JFrame("Shrimp ontology viewer"); + //window.pack(); + //window.setVisible(true); init(); } @@ -46,13 +48,24 @@ private void init() { //initShrimp(); SelectionManager.inst().addTermSelectionListener(new ShrimpSelectionListener()); + //initOntologies(); } public void display() { //queryView = new QueryView(); false - show query view? boolean showQueryPanel = true; - oboViewer = - new OBOViewer("Shrimp ontology viewer",getOboSession(),showQueryPanel); + oboViewer = new OBOViewer(showQueryPanel); + //new OBOViewer("Shrimp ontology viewer",getOboSession(),showQueryPanel); + oboViewer.loadOBOSession(getOboSession()); // change this! + + JFrame frame = new JFrame("Shrimp DAG view"); + //frame.setDefaultCloseOperation(java.awt.WindowListener.DISPOSE_ON_CLOSE); + frame.getContentPane().add(oboViewer.getView()); + frame.pack(); + frame.setSize(600, 600); + frame.setLocation(400, 200); + frame.setVisible(true); + } private OBOSession getOboSession() { @@ -76,10 +89,11 @@ if (e.isMouseOverEvent()) return false; String term = e.getOboClass().getName(); boolean animate = true; - getQueryView().query(term, animate); + //getQueryView().query(term, animate); + oboViewer.query(getOboSession(),e.getOboClass(),animate); return true; } } -} \ No newline at end of file +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2006-12-22 18:24:26
|
Revision: 266 http://svn.sourceforge.net/obo/?rev=266&view=rev Author: mgibson Date: 2006-12-22 10:24:19 -0800 (Fri, 22 Dec 2006) Log Message: ----------- adding shrimp jar for layout Added Paths: ----------- phenote/trunk/jars/sugilayout.jar Added: phenote/trunk/jars/sugilayout.jar =================================================================== (Binary files differ) Property changes on: phenote/trunk/jars/sugilayout.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2006-12-22 15:47:28
|
Revision: 265 http://svn.sourceforge.net/obo/?rev=265&view=rev Author: mgibson Date: 2006-12-22 07:47:24 -0800 (Fri, 22 Dec 2006) Log Message: ----------- changed default config in Config to flybase.cfg from initial-flybase.cfg Modified Paths: -------------- phenote/trunk/phenote phenote/trunk/src/java/phenote/config/Config.java Modified: phenote/trunk/phenote =================================================================== --- phenote/trunk/phenote 2006-12-21 00:27:27 UTC (rev 264) +++ phenote/trunk/phenote 2006-12-22 15:47:24 UTC (rev 265) @@ -1,3 +1,3 @@ #!/bin/sh -java -Xmx200M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ +java -Xmx300M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2006-12-21 00:27:27 UTC (rev 264) +++ phenote/trunk/src/java/phenote/config/Config.java 2006-12-22 15:47:24 UTC (rev 265) @@ -40,7 +40,7 @@ public class Config { - public final static String DEFAULT_CONFIG_FILE = "/initial-flybase.cfg"; + public final static String DEFAULT_CONFIG_FILE = "flybase.cfg"; private static Config singleton = new Config(); private String configFile = DEFAULT_CONFIG_FILE; //private String patoFile = "attribute_and_values.obo"; // default value This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cm...@us...> - 2006-12-21 00:27:30
|
Revision: 264 http://svn.sourceforge.net/obo/?rev=264&view=rev Author: cmpich Date: 2006-12-20 16:27:27 -0800 (Wed, 20 Dec 2006) Log Message: ----------- Added a new jsp tag to suppress the directory path of the obo files when displayed on the admin page (for security reasons) Modified Paths: -------------- phenote/trunk/src/java/phenote/util/FileUtil.java phenote/trunk/src/java/test/phenote/util/FileUtilTest.java phenote/trunk/src/web/WEB-INF/jsp/admin.jsp phenote/trunk/src/web/WEB-INF/tld/phenote-tags.tld Added Paths: ----------- phenote/trunk/src/java/phenote/presentation/tags/FileUtilTag.java Added: phenote/trunk/src/java/phenote/presentation/tags/FileUtilTag.java =================================================================== --- phenote/trunk/src/java/phenote/presentation/tags/FileUtilTag.java (rev 0) +++ phenote/trunk/src/java/phenote/presentation/tags/FileUtilTag.java 2006-12-21 00:27:27 UTC (rev 264) @@ -0,0 +1,86 @@ +package phenote.presentation.tags; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts.taglib.TagUtils; +import phenote.util.FileUtil; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.tagext.Tag; +import javax.servlet.jsp.tagext.TagSupport; +import java.io.IOException; + +/** + * Tag that creates the display name for a relationship of a term to a child or a parent. + */ +public class FileUtilTag extends TagSupport { + + private String type; + private String beanName; + private String property; + private String scope; + + + public int doStartTag() throws JspException { + + // Default scope is 'Page' scope + if (StringUtils.isEmpty(scope)) + scope = "Page"; + String fileName = (String) TagUtils.getInstance().lookup(pageContext, beanName, property, scope); + String pureFileName = FileUtil.getPureFileName(fileName); + + try { + pageContext.getOut().print(pureFileName); + } catch (IOException ioe) { + throw new JspException("Error: IOException while writing to client" + ioe.getMessage()); + } + release(); + return Tag.SKIP_BODY; + } + + /** + * Release all allocated resources. + */ + public void release() { + super.release(); + + type = null; + property = null; + beanName = null; + id = null; + scope = null; + + } + + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getBeanName() { + return beanName; + } + + public void setBeanName(String beanName) { + this.beanName = beanName; + } + + public String getScope() { + return scope; + } + + public void setScope(String scope) { + this.scope = scope; + } + + public String getProperty() { + return property; + } + + public void setProperty(String property) { + this.property = property; + } +} Modified: phenote/trunk/src/java/phenote/util/FileUtil.java =================================================================== --- phenote/trunk/src/java/phenote/util/FileUtil.java 2006-12-20 17:31:17 UTC (rev 263) +++ phenote/trunk/src/java/phenote/util/FileUtil.java 2006-12-21 00:27:27 UTC (rev 264) @@ -1,6 +1,7 @@ package phenote.util; import org.apache.log4j.Logger; +import org.apache.commons.lang.StringUtils; import java.io.*; import java.net.MalformedURLException; @@ -188,4 +189,16 @@ } } + /** + * Strip off all the path information from a file name. + * @param filename + */ + public static String getPureFileName(String filename){ + if(StringUtils.isEmpty(filename) ) + return filename; + + File file = new File(filename); + return file.getName(); + } + } Modified: phenote/trunk/src/java/test/phenote/util/FileUtilTest.java =================================================================== --- phenote/trunk/src/java/test/phenote/util/FileUtilTest.java 2006-12-20 17:31:17 UTC (rev 263) +++ phenote/trunk/src/java/test/phenote/util/FileUtilTest.java 2006-12-21 00:27:27 UTC (rev 264) @@ -83,6 +83,18 @@ } + public void testPureFilename(){ + String fileNameOnly = "filenameAlpha.txt"; + String filename = FileUtil.FILE_SEPARATOR + "dire" + FileUtil.FILE_SEPARATOR + fileNameOnly; + String pureFilename = FileUtil.getPureFileName(filename); + assertEquals("Pure File Name", fileNameOnly, pureFilename); + + fileNameOnly = ""; + pureFilename = FileUtil.getPureFileName(fileNameOnly); + assertEquals("Pure File Name", fileNameOnly, pureFilename); + } + + /** * Create the test directories before the tests are run. */ Modified: phenote/trunk/src/web/WEB-INF/jsp/admin.jsp =================================================================== --- phenote/trunk/src/web/WEB-INF/jsp/admin.jsp 2006-12-20 17:31:17 UTC (rev 263) +++ phenote/trunk/src/web/WEB-INF/jsp/admin.jsp 2006-12-21 00:27:27 UTC (rev 264) @@ -1,5 +1,6 @@ <%@ page import="phenote.main.PhenoteVersion"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> +<%@ taglib prefix="phenote" uri="/WEB-INF/tld/phenote-tags.tld" %> <html> <head> @@ -42,9 +43,10 @@ <c:out value='${item.name}'/> </td> <td class="listContent"> + <c:out value='${item.version}'/> </td> <td class="listContent"> - <c:out value='${item.source}'/> + <phenote:pureFileName beanName="item" property="source" /> </td> <td class="listContent"> </td> Modified: phenote/trunk/src/web/WEB-INF/tld/phenote-tags.tld =================================================================== --- phenote/trunk/src/web/WEB-INF/tld/phenote-tags.tld 2006-12-20 17:31:17 UTC (rev 263) +++ phenote/trunk/src/web/WEB-INF/tld/phenote-tags.tld 2006-12-21 00:27:27 UTC (rev 264) @@ -38,4 +38,20 @@ </attribute> </tag> + <tag> + <name>pureFileName</name> + <tagclass>phenote.presentation.tags.FileUtilTag</tagclass> + <info>Remove any directory info on a file name </info> + <attribute> + <name>beanName</name> + <required>true</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <name>property</name> + <required>true</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + </taglib> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2006-12-20 17:32:56
|
Revision: 263 http://svn.sourceforge.net/obo/?rev=263&view=rev Author: mgibson Date: 2006-12-20 09:31:17 -0800 (Wed, 20 Dec 2006) Log Message: ----------- syn abbrev for human Modified Paths: -------------- phenote/trunk/conf/human.cfg Modified: phenote/trunk/conf/human.cfg =================================================================== --- phenote/trunk/conf/human.cfg 2006-12-20 17:29:53 UTC (rev 262) +++ phenote/trunk/conf/human.cfg 2006-12-20 17:31:17 UTC (rev 263) @@ -6,13 +6,13 @@ <log config-file="conf/log4j-standalone.xml" /> - <field name="Pub" /> + <field name="Pub" syntax-abbrev="PUB"/> - <field name="Genotype" type="free_text"/> + <field name="Genotype" syntax-abbrev="GT" type="free_text"/> - <field name="Genetic Context" file="context.obo"/> + <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> - <field name="Entity"> + <field name="Entity" syntax-abbrev="E"> <postcomp relationship-ontology="relationship.obo"/> <ontology name="Human Anatomy" file="fma_obo.obo"/> <ontology name="Gene Ontology" file="gene_ontology.obo"/> @@ -21,7 +21,7 @@ <ontology name="Spatial" file="spatial.obo"/> </field> - <field name="Quality"> + <field name="Quality" syntax-abbrev="Q"> <ontology name="Quality" file="quality.obo"/> <ontology name="MamPheno" file="mammalian_phenotype.obo"/> </field> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2006-12-20 17:32:33
|
Revision: 262 http://svn.sourceforge.net/obo/?rev=262&view=rev Author: mgibson Date: 2006-12-20 09:29:53 -0800 (Wed, 20 Dec 2006) Log Message: ----------- put in pheno syntax config for fly Modified Paths: -------------- phenote/trunk/conf/flybase.cfg Modified: phenote/trunk/conf/flybase.cfg =================================================================== --- phenote/trunk/conf/flybase.cfg 2006-12-20 00:31:10 UTC (rev 261) +++ phenote/trunk/conf/flybase.cfg 2006-12-20 17:29:53 UTC (rev 262) @@ -6,26 +6,24 @@ <log config-file="conf/log4j-standalone.xml" /> - <field name="Pub" /> + <field name="Pub" syntax-abbrev="PUB"/> - <field name="Genotype" type="free_text"/> + <field name="Genotype" syntax-abbrev="GT" type="free_text"/> - <field name="Genetic Context" file="context.obo"/> + <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> - <field name="Entity"> + <field name="Entity" syntax-abbrev="E"> <postcomp relationship-ontology="relationship.obo"/> <ontology name="Fly" file="fly_anatomy.obo" /> <ontology name="GO" file="gene_ontology.obo"/> <ontology name="SP" file="spatial.obo"/> </field> - <field name="Quality" file="quality.obo"/> + <field name="Quality" file="quality.obo" syntax-abbrev="Q"/> - <field name="Absent" file="quality.obo" slim="absent_slim" /> - <field name="Abnormal" file="quality.obo" slim="abnormal_slim" /> + <field name="Absent" file="quality.obo" slim="absent_slim" syntax-abbrev="Tag"/> + <field name="Abnormal" file="quality.obo" slim="abnormal_slim" syntax-abbrev="Tag"/> - <field name="Evidence" file="evidence_code.obo"/> + <field name="Description" syntax-abbrev="Desc"/> - <field name="Description" /> - </phenote-configuration> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2006-12-20 00:29:22
|
Revision: 260 http://svn.sourceforge.net/obo/?rev=260&view=rev Author: mgibson Date: 2006-12-19 16:29:21 -0800 (Tue, 19 Dec 2006) Log Message: ----------- obo file version is now retrieved from obo session - obo sessions meta data is downcast to obo meta data - which contain a collection of objects that are downcast to FileMetaData - downcast downcast course as it turns out most obo files save go dont yet record their version Modified Paths: -------------- phenote/trunk/src/java/phenote/datamodel/Ontology.java Modified: phenote/trunk/src/java/phenote/datamodel/Ontology.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/Ontology.java 2006-12-19 19:43:13 UTC (rev 259) +++ phenote/trunk/src/java/phenote/datamodel/Ontology.java 2006-12-20 00:29:21 UTC (rev 260) @@ -1,7 +1,7 @@ package phenote.datamodel; import java.util.ArrayList; -//import java.util.Collection; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -18,14 +18,17 @@ import org.geneontology.oboedit.datamodel.OBOProperty; import org.geneontology.oboedit.datamodel.OBOSession; import org.geneontology.oboedit.datamodel.TermCategory; +import org.geneontology.oboedit.dataadapter.OBOMetaData; +import org.geneontology.oboedit.dataadapter.OBOMetaData.FileMetaData; -/** rename Ontology? - yes - this isnt a completion list - a completion list is a - subset of ontology terms that matches user input. This is a listing of terms of - the whole ontology */ +/** Ontology represents at this point the contents of a single obo file (which can + be more than one ontology) an ontology wraps an obo edit OBOSession - at this point + there is one OBOSession per obo file - that may change in the future */ public class Ontology { private String name; - //private String filename; + //private String filename; // may neec to revive for version/metadata? + private String version; private OBOSession oboSession; private List<OBOClass> sortedTerms; private List<OBOClass> sortedObsoleteTerms; @@ -56,9 +59,23 @@ public Date getOntologyDate() { return new Date(ontologyTimestamp); } public String getVersion() { + if (version != null) return version; // this is wrong - this just says file name loaded from. obo file puts version in // remark field but doesnt seem to be way to get that from obo session?? - return oboSession.getCurrentHistory().getVersion(); + //return oboSession.getCurrentHistory().getVersion(); + Object o = oboSession.getAdapterMetaData(); + if (!(o instanceof OBOMetaData)) return "unknown"; // exception? + Collection c = ((OBOMetaData)o).getFileMetaData(); + //System.out.println("# of file meta datas "+c.size()+c); + for (Object obj : c) { + if (!(obj instanceof FileMetaData)) return "unknown"; + // hmmm dont know file name in ontology apparently - need to bring back! + // for now just return last one as there is only 1 + version = ((FileMetaData)obj).getVersion(); + //System.out.println("VERSION "+version); + //return version; ?? + } + return version; } private void makeSortedLists(OBOSession oboSession) { @@ -140,7 +157,7 @@ return sortedTerms; } - /** meght move this elsewhere - subclass? data adap specific wrapper? */ + /** might move this elsewhere - subclass? data adap specific wrapper? */ public void setTimestamp(long t) { ontologyTimestamp = t; log().info("\n"+getName()+" Ontology date: "+getOntologyDate() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |