diff --git a/artemis_sqlmap/Organism.xml b/artemis_sqlmap/Organism.xml index 15bb06d12794896eafd2548ec6b050bd13ea1700..8b03b450ab27745fdd532803f15ff82a91c0c34a 100644 --- a/artemis_sqlmap/Organism.xml +++ b/artemis_sqlmap/Organism.xml @@ -10,7 +10,17 @@ <flushInterval hours="24"/> <property name="cache-size" value="100" /> </cacheModel> - + + <resultMap id="map-organism" class="org.gmod.schema.organism.Organism"> + <result property="organismId" column="organismId"/> + <result property="abbreviation" column="abbreviation"/> + <result property="commonName" column="commonName"/> + <result property="genus" column="genus"/> + <result property="species" column="species"/> + <result property="comment" column="comment"/> + <result property="organismProps" column="organismId" select="getOrganismPropByOrganismIdLazy"/> + </resultMap> + <select id="getOrganism" resultClass="org.gmod.schema.organism.Organism"> SELECT organism_id AS organismId, abbreviation, genus, species, common_name AS commonName, comment @@ -60,7 +70,7 @@ </isNull> </select> - <select id="getOrganismsContainingSrcFeatures" resultClass="org.gmod.schema.organism.Organism"> + <select id="getOrganismsContainingSrcFeatures" resultMap="map-organism"> SELECT DISTINCT ON( feature.organism_id ) organism.organism_id AS organismId, abbreviation, genus, species, common_name AS commonName, comment FROM feature @@ -70,7 +80,7 @@ AND ( <include refid="source_feature_cvterm_names"/> ) </select> - <select id="getTopLevelOrganisms" resultClass="org.gmod.schema.organism.Organism"> + <select id="getTopLevelOrganisms" resultMap="map-organism"> SELECT DISTINCT ON( feature.organism_id ) organism.organism_id AS organismId, abbreviation, genus, species, common_name AS commonName, comment FROM feature diff --git a/artemis_sqlmap/OrganismProp.xml b/artemis_sqlmap/OrganismProp.xml new file mode 100644 index 0000000000000000000000000000000000000000..66394bb3c0f2419ea96aff195c7e7384b199818c --- /dev/null +++ b/artemis_sqlmap/OrganismProp.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!DOCTYPE sqlMap + PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" + "http://ibatis.apache.org/dtd/sql-map-2.dtd"> + +<sqlMap namespace="OrganismProp"> + <resultMap id="map-organismprop-with-cvterm-lazy" + class="org.gmod.schema.organism.OrganismProp"> + <result property="value" column="value" /> + <result property="rank" column="rank" /> + <result property="cvTerm" column="type_id" select="getCvtermByCvTermId" /> + </resultMap> + + <select id="getOrganismPropByOrganismIdLazy" resultMap="map-organismprop-with-cvterm-lazy"> + SELECT type_id, value, rank + FROM organismprop + WHERE organism_id=#organism_id# + </select> +</sqlMap> diff --git a/artemis_sqlmap/chado_iBatis_config.xml b/artemis_sqlmap/chado_iBatis_config.xml index b8d1d1ef3494a10efd07abd550fea5105cf9695d..7f3e3b1288a36245724e6e9cb04161f712646099 100644 --- a/artemis_sqlmap/chado_iBatis_config.xml +++ b/artemis_sqlmap/chado_iBatis_config.xml @@ -82,6 +82,7 @@ <sqlMap resource="artemis_sqlmap/Pub.xml" /> <sqlMap resource="artemis_sqlmap/Feature.xml" /> <sqlMap resource="artemis_sqlmap/Organism.xml" /> + <sqlMap resource="artemis_sqlmap/OrganismProp.xml" /> <sqlMap resource="artemis_sqlmap/FeatureCvTerm.xml" /> <sqlMap resource="artemis_sqlmap/FeatureCvTermDbXRef.xml" /> <sqlMap resource="artemis_sqlmap/FeatureCvTermProp.xml" />