From a14d27d941924ac7156f805bd5dd1af2592d619d Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Wed, 10 Dec 2008 15:43:02 +0000
Subject: [PATCH] add OrganismProp

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@9582 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 artemis_sqlmap/Organism.xml            | 16 +++++++++++++---
 artemis_sqlmap/OrganismProp.xml        | 20 ++++++++++++++++++++
 artemis_sqlmap/chado_iBatis_config.xml |  1 +
 3 files changed, 34 insertions(+), 3 deletions(-)
 create mode 100644 artemis_sqlmap/OrganismProp.xml

diff --git a/artemis_sqlmap/Organism.xml b/artemis_sqlmap/Organism.xml
index 15bb06d12..8b03b450a 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 000000000..66394bb3c
--- /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 b8d1d1ef3..7f3e3b128 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" />
-- 
GitLab