X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJSONFile.java;h=5d9c80414aabe4bcb03595edda377c0da04a268a;hb=3d0101179759ef157b088ea135423cd909512d9f;hp=d6be51ccdef79385655a667566732ad6145d2c25;hpb=14dfbaf6a266c6d5789f1f113b63a33a435ea0b2;p=jalview.git diff --git a/src/jalview/io/JSONFile.java b/src/jalview/io/JSONFile.java index d6be51c..5d9c804 100644 --- a/src/jalview/io/JSONFile.java +++ b/src/jalview/io/JSONFile.java @@ -47,6 +47,7 @@ import jalview.json.binding.biojson.v1.SequenceFeaturesPojo; import jalview.json.binding.biojson.v1.SequenceGrpPojo; import jalview.json.binding.biojson.v1.SequencePojo; import jalview.renderer.seqfeatures.FeatureColourFinder; +import jalview.schemes.ColourSchemeProperty; import jalview.schemes.JalviewColourScheme; import jalview.schemes.ResidueColourScheme; import jalview.util.ColorUtils; @@ -217,9 +218,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile // are not exported if (globalColourScheme .equalsIgnoreCase(JalviewColourScheme.RNAHelices.toString()) - || globalColourScheme - .equalsIgnoreCase(JalviewColourScheme.TCoffee - .toString())) + || globalColourScheme.equalsIgnoreCase( + JalviewColourScheme.TCoffee.toString())) { jsonAlignmentPojo.setGlobalColorScheme(ResidueColourScheme.NONE); } @@ -238,8 +238,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile { SequenceGrpPojo seqGrpPojo = new SequenceGrpPojo(); seqGrpPojo.setGroupName(seqGrp.getName()); - seqGrpPojo.setColourScheme(seqGrp.getColourScheme() - .getSchemeName()); + seqGrpPojo.setColourScheme(ColourSchemeProperty + .getColourName(seqGrp.getColourScheme())); seqGrpPojo.setColourText(seqGrp.getColourText()); seqGrpPojo.setDescription(seqGrp.getDescription()); seqGrpPojo.setDisplayBoxes(seqGrp.getDisplayBoxes()); @@ -278,18 +278,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile // hidden column business if (getViewport().hasHiddenColumns()) { - List hiddenCols = getViewport().getAlignment() - .getHiddenColumns() - .getListOfCols(); - StringBuilder hiddenColsBuilder = new StringBuilder(); - for (int[] range : hiddenCols) - { - hiddenColsBuilder.append(";").append(range[0]).append("-") - .append(range[1]); - } - - hiddenColsBuilder.deleteCharAt(0); - hiddenSections[0] = hiddenColsBuilder.toString(); + hiddenSections[0] = getViewport().getAlignment().getHiddenColumns() + .regionsToString(";", "-"); } // hidden rows/seqs business @@ -322,7 +312,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile SequenceI[] sqs, FeatureRenderer fr) { displayedFeatures = (fr == null) ? null : fr.getFeaturesDisplayed(); - List sequenceFeaturesPojo = new ArrayList(); + List sequenceFeaturesPojo = new ArrayList<>(); if (sqs == null) { return sequenceFeaturesPojo; @@ -351,9 +341,10 @@ public class JSONFile extends AlignFile implements ComplexAlignFile SequenceFeaturesPojo jsonFeature = new SequenceFeaturesPojo( String.valueOf(seq.hashCode())); - String featureColour = (fr == null) ? null : jalview.util.Format - .getHexString(finder.findFeatureColour(Color.white, seq, - seq.findIndex(sf.getBegin()))); + String featureColour = (fr == null) ? null + : jalview.util.Format.getHexString( + finder.findFeatureColour(Color.white, seq, + seq.findIndex(sf.getBegin()))); jsonFeature.setXstart(seq.findIndex(sf.getBegin()) - 1); jsonFeature.setXend(seq.findIndex(sf.getEnd())); jsonFeature.setType(sf.getType()); @@ -373,7 +364,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile public static List annotationToJsonPojo( Vector annotations) { - List jsonAnnotations = new ArrayList(); + List jsonAnnotations = new ArrayList<>(); if (annotations == null) { return jsonAnnotations; @@ -418,8 +409,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile annotationPojo.setDisplayCharacter(displayChar); if (annotation.colour != null) { - annotationPojo.setColour(jalview.util.Format - .getHexString(annotation.colour)); + annotationPojo.setColour( + jalview.util.Format.getHexString(annotation.colour)); } alignAnnotPojo.getAnnotations().add(annotationPojo); } @@ -463,17 +454,17 @@ public class JSONFile extends AlignFile implements ComplexAlignFile { globalColourScheme = (String) jvSettingsJsonObj .get("globalColorScheme"); - Boolean showFeatures = Boolean.valueOf(jvSettingsJsonObj.get( - "showSeqFeatures").toString()); + Boolean showFeatures = Boolean.valueOf( + jvSettingsJsonObj.get("showSeqFeatures").toString()); setShowSeqFeatures(showFeatures); parseHiddenSeqRefsAsList(jvSettingsJsonObj); parseHiddenCols(jvSettingsJsonObj); } - hiddenSequences = new ArrayList(); - seqMap = new Hashtable(); - for (Iterator sequenceIter = seqJsonArray.iterator(); sequenceIter - .hasNext();) + hiddenSequences = new ArrayList<>(); + seqMap = new Hashtable<>(); + for (Iterator sequenceIter = seqJsonArray + .iterator(); sequenceIter.hasNext();) { JSONObject sequence = sequenceIter.next(); String sequcenceString = sequence.get("seq").toString(); @@ -493,28 +484,28 @@ public class JSONFile extends AlignFile implements ComplexAlignFile parseFeatures(jsonSeqArray); - for (Iterator seqGrpIter = seqGrpJsonArray.iterator(); seqGrpIter - .hasNext();) + for (Iterator seqGrpIter = seqGrpJsonArray + .iterator(); seqGrpIter.hasNext();) { JSONObject seqGrpObj = seqGrpIter.next(); String grpName = seqGrpObj.get("groupName").toString(); String colourScheme = seqGrpObj.get("colourScheme").toString(); String description = (seqGrpObj.get("description") == null) ? null : seqGrpObj.get("description").toString(); - boolean displayBoxes = Boolean.valueOf(seqGrpObj - .get("displayBoxes").toString()); - boolean displayText = Boolean.valueOf(seqGrpObj.get("displayText") - .toString()); - boolean colourText = Boolean.valueOf(seqGrpObj.get("colourText") - .toString()); - boolean showNonconserved = Boolean.valueOf(seqGrpObj.get( - "showNonconserved").toString()); + boolean displayBoxes = Boolean + .valueOf(seqGrpObj.get("displayBoxes").toString()); + boolean displayText = Boolean + .valueOf(seqGrpObj.get("displayText").toString()); + boolean colourText = Boolean + .valueOf(seqGrpObj.get("colourText").toString()); + boolean showNonconserved = Boolean + .valueOf(seqGrpObj.get("showNonconserved").toString()); int startRes = Integer .valueOf(seqGrpObj.get("startRes").toString()); int endRes = Integer.valueOf(seqGrpObj.get("endRes").toString()); JSONArray sequenceRefs = (JSONArray) seqGrpObj.get("sequenceRefs"); - ArrayList grpSeqs = new ArrayList(); + ArrayList grpSeqs = new ArrayList<>(); if (sequenceRefs.size() > 0) { Iterator seqHashIter = sequenceRefs.iterator(); @@ -530,23 +521,23 @@ public class JSONFile extends AlignFile implements ComplexAlignFile } SequenceGroup seqGrp = new SequenceGroup(grpSeqs, grpName, null, displayBoxes, displayText, colourText, startRes, endRes); - seqGrp.setColourScheme(ColourSchemeMapper.getJalviewColourScheme( - colourScheme, seqGrp)); + seqGrp.setColourScheme(ColourSchemeMapper + .getJalviewColourScheme(colourScheme, seqGrp)); seqGrp.setShowNonconserved(showNonconserved); seqGrp.setDescription(description); this.seqGroups.add(seqGrp); } - for (Iterator alAnnotIter = alAnnotJsonArray.iterator(); alAnnotIter - .hasNext();) + for (Iterator alAnnotIter = alAnnotJsonArray + .iterator(); alAnnotIter.hasNext();) { JSONObject alAnnot = alAnnotIter.next(); JSONArray annotJsonArray = (JSONArray) alAnnot.get("annotations"); Annotation[] annotations = new Annotation[annotJsonArray.size()]; int count = 0; - for (Iterator annotIter = annotJsonArray.iterator(); annotIter - .hasNext();) + for (Iterator annotIter = annotJsonArray + .iterator(); annotIter.hasNext();) { JSONObject annot = annotIter.next(); if (annot == null) @@ -555,59 +546,64 @@ public class JSONFile extends AlignFile implements ComplexAlignFile } else { - float val = annot.get("value") == null ? null : Float - .valueOf(annot.get("value").toString()); - String desc = annot.get("description") == null ? null : annot - .get("description").toString(); + float val = annot.get("value") == null ? null + : Float.valueOf(annot.get("value").toString()); + String desc = annot.get("description") == null ? null + : annot.get("description").toString(); char ss = annot.get("secondaryStructure") == null || annot.get("secondaryStructure").toString() - .equalsIgnoreCase("u0000") ? ' ' : annot - .get("secondaryStructure").toString().charAt(0); + .equalsIgnoreCase("u0000") ? ' ' + : annot.get("secondaryStructure") + .toString().charAt(0); String displayChar = annot.get("displayCharacter") == null ? "" : annot.get("displayCharacter").toString(); annotations[count] = new Annotation(displayChar, desc, ss, val); if (annot.get("colour") != null) { - Color color = ColorUtils.parseColourString(annot.get( - "colour").toString()); + Color color = ColorUtils + .parseColourString(annot.get("colour").toString()); annotations[count].colour = color; } } ++count; } - AlignmentAnnotation alignAnnot = new AlignmentAnnotation(alAnnot - .get("label").toString(), alAnnot.get("description") - .toString(), annotations); - alignAnnot.graph = (alAnnot.get("graphType") == null) ? 0 : Integer - .valueOf(alAnnot.get("graphType").toString()); + AlignmentAnnotation alignAnnot = new AlignmentAnnotation( + alAnnot.get("label").toString(), + alAnnot.get("description").toString(), annotations); + alignAnnot.graph = (alAnnot.get("graphType") == null) ? 0 + : Integer.valueOf(alAnnot.get("graphType").toString()); JSONObject diplaySettings = (JSONObject) alAnnot .get("annotationSettings"); if (diplaySettings != null) { - alignAnnot.scaleColLabel = (diplaySettings.get("scaleColLabel") == null) ? false - : Boolean.valueOf(diplaySettings.get("scaleColLabel") - .toString()); + alignAnnot.scaleColLabel = (diplaySettings + .get("scaleColLabel") == null) ? false + : Boolean.valueOf(diplaySettings + .get("scaleColLabel").toString()); alignAnnot.showAllColLabels = (diplaySettings - .get("showAllColLabels") == null) ? true : Boolean - .valueOf(diplaySettings.get("showAllColLabels") - .toString()); + .get("showAllColLabels") == null) ? true + : Boolean.valueOf(diplaySettings + .get("showAllColLabels").toString()); alignAnnot.centreColLabels = (diplaySettings .get("centreColLabels") == null) ? true - : Boolean.valueOf(diplaySettings.get("centreColLabels") - .toString()); - alignAnnot.belowAlignment = (diplaySettings.get("belowAlignment") == null) ? false - : Boolean.valueOf(diplaySettings.get("belowAlignment") - .toString()); - alignAnnot.visible = (diplaySettings.get("visible") == null) ? true - : Boolean.valueOf(diplaySettings.get("visible") - .toString()); - alignAnnot.hasIcons = (diplaySettings.get("hasIcon") == null) ? true - : Boolean.valueOf(diplaySettings.get("hasIcon") - .toString()); + : Boolean.valueOf(diplaySettings + .get("centreColLabels").toString()); + alignAnnot.belowAlignment = (diplaySettings + .get("belowAlignment") == null) ? false + : Boolean.valueOf(diplaySettings + .get("belowAlignment").toString()); + alignAnnot.visible = (diplaySettings.get("visible") == null) + ? true + : Boolean.valueOf( + diplaySettings.get("visible").toString()); + alignAnnot.hasIcons = (diplaySettings.get("hasIcon") == null) + ? true + : Boolean.valueOf( + diplaySettings.get("hasIcon").toString()); } if (alAnnot.get("score") != null) @@ -616,11 +612,12 @@ public class JSONFile extends AlignFile implements ComplexAlignFile .valueOf(alAnnot.get("score").toString()); } - String calcId = (alAnnot.get("calcId") == null) ? "" : alAnnot.get( - "calcId").toString(); + String calcId = (alAnnot.get("calcId") == null) ? "" + : alAnnot.get("calcId").toString(); alignAnnot.setCalcId(calcId); - String seqHash = (alAnnot.get("sequenceRef") != null) ? alAnnot - .get("sequenceRef").toString() : null; + String seqHash = (alAnnot.get("sequenceRef") != null) + ? alAnnot.get("sequenceRef").toString() + : null; Sequence sequence = (seqHash != null) ? seqMap.get(seqHash) : null; if (sequence != null) @@ -648,7 +645,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile public void parseHiddenSeqRefsAsList(JSONObject jvSettingsJson) { - hiddenSeqRefs = new ArrayList(); + hiddenSeqRefs = new ArrayList<>(); String hiddenSeqs = (String) jvSettingsJson.get("hiddenSeqs"); if (hiddenSeqs != null && !hiddenSeqs.isEmpty()) { @@ -682,8 +679,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile if (jsonSeqFeatures != null) { displayedFeatures = new FeaturesDisplayed(); - for (Iterator seqFeatureItr = jsonSeqFeatures.iterator(); seqFeatureItr - .hasNext();) + for (Iterator seqFeatureItr = jsonSeqFeatures + .iterator(); seqFeatureItr.hasNext();) { JSONObject jsonFeature = seqFeatureItr.next(); Long begin = (Long) jsonFeature.get("xStart"); @@ -766,8 +763,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile } } } - globalColourScheme = (viewport.getGlobalColourScheme() == null) ? ResidueColourScheme.NONE - : viewport.getGlobalColourScheme().getSchemeName(); + globalColourScheme = ColourSchemeProperty + .getColourName(viewport.getGlobalColourScheme()); setDisplayedFeatures(viewport.getFeaturesDisplayed()); showSeqFeatures = viewport.isShowSequenceFeatures();