diff --git a/uk/ac/sanger/artemis/chado/GmodDAO.java b/uk/ac/sanger/artemis/chado/GmodDAO.java index 2aca307482bd69a161a91144fe6452fbb06037d3..69e733f19a2421f35313da4ad0c73c57f89b90f9 100644 --- a/uk/ac/sanger/artemis/chado/GmodDAO.java +++ b/uk/ac/sanger/artemis/chado/GmodDAO.java @@ -49,6 +49,7 @@ public abstract class GmodDAO implements SequenceDaoI, SchemaDaoI, OrganismDaoI, CvDaoI, PubDaoI, GeneralDaoI { + public abstract List getOrganismsContainingSrcFeatures(); public abstract List getSimilarityMatchesByFeatureIds(final List featureIds); public abstract List getSimilarityMatches(final Integer srcFeatureId); public abstract List getClustersByFeatureIds(final List featureIds); diff --git a/uk/ac/sanger/artemis/chado/IBatisDAO.java b/uk/ac/sanger/artemis/chado/IBatisDAO.java index c097c547655c09f78c6f9fecc63ce0388b514d63..1c2e2db46dac1a8358dd5e0b08fbb7e62532317a 100644 --- a/uk/ac/sanger/artemis/chado/IBatisDAO.java +++ b/uk/ac/sanger/artemis/chado/IBatisDAO.java @@ -118,7 +118,12 @@ public class IBatisDAO extends GmodDAO public List getResidueFeatures(final Integer organismId) { - return sqlMap.queryForList("getResidueFeatures",organismId); + + CvTerm cvTerm = getCvTermByNameAndCvName("top_level_seq", "genedb_misc"); + if(cvTerm != null) + return sqlMap.queryForList("getTopLevelFeatures",organismId); + else + return sqlMap.queryForList("getResidueFeatures",organismId); } public List getResidueFeaturesByOrganismCommonName(final String commonName) @@ -492,8 +497,6 @@ public class IBatisDAO extends GmodDAO /** * Return a list of top-level features - * - * * @return a (possibly empty) List<Feature> of children */ public List getTopLevelFeatures() @@ -570,9 +573,22 @@ public class IBatisDAO extends GmodDAO */ public List getResidueFeatures() { - return sqlMap.queryForList("getResidueFeatures",null); + CvTerm cvTerm = getCvTermByNameAndCvName("top_level_seq", "genedb_misc"); + if(cvTerm != null) + return sqlMap.queryForList("getTopLevelFeatures",null); + else + return sqlMap.queryForList("getResidueFeatures",null); } + public List getOrganismsContainingSrcFeatures() + { + CvTerm cvTerm = getCvTermByNameAndCvName("top_level_seq", "genedb_misc"); + if(cvTerm != null) + return sqlMap.queryForList("getTopLevelOrganisms", null); + else + return sqlMap.queryForList("getOrganismsContainingSrcFeatures", null); + } + /** * * For a schema return the type_id's with residues. diff --git a/uk/ac/sanger/artemis/chado/JdbcDAO.java b/uk/ac/sanger/artemis/chado/JdbcDAO.java index 27c549cc98997cbc95dfe44d0ae15f3018bb97f0..2d7c4d05edac73aaa06454ad2d92bbbeb8d72dce 100644 --- a/uk/ac/sanger/artemis/chado/JdbcDAO.java +++ b/uk/ac/sanger/artemis/chado/JdbcDAO.java @@ -101,6 +101,11 @@ public class JdbcDAO extends GmodDAO ////// ////// + public List getOrganismsContainingSrcFeatures() + { + return null; + } + public Feature getLazyFeatureNoResiduesById(final Integer featureId) { return null;