Skip to content

Commit fc63527

Browse files
committed
deep substitution of implementations with interfaces
1 parent b0ac102 commit fc63527

File tree

9 files changed

+27
-28
lines changed

9 files changed

+27
-28
lines changed

biojava-core/src/main/java/org/biojava/nbio/core/sequence/features/DatabaseReferenceInterface.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
import java.util.ArrayList;
2626
import java.util.LinkedHashMap;
27+
import java.util.List;
28+
import java.util.Map;
2729

2830
/**
2931
* If a SequenceProxyReader implements this interface then that external source
@@ -32,5 +34,5 @@
3234
*/
3335
public interface DatabaseReferenceInterface {
3436

35-
public LinkedHashMap<String,ArrayList<DBReferenceInfo>> getDatabaseReferences();
37+
public Map<String, List<DBReferenceInfo>> getDatabaseReferences();
3638
}

biojava-core/src/main/java/org/biojava/nbio/core/sequence/features/FeatureRetriever.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222

2323
package org.biojava.nbio.core.sequence.features;
2424

25-
import java.util.ArrayList;
26-
import java.util.HashMap;
25+
import java.util.List;
26+
import java.util.Map;
27+
2728
/**
2829
* If a SequenceProxyReader implements this interface then that external source
2930
* has a list features
3031
* @author @author Paolo Pavan
3132
*/
3233
public interface FeatureRetriever {
33-
HashMap<String, ArrayList<AbstractFeature>> getFeatures();
34+
Map<String, List<AbstractFeature>> getFeatures();
3435
}

biojava-core/src/main/java/org/biojava/nbio/core/sequence/features/FeaturesKeyWordInterface.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
package org.biojava.nbio.core.sequence.features;
2424

25-
import java.util.ArrayList;
25+
import java.util.List;
2626

2727
/**
2828
* Models the keywords that are annotated for a protein sequence at Uniprot. If a ProxySequenceReader
@@ -36,5 +36,5 @@ public interface FeaturesKeyWordInterface {
3636
*
3737
* @return
3838
*/
39-
public ArrayList<String> getKeyWords() ;
39+
public List<String> getKeyWords() ;
4040
}

biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/GenbankReader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ public LinkedHashMap<String,S> process(final int max) throws IOException, Compou
170170
.forEach(sequence::addFeature);
171171

