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;
+ }
}