From fae6a4a731abee27ece85ab8d112060d672f0e43 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Mon, 21 Jan 2008 16:16:45 +0000
Subject: [PATCH] add range to input option

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@6963 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 .../sanger/artemis/util/DatabaseDocument.java | 27 ++++++++++++++-----
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/uk/ac/sanger/artemis/util/DatabaseDocument.java b/uk/ac/sanger/artemis/util/DatabaseDocument.java
index ae348ec56..940ae4b4b 100644
--- a/uk/ac/sanger/artemis/util/DatabaseDocument.java
+++ b/uk/ac/sanger/artemis/util/DatabaseDocument.java
@@ -127,6 +127,7 @@ public class DatabaseDocument extends Document
   // include children in reading from the database
   private boolean readChildren = true;
   
+  // range to retrieve features for
   private Range range;
   
   private Feature geneFeature;
@@ -480,14 +481,21 @@ public class DatabaseDocument extends Document
         // Retrieve all features within a range
        // List schemaList = new Vector();
        // schemaList.add(schema);
-        
-        Collection featureLocs = geneFeature.getFeatureLocsForFeatureId();
-        Iterator it = featureLocs.iterator();
-        final FeatureLoc featureLoc = (FeatureLoc)it.next();
+        final Feature srcFeature;
+        if(geneFeature != null)
+        {
+          Collection featureLocs = geneFeature.getFeatureLocsForFeatureId();
+          Iterator it = featureLocs.iterator();
+          final FeatureLoc featureLoc = (FeatureLoc)it.next();
 
-        final Feature srcFeature = featureLoc.getFeatureBySrcFeatureId();
-        setName(srcFeature.getUniqueName());
-        this.srcFeatureId = Integer.toString(srcFeature.getFeatureId());
+          srcFeature = featureLoc.getFeatureBySrcFeatureId();
+          setName(srcFeature.getUniqueName());
+          this.srcFeatureId = Integer.toString(srcFeature.getFeatureId());
+        }
+        else
+        {
+          srcFeature = dao.getFeatureById(Integer.parseInt(srcFeatureId));
+        }
         
         ByteBuffer entryBuffer = getFeaturesInRange(srcFeature, range, dao);
         getChadoSequence(srcFeature, entryBuffer);
@@ -2966,4 +2974,9 @@ public class DatabaseDocument extends Document
       getCvterms(dao);
     }
   }
+
+  public void setRange(Range range)
+  {
+    this.range = range;
+  }
 }
-- 
GitLab