172172
// add taxonomy ID to new sequence
173-
ArrayList<DBReferenceInfo> dbQualifier = genbankParser.getDatabaseReferences().get("db_xref");
173+
List<DBReferenceInfo> dbQualifier = genbankParser.getDatabaseReferences().get("db_xref");
174174
if (dbQualifier != null){
175175
DBReferenceInfo q = dbQualifier.get(0);
176176
sequence.setTaxonomy(new TaxonomyID(q.getDatabase()+":"+q.getId(), DataSource.GENBANK));

biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/GenbankSequenceParser.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ public class GenbankSequenceParser<S extends AbstractSequence<C>, C extends Comp
6262
private String header;
6363
private String accession;
6464
private boolean isCircularSequence;
65-
public Map<String, ArrayList<DBReferenceInfo>> mapDB;
65+
private Map<String, List<DBReferenceInfo>> mapDB;
6666
/**
6767
* this data structure collects list of features extracted from the
6868
* FEATURE_TAG section They are organized by list of the same type (i.e.
6969
* same genbank Feature) and are provided with location
7070
*/
71-
private HashMap<String, ArrayList<AbstractFeature>> featureCollection;
71+
private HashMap<String, List<AbstractFeature>> featureCollection;
7272

7373
private final Logger log = LoggerFactory.getLogger(getClass());
7474

@@ -430,7 +430,7 @@ public GenericGenbankHeaderParser<S, C> getSequenceHeaderParser() {
430430
return headerParser;
431431
}
432432

433-
public Map<String, ArrayList<DBReferenceInfo>> getDatabaseReferences() {
433+
public Map<String, List<DBReferenceInfo>> getDatabaseReferences() {
434434
return mapDB;
435435
}
436436

@@ -441,7 +441,7 @@ public List<String> getKeyWords() {
441441
public List<AbstractFeature> getFeatures(String keyword) {
442442
return featureCollection.get(keyword);
443443
}
444-
public Map<String, ArrayList<AbstractFeature>> getFeatures() {
444+
public Map<String, List<AbstractFeature>> getFeatures() {
445445
return featureCollection;
446446
}
447447

biojava-core/src/main/java/org/biojava/nbio/core/sequence/loader/GenbankProxySequenceReader.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@
5555
import java.io.InputStreamReader;
5656
import java.net.URL;
5757
import java.net.URLConnection;
58-
import java.util.ArrayList;
59-
import java.util.HashMap;
60-
import java.util.LinkedHashMap;
58+
import java.util.*;
6159

6260
/**
6361
* @author Karl Nicholas <github:karlnicholas>
@@ -72,7 +70,7 @@ public class GenbankProxySequenceReader<C extends Compound> extends StringProxyS
7270
private GenbankSequenceParser<AbstractSequence<C>, C> genbankParser;
7371
private GenericGenbankHeaderParser<AbstractSequence<C>, C> headerParser;
7472
private String header;
75-
private HashMap<String, ArrayList<AbstractFeature>> features;
73+
private Map<String, List<AbstractFeature>> features;
7674

7775

7876
/**
@@ -182,17 +180,17 @@ public GenericGenbankHeaderParser<AbstractSequence<C>, C> getHeaderParser() {
182180
return headerParser;
183181
}
184182
@Override
185-
public HashMap<String, ArrayList<AbstractFeature>> getFeatures() {
183+
public Map<String, List<AbstractFeature>> getFeatures() {
186184
return features;
187185
}
188186

189187
@Override
190-
public LinkedHashMap<String, ArrayList<DBReferenceInfo>> getDatabaseReferences() {
188+
public Map<String, List<DBReferenceInfo>> getDatabaseReferences() {
191189
return genbankParser.getDatabaseReferences();
192190
}
193191

194192
@Override
195-
public ArrayList<String> getKeyWords() {
193+
public List<String> getKeyWords() {
196194
return genbankParser.getKeyWords();
197195
}
198196

biojava-core/src/main/java/org/biojava/nbio/core/sequence/loader/UniprotProxySequenceReader.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,7 @@
5050
import java.net.HttpURLConnection;
5151
import java.net.URL;
5252
import java.rmi.RemoteException;
53-
import java.util.ArrayList;
54-
import java.util.Iterator;
55-
import java.util.LinkedHashMap;
56-
import java.util.List;
53+
import java.util.*;
5754
import java.util.regex.Pattern;
5855

5956
/**
@@ -816,8 +813,8 @@ public ArrayList<String> getKeyWords() {
816813
* @return
817814
*/
818815
@Override
819-
public LinkedHashMap<String, ArrayList<DBReferenceInfo>> getDatabaseReferences() {
820-
LinkedHashMap<String, ArrayList<DBReferenceInfo>> databaseReferencesHashMap = new LinkedHashMap<String, ArrayList<DBReferenceInfo>>();
816+
public Map<String, List<DBReferenceInfo>> getDatabaseReferences() {
817+
Map<String, List<DBReferenceInfo>> databaseReferencesHashMap = new LinkedHashMap<>();
821818
if (uniprotDoc == null) {
822819
return databaseReferencesHashMap;
823820
}
@@ -829,7 +826,7 @@ public LinkedHashMap<String, ArrayList<DBReferenceInfo>> getDatabaseReferences()
829826
for (Element element : dbreferenceElementList) {
830827
String type = element.getAttribute("type");
831828
String id = element.getAttribute("id");
832-
ArrayList<DBReferenceInfo> idlist = databaseReferencesHashMap.get(type);
829+
List<DBReferenceInfo> idlist = databaseReferencesHashMap.get(type);
833830
if (idlist == null) {
834831
idlist = new ArrayList<DBReferenceInfo>();
835832
databaseReferencesHashMap.put(type, idlist);
@@ -846,7 +843,7 @@ public LinkedHashMap<String, ArrayList<DBReferenceInfo>> getDatabaseReferences()
846843
}
847844
} catch (XPathExpressionException e) {
848845
logger.error("Problems while parsing db references in UniProt XML: {}. No db references will be available.",e.getMessage());
849-
return new LinkedHashMap<String, ArrayList<DBReferenceInfo>>();
846+
return new LinkedHashMap<>();
850847
}
851848

852849
return databaseReferencesHashMap;

biojava-core/src/main/java/org/biojava/nbio/core/sequence/template/AbstractSequence.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void setProxySequenceReader(SequenceReader<C> proxyLoader) {
126126

127127
if (proxyLoader instanceof FeatureRetriever) {
128128
this.setFeatureRetriever((FeatureRetriever) sequenceStorage);
129-
HashMap<String, ArrayList<AbstractFeature>> ff = getFeatureRetriever().getFeatures();
129+
Map<String, List<AbstractFeature>> ff = getFeatureRetriever().getFeatures();
130130
for (String k: ff.keySet()){
131131
for (AbstractFeature f: ff.get(k)){
132132
this.addFeature(f);

biojava-core/src/test/java/org/biojava/nbio/core/sequence/loader/GenbankProxySequenceReaderTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import java.util.ArrayList;
4646
import java.util.Arrays;
4747
import java.util.Collection;
48+
import java.util.List;
4849

4950
/**
5051
* Testing example for issue #834
@@ -187,7 +188,7 @@ public void testProteinSequenceFactoring() throws Exception {
187188
ProteinSequence seq = new ProteinSequence(genbankReader);
188189

189190
// if target protein contain CDS/coded_by than it should contain parent nucleotide seq
190-
ArrayList<AbstractFeature> CDSs = genbankReader.getFeatures().get("CDS");
191+
List<AbstractFeature> CDSs = genbankReader.getFeatures().get("CDS");
191192

192193
if (CDSs != null) {
193194
if (CDSs.size() == 1) {

0 commit comments

Comments
 (0)