From e107d7321901f90e8b88b8ee5a11b271dca01cfc Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Mon, 8 Mar 2010 15:08:38 +0000
Subject: [PATCH] fix for getting database document

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@13409 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/chado/ArtemisUtils.java | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/uk/ac/sanger/artemis/chado/ArtemisUtils.java b/uk/ac/sanger/artemis/chado/ArtemisUtils.java
index 8fb15c642..575deb698 100644
--- a/uk/ac/sanger/artemis/chado/ArtemisUtils.java
+++ b/uk/ac/sanger/artemis/chado/ArtemisUtils.java
@@ -46,6 +46,7 @@ import org.gmod.schema.sequence.FeatureLoc;
 import org.gmod.schema.sequence.FeatureProp;
 import org.gmod.schema.sequence.FeatureRelationship;
 
+import uk.ac.sanger.artemis.io.DatabaseDocumentEntry;
 import uk.ac.sanger.artemis.io.GFFStreamFeature;
 import uk.ac.sanger.artemis.util.DatabaseDocument;
 import uk.ac.sanger.artemis.util.StringVector;
@@ -287,7 +288,18 @@ public class ArtemisUtils
       final Enumeration id_keys= rangeHash.keys();
       uniqueName = (String)id_keys.nextElement();
       
-      DatabaseDocument doc = (DatabaseDocument)feature.getDocumentEntry().getDocument();
+      DatabaseDocument doc;
+      
+      try
+      {
+        doc = (DatabaseDocument)feature.getDocumentEntry().getDocument();
+      }
+      catch(Exception e)
+      {
+        doc = (DatabaseDocument) (
+            (DatabaseDocumentEntry)((uk.ac.sanger.artemis.Feature)feature.getUserData()).
+            getEntry().getEMBLEntry()).getDocument();
+      }
       FeatureLoc loc = new FeatureLoc();
       Feature srcFeature = new Feature();
       srcFeature.setFeatureId(Integer.parseInt(doc.getSrcFeatureId()));
-- 
GitLab