From 55e5a38899f5131186136db217a7e655d02b3fa8 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Tue, 22 Apr 2008 08:39:24 +0000
Subject: [PATCH] add getFeatureSynonymsByFeatureIds

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@7269 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 artemis_sqlmap/FeatureSynonym.xml         | 20 +++++++++++++++++++-
 uk/ac/sanger/artemis/chado/GmodDAO.java   |  7 +++++++
 uk/ac/sanger/artemis/chado/IBatisDAO.java |  6 ++++++
 uk/ac/sanger/artemis/chado/JdbcDAO.java   |  5 +++++
 4 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/artemis_sqlmap/FeatureSynonym.xml b/artemis_sqlmap/FeatureSynonym.xml
index b98d2c2ac..c7eade932 100644
--- a/artemis_sqlmap/FeatureSynonym.xml
+++ b/artemis_sqlmap/FeatureSynonym.xml
@@ -27,7 +27,7 @@
    	    <result property="pub.pubId" column="pub_id"/>
    	    <result property="current" column="is_current"/>
    	    <result property="internal" column="is_internal"/>
-   	    <result property="synonym.synonymId" column="synonym_id"/>
+		<result property="synonym.synonymId" column="synonym_id"/>
    	    <result property="synonym.name" column="name"/>
    	    <result property="synonym.synonymSgml" column="synonym_sgml"/>
   	    <result property="synonym.cvTerm.cvTermId" column="type_id" />
@@ -41,6 +41,15 @@
    	    <result property="internal" column="is_internal"/>
    	    <result property="synonym" column="synonym_id" select="getSynonymBySynonymId"/>
      </resultMap>
+	
+	 <resultMap id="map-alias-part-lazy2" 
+               class="FeatureSynonym">
+   	    <result property="feature.featureId" column="feature_id"/>
+   	    <result property="pub.pubId" column="pub_id"/>
+   	    <result property="current" column="is_current"/>
+   	    <result property="internal" column="is_internal"/>
+		<result property="synonym" resultMap="Synonym.map-synonym-lazy"/>
+     </resultMap>
      
      <resultMap id="map-alias-lazy" 
                class="FeatureSynonym">
@@ -93,6 +102,15 @@
 	-->
     </select>
 	
+	<select id="getFeatureSynonymsByFeatureIds" resultMap="map-alias-part-lazy2">
+      SELECT fs.*, s.name, s.synonym_sgml, s.type_id 
+      FROM feature_synonym fs 
+      LEFT JOIN synonym s  ON fs.synonym_id=s.synonym_id 
+	  WHERE fs.feature_id IN 	
+	  <iterate open="(" close=")" conjunction=","> $[]$ </iterate>
+    </select>
+	
+	
     <select id="getLazyFeatureSynonymsByUniquename" resultMap="map-alias-part-lazy"
             parameterClass="FeatureSynonym">
       SELECT fs.* 
diff --git a/uk/ac/sanger/artemis/chado/GmodDAO.java b/uk/ac/sanger/artemis/chado/GmodDAO.java
index a9e41d916..e3fef0722 100644
--- a/uk/ac/sanger/artemis/chado/GmodDAO.java
+++ b/uk/ac/sanger/artemis/chado/GmodDAO.java
@@ -139,6 +139,13 @@ public abstract class GmodDAO
    */
   public abstract List getFeatureSynonymsBySrcFeature(Feature srcFeature);
   
+  /**
+   * Return the FeatureSynonym's for all Feature's given their feature_id's
+   * @param 
+   * @return
+   */
+  public abstract List getFeatureSynonymsByFeatureIds(List featureIds);
+  
   /**
    * Return a list of features that have this particular cvterm 
    * @param cvTermName the CvTerm name
diff --git a/uk/ac/sanger/artemis/chado/IBatisDAO.java b/uk/ac/sanger/artemis/chado/IBatisDAO.java
index 76612f15e..b4817b7e8 100644
--- a/uk/ac/sanger/artemis/chado/IBatisDAO.java
+++ b/uk/ac/sanger/artemis/chado/IBatisDAO.java
@@ -387,6 +387,12 @@ public class IBatisDAO extends GmodDAO
       sqlMap.queryForList("getFeatureSynonymsBySrcFeature", srcFeature);
   }
   
+  public List getFeatureSynonymsByFeatureIds(final List featuresIds)
+  {
+    return
+      sqlMap.queryForList("getFeatureSynonymsByFeatureIds", featuresIds);
+  }
+  
   /**
    * Return all the FeatureDbXRefs for a given feature, <b>specified by name</b>, or all if 
    * <code>null</code> is passed
diff --git a/uk/ac/sanger/artemis/chado/JdbcDAO.java b/uk/ac/sanger/artemis/chado/JdbcDAO.java
index c1d80b26a..e8c2492c8 100644
--- a/uk/ac/sanger/artemis/chado/JdbcDAO.java
+++ b/uk/ac/sanger/artemis/chado/JdbcDAO.java
@@ -136,6 +136,11 @@ public class JdbcDAO extends GmodDAO
     return null;
   }
 
+  public List getFeatureSynonymsByFeatureIds(final List featuresIds)
+  {
+    return null;
+  }
+  
   public Feature getResiduesByUniqueName(String uniqueName)
   {
     // TODO Auto-generated method stub
-- 
GitLab