X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fseqfetcher%2FDbSourceProxyImpl.java;h=ab4644ebff4bd86d859020784d4447e4e15017c9;hb=3d0101179759ef157b088ea135423cd909512d9f;hp=120f1b21269f49b8e89c19ef4095264b1b82129f;hpb=47168f025aefdaa044802bd5f8f510ffe43a4808;p=jalview.git diff --git a/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java b/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java index 120f1b2..ab4644e 100644 --- a/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java +++ b/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * 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. * @@ -20,12 +20,13 @@ */ package jalview.ws.seqfetcher; -import jalview.datamodel.Alignment; +import jalview.api.FeatureSettingsModelI; +import jalview.datamodel.AlignmentI; +import jalview.io.DataSourceType; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; import jalview.io.IdentifyFile; -import java.util.Hashtable; - /** * common methods for implementations of the DbSourceProxy interface. * @@ -34,50 +35,21 @@ import java.util.Hashtable; */ public abstract class DbSourceProxyImpl implements DbSourceProxy { - public DbSourceProxyImpl() - { - // default constructor - do nothing probably. - } - private Hashtable props = null; - - /* - * (non-Javadoc) - * - * @see jalview.ws.DbSourceProxy#getDbSourceProperties() - */ - public Hashtable getDbSourceProperties() - { - if (props == null) - { - props = new Hashtable(); - } - return props; - } + boolean queryInProgress = false; - protected void addDbSourceProperty(Object propname) - { - addDbSourceProperty(propname, propname); - } + protected StringBuffer results = null; - protected void addDbSourceProperty(Object propname, Object propvalue) + public DbSourceProxyImpl() { - if (props == null) - { - props = new Hashtable(); - } - props.put(propname, propvalue); } - boolean queryInProgress = false; - - protected StringBuffer results = null; - /* * (non-Javadoc) * * @see jalview.ws.DbSourceProxy#getRawRecords() */ + @Override public StringBuffer getRawRecords() { return results; @@ -88,6 +60,7 @@ public abstract class DbSourceProxyImpl implements DbSourceProxy * * @see jalview.ws.DbSourceProxy#queryInProgress() */ + @Override public boolean queryInProgress() { return queryInProgress; @@ -118,23 +91,71 @@ public abstract class DbSourceProxyImpl implements DbSourceProxy * @return null or a valid alignment * @throws Exception */ - protected Alignment parseResult(String result) throws Exception + protected AlignmentI parseResult(String result) throws Exception { - Alignment sequences = null; - String format = new IdentifyFile().Identify(result, "Paste"); - if (FormatAdapter.isValidFormat(format)) + AlignmentI sequences = null; + FileFormatI format = new IdentifyFile().identify(result, + DataSourceType.PASTE); + if (format != null) { - sequences = new FormatAdapter().readFile(result.toString(), "Paste", - format); + sequences = new FormatAdapter().readFile(result.toString(), + DataSourceType.PASTE, format); } return sequences; } + /** + * Returns the first accession id in the query (up to the first accession id + * separator), or the whole query if there is no separator or it is not found + */ @Override - public boolean isA(Object dbsourceproperty) + public String getAccessionIdFromQuery(String query) { - assert (dbsourceproperty != null); - return (props == null) ? false : props.containsKey(dbsourceproperty); + String sep = getAccessionSeparator(); + if (sep == null) + { + return query; + } + int sepPos = query.indexOf(sep); + return sepPos == -1 ? query : query.substring(0, sepPos); + } + + /** + * Default is only one accession id per query - override if more are allowed. + */ + @Override + public int getMaximumQueryCount() + { + return 1; + } + + /** + * Returns false - override to return true for DNA coding data sources + */ + @Override + public boolean isDnaCoding() + { + return false; } + /** + * Answers false - override as required in subclasses + */ + @Override + public boolean isAlignmentSource() + { + return false; + } + + @Override + public String getDescription() + { + return ""; + } + + @Override + public FeatureSettingsModelI getFeatureColourScheme() + { + return null; + } }