+ public String[] getHiddenSections()
+ {
+ String[] hiddenSections = new String[2];
+ if (getViewport() == null)
+ {
+ return null;
+ }
+
+ // hidden column business
+ if (getViewport().hasHiddenColumns())
+ {
+ List<int[]> hiddenCols = getViewport().getColumnSelection()
+ .getHiddenColumns();
+ StringBuilder hiddenColsBuilder = new StringBuilder();
+ for (int[] range : hiddenCols)
+ {
+ hiddenColsBuilder.append(";").append(range[0]).append("-")
+ .append(range[1]);
+ }
+
+ hiddenColsBuilder.deleteCharAt(0);
+ hiddenSections[0] = hiddenColsBuilder.toString();
+ }
+
+ // hidden rows/seqs business
+ HiddenSequences hiddenSeqsObj = getViewport().getAlignment()
+ .getHiddenSequences();
+ if (hiddenSeqsObj == null || hiddenSeqsObj.hiddenSequences == null)
+ {
+ return hiddenSections;
+ }
+
+ SequenceI[] hiddenSeqs = hiddenSeqsObj.hiddenSequences;
+ StringBuilder hiddenSeqsBuilder = new StringBuilder();
+ for (SequenceI hiddenSeq : hiddenSeqs)
+ {
+ if (hiddenSeq != null)
+ {
+ hiddenSeqsBuilder.append(";").append(hiddenSeq.hashCode());
+ }
+ }
+ if (hiddenSeqsBuilder.length() > 0)
+ {
+ hiddenSeqsBuilder.deleteCharAt(0);
+ }
+ hiddenSections[1] = hiddenSeqsBuilder.toString();
+
+ return hiddenSections;
+ }
+
+ public List<SequenceFeaturesPojo> sequenceFeatureToJsonPojo(