From 4d1a16fe9617ea84a855fcec6c47a7a83718c2a1 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Mon, 30 Jul 2007 09:54:45 +0000
Subject: [PATCH] updates

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@6260 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 artemis_sqlmap/Feature.xml             | 14 ++++++++------
 artemis_sqlmap/FeatureLoc.xml          |  2 +-
 artemis_sqlmap/FeatureRelationship.xml | 19 +++++++++++++++----
 3 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/artemis_sqlmap/Feature.xml b/artemis_sqlmap/Feature.xml
index ef2818420..b8779181c 100644
--- a/artemis_sqlmap/Feature.xml
+++ b/artemis_sqlmap/Feature.xml
@@ -34,7 +34,7 @@
 	<result property="organism.organismId" column="organism_id"/>
 	<result property="featureProps" resultMap="FeatureProp.map-featureprop" />
    	<result property="featureRelationshipsForSubjectId" 
-   	            resultMap="FeatureRelationship.map-feature-relationship"  /> 
+   	            resultMap="FeatureRelationship.map-feature-relationship-for-objectId"  /> 
     <result property="featureLoc.strand" column="strand" nullValue="0"/>
     <result property="featureLoc.fmin" column="fmin" nullValue="-1"/>
     <result property="featureLoc.fmax" column="fmax" nullValue="0"/>
@@ -95,9 +95,10 @@
   <resultMap id="map-clusterfeature" class="Feature" 
 	         groupBy="featureId" extends="map-basicfeature">       
     <result property="cvTerm" column="type_id" select="getCvtermByCvTermId" />
-    <result property="featureLocsForFeatureId" resultMap="FeatureLoc.map-location" />
 	<result property="featureProps" column="{feature_id=id}" 
                                        select="getFeaturePropByFeatureId" />
+	<result property="featureRelationshipsForSubjectId" 
+   	            resultMap="FeatureRelationship.map-feature-relationship-for-subjectId"  /> 
     <result property="analysisFeatures" resultMap="AnalysisFeature.map-analysisfeature" />                                                
   </resultMap>
 	
@@ -302,9 +303,11 @@
                              resultMap="map-clusterfeature">
 	SELECT 
 	  timelastmodified, 
-	  f.feature_id AS id, 
+	  f.feature_id AS id,
+	  fr.feature_relationship_id, 
 	  fr.subject_id,
-	  fr.type_id,
+	  fr.type_id AS relation_type_id,
+	  fr.value AS relation_value,
 	  fr.rank,
 	  f.uniquename, 
 	  f.type_id, 
@@ -316,8 +319,7 @@
 	LEFT JOIN feature_relationship fr ON  f.feature_id=fr.object_id 
 	LEFT JOIN analysisfeature af ON f.feature_id=af.feature_id
 	LEFT JOIN analysis a ON af.analysis_id=a.analysis_id 
-	WHERE f.type_id=( SELECT cvterm_id FROM cvterm WHERE name='orthologous_to' ) 
-	  AND fr.subject_id IN ( SELECT feature_id  FROM featureloc WHERE srcfeature_id=$value$ )
+	WHERE f.feature_id IN <iterate open="(" close=")" conjunction=","> #[]# </iterate>
   </select>
 
   <select id="getSchema" resultClass="java.lang.String">
diff --git a/artemis_sqlmap/FeatureLoc.xml b/artemis_sqlmap/FeatureLoc.xml
index d3374cc04..32e4899d2 100644
--- a/artemis_sqlmap/FeatureLoc.xml
+++ b/artemis_sqlmap/FeatureLoc.xml
@@ -20,7 +20,7 @@
         <result property="fmin"   column="fmin"   nullValue="-999" />
         <result property="fmax"   column="fmax"   nullValue="-999" />
         <result property="strand" column="strand" nullValue="0" />
-        <result property="phase"  column="phase"  nullValue="0" />
+        <result property="phase"  column="phase" />
         <result property="residueInfo"  column="residue_info"/>
         <result property="locGroup"  column="locgroup"/>
         <result property="rank"      column="rank"/>
diff --git a/artemis_sqlmap/FeatureRelationship.xml b/artemis_sqlmap/FeatureRelationship.xml
index b9043ab31..3bfe2c652 100644
--- a/artemis_sqlmap/FeatureRelationship.xml
+++ b/artemis_sqlmap/FeatureRelationship.xml
@@ -10,16 +10,27 @@
         
      <typeAlias alias="FeatureRelationship"
         type="org.gmod.schema.sequence.FeatureRelationship"/>
-        
-     <resultMap id="map-feature-relationship" class="FeatureRelationship">
+     
+	 <resultMap id="map-basic-feature-relationship" class="FeatureRelationship">
 		<result property="featureRelationshipId" column="feature_relationship_id"/>
-        <result property="featureByObjectId.featureId" column="object_id"/>
   	    <result property="cvTerm.cvTermId" column="relation_type_id"/>
   	    <result property="rank" column="rank"/>
   	    <result property="value" column="relation_value" />
      </resultMap>
+	   
+     <resultMap id="map-feature-relationship-for-objectId" class="FeatureRelationship" 
+		        extends="map-basic-feature-relationship">
+		<result property="featureByObjectId.featureId" column="object_id"/>
+     </resultMap>
 
+	 <resultMap id="map-feature-relationship-for-subjectId" class="FeatureRelationship"
+		        extends="map-basic-feature-relationship">
+		<result property="featureBySubjectId" column="subject_id" 
+			                                  select="getLazyFeatureById"/>
+     </resultMap>
+	
     <resultMap id="select-relationship" class="FeatureRelationship">
+		<result property="featureRelationshipId" column="feature_relationship_id"/>
         <result property="featureBySubjectId.featureId" column="subject_id" />
         <result property="featureByObjectId.featureId" column="object_id" />
         <result property="value" column="value" />
@@ -29,7 +40,7 @@
      
      <!--  select feature_relationship -->
      <select id="getFeatureRelationship" resultMap="select-relationship">
-       SELECT subject_id, object_id, type_id, value, rank 
+       SELECT feature_relationship_id, subject_id, object_id, type_id, value, rank 
        FROM feature_relationship
        WHERE
          <dynamic>
-- 
GitLab