X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FRangetype.java;h=ee4fa8306092c72a4db5d85cd237ffdf41531d27;hb=a83adb45bdf9554e270921b4baad94defd314b36;hp=afbfa8d723fa15c96cfeeac9c4aaf2ac8d6edffc;hpb=b685f8d04ee267818d28c4377fe2ae4778082cd0;p=jalview.git diff --git a/src/jalview/io/vamsas/Rangetype.java b/src/jalview/io/vamsas/Rangetype.java index afbfa8d..ee4fa83 100644 --- a/src/jalview/io/vamsas/Rangetype.java +++ b/src/jalview/io/vamsas/Rangetype.java @@ -1,39 +1,44 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) - * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.io.vamsas; +import jalview.io.VamsasAppDatastore; +import jalview.util.MessageManager; + +import java.util.List; import java.util.Vector; import uk.ac.vamsas.client.Vobject; import uk.ac.vamsas.objects.core.Local; -import uk.ac.vamsas.objects.core.Map; import uk.ac.vamsas.objects.core.MapType; import uk.ac.vamsas.objects.core.Mapped; import uk.ac.vamsas.objects.core.RangeType; import uk.ac.vamsas.objects.core.Seg; -import jalview.datamodel.DBRefEntry; -import jalview.datamodel.Mapping; -import jalview.io.VamsasAppDatastore; + /** - * Enhances DatastoreItem objects with additional functions to do with RangeType objects + * Enhances DatastoreItem objects with additional functions to do with RangeType + * objects + * * @author JimP - * + * */ public abstract class Rangetype extends DatastoreItem { @@ -47,11 +52,13 @@ public abstract class Rangetype extends DatastoreItem { super(datastore); } - - public Rangetype(VamsasAppDatastore datastore, Vobject vobj, Class jvClass) + + public Rangetype(VamsasAppDatastore datastore, Vobject vobj, + Class jvClass) { super(datastore, vobj, jvClass); } + public Rangetype(VamsasAppDatastore datastore, Object jvobj, Class vClass) { super(datastore, jvobj, vClass); @@ -72,8 +79,8 @@ public abstract class Rangetype extends DatastoreItem int[] se = null; if (dseta.getSegCount() > 0 && dseta.getPosCount() > 0) { - throw new Error( - "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!"); + throw new Error(MessageManager.getString( + "error.invalid_vamsas_rangetype_cannot_resolve_lists")); } if (dseta.getSegCount() > 0) { @@ -96,8 +103,7 @@ public abstract class Rangetype extends DatastoreItem // could do a polarity for pos range too. and pass back indication of // discontinuities. int pos = dseta.getPos(0).getI(); - se = new int[] - { pos, pos }; + se = new int[] { pos, pos }; for (int p = 0, pSize = dseta.getPosCount(); p < pSize; p++) { pos = dseta.getPos(p).getI(); @@ -131,8 +137,8 @@ public abstract class Rangetype extends DatastoreItem int[] se = null; if (dseta.getSegCount() > 0 && dseta.getPosCount() > 0) { - throw new Error( - "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!"); + throw new Error(MessageManager.getString( + "error.invalid_vamsas_rangetype_cannot_resolve_lists")); } if (dseta.getSegCount() > 0) { @@ -179,8 +185,8 @@ public abstract class Rangetype extends DatastoreItem int[] se = null; if (range.getSegCount() > 0 && range.getPosCount() > 0) { - throw new Error( - "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!"); + throw new Error(MessageManager.getString( + "error.invalid_vamsas_rangetype_cannot_resolve_lists")); } if (range.getSegCount() > 0) { @@ -220,15 +226,15 @@ public abstract class Rangetype extends DatastoreItem * initialise a range type object from a set of start/end inclusive intervals * * @param mrt - * @param range + * @param ranges */ - protected void initRangeType(RangeType mrt, int[] range) + protected void initRangeType(RangeType mrt, List ranges) { - for (int i = 0; i < range.length; i += 2) + for (int[] range : ranges) { Seg vSeg = new Seg(); - vSeg.setStart(range[i]); - vSeg.setEnd(range[i + 1]); + vSeg.setStart(range[0]); + vSeg.setEnd(range[1]); vSeg.setInclusive(true); mrt.addSeg(vSeg); } @@ -237,12 +243,12 @@ public abstract class Rangetype extends DatastoreItem /** * * @param maprange - * where the from range is the local mapped range, and the to - * range is the 'mapped' range in the MapRangeType + * where the from range is the local mapped range, and the to range + * is the 'mapped' range in the MapRangeType * @param default - * unit for local + * unit for local * @param default - * unit for mapped + * unit for mapped * @return MapList */ protected jalview.util.MapList parsemapType(MapType maprange, int localu, @@ -253,8 +259,9 @@ public abstract class Rangetype extends DatastoreItem int[] mappedRange = getIntervals(maprange.getMapped()); long lu = maprange.getLocal().hasUnit() ? maprange.getLocal().getUnit() : localu; - long mu = maprange.getMapped().hasUnit() ? maprange.getMapped() - .getUnit() : mappedu; + long mu = maprange.getMapped().hasUnit() + ? maprange.getMapped().getUnit() + : mappedu; ml = new jalview.util.MapList(localRange, mappedRange, (int) lu, (int) mu); return ml; @@ -290,17 +297,16 @@ public abstract class Rangetype extends DatastoreItem * @param maprange * @param ml * @param setUnits - * @param reverse - - * reverse MapList mapping for Local and Mapped ranges and - * units + * @param reverse + * - reverse MapList mapping for Local and Mapped ranges and units */ protected void initMapType(MapType maprange, jalview.util.MapList ml, boolean setUnits, boolean reverse) { if (ml == null) { - throw new Error( - "Implementation error. MapList is null for initMapType."); + throw new Error(MessageManager + .getString("error.implementation_error_maplist_is_null")); } maprange.setLocal(new Local()); maprange.setMapped(new Mapped()); @@ -326,9 +332,10 @@ public abstract class Rangetype extends DatastoreItem maprange.getLocal().setUnit(ml.getToRatio()); maprange.getMapped().setUnit(ml.getFromRatio()); } - // TODO: and verify - raise an implementation fault notice if local/mapped range % Local/Mapped Ratio != 0 + // TODO: and verify - raise an implementation fault notice if local/mapped + // range % Local/Mapped Ratio != 0 // if (uk.ac.vamsas.objects.utils.Range.getIntervals(range)) - + } }