/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
* 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;
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)
* @author JimP
*
*/
-public class DasSequenceSource extends DbSourceProxyImpl implements
- DbSourceProxy
+public class DasSequenceSource extends DbSourceProxyImpl
+ implements DbSourceProxy
{
private jalviewSourceI jsrc;
protected MultipleConnectionPropertyProviderI connprops = null;
/**
- * DAS sources are tier 1 - if we have a direct DB connection then we should prefer it
+ * DAS sources are tier 1 - if we have a direct DB connection then we should
+ * prefer it
*/
- private int tier=1;
+ private int tier = 1;
/**
* create a new DbSource proxy for a DAS 1 source
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.tier = 1 + ((jsrc.isLocal() || jsrc.isReferenceSource()) ? 0 : 1);
this.source = source;
this.dbname = dbname;
this.dbrefname = dbrefname.toUpperCase();
public AlignmentI getSequenceRecords(String queries) throws Exception
{
StringTokenizer st = new StringTokenizer(queries, "\t");
- List<String> toks = new ArrayList<String>(), src = new ArrayList<String>(), acIds = new ArrayList<String>();
+ List<String> toks = new ArrayList<String>(),
+ src = new ArrayList<String>(), acIds = new ArrayList<String>();
while (st.hasMoreTokens())
{
String t;
// slow, fetch one at a time.
for (String sr : src)
{
- System.err
- .println("Retrieving IDs individually from das source: "
- + sr);
+ System.err.println(
+ "Retrieving IDs individually from das source: " + sr);
org.biodas.jdas.client.SequenceClient sq = new SequenceClient(
connprops.getConnectionPropertyProviderFor(sr));
for (String q : toks)
{
- List<String> qset = Arrays.asList(new String[]
- { q });
+ List<String> qset = Arrays.asList(new String[] { q });
try
{
DasSequenceAdapter s = sq.fetchData(sr, qset);
Map<List<String>, DasSequenceAdapter> dss = resultset.get(sr);
if (dss == null)
{
- resultset
- .put(sr,
- dss = new HashMap<List<String>, DasSequenceAdapter>());
+ resultset.put(sr,
+ dss = new HashMap<List<String>, DasSequenceAdapter>());
}
dss.put(qset, s);
} catch (Exception x)
Map<List<String>, Exception> ers = errors.get(sr);
if (ers == null)
{
- errors.put(sr, ers = new HashMap<List<String>, Exception>());
+ errors.put(sr,
+ ers = new HashMap<List<String>, Exception>());
}
ers.put(qset, x);
}
if (acIds.indexOf(lbl) == -1)
{
- System.err
- .println("Warning - received sequence event for strange accession code ("
+ System.err.println(
+ "Warning - received sequence event for strange accession code ("
+ lbl + ")");
}
else
{
if (e.getContent().length() == 0)
{
- System.err
- .println("Empty sequence returned for accession code ("
- + lbl
- + ") from "
- + resset.getKey()
+ System.err.println(
+ "Empty sequence returned for accession code ("
+ + lbl + ") from " + resset.getKey()
+ " (source is " + getDbName());
continue;
}
seqs = new java.util.Vector<SequenceI>();
// JDAS returns a sequence complete with any newlines and spaces
// in the XML
- Sequence sq = new Sequence(lbl, e.getContent().replaceAll(
- "\\s+", ""));
+ Sequence sq = new Sequence(lbl,
+ e.getContent().replaceAll("\\s+", ""));
sq.setStart(e.getStart().intValue());
- sq.addDBRef(new DBRefEntry(getDbSource(), getDbVersion()
- + ":" + e.getVersion(), lbl));
+ sq.addDBRef(new DBRefEntry(getDbSource(),
+ getDbVersion() + ":" + e.getVersion(), lbl));
seqs.addElement(sq);
}
}
} catch (Exception x)
{
- Cache.log
- .error("Couldn't retrieve features for sequence from its source.",
- x);
+ Cache.log.error(
+ "Couldn't retrieve features for sequence from its source.",
+ x);
}
}