Merge branch 'bug/JAL-2830_editManglesDatasetSequence' into documentation/JAL-3111_re...
authorJim Procter <jprocter@issues.jalview.org>
Tue, 18 Jun 2019 15:39:19 +0000 (16:39 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Tue, 18 Jun 2019 15:39:19 +0000 (16:39 +0100)
1  2 
src/jalview/commands/EditCommand.java

@@@ -24,7 -24,6 +24,7 @@@ import jalview.analysis.AlignSeq
  import jalview.datamodel.AlignmentAnnotation;
  import jalview.datamodel.AlignmentI;
  import jalview.datamodel.Annotation;
 +import jalview.datamodel.ContiguousI;
  import jalview.datamodel.Range;
  import jalview.datamodel.Sequence;
  import jalview.datamodel.SequenceFeature;
@@@ -527,8 -526,8 +527,8 @@@ public class EditCommand implements Com
          command.string[i] = sequence.getSequence(command.position,
                  command.position + command.number);
          SequenceI oldds = sequence.getDatasetSequence();
 -        Range cutPositions = sequence.findPositions(command.position + 1,
 -                command.position + command.number);
 +        ContiguousI cutPositions = sequence.findPositions(
 +                command.position + 1, command.position + command.number);
          boolean cutIsInternal = cutPositions != null
                  && sequence.getStart() != cutPositions
                  .getBegin() && sequence.getEnd() != cutPositions.getEnd();
         * EditCommand.PASTE, sequences, 0, alignment.getWidth(), alignment) );
         * 
         */
 -
 -      Range beforeEditedPositions = command.seqs[i].findPositions(1, start);
 -      Range afterEditedPositions = command.seqs[i]
 +      ContiguousI beforeEditedPositions = command.seqs[i].findPositions(1,
 +              start);
 +      ContiguousI afterEditedPositions = command.seqs[i]
                .findPositions(end + 1, command.seqs[i].getLength());
        
        oldstring = command.seqs[i].getSequenceAsString();
              // old ds and edited ds are different, so
              // create the new dataset sequence
              SequenceI newds = new Sequence(oldds);
-             newds.setSequence(fullseq);
+             newds.setSequence(fullseq.toUpperCase());
  
              if (command.oldds == null)
              {
  
      private char gapChar;
  
 +    /*
 +     * flag that identifies edits inserted to balance 
 +     * user edits in a 'locked editing' region
 +     */
 +    private boolean systemGenerated;
 +
      public Edit(Action cmd, SequenceI[] sqs, int pos, int count,
              char gap)
      {
      {
        return gapChar;
      }
 +
 +    public void setSystemGenerated(boolean b)
 +    {
 +      systemGenerated = b;
 +    }
 +
 +    public boolean isSystemGenerated()
 +    {
 +      return systemGenerated;
 +    }
    }
  
    /**