diff --git a/artemis_sqlmap/FeatureSynonym.xml b/artemis_sqlmap/FeatureSynonym.xml index b98d2c2ac29b8e5287fefc12e598f8fb13bd2abc..c7eade932e9d5deb4697613aa41c666af60073bf 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 a9e41d91628999c7baa38168024f2bfb646d90f9..e3fef0722abbc1ac60d2a2eaa3ee1e24968d39c6 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 76612f15ec5271af5cfabca74804388d101a6fc6..b4817b7e8c6189ac56902fda3ae5355882215752 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 c1d80b26aee8a9e92a95a4972d5ce3f5724faa6f..e8c2492c83e38967eb4a318cc035e73d79caab9a 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