X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fseqfetcher%2FDbSourceProxyImpl.java;h=47cf1ff236b4a4fbbea367a45281472f3f3eeebc;hb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;hp=549a5f4ddbbf13fec45e98a16346ccbd286bd94a;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java b/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java index 549a5f4..47cf1ff 100644 --- a/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java +++ b/src/jalview/ws/seqfetcher/DbSourceProxyImpl.java @@ -1,131 +1,140 @@ -/* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle - * - * 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. - * - * 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 . - */ -package jalview.ws.seqfetcher; - -import jalview.datamodel.Alignment; -import jalview.datamodel.DBRefSource; -import jalview.io.FormatAdapter; -import jalview.io.IdentifyFile; - -import java.util.Hashtable; - -/** - * common methods for implementations of the DbSourceProxy interface. - * - * @author JimP - * - */ -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; - } - - protected void addDbSourceProperty(Object propname) - { - addDbSourceProperty(propname, propname); - } - - protected void addDbSourceProperty(Object propname, Object propvalue) - { - if (props == null) - { - props = new Hashtable(); - } - props.put(propname, propvalue); - } - - boolean queryInProgress = false; - - protected StringBuffer results = null; - - /* - * (non-Javadoc) - * - * @see jalview.ws.DbSourceProxy#getRawRecords() - */ - public StringBuffer getRawRecords() - { - return results; - } - - /* - * (non-Javadoc) - * - * @see jalview.ws.DbSourceProxy#queryInProgress() - */ - public boolean queryInProgress() - { - return queryInProgress; - } - - /** - * call to set the queryInProgress flag - * - */ - protected void startQuery() - { - queryInProgress = true; - } - - /** - * call to clear the queryInProgress flag - * - */ - protected void stopQuery() - { - queryInProgress = false; - } - - /** - * create an alignment from raw text file... - * - * @param result - * @return null or a valid alignment - * @throws Exception - */ - protected Alignment parseResult(String result) throws Exception - { - Alignment sequences = null; - String format = new IdentifyFile().Identify(result, "Paste"); - if (FormatAdapter.isValidFormat(format)) - { - sequences = new FormatAdapter().readFile(result.toString(), "Paste", - format); - } - return sequences; - } - -} +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) + * 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. + * + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ +package jalview.ws.seqfetcher; + +import jalview.datamodel.AlignmentI; +import jalview.io.FormatAdapter; +import jalview.io.IdentifyFile; + +import java.util.Hashtable; + +/** + * common methods for implementations of the DbSourceProxy interface. + * + * @author JimP + * + */ +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; + } + + protected void addDbSourceProperty(Object propname) + { + addDbSourceProperty(propname, propname); + } + + protected void addDbSourceProperty(Object propname, Object propvalue) + { + if (props == null) + { + props = new Hashtable(); + } + props.put(propname, propvalue); + } + + boolean queryInProgress = false; + + protected StringBuffer results = null; + + /* + * (non-Javadoc) + * + * @see jalview.ws.DbSourceProxy#getRawRecords() + */ + public StringBuffer getRawRecords() + { + return results; + } + + /* + * (non-Javadoc) + * + * @see jalview.ws.DbSourceProxy#queryInProgress() + */ + public boolean queryInProgress() + { + return queryInProgress; + } + + /** + * call to set the queryInProgress flag + * + */ + protected void startQuery() + { + queryInProgress = true; + } + + /** + * call to clear the queryInProgress flag + * + */ + protected void stopQuery() + { + queryInProgress = false; + } + + /** + * create an alignment from raw text file... + * + * @param result + * @return null or a valid alignment + * @throws Exception + */ + protected AlignmentI parseResult(String result) throws Exception + { + AlignmentI sequences = null; + String format = new IdentifyFile().Identify(result, "Paste"); + if (FormatAdapter.isValidFormat(format)) + { + sequences = new FormatAdapter().readFile(result.toString(), "Paste", + format); + } + return sequences; + } + + @Override + public boolean isA(Object dbsourceproperty) + { + assert (dbsourceproperty != null); + return (props == null) ? false : props.containsKey(dbsourceproperty); + } + +}