git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3111 JAL-3340 JAL-3184 JAL-3338 new known defects
[jalview.git]
/
src
/
jalview
/
util
/
ShiftList.java
diff --git
a/src/jalview/util/ShiftList.java
b/src/jalview/util/ShiftList.java
index
2b3a8a4
..
1dd18ec
100644
(file)
--- a/
src/jalview/util/ShiftList.java
+++ b/
src/jalview/util/ShiftList.java
@@
-1,6
+1,6
@@
/*
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
*
* This file is part of Jalview.
*
@@
-20,7
+20,8
@@
*/
package jalview.util;
*/
package jalview.util;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
/**
* ShiftList Simple way of mapping a linear series to a new linear range with
/**
* ShiftList Simple way of mapping a linear series to a new linear range with
@@
-29,11
+30,11
@@
import java.util.*;
*/
public class ShiftList
{
*/
public class ShiftList
{
- public Vector shifts;
+ private List<int[]> shifts;
public ShiftList()
{
public ShiftList()
{
- shifts = new Vector();
+ shifts = new ArrayList<int[]>();
}
/**
}
/**
@@
-46,21
+47,22
@@
public class ShiftList
*/
public void addShift(int pos, int shift)
{
*/
public void addShift(int pos, int shift)
{
- int sidx = 0;
- int[] rshift = null;
- while (sidx < shifts.size()
- && (rshift = (int[]) shifts.elementAt(sidx))[0] < pos)
- {
- sidx++;
- }
- if (sidx == shifts.size())
+ synchronized (shifts)
{
{
- shifts.insertElementAt(new int[]
- { pos, shift }, sidx);
- }
- else
- {
- rshift[1] += shift;
+ int sidx = 0;
+ int[] rshift = null;
+ while (sidx < shifts.size() && (rshift = shifts.get(sidx))[0] < pos)
+ {
+ sidx++;
+ }
+ if (sidx == shifts.size())
+ {
+ shifts.add(sidx, new int[] { pos, shift });
+ }
+ else
+ {
+ rshift[1] += shift;
+ }
}
}
}
}
@@
-81,7
+83,7
@@
public class ShiftList
int sidx = 0;
int rshift[];
while (sidx < shifts.size()
int sidx = 0;
int rshift[];
while (sidx < shifts.size()
- && (rshift = ((int[]) shifts.elementAt(sidx++)))[0] <= pos)
+ && (rshift = (shifts.get(sidx++)))[0] <= pos)
{
shifted += rshift[1];
}
{
shifted += rshift[1];
}
@@
-91,9
+93,9
@@
public class ShiftList
/**
* clear all shifts
*/
/**
* clear all shifts
*/
- public void clear()
+ public synchronized void clear()
{
{
- shifts.removeAllElements();
+ shifts.clear();
}
/**
}
/**
@@
-104,15
+106,16
@@
public class ShiftList
public ShiftList getInverse()
{
ShiftList inverse = new ShiftList();
public ShiftList getInverse()
{
ShiftList inverse = new ShiftList();
- if (shifts != null)
+ synchronized (shifts)
{
{
- for (int i = 0, j = shifts.size(); i < j; i++)
+ if (shifts != null)
{
{
- int[] sh = (int[]) shifts.elementAt(i);
- if (sh != null)
+ for (int[] sh : shifts)
{
{
- inverse.shifts.addElement(new int[]
- { sh[0], -sh[1] });
+ if (sh != null)
+ {
+ inverse.shifts.add(new int[] { sh[0], -sh[1] });
+ }
}
}
}
}
}
}
@@
-120,8
+123,8
@@
public class ShiftList
}
/**
}
/**
- * parse a 1d map of position 1<i<n to L<pos[i]<N such as that returned from
- * SequenceI.gapMap()
+ * parse a 1d map of position 1<i<n to L<pos[i]<N such as that
+ * returned from SequenceI.gapMap()
*
* @param gapMap
* @return shifts from map index to mapped position
*
* @param gapMap
* @return shifts from map index to mapped position
@@
-143,4
+146,9
@@
public class ShiftList
}
return shiftList;
}
}
return shiftList;
}
+
+ public List<int[]> getShifts()
+ {
+ return shifts;
+ }
}
}