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: <nl...@us...> - 2007-04-24 18:51:06
|
Revision: 493 http://svn.sourceforge.net/obo/?rev=493&view=rev Author: nlw Date: 2007-04-24 11:51:07 -0700 (Tue, 24 Apr 2007) Log Message: ----------- adding the demo configuration do distribute with phenote Added Paths: ----------- phenote/trunk/conf/demo.cfg Added: phenote/trunk/conf/demo.cfg =================================================================== --- phenote/trunk/conf/demo.cfg (rev 0) +++ phenote/trunk/conf/demo.cfg 2007-04-24 18:51:07 UTC (rev 493) @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> + <ns:log config-file="conf/log4j-standalone.xml"/> + <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> + <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="true"/> + <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> + <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> + <ns:uvic-graph enable="false"/> + <ns:term-history enable="false"/> + <ns:obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> + <ns:field name="Pub" syntax-abbrev="PUB" enable="true"/> + <ns:field name="Genotype" syntax-abbrev="GT" enable="true"/> + <ns:field name="Genetic Context" syntax-abbrev="GC" enable="true"> + <ns:ontology name="Genetic Context" file="context.obo"/> + </ns:field> + <ns:field name="Entity" syntax-abbrev="E" enable="true"> + <ns:ontology name="Relationship" file="relationship.obo" repos-subdir="OBO_REL" is-postcomp-rel="true"/> + <ns:ontology name="FMA" file="fma_obo.obo"/> + <ns:ontology name="GO" file="gene_ontology.obo" repos-subdir="genomic-proteomic"/> + <ns:ontology name="CL" file="cell.obo" repos-subdir="anatomy/cell_type"/> + <ns:ontology name="SO" file="so.obo" repos-subdir="genomic-proteomic"/> + <ns:ontology name="CHEBI" file="chebi.obo" repos-subdir="chemical"/> + </ns:field> + <ns:field name="Quality" syntax-abbrev="Q" enable="true"> + <ns:ontology name="PATO" file="quality.obo" repos-subdir="phenotype"/> + <ns:ontology name="MP" file="mammalian_phenotype.obo" repos-subdir="phenotype"/> + </ns:field> + <ns:field name="Add'l Entity" syntax-abbrev="E2" enable="true"> + <ns:ontology name="Relationship" file="relationship.obo" repos-subdir="OBO_REL" is-postcomp-rel="true"/> + <ns:ontology name="FMA" file="fma_obo.obo"/> + <ns:ontology name="GO" file="gene_ontology.obo" repos-subdir="genomic-proteomic"/> + <ns:ontology name="CL" file="cell.obo" repos-subdir="anatomy/cell_type"/> + <ns:ontology name="SO" file="so.obo" repos-subdir="genomic-proteomic"/> + <ns:ontology name="CHEBI" file="chebi.obo" repos-subdir="chemical"/> + </ns:field> + <ns:field name="Time" syntax-abbrev="T" enable="true"/> + <ns:field name="Count" syntax-abbrev="C" enable="true"/> + <ns:field name="Unit" syntax-abbrev="U" enable="true"> + <ns:ontology name="Unit" file="unit.obo" repos-subdir="phenotype"/> + </ns:field> + <ns:field name="Abnormal" syntax-abbrev="Tag" enable="true"> + <ns:ontology name="Abnormal" file="quality.obo" slim="abnormal_slim"/> + </ns:field> + <ns:field name="Description" syntax-abbrev="Desc" enable="true"/> + <ns:field name="Evidence" syntax-abbrev="EC" enable="false"> + <ns:ontology name="Evidence" file="evidence_code.obo" repos-subdir="."/> + </ns:field> +</ns:phenote-configuration> \ 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: <nl...@us...> - 2007-04-24 18:49:56
|
Revision: 492 http://svn.sourceforge.net/obo/?rev=492&view=rev Author: nlw Date: 2007-04-24 11:49:34 -0700 (Tue, 24 Apr 2007) Log Message: ----------- added sample data file to the website so people can download and play with it also updating the webpage with it Modified Paths: -------------- phenote/trunk/doc/phenote-website/content/howtos/index.shtml phenote/trunk/doc/phenote-website/phenote-release-notes.html Added Paths: ----------- phenote/trunk/doc/phenote-website/sample_data.xls Modified: phenote/trunk/doc/phenote-website/content/howtos/index.shtml =================================================================== --- phenote/trunk/doc/phenote-website/content/howtos/index.shtml 2007-04-23 19:59:06 UTC (rev 491) +++ phenote/trunk/doc/phenote-website/content/howtos/index.shtml 2007-04-24 18:49:34 UTC (rev 492) @@ -54,6 +54,12 @@ </p> <h3><a name="annotation">Making Annotations</a></h3> <p> +You might find it valuable to see sample annotations. Please download this +<a href="~/sample_data.xls"> sample_data.xls </a> file. You will need to set +up your phenote to the "demo" configuration. Then choose "open" under the +"file" menu. Select this file from your download location. The data should +load into the spreadsheet. You can play around and manipulate the annotations. + </p> Modified: phenote/trunk/doc/phenote-website/phenote-release-notes.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote-release-notes.html 2007-04-23 19:59:06 UTC (rev 491) +++ phenote/trunk/doc/phenote-website/phenote-release-notes.html 2007-04-24 18:49:34 UTC (rev 492) @@ -23,6 +23,16 @@ 1.2 will probably come out in May<br> +Features: +Can post-compose with >2 terms <br> +Term history display can be toggled on/off <br> +Synonym types display in term info<br> +Obsolete replacements displayed in term info<br> +Search filters moved into menu <br> +Loading splash screen <br> + +Bug Fixes: + <h2><span style="text-decoration: underline;">1.1</span></h2> <a href="1.1/phenote.jnlp">Phenote 1.1</a><br> <br> Added: phenote/trunk/doc/phenote-website/sample_data.xls =================================================================== --- phenote/trunk/doc/phenote-website/sample_data.xls (rev 0) +++ phenote/trunk/doc/phenote-website/sample_data.xls 2007-04-24 18:49:34 UTC (rev 492) @@ -0,0 +1,85 @@ +Pub Genotype Genetic Context ID Genetic Context Name Entity ID Entity Name Quality ID Quality Name Add'l Entity ID Add'l Entity Name Time Count Unit ID Unit Name Abnormal ID Abnormal Name Description + OMIM602229 - HSCR FMA:7199 Intestine PATO:0000648 obstructed intestinal obstruction in neonates + OMIM602229 - HSCR GO:0007588 excretion PATO:0000911 decreased rate constipation in adults + OMIM602229 - HSCR FMA:14544 Rectum PATO:0001557 lacking physical part FMA:5884 Ganglion short segment HSCR - aganglionic tract in rectum+sigmoid colon + OMIM602229 - HSCR FMA:14548 Sigmoid colon PATO:0001557 lacking physical part FMA:5884 Ganglion short segment HSCR - aganglionic tract in rectum+sigmoid colon + OMIM602229 - WS GO:0007605 sensory perception of sound PATO:0000762 impaired hearng loss (sensorineural deafness) + OMIM602229 - WS FMA:77832 Stria vascularis of cochlear duct PATO:0001557 lacking physical part CL:0000148 melanocyte absence of melanocytes from stria vascularis of the inner ear + OMIM602229 - WS GO:0043473 pigmentation PATO:0000460 abnormal pigmentary abnormalities + OMIM602229 - WS FMA:45618 Hindgut PATO:0001557 lacking physical part FMA:84048 Ganglion cell absence of intrinsic ganglion cells of the terminal hindgut +PMID:10973953 OMIM602229.0001 GO:0016563 transcriptional activator activity PATO:0001624 decreased functionality dominant-negative repression of MITF expression +PMID:10973953 OMIM602229.0001 FMA:67257 Protein PATO:0000468 decreased ***endogenous MITF protein levels reduced +PMID:10973953 OMIM602229.0001 PM:0000003 dominant GO:0016566 specific transcriptional repressor activity PATO:0001559 having extra function acts as a dominant-negative repressor of MITF expression +PMID:9462749 OMIM602229.0001 SO:1000062 nonsense_codon_change_in_transcript PATO:0000467 present E189X stop codon mutation +PMID:9722528 OMIM602229.0001 GO:0065004 protein-DNA complex assembly PATO:0000461 normal ***SOX10mut formed protein-DNA complexes despite mutation +PMID:9722528 OMIM602229.0001 GO:0008104 protein localization PATO:0001032 position GO:0005634 nucleus PATO:0000461 normal protein localization to the nucleus +PMID:12668617 OMIM602229.0001 GO:0016563 transcriptional activator activity PATO:0001508 abolished ***Sox10 ability to activate transcription eliminated +PMID:12668617 OMIM602229.0001 GO:0016563 transcriptional activator activity PATO:0001508 abolished ***Pax3 ability to enhance transcription activity eliminated +PMID:9462749 OMIM602229.0002 SO:1000062 nonsense_codon_change_in_transcript PATO:0001632 anterior to SO:0000330 conserved_region Y83X stop codon mutation before HMG domain +PMID:9722528 OMIM602229.0002 GO:0065004 protein-DNA complex assembly PATO:0001511 non-functional ***SOX10mut failed to form protein-DNA complexes +PMID:9722528 OMIM602229.0002 GO:0008104 protein localization PATO:0000628 mislocalised GO:0005829 cytosol PATO:0000460 abnormal protein mislocalization to the cytosol +PMID:9462749 OMIM602229.0003 SO:1000034^located_in(SO:0000330) nucleotide_insertion^located_in(conserved_region) PATO:0000467 present 6-bp insertion in middle of HMG domain +PMID:9722528 OMIM602229.0003 GO:0065004 protein-DNA complex assembly PATO:0001511 non-functional ***SOX10mut failed to form protein-DNA complexes +PMID:9722528 OMIM602229.0003 GO:0008104 protein localization PATO:0001032 position GO:0005634 nucleus PATO:0000461 normal protein localization to the nucleus +PMID:12668617 OMIM602229.0003 GO:0016563 transcriptional activator activity PATO:0001508 abolished ***Sox10 ability to activate transcription eliminated +PMID:12668617 OMIM602229.0003 GO:0016563 transcriptional activator activity PATO:0001508 abolished ***Pax3 ability to enhance transcription activity eliminated +PMID:9462749 OMIM602229.0004 SO:1000065 frameshift_mutation PATO:0000467 present 2-bp deletion causes frameshift, introduces premature termination codon +PMID:9462749 OMIM602229.0004 SO:1000033 nucleotide_deletion PATO:0000467 present 2-bp deletion causes frameshift, introduces premature termination codon +PMID:9462749 OMIM602229.0004 SO:0000319 stop_codon PATO:0001476 decreased position 2-bp deletion causes frameshift, introduces premature termination codon +PMID:9722528 OMIM602229.0004 GO:0065004 protein-DNA complex assembly PATO:0000461 normal ***SOX10mut formed protein-DNA complexes despite mutation +PMID:9722528 OMIM602229.0004 GO:0008104 protein localization PATO:0001032 position GO:0005634 nucleus PATO:0000461 normal protein localization to the nucleus +PMID:12668617 OMIM602229.0005 GO:0016563 transcriptional activator activity PATO:0001508 abolished ***Sox10 ability to activate transcription eliminated +PMID:12668617 OMIM602229.0005 GO:0003713 transcription coactivator activity PATO:0000467 present ***Sox10 ability to coactivate transcription (with Pax3) present +PMID:9722528 OMIM602229.? GO:0016563 transcriptional activator activity PATO:0001511 non-functional deficient in activity as a transcriptional activator +PMID:11734543 OMIM602229.? FMA:62983 Myelin sheath PATO:0001617 deformed myelin defects +PMID:11734543 OMIM602229.? GO:0016563 transcriptional activator activity PATO:0000462 absent ***SOX10 failed to transactivate the CX32 promoter +PMID:11734543 OMIM602229.? GO:0008134^located_in(SO:0000167) transcription factor binding^located_in(promoter) PATO:0000462 absent ***SOX10 failed to transactivate the CX32 promoter +PMID:9462749 [OMIM602229.0001/+] GO:0007605 sensory perception of sound PATO:0000468 decreased bilateral profound hearing loss +PMID:9462749 [OMIM602229.0001/+] FMA:53667 Hair PATO:0000323 white white hair color +PMID:9462749 [OMIM602229.0001/+] FMA:58611 Iridial part of retina PATO:0000318 blue blue irides with grey speckles +PMID:9462749 [OMIM602229.0001/+] FMA:63846^located_in(FMA:7163) Cell pigment^located_in(Skin) PATO:0001608 patchy depigmented skin patches +PMID:9462749 [OMIM602229.0001/+] FMA:63846 Cell pigment PATO:0000460 abnormal pigmentary abnormalities (detailed with other entries) +PMID:9462749 [OMIM602229.0001/+] FMA:7199 Intestine PATO:0000648 obstructed intestinal obstruction in neonates +PMID:9462749 [OMIM602229.0001/+] GO:0007588 excretion PATO:0000911 decreased rate constipation in adults +PMID:9462749 [OMIM602229.0001/+] FMA:14544 Rectum PATO:0001557 lacking physical part FMA:5884 Ganglion short segment HSCR - aganglionic tract in rectum+sigmoid colon +PMID:9462749 [OMIM602229.0001/+] FMA:14548 Sigmoid colon PATO:0001557 lacking physical part FMA:5884 Ganglion short segment HSCR - aganglionic tract in rectum+sigmoid colon +PMID:9462749 [OMIM602229.0001/+] FMA:58611 Iridial part of retina PATO:0001533 multi-colored blue irides with grey speckles +PMID:9462749 [OMIM602229.0001/+] FMA:58611 Iridial part of retina PATO:0000950 grey blue irides with grey speckles +PMID:9462749 [OMIM602229.0002/+] GO:0007605 sensory perception of sound PATO:0000468 decreased bilateral profound hearing loss +PMID:9462749 [OMIM602229.0002/+] FMA:53667 Hair PATO:0000665 light fair hair color +PMID:9462749 [OMIM602229.0002/+] FMA:58611 Iridial part of retina PATO:0001265 bright blue vivid blue eyes +PMID:9462749 [OMIM602229.0002/+] FMA:7199 Intestine PATO:0001624 decreased functionality bowel problems +PMID:9462749 [OMIM602229.0002/+] FMA:5884^located_in(FMA:14544) Ganglion^located_in(Rectum) PATO:0000419 decreased number number of ganglia was dramatically reduced +PMID:9462749 [OMIM602229.0003/+] GO:0007605 sensory perception of sound PATO:0000468 decreased deafness +PMID:9462749 [OMIM602229.0003/+] FMA:14544 Rectum PATO:0001557 lacking physical part FMA:5884 Ganglion short segment HSCR - aganglionic tract in rectum+sigmoid colon +PMID:9462749 [OMIM602229.0003/+] FMA:14548 Sigmoid colon PATO:0001557 lacking physical part FMA:5884 Ganglion short segment HSCR - aganglionic tract in rectum+sigmoid colon +PMID:9462749 [OMIM602229.0004/+] PM:0000019 penetrance_incomplete GO:0007605 sensory perception of sound PATO:0000468 decreased deafness +PMID:9462749 [OMIM602229.0004/+] PM:0000023 expressivity_incomplete FMA:63846^contained_in(FMA:61695) Cell pigment^contained_in(Body surface) PATO:0000468 decreased hypopigmentation +PMID:9462749 [OMIM602229.0004/+] FMA:7199 Intestine PATO:0001557 lacking physical part FMA:84048 Ganglion cell HSCR +PMID:9462749 [OMIM602229.0004/+] PM:0000023 expressivity_incomplete FMA:53667 Hair PATO:0000323 white white hair color +PMID:9462749 [OMIM602229.0004/+] PM:0000019 penetrance_incomplete FMA:7199 Intestine PATO:0001571 dilated megacolon +PMID:10441344 OMIM602229.0005 SO:1000061 nonconservative_missense_codon_change_in_transcript PATO:0000467 present SER135THR mutation +PMID:10441344 OMIM602229.0005 SO:1000061 nonconservative_missense_codon_change_in_transcript PATO:0000467 present SER135THR mutation +PMID:2280978 Yemenite deaf-blind hypopigmentation syndrome FMA:63846^located_in(FMA:7163) Cell pigment^located_in(Skin) PATO:0001608 patchy hypo and hyperpigmented skin +PMID:2280978 Yemenite deaf-blind hypopigmentation syndrome FMA:58238 Cornea PATO:0000587 decreased size microcornea +PMID:2280978 Yemenite deaf-blind hypopigmentation syndrome FMA:54448 Eye MP:0005262 coloboma coloboma +PMID:2280978 Yemenite deaf-blind hypopigmentation syndrome PM:0000019 penetrance_incomplete GO:0007605 sensory perception of sound PATO:0000468 decreased severe hearing loss +PMID:10441344 OMIM602229.0005 FMA:63846^located_in(FMA:7163) Cell pigment^located_in(Skin) PATO:0001608 patchy hypo and hyperpigmented skin +PMID:10441344 OMIM602229.0005 PM:0000019 penetrance_incomplete GO:0007605 sensory perception of sound PATO:0000468 decreased severe hearing loss +PMID:10482261 OMIM602229.0008 FMA:62983 Myelin sheath PATO:0001617 deformed leukodystrophy - progressive degeneration development of the myelin sheath +PMID:10482261 OMIM602229.0008 FMA:7199 Intestine PATO:0000648 obstructed intestinal obstruction in neonates +PMID:10482261 OMIM602229.0008 FMA:7199 Intestine PATO:0001557 lacking physical part FMA:5884 Ganglion long segment HSCR - aganglionic tract in entire colon +PMID:10482261 OMIM602229.0008 FMA:63846^located_in(FMA:58237) Cell pigment^located_in(Left iris) PATO:0000616 asymmetrical FMA:63846^located_in(FMA:58236) Cell pigment^located_in(Right iris) heterochromia iridis - one eye is different color (intensity) than the other +PMID:10482261 OMIM602229.0008 PM:0000022 expressivity_complete GO:0007605 sensory perception of sound PATO:0000468 decreased profound hearing loss +PMID:10482261 OMIM602229.0008 FMA:59516 Root of nose PATO:0000600 increased width broad nasal root +PMID:10482261 OMIM602229.0008 FMA:59324 Medial angle of left eye PATO:0000374 increased distance FMA:59323 Medial angle of right eye dystopia canthorum - inner corners of the eyes (canthi) are spaced farther apart than normal +PMID:10482261 OMIM602229.0008 GO:0048589^has_participant(FMA:20394) developmental growth^has_participant(Body) PATO:0000911 decreased rate developmental delay +PMID:10482261 OMIM602229.0008 FMA:20394 Body MP:0000754 partial paralysis spastic quadraplegia +PMID:10482261 OMIM602229.0008 FMA:9721 Tendon PATO:0001568 having decreased function GO:0060004 reflex loss of deep tendon reflexes +PMID:10482261 OMIM602229.0008 PM:0000022 expressivity_complete GO:0007600 sensory perception PATO:0000468 decreased sensory dullness +PMID:10482261 OMIM602229.0008 FMA:9903 Peripheral nervous system PATO:0001624 decreased functionality peripheral neuropathy +PMID:10482261 OMIM602229.0008 FMA:5867 Motor nerve PATO:0001585 conduction ***decreased conductive velocity +PMID:10482261 OMIM602229.0008 FMA:30316^contained_in(FMA:7182) Muscle^contained_in(Limb) PATO:0001623 atrophied muscles in all limbs were severely atrophic +PMID:10482261 OMIM602229.0008 FMA:67257^contained_in(FMA:20935) Protein^contained_in(Cerebrospinal fluid) PATO:0001162 increased concentration Protein in the cerebrospinal fluid was elevated +PMID:10482261 OMIM602229.0008 GO:0008038^contained_in(FMA:79876) neuron recognition^contained_in(Brainstem) PATO:0000468 decreased GO:0007605 sensory perception of sound no auditory brainstem response bilaterally +PMID:10482261 OMIM602229.0008 FMA:62983^located_in(FMA:50801) Myelin sheath^located_in(Brain) PATO:0000468 decreased prominent deficiency of myelination in the entire brain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-04-23 19:59:05
|
Revision: 491 http://svn.sourceforge.net/obo/?rev=491&view=rev Author: cmungall Date: 2007-04-23 12:59:06 -0700 (Mon, 23 Apr 2007) Log Message: ----------- Modified Paths: -------------- obo-database/trunk/bin/obd-create-db.pl obo-database/trunk/bin/obd-load-db-from-obo.pl Added Paths: ----------- obo-database/trunk/sql/users.sql Modified: obo-database/trunk/bin/obd-create-db.pl =================================================================== --- obo-database/trunk/bin/obd-create-db.pl 2007-04-19 23:32:24 UTC (rev 490) +++ obo-database/trunk/bin/obd-create-db.pl 2007-04-23 19:59:06 UTC (rev 491) @@ -1,21 +1,59 @@ #!/usr/bin/perl -w -my $args = "@ARGV"; +use strict; +my $db = ''; +my $dbhost = ''; +my @files = (); +my $dump_as; +while (my $opt = shift @ARGV) { + if ($opt =~ /^\-/) { + if ($opt eq '-d' || $opt eq '--database') { + $db = shift @ARGV; + } + elsif ($opt eq '-h' || $opt eq '--host') { + $dbhost = shift @ARGV; + } + elsif ($opt eq '--dump') { + $dump_as = shift @ARGV; + } + else { + die "unknown option: $opt"; + } + } + else { + if (!$db) { + $db = $opt; + } + else { + push(@files, $opt); + } + } + +} +my $args = $dbhost ? "-h $dbhost $db" : $db; my $dir = `dirname $0`; chomp $dir; my $sqldir = "$dir/../sql"; - +printf STDERR "psql args: $args\n"; run("dropdb $args"); run("createdb $args"); run("psql $args < $sqldir/obd-core-schema.sql "); run("psql $args < $sqldir/obd-core-views.sql "); run("psql $args < $sqldir/obd-core-functions.plpgsql "); + +foreach my $file (@files) { + my $dbiargs = $dbhost ? "-h $dbhost -d $db" : "-d $db"; + run("obd-load-db-from-obo.pl $dbiargs $file"); +} +if ($dump_as) { + run("pg_dump $args > $dump_as && gzip --force $dump_as"); +} print STDERR "Done!\n"; exit 0; sub run { my $cmd = shift; - + print STDERR "CMD: $cmd\n"; if (system($cmd)) { print STDERR "Error in: $cmd\n"; } Modified: obo-database/trunk/bin/obd-load-db-from-obo.pl =================================================================== --- obo-database/trunk/bin/obd-load-db-from-obo.pl 2007-04-19 23:32:24 UTC (rev 490) +++ obo-database/trunk/bin/obd-load-db-from-obo.pl 2007-04-23 19:59:06 UTC (rev 491) @@ -4,7 +4,7 @@ use strict; my $d; -my $use_reasoner = 1; +my $use_reasoner = $ENV{OBD_USE_OBOEDIT_REASONER} || 0; my $dump; my $split; my $nodelete; @@ -17,6 +17,9 @@ elsif ($opt eq '--noreasoner') { $use_reasoner = 0; } + elsif ($opt eq '--reasoner') { + $use_reasoner = 1; + } elsif ($opt eq '--dump') { $dump = 1; } Added: obo-database/trunk/sql/users.sql =================================================================== --- obo-database/trunk/sql/users.sql (rev 0) +++ obo-database/trunk/sql/users.sql 2007-04-23 19:59:06 UTC (rev 491) @@ -0,0 +1 @@ +ALTER USER cjm SET search_path TO obd_statistical_view,obd_aggregate_view,obd_annotation_view,obd_prejoins_view, obd_obo_metamodel_view,obd_core_view,public; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cm...@us...> - 2007-04-19 23:32:28
|
Revision: 490 http://svn.sourceforge.net/obo/?rev=490&view=rev Author: cmpich Date: 2007-04-19 16:32:24 -0700 (Thu, 19 Apr 2007) Log Message: ----------- Refactored SearchParams so it uses the Enumeration SearchFilterType. Eliminates to use strings. Added Term and Synonyms to PhenoteController as no search filters were enabled. The Interface SearchParamsI probably should be removed... Modified Paths: -------------- phenote/trunk/src/java/phenote/datamodel/CharField.java phenote/trunk/src/java/phenote/datamodel/OntologyManager.java phenote/trunk/src/java/phenote/gui/SearchParams.java phenote/trunk/src/java/phenote/gui/SearchParamsI.java phenote/trunk/src/java/phenote/gui/SettingsMenu.java phenote/trunk/src/java/phenote/gui/ShrimpDag.java phenote/trunk/src/java/phenote/gui/field/TermCompList.java phenote/trunk/src/java/phenote/jobs/OntologyUpdateJob.java phenote/trunk/src/java/phenote/servlet/PhenoteController.java Added Paths: ----------- phenote/trunk/src/java/phenote/gui/SearchFilterType.java Modified: phenote/trunk/src/java/phenote/datamodel/CharField.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-04-19 23:32:24 UTC (rev 490) @@ -89,18 +89,16 @@ } public boolean hasOntology(String ontologyName) { - try { getOntologyForName(ontologyName); } - catch (OntologyException e) { return false; } - return true; // ? + return getOntologyForName(ontologyName) != null; } /** Returns Ontology with name ontologyName (ignores case), ont ex if dont have it */ - public Ontology getOntologyForName(String ontologyName) throws OntologyException { + public Ontology getOntologyForName(String ontologyName){ for (Ontology o : getOntologyList()) { if (o.getName().equalsIgnoreCase(ontologyName)) return o; } - throw new OntologyException(ontologyName+" not found for field "+getName()); + return null; } // set whether post composition allowed (from config) */ Modified: phenote/trunk/src/java/phenote/datamodel/OntologyManager.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-04-19 23:32:24 UTC (rev 490) @@ -1,17 +1,15 @@ package phenote.datamodel; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import org.apache.log4j.Logger; - import org.geneontology.oboedit.datamodel.OBOClass; import org.geneontology.oboedit.datamodel.OBOProperty; import org.geneontology.oboedit.datamodel.impl.OBOPropertyImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + //import phenote.datamodel.CharFieldEnum; //import phenote.datamodel.OboUtil; @@ -66,16 +64,12 @@ } /** Returns ontology with name, null if not found */ - public Ontology getOntologyForName(String ontologyName) - throws OntologyException { // static? + public Ontology getOntologyForName(String ontologyName) { // static? for (CharField cf : inst().getCharFieldList()) { if (cf.hasOntology(ontologyName)) return cf.getOntologyForName(ontologyName); } - String m = "no ontology found for name "+ontologyName; - log().error(m); - throw new OntologyException(m); - //return null; + return null; } /** Searches all ontologies for id - this could be even more savvy and utilize Added: phenote/trunk/src/java/phenote/gui/SearchFilterType.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SearchFilterType.java (rev 0) +++ phenote/trunk/src/java/phenote/gui/SearchFilterType.java 2007-04-19 23:32:24 UTC (rev 490) @@ -0,0 +1,21 @@ +package phenote.gui; + +/** + * This enumerates all search filter types. + */ +public enum SearchFilterType { + + TERM("Term Name"), SYN("Synonyms"), DEF("Definitions"), OBS("Obsoletes"); + + private String name; + + SearchFilterType(String s) { + name = s; + } + + public String getName() { + return name; + } + + +} Modified: phenote/trunk/src/java/phenote/gui/SearchParams.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SearchParams.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/gui/SearchParams.java 2007-04-19 23:32:24 UTC (rev 490) @@ -3,70 +3,86 @@ // package phenote.ontology?? dataadapter? public class SearchParams implements SearchParamsI { - + private static SearchParams singleton; private boolean searchTerm = false; private boolean searchSyn = false; private boolean searchDef = false; private boolean searchObs = false; - private final String TERM = "Term Name"; //SearchFilterTypes - private final String SYN = "Synonyms"; - private final String DEF = "Definitions"; - private final String OBS = "Obsoletes"; - /** Singleton */ + /** + * Singleton + */ private SearchParams() { //initialize Terms/Syns to true - return; } - + public static SearchParams inst() { if (singleton == null) singleton = new SearchParams(); return singleton; } - public void setParam(String filter, boolean setting) { - if (filter==TERM) { searchTerm = setting;} - else if (filter==SYN) { searchSyn = setting; } - else if (filter==DEF) { searchDef = setting; } - else if (filter==OBS) { searchObs = setting; } + /** + * Set a search filter type. + * @param filter SearchFilterType + * @param setting boolean + */ + public void setParam(SearchFilterType filter, boolean setting) { + if (SearchFilterType.TERM == filter) { + searchTerm = setting; + } else if (SearchFilterType.SYN == filter) { + searchSyn = setting; + } else if (SearchFilterType.DEF == filter) { + searchDef = setting; + } else if (SearchFilterType.OBS == filter) { + searchObs = setting; + } } - + //this will takeover the single boolean fxns - public boolean getParam(String filter) - { //need to add a catch or something - if (filter==TERM) { return searchTerm;} - else if (filter==SYN) { return searchSyn; } - else if (filter==DEF) { return searchDef; } - else if (filter==OBS) { return searchObs; } - return true; + public boolean getParam(SearchFilterType filter) { //need to add a catch or something + if (SearchFilterType.TERM == filter) { + return searchTerm; + } else if (SearchFilterType.SYN == filter) { + return searchSyn; + } else if (SearchFilterType.DEF == filter) { + return searchDef; + } else if (SearchFilterType.OBS == filter) { + return searchObs; + } + return true; } - + public boolean searchTerms() { - return searchTerm; + return searchTerm; } + public boolean searchSynonyms() { - return searchSyn; + return searchSyn; } + public boolean searchDefinitions() { - return searchDef; + return searchDef; } - /** Whether to include obsoletes in searching terms, syns, & definitions - This should be in conjunction with the other 3 */ + + /** + * Whether to include obsoletes in searching terms, syns, & definitions + * This should be in conjunction with the other 3 + */ public boolean searchObsoletes() { - return searchObs; + return searchObs; } public boolean verifySettings() { - //this function will verify that the user has selected a minimum of - //a single term/syn/def + optional obs - if (!(searchTerm || searchDef || searchSyn)) { - if (searchObs) { - searchTerm = true; //default to select Term if obs is chosen, at minimum for obs - return false; - } - } - return true; + //this function will verify that the user has selected a minimum of + //a single term/syn/def + optional obs + if (!(searchTerm || searchDef || searchSyn)) { + if (searchObs) { + searchTerm = true; //default to select Term if obs is chosen, at minimum for obs + return false; + } + } + return true; } - + } Modified: phenote/trunk/src/java/phenote/gui/SearchParamsI.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SearchParamsI.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/gui/SearchParamsI.java 2007-04-19 23:32:24 UTC (rev 490) @@ -4,7 +4,7 @@ public interface SearchParamsI { - public void setParam(String filter, boolean setting); + public void setParam(SearchFilterType filter, boolean setting); public boolean searchTerms(); public boolean searchSynonyms(); public boolean searchDefinitions(); @@ -12,7 +12,7 @@ This should be in conjunction with the other 3 */ public boolean searchObsoletes(); public boolean verifySettings(); - public boolean getParam(String filter); + public boolean getParam(SearchFilterType filter); Modified: phenote/trunk/src/java/phenote/gui/SettingsMenu.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SettingsMenu.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/gui/SettingsMenu.java 2007-04-19 23:32:24 UTC (rev 490) @@ -1,42 +1,27 @@ - - package phenote.gui; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; - - - -import phenote.dataadapter.CharacterListManager; -import phenote.dataadapter.DataAdapterI; -import phenote.dataadapter.LoadSaveManager; import phenote.config.Config; -import phenote.config.ConfigFileQueryGui; import phenote.config.ConfigException; -//import phenote.gui.prefswindow.PrefsWindowController; ??? -import phenote.gui.SearchParams; -import phenote.gui.SearchParamsI; -import phenote.gui.SelectionHistory; +import phenote.config.ConfigFileQueryGui; +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + class SettingsMenu extends JMenu { - private final int ITEM_PLAIN = 0; // Item types - private final int ITEM_CHECK = 1; - private final int ITEM_RADIO = 2; - private final String TERM = "Term Name"; //SearchFilterTypes - private final String SYN = "Synonyms"; - private final String DEF = "Definitions"; - private final String OBS = "Obsoletes"; - private JMenu menuSearchFilter; - private JMenuItem menuSearchFilterTerm; - private JMenuItem menuSearchFilterSynonym; - private JMenuItem menuSearchFilterDefinition; - private JMenuItem menuSearchFilterObsolete; - private JMenuItem showHistory; - public SearchParams searchParams; - private SelectionHistory selHist = SelectionHistory.inst(); + private final int ITEM_PLAIN = 0; // Item types + private final int ITEM_CHECK = 1; + private final int ITEM_RADIO = 2; + private JMenu menuSearchFilter; + private JMenuItem menuSearchFilterTerm; + private JMenuItem menuSearchFilterSynonym; + private JMenuItem menuSearchFilterDefinition; + private JMenuItem menuSearchFilterObsolete; + private JMenuItem showHistory; + public SearchParams searchParams; + private SelectionHistory selHist = SelectionHistory.inst(); SettingsMenu() { @@ -46,126 +31,125 @@ private void init() { - // Build the search types sub-menu - menuSearchFilter = new JMenu( "Search Filters" ); - menuSearchFilter.setMnemonic( 'F' ); + // Build the search types sub-menu + menuSearchFilter = new JMenu("Search Filters"); + menuSearchFilter.setMnemonic('F'); - //set defaults - getSearchParams().setParam(TERM, true); //default Term = on - getSearchParams().setParam(SYN, true); //default Syn = on + //set defaults + getSearchParams().setParam(SearchFilterType.TERM, true); //default Term = on + getSearchParams().setParam(SearchFilterType.SYN, true); //default Syn = on - // Create property items based on status - menuSearchFilterTerm = CreateMenuItem( menuSearchFilter, ITEM_CHECK, - TERM, null, 'T', "Look for partial matches within Term Names", - getSearchParams().getParam(TERM)); - menuSearchFilterSynonym = CreateMenuItem( menuSearchFilter, ITEM_CHECK, - SYN, null, 'S', "Look for partial matches within Synonyms of Terms", - getSearchParams().getParam(SYN) ); - menuSearchFilterDefinition = CreateMenuItem( menuSearchFilter, ITEM_CHECK, - DEF, null, 'D', "Look for partial matches within the Definition of Terms", - getSearchParams().getParam(DEF) ); + // Create property items based on status + menuSearchFilterTerm = CreateMenuItem(menuSearchFilter, ITEM_CHECK, + SearchFilterType.TERM.getName(), null, 'T', "Look for partial matches within Term Names", + getSearchParams().getParam(SearchFilterType.TERM)); + menuSearchFilterSynonym = CreateMenuItem(menuSearchFilter, ITEM_CHECK, + SearchFilterType.SYN.getName(), null, 'S', "Look for partial matches within Synonyms of Terms", + getSearchParams().getParam(SearchFilterType.SYN)); + menuSearchFilterDefinition = CreateMenuItem(menuSearchFilter, ITEM_CHECK, + SearchFilterType.DEF.getName(), null, 'D', "Look for partial matches within the Definition of Terms", + getSearchParams().getParam(SearchFilterType.DEF)); - addSeparator(); //obs are in a class by themselves. - menuSearchFilterObsolete = CreateMenuItem( menuSearchFilter, ITEM_CHECK, - OBS, null, 'O', "Look for partial matches within Obsolete Term Names", - getSearchParams().getParam(OBS) ); + addSeparator(); //obs are in a class by themselves. + menuSearchFilterObsolete = CreateMenuItem(menuSearchFilter, ITEM_CHECK, + SearchFilterType.OBS.getName(), null, 'O', "Look for partial matches within Obsolete Term Names", + getSearchParams().getParam(SearchFilterType.OBS)); // searchParams = new SearchParams(); - + // JMenuItem searchSettings = new JMenuItem("Search"); //// searchSettings.setEnabled(Config.inst().hasDataAdapters()); // searchSettings.setActionCommand("search"); // searchSettings.addActionListener(actionListener); add(menuSearchFilter); - - addSeparator(); - + + addSeparator(); + JMenuItem loadConfig = new JMenuItem("Configuration..."); loadConfig.addActionListener(new ConfigActionListener()); add(loadConfig); - + //not sure if it should be in this menu - addSeparator(); - showHistory = new JCheckBoxMenuItem("Show History"); - showHistory.setSelected(Config.inst().termHistoryIsEnabled()); - showHistory.addActionListener(new ShowHistoryActionListener()); - add(showHistory); + addSeparator(); + showHistory = new JCheckBoxMenuItem("Show History"); + showHistory.setSelected(Config.inst().termHistoryIsEnabled()); + showHistory.addActionListener(new ShowHistoryActionListener()); + add(showHistory); } -public JMenuItem CreateMenuItem( JMenu menu, int iType, String sText, - ImageIcon image, int acceleratorKey, - String sToolTip, boolean selected) { - // Create the item - JMenuItem menuItem; + public JMenuItem CreateMenuItem(JMenu menu, int iType, String sText, + ImageIcon image, int acceleratorKey, + String sToolTip, boolean selected) { + // Create the item + JMenuItem menuItem; - switch( iType ) - { - case ITEM_RADIO: - menuItem = new JRadioButtonMenuItem(); - break; + switch (iType) { + case ITEM_RADIO: + menuItem = new JRadioButtonMenuItem(); + break; - case ITEM_CHECK: - menuItem = new JCheckBoxMenuItem(); - menuItem.setSelected(selected); - menuItem.setActionCommand(sText); - break; + case ITEM_CHECK: + menuItem = new JCheckBoxMenuItem(); + menuItem.setSelected(selected); + menuItem.setActionCommand(sText); + break; - default: - menuItem = new JMenuItem(); - break; + default: + menuItem = new JMenuItem(); + break; } - // Add the item test - menuItem.setText( sText ); + // Add the item test + menuItem.setText(sText); - // Add the optional icon - if( image != null ) - menuItem.setIcon( image ); + // Add the optional icon + if (image != null) + menuItem.setIcon(image); - // Add the accelerator key - if( acceleratorKey > 0 ) - menuItem.setMnemonic( acceleratorKey ); + // Add the accelerator key + if (acceleratorKey > 0) + menuItem.setMnemonic(acceleratorKey); - // Add the optional tool tip text - if( sToolTip != null ) - menuItem.setToolTipText( sToolTip ); - - // Add an action handler to this menu item - menuItem.addActionListener(new SearchActionListener() ); + // Add the optional tool tip text + if (sToolTip != null) + menuItem.setToolTipText(sToolTip); - menu.add( menuItem ); + // Add an action handler to this menu item + menuItem.addActionListener(new SearchActionListener()); - return menuItem; -} + menu.add(menuItem); -SearchParamsI getSearchParams() { + return menuItem; + } + + SearchParamsI getSearchParams() { return searchParams.inst(); } private class SearchActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { String m = ""; - - if (e.getActionCommand().equals(TERM)) { - getSearchParams().setParam(TERM, menuSearchFilterTerm.isSelected()); + + if (e.getActionCommand().equals(SearchFilterType.TERM.getName())) { + getSearchParams().setParam(SearchFilterType.TERM, menuSearchFilterTerm.isSelected()); // m = "TERM search is now *"+getSearchParams().searchTerms(); - } else if (e.getActionCommand().equals(SYN)) { - getSearchParams().setParam(SYN, menuSearchFilterSynonym.isSelected()); + } else if (e.getActionCommand().equals(SearchFilterType.SYN.getName())) { + getSearchParams().setParam(SearchFilterType.SYN, menuSearchFilterSynonym.isSelected()); // m = "SYN search is now *"+getSearchParams().searchSynonyms(); - } else if (e.getActionCommand().equals(DEF)) { - getSearchParams().setParam(DEF, menuSearchFilterDefinition.isSelected()); + } else if (e.getActionCommand().equals(SearchFilterType.DEF.getName())) { + getSearchParams().setParam(SearchFilterType.DEF, menuSearchFilterDefinition.isSelected()); // m = "DEF search is now *"+getSearchParams().searchDefinitions(); - } else if (e.getActionCommand().equals(OBS)) { - getSearchParams().setParam(OBS, menuSearchFilterObsolete.isSelected()); + } else if (e.getActionCommand().equals(SearchFilterType.OBS.getName())) { + getSearchParams().setParam(SearchFilterType.OBS, menuSearchFilterObsolete.isSelected()); // m = "OBS search is now *"+getSearchParams().searchObsoletes(); } if (!(getSearchParams().verifySettings())) { - m = "You must select at least one of Term/Synonym/Definition.\nFilter is reset to -Term-."; - JOptionPane.showMessageDialog(null,m,"Search Parameter Change", - JOptionPane.ERROR_MESSAGE); + m = "You must select at least one of Term/Synonym/Definition.\nFilter is reset to -Term-."; + JOptionPane.showMessageDialog(null, m, "Search Parameter Change", + JOptionPane.ERROR_MESSAGE); // System.out.println("settings not right. modifying..."); - - menuSearchFilterTerm.setSelected(getSearchParams().getParam(TERM)); + + menuSearchFilterTerm.setSelected(getSearchParams().getParam(SearchFilterType.TERM)); } // JOptionPane.showMessageDialog(null,m,"Search Parameter Change", // JOptionPane.INFORMATION_MESSAGE); @@ -184,28 +168,29 @@ if (cfg != null && !cfg.equals("")) Config.writeMyPhenoteDefaultFile(cfg); String m = "You must restart phenote for new config to take effect"; - JOptionPane.showMessageDialog(null,m,"Please restart", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, m, "Please restart", + JOptionPane.INFORMATION_MESSAGE); } - catch (ConfigFileQueryGui.CancelEx ex) {} // its cancelled do nothing + catch (ConfigFileQueryGui.CancelEx ex) { + } // its cancelled do nothing catch (ConfigException x) { - String m = "Failed to change configuration "+x.getMessage(); - JOptionPane.showMessageDialog(null,m,"Config error", - JOptionPane.ERROR_MESSAGE); + String m = "Failed to change configuration " + x.getMessage(); + JOptionPane.showMessageDialog(null, m, "Config error", + JOptionPane.ERROR_MESSAGE); } } } - + private class ShowHistoryActionListener implements ActionListener { - public void actionPerformed(ActionEvent e) { - // 1st step just set my-phenote.cfg & user restart phenote - // eventually reconfigure phenote in same session, cfg,obo,gui - boolean status = showHistory.isSelected(); + public void actionPerformed(ActionEvent e) { + // 1st step just set my-phenote.cfg & user restart phenote + // eventually reconfigure phenote in same session, cfg,obo,gui + boolean status = showHistory.isSelected(); // System.out.println("showHistory ="+status); - Config.inst().setTermHistory(status); - selHist.showSwitch(); - - } + Config.inst().setTermHistory(status); + selHist.showSwitch(); + + } } // for testing Modified: phenote/trunk/src/java/phenote/gui/ShrimpDag.java =================================================================== --- phenote/trunk/src/java/phenote/gui/ShrimpDag.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/gui/ShrimpDag.java 2007-04-19 23:32:24 UTC (rev 490) @@ -1,33 +1,28 @@ package phenote.gui; -import java.awt.Component; -import javax.swing.JFrame; - -import org.geneontology.oboedit.datamodel.OBOSession; - -//import ca.uvic.csr.shrimp.gui.QueryView.QueryView; import ca.uvic.csr.shrimp.gui.QueryView.OBOViewer; import ca.uvic.csr.shrimp.gui.QueryView.QueryView; - +import org.geneontology.oboedit.datamodel.OBOSession; +import phenote.datamodel.Ontology; +import phenote.datamodel.OntologyManager; import phenote.gui.selection.SelectionManager; import phenote.gui.selection.TermSelectionEvent; import phenote.gui.selection.TermSelectionListener; -import phenote.datamodel.Ontology; -import phenote.datamodel.OntologyManager; +import javax.swing.*; class ShrimpDag { //private JFrame window; private OBOViewer oboViewer; private static ShrimpDag singleton; - + public static ShrimpDag inst() { if (singleton == null) singleton = new ShrimpDag(); return singleton; } - + private ShrimpDag() { //window = new JFrame("Shrimp ontology viewer"); //window.pack(); @@ -36,22 +31,25 @@ } //public void display() {} - - /** send obo sessions to shrimp so it can set them up in its datamodel*/ + + /** + * send obo sessions to shrimp so it can set them up in its datamodel + */ public void initOntologies() { // do this in a separate thread! no need to hold up phenote with this for (Ontology o : OntologyManager.inst().getAllOntologies()) { // oboViewer.loadOboSession(o.getOboSession()); } } - + 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(showQueryPanel); @@ -65,28 +63,26 @@ frame.setSize(600, 600); frame.setLocation(400, 200); frame.setVisible(true); - + } - - private OBOSession getOboSession() { - // just hard wire to go for now - try { - //Ontology o = OntologyManager.inst().getOntologyForName("ZF"); - // fly causes an endless loop - oh my - Ontology o = OntologyManager.inst().getOntologyForName("Fly"); - //Ontology o = OntologyManager.inst().getOntologyForName("Human Anatomy"); - return o.getOboSession(); - } catch (phenote.datamodel.OntologyException e) { + private OBOSession getOboSession() { + // just hard wire to go for now + //Ontology o = OntologyManager.inst().getOntologyForName("ZF"); + // fly causes an endless loop - oh my + Ontology o = OntologyManager.inst().getOntologyForName("Fly"); + //Ontology o = OntologyManager.inst().getOntologyForName("Human Anatomy"); + if (o == null) { System.out.println("no ontol for dag"); return null; } + return o.getOboSession(); } - + private QueryView getQueryView() { return oboViewer.getQueryView(); } - + private class ShrimpSelectionListener implements TermSelectionListener { public boolean termSelected(TermSelectionEvent e) { @@ -94,10 +90,10 @@ String term = e.getOboClass().getName(); boolean animate = true; //getQueryView().query(term, animate); - oboViewer.query(getOboSession(),e.getOboClass(),animate); + oboViewer.query(getOboSession(), e.getOboClass(), animate); return true; } - + } } Modified: phenote/trunk/src/java/phenote/gui/field/TermCompList.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/TermCompList.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/gui/field/TermCompList.java 2007-04-19 23:32:24 UTC (rev 490) @@ -1,37 +1,25 @@ package phenote.gui.field; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.List; -import java.util.Vector; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JList; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - import org.apache.log4j.Logger; - import org.geneontology.oboedit.datamodel.OBOClass; - -import phenote.datamodel.CharacterI; -import phenote.datamodel.CharField; -//import phenote.datamodel.CharFieldEnum; -import phenote.datamodel.Ontology; -import phenote.datamodel.OntologyException; -import phenote.datamodel.OntologyManager; +import phenote.datamodel.*; +import phenote.edit.CompoundTransaction; import phenote.edit.EditManager; -import phenote.edit.CompoundTransaction; -//import phenote.edit.UpdateTransaction; +import phenote.gui.SearchParams; import phenote.gui.selection.SelectionManager; import phenote.gui.selection.UseTermEvent; import phenote.gui.selection.UseTermListener; -import phenote.gui.SearchParams; -import phenote.gui.SearchParamsI; +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; + class TermCompList extends AbstractAutoCompList { - private OBOClass currentOboClass=null; + private OBOClass currentOboClass = null; // only term comp lists need ontology choosers - if that changes move to AACL private JComboBox ontologyChooserCombo; private CharFieldGui charFieldGui; @@ -72,7 +60,7 @@ // super(sp,editModel,cf,label); // init(); // } - + private void init() { enableTermInfoListening(); if (hasMoreThanOneOntology()) // super AACL @@ -84,7 +72,6 @@ // } } - // pase i think // TermCompList(CompListSearcher s,boolean editModel,CharFieldGui cfg) { // super(s,editModel,cfg.getCharField()); @@ -94,24 +81,35 @@ // initOntologyChooser(getCharField()); // } - protected boolean isTermCompList() { return true; } - protected TermCompList getTermComp() { return this; } // need this? + protected boolean isTermCompList() { + return true; + } + protected TermCompList getTermComp() { + return this; + } // need this? - protected boolean hasCompButton() { return postCompButton != null; } - protected JButton getCompButton() { return postCompButton; } + protected boolean hasCompButton() { + return postCompButton != null; + } + protected JButton getCompButton() { + return postCompButton; + } + protected void allowPostCompButton(boolean allow) { if (!allow) return; if (getCharField().postCompAllowed()) { postCompButton = new JButton("Comp"); // ??? postCompButton.addActionListener(new PostCompListener()); //fieldPanel.addPostCompButton(postCompButton); - } + } } - /** char in table changed - setCurrentOboClass & text */ + /** + * char in table changed - setCurrentOboClass & text + */ protected void setValueFromChar(CharacterI chr) { if (chr == null) { log().error("ERROR: attempt to set fields from null character"); // ex? @@ -123,9 +121,9 @@ setText(""); // actually calls getCurTermRelNm which is "" return; } - + OBOClass selCharTerm = chr.getValue(getCharField()).getOboClass(); - //getCharField().getCharFieldEnum().getValue(chr).getOboClass(); + //getCharField().getCharFieldEnum().getValue(chr).getOboClass(); // if null then user has made a new char or selected a char with no term //if (selCharTerm == null) { } else { ??? covered above?? setOboClass(selCharTerm); // doesnt allow null @@ -134,8 +132,8 @@ } void setOntologyChooserFromTerm(OBOClass term) { - if (term==null) return; - if (ontologyChooserCombo==null) return; + if (term == null) return; + if (ontologyChooserCombo == null) return; try { Ontology o = OntologyManager.inst().getOntologyForTerm(term); ontologyChooserCombo.setSelectedItem(o.getName()); @@ -151,8 +149,10 @@ return getCompListSearcher().getStringMatchTermList(input); } - /** The user has selected a term from the list, validate and set current obo class - if doesnt validate throw ex */ + /** + * The user has selected a term from the list, validate and set current obo class + * if doesnt validate throw ex + */ protected void setCurrentValidItem() throws OboException { setOboClass(getSelectedOboClass()); //this will set text to oboclass // send out selection event that is NOT a mouse over event (for DAG view) @@ -160,13 +160,15 @@ } protected String getCurrentTermRelName() { - if (currentOboClass!= null) + if (currentOboClass != null) return currentOboClass.getName(); else return ""; } - /** rename setTerm? */ + /** + * rename setTerm? + */ protected void setOboClass(OBOClass term) { // actually i think null is valid for non-required fields - undo & blanking field // right even if required field should still be able to undo back to init/null @@ -176,24 +178,28 @@ // } currentOboClass = term; String val = term == null ? "" : term.getName(); - setText(val,false); // no completion + setText(val, false); // no completion } - /** Throws exception if there isnt a current obo class, if the user - has typed something that isnt yet a term - hasnt selected a term */ + /** + * Throws exception if there isnt a current obo class, if the user + * has typed something that isnt yet a term - hasnt selected a term + */ OBOClass getCurrentOboClass() throws CharFieldGuiEx { if (currentOboClass == null) throw new CharFieldGuiEx("term is null"); if (!currentOboClass.getName().equals(getText())) - throw new CharFieldGuiEx("(obo class "+currentOboClass+" and input "+getText()+ - " dont match)"); + throw new CharFieldGuiEx("(obo class " + currentOboClass + " and input " + getText() + + " dont match)"); return currentOboClass; } - - /** This gets obo class selected in completion list - not from text box - Returns null if nothing selected - can happen amidst changing selection - also used by PostCompGui - this doesnt necasarily stay current with user input hmmm.... - throws OboException if dont have valid term */ + + /** + * This gets obo class selected in completion list - not from text box + * Returns null if nothing selected - can happen amidst changing selection + * also used by PostCompGui + * this doesnt necasarily stay current with user input hmmm.... + * throws OboException if dont have valid term + */ private OBOClass getSelectedOboClass() throws OboException { Object obj = getSelectedObject(); // throws oboex //return oboClassDowncast(obj); // throws oboex @@ -204,26 +210,32 @@ private CompletionTerm completionTermDowncast(Object obj) throws OboException { if (obj == null) throw new OboException(); - if ( ! (obj instanceof CompletionTerm)) { + if (!(obj instanceof CompletionTerm)) { //log.info("Item in completion list not obo class "+obj.getClass()); - throw new OboException("Item in completion list not obo class "+obj.getClass()); + throw new OboException("Item in completion list not obo class " + obj.getClass()); } - return (CompletionTerm)obj; + return (CompletionTerm) obj; } - /** edits one or more selected chars */ + /** + * edits one or more selected chars + */ protected void editModel() { OBOClass oboClass; - try { oboClass = getCurrentOboClass(); } - catch (Exception e) { return; } // shouldnt happen, error? - if (getCharField() == null) return; // shouldnt happen + try { + oboClass = getCurrentOboClass(); + } + catch (Exception e) { + return; + } // shouldnt happen, error? + if (getCharField() == null) return; // shouldnt happen List<CharacterI> chars = getSelectedChars(); // from selectionManager //CharFieldEnum cfe = getCharField().getCharFieldEnum(); // isDifferentia boolean? //CompoundTransaction ct = new CompoundTransaction(chars,cfe,oboClass); - CompoundTransaction ct = CompoundTransaction.makeUpdate(chars,getCharField(),oboClass); - EditManager.inst().updateModel(this,ct); + CompoundTransaction ct = CompoundTransaction.makeUpdate(chars, getCharField(), oboClass); + EditManager.inst().updateModel(this, ct); } private SelectionManager getSelectionManager() { @@ -234,14 +246,16 @@ return getSelectionManager().getSelectedChars(); } - /** This is touchy stuff - so i want to be able to display info about term in - TermInfo when user mouses over terms in combo boxes JList. This is not - explicitly supported by JComboBox. have to dig into its UI to get JList. - The combo box ui selects items in JList on mouse over, this listener - will listen for those mouse over selections - should this be done with a selection event - or is that - overkill, i guess the question will anyone besides term info - ever care about these mouse over selection - if so make generic */ + /** + * This is touchy stuff - so i want to be able to display info about term in + * TermInfo when user mouses over terms in combo boxes JList. This is not + * explicitly supported by JComboBox. have to dig into its UI to get JList. + * The combo box ui selects items in JList on mouse over, this listener + * will listen for those mouse over selections + * should this be done with a selection event - or is that + * overkill, i guess the question will anyone besides term info + * ever care about these mouse over selection - if so make generic + */ // void addCompletionListListener(ListSelectionListener lsl) { // if (!canGetUIJList()) return; // getUIJList().addListSelectionListener(lsl); } @@ -254,42 +268,47 @@ //else getUIJList().removeListSelectionListener(compListListener); } - /** this is for MOUSE OVER TERM INFO - changes selection - this is particular - to TermCompList (for now at least) as Rels dont do term info at all - no need */ + /** + * this is for MOUSE OVER TERM INFO - changes selection - this is particular + * to TermCompList (for now at least) as Rels dont do term info at all - no need + */ private class CompletionListListener implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { Object source = e.getSource(); // hate to cast but it is handy here... and it is in fact a JList if (!(source instanceof JList)) { log().error("source of combo box mouse over event is not JList " - +source.getClass()); + + source.getClass()); return; } - JList jList = (JList)source; + 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 CompletionTerm)) { - log().debug("selected completion term is not CompTerm "+selectedValue.getClass()); + log().debug("selected completion term is not CompTerm " + selectedValue.getClass()); return; } - CompletionTerm ct = (CompletionTerm)selectedValue; + CompletionTerm ct = (CompletionTerm) selectedValue; OBOClass oboClass = ct.getOboClass(); Object src = TermCompList.this; - getSelectionManager().selectMouseOverTerm(src,oboClass,getUseTermListener()); + getSelectionManager().selectMouseOverTerm(src, oboClass, getUseTermListener()); //setTextFromOboClass(oboClass); } } // end of CompletionListListener inner class - + private UseTermListener useTermListener; + private UseTermListener getUseTermListener() { if (useTermListener == null) useTermListener = new ComboUseTermListener(); return useTermListener; } - /** Listens for UseTermEvents from term info,if editModel is true then edits model*/ + /** + * Listens for UseTermEvents from term info,if editModel is true then edits model + */ private class ComboUseTermListener implements UseTermListener { public void useTerm(UseTermEvent e) { setOboClass(e.getTerm()); @@ -308,15 +327,22 @@ //charFieldGui.addOntologyChooser(ontologyChooserCombo); } - protected boolean hasOntologyChooser() { return ontologyChooserCombo != null; } - protected JComboBox getOntologyChooser() { return ontologyChooserCombo; } + protected boolean hasOntologyChooser() { + return ontologyChooserCombo != null; + } + protected JComboBox getOntologyChooser() { + return ontologyChooserCombo; + } + private Logger log; + private Logger log() { if (log == null) log = Logger.getLogger(getClass()); return log; } + private class OntologyChooserListener implements ActionListener { public void actionPerformed(ActionEvent e) { String s = ontologyChooserCombo.getSelectedItem().toString(); @@ -329,27 +355,31 @@ } // SINGLE ONTOLOGY - try { - //Ontology o = OntologyManager.inst().getOntologyForName(s); - Ontology o = getCharField().getOntologyForName(s); - getCompListSearcher().setOntology(o); - } - catch (OntologyException ex) { - log().error(ex.getMessage()); + //Ontology o = OntologyManager.inst().getOntologyForName(s); + Ontology o = getCharField().getOntologyForName(s); + if (o == null) { + log.error("No Ontology with name :" + s + " found."); return; } + + getCompListSearcher().setOntology(o); } - private boolean isAll(String s) { return s.equals(ALL); } + + private boolean isAll(String s) { + return s.equals(ALL); + } } - - /** I think post-comp should only be closeable if its empty (in expand collapse - inframe case - now window) */ + + /** + * I think post-comp should only be closeable if its empty (in expand collapse + * inframe case - now window) + */ private class PostCompListener implements ActionListener { public void actionPerformed(ActionEvent e) { - new PostCompGui(getCharField(),SearchParams.inst()); + new PostCompGui(getCharField(), SearchParams.inst()); // new PostCompGui(getCharField(),getSearchParams()); } } - + } Modified: phenote/trunk/src/java/phenote/jobs/OntologyUpdateJob.java =================================================================== --- phenote/trunk/src/java/phenote/jobs/OntologyUpdateJob.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/jobs/OntologyUpdateJob.java 2007-04-19 23:32:24 UTC (rev 490) @@ -4,11 +4,9 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; -import phenote.util.FileUtil; +import phenote.dataadapter.OntologyDataAdapter; import phenote.datamodel.Ontology; import phenote.datamodel.OntologyManager; -import phenote.dataadapter.OntologyDataAdapter; -import phenote.servlet.PhenoteWebConfiguration; import java.io.File; import java.util.Date; @@ -31,8 +29,23 @@ protected void executeInternal(JobExecutionContext context) throws JobExecutionException { LOG.info("Started Ontology Update Job: " + ontologyName); + + Ontology ontology = OntologyManager.inst().getOntologyForName(ontologyName); + if (ontology == null) { + // In case no ontology has ever been loaded. + // we assume we run in lazy initialization mode + // and need to initialize first. + OntologyDataAdapter.initialize(); + ontology = OntologyManager.inst().getOntologyForName(ontologyName); + // Check if ontology by this name is found + if (ontology == null) + LOG.warn("No Ontology with name :" + ontologyName + " found!"); + // we can return here in either case: If ontology was found it read the latest version + // if it could not be found no more action needed. + return; + } + try { - Ontology ontology = OntologyManager.inst().getOntologyForName(ontologyName); File newFile = newOntologyFile(ontology); if (newFile != null) { OntologyDataAdapter ontReader = OntologyDataAdapter.getInstance(); Modified: phenote/trunk/src/java/phenote/servlet/PhenoteController.java =================================================================== --- phenote/trunk/src/java/phenote/servlet/PhenoteController.java 2007-04-19 22:44:42 UTC (rev 489) +++ phenote/trunk/src/java/phenote/servlet/PhenoteController.java 2007-04-19 23:32:24 UTC (rev 490) @@ -1,27 +1,22 @@ package phenote.servlet; import org.apache.log4j.Logger; +import org.geneontology.oboedit.datamodel.OBOClass; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractCommandController; -import org.geneontology.oboedit.datamodel.OBOClass; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import phenote.gui.field.CompletionTerm; -import phenote.gui.field.CompListSearcher; -//import phenote.gui.field.SearchParamsI; -import phenote.gui.SearchParamsI; -import phenote.gui.SearchParams; - -import phenote.datamodel.OntologyException; +import phenote.dataadapter.OntologyDataAdapter; import phenote.datamodel.Ontology; +import phenote.datamodel.OntologyException; import phenote.datamodel.OntologyManager; +import phenote.gui.SearchFilterType; +import phenote.gui.SearchParams; +import phenote.gui.field.CompListSearcher; +import phenote.gui.field.CompletionTerm; import phenote.util.HtmlUtil; -import phenote.dataadapter.OntologyDataAdapter; -import java.util.Vector; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -102,9 +97,6 @@ * field is the gui field user is querying (which may have multiple ontols) * if ontologyy not found actually returns error string saying as much - why not * - * @param userInput - * @param ontologyName - * @param field */ // @SuppressWarnings("unused") // private String { @@ -141,7 +133,10 @@ private CompListSearcher getCompListSearcher(String ontologyName) throws OntologyException { // This is currently rigged for 1 ontology, eventually may want to search all ontologies // in a field as standalone does - with ALL option - return new CompListSearcher(getOntology(ontologyName), SearchParams.inst()); + SearchParams searchParams = SearchParams.inst(); + searchParams.setParam(SearchFilterType.TERM, true); + searchParams.setParam(SearchFilterType.SYN, true); + return new CompListSearcher(getOntology(ontologyName), searchParams); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-19 22:44:41
|
Revision: 489 http://svn.sourceforge.net/obo/?rev=489&view=rev Author: nlw Date: 2007-04-19 15:44:42 -0700 (Thu, 19 Apr 2007) Log Message: ----------- added links to the working group wiki in the navigation bar Modified Paths: -------------- phenote/trunk/doc/phenote-website/ssi/navi_about.html phenote/trunk/doc/phenote-website/ssi/navi_home.html phenote/trunk/doc/phenote-website/ssi/navi_home.html~ phenote/trunk/doc/phenote-website/ssi/navi_howtos.html phenote/trunk/doc/phenote-website/ssi/navi_info.html Modified: phenote/trunk/doc/phenote-website/ssi/navi_about.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_about.html 2007-04-19 20:06:45 UTC (rev 488) +++ phenote/trunk/doc/phenote-website/ssi/navi_about.html 2007-04-19 22:44:42 UTC (rev 489) @@ -44,6 +44,9 @@ <li> <a href="/content/links/">Links</a> </li> +<li> + <a href="http://www.bioontology.org/wiki/index.php/Phenote:Main_Page">Working Group</a> + </li> <li> <a href="http://www.bioontology.org/wiki-internal/index.php/Phenote_-_A_Phenotype_Annotation_Tool">Internal Wiki</a> </li> Modified: phenote/trunk/doc/phenote-website/ssi/navi_home.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_home.html 2007-04-19 20:06:45 UTC (rev 488) +++ phenote/trunk/doc/phenote-website/ssi/navi_home.html 2007-04-19 22:44:42 UTC (rev 489) @@ -29,6 +29,9 @@ <a href="/content/under_construction.shtml">Links</a> </li> <li> + <a href="http://www.bioontology.org/wiki/index.php/Phenote:Main_Page">Working Group</a> + </li> + <li> <a href="http://www.bioontology.org/wiki-internal/index.php/Phenote_-_A_Phenotype_Annotation_Tool">Internal Wiki</a> </li> </ul> Modified: phenote/trunk/doc/phenote-website/ssi/navi_home.html~ =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_home.html~ 2007-04-19 20:06:45 UTC (rev 488) +++ phenote/trunk/doc/phenote-website/ssi/navi_home.html~ 2007-04-19 22:44:42 UTC (rev 489) @@ -8,25 +8,25 @@ <a href="/">Home</a> </li> <li> - <a href="/phenote/content/info/">Software Info</a> + <a href="/content/info/">Software Info</a> </li> <li> - <a href="/phenote/content/software/">Downloads</a> + <a href="/content/software/">Downloads</a> </li> <li> - <a href="/phenote/content/howtos/">How-tos</a> + <a href="/content/howtos/">How-tos</a> </li> <li> - <a href="/phenote/content/refs/">References</a> + <a href="/content/under_construction.shtml">References</a> </li> <li> - <a href="/phenote/content/faq/">FAQ</a> + <a href="/content/under_construction.shtml">FAQ</a> </li> <li> - <a href="/phenote/content/about/">About us</a> + <a href="/content/about/">About us</a> </li> <li> - <a href="/phenote/content/links/">Links</a> + <a href="/content/under_construction.shtml">Links</a> </li> <li> <a href="http://www.bioontology.org/wiki-internal/index.php/Phenote_-_A_Phenotype_Annotation_Tool">Internal Wiki</a> Modified: phenote/trunk/doc/phenote-website/ssi/navi_howtos.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_howtos.html 2007-04-19 20:06:45 UTC (rev 488) +++ phenote/trunk/doc/phenote-website/ssi/navi_howtos.html 2007-04-19 22:44:42 UTC (rev 489) @@ -39,6 +39,9 @@ <li> <a href="/content/under_construction.shtml">Links</a> </li> +<li> + <a href="http://www.bioontology.org/wiki/index.php/Phenote:Main_Page">Working Group</a> + </li> <li> <a href="http://www.bioontology.org/wiki-internal/index.php/Phenote_-_A_Phenotype_Annotation_Tool">Internal Wiki</a> </li> Modified: phenote/trunk/doc/phenote-website/ssi/navi_info.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_info.html 2007-04-19 20:06:45 UTC (rev 488) +++ phenote/trunk/doc/phenote-website/ssi/navi_info.html 2007-04-19 22:44:42 UTC (rev 489) @@ -44,6 +44,9 @@ <li> <a href="/content/under_construction.shtml">Links</a> </li> +<li> + <a href="http://www.bioontology.org/wiki/index.php/Phenote:Main_Page">Working Group</a> + </li> <li> <a href="http://www.bioontology.org/wiki-internal/index.php/Phenote_-_A_Phenotype_Annotation_Tool">Internal Wiki</a> </li> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-19 20:06:45
|
Revision: 488 http://svn.sourceforge.net/obo/?rev=488&view=rev Author: nlw Date: 2007-04-19 13:06:45 -0700 (Thu, 19 Apr 2007) Log Message: ----------- *changed the minimum size for term info. the xp interfaces were just too darn small. Modified Paths: -------------- phenote/trunk/src/java/phenote/gui/TermInfo.java Modified: phenote/trunk/src/java/phenote/gui/TermInfo.java =================================================================== --- phenote/trunk/src/java/phenote/gui/TermInfo.java 2007-04-19 19:50:09 UTC (rev 487) +++ phenote/trunk/src/java/phenote/gui/TermInfo.java 2007-04-19 20:06:45 UTC (rev 488) @@ -58,8 +58,8 @@ public JComponent getComponent() { termInfoPanel = new JPanel(new BorderLayout(0,0)); // hgap,vgap - termInfoPanel.setPreferredSize(new Dimension(400,100)); - //termInfoPanel.setMinimumSize(new Dimension(380,100)); + termInfoPanel.setPreferredSize(new Dimension(350,200)); + termInfoPanel.setMinimumSize(new Dimension(200,150)); //termInfoPanel.setMaximumSize(new Dimension(380,400)); if (DO_HTML) { JEditorPane editorPane = new JEditorPane(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-19 19:50:12
|
Revision: 487 http://svn.sourceforge.net/obo/?rev=487&view=rev Author: nlw Date: 2007-04-19 12:50:09 -0700 (Thu, 19 Apr 2007) Log Message: ----------- *updates of the config files didn't get included in the last commit. these have the term history set to false for the default Modified Paths: -------------- phenote/trunk/conf/flybase.cfg phenote/trunk/conf/go-function-process.cfg phenote/trunk/conf/mp-xp.cfg phenote/trunk/conf/ncbo.cfg phenote/trunk/conf/nicole.cfg phenote/trunk/conf/worm.cfg phenote/trunk/conf/zfin-standalone.cfg Modified: phenote/trunk/conf/flybase.cfg =================================================================== --- phenote/trunk/conf/flybase.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/flybase.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,5 +1,5 @@ -<phenote-configuration version="1.1.2" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> +<phenote-configuration version="1.1.3" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> <dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="false"/> @@ -10,6 +10,8 @@ <log config-file="conf/log4j-standalone.xml" /> <uvic-graph enable="false"/> + <term-history enable="false"/> + <obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> Modified: phenote/trunk/conf/go-function-process.cfg =================================================================== --- phenote/trunk/conf/go-function-process.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/go-function-process.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,5 +1,5 @@ -<phenote-configuration version="1.0" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> +<phenote-configuration version="1.2" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> <dataadapter name="phenosyntax" enable="true"/> <dataadapter name="phenoxml" enable="true"/> @@ -8,6 +8,8 @@ <log config-file="conf/log4j-standalone.xml" /> <uvic-graph enable="false"/> + <term-history enable="false"/> + <obo-repository url-dir="http://purl.org/obo/obo-all/"/> Modified: phenote/trunk/conf/mp-xp.cfg =================================================================== --- phenote/trunk/conf/mp-xp.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/mp-xp.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,5 +1,5 @@ -<phenote-configuration version="1.0" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> +<phenote-configuration version="1.2" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> <dataadapter name="phenosyntax" enable="true"/> <dataadapter name="phenoxml" enable="true"/> @@ -8,6 +8,8 @@ <log config-file="conf/log4j-standalone.xml" /> <uvic-graph enable="false"/> + <term-history enable="false"/> + <obo-repository url-dir="http://purl.org/obo/obo-all/"/> Modified: phenote/trunk/conf/ncbo.cfg =================================================================== --- phenote/trunk/conf/ncbo.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/ncbo.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.2beta1" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> @@ -6,6 +6,7 @@ <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> <ns:uvic-graph enable="false"/> + <ns:term-history enable="false"/> <ns:obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> <ns:field name="Pub" syntax-abbrev="PUB" enable="true"/> <ns:field name="Genotype" syntax-abbrev="GT" enable="true"/> Modified: phenote/trunk/conf/nicole.cfg =================================================================== --- phenote/trunk/conf/nicole.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/nicole.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.2beta1" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2b" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> @@ -6,6 +6,7 @@ <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> <ns:uvic-graph enable="false"/> + <ns:term-history enable="false"/> <ns:obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> <ns:field name="Pub" syntax-abbrev="PUB" enable="true"/> <ns:field name="Genotype" syntax-abbrev="GT" enable="true"/> Modified: phenote/trunk/conf/worm.cfg =================================================================== --- phenote/trunk/conf/worm.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/worm.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,4 +1,4 @@ -<phenote-configuration version="1.1" xmlns="phenote/config/xml" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" schemaLocation="phenote-config.xsd"> +<phenote-configuration version="1.1.1" xmlns="phenote/config/xml" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" schemaLocation="phenote-config.xsd"> <dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> @@ -11,6 +11,8 @@ <log config-file="conf/log4j-standalone.xml"/> <uvic-graph enable="false"/> + <term-history enable="false"/> + <obo-repository url-dir="http://www.berkeleybop.org/ontologies/obo-all/"/> Modified: phenote/trunk/conf/zfin-standalone.cfg =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg 2007-04-19 19:44:55 UTC (rev 486) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-04-19 19:50:09 UTC (rev 487) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.2beta1" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> @@ -6,6 +6,7 @@ <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> <ns:uvic-graph enable="false"/> + <ns:term-history enable="false"/> <ns:obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> <ns:field name="Pub" syntax-abbrev="PUB" enable="true"/> <ns:field name="Genotype" syntax-abbrev="GT" enable="true"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-19 19:44:54
|
Revision: 486 http://svn.sourceforge.net/obo/?rev=486&view=rev Author: nlw Date: 2007-04-19 12:44:55 -0700 (Thu, 19 Apr 2007) Log Message: ----------- *updates to config files to include the term history option *edits to config.java, xsd, rnc, etc to include the boolean option in configuration for term-history window enable/disable *term-history will default to false/off unless specified in the config file. can be turned on by menu setting if desired. *all terms are placed in a history window, and it is just set to viewable depending on the setting. *added menus: **edit (disabled until all options are working) **settings - moved configuration here - moved the search filter/parameter options here - have the option to turn on/off term history window **beginnings of help menu -about shows splash screen that will display the version number *added search parameter class...now its a singleton (note i am leaving in the old searchParamsI that is in phenote.gui.field, but it should be removed at some point. i left the code for the in-window checkboxes should we want to implement this option of having them on the main screen.) *added search history singleton so that it can be turned on/off. *changed default for search params to include both terms and synonyms, future versions should probably be in the configuration file. possible configurable for each field. *changed look&feel of term info. got rid of "children" and "parents" language. should be obvious from the relationships who is who, also they are still listed in parents/children order. added bar to separate the basic term info (name,syn,def) from the ontology relationships. added the ontology name for each term. *for term history, added the ontology ID namespace abbreviation in front of each term, that way user can tell the difference between two entities with the same name from different ontologies. Modified Paths: -------------- phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/config/DataAdapterConfig.java phenote/trunk/src/java/phenote/dataadapter/LoadSaveManager.java phenote/trunk/src/java/phenote/gui/MenuManager.java phenote/trunk/src/java/phenote/gui/SearchParamsI.java phenote/trunk/src/java/phenote/gui/SelectionHistory.java phenote/trunk/src/java/phenote/gui/TermInfo.java phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java phenote/trunk/src/java/phenote/gui/field/CompListSearcher.java phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java phenote/trunk/src/java/phenote/gui/field/FieldPanel.java phenote/trunk/src/java/phenote/gui/field/PostCompGui.java phenote/trunk/src/java/phenote/gui/field/TermCompList.java phenote/trunk/src/java/phenote/main/Phenote.java phenote/trunk/src/java/phenote/servlet/PhenoteController.java phenote/trunk/src/java/phenote/util/HtmlUtil.java Added Paths: ----------- phenote/trunk/src/java/phenote/gui/EditMenu.java phenote/trunk/src/java/phenote/gui/FileMenu.java phenote/trunk/src/java/phenote/gui/HelpMenu.java phenote/trunk/src/java/phenote/gui/SearchParams.java phenote/trunk/src/java/phenote/gui/SettingsMenu.java Removed Paths: ------------- phenote/trunk/src/java/phenote/gui/FileMenu.java Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-04-19 19:44:55 UTC (rev 486) @@ -274,6 +274,7 @@ // but it is a version change so check if diff? maybe? not sure hmmm // but i do think ok to update uvic - version change may go from false to true oldCfg.uvicGraphEnabled = newCfg.uvicGraphEnabled; // hmmmm? + oldCfg.termHistoryEnabled = newCfg.termHistoryEnabled; oldCfg.reposUrlDir = newCfg.reposUrlDir; // ?? for (FieldConfig newFC : newCfg.getFieldConfigList()) newFC.mergeWithOldConfig(oldCfg); @@ -339,8 +340,14 @@ /** config flag for enabling uvic shrimp dag graph */ public boolean uvicGraphIsEnabled() { return uvicGraphEnabled; } - public boolean termHistoryIsEnabled() { return termHistoryEnabled; } + public boolean termHistoryIsEnabled() { + return termHistoryEnabled; } + public void setTermHistory(boolean setter) { + termHistoryEnabled = setter; + return; } + + public URL getLogConfigUrl() throws FileNotFoundException { return FileUtil.findUrl(logConfigFile); } @@ -492,7 +499,7 @@ // TERM HISTORY TermHistory history = pc.getTermHistory(); if (history != null) - termHistoryEnabled = gr.getEnable(); + termHistoryEnabled = history.getEnable(); // Repos url dir OboRepository or = pc.getOboRepository(); Modified: phenote/trunk/src/java/phenote/config/DataAdapterConfig.java =================================================================== --- phenote/trunk/src/java/phenote/config/DataAdapterConfig.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/config/DataAdapterConfig.java 2007-04-19 19:44:55 UTC (rev 486) @@ -1,6 +1,9 @@ package phenote.config; import phenote.config.xml.DataadapterDocument.Dataadapter; +//should this be: +//import phenote.dataadapter.*; +//so that programmers don't have to modify this file? import phenote.dataadapter.DataAdapterI; import phenote.dataadapter.fly.FlybaseDataAdapter; Modified: phenote/trunk/src/java/phenote/dataadapter/LoadSaveManager.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/LoadSaveManager.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/dataadapter/LoadSaveManager.java 2007-04-19 19:44:55 UTC (rev 486) @@ -9,7 +9,9 @@ import phenote.dataadapter.DataAdapterI; import phenote.dataadapter.CharacterListManager; import phenote.datamodel.CharacterListI; +import phenote.datamodel.CharacterList; import phenote.config.Config; +import phenote.edit.EditManager; public class LoadSaveManager { @@ -33,6 +35,13 @@ return singleton; } + public void newData() { +// CharacterListI charList = new CharacterList(); +// CharacterListManager.inst().setCharacterList(this,charList); + System.out.println("NEW!"); + } + + /**Loads a new document of characters, prompting the user to choose a file and possibly a data adapter.*/ public void loadData() { @@ -87,6 +96,11 @@ adapter.commit(charList, f); } + public void exportData() { + saveData(); + } + + private File runOpenDialog() { fileChooser.setAcceptAllFileFilterUsed(true); int returnValue = fileChooser.showOpenDialog(null); Added: phenote/trunk/src/java/phenote/gui/EditMenu.java =================================================================== --- phenote/trunk/src/java/phenote/gui/EditMenu.java (rev 0) +++ phenote/trunk/src/java/phenote/gui/EditMenu.java 2007-04-19 19:44:55 UTC (rev 486) @@ -0,0 +1,117 @@ + + +package phenote.gui; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; + +import phenote.datamodel.CharacterI; +import phenote.datamodel.CharacterListI; +import phenote.dataadapter.CharacterListManager; +import phenote.dataadapter.DataAdapterI; +import phenote.dataadapter.LoadSaveManager; +import phenote.config.Config; +import phenote.config.ConfigFileQueryGui; +import phenote.config.ConfigException; +import phenote.edit.EditManager; +import phenote.gui.CharacterTablePanel; +import phenote.gui.CharacterTableModel; + + +//import phenote.gui.prefswindow.PrefsWindowController; ??? + +class EditMenu extends JMenu { + + private JMenuItem editMenuItem; + private CharacterTableModel characterTableModel; + private boolean scrollToNewLastRowOnRepaint = false; + + EditMenu() { + super("Edit"); + init(); + } + + private void init() { + EditActionListener actionListener = new EditActionListener(); + + editMenuItem = new JMenuItem("Undo"); + editMenuItem.setActionCommand("undo"); + editMenuItem.setMnemonic( 'z' ); + editMenuItem.addActionListener(actionListener); + add(editMenuItem); + + addSeparator(); + + + JMenuItem cut = new JMenuItem("Cut"); + cut.setActionCommand("cut"); + cut.addActionListener(actionListener); + add(cut); + + JMenuItem copy = new JMenuItem("Copy"); + copy.setActionCommand("copy"); + copy.addActionListener(actionListener); + add(copy); + + JMenuItem paste = new JMenuItem("Paste"); + paste.setActionCommand("paste"); + paste.addActionListener(actionListener); + add(paste); + + addSeparator(); + + JMenuItem newChar = new JMenuItem("Add Annotation"); + newChar.setActionCommand("new"); + newChar.setMnemonic(KeyEvent.VK_A); + newChar.addActionListener(actionListener); + add(newChar); + + JMenuItem copyChar = new JMenuItem("Copy Annotation"); + copyChar.setActionCommand("copyChar"); + copyChar.setMnemonic( 'C' ); + copyChar.addActionListener(actionListener); + add(copyChar); + + JMenuItem deleteChar = new JMenuItem("Delete Annotation"); + deleteChar.setActionCommand("delete"); + deleteChar.setMnemonic( 'X' ); + deleteChar.addActionListener(actionListener); + add(deleteChar); + + //set all to disabled until they are working. + setEnabled(false); + + } + + private class EditActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + int selectRow = 1; + if (!Config.inst().hasDataAdapters()) { + System.out.println("no file data adapter to load/save with"); + return; + } + else if (e.getActionCommand().equals("undo")) { + EditManager.inst().undo(); + repaint(); + } + else if(e.getActionCommand().equals("new")) { + String m = "Add a row."; + JOptionPane.showMessageDialog(null, m, "Phenote Help", + JOptionPane.INFORMATION_MESSAGE); + +// selectRow = characterTablePanel.characterTableModel.addNewBlankRow(); +// characterTablePanel.scrollToNewLastRowOnRepaint = true;//scrollToLastRow(); // scroll to new row + } + } + } + + + // for testing + public void clickLoad() { + editMenuItem.doClick(); + } +} Deleted: phenote/trunk/src/java/phenote/gui/FileMenu.java =================================================================== --- phenote/trunk/src/java/phenote/gui/FileMenu.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/FileMenu.java 2007-04-19 19:44:55 UTC (rev 486) @@ -1,86 +0,0 @@ -package phenote.gui; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import javax.swing.JMenu; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; - -import phenote.dataadapter.CharacterListManager; -import phenote.dataadapter.DataAdapterI; -import phenote.dataadapter.LoadSaveManager; -import phenote.config.Config; -import phenote.config.ConfigFileQueryGui; -import phenote.config.ConfigException; -//import phenote.gui.prefswindow.PrefsWindowController; ??? - -class FileMenu extends JMenu { - - private JMenuItem loadMenuItem; - - FileMenu() { - super("File"); - init(); - } - - private void init() { - LoadSaveActionListener actionListener = new LoadSaveActionListener(); - - loadMenuItem = new JMenuItem("Load Data"); - loadMenuItem.setEnabled(Config.inst().hasDataAdapters()); - loadMenuItem.setActionCommand("load"); - loadMenuItem.addActionListener(actionListener); - add(loadMenuItem); - - JMenuItem save = new JMenuItem("Save Data"); - save.setEnabled(Config.inst().hasDataAdapters()); - save.setActionCommand("save"); - save.addActionListener(actionListener); - add(save); - - JMenuItem loadConfig = new JMenuItem("Load Configuration"); - loadConfig.addActionListener(new ConfigActionListener()); - add(loadConfig); - } - - private class LoadSaveActionListener implements ActionListener { - public void actionPerformed(ActionEvent e) { - if (!Config.inst().hasDataAdapters()) { - System.out.println("no file data adapter to load/save with"); - return; - } - if (e.getActionCommand().equals("load")) - LoadSaveManager.inst().loadData(); - - else if (e.getActionCommand().equals("save")) - LoadSaveManager.inst().saveData(); - } - } - - private class ConfigActionListener implements ActionListener { - public void actionPerformed(ActionEvent e) { - // 1st step just set my-phenote.cfg & user restart phenote - // eventually reconfigure phenote in same session, cfg,obo,gui - boolean showCancel = true; - try { - String cfg = ConfigFileQueryGui.queryUserForConfigFile(showCancel); - if (cfg != null && !cfg.equals("")) - Config.writeMyPhenoteDefaultFile(cfg); - String m = "You must restart phenote for new config to take effect"; - JOptionPane.showMessageDialog(null,m,"Please restart", - JOptionPane.INFORMATION_MESSAGE); - } - catch (ConfigFileQueryGui.CancelEx ex) {} // its cancelled do nothing - catch (ConfigException x) { - String m = "Failed to change configuration "+x.getMessage(); - JOptionPane.showMessageDialog(null,m,"Config error", - JOptionPane.ERROR_MESSAGE); - } - } - } - - // for testing - public void clickLoad() { - loadMenuItem.doClick(); - } -} Added: phenote/trunk/src/java/phenote/gui/FileMenu.java =================================================================== --- phenote/trunk/src/java/phenote/gui/FileMenu.java (rev 0) +++ phenote/trunk/src/java/phenote/gui/FileMenu.java 2007-04-19 19:44:55 UTC (rev 486) @@ -0,0 +1,126 @@ + + +package phenote.gui; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; + +import phenote.dataadapter.CharacterListManager; +import phenote.dataadapter.DataAdapterI; +import phenote.dataadapter.LoadSaveManager; +import phenote.config.Config; +import phenote.config.ConfigFileQueryGui; +import phenote.config.ConfigException; +//import phenote.gui.prefswindow.PrefsWindowController; ??? + +class FileMenu extends JMenu { + + private JMenuItem loadMenuItem; + + FileMenu() { + super("File"); + init(); + } + + private void init() { + LoadSaveActionListener actionListener = new LoadSaveActionListener(); + + JMenuItem newData = new JMenuItem("New"); + newData.setEnabled(Config.inst().hasDataAdapters()); + newData.setActionCommand("new"); + newData.addActionListener(actionListener); + add(newData); + + loadMenuItem = new JMenuItem("Open..."); + loadMenuItem.setEnabled(Config.inst().hasDataAdapters()); + loadMenuItem.setActionCommand("load"); + loadMenuItem.addActionListener(actionListener); + add(loadMenuItem); + + JMenuItem save = new JMenuItem("Save As..."); + save.setEnabled(Config.inst().hasDataAdapters()); + save.setActionCommand("save"); + save.setMnemonic('s'); + save.addActionListener(actionListener); + add(save); + +// JMenuItem export = new JMenuItem("Export..."); +// export.setEnabled(Config.inst().hasDataAdapters()); +// export.setActionCommand("export"); +// export.addActionListener(actionListener); +// add(export); + +// JMenuItem loadConfig = new JMenuItem("Load Configuration"); +// loadConfig.addActionListener(new ConfigActionListener()); +// add(loadConfig); + + addSeparator(); + + JMenuItem exit = new JMenuItem("Exit"); + exit.setEnabled(Config.inst().hasDataAdapters()); + exit.setActionCommand("exit"); + exit.addActionListener(new ExitActionListener()); + add(exit); + + } + + private class LoadSaveActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + if (!Config.inst().hasDataAdapters()) { + System.out.println("no file data adapter to load/save with"); + return; + } + if (e.getActionCommand().equals("new")) { + LoadSaveManager.inst().saveData(); //will need to make sure to save first! + LoadSaveManager.inst().newData(); + } else if (e.getActionCommand().equals("load")) + LoadSaveManager.inst().loadData(); + else if (e.getActionCommand().equals("save")) + LoadSaveManager.inst().saveData(); + else if (e.getActionCommand().equals("export")) + LoadSaveManager.inst().exportData(); + } + } + + private class ConfigActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + // 1st step just set my-phenote.cfg & user restart phenote + // eventually reconfigure phenote in same session, cfg,obo,gui + boolean showCancel = true; + try { + String cfg = ConfigFileQueryGui.queryUserForConfigFile(showCancel); + if (cfg != null && !cfg.equals("")) + Config.writeMyPhenoteDefaultFile(cfg); + String m = "You must restart phenote for new config to take effect"; + JOptionPane.showMessageDialog(null,m,"Please restart", + JOptionPane.INFORMATION_MESSAGE); + } + catch (ConfigFileQueryGui.CancelEx ex) {} // its cancelled do nothing + catch (ConfigException x) { + String m = "Failed to change configuration "+x.getMessage(); + JOptionPane.showMessageDialog(null,m,"Config error", + JOptionPane.ERROR_MESSAGE); + } + } + } + + private class ExitActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + if (e.getActionCommand().equals("exit")) { + String m = "Are you sure you want to quit?"; + JOptionPane.showMessageDialog(null, m, "Phenote Exit", + JOptionPane.INFORMATION_MESSAGE); + System.exit(0); + } + } + } + + + // for testing + public void clickLoad() { + loadMenuItem.doClick(); + } +} Copied: phenote/trunk/src/java/phenote/gui/HelpMenu.java (from rev 461, phenote/trunk/src/java/phenote/gui/FileMenu.java) =================================================================== --- phenote/trunk/src/java/phenote/gui/HelpMenu.java (rev 0) +++ phenote/trunk/src/java/phenote/gui/HelpMenu.java 2007-04-19 19:44:55 UTC (rev 486) @@ -0,0 +1,102 @@ +package phenote.gui; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseListener; +import java.awt.event.MouseEvent; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.ImageIcon; + +import phenote.dataadapter.CharacterListManager; +import phenote.dataadapter.DataAdapterI; +import phenote.dataadapter.LoadSaveManager; +import phenote.config.Config; +import phenote.config.ConfigFileQueryGui; +import phenote.config.ConfigException; +//import phenote.gui.prefswindow.PrefsWindowController; ??? +import phenote.gui.SplashScreen; +import phenote.main.PhenoteVersion; + +class HelpMenu extends JMenu { + + private JMenuItem help; + public SplashScreen splashScreen; + private String logoFile = "src/java/phenote/images/phenote_logo.jpg"; + + HelpMenu() { + super("Help"); + init(); + } + + private void init() { + + HelpActionListener actionListener = new HelpActionListener(); + + + help = new JMenuItem("Phenote Help"); + help.setEnabled(Config.inst().hasDataAdapters()); + help.setActionCommand("help"); + help.addActionListener(actionListener); + add(help); + + JMenuItem about = new JMenuItem("About"); + about.setEnabled(Config.inst().hasDataAdapters()); + about.setActionCommand("about"); + about.addActionListener(actionListener); + add(about); + } + + private class HelpActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + boolean showCancel = false; + if (e.getActionCommand().equals("help")) { + String m = "Help is under construction."; + JOptionPane.showMessageDialog(null, m, "Phenote Help", + JOptionPane.INFORMATION_MESSAGE); + System.out.println("help selected"); + } + else if (e.getActionCommand().equals("about")) { + //throw up splash screen here. make sure to make different pic. +// String m = "This is Phenote v (version here)....[more to come]"; +// JOptionPane.showMessageDialog(null, m, "About", +// JOptionPane.INFORMATION_MESSAGE); + splashScreenInit(); +// splashScreenDestruct(); +// System.out.println("about selected"); + } + } + } + + private void splashScreenInit() { + ImageIcon myImage = new ImageIcon(logoFile); + SplashScreenListener splashScreenListener = new SplashScreenListener(); + splashScreen = new SplashScreen(myImage); + splashScreen.setLocationRelativeTo(null); +// splashScreen.setProgressMax(100); + splashScreen.setScreenVisible(true); + splashScreen.addMouseListener(splashScreenListener); + splashScreen.setProgress("Phenote version "+PhenoteVersion.versionString(), 0); + + } + + private class SplashScreenListener implements MouseListener { + public void mouseClicked(MouseEvent e) { + //the splash screen will go away when clicked w/ mouse + splashScreen.setScreenVisible(false); + splashScreen = null; + return; + } + public void mouseExited(MouseEvent e) {;} + public void mousePressed(MouseEvent e) {;} + public void mouseReleased(MouseEvent e) {;} + public void mouseEntered(MouseEvent e) {;} + } + + + // for testing + public void clickLoad() { + help.doClick(); + } +} Modified: phenote/trunk/src/java/phenote/gui/MenuManager.java =================================================================== --- phenote/trunk/src/java/phenote/gui/MenuManager.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/MenuManager.java 2007-04-19 19:44:55 UTC (rev 486) @@ -7,7 +7,13 @@ public class MenuManager { private FileMenu fileMenu; + + private EditMenu editMenu; + + private HelpMenu helpMenu; + private SettingsMenu settingsMenu; + private static MenuManager singleton = new MenuManager(); private MenuManager() {} @@ -21,10 +27,18 @@ private void initMenus(JFrame frame) { JMenuBar menuBar = new JMenuBar(); fileMenu = new FileMenu(); + editMenu = new EditMenu(); + settingsMenu = new SettingsMenu(); + helpMenu = new HelpMenu(); menuBar.add(fileMenu); + menuBar.add(editMenu); + menuBar.add(settingsMenu); + menuBar.add(helpMenu); frame.setJMenuBar(menuBar); } + + // for testing actually public FileMenu getFileMenu() { return fileMenu; } } Added: phenote/trunk/src/java/phenote/gui/SearchParams.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SearchParams.java (rev 0) +++ phenote/trunk/src/java/phenote/gui/SearchParams.java 2007-04-19 19:44:55 UTC (rev 486) @@ -0,0 +1,72 @@ +package phenote.gui; + +// package phenote.ontology?? dataadapter? + +public class SearchParams implements SearchParamsI { + + private static SearchParams singleton; + private boolean searchTerm = false; + private boolean searchSyn = false; + private boolean searchDef = false; + private boolean searchObs = false; + private final String TERM = "Term Name"; //SearchFilterTypes + private final String SYN = "Synonyms"; + private final String DEF = "Definitions"; + private final String OBS = "Obsoletes"; + + /** Singleton */ + private SearchParams() { //initialize Terms/Syns to true + return; + } + + public static SearchParams inst() { + if (singleton == null) + singleton = new SearchParams(); + return singleton; + } + + public void setParam(String filter, boolean setting) { + if (filter==TERM) { searchTerm = setting;} + else if (filter==SYN) { searchSyn = setting; } + else if (filter==DEF) { searchDef = setting; } + else if (filter==OBS) { searchObs = setting; } + } + + //this will takeover the single boolean fxns + public boolean getParam(String filter) + { //need to add a catch or something + if (filter==TERM) { return searchTerm;} + else if (filter==SYN) { return searchSyn; } + else if (filter==DEF) { return searchDef; } + else if (filter==OBS) { return searchObs; } + return true; + } + + public boolean searchTerms() { + return searchTerm; + } + public boolean searchSynonyms() { + return searchSyn; + } + public boolean searchDefinitions() { + return searchDef; + } + /** Whether to include obsoletes in searching terms, syns, & definitions + This should be in conjunction with the other 3 */ + public boolean searchObsoletes() { + return searchObs; + } + + public boolean verifySettings() { + //this function will verify that the user has selected a minimum of + //a single term/syn/def + optional obs + if (!(searchTerm || searchDef || searchSyn)) { + if (searchObs) { + searchTerm = true; //default to select Term if obs is chosen, at minimum for obs + return false; + } + } + return true; + } + +} Modified: phenote/trunk/src/java/phenote/gui/SearchParamsI.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SearchParamsI.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/SearchParamsI.java 2007-04-19 19:44:55 UTC (rev 486) @@ -4,11 +4,16 @@ public interface SearchParamsI { + public void setParam(String filter, boolean setting); public boolean searchTerms(); public boolean searchSynonyms(); public boolean searchDefinitions(); /** Whether to include obsoletes in searching terms, syns, & definitions This should be in conjunction with the other 3 */ public boolean searchObsoletes(); + public boolean verifySettings(); + public boolean getParam(String filter); + + } Modified: phenote/trunk/src/java/phenote/gui/SelectionHistory.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SelectionHistory.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/SelectionHistory.java 2007-04-19 19:44:55 UTC (rev 486) @@ -46,30 +46,45 @@ import phenote.gui.selection.TermSelectionListener; import phenote.gui.selection.UseTermEvent; import phenote.gui.selection.UseTermListener; +import phenote.config.Config; public class SelectionHistory { //private JEditorPane textArea; private JTextComponent textArea; + private JPanel termHistoryPanel; private static final boolean DO_HTML = HtmlUtil.DO_HTML; private TermHyperlinkListener termHyperlinkListener; // current obo class being navigated private OBOClass currentOboClass; private TermInfo termInfo; + public boolean isInitialized = false; - public SelectionHistory() { //TermPanel termPanel) { + private SelectionHistory() { //TermPanel termPanel) { EditManager.inst().addCharChangeListener(new HistorySelectionListener()); } + private static SelectionHistory singleton = new SelectionHistory(); + +// private SelectionHistory() {} + + public static SelectionHistory inst() { + if (singleton == null) + singleton = new SelectionHistory(); + return singleton; + } + + // public SelectionHistory() { //TermPanel termPanel) { // SelectionManager.inst().addTermSelectionListener(new HistorySelectionListener()); // } public JComponent getComponent() { - JPanel termHistoryPanel = new JPanel(new BorderLayout(0,0)); // hgap,vgap + termHistoryPanel = new JPanel(new BorderLayout(0,0)); // hgap,vgap + termHistoryPanel.setVisible(Config.inst().termHistoryIsEnabled()); termHistoryPanel.setPreferredSize(new Dimension(200,100)); -// termHistoryPanel.setMinimumSize(new Dimension(200,100)); + // termHistoryPanel.setMinimumSize(new Dimension(200,100)); if (DO_HTML) { JEditorPane editorPane = new JEditorPane(); editorPane.setContentType("text/html"); // sets up HTMLEditorKit @@ -78,7 +93,7 @@ textArea = editorPane; } else { // pase - delete? - JTextArea jTextArea = new JTextArea(17,50); + JTextArea jTextArea = new JTextArea(17,50); jTextArea.setLineWrap(true); jTextArea.setWrapStyleWord(true); textArea = jTextArea; @@ -91,11 +106,13 @@ //scrollPane.setBorder(BorderFactory.createTitledBorder("Term Info")); termHistoryPanel.setBorder(BorderFactory.createTitledBorder("Term History")); termHistoryPanel.add(scrollPane,BorderLayout.CENTER); - + isInitialized = true; return termHistoryPanel; } - + public void showSwitch() { + termHistoryPanel.setVisible(Config.inst().termHistoryIsEnabled()); + } // for TestPhenote String getText() { return textArea.getText(); } @@ -119,9 +136,12 @@ for (int i=transList.size(); i>0; i--) { OBOClass term = transList.get(i-1).getNewTerm(); - if (term!=null) - html = html + "<br> *"+term.getNamespace()+":"+term.getName(); -// html = html + "<br>"+HtmlUtil.termLink(term); + if (term!=null) { + String[] idSplit = term.getID().split(":"); + String nsID = idSplit[0]; + html = html + "<br>"+nsID+":"+term.getName(); + } + // html = html + "<br>"+HtmlUtil.termLink(term); } textArea.setText(html); textArea.setCaretPosition(0); Added: phenote/trunk/src/java/phenote/gui/SettingsMenu.java =================================================================== --- phenote/trunk/src/java/phenote/gui/SettingsMenu.java (rev 0) +++ phenote/trunk/src/java/phenote/gui/SettingsMenu.java 2007-04-19 19:44:55 UTC (rev 486) @@ -0,0 +1,215 @@ + + +package phenote.gui; + + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + + + +import phenote.dataadapter.CharacterListManager; +import phenote.dataadapter.DataAdapterI; +import phenote.dataadapter.LoadSaveManager; +import phenote.config.Config; +import phenote.config.ConfigFileQueryGui; +import phenote.config.ConfigException; +//import phenote.gui.prefswindow.PrefsWindowController; ??? +import phenote.gui.SearchParams; +import phenote.gui.SearchParamsI; +import phenote.gui.SelectionHistory; + +class SettingsMenu extends JMenu { + + private final int ITEM_PLAIN = 0; // Item types + private final int ITEM_CHECK = 1; + private final int ITEM_RADIO = 2; + private final String TERM = "Term Name"; //SearchFilterTypes + private final String SYN = "Synonyms"; + private final String DEF = "Definitions"; + private final String OBS = "Obsoletes"; + private JMenu menuSearchFilter; + private JMenuItem menuSearchFilterTerm; + private JMenuItem menuSearchFilterSynonym; + private JMenuItem menuSearchFilterDefinition; + private JMenuItem menuSearchFilterObsolete; + private JMenuItem showHistory; + public SearchParams searchParams; + private SelectionHistory selHist = SelectionHistory.inst(); + + + SettingsMenu() { + super("Settings"); + init(); + } + + private void init() { + + // Build the search types sub-menu + menuSearchFilter = new JMenu( "Search Filters" ); + menuSearchFilter.setMnemonic( 'F' ); + + //set defaults + getSearchParams().setParam(TERM, true); //default Term = on + getSearchParams().setParam(SYN, true); //default Syn = on + + // Create property items based on status + menuSearchFilterTerm = CreateMenuItem( menuSearchFilter, ITEM_CHECK, + TERM, null, 'T', "Look for partial matches within Term Names", + getSearchParams().getParam(TERM)); + menuSearchFilterSynonym = CreateMenuItem( menuSearchFilter, ITEM_CHECK, + SYN, null, 'S', "Look for partial matches within Synonyms of Terms", + getSearchParams().getParam(SYN) ); + menuSearchFilterDefinition = CreateMenuItem( menuSearchFilter, ITEM_CHECK, + DEF, null, 'D', "Look for partial matches within the Definition of Terms", + getSearchParams().getParam(DEF) ); + + addSeparator(); //obs are in a class by themselves. + menuSearchFilterObsolete = CreateMenuItem( menuSearchFilter, ITEM_CHECK, + OBS, null, 'O', "Look for partial matches within Obsolete Term Names", + getSearchParams().getParam(OBS) ); + +// searchParams = new SearchParams(); + +// JMenuItem searchSettings = new JMenuItem("Search"); +//// searchSettings.setEnabled(Config.inst().hasDataAdapters()); +// searchSettings.setActionCommand("search"); +// searchSettings.addActionListener(actionListener); + add(menuSearchFilter); + + addSeparator(); + + JMenuItem loadConfig = new JMenuItem("Configuration..."); + loadConfig.addActionListener(new ConfigActionListener()); + add(loadConfig); + + //not sure if it should be in this menu + addSeparator(); + showHistory = new JCheckBoxMenuItem("Show History"); + showHistory.setSelected(Config.inst().termHistoryIsEnabled()); + showHistory.addActionListener(new ShowHistoryActionListener()); + add(showHistory); + } + +public JMenuItem CreateMenuItem( JMenu menu, int iType, String sText, + ImageIcon image, int acceleratorKey, + String sToolTip, boolean selected) { + // Create the item + JMenuItem menuItem; + + switch( iType ) + { + case ITEM_RADIO: + menuItem = new JRadioButtonMenuItem(); + break; + + case ITEM_CHECK: + menuItem = new JCheckBoxMenuItem(); + menuItem.setSelected(selected); + menuItem.setActionCommand(sText); + break; + + default: + menuItem = new JMenuItem(); + break; + } + + // Add the item test + menuItem.setText( sText ); + + // Add the optional icon + if( image != null ) + menuItem.setIcon( image ); + + // Add the accelerator key + if( acceleratorKey > 0 ) + menuItem.setMnemonic( acceleratorKey ); + + // Add the optional tool tip text + if( sToolTip != null ) + menuItem.setToolTipText( sToolTip ); + + // Add an action handler to this menu item + menuItem.addActionListener(new SearchActionListener() ); + + menu.add( menuItem ); + + return menuItem; +} + +SearchParamsI getSearchParams() { + return searchParams.inst(); + } + + private class SearchActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + String m = ""; + + if (e.getActionCommand().equals(TERM)) { + getSearchParams().setParam(TERM, menuSearchFilterTerm.isSelected()); +// m = "TERM search is now *"+getSearchParams().searchTerms(); + } else if (e.getActionCommand().equals(SYN)) { + getSearchParams().setParam(SYN, menuSearchFilterSynonym.isSelected()); +// m = "SYN search is now *"+getSearchParams().searchSynonyms(); + } else if (e.getActionCommand().equals(DEF)) { + getSearchParams().setParam(DEF, menuSearchFilterDefinition.isSelected()); +// m = "DEF search is now *"+getSearchParams().searchDefinitions(); + } else if (e.getActionCommand().equals(OBS)) { + getSearchParams().setParam(OBS, menuSearchFilterObsolete.isSelected()); +// m = "OBS search is now *"+getSearchParams().searchObsoletes(); + } + if (!(getSearchParams().verifySettings())) { + m = "You must select at least one of Term/Synonym/Definition.\nFilter is reset to -Term-."; + JOptionPane.showMessageDialog(null,m,"Search Parameter Change", + JOptionPane.ERROR_MESSAGE); +// System.out.println("settings not right. modifying..."); + + menuSearchFilterTerm.setSelected(getSearchParams().getParam(TERM)); + } +// JOptionPane.showMessageDialog(null,m,"Search Parameter Change", +// JOptionPane.INFORMATION_MESSAGE); +// System.out.println("changing search setting"); + return; + } + } + + private class ConfigActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + // 1st step just set my-phenote.cfg & user restart phenote + // eventually reconfigure phenote in same session, cfg,obo,gui + boolean showCancel = true; + try { + String cfg = ConfigFileQueryGui.queryUserForConfigFile(showCancel); + if (cfg != null && !cfg.equals("")) + Config.writeMyPhenoteDefaultFile(cfg); + String m = "You must restart phenote for new config to take effect"; + JOptionPane.showMessageDialog(null,m,"Please restart", + JOptionPane.INFORMATION_MESSAGE); + } + catch (ConfigFileQueryGui.CancelEx ex) {} // its cancelled do nothing + catch (ConfigException x) { + String m = "Failed to change configuration "+x.getMessage(); + JOptionPane.showMessageDialog(null,m,"Config error", + JOptionPane.ERROR_MESSAGE); + } + } + } + + private class ShowHistoryActionListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + // 1st step just set my-phenote.cfg & user restart phenote + // eventually reconfigure phenote in same session, cfg,obo,gui + boolean status = showHistory.isSelected(); +// System.out.println("showHistory ="+status); + Config.inst().setTermHistory(status); + selHist.showSwitch(); + + } + } + + // for testing +// public void clickLoad() { +// loadMenuItem.doClick(); +// } +} Modified: phenote/trunk/src/java/phenote/gui/TermInfo.java =================================================================== --- phenote/trunk/src/java/phenote/gui/TermInfo.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/TermInfo.java 2007-04-19 19:44:55 UTC (rev 486) @@ -50,14 +50,14 @@ // current obo class being navigated private OBOClass currentOboClass; private UseTermListener useTermListener; - + private JPanel termInfoPanel; public TermInfo() { //TermPanel termPanel) { SelectionManager.inst().addTermSelectionListener(new InfoTermSelectionListener()); } public JComponent getComponent() { - JPanel termInfoPanel = new JPanel(new BorderLayout(0,0)); // hgap,vgap + termInfoPanel = new JPanel(new BorderLayout(0,0)); // hgap,vgap termInfoPanel.setPreferredSize(new Dimension(400,100)); //termInfoPanel.setMinimumSize(new Dimension(380,100)); //termInfoPanel.setMaximumSize(new Dimension(380,400)); @@ -89,6 +89,15 @@ return termInfoPanel; } + +// public void resizeTermInfoPanel() { +// //for now, these are absolute dimensions. in future, modify this +// //to accomodate any variable dimensions. +// termInfoPanel.setPreferredSize(new Dimension(400,100)); +// termInfoPanel.revalidate(); +// termInfoPanel.repaint(); +// +// } /** Fires use term event to use term listener with currently browsed term when useTermButton is pressed */ Modified: phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java 2007-04-19 19:44:55 UTC (rev 486) @@ -32,7 +32,8 @@ //import phenote.datamodel.CharFieldEnum; //import phenote.datamodel.CharacterI; //import phenote.datamodel.Ontology; - +import phenote.gui.SearchParams; +import phenote.gui.SearchParamsI; /** The jcombobox that does auto completion - i had to do some tricks(hacks) to get it working with mouse over which doesnt come naturally to jcombobox */ @@ -63,7 +64,7 @@ /** if false then model is not edited */ //private boolean editModel = true; //private CompletionListListener compListListener = new CompletionListListener(); - private SearchParamsI searchParams; + private SearchParamsI searchParams = SearchParams.inst(); private CompListSearcher compListSearcher; private boolean setGuiForMultiSelect = false; Modified: phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-04-19 19:44:55 UTC (rev 486) @@ -36,6 +36,9 @@ import phenote.gui.selection.CharSelectionEvent; import phenote.gui.selection.SelectionManager; +import phenote.gui.SearchParams; +import phenote.gui.SearchParamsI; + /** fields can either be text fields for free text or combo boxes if have ontology to browse - CharFieldGui does either - with get/setText - hides the details of the gui - just a field that gives text Modified: phenote/trunk/src/java/phenote/gui/field/CompListSearcher.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CompListSearcher.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/CompListSearcher.java 2007-04-19 19:44:55 UTC (rev 486) @@ -11,6 +11,8 @@ import org.geneontology.oboedit.datamodel.OBOProperty; import phenote.datamodel.Ontology; +import phenote.gui.SearchParams; +import phenote.gui.SearchParamsI; /** An aid to completion lists. Searches ontology with user input and search params @@ -24,21 +26,21 @@ //private Ontology ontology; //private boolean searchAll=false; private List<Ontology> ontologyList = new ArrayList<Ontology>(3); - private SearchParamsI searchParams; + private SearchParamsI searchParams = SearchParams.inst(); /** Ontology - the initial ontology to search, setOntology changes this, initially only searches the one ontology (not ALL) - used by servlet which currently doesnt do ALL */ public CompListSearcher(Ontology o,SearchParamsI sp) { setOntology(o); - searchParams = sp; +// searchParams = sp; } /** l - initial list of ontologies to search, as in ALL. used by CharFieldGui to set list to all ontols in field as initial setting is ALL - is this funny? */ public CompListSearcher(List<Ontology> l,SearchParamsI sp) { setOntologies(l); - searchParams = sp; +// searchParams = sp; } //void setSearchAll(boolean s) { searchAll = s; } Modified: phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/CompletionTerm.java 2007-04-19 19:44:55 UTC (rev 486) @@ -5,6 +5,9 @@ import org.geneontology.oboedit.datamodel.OBOClass; +import phenote.gui.SearchParamsI; +//import phenote.gui.SearchParams; + /** This is basically a view object for the auto completer for terms/OBOClass */ public class CompletionTerm { Modified: phenote/trunk/src/java/phenote/gui/field/FieldPanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-04-19 19:44:55 UTC (rev 486) @@ -22,6 +22,9 @@ import phenote.datamodel.OntologyManager; import phenote.gui.GridBagUtil; +import phenote.gui.SearchParamsI; +import phenote.gui.SearchParams; + /** * FieldPanel holds all the fields for the terms - Genotype, Entity/Anatomy, QUALITY. * Can be populated by hand (Genotype), or selection of instance in completion list. @@ -42,7 +45,7 @@ private static int fieldsPerTab = 12; public FieldPanel() { - this(true,true); + this(true,false); } // false for post comp panel - boolean isPostComp? public FieldPanel(boolean doAllFields,boolean addSearchPanel) { @@ -118,9 +121,10 @@ } SearchParamsI getSearchParams() { - if (searchParams == null) - searchParams = getSearchParamPanel().getSearchParams(); - return searchParams; +//// if (searchParams == null) +//// searchParams = getSearchParamPanel().getSearchParams(); +// return searchParams; + return SearchParams.inst(); } void setSearchParams(SearchParamsI sp) { searchParams = sp; } Modified: phenote/trunk/src/java/phenote/gui/field/PostCompGui.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/PostCompGui.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/PostCompGui.java 2007-04-19 19:44:55 UTC (rev 486) @@ -38,6 +38,9 @@ import phenote.gui.selection.CharSelectionListener; import phenote.gui.selection.SelectionManager; +import phenote.gui.SearchParams; +import phenote.gui.SearchParamsI; + /** A window for post composition and other wacky stuff that goes beyond the basic stuff in field (eg relational quality?) may want to be able to give up frame to put inline as well as window? Modified: phenote/trunk/src/java/phenote/gui/field/TermCompList.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/TermCompList.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/gui/field/TermCompList.java 2007-04-19 19:44:55 UTC (rev 486) @@ -26,6 +26,8 @@ import phenote.gui.selection.SelectionManager; import phenote.gui.selection.UseTermEvent; import phenote.gui.selection.UseTermListener; +import phenote.gui.SearchParams; +import phenote.gui.SearchParamsI; class TermCompList extends AbstractAutoCompList { @@ -344,7 +346,8 @@ inframe case - now window) */ private class PostCompListener implements ActionListener { public void actionPerformed(ActionEvent e) { - new PostCompGui(getCharField(),getSearchParams()); + new PostCompGui(getCharField(),SearchParams.inst()); +// new PostCompGui(getCharField(),getSearchParams()); } } Modified: phenote/trunk/src/java/phenote/main/Phenote.java =================================================================== --- phenote/trunk/src/java/phenote/main/Phenote.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/main/Phenote.java 2007-04-19 19:44:55 UTC (rev 486) @@ -206,13 +206,12 @@ ugbc.weightx = 5; upperPanel.add(termInfo.getComponent(),ugbc); - selectionHistory = new SelectionHistory(); - if (Config.inst().termHistoryIsEnabled()) { - ugbc.gridx++; - ugbc.weightx = 3; - upperPanel.add(selectionHistory.getComponent(),ugbc); - } + selectionHistory = SelectionHistory.inst(); + ugbc.gridx++; + ugbc.weightx = 3; + upperPanel.add(selectionHistory.getComponent(),ugbc); + // ugbc.gridx++; //ugbc.weightx = 3; //upperPanel.add(selectionHistory.getComponent(),ugbc); Modified: phenote/trunk/src/java/phenote/servlet/PhenoteController.java =================================================================== --- phenote/trunk/src/java/phenote/servlet/PhenoteController.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/servlet/PhenoteController.java 2007-04-19 19:44:55 UTC (rev 486) @@ -11,7 +11,10 @@ import phenote.gui.field.CompletionTerm; import phenote.gui.field.CompListSearcher; -import phenote.gui.field.SearchParamsI; +//import phenote.gui.field.SearchParamsI; +import phenote.gui.SearchParamsI; +import phenote.gui.SearchParams; + import phenote.datamodel.OntologyException; import phenote.datamodel.Ontology; import phenote.datamodel.OntologyManager; @@ -138,7 +141,7 @@ private CompListSearcher getCompListSearcher(String ontologyName) throws OntologyException { // This is currently rigged for 1 ontology, eventually may want to search all ontologies // in a field as standalone does - with ALL option - return new CompListSearcher(getOntology(ontologyName), getSearchParams()); + return new CompListSearcher(getOntology(ontologyName), SearchParams.inst()); } /** @@ -155,9 +158,9 @@ /** * for now search params hard wired - eventually from buttons on web page */ - private SearchParamsI getSearchParams() { - return new HardWiredSearchParams(); - } +// private SearchParamsI getSearchParams() { +// return new HardWiredSearchParams(); +// } private static StringBuffer dq(StringBuffer sb) { return new StringBuffer("\"" + sb + "\""); @@ -167,28 +170,28 @@ return HtmlUtil.fn(fnName, params); } - private class HardWiredSearchParams implements SearchParamsI { - public boolean searchTerms() { - return true; - } +// private class HardWiredSearchParams implements SearchParamsI { +// public boolean searchTerms() { +// return true; +// } +// +// public boolean searchSynonyms() { +// return true; // --> true +// } +// +// public boolean searchDefinitions() { +// return false; // ?? w [def]?? zfin not keen on defs +// } +// +// /** +// * Whether to include obsoletes in searching terms, syns, & definitions +// * This should be in conjunction with the other 3 +// */ +// public boolean searchObsoletes() { +// return true; // --> true w [obs], disallow selection +// } +// } - public boolean searchSynonyms() { - return true; // --> true - } - - public boolean searchDefinitions() { - return false; // ?? w [def]?? zfin not keen on defs - } - - /** - * Whether to include obsoletes in searching terms, syns, & definitions - * This should be in conjunction with the other 3 - */ - public boolean searchObsoletes() { - return true; // --> true w [obs], disallow selection - } - } - } // private Object makeCompListHtmlItemOLD(CompletionTerm term, String ontol, String field) { Modified: phenote/trunk/src/java/phenote/util/HtmlUtil.java =================================================================== --- phenote/trunk/src/java/phenote/util/HtmlUtil.java 2007-04-18 20:46:20 UTC (rev 485) +++ phenote/trunk/src/java/phenote/util/HtmlUtil.java 2007-04-19 19:44:55 UTC (rev 486) @@ -70,6 +70,7 @@ } StringBuffer sb = new StringBuffer(); sb.append("<table>"); + sb.append(makeRow(makeLeftCol(bold("ONTOLOGY"))+makeRightCol(oboClass.getNamespace().toString()))); if (oboClass.isObsolete()) { sb.append(makeRow(makeLeftCol(bold("TERM"))+makeRightCol(bold(oboClass.getName())+colorFont(bold(" (OBSOLETE)"), "red")))); } @@ -94,12 +95,13 @@ if ((definition != null) && !(definition.equals(""))) { sb.append(makeRow(makeLeftCol(bold("Definition"))+makeRightCol(definition))); } + sb.append(makeRow("<tr><td colspan=2 align=center valign=top><font size=-1><hr></font></td></tr>")); - sb.append(makeRow(makeLeftCol("")+makeRightCol(""))); - sb.append(makeRow(makeLeftCol(bold("Parents"))+makeRightCol("<hr>"))); +// sb.append(makeRow(makeLeftCol("")+makeRightCol(""))); +// sb.append(makeRow(makeLeftCol(bold("Parents"))+makeRightCol("<hr>"))); sb.append(getParentalString(oboClass)); sb.append(makeRow("")); - sb.append(makeRow(makeLeftCol(bold("Children"))+makeRightCol("<hr>"))); +// sb.append(makeRow(makeLeftCol(bold("Children"))+makeRightCol("<hr>"))); sb.append(getChildrenString(oboClass)); sb.append("</table>"); return sb.toString(); @@ -185,10 +187,14 @@ StringBuffer haspartStringBuf = new StringBuffer(); StringBuffer devFromStringBuf = new StringBuffer(); StringBuffer otherStringBuf = new StringBuffer(); + StringBuffer startStageStringBuf = new StringBuffer(); + StringBuffer endStageStringBuf = new StringBuffer(); int countIsa=0; int countPartof=0; int countHaspart=0; int countDevfrom=0; + int countStartStage=0; + int countEndStage=0; int countOther=0; //i would like to clean this up to be able to group all relationships together, despite //the fact that they could be non-standard, like in SO. might need two for-loops. @@ -215,20 +221,35 @@ countDevfrom++; appendLink(devFromStringBuf,isChild,link); } - else { //catch all other relationships +// else if (type.getName().equals("start stage") || type.getName().equals("start_stage")) { +// countStartStage++; +// appendLink(startStageStringBuf,isChild,link); +// +// } +// else if (type.getName().equals("end stage") || type.getName().equals("end_stage")) { +// countEndStage++; +// appendLink(endStageStringBuf,isChild,link); +// } + else { //catch all other relationships countOther++; otherStringBuf.append("<tr>"); - otherStringBuf.append(makeLeftCol(italic(capitalize(type.getName())))+"<td>"); + otherStringBuf.append(makeLeftCol(bold(italic(capitalize(type.getName()))))+"<td>"); appendLink(otherStringBuf,isChild,link); otherStringBuf.append("</td></tr>"); } } if (countIsa>0) - sb.append(makeRow(makeLeftCol(italic( isChild ? "Subclass (is_a)" : "Superclass (is_a)"))+makeRightCol(isaStringBuf.toString()))); + sb.append(makeRow(makeLeftCol(bold(italic( + isChild ? "Subclass (is_a)" : "Superclass (is_a)"))) + + makeRightCol(isaStringBuf.toString()))); if (countPartof>0) - sb.append(makeRow(makeLeftCol(italic( isChild ? "Has part" : "Part of"))+makeRightCol(partofStringBuf.toString()))); + sb.append(makeRow(makeLeftCol(bold(italic( + isChild ? "Has part" : "Part of"))) + + makeRightCol(partofStringBuf.toString()))); if (countDevfrom>0) - sb.append(makeRow(makeLeftCol(italic( isChild ? "Develops into" : "Develops from"))+makeRightCol(devFromStringBuf.toString()))); + sb.append(makeRow(makeLeftCol(bold(italic( + isChild ? "Develops into" : "Develops from"))) + + makeRightCol(devFromStringBuf.toString()))); if (countOther>0) sb.append(makeRow(makeLeftCol(otherStringBuf.toString()))); return sb; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-18 20:46:28
|
Revision: 485 http://svn.sourceforge.net/obo/?rev=485&view=rev Author: nlw Date: 2007-04-18 13:46:20 -0700 (Wed, 18 Apr 2007) Log Message: ----------- added enabler for term history to config spec. Modified Paths: -------------- phenote/trunk/conf/phenote-config.rnc phenote/trunk/conf/phenote-config.xsd phenote/trunk/jars/phenoteconfigbeans.jar phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/main/Phenote.java Modified: phenote/trunk/conf/phenote-config.rnc =================================================================== --- phenote/trunk/conf/phenote-config.rnc 2007-04-18 19:51:24 UTC (rev 484) +++ phenote/trunk/conf/phenote-config.rnc 2007-04-18 20:46:20 UTC (rev 485) @@ -9,6 +9,7 @@ queryable-dataadapter*, dataadapter*, uvic-graph, + term-history, obo-repository, field* } @@ -46,6 +47,8 @@ uvic-graph = element uvic-graph { attribute enable { xsd:boolean } } +term-history = element term-history { attribute enable { xsd:boolean } } + obo-repository = element obo-repository { attribute url-dir {xsd:string} } field = Modified: phenote/trunk/conf/phenote-config.xsd =================================================================== --- phenote/trunk/conf/phenote-config.xsd 2007-04-18 19:51:24 UTC (rev 484) +++ phenote/trunk/conf/phenote-config.xsd 2007-04-18 20:46:20 UTC (rev 485) @@ -7,6 +7,7 @@ <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:queryable-dataadapter"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:dataadapter"/> <xs:element ref="x:uvic-graph"/> + <xs:element ref="x:term-history"/> <xs:element ref="x:obo-repository"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:field"/> </xs:sequence> @@ -39,6 +40,11 @@ <xs:attribute name="enable" use="required" type="xs:boolean"/> </xs:complexType> </xs:element> + <xs:element name="term-history"> + <xs:complexType> + <xs:attribute name="enable" use="required" type="xs:boolean"/> + </xs:complexType> + </xs:element> <xs:element name="obo-repository"> <xs:complexType> <xs:attribute name="url-dir" use="required" type="xs:string"/> 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-04-18 19:51:24 UTC (rev 484) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-04-18 20:46:20 UTC (rev 485) @@ -25,12 +25,14 @@ import phenote.config.xml.OboRepositoryDocument.OboRepository; import phenote.config.xml.PhenoteConfigurationDocument.PhenoteConfiguration; import phenote.config.xml.UvicGraphDocument.UvicGraph; +import phenote.config.xml.TermHistoryDocument.TermHistory; import phenote.dataadapter.DataAdapterI; import phenote.dataadapter.QueryableDataAdapterI; import phenote.datamodel.CharField; import phenote.datamodel.CharFieldEnum; import phenote.util.FileUtil; + public class Config { public final static String FLYBASE_DEFAULT_CONFIG_FILE = "flybase.cfg"; @@ -44,6 +46,7 @@ private List<FieldConfig> allFields = new ArrayList<FieldConfig>(); private String logConfigFile = "conf/log4j.xml"; // default log config file private boolean uvicGraphEnabled = false; // default false for now + private boolean termHistoryEnabled = true; //default to false for now private String reposUrlDir; private String version; private boolean configInitialized = false; @@ -336,6 +339,8 @@ /** config flag for enabling uvic shrimp dag graph */ public boolean uvicGraphIsEnabled() { return uvicGraphEnabled; } + public boolean termHistoryIsEnabled() { return termHistoryEnabled; } + public URL getLogConfigUrl() throws FileNotFoundException { return FileUtil.findUrl(logConfigFile); } @@ -484,6 +489,11 @@ if (gr != null) uvicGraphEnabled = gr.getEnable(); + // TERM HISTORY + TermHistory history = pc.getTermHistory(); + if (history != null) + termHistoryEnabled = gr.getEnable(); + // Repos url dir OboRepository or = pc.getOboRepository(); if (or != null && or.getUrlDir() != null) Modified: phenote/trunk/src/java/phenote/main/Phenote.java =================================================================== --- phenote/trunk/src/java/phenote/main/Phenote.java 2007-04-18 19:51:24 UTC (rev 484) +++ phenote/trunk/src/java/phenote/main/Phenote.java 2007-04-18 20:46:20 UTC (rev 485) @@ -207,9 +207,15 @@ upperPanel.add(termInfo.getComponent(),ugbc); selectionHistory = new SelectionHistory(); - ugbc.gridx++; - ugbc.weightx = 3; - upperPanel.add(selectionHistory.getComponent(),ugbc); + if (Config.inst().termHistoryIsEnabled()) { + ugbc.gridx++; + ugbc.weightx = 3; + upperPanel.add(selectionHistory.getComponent(),ugbc); + } + + // ugbc.gridx++; + //ugbc.weightx = 3; + //upperPanel.add(selectionHistory.getComponent(),ugbc); //++gbc.gridx; // ?? //gbc.anchor = GridBagConstraints.NORTHWEST; // ?? //mainPanel.add(termInfo.getComponent(),gbc); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-04-18 19:51:23
|
Revision: 484 http://svn.sourceforge.net/obo/?rev=484&view=rev Author: mgibson Date: 2007-04-18 12:51:24 -0700 (Wed, 18 Apr 2007) Log Message: ----------- more docs for adding configuarations - nicole please review Modified Paths: -------------- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html Modified: phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html =================================================================== --- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 18:30:27 UTC (rev 483) +++ phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 19:51:24 UTC (rev 484) @@ -53,10 +53,42 @@ 3) generate xmlbeans from xsd. <br> 3a) You need to download scomp, and jsr-api.jar and xbean.jar jar files from apache xml beans<br> see http://xmlbeans.apache.org/ and its download dir http://www.apache.org/dyn/closer.cgi/xmlbeans<br> -current tgz or zip - and unzip and/or untar it. <br> -3b) Then run scomp using our phenotcomp scomp -compiler -/path/to/javac -cp /path/to/jsr173_1.0_api.jar:/path/to/xbean.jar --out /path/to/phenote/jars/phenoteconfigbeans.jar -/home/mgibson/p/conf/phenote-config.xsd +current tgz or zip - and unzip and/or untar it. The relevant bits are bin/scomp and the jsrwithnumbers.jar and xbean.jar <br> +make sure to change the permissions on scomp so its executable.<br> +3b) Before we run scomp we need to set envrionment vars something like so (for unix/linux at least):<br> +<pre class="code">export XMLBEANS_HOME=/home/me/xmlbeans-2.1.0<br>export PATH=$PATH:$XMLBEANS_HOME/bin<br>export CLASSPATH=$XMLBEANS_HOME/lib/xbean.jar:$XMLBEANS_HOME/lib/jsr173_1.0_api.jar:$CLASSPATH</pre> + +3c) Then run scomp using the above jars and the xsd file to create jars/phenote (all on one line):<br> +<br> +scomp -out /path/to/phenote/jars/phenoteconfigbeans.jar /home/mgibson/p/conf/phenote-config.xsd<br> +<br> +Now you should have a phenoteconfigbeans.jar file. With this jar we can now write java config code.<br> +<br> +4) Modify java config files. Go to the file src/java/phenote/config/Config.java.<br> +<br> +a) First put in the appropriate import statement from the xmlbean jar, something like<br> +import phenote.config.xml.UvicGraphDocument.UvicGraph;<br> +<br> +b) The simple case is just adding a top level config boolean option - like enabling Uvic graphics - so ill go with that. <br> +- add a boolean var to Config. <br> +- modify the parseXmlUrl(URL configUrl) method with something like:<br> + UvicGraph gr = pc.getUvicGraph();<br> + if (gr != null)<br> + uvicGraphEnabled = gr.getEnable();<br> +<br> +- add a public getter method like:<br> + public boolean uvicGraphIsEnabled() { return uvicGraphEnabled; }<br> +- you need to deal with config upgrades to make sure youre new param +gets merged into old configs without wiping out a user previous config +settings (the default and -u option run by webstart)<br> +so in this method:<br> +void mergeNewWithOld(URL newConfig,File oldDotConfFile)<br> +where you need to add something like<br> + oldCfg.uvicGraphEnabled = newCfg.uvicGraphEnabled; <br> +notice this just wipes out the new with the old - you may actually want +to ask the user if they want this to happen (with a popup box or +something)<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-04-18 18:30:30
|
Revision: 483 http://svn.sourceforge.net/obo/?rev=483&view=rev Author: mgibson Date: 2007-04-18 11:30:27 -0700 (Wed, 18 Apr 2007) Log Message: ----------- another sentence for nicole - svn fun Modified Paths: -------------- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html Modified: phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html =================================================================== --- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 18:10:15 UTC (rev 482) +++ phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 18:30:27 UTC (rev 483) @@ -36,18 +36,27 @@ classes from an xsd file. <br> <br> 1) Add your new config item to the config/phenote-config.rnc file. An -rnc file is (i think) a handier way of specifying xml schemas<br> +rnc file is (i think) a handier way of specifying xml schemas. The best +thing to do there is to look how other elements are configured and just +copy & tweek.<br> <br> 2) trang the rnc file into an xsd file. <br> 2a) To do this you first need to download the trang jar file see: http://www.thaiopensource.com/relaxng/trang.html and its download dir -http://www.thaiopensource.com/download/<br> -2b) run trang with rnc as input and xsd as output like so:<br> +http://www.thaiopensource.com/download/ where you can download a zip +file like <a href="http://www.thaiopensource.com/download/trang-20030619.zip">trang-20030619.zip<span style="text-decoration: underline;"> </span></a><br> +and unzip which should give you the jar - and put that jar whereever you like.<br> +<span style="font-family: monospace;"></span>2b) cd to conf directory and run trang with rnc as input and xsd as output like so and this will recreate the xsd:<br> java -jar /path/to/trang/trang.jar phenote-config.rnc phenote-config.xsd<br> +You can check the xsd to see if it has the element that you added in the rnc if you like.<br> <br> 3) generate xmlbeans from xsd. <br> -3a) You need to download scomp from apache xml beans<br> +3a) You need to download scomp, and jsr-api.jar and xbean.jar jar files from apache xml beans<br> see http://xmlbeans.apache.org/ and its download dir http://www.apache.org/dyn/closer.cgi/xmlbeans<br> -3b) +current tgz or zip - and unzip and/or untar it. <br> +3b) Then run scomp using our phenotcomp scomp -compiler +/path/to/javac -cp /path/to/jsr173_1.0_api.jar:/path/to/xbean.jar +-out /path/to/phenote/jars/phenoteconfigbeans.jar +/home/mgibson/p/conf/phenote-config.xsd </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-04-18 18:10:13
|
Revision: 482 http://svn.sourceforge.net/obo/?rev=482&view=rev Author: mgibson Date: 2007-04-18 11:10:15 -0700 (Wed, 18 Apr 2007) Log Message: ----------- another sentence Modified Paths: -------------- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html Modified: phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html =================================================================== --- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 18:03:02 UTC (rev 481) +++ phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 18:10:15 UTC (rev 482) @@ -46,6 +46,8 @@ java -jar /path/to/trang/trang.jar phenote-config.rnc phenote-config.xsd<br> <br> 3) generate xmlbeans from xsd. <br> -3a) You need to download scomp from apache xml beans +3a) You need to download scomp from apache xml beans<br> +see http://xmlbeans.apache.org/ and its download dir http://www.apache.org/dyn/closer.cgi/xmlbeans<br> +3b) </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-04-18 18:03:06
|
Revision: 481 http://svn.sourceforge.net/obo/?rev=481&view=rev Author: mgibson Date: 2007-04-18 11:03:02 -0700 (Wed, 18 Apr 2007) Log Message: ----------- docs for adding to configuration in phenote Modified Paths: -------------- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html Modified: phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html =================================================================== --- phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-12 17:43:02 UTC (rev 480) +++ phenote/trunk/doc/phenote-website/developer-docs/developer-docs.html 2007-04-18 18:03:02 UTC (rev 481) @@ -1,12 +1,21 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + + <title>Developer docs</title> </head> + + <body> + <h3><span style="text-decoration: underline;">Editing the model</span></h3> + So a phenote.edit.CharChangeEvent has a phenote.edit.TransactionI. <br> + so when a gui component like CharFieldGui wants to edit the model it calls a method on the EditManager. For instance, for updating multiple fields at once CharFieldGui makes a bunch of @@ -18,6 +27,25 @@ CharChangeEvent out to CharChangeListeners notifying them that the model has been changed, and adds the transaction to its list of transactions (for undo).<br> -A phenote.edit.TransactionI knows how to edit and undo its edit to the datamodel. + +A phenote.edit.TransactionI knows how to edit and undo its edit to the datamodel.<br> +<br> +<h3><span style="text-decoration: underline;">Adding new configuration params</span></h3> +Phenote configuration is done with a xml file, that xml file is read +& written with apaches xml beans. Xml beans code generates java +classes from an xsd file. <br> +<br> +1) Add your new config item to the config/phenote-config.rnc file. An +rnc file is (i think) a handier way of specifying xml schemas<br> +<br> +2) trang the rnc file into an xsd file. <br> +2a) To do this you first need to download the trang jar file see: +http://www.thaiopensource.com/relaxng/trang.html and its download dir +http://www.thaiopensource.com/download/<br> +2b) run trang with rnc as input and xsd as output like so:<br> +java -jar /path/to/trang/trang.jar phenote-config.rnc phenote-config.xsd<br> +<br> +3) generate xmlbeans from xsd. <br> +3a) You need to download scomp from apache xml beans </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <azu...@us...> - 2007-04-12 17:43:08
|
Revision: 480 http://svn.sourceforge.net/obo/?rev=480&view=rev Author: azurebrd Date: 2007-04-12 10:43:02 -0700 (Thu, 12 Apr 2007) Log Message: ----------- Forgot to add worm_development.obo, or it had been added and it got removed at some point. Added Paths: ----------- phenote/trunk/obo-files/worm_development.obo Added: phenote/trunk/obo-files/worm_development.obo =================================================================== --- phenote/trunk/obo-files/worm_development.obo (rev 0) +++ phenote/trunk/obo-files/worm_development.obo 2007-04-12 17:43:02 UTC (rev 480) @@ -0,0 +1,425 @@ +format-version: 1.0 +date: 09:08:2005 16:09 +saved-by: gwg +auto-generated-by: DAG-Edit 1.419 rev 3 +default-namespace: worm_development +remark: Version: 1.03 +remark: Date: 05/24/02 +remark: Editors: Wen J. Chen, WormBase, Caltech +remark: This DAG flat files is created for Lifestage system used in WormBase + +[Term] +id: LS:0000041 +name: adult +is_a: WBls:0000022 ! postembryonic + +[Term] +id: WBls:0000001 +name: C. elegans Development DAG + +[Term] +id: WBls:0000002 +name: all stages +def: "All C. elegans development stages\, including embryo\, larva and adult stage." [wb:wjc] +is_a: WBls:0000001 ! C. elegans Development DAG + +[Term] +id: WBls:0000003 +name: embryo +def: "The whole period of embryogenesis\, from the formation of an egg till its hatch. " [wb:wjc] +is_a: WBls:0000002 ! all stages + +[Term] +id: WBls:0000004 +name: proliferating embryo +def: "0-350min after first cleavage at 20 Centigrade. Proliferate from 1 cell to 560 cells. From start of first cleavage till cleavage is over." [wb:wjc] +is_a: WBls:0000003 ! embryo + +[Term] +id: WBls:0000005 +name: blastula embryo +def: "0-100min after first cleavage at 20 Centigrade. Proliferate from 1 cell to 28 cells. From first cleavage till the start of gastrulation." [wb:wjc] +is_a: WBls:0000004 ! proliferating embryo + +[Term] +id: WBls:0000006 +name: 1-cell embryo +def: "Also called zygote. -50min till 0min of first cleavage at 20 Centigrade. Contains 1 cell." [wb:wjc] +is_a: WBls:0000005 ! blastula embryo + +[Term] +id: WBls:0000007 +name: 2-cell embryo +def: "0-20min after first cleavage at 20 Centigrade. Contains 2 cells." [wb:wjc] +is_a: WBls:0000005 ! blastula embryo + +[Term] +id: WBls:0000008 +name: 4-cell embryo +def: "20-40min after first cleavage at 20 Centigrade. Contains 4 cells." [wb:wjc] +is_a: WBls:0000005 ! blastula embryo + +[Term] +id: WBls:0000009 +name: 28-cell embryo +def: "100-105min after first cleaveage at 20 Centigrade. Contains 28 cells." [wb:wjc] +is_a: WBls:0000005 ! blastula embryo + +[Term] +id: WBls:0000010 +name: gastrulating embryo +def: "100-290min after first cleavage at 20 Centigrade. Proliferate from 28 cells to 421 cells. Referring to the whole period of gastrulation." [wb:wjc] +is_a: WBls:0000004 ! proliferating embryo + +[Term] +id: WBls:0000011 +name: 51-cell embryo +def: "120-135min after first cleavage at 20 Centigrade. Contains 51 cells." [wb:wjc] +is_a: WBls:0000010 ! gastrulating embryo + +[Term] +id: WBls:0000012 +name: 88-cell embryo +def: "145-150min after first cleavage at 20 Centigrade. Contains 88 cells." [wb:wjc] +is_a: WBls:0000010 ! gastrulating embryo + +[Term] +id: WBls:0000013 +name: enclosing embryo +def: "290-350min after first cleavage at 20 Centigrade. Proliferate from 421 cells to 560 cells. The stage when embryo just finished gastulation and is enclosing." [wb:wjc] +is_a: WBls:0000004 ! proliferating embryo + +[Term] +id: WBls:0000014 +name: late cleavage stage embryo +def: "210-350min after first cleavage at 20 Centigrade. Proliferate from 421 cells to 560 cells. The stage before the fast cleavage of cells finishes. " [wb:wjc] +is_a: WBls:0000004 ! proliferating embryo + +[Term] +id: WBls:0000015 +name: elongating embryo +def: "350-620min after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. The stage that embryo starts elongation till elongation is over." [wb:wjc] +is_a: WBls:0000003 ! embryo + +[Term] +id: WBls:0000016 +name: bean embryo +def: "350-390min after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. Emrbyo elongation started but have not formed comma shape yet. The shape of embryo looks like a lima bean. A stage right before comma embryo. Also called lima embryo or lima bean stage." [wb:wjc] +is_a: WBls:0000015 ! elongating embryo + +[Term] +id: WBls:0000017 +name: comma embryo +def: "390-420min after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. The shape of embryo looks like a comma. A stage between bean embryo and 1.5-fold embryo. " [wb:wjc] +is_a: WBls:0000015 ! elongating embryo + +[Term] +id: WBls:0000018 +name: 1.5-fold embryo +def: "420-460min after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. The shape of embryo is elongated and fold back 50%. A stage between comma embryo and 2-fold embryo." [wb:wjc] +is_a: WBls:0000015 ! elongating embryo + +[Term] +id: WBls:0000019 +name: 2-fold embryo +def: "460-520min after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. The shape of embryo is elongated and double fold. A stage between 1.5-fold embryo and 3-fold embryo." [wb:wjc] +is_a: WBls:0000015 ! elongating embryo + +[Term] +id: WBls:0000020 +name: 3-fold embryo +def: "520-620min after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. The shape of embryo is elongated and tripple fold. A stage between 2-fold embryo and fully-elongated embryo. Also called pretzel embryo or pretzel stage." [wb:wjc] +is_a: WBls:0000015 ! elongating embryo + +[Term] +id: WBls:0000021 +name: fully-elongated embryo +def: "620-800min(hatch) after first cleavage at 20 Centigrade. Cell number remains at ~560 cells\, with some new cells generated and some cells go through programmed cell death. A stage after elongation is over. The last stage of embryogenesis. Also called pre-hatched embryo\, late embryo or morphogenetic embryo." [wb:wjc] +is_a: WBls:0000003 ! embryo + +[Term] +id: WBls:0000022 +name: postembryonic +def: "The stage after hatch till death." [wb:wjc] +is_a: WBls:0000002 ! all stages + +[Term] +id: WBls:0000023 +name: larva +def: "From the time after hatch till becomes adult." [wb:wjc] +is_a: WBls:0000022 ! postembryonic + +[Term] +id: WBls:0000024 +name: L1 larva +def: "The first stage larva. At 25 Centigrade\, it ranges 14-25.5 hours after fertilization\, 0-11.5 hours after hatch." [wb:wjc] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000025 +name: L1-L2 lethargus +def: "The stage during L1-L2 molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000026 ! L1-L2 molt + +[Term] +id: WBls:0000026 +name: L1-L2 molt +def: "The stage when an animal shifts from L1 larva to L2 larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000024 ! L1 larva + +[Term] +id: WBls:0000027 +name: L2 larva +def: "The second stage larva. At 25 Centigrade\, it ranges 25.5-32.5 hours after fertilization\, 11.5-18.5 hours after hatch." [wb:wjc] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000028 +name: L2-L3 lethargus +def: "The stage during L2-L3 molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000029 ! L2-L3 molt + +[Term] +id: WBls:0000029 +name: L2-L3 molt +def: "The stage when an animal shifts from L2 larva to L3 larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000027 ! L2 larva + +[Term] +id: WBls:0000030 +name: L2d-dauer lethargus +def: "The stage during L2d-dauer molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000031 ! L2d-dauer molt + +[Term] +id: WBls:0000031 +name: L2d-dauer molt +def: "The stage when an animal shifts from L2d larva to dauer larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle. " [wb:wjc] +is_a: WBls:0000046 ! L2d larva + +[Term] +id: WBls:0000032 +name: dauer larva +def: "A third stage larva specialized for dispersal and long term survival. " [ISBN:0-87969-433-5] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000033 +name: postdauer-L4 lethargus +def: "The stage during postdauer-L4 molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000034 ! postdauer-L4 molt + +[Term] +id: WBls:0000034 +name: postdauer-L4 molt +def: "The stage when an animal shifts from post dauer stage to L4 larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000052 ! post dauer stage + +[Term] +id: WBls:0000035 +name: L3 larva +def: "The third stage larva. At 25 Centigrade\, it ranges 32.5-40 hours after fertilization\, 18.5-26 hours after hatch." [wb:wjc] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000036 +name: L3-L4 lethargus +def: "The stage during L3-L4 molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000037 ! L3-L4 molt + +[Term] +id: WBls:0000037 +name: L3-L4 molt +def: "The stage when an animal shifts from L3 larva to L4 larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000035 ! L3 larva + +[Term] +id: WBls:0000038 +name: L4 larva +def: "The fourth stage larva. At 25 Centigrade\, it ranges 40-49.5 hours after fertilization\, 26-35.5 hours after hatch." [wb:wjc] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000039 +name: L4-adult lethargus +def: "The stage during L4-adult molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000040 ! L4-adult molt + +[Term] +id: WBls:0000040 +name: L4-adult molt +def: "The stage when an animal shifts from L4 larva to adult. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000038 ! L4 larva + +[Term] +id: WBls:0000042 +name: L1-L2 ecdysis +def: "The stage during L1-L2 molt\, after the brief lethargus period\, when an animal sheds off old cuticle." [wb:wjc] +is_a: WBls:0000026 ! L1-L2 molt + +[Term] +id: WBls:0000043 +name: L1-L2d molt +def: "The stage when an animal shifts from L1 larva to L2d larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000024 ! L1 larva + +[Term] +id: WBls:0000044 +name: L1-L2d lethargus +def: "The stage during L1-L2d molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000043 ! L1-L2d molt + +[Term] +id: WBls:0000045 +name: L1-L2d ecdysis +def: "The stage during L1-L2d molt\, after the brief lethargus period\, when an animal sheds off old cuticle." [wb:wjc] +is_a: WBls:0000043 ! L1-L2d molt + +[Term] +id: WBls:0000046 +name: L2d larva +def: "A special second stage larva with altered physiology and developmental potential that leads to formation of dauer larva. At 25 Centigrade\, it ranges 25.5-32.5 hours after fertilization\, 11.5-18.5 hours after hatch." [ISBN:0-87969-433-5] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000047 +name: L2-L3 ecdysis +def: "The stage during L2-L3 molt\, after the brief lethargus period\, when an animal sheds off old cuticle." [wb:wjc] +is_a: WBls:0000029 ! L2-L3 molt + +[Term] +id: WBls:0000048 +name: L2d-dauer ecdysis +def: "The stage during L2d-dauer molt\, after the brief lethargus period\, when an animal sheds off old cuticle." [wb:wjc] +is_a: WBls:0000031 ! L2d-dauer molt + +[Term] +id: WBls:0000049 +name: L3-L4 ecdysis +def: "The stage during L3-L4 molt\, after the brief lethargus period\, when an animal sheds off old cuticle. " [wb:wjc] +is_a: WBls:0000037 ! L3-L4 molt + +[Term] +id: WBls:0000050 +name: L4-adult ecdysis +def: "The stage during L4-adult molt\, after the brief lethargus period\, when an animal shed off old cuticle. " [wb:wjc] +is_a: WBls:0000040 ! L4-adult molt + +[Term] +id: WBls:0000051 +name: postdauer-L4 ecdysis +def: "The stage during postdauer-L4 molt\, after the brief lethargus period\, when an animal sheds off old cuticle." [wb:wjc] +is_a: WBls:0000034 ! postdauer-L4 molt + +[Term] +id: WBls:0000052 +name: post dauer stage +def: "The stage right after an animal recovered from dauer but has not started transformation to L4 larva yet. " [wb:wjc] +is_a: WBls:0000023 ! larva + +[Term] +id: WBls:0000053 +name: L2d-L3 molt +def: "The stage when an animal shifts from L2d larva to L3 larva. It includes the synthesis of new cuticle\, cease of phrayngeal pumping during a lethargus stage\, and the shed off of old cuticle." [wb:wjc] +is_a: WBls:0000046 ! L2d larva + +[Term] +id: WBls:0000054 +name: L2d-L3 lethargus +def: "The stage during L2d-L3 molt when an animal becomes lethargic\, ceases pharyngeal pumping and synthesizes new cuticle under the old. " [wb:wjc] +is_a: WBls:0000053 ! L2d-L3 molt + +[Term] +id: WBls:0000055 +name: L2d-L3 ecdysis +def: "The stage during L2d-L3 molt\, after the brief lethargus period\, when an animal sheds off old cuticle." [wb:wjc] +is_a: WBls:0000053 ! L2d-L3 molt + +[Term] +id: WBls:0000056 +name: adult male +def: "The stage after an male animal is fully-developed and reaches maturity." [wb:wjc] +is_a: LS:0000041 ! adult + +[Term] +id: WBls:0000057 +name: adult hermaphrodite +def: "The stage after an hermaphrodite animal is fully-developed and reaches maturity." [wb:wjc] +is_a: LS:0000041 ! adult + +[Term] +id: WBls:0000058 +name: pre-reproductive stage adult hermaphrodite +def: "Very young adult hermaphrodites that do not have eggs in the uterus yet. At 20 Centigrade\: 0 - 13 hours after L4-adult molt. 3 days after first cleaveage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000060 +name: reproductive stage adult hermaphrodite +def: "Adult hermaphrodites continuously laying fertilized eggs. hermaphrodite in egg laying stages--ususally up to 4/5 days after L4-adult molt at Centigrade. From the first fertilized egg is laid\, til all sperms are used. At 20 Centigrade\: 13 hours after L4-adult molt until about 5.4 days after the L4-adult molt. 3-8.4 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000061 +name: oocyte-laying stage adult hermaphrodite +def: "When egg-laying is still going on but intermittent and during which a significant number of oocytes are laid. Included in reproductive stage adult hermaphrodite." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000062 +name: post-reproductive stage adult hermaphrodite +def: "Adult hermaphrodites that contain no more sperm\, thus stop egg-laying\, but still alive. At 20 Centigrade\: 5.4 days after L4-adult molt until the death. 8.4 - 13.2 (average wild type life span) days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000063 +name: newly molted young adult hermaphrodite +def: "At 20 Centigrade\: 0-24 hours after L4-adult molt." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000064 +name: 1-day post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 24-48 hours after L4-adult molt. 4-5 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000065 +name: 2-days post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 48-72 hours after L4-adult molt. 5-6 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000066 +name: 3-days post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 72-96 hours after L4-adult molt. 6-7 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000067 +name: 4-days post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 96-120 hours after L4-adult molt. 7-8 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000068 +name: 5-days post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 5-6 days after L4-adult molt. 8-9 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000069 +name: 4-7 days post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 4-7 days after L4-adult molt. 7-10 days after first cleavage." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Term] +id: WBls:0000070 +name: 7-10 days post-L4 adult hermaphrodite +def: "At 20 Centigrade\: 7-10 days after L4-adult molt. 10-13 days after first cleavage. Usually this is the end of wild type C. elegans life span." [wb:wjc] +is_a: WBls:0000057 ! adult hermaphrodite + +[Typedef] +id: is_a +name: is a + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <azu...@us...> - 2007-04-12 02:49:13
|
Revision: 479 http://svn.sourceforge.net/obo/?rev=479&view=rev Author: azurebrd Date: 2007-04-11 19:49:15 -0700 (Wed, 11 Apr 2007) Log Message: ----------- Changed the postgresql jar to a java 1.5 version instead of 1.6 Added Paths: ----------- phenote/trunk/jars/postgresql-8.2-504.jdbc3.jar Removed Paths: ------------- phenote/trunk/jars/postgresql-8.2-504.jdbc4.jar Added: phenote/trunk/jars/postgresql-8.2-504.jdbc3.jar =================================================================== (Binary files differ) Property changes on: phenote/trunk/jars/postgresql-8.2-504.jdbc3.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: phenote/trunk/jars/postgresql-8.2-504.jdbc4.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <azu...@us...> - 2007-04-12 02:29:31
|
Revision: 477 http://svn.sourceforge.net/obo/?rev=477&view=rev Author: azurebrd Date: 2007-04-11 19:29:30 -0700 (Wed, 11 Apr 2007) Log Message: ----------- query now parses postgres data for person, publication, and phenotype from postgres to match ontology Modified Paths: -------------- phenote/trunk/conf/worm.cfg phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java Modified: phenote/trunk/conf/worm.cfg =================================================================== --- phenote/trunk/conf/worm.cfg 2007-04-12 01:51:52 UTC (rev 476) +++ phenote/trunk/conf/worm.cfg 2007-04-12 02:29:30 UTC (rev 477) @@ -44,8 +44,7 @@ </field> <field name="Entity" syntax-abbrev="E" enable="true"> - <ontology name="Relationship" file="rex.obo" - is-postcomp-rel="true" repos-subdir="rex"/> + <ontology name="Relationship" file="rex.obo" is-postcomp-rel="true" repos-subdir="rex"/> <ontology name="GO" file="gene_ontology.obo"/> <ontology name="CHEBI" file="chebi.obo" repos-subdir="chebi"/> <ontology name="Worm" file="worm_anatomy.obo" repos-subdir="worm_anatomy"/> Modified: phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java 2007-04-12 01:51:52 UTC (rev 476) +++ phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java 2007-04-12 02:29:30 UTC (rev 477) @@ -347,16 +347,22 @@ String postgres_value = "No postgres value assigned"; String postgres_table = "app_term"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); -// c1.setValue("Phenotype",postgres_value); // assign the queried value + String phenotype_match = find("(WBPhenotype[0-9]*)", postgres_value); // Find a WBPhenotype followed by any amount of digits + if (phenotype_match != null) { postgres_value = phenotype_match; } // query for this, otherwise keep the default value + c1.setValue("Phenotype",postgres_value); // assign the queried value postgres_table = "app_curator"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Curator",postgres_value); // assign the queried value postgres_table = "app_paper"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); -// c1.setValue("Pub",postgres_value); // assign the queried value + String paper_match = find("(WBPaper[0-9]*)", postgres_value); // Find a WBPaper followed by any amount of digits + if (paper_match != null) { postgres_value = paper_match; } // query for this, otherwise keep the default value + c1.setValue("Pub",postgres_value); // assign the queried value postgres_table = "app_person"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); -// c1.setValue("Person",postgres_value); // assign the queried value + String person_match = find("(WBPerson[0-9]*)", postgres_value); // Find a WBPerson followed by any amount of digits + if (person_match != null) { postgres_value = person_match; } // query for this, otherwise keep the default value + if (postgres_value == "No postgres value assigned") { } else { c1.setValue("Person",postgres_value); } // assign the queried value postgres_table = "app_phenotype"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("NBP",postgres_value); // assign the queried value @@ -430,7 +436,7 @@ charList.add(c1); // add the character to the character list } catch (TermNotFoundException e) { - System.out.println("Term Not Found Exception, assigning characters by Object Name."); } + System.out.println("Term Not Found Exception, assigning characters "+e.getMessage()); } catch (CharFieldException e) { System.out.println("Char Field Exception, assigning characters "+e.getMessage()); } return charList; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <azu...@us...> - 2007-04-12 01:51:53
|
Revision: 476 http://svn.sourceforge.net/obo/?rev=476&view=rev Author: azurebrd Date: 2007-04-11 18:51:52 -0700 (Wed, 11 Apr 2007) Log Message: ----------- CharFieldGui now queries with ID if it's an ontology term, and with text if it's a free text. Changed some Worm Fields. Change worm.cfg Added a few ontologies. Modified Paths: -------------- phenote/trunk/conf/worm.cfg phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java Modified: phenote/trunk/conf/worm.cfg =================================================================== --- phenote/trunk/conf/worm.cfg 2007-04-12 00:51:44 UTC (rev 475) +++ phenote/trunk/conf/worm.cfg 2007-04-12 01:51:52 UTC (rev 476) @@ -15,22 +15,26 @@ <obo-repository url-dir="http://www.berkeleybop.org/ontologies/obo-all/"/> - <field name="Allele" syntax-abbrev="Allele" enable="true"/> + <field name="Object Type" enable="true"/> - <field name="Pub" syntax-abbrev="PUB" enable="true"/> + <field name="Object Name" enable="true"/> - <field name="Curator" syntax-abbrev="Curator" enable="true"/> + <field name="Pub" enable="true"> + <ontology name="Pub" file="wbpaper.obo"/> + </field> - <field name="Person" syntax-abbrev="Person" enable="true"/> + <field name="Reference Remark" syntax-abbrev="OtherRemark" enable="true"/> + + <field name="Person" enable="true"> + <ontology name="Person" file="wbperson.obo"/> + </field> - <field name="Phenotype Text Remark" syntax-abbrev="PhenotypeTextRemark" enable="true"/> + <field name="NBP" syntax-abbrev="PhenotypeTextRemark" enable="true"/> - <field name="Other Remark" syntax-abbrev="OtherRemark" enable="true"/> + <field name="Curator" syntax-abbrev="Curator" enable="true"/> - <field name="Genetic Interaction" syntax-abbrev="GeneticInteraction" enable="true"/> - - <field name="Phenotype" syntax-abbrev="GeneticInteraction" enable="true"> - <!-- ontology name="Pheno" file="pheno.obo" --> + <field name="Phenotype" enable="true"> + <ontology name="Phenotype" file="c_elegans_phenotype_ontology.obo"/> </field> <field name="Phenotype Remark" syntax-abbrev="PhenotypeRemark" enable="true"/> @@ -51,20 +55,21 @@ <field name="Quality" file="quality.obo" syntax-abbrev="Q" repos-subdir="phenotype" enable="true"/> - <field name="Stage" syntax-abbrev="T" enable="true"> - <!-- ontology name="Stage" file="stage.obo" --> + <field name="Life Stage" syntax-abbrev="T" enable="true"> + <ontology name="Life Stage" file="worm_development.obo" repos-subdir="worm_development"/> </field> <field name="Allele Nature" enable="true"/> <field name="Functional Change" enable="true"/> <field name="Temperature" enable="true"/> - <field name="Preparation" enable="true"/> + <field name="Treatment" enable="true"/> <field name="Penetrance" enable="true"/> - <field name="Penetrance Percent" enable="true"/> - <field name="Penetrance Range" enable="true"/> + <field name="Penetrance Remark" enable="true"/> + <field name="Penetrance Range Start" enable="true"/> <!-- Integer --> + <field name="Penetrance Range End" enable="true"/> <!-- Integer --> + <field name="Quantity Remark" enable="true"/> <field name="Quantity" enable="true"/> - <field name="Quantity Remark" enable="true"/> <field name="Heat Sensitive" enable="true"/> <!-- Boolean --> <field name="Heat Sensitive Degree" enable="true"/> <field name="Cold Sensitive" enable="true"/> <!-- Boolean --> @@ -73,6 +78,5 @@ <field name="Paternal Effect" enable="true"/> <!-- BOOLEAN --> <field name="Genotype" enable="true"/> <field name="Strain" enable="true"/> - <field name="Delivered By" enable="true"/> </phenote-configuration> Modified: phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java 2007-04-12 00:51:44 UTC (rev 475) +++ phenote/trunk/src/java/phenote/dataadapter/worm/WormAdapter.java 2007-04-12 01:51:52 UTC (rev 476) @@ -54,7 +54,7 @@ for (CharacterI chr : charList.getList()) { // System.out.println("Chr "+chr+" end"); try { - String allele = chr.getValueString("Allele"); // get the allele value from the character, currently could have a column number + String allele = chr.getValueString("Object Name"); // get the allele value from the character, currently could have a column number int colI = 0; // initialize column to zero String match = find(".* - ([0-9]+)", allele); // Find a tempname followed by space - space number if (match != null) { colI = Integer.parseInt(match); } // get the column number if there is one @@ -72,7 +72,8 @@ se.printStackTrace(); System.exit(1); } } // System.out.println( "Allele : "+allele+" end."); // System.out.println( "Column : "+colI+" end."); - String app_paper = chr.getValueString("Pub"); +// String app_paper = chr.getValueString("Pub"); + String app_paper = chr.getTerm("Pub").getID(); String postgres_table = "app_paper"; String postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_paper)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_paper); } @@ -87,18 +88,18 @@ postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_person)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_person); } // System.out.println( "Person : "+person+" end."); - String app_phenotype = chr.getValueString("Phenotype Text Remark"); + String app_phenotype = chr.getValueString("NBP"); postgres_table = "app_phenotype"; postgres_value = "No postgres value assigned"; // System.out.println( "Phenotype Text Remark : "+app_phenotype+" end."); postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); // System.out.println( "Phenotype Text Remark Postgres : "+postgres_value+" end."); if (postgres_value.equals(app_phenotype)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_phenotype); } // System.out.println( "Phenotype Text Remark : "+app_phenotype+" end."); - String app_remark = chr.getValueString("Other Remark"); + String app_remark = chr.getValueString("Reference Remark"); postgres_table = "app_remark"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_remark)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_remark); } -// System.out.println( "Other Remark : "+remark+" end."); +// System.out.println( "Reference Remark : "+remark+" end."); String app_intx_desc = chr.getValueString("Genetic Interaction"); postgres_table = "app_intx_desc"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); @@ -129,11 +130,11 @@ // postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); // if (postgres_value.equals(app_quality)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_quality); } // System.out.println( "Quality : "+app_quality+" end."); - String app_lifestage = chr.getValueString("Stage"); + String app_lifestage = chr.getValueString("Life Stage"); postgres_table = "app_lifestage"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_lifestage)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_lifestage); } -// System.out.println( "Stage : "+app_lifestage+" end."); +// System.out.println( "Life Stage : "+app_lifestage+" end."); String app_nature = chr.getValueString("Allele Nature"); postgres_table = "app_nature"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); @@ -149,26 +150,31 @@ postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_temperature)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_temperature); } // System.out.println( "Temperature : "+app_temperature+" end."); - String app_preparation = chr.getValueString("Preparation"); + String app_preparation = chr.getValueString("Treatment"); postgres_table = "app_preparation"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_preparation)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_preparation); } -// System.out.println( "Preparation : "+app_preparation+" end."); +// System.out.println( "Treatment : "+app_preparation+" end."); String app_penetrance = chr.getValueString("Penetrance"); postgres_table = "app_penetrance"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_penetrance)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_penetrance); } // System.out.println( "Penetrance : "+app_penetrance+" end."); - String app_percent = chr.getValueString("Penetrance Percent"); + String app_percent = chr.getValueString("Penetrance Remark"); postgres_table = "app_percent"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_percent)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_percent); } -// System.out.println( "Penetrance Percent : "+app_percent+" end."); - String app_range = chr.getValueString("Penetrance Range"); +// System.out.println( "Penetrance Remark : "+app_percent+" end."); + String app_range = chr.getValueString("Penetrance Range Start"); postgres_table = "app_range"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_range)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_range); } -// System.out.println( "Penetrance Range : "+app_range+" end."); +// // System.out.println( "Penetrance Range Start: "+app_range+" end."); +// String app_range = chr.getValueString("Penetrance Range End"); +// postgres_table = "app_range"; postgres_value = "No postgres value assigned"; +// postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); +// if (postgres_value.equals(app_range)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_range); } +// System.out.println( "Penetrance Range End : "+app_range+" end."); String app_quantity = chr.getValueString("Quantity"); postgres_table = "app_quantity"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); @@ -219,11 +225,6 @@ postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); if (postgres_value.equals(app_strain)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_strain); } // System.out.println( "Strain : "+app_strain+" end."); - String app_delivered = chr.getValueString("Delivered By"); - postgres_table = "app_delivered"; postgres_value = "No postgres value assigned"; - postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - if (postgres_value.equals(app_delivered)) { } else { updatePostgresCol(c, postgres_table, joinkey, colI, app_delivered); } -// System.out.println( "Delivered By : "+app_delivered+" end."); if (allele != null) { int found_allele = 0; ResultSet rs = null; // intialize postgres query result @@ -277,9 +278,10 @@ private void init() { // dont HAVE to use CharFieldEnum but it does enforce using same strings // across different data adapters which is good to enforce - // the worm config needs to have "Pub" and "Allele" + // the worm config needs to have "Pub" and "Object Name" queryableFields.add(CharFieldEnum.PUB.getName()); // "Pub" - queryableFields.add(CharFieldEnum.ALLELE.getName()); // "Allele" +// queryableFields.add(CharFieldEnum.ALLELE.getName()); // "Allele" + queryableFields.add("Object Name"); // "Object Name" // should their be a check that the current char fields have pub & allele? } /** return true if data adapter can query for the char field */ @@ -341,29 +343,26 @@ try { Character c1 = new Character(); // create a new character for a phenote row String alleleColumn = joinkey+" - "+colI; - c1.setValue("Allele",alleleColumn); // assign the allele and the column + c1.setValue("Object Name",alleleColumn); // assign the allele and the column String postgres_value = "No postgres value assigned"; String postgres_table = "app_term"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Phenotype",postgres_value); // assign the queried value +// c1.setValue("Phenotype",postgres_value); // assign the queried value postgres_table = "app_curator"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Curator",postgres_value); // assign the queried value postgres_table = "app_paper"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Pub",postgres_value); // assign the queried value +// c1.setValue("Pub",postgres_value); // assign the queried value postgres_table = "app_person"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Person",postgres_value); // assign the queried value +// c1.setValue("Person",postgres_value); // assign the queried value postgres_table = "app_phenotype"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Phenotype Text Remark",postgres_value); // assign the queried value + c1.setValue("NBP",postgres_value); // assign the queried value postgres_table = "app_remark"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Other Remark",postgres_value); // assign the queried value - postgres_table = "app_intx_desc"; postgres_value = "No postgres value assigned"; - postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Genetic Interaction",postgres_value); // assign the queried value + c1.setValue("Reference Remark",postgres_value); // assign the queried value postgres_table = "app_phen_remark"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Phenotype Remark",postgres_value); // assign the queried value @@ -373,7 +372,7 @@ // c1.setValue("Anatomy","WBbt:0004758"); // this works, assigning a term ID postgres_table = "app_lifestage"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Stage",postgres_value); // assign the queried value +// c1.setValue("Life Stage",postgres_value); // assign the queried value postgres_table = "app_nature"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Allele Nature",postgres_value); // assign the queried value @@ -385,18 +384,21 @@ c1.setValue("Temperature",postgres_value); // assign the queried value postgres_table = "app_preparation"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Preparation",postgres_value); // assign the queried value + c1.setValue("Treatment",postgres_value); // assign the queried value postgres_table = "app_penetrance"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Penetrance",postgres_value); // assign the queried value postgres_table = "app_percent"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Penetrance Percent",postgres_value); // assign the queried value + c1.setValue("Penetrance Remark",postgres_value); // assign the queried value postgres_table = "app_range"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Penetrance Range",postgres_value); // assign the queried value + c1.setValue("Penetrance Range Start",postgres_value); // assign the queried value postgres_table = "app_quantity"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); + c1.setValue("Penetrance Range End",postgres_value); // assign the queried value + postgres_table = "app_quantity"; postgres_value = "No postgres value assigned"; + postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Quantity",postgres_value); // assign the queried value postgres_table = "app_quantity_remark"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); @@ -425,15 +427,12 @@ postgres_table = "app_strain"; postgres_value = "No postgres value assigned"; postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); c1.setValue("Strain",postgres_value); // assign the queried value - postgres_table = "app_delivered"; postgres_value = "No postgres value assigned"; - postgres_value = queryPostgresCharacter(s, postgres_table, postgres_value, joinkey, colI); - c1.setValue("Delivered By",postgres_value); // assign the queried value charList.add(c1); // add the character to the character list } catch (TermNotFoundException e) { - System.out.println("Term Not Found Exception, assigning characters by Allele."); } + System.out.println("Term Not Found Exception, assigning characters by Object Name."); } catch (CharFieldException e) { - System.out.println("Char Field Exception, assigning characters by Allele."); } + System.out.println("Char Field Exception, assigning characters "+e.getMessage()); } return charList; } // private CharacterListI queryPostgresCharacterList(CharacterList charList, Statement s, String joinkey) @@ -441,7 +440,7 @@ // String m = "Worm adapter query not yet implemented. field: "+field+" query: "+query; // JOptionPane.showMessageDialog(null,m,"Worm stub",JOptionPane.INFORMATION_MESSAGE); - String alleleString = "Allele"; // the query could be for Allele or Pub + String alleleString = "Object Name"; // the query could be for Allele or Pub String pubString = "Pub"; // System.out.println("Querying field "+field+" query "+query+" end"); // if (field.equals(alleleString)) { System.out.println("Yes Allele"); } else { System.out.println("Not Allele"); } @@ -501,7 +500,9 @@ int foundPaper = 0; // flag if there are any papers in postgres that match, otherwise give an error warning ResultSet rs = null; // initialize result of query System.out.println("Paper "+query+" end"); - try { rs = s2.executeQuery("SELECT DISTINCT(joinkey) FROM app_paper WHERE app_paper ~ '"+query+"' ORDER BY joinkey;"); } // get the alleles from a paper + try { rs = s2.executeQuery("SELECT DISTINCT(joinkey) FROM app_paper WHERE app_paper ~ '"+query+"' ORDER BY joinkey;"); +System.out.println("SELECT DISTINCT(joinkey) FROM app_paper WHERE app_paper ~ '"+query+"' ORDER BY joinkey;"); +} // get the alleles from a paper catch (SQLException se) { System.out.println("We got an exception while executing our app_paper query: that probably means our SQL is invalid"); se.printStackTrace(); System.exit(1); } try { if (rs.next()) { foundPaper++; } } Modified: phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-04-12 00:51:44 UTC (rev 475) +++ phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-04-12 01:51:52 UTC (rev 476) @@ -222,14 +222,19 @@ private RetrieveActionListener(QueryableDataAdapterI q) { qda = q; } public void actionPerformed(ActionEvent e) { try { - CharacterListI cl = qda.query(charField.getName(),getText()); + String queryValue = getText(); + if (isTermCompList()) { queryValue = getCurrentOboClass().getID(); } + CharacterListI cl = qda.query(charField.getName(),queryValue); //if (cl == null) if null shouldve thrown ex - check anyways? //notifyNewCharList(cl); // check if unsaved data - if so ask user if wants to save/load CharacterListManager.inst().setCharacterList(this,cl); } - catch (DataAdapterEx ex) { + catch (CharFieldGuiEx ex) { JOptionPane.showMessageDialog(null,ex.getMessage(),"Retrieve Error", + JOptionPane.ERROR_MESSAGE); } + catch (DataAdapterEx ey) { + JOptionPane.showMessageDialog(null,ey.getMessage(),"Retrieve Error", JOptionPane.ERROR_MESSAGE); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-10 23:03:59
|
Revision: 474 http://svn.sourceforge.net/obo/?rev=474&view=rev Author: nlw Date: 2007-04-10 16:03:51 -0700 (Tue, 10 Apr 2007) Log Message: ----------- *column sorting will now switch between ascending/descending when col-head clicked (before it only did ascending) *also changed the sort to ignore any capitalization of sorted items. Modified Paths: -------------- phenote/trunk/src/java/phenote/datamodel/CharacterList.java Modified: phenote/trunk/src/java/phenote/datamodel/CharacterList.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharacterList.java 2007-04-10 22:37:07 UTC (rev 473) +++ phenote/trunk/src/java/phenote/datamodel/CharacterList.java 2007-04-10 23:03:51 UTC (rev 474) @@ -12,16 +12,27 @@ public class CharacterList implements CharacterListI { private List<CharacterI> characterList = new ArrayList<CharacterI>(); + public int sorted; + public CharField cf_sorted = null; + public static int UNSORTED = 0; //constants to explain sorting + public static int FORWARD_SORT = 1; + public static int REV_SORT = 2; public CharacterI get(int i) { return characterList.get(i); } - public void add(CharacterI c) { characterList.add(c); } - public void add(int i, CharacterI c) {characterList.add(i,c); } + public void add(CharacterI c) {//once a new char is added, any sorts are voided + characterList.add(c); + sorted=UNSORTED; + } + public void add(int i, CharacterI c) {//once a new char is added, any sorts are voided + characterList.add(i,c); + sorted=UNSORTED; + } public void remove(int i) { characterList.remove(i); } public void remove(CharacterI c) { characterList.remove(c); } public int size() { return characterList.size(); } public int indexOf(CharacterI c) { return characterList.indexOf(c); } public List<CharacterI> getList() { return characterList; } - + public boolean equals(CharacterListI cl) { if (size() != cl.size()) return false; for (int i=0; i<size(); i++) { @@ -33,18 +44,50 @@ // ?? public void sortBy(CharField cf) { - Collections.sort(characterList,getComparator(cf)); + if (cf_sorted!=cf) {sorted=UNSORTED;} //newly selected cf + if ((sorted==UNSORTED) || (sorted==REV_SORT)) { +// Collections.sort(characterList,getComparator(cf)); + Collections.sort(characterList,getForwardComparator(cf)); + sorted = FORWARD_SORT; +// System.out.println("forward sort!"); + } else if ((sorted == FORWARD_SORT)) { + sorted = REV_SORT; + Collections.sort(characterList,getReverseComparator(cf)); +// System.out.println("need to reverse sort!"); + } + cf_sorted = cf; //remember the last col that was sorted } - private Comparator<CharacterI> getComparator(final CharField cf) { - return new Comparator<CharacterI>() { - public int compare(CharacterI c1, CharacterI c2) { - String s1 = c1.getValueString(cf);//cf.getValue(c1).getName(); - String s2 = c2.getValueString(cf); - return s1.compareTo(s2); - } - }; - } +// private Comparator<CharacterI> getComparator(final CharField cf) { +// return new Comparator<CharacterI>() { +// public int compare(CharacterI c1, CharacterI c2) { +// String s1 = c1.getValueString(cf);//cf.getValue(c1).getName(); +// String s2 = c2.getValueString(cf); +// return s1.compareTo(s2); +// } +// }; +// } + + private Comparator<CharacterI> getForwardComparator(final CharField cf) { + return new Comparator<CharacterI>() { + public int compare(CharacterI c1, CharacterI c2) { + String s1 = c1.getValueString(cf);//cf.getValue(c1).getName(); + String s2 = c2.getValueString(cf); + return s1.compareToIgnoreCase(s2); + } + }; + } + + private Comparator<CharacterI> getReverseComparator(final CharField cf) { + return new Comparator<CharacterI>() { + public int compare(CharacterI c1, CharacterI c2) { + String s1 = c1.getValueString(cf);//cf.getValue(c1).getName(); + String s2 = c2.getValueString(cf); + return s2.compareToIgnoreCase(s1); + } + }; + } + } // private class CharFieldComparator<CharacterI> implements Comparator { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-04-10 22:37:14
|
Revision: 473 http://svn.sourceforge.net/obo/?rev=473&view=rev Author: cmungall Date: 2007-04-10 15:37:07 -0700 (Tue, 10 Apr 2007) Log Message: ----------- Added Paths: ----------- obo-database/trunk/rdf/ obo-database/trunk/rdf/d2rq/ obo-database/trunk/rdf/d2rq/obd-d2rq.n3 obo-database/trunk/rdf/d2rq/start-server-obd.sh Added: obo-database/trunk/rdf/d2rq/obd-d2rq.n3 =================================================================== --- obo-database/trunk/rdf/d2rq/obd-d2rq.n3 (rev 0) +++ obo-database/trunk/rdf/d2rq/obd-d2rq.n3 2007-04-10 22:37:07 UTC (rev 473) @@ -0,0 +1,92 @@ +@prefix : <http://www.geneontology.org/owl#> . +@prefix map: <file:///stdout#> . +@prefix db: <> . +@prefix vocab: <vocab/> . +@prefix oban: <http://www.berkeleybop.org/ontologies/oban/alpha#> . +@prefix genomics: <http://www.berkeleybop.org/ontologies/genomics/alpha#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dc: <http://purl.org/dc/elements/1.1/> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix d2rq: <http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1#> . +@prefix insitu: <http://www.fruitfly.org/insituimages/insitu_images/thumbnails> . +@prefix digitalmedia: <http://www.mindswap.org/2005/owl/digital-media#> . +@prefix oborel: <http://www.obofoundry.org/ro/ro.owl#> . +@prefix obo: <http://purl.org/obo/owl> . +@prefix go: <http://purl.org/obo/owl/GO#> . + +map:database a d2rq:Database; + d2rq:jdbcDriver "org.postgresql.Driver"; + d2rq:jdbcDSN "jdbc:postgresql://localhost/obd?user=cjm"; + . + + +# ======================================== +# Class: Node +# ======================================== +map:Node a d2rq:ClassMap; + d2rq:dataStorage map:database; + d2rq:uriPattern "node/@@node.node_id@@" ; + . + +map:Node_label a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Node; + d2rq:property rdfs:label; + d2rq:pattern "@@node.label@@"; + . + +map:Node_uid a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Node; + d2rq:property rdfs:label; + d2rq:pattern "@@node.uid@@"; + . + +map:Node_uri a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Node; + d2rq:property rdfs:label; + d2rq:pattern "@@node.uri@@"; + . + +map:Node_type a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Node; + d2rq:property rdf:type; + d2rq:uriPattern "http://www.w3.org/2002/07/owl#Class" + . + +map:subClass a d2rq:PropertyBridge ; + d2rq:property rdfs:subClassOf ; + d2rq:uriPattern "node/@@is_a_link.object_id@@" ; + d2rq:join "node.node_id = is_a_link.node_id" ; + d2rq:belongsToClassMap map:Node . + +map:nodeLink a d2rq:PropertyBridge ; + d2rq:property oban:link ; + d2rq:uriPattern "node/@@link.object_id@@" ; + d2rq:join "node.node_id = link.node_id" ; + d2rq:belongsToClassMap map:Node . + +map:Link a d2rq:ClassMap; + d2rq:dataStorage map:database; + d2rq:uriPattern "link/@@link.link_id@@" ; + . + +map:Link_predicate a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Link; + d2rq:property rdf:predicate; + d2rq:uriPattern "node/@@link.predicate_id@@"; + . + +map:Link_subject a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Link; + d2rq:property rdf:subject; + d2rq:uriPattern "node/@@link.node_id@@"; + . + +map:Link_object a d2rq:PropertyBridge; + d2rq:belongsToClassMap map:Link; + d2rq:property rdf:object; + d2rq:uriPattern "node/@@link.object_id@@"; + . + Added: obo-database/trunk/rdf/d2rq/start-server-obd.sh =================================================================== --- obo-database/trunk/rdf/d2rq/start-server-obd.sh (rev 0) +++ obo-database/trunk/rdf/d2rq/start-server-obd.sh 2007-04-10 22:37:07 UTC (rev 473) @@ -0,0 +1,6 @@ +#!/bin/sh +THIS=`pwd`/`dirname $0` +SPATH=`which d2r-server` +SDIR=`dirname $SPATH` +cd $SDIR && d2r-server $* $THIS/obd-d2rq.n3 +echo "now point yr browser at: http://127.0.0.1:2020/snorql/" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-10 19:59:14
|
Revision: 472 http://svn.sourceforge.net/obo/?rev=472&view=rev Author: nlw Date: 2007-04-10 12:59:15 -0700 (Tue, 10 Apr 2007) Log Message: ----------- need to keep phenosyntax dataadapter enabled for legacy import Modified Paths: -------------- phenote/trunk/conf/ncbo.cfg phenote/trunk/conf/zfin-standalone.cfg Modified: phenote/trunk/conf/ncbo.cfg =================================================================== --- phenote/trunk/conf/ncbo.cfg 2007-04-10 18:14:44 UTC (rev 471) +++ phenote/trunk/conf/ncbo.cfg 2007-04-10 19:59:15 UTC (rev 472) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> - <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="false"/> + <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> Modified: phenote/trunk/conf/zfin-standalone.cfg =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg 2007-04-10 18:14:44 UTC (rev 471) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-04-10 19:59:15 UTC (rev 472) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> - <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="false"/> + <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-10 18:15:03
|
Revision: 471 http://svn.sourceforge.net/obo/?rev=471&view=rev Author: nlw Date: 2007-04-10 11:14:44 -0700 (Tue, 10 Apr 2007) Log Message: ----------- don't need human.cfg since there's the ncbo.cfg Modified Paths: -------------- phenote/trunk/conf/nicole.cfg Removed Paths: ------------- phenote/trunk/conf/human.cfg Deleted: phenote/trunk/conf/human.cfg =================================================================== --- phenote/trunk/conf/human.cfg 2007-04-10 17:35:08 UTC (rev 470) +++ phenote/trunk/conf/human.cfg 2007-04-10 18:14:44 UTC (rev 471) @@ -1,36 +0,0 @@ - -<phenote-configuration version="1.0" xmlns="phenote/config/xml"> - - <dataadapter name="phenosyntax" enable="true"/> - <dataadapter name="phenoxml" enable="true"/> - <dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" - enable="true"/> - - <log config-file="conf/log4j-standalone.xml" /> - - <uvic-graph enable="false"/> - - <obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> - - <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"> - <ontology name="Relationship" file="relationship.obo" - is-postcomp-rel="true" repos-subdir="OBO_REL"/> - <ontology name="Human Anatomy" file="fma_obo.obo"/> - <ontology name="Gene Ontology" file="gene_ontology.obo" repos-subdir="genomic-proteomic"/> - <ontology name="Chemical" file="chebi.obo" repos-subdir="chemical"/> - <ontology name="Cell Type" file="cell.obo" repos-subdir="anatomy/cell_type"/> - <ontology name="Spatial" file="spatial.obo"/> - </field> - - <field name="Quality" syntax-abbrev="Q"> - <ontology name="Quality" file="quality.obo" repos-subdir="phenotype"/> - <ontology name="MamPheno" file="mammalian_phenotype.obo" repos-subdir="phenotype"/> - </field> - -</phenote-configuration> Modified: phenote/trunk/conf/nicole.cfg =================================================================== --- phenote/trunk/conf/nicole.cfg 2007-04-10 17:35:08 UTC (rev 470) +++ phenote/trunk/conf/nicole.cfg 2007-04-10 18:14:44 UTC (rev 471) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> +<ns:phenote-configuration version="1.1.2b" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="true"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-10 17:35:45
|
Revision: 470 http://svn.sourceforge.net/obo/?rev=470&view=rev Author: nlw Date: 2007-04-10 10:35:08 -0700 (Tue, 10 Apr 2007) Log Message: ----------- edits to "disable" non-delimited data adapters. removed the old obd config Modified Paths: -------------- phenote/trunk/conf/flybase.cfg phenote/trunk/conf/ncbo.cfg phenote/trunk/conf/worm.cfg phenote/trunk/conf/zfin-standalone.cfg Removed Paths: ------------- phenote/trunk/conf/obd.cfg Modified: phenote/trunk/conf/flybase.cfg =================================================================== --- phenote/trunk/conf/flybase.cfg 2007-04-09 03:25:27 UTC (rev 469) +++ phenote/trunk/conf/flybase.cfg 2007-04-10 17:35:08 UTC (rev 470) @@ -2,8 +2,8 @@ <phenote-configuration version="1.1.2" xmlns="phenote/config/xml" noNamespaceSchemaLocation="phenote-config.xsd"> <dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" - enable="true"/> - <dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="true"/> + enable="false"/> + <dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="false"/> <dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> Modified: phenote/trunk/conf/ncbo.cfg =================================================================== --- phenote/trunk/conf/ncbo.cfg 2007-04-09 03:25:27 UTC (rev 469) +++ phenote/trunk/conf/ncbo.cfg 2007-04-10 17:35:08 UTC (rev 470) @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> - <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> - <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="true"/> + <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="false"/> + <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> <ns:uvic-graph enable="false"/> Deleted: phenote/trunk/conf/obd.cfg =================================================================== --- phenote/trunk/conf/obd.cfg 2007-04-09 03:25:27 UTC (rev 469) +++ phenote/trunk/conf/obd.cfg 2007-04-10 17:35:08 UTC (rev 470) @@ -1,19 +0,0 @@ - -<phenote-configuration version="0.7" xmlns="phenote/config/xml"> - - <dataadapter name="phenosyntax"/> - - <field name="Pub" /> - <field name="Genotype"/> - - <field name="Genetic Context" file="context.obo"/> - - <field name="Entity"> - <ontology name="Fly" file="fly_anatomy.obo" /> - <ontology name="ZF" file="zebrafish_anatomy.obo" /> - <ontology name="GO" file="gene_ontology.obo"/> - </field> - - <field name="Quality" file="quality.obo"/> - -</phenote-configuration> Modified: phenote/trunk/conf/worm.cfg =================================================================== --- phenote/trunk/conf/worm.cfg 2007-04-09 03:25:27 UTC (rev 469) +++ phenote/trunk/conf/worm.cfg 2007-04-10 17:35:08 UTC (rev 470) @@ -2,7 +2,7 @@ <dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> - <dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="true"/> + <dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="false"/> <dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> <dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> Modified: phenote/trunk/conf/zfin-standalone.cfg =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg 2007-04-09 03:25:27 UTC (rev 469) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-04-10 17:35:08 UTC (rev 470) @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <ns:phenote-configuration version="1.1.2" xmlns:ns="phenote/config/xml"> <ns:log config-file="conf/log4j-standalone.xml"/> - <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="true"/> - <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="true"/> + <ns:dataadapter name="phenote.dataadapter.phenosyntax.PhenoSyntaxFileAdapter" enable="false"/> + <ns:dataadapter name="phenote.dataadapter.phenoxml.PhenoXmlAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.nexus.NEXUSAdapter" enable="false"/> <ns:dataadapter name="phenote.dataadapter.delimited.DelimitedFileAdapter" enable="true"/> <ns:uvic-graph enable="false"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-04-09 03:25:26
|
Revision: 469 http://svn.sourceforge.net/obo/?rev=469&view=rev Author: cmungall Date: 2007-04-08 20:25:27 -0700 (Sun, 08 Apr 2007) Log Message: ----------- Modified Paths: -------------- obo-database/trunk/sql/obd-core-schema.sql obo-database/trunk/sql/obd-core-views.sql Added Paths: ----------- obo-database/trunk/bin/obd-create-db.pl Added: obo-database/trunk/bin/obd-create-db.pl =================================================================== --- obo-database/trunk/bin/obd-create-db.pl (rev 0) +++ obo-database/trunk/bin/obd-create-db.pl 2007-04-09 03:25:27 UTC (rev 469) @@ -0,0 +1,21 @@ +#!/usr/bin/perl -w + +my $args = "@ARGV"; +my $dir = `dirname $0`; +chomp $dir; +my $sqldir = "$dir/../sql"; + +run("dropdb $args"); +run("createdb $args"); +run("psql $args < $sqldir/obd-core-schema.sql "); +run("psql $args < $sqldir/obd-core-views.sql "); +print STDERR "Done!\n"; +exit 0; + +sub run { + my $cmd = shift; + + if (system($cmd)) { + print STDERR "Error in: $cmd\n"; + } +} Property changes on: obo-database/trunk/bin/obd-create-db.pl ___________________________________________________________________ Name: svn:executable + * Modified: obo-database/trunk/sql/obd-core-schema.sql =================================================================== --- obo-database/trunk/sql/obd-core-schema.sql 2007-04-06 22:50:44 UTC (rev 468) +++ obo-database/trunk/sql/obd-core-schema.sql 2007-04-09 03:25:27 UTC (rev 469) @@ -44,9 +44,13 @@ FOREIGN KEY (object_id) REFERENCES node(node_id) ON DELETE CASCADE, when_id INTEGER, FOREIGN KEY (when_id) REFERENCES node(node_id) ON DELETE CASCADE, + is_metadata BOOLEAN NOT NULL DEFAULT 'f', is_inferred BOOLEAN NOT NULL DEFAULT 'f', is_instantiation BOOLEAN NOT NULL DEFAULT 'f', is_negated BOOLEAN NOT NULL DEFAULT 'f', + applies_to_all BOOLEAN NOT NULL DEFAULT 't', + object_quantifier_some BOOLEAN NOT NULL DEFAULT 't', + object_quantifier_only BOOLEAN NOT NULL DEFAULT 'f', combinator CHAR(1) NOT NULL DEFAULT '', source_id INTEGER REFERENCES node(node_id) ON DELETE CASCADE, is_obsolete BOOLEAN NOT NULL DEFAULT 'f', @@ -60,8 +64,13 @@ COMMENT ON COLUMN link.node_id IS 'The entity for which the link directly applies. Can refer to a C, R or I. RDF: subject'; COMMENT ON COLUMN link.node_id IS 'The relation that holds between the node and the object. Must refer to a R node. RDF: predicate'; COMMENT ON COLUMN link.object_id IS 'The entity for which the node stands in some relation R to (where R is the predicate_id). Any node metatype. RDF: object'; +COMMENT ON COLUMN link.is_metadata IS 'True if the link is for node metadata. Metadata applies to the node itself and not the entity represented by the node. Equivalent to annotation properties in OWL'; COMMENT ON COLUMN link.is_inferred IS 'True if this link is implied/entailed via some other link. TODO: reasoning provenance chain'; COMMENT ON COLUMN link.is_instantiation IS 'True if this link is a relation of type OBO_REL:instance_of (or rdf:type). Note this is redundant, but it can speed queries'; +COMMENT ON COLUMN link.is_negated IS 'True if the relationship between node and object does NOT hold'; +COMMENT ON COLUMN link.applies_to_all IS 'True if the link holds for all instances of the node. Meaningful for class_nodes only. True by default (this is standard ALL-SOME semantics)'; +COMMENT ON COLUMN link.object_quantifier_some IS 'True if the link holds for some instance of the class referenced in object_id. Meaningful for class_nodes only. True by default (corresponds to existential restrictions in OWL)'; +COMMENT ON COLUMN link.object_quantifier_only IS 'True if the link holds only for instances of the class references in object_id. Meaningful for class_nodes only. False by default (corresponds to universal restrictions in OWL)'; COMMENT ON COLUMN link.combinator IS ' A means of logically grouping links from the same node. If this is non-blank, the semantics of the link table is changed. one of: @@ -88,6 +97,23 @@ CREATE INDEX link_is_inferred_reiflink_node_indx ON link(is_inferred,reiflink_node_id); CREATE INDEX link_triple_indx ON link(node_id,predicate_id,object_id); +CREATE TABLE link_cardinality ( + link_id INTEGER NOT NULL, + FOREIGN KEY (link_id) REFERENCES link(link_id) ON DELETE CASCADE, + object_cardinality INTEGER, + object_min_cardinality INTEGER, + object_max_cardinality INTEGER, + + CONSTRAINT link_cardinality_unique_c UNIQUE(link_id) +); + +COMMENT ON TABLE link_cardinality IS 'Links that reference classes can +have cardinality constraints corresponding to quantitative +restrictions on the number of instances of that class. Equivalent to +OWL cardinality restrictions. Each link row can have at most one row +in the link_cardinality table'; + + CREATE TABLE link_inference ( link_inference_id SERIAL PRIMARY KEY, link_id INTEGER NOT NULL, @@ -99,7 +125,8 @@ ); COMMENT ON TABLE link_inference IS 'A dependency relation between an -inferred link and the links it was inferred from'; +inferred link and the links it was inferred from. Can be used for +inference provenance'; COMMENT ON COLUMN link_inference.link_id IS 'A link that has been inferred by some deductive process'; @@ -132,7 +159,7 @@ FOREIGN KEY (node_id) REFERENCES node(node_id) ON DELETE CASCADE, tag_id INTEGER NOT NULL, FOREIGN KEY (tag_id) REFERENCES node (node_id) ON DELETE CASCADE, - datatype_id INTEGER NOT NULL, + datatype_id INTEGER, FOREIGN KEY (datatype_id) REFERENCES node (node_id) ON DELETE CASCADE, val TEXT NOT NULL, source_id INTEGER REFERENCES node(node_id) ON DELETE CASCADE @@ -189,8 +216,6 @@ CREATE INDEX description_nt_indx ON description(node_id,type_id); CREATE INDEX description_label_indx ON description(label); --- ?DEPRECATED --- depcrate in favour of seeAlso links? CREATE TABLE node_xref ( node_id INTEGER NOT NULL, FOREIGN KEY (node_id) REFERENCES node(node_id) ON DELETE CASCADE, @@ -202,6 +227,11 @@ UNIQUE(node_id, xref_id) ); +COMMENT ON TABLE node_xref IS 'Links between node identifiers. Use in +place of link table if the relationship is on the level of identifiers +rather than a link between the underlying entities denoted by the +nodes. STATUS: may be deprecated in favour of rdf:seeAlso links'; + CREATE TABLE description_xref ( description_id INTEGER NOT NULL, FOREIGN KEY (description_id) REFERENCES description(description_id) ON DELETE CASCADE, @@ -216,7 +246,7 @@ CREATE TABLE node_audit ( node_id INTEGER NOT NULL, FOREIGN KEY (node_id) REFERENCES node(node_id) ON DELETE CASCADE, - infonode_id INTEGER NOT NULL, + infonode_id INTEGER, FOREIGN KEY (infonode_id) REFERENCES node(node_id) ON DELETE CASCADE, loadtime TIMESTAMP default 'now', source_id INTEGER REFERENCES node(node_id) ON DELETE CASCADE @@ -237,7 +267,7 @@ CREATE TABLE link_audit ( link_id INTEGER NOT NULL, FOREIGN KEY (link_id) REFERENCES link(link_id) ON DELETE CASCADE, - infonode_id INTEGER NOT NULL, + infonode_id INTEGER, FOREIGN KEY (infonode_id) REFERENCES node(node_id) ON DELETE CASCADE, loadtime TIMESTAMP default 'now', source_id INTEGER REFERENCES node(node_id) ON DELETE CASCADE Modified: obo-database/trunk/sql/obd-core-views.sql =================================================================== --- obo-database/trunk/sql/obd-core-views.sql 2007-04-06 22:50:44 UTC (rev 468) +++ obo-database/trunk/sql/obd-core-views.sql 2007-04-09 03:25:27 UTC (rev 469) @@ -215,6 +215,54 @@ "part_of nucleus"'; -- ************************************************************ +-- CONSISTENCY CHECKING VIEWS +-- ************************************************************ +CREATE SCHEMA obd_consistency_view; +SET search_path TO obd_consistency_view,obd_core_view,public; + +CREATE OR REPLACE VIEW consecutive_link_pair AS + SELECT + link1.*, + link1.object_id AS via_node_id, + link2.predicate_id AS next_predicate_id, + link2.object_id AS next_object_id, + link2.is_inferred AS next_is_inferred + FROM + link AS link1 + INNER JOIN link AS link2 ON (link1.object_id=link2.node_id) + WHERE + link1.link_id != link2.link_id; + +CREATE OR REPLACE VIEW cyclic_link_pair AS + SELECT + * + FROM + consecutive_link_pair + WHERE + node_id = next_object_id; + +CREATE OR REPLACE VIEW cyclic_link_pair_with_nodes AS + SELECT + consecutive_link_pair.*, + node.uid AS node_uid, + node.label AS node_label, + node.source_id AS node_source_id, + via_node.uid AS via_node_uid, + via_node.label AS via_node_label, + via_node.source_id AS via_node_source_id, + object_node.uid AS object_node_uid, + object_node.label AS object_node_label, + object_node.source_id AS object_node_source_id + FROM + consecutive_link_pair + INNER JOIN node ON (consecutive_link_pair.node_id=node.node_id) + INNER JOIN node AS via_node ON (consecutive_link_pair.via_node_id=via_node.node_id) + INNER JOIN node AS object_node ON (consecutive_link_pair.next_object_id=object_node.node_id) + WHERE + node.node_id = next_object_id; + + +-- ************************************************************ -- GRAPH TOPOLOGY VIEWS -- ************************************************************ CREATE SCHEMA obd_graph_topology_view; @@ -367,7 +415,15 @@ pred.uid AS pred_uid FROM link INNER JOIN node AS pred ON (predicate_id=pred.node_id); +CREATE OR REPLACE VIEW node_link_node_with_pred AS + SELECT node_link_node.*, + pred.uid AS pred_uid, + pred.label AS pred_label, + pred.source_id AS pred_source_id, + pred.metatype AS pred_metatype + FROM node_link_node INNER JOIN node AS pred ON (predicate_id=pred.node_id); + -- ************************************************************ -- ANNOTATION MODEL -- ************************************************************ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-04-06 22:50:44
|
Revision: 468 http://svn.sourceforge.net/obo/?rev=468&view=rev Author: cmungall Date: 2007-04-06 15:50:44 -0700 (Fri, 06 Apr 2007) Log Message: ----------- Modified Paths: -------------- obo-database/trunk/sql/obd-core-schema.sql Modified: obo-database/trunk/sql/obd-core-schema.sql =================================================================== --- obo-database/trunk/sql/obd-core-schema.sql 2007-04-06 17:50:51 UTC (rev 467) +++ obo-database/trunk/sql/obd-core-schema.sql 2007-04-06 22:50:44 UTC (rev 468) @@ -30,6 +30,7 @@ CREATE INDEX node_source_indx ON node(source_id); CREATE INDEX node_label ON node(label); +CREATE INDEX node_metatype_transitive ON node(metatype,is_transitive); CREATE TABLE link ( link_id SERIAL PRIMARY KEY, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nl...@us...> - 2007-04-06 17:52:35
|
Revision: 467 http://svn.sourceforge.net/obo/?rev=467&view=rev Author: nlw Date: 2007-04-06 10:50:51 -0700 (Fri, 06 Apr 2007) Log Message: ----------- edited JNLPs to get rid of the BBOP language for the splash screen. Changed to NCBO. Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote-flybase.jnlp phenote/trunk/doc/phenote-website/phenote-go-function-process.jnlp phenote/trunk/doc/phenote-website/phenote-human.jnlp phenote/trunk/doc/phenote-website/phenote-mp-xp.jnlp phenote/trunk/doc/phenote-website/phenote-zfin.jnlp phenote/trunk/doc/phenote-website/phenote.jnlp Modified: phenote/trunk/doc/phenote-website/phenote-flybase.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-flybase.jnlp 2007-04-05 18:00:01 UTC (rev 466) +++ phenote/trunk/doc/phenote-website/phenote-flybase.jnlp 2007-04-06 17:50:51 UTC (rev 467) @@ -5,7 +5,7 @@ href="phenote-flybase.jnlp"> <information> <title>Phenote 1.1</title> - <vendor>BBOP</vendor> + <vendor>National Center for Biomedical Ontology</vendor> <description>Phenote standalone app via webstart</description> <!-- Declares that the application can run without access to the server it was downloaded from --> Modified: phenote/trunk/doc/phenote-website/phenote-go-function-process.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-go-function-process.jnlp 2007-04-05 18:00:01 UTC (rev 466) +++ phenote/trunk/doc/phenote-website/phenote-go-function-process.jnlp 2007-04-06 17:50:51 UTC (rev 467) @@ -5,7 +5,7 @@ href="phenote-go-function-process.jnlp"> <information> <title>Phenote-for-GO 1.1</title> - <vendor>BBOP</vendor> + <vendor>National Center for Biomedical Ontology</vendor> <description>Phenote demo for </description> <!-- Declares that the application can run without access to the server it was downloaded from --> Modified: phenote/trunk/doc/phenote-website/phenote-human.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-human.jnlp 2007-04-05 18:00:01 UTC (rev 466) +++ phenote/trunk/doc/phenote-website/phenote-human.jnlp 2007-04-06 17:50:51 UTC (rev 467) @@ -5,7 +5,7 @@ href="phenote-human.jnlp"> <information> <title>Phenote 1.1</title> - <vendor>BBOP</vendor> + <vendor>National Center for Biomedical Ontology</vendor> <description>Phenote standalone app via webstart</description> <!-- Declares that the application can run without access to the server it was downloaded from --> Modified: phenote/trunk/doc/phenote-website/phenote-mp-xp.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-mp-xp.jnlp 2007-04-05 18:00:01 UTC (rev 466) +++ phenote/trunk/doc/phenote-website/phenote-mp-xp.jnlp 2007-04-06 17:50:51 UTC (rev 467) @@ -5,7 +5,7 @@ href="phenote-mp-xp.jnlp"> <information> <title>Phenote-for-GO 1.1</title> - <vendor>BBOP</vendor> + <vendor>National Center for Biomedical Ontology</vendor> <description>Phenote demo for </description> <!-- Declares that the application can run without access to the server it was downloaded from --> Modified: phenote/trunk/doc/phenote-website/phenote-zfin.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-zfin.jnlp 2007-04-05 18:00:01 UTC (rev 466) +++ phenote/trunk/doc/phenote-website/phenote-zfin.jnlp 2007-04-06 17:50:51 UTC (rev 467) @@ -5,7 +5,7 @@ href="phenote-zfin.jnlp"> <information> <title>Phenote 1.1</title> - <vendor>BBOP</vendor> + <vendor>National Center for Biomedical Ontology</vendor> <description>Phenote standalone app via webstart</description> <!-- Declares that the application can run without access to the server it was downloaded from --> Modified: phenote/trunk/doc/phenote-website/phenote.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote.jnlp 2007-04-05 18:00:01 UTC (rev 466) +++ phenote/trunk/doc/phenote-website/phenote.jnlp 2007-04-06 17:50:51 UTC (rev 467) @@ -5,7 +5,7 @@ href="phenote.jnlp"> <information> <title>Phenote 1.1</title> - <vendor>BBOP</vendor> + <vendor>National Center for Biomedial Ontology</vendor> <description>Phenote standalone app via webstart</description> <!-- Declares that the application can run without access to the server it was downloaded from --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |