X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2Fdas%2Fdatamodel%2FDasSequenceSource.java;h=168082e2df9eaa5ac273f4a65c2086e1a8fc8853;hb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;hp=95ff7d0768ee6563ef632aa07bd9d8cc77102592;hpb=ad20cd92225f2ee8c251d39b00b90555d382a616;p=jalview.git diff --git a/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java b/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java index 95ff7d0..168082e 100644 --- a/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java +++ b/src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java @@ -1,22 +1,36 @@ /* - * 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 2.9.0b1) + * Copyright (C) 2015 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.dbsources.das.datamodel; +import jalview.bin.Cache; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.DBRefEntry; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceI; +import jalview.util.MessageManager; +import jalview.ws.dbsources.das.api.jalviewSourceI; +import jalview.ws.seqfetcher.DbSourceProxy; +import jalview.ws.seqfetcher.DbSourceProxyImpl; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -36,15 +50,6 @@ import org.biodas.jdas.schema.sources.VERSION; import com.stevesoft.pat.Regex; -import jalview.ws.dbsources.das.api.jalviewSourceI; -import jalview.ws.seqfetcher.*; -import jalview.bin.Cache; -import jalview.datamodel.Alignment; -import jalview.datamodel.AlignmentI; -import jalview.datamodel.DBRefEntry; -import jalview.datamodel.Sequence; -import jalview.datamodel.SequenceI; - /** * an instance of this class is created for each unique DAS Sequence source (ie * one capable of handling the 'sequence' for a particular MapMaster) @@ -70,6 +75,12 @@ public class DasSequenceSource extends DbSourceProxyImpl implements protected MultipleConnectionPropertyProviderI connprops = null; /** + * DAS sources are tier 1 - if we have a direct DB connection then we should + * prefer it + */ + private int tier = 1; + + /** * create a new DbSource proxy for a DAS 1 source * * @param dbnbame @@ -91,9 +102,11 @@ public class DasSequenceSource extends DbSourceProxyImpl implements if (!(jsrc = new JalviewSource(source, connprops, false)) .isSequenceSource()) { - throw new Exception("Source " + source.getTitle() - + " does not support the sequence command."); + throw new Exception(MessageManager.formatMessage( + "exception.das_source_doesnt_support_sequence_command", + new String[] { source.getTitle() })); } + this.tier = 1 + ((jsrc.isLocal() || jsrc.isReferenceSource()) ? 0 : 1); this.source = source; this.dbname = dbname; this.dbrefname = dbrefname.toUpperCase(); @@ -162,8 +175,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements connprops.getConnectionPropertyProviderFor(sr)); for (String q : toks) { - List qset = Arrays.asList(new String[] - { q }); + List qset = Arrays.asList(new String[] { q }); try { DasSequenceAdapter s = sq.fetchData(sr, qset); @@ -334,4 +346,10 @@ public class DasSequenceSource extends DbSourceProxyImpl implements { return coordsys; } + + @Override + public int getTier() + { + return tier; + } }