X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fws%2Fseqfetcher%2FASequenceFetcher.java;h=c28d8e2c75bf7ab077e4426693708182571fa38f;hb=8edebdd9789b2d93fb8f9db24b8be2c1e6317690;hp=e4759156b1a6d48eb7ea058db390a82fa7b033fb;hpb=89822d8d5731171df5228c5a4c78bd8ff7c8abc8;p=jalview.git diff --git a/src/jalview/ws/seqfetcher/ASequenceFetcher.java b/src/jalview/ws/seqfetcher/ASequenceFetcher.java index e475915..c28d8e2 100644 --- a/src/jalview/ws/seqfetcher/ASequenceFetcher.java +++ b/src/jalview/ws/seqfetcher/ASequenceFetcher.java @@ -1,26 +1,32 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * 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. + * 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 Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws.seqfetcher; +import jalview.bin.Cache; import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; import jalview.datamodel.SequenceI; import jalview.util.DBRefUtils; +import jalview.util.MessageManager; +import jalview.util.QuickSort; import java.util.ArrayList; import java.util.Enumeration; @@ -54,7 +60,9 @@ public class ASequenceFetcher public String[] getSupportedDb() { if (FETCHABLEDBS == null) + { return null; + } String[] sf = new String[FETCHABLEDBS.size()]; Enumeration e = FETCHABLEDBS.keys(); int i = 0; @@ -73,14 +81,16 @@ public class ASequenceFetcher { String db = (String) e.nextElement(); if (source.compareToIgnoreCase(db) == 0) + { return true; + } } - jalview.bin.Cache.log.warn("isFetchable doesn't know about '" + source + Cache.log.warn("isFetchable doesn't know about '" + source + "'"); return false; } - public SequenceI[] getSequences(jalview.datamodel.DBRefEntry[] refs) + public SequenceI[] getSequences(DBRefEntry[] refs) { SequenceI[] ret = null; Vector rseqs = new Vector(); @@ -194,7 +204,9 @@ public class ASequenceFetcher */ System.out.println(hdr); if (rrb != null) + { System.out.println(rrb); + } System.out.println("# end of " + hdr); } @@ -272,12 +284,13 @@ public class ASequenceFetcher DbSourceProxy[] l = dblist.values().toArray(new DbSourceProxy[0]); int i = 0; String[] nm = new String[l.length]; - // make sure standard dbs appear first, followed by reference das sources, followed by anything else. + // make sure standard dbs appear first, followed by reference das sources, + // followed by anything else. for (DbSourceProxy s : l) { - nm[i++] = ""+s.getTier()+s.getDbName().toLowerCase(); + nm[i++] = "" + s.getTier() + s.getDbName().toLowerCase(); } - jalview.util.QuickSort.sort(nm, l); + QuickSort.sort(nm, l); dbs = new ArrayList(); for (i = l.length - 1; i >= 0; i--) { @@ -298,31 +311,23 @@ public class ASequenceFetcher * @param dbSourceProxy * reference for class implementing * jalview.ws.seqfetcher.DbSourceProxy - * @throws java.lang.IllegalArgumentException - * if class does not implement jalview.ws.seqfetcher.DbSourceProxy */ - protected void addDBRefSourceImpl(Class dbSourceProxy) + protected void addDBRefSourceImpl( + Class dbSourceProxy) throws java.lang.IllegalArgumentException { DbSourceProxy proxy = null; try { - Object proxyObj = dbSourceProxy.getConstructor(null) - .newInstance(null); - if (!DbSourceProxy.class.isInstance(proxyObj)) - { - throw new IllegalArgumentException( - dbSourceProxy.toString() - + " does not implement the jalview.ws.seqfetcher.DbSourceProxy"); - } - proxy = (DbSourceProxy) proxyObj; + DbSourceProxy proxyObj = dbSourceProxy.getConstructor().newInstance(); + proxy = proxyObj; } catch (IllegalArgumentException e) { throw e; } catch (Exception e) { // Serious problems if this happens. - throw new Error("DBRefSource Implementation Exception", e); + throw new Error(MessageManager.getString("error.dbrefsource_implementation_exception"), e); } addDbRefSourceImpl(proxy); } @@ -388,11 +393,9 @@ public class ASequenceFetcher */ public String[] getDbInstances(Class class1) { - if (!jalview.ws.seqfetcher.DbSourceProxy.class.isAssignableFrom(class1)) + if (!DbSourceProxy.class.isAssignableFrom(class1)) { - throw new Error( - "Implmentation Error - getDbInstances must be given a class that implements jalview.ws.seqfetcher.DbSourceProxy (was given '" - + class1 + "')"); + throw new Error(MessageManager.formatMessage("error.implementation_error_dbinstance_must_implement_interface", new String[]{class1.toString()})); } if (FETCHABLEDBS == null) { @@ -423,6 +426,7 @@ public class ASequenceFetcher { ArrayList prlist = new ArrayList(); for (String fetchable : getSupportedDb()) + { for (DbSourceProxy pr : getSourceProxy(fetchable)) { if (class1.isInstance(pr)) @@ -430,6 +434,7 @@ public class ASequenceFetcher prlist.add(pr); } } + } if (prlist.size() == 0) { return null;