JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / io / vamsas / Sequencefeature.java
index 31d64f5..f8d86d5 100644 (file)
@@ -281,9 +281,39 @@ public class Sequencefeature extends Rangetype
   private SequenceFeature getJalviewSeqFeature(RangeAnnotation dseta)
   {
     int[] se = getBounds(dseta);
-    SequenceFeature sf = new jalview.datamodel.SequenceFeature(
-            dseta.getType(), dseta.getDescription(), dseta.getStatus(),
-            se[0], se[1], dseta.getGroup());
+
+    /*
+     * try to identify feature score
+     */
+    boolean scoreFound = false;
+    float theScore = 0f;
+    String featureType = dseta.getType();
+    if (dseta.getScoreCount() > 0)
+    {
+      Enumeration scr = dseta.enumerateScore();
+      while (scr.hasMoreElements())
+      {
+        Score score = (Score) scr.nextElement();
+        if (score.getName().equals(featureType))
+        {
+          theScore = score.getContent();
+          scoreFound = true;
+        }
+      }
+    }
+
+    SequenceFeature sf = null;
+    if (scoreFound)
+    {
+      sf = new SequenceFeature(featureType, dseta.getDescription(), se[0],
+              se[1], theScore, dseta.getGroup());
+    }
+    else
+    {
+      sf = new SequenceFeature(featureType, dseta.getDescription(), se[0],
+              se[1], dseta.getGroup());
+    }
+    sf.setStatus(dseta.getStatus());
     if (dseta.getLinkCount() > 0)
     {
       Link[] links = dseta.getLink();
@@ -299,11 +329,7 @@ public class Sequencefeature extends Rangetype
       while (scr.hasMoreElements())
       {
         Score score = (Score) scr.nextElement();
-        if (score.getName().equals(sf.getType()))
-        {
-          sf.setScore(score.getContent());
-        }
-        else
+        if (!score.getName().equals(sf.getType()))
         {
           sf.setValue(score.getName(), "" + score.getContent());
         }
@@ -325,7 +351,7 @@ public class Sequencefeature extends Rangetype
         {
           try
           {
-            val = new Boolean(p.getContent());
+            val = Boolean.valueOf(p.getContent());
           } catch (Exception e)
           {
           }
@@ -334,7 +360,7 @@ public class Sequencefeature extends Rangetype
         {
           try
           {
-            val = new Float(p.getContent());
+            val = Float.valueOf(p.getContent());
 
           } catch (Exception e)
           {
@@ -344,7 +370,7 @@ public class Sequencefeature extends Rangetype
         {
           try
           {
-            val = new Integer(p.getContent());
+            val = Integer.valueOf(p.getContent());
           } catch (Exception e)
           {
           }