diff --git a/cellbase-lib/src/main/java/org/opencb/cellbase/lib/managers/MetaManager.java b/cellbase-lib/src/main/java/org/opencb/cellbase/lib/managers/MetaManager.java index c1eb87aab4..f23a5ee201 100644 --- a/cellbase-lib/src/main/java/org/opencb/cellbase/lib/managers/MetaManager.java +++ b/cellbase-lib/src/main/java/org/opencb/cellbase/lib/managers/MetaManager.java @@ -69,7 +69,8 @@ public void checkQuota(String apiKey, ApiKeyJwtPayload payload) throws CellBaseE numQueries = quotaResult.first().getNumQueries(); } if (numQueries >= payload.getQuota().getMaxNumQueries()) { - throw new CellBaseException("Exceeded the maximum number of queries"); + throw new CellBaseException("Maximum query limit reached: Your current API key has a quota of " + + payload.getQuota().getMaxNumQueries() + " queries"); } } diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/exception/CellBaseServerException.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/exception/CellBaseServerException.java new file mode 100644 index 0000000000..ab598b6241 --- /dev/null +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/exception/CellBaseServerException.java @@ -0,0 +1,25 @@ +/* + * Copyright 2015-2020 OpenCB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opencb.cellbase.server.exception; + +import javax.ws.rs.WebApplicationException; + +public class CellBaseServerException extends WebApplicationException { + public CellBaseServerException(String msg) { + super(msg); + } +} diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/FileWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/FileWSServer.java index 533b1e4d22..de97c37718 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/FileWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/FileWSServer.java @@ -23,9 +23,9 @@ import org.opencb.cellbase.core.ParamConstants; import org.opencb.cellbase.core.api.FileQuery; import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.lib.managers.FileManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; @@ -48,9 +48,13 @@ public FileWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", value = ParamConstants.VERSION_DESCRIPTION, defaultValue = ParamConstants.DEFAULT_VERSION) String apiVersion, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, uriInfo, hsr); - fileManager = cellBaseManagerFactory.getFileManager(); + try { + fileManager = cellBaseManagerFactory.getFileManager(); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/GenericRestWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/GenericRestWSServer.java index e8a61d4f0a..a8daf4fa66 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/GenericRestWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/GenericRestWSServer.java @@ -30,7 +30,6 @@ import org.opencb.cellbase.core.ParamConstants; import org.opencb.cellbase.core.api.key.ApiKeyJwtPayload; import org.opencb.cellbase.core.api.key.ApiKeyManager; -import org.opencb.cellbase.core.api.query.QueryException; import org.opencb.cellbase.core.config.CellBaseConfiguration; import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResponse; @@ -40,6 +39,7 @@ import org.opencb.cellbase.lib.managers.DataReleaseManager; import org.opencb.cellbase.lib.managers.MetaManager; import org.opencb.cellbase.lib.monitor.Monitor; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.commons.datastore.core.Event; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.datastore.core.Query; @@ -60,7 +60,8 @@ import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; -import static org.opencb.cellbase.core.ParamConstants.*; +import static org.opencb.cellbase.core.ParamConstants.API_KEY_PARAM; +import static org.opencb.cellbase.core.ParamConstants.DATA_RELEASE_PARAM; @Path("/{version}/{species}") @Produces("text/plain") @@ -101,21 +102,25 @@ public class GenericRestWSServer implements IWSServer { protected static ApiKeyManager apiKeyManager; public GenericRestWSServer(@PathParam("version") String version, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { this(version, DONT_CHECK_SPECIES, uriInfo, hsr); } public GenericRestWSServer(@PathParam("version") String version, @PathParam("species") String species, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { this.version = version; this.uriInfo = uriInfo; this.httpServletRequest = hsr; this.species = species; - init(); - initQuery(); + try { + init(); + initQuery(); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } private void init() throws IOException, CellBaseException { diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/MetaWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/MetaWSServer.java index 6f08a9fd27..331f562585 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/MetaWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/MetaWSServer.java @@ -20,7 +20,8 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.opencb.cellbase.core.ParamConstants; -import org.opencb.cellbase.core.api.query.QueryException; +import org.opencb.cellbase.core.api.key.ApiKeyJwtPayload; +import org.opencb.cellbase.core.api.key.ApiKeyManager; import org.opencb.cellbase.core.common.GitRepositoryState; import org.opencb.cellbase.core.config.DownloadProperties; import org.opencb.cellbase.core.config.SpeciesConfiguration; @@ -28,11 +29,10 @@ import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.models.DataRelease; import org.opencb.cellbase.core.result.CellBaseDataResult; -import org.opencb.cellbase.core.api.key.ApiKeyManager; -import org.opencb.cellbase.core.api.key.ApiKeyJwtPayload; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.DataReleaseManager; import org.opencb.cellbase.lib.managers.MetaManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.clinical.ClinicalWSServer; import org.opencb.cellbase.server.rest.feature.GeneWSServer; import org.opencb.cellbase.server.rest.feature.IdWSServer; @@ -50,7 +50,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.lang.reflect.Method; import java.lang.reflect.Parameter; import java.text.DateFormat; @@ -73,9 +72,13 @@ public MetaWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", value = ParamConstants.VERSION_DESCRIPTION, defaultValue = ParamConstants.DEFAULT_VERSION) String apiVersion, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, uriInfo, hsr); - metaManager = cellBaseManagerFactory.getMetaManager(); + try { + metaManager = cellBaseManagerFactory.getMetaManager(); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/OntologyWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/OntologyWSServer.java index c26df87caf..42e6c5b71d 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/OntologyWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/OntologyWSServer.java @@ -21,11 +21,10 @@ import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.models.core.OntologyTerm; import org.opencb.cellbase.core.api.OntologyQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.OntologyManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.*; @@ -33,7 +32,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -55,17 +53,21 @@ public OntologyWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - List assemblies = uriInfo.getQueryParameters().get("assembly"); - if (CollectionUtils.isNotEmpty(assemblies)) { - assembly = assemblies.get(0); - } - if (StringUtils.isEmpty(assembly)) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + List assemblies = uriInfo.getQueryParameters().get("assembly"); + if (CollectionUtils.isNotEmpty(assemblies)) { + assembly = assemblies.get(0); + } + if (StringUtils.isEmpty(assembly)) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - ontologyManager = cellBaseManagerFactory.getOntologyManager(species, assembly); + ontologyManager = cellBaseManagerFactory.getOntologyManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/PublicationWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/PublicationWSServer.java index 4497c1e79d..11734d11b3 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/PublicationWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/PublicationWSServer.java @@ -20,17 +20,15 @@ import org.opencb.biodata.formats.pubmed.v233jaxb.PubmedArticle; import org.opencb.cellbase.core.ParamConstants; import org.opencb.cellbase.core.api.PublicationQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.lib.managers.PublicationManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.Map; import static org.opencb.cellbase.core.ParamConstants.*; @@ -55,9 +53,13 @@ public PublicationWSServer(@PathParam("apiVersion") @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, uriInfo, hsr); - publicationManager = cellBaseManagerFactory.getPublicationManager(); + try { + publicationManager = cellBaseManagerFactory.getPublicationManager(); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/SpeciesWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/SpeciesWSServer.java index 1d97e45a56..9f75bf9645 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/SpeciesWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/SpeciesWSServer.java @@ -19,10 +19,9 @@ import io.swagger.annotations.*; import org.opencb.biodata.models.core.Chromosome; import org.opencb.cellbase.core.api.GenomeQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.lib.managers.GenomeManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.*; @@ -30,7 +29,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import static org.opencb.cellbase.core.ParamConstants.*; @@ -53,10 +51,13 @@ public SpeciesWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", v int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, - @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context HttpServletRequest hsr) throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - - genomeManager = cellBaseManagerFactory.getGenomeManager(species, assembly); + try { + genomeManager = cellBaseManagerFactory.getGenomeManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/ClinicalWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/ClinicalWSServer.java index b8ebddb599..c7d4b60fc4 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/ClinicalWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/ClinicalWSServer.java @@ -19,11 +19,10 @@ import io.swagger.annotations.*; import org.opencb.biodata.models.variant.Variant; import org.opencb.cellbase.core.api.ClinicalVariantQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.ClinicalManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -32,7 +31,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import static org.opencb.cellbase.core.ParamConstants.*; @@ -53,13 +51,17 @@ public ClinicalWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - clinicalManager = cellBaseManagerFactory.getClinicalManager(species, assembly); + clinicalManager = cellBaseManagerFactory.getClinicalManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/PharmacogenomicsWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/PharmacogenomicsWSServer.java index 85e8875045..58377de0dc 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/PharmacogenomicsWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/clinical/PharmacogenomicsWSServer.java @@ -19,12 +19,11 @@ import io.swagger.annotations.*; import org.opencb.biodata.models.pharma.PharmaChemical; import org.opencb.cellbase.core.api.PharmaChemicalQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.ClinicalManager; import org.opencb.cellbase.lib.managers.PharmacogenomicsManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -33,7 +32,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -58,14 +56,18 @@ public PharmacogenomicsWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVe @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - clinicalManager = cellBaseManagerFactory.getClinicalManager(species, assembly); - pharmacogenomicsManager = cellBaseManagerFactory.getPharmacogenomicsManager(species, assembly); + clinicalManager = cellBaseManagerFactory.getClinicalManager(species, assembly); + pharmacogenomicsManager = cellBaseManagerFactory.getPharmacogenomicsManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/GeneWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/GeneWSServer.java index 96c84037d4..0f8719ec38 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/GeneWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/GeneWSServer.java @@ -30,11 +30,13 @@ import org.opencb.cellbase.core.api.TranscriptQuery; import org.opencb.cellbase.core.api.VariantQuery; import org.opencb.cellbase.core.api.query.LogicalList; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; -import org.opencb.cellbase.lib.managers.*; +import org.opencb.cellbase.lib.managers.GeneManager; +import org.opencb.cellbase.lib.managers.ProteinManager; +import org.opencb.cellbase.lib.managers.TranscriptManager; +import org.opencb.cellbase.lib.managers.VariantManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -43,7 +45,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.security.InvalidParameterException; import java.util.*; @@ -70,21 +71,24 @@ public GeneWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", valu @ApiParam(name = "dataRelease", value = DATA_RELEASE_DESCRIPTION) @DefaultValue("0") @QueryParam("dataRelease") int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, - @Context UriInfo uriInfo, @Context HttpServletRequest hsr) throws QueryException, IOException, - CellBaseException { + @Context UriInfo uriInfo, @Context HttpServletRequest hsr) throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - List assemblies = uriInfo.getQueryParameters().get("assembly"); - if (CollectionUtils.isNotEmpty(assemblies)) { - assembly = assemblies.get(0); - } - if (StringUtils.isEmpty(assembly)) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + List assemblies = uriInfo.getQueryParameters().get("assembly"); + if (CollectionUtils.isNotEmpty(assemblies)) { + assembly = assemblies.get(0); + } + if (StringUtils.isEmpty(assembly)) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); - transcriptManager = cellBaseManagerFactory.getTranscriptManager(species, assembly); - variantManager = cellBaseManagerFactory.getVariantManager(species, assembly); - proteinManager = cellBaseManagerFactory.getProteinManager(species, assembly); + geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + transcriptManager = cellBaseManagerFactory.getTranscriptManager(species, assembly); + variantManager = cellBaseManagerFactory.getVariantManager(species, assembly); + proteinManager = cellBaseManagerFactory.getProteinManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/IdWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/IdWSServer.java index 32c60cbe82..b6a36fc017 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/IdWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/IdWSServer.java @@ -21,12 +21,11 @@ import org.opencb.biodata.models.core.Xref; import org.opencb.cellbase.core.api.GeneQuery; import org.opencb.cellbase.core.api.XrefQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.GeneManager; import org.opencb.cellbase.lib.managers.XrefManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -35,7 +34,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -60,14 +58,18 @@ public IdWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", value @ApiParam(name = "dataRelease", value = DATA_RELEASE_DESCRIPTION) @DefaultValue("0") @QueryParam("dataRelease") int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, - @Context UriInfo uriInfo, @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context UriInfo uriInfo, @Context HttpServletRequest hsr) throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - xrefManager = cellBaseManagerFactory.getXrefManager(species, assembly); - geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + xrefManager = cellBaseManagerFactory.getXrefManager(species, assembly); + geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/ProteinWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/ProteinWSServer.java index dab1a6d5f4..5adec4c399 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/ProteinWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/ProteinWSServer.java @@ -21,10 +21,10 @@ import org.opencb.cellbase.core.api.ProteinQuery; import org.opencb.cellbase.core.api.TranscriptQuery; import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.ProteinManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -33,7 +33,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -56,13 +55,17 @@ public ProteinWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", v int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - proteinManager = cellBaseManagerFactory.getProteinManager(species, assembly); + proteinManager = cellBaseManagerFactory.getProteinManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/TranscriptWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/TranscriptWSServer.java index e0ec1e4e85..3e586cbd3f 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/TranscriptWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/feature/TranscriptWSServer.java @@ -23,13 +23,12 @@ import org.opencb.cellbase.core.api.GeneQuery; import org.opencb.cellbase.core.api.ProteinQuery; import org.opencb.cellbase.core.api.TranscriptQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.GeneManager; import org.opencb.cellbase.lib.managers.ProteinManager; import org.opencb.cellbase.lib.managers.TranscriptManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -38,7 +37,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.*; import static org.opencb.cellbase.core.ParamConstants.*; @@ -64,15 +62,19 @@ public TranscriptWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion" @QueryParam("dataRelease") int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - transcriptManager = cellBaseManagerFactory.getTranscriptManager(species, assembly); - geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); - proteinManager = cellBaseManagerFactory.getProteinManager(species, assembly); + transcriptManager = cellBaseManagerFactory.getTranscriptManager(species, assembly); + geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + proteinManager = cellBaseManagerFactory.getProteinManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/ChromosomeWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/ChromosomeWSServer.java index 9ed642a6ea..ba9387cdf1 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/ChromosomeWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/ChromosomeWSServer.java @@ -21,11 +21,10 @@ import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.models.core.Chromosome; import org.opencb.cellbase.core.api.GenomeQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.GenomeManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -34,7 +33,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.List; import static org.opencb.cellbase.core.ParamConstants.*; @@ -58,17 +56,21 @@ public ChromosomeWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion" @QueryParam("dataRelease") int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - List assemblies = uriInfo.getQueryParameters().get("assembly"); - if (CollectionUtils.isNotEmpty(assemblies)) { - assembly = assemblies.get(0); - } - if (StringUtils.isEmpty(assembly)) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + try { + List assemblies = uriInfo.getQueryParameters().get("assembly"); + if (CollectionUtils.isNotEmpty(assemblies)) { + assembly = assemblies.get(0); + } + if (StringUtils.isEmpty(assembly)) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } + + genomeManager = cellBaseManagerFactory.getGenomeManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); } - - genomeManager = cellBaseManagerFactory.getGenomeManager(species, assembly); } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/RegionWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/RegionWSServer.java index 5d12fb65fc..ffa1100562 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/RegionWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/RegionWSServer.java @@ -22,11 +22,11 @@ import org.opencb.biodata.models.variant.Variant; import org.opencb.biodata.models.variant.avro.Repeat; import org.opencb.cellbase.core.api.*; -import org.opencb.cellbase.core.api.query.QueryException; import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.*; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -35,7 +35,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -65,19 +64,23 @@ public RegionWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", va int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, - @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context HttpServletRequest hsr) throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); - variantManager = cellBaseManagerFactory.getVariantManager(species, assembly); - genomeManager = cellBaseManagerFactory.getGenomeManager(species, assembly); - transcriptManager = cellBaseManagerFactory.getTranscriptManager(species, assembly); - clinicalManager = cellBaseManagerFactory.getClinicalManager(species, assembly); - regulatoryManager = cellBaseManagerFactory.getRegulatoryManager(species, assembly); - repeatsManager = cellBaseManagerFactory.getRepeatsManager(species, assembly); + geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + variantManager = cellBaseManagerFactory.getVariantManager(species, assembly); + genomeManager = cellBaseManagerFactory.getGenomeManager(species, assembly); + transcriptManager = cellBaseManagerFactory.getTranscriptManager(species, assembly); + clinicalManager = cellBaseManagerFactory.getClinicalManager(species, assembly); + regulatoryManager = cellBaseManagerFactory.getRegulatoryManager(species, assembly); + repeatsManager = cellBaseManagerFactory.getRepeatsManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET @@ -180,7 +183,7 @@ public Response getGenesByRegionPost(@FormParam("region") @ApiParam(name = "regi paramType = "query") }) public Response getGenesByRegion(@PathParam("regions") @ApiParam(name = "regions", value = REGION_DESCRIPTION, - required = true) String regions) { + required = true) String regions) { try { List queries = new ArrayList<>(); String[] coordinates = regions.split(","); @@ -267,7 +270,7 @@ public Response getTranscriptByRegion(@PathParam("regions") @ApiParam(name = "re paramType = "query") }) public Response getRepeatByRegion(@PathParam("regions") @ApiParam(name = "regions", - value = REGION_DESCRIPTION, required = true) String region) { + value = REGION_DESCRIPTION, required = true) String region) { try { List queries = new ArrayList<>(); String[] coordinates = region.split(","); @@ -310,7 +313,7 @@ public Response getRepeatByRegion(@PathParam("regions") @ApiParam(name = "region paramType = "query") }) public Response getVariantByRegion(@PathParam("regions") @ApiParam(name = "regions", value = REGION_DESCRIPTION, - required = true) String regions) { + required = true) String regions) { try { List queries = new ArrayList<>(); if (!variantManager.validateRegionInput(regions)) { @@ -358,7 +361,7 @@ public Response getSequenceByRegion(@PathParam("regions") required = true) String regions, @DefaultValue("1") @QueryParam("strand") @ApiParam(name = "strand", value = STRAND, - allowableValues = "1,-1", defaultValue = "1", required = true) String strand) { + allowableValues = "1,-1", defaultValue = "1", required = true) String strand) { try { GenomeQuery query = new GenomeQuery(uriParams); query.setDataRelease(getDataRelease()); @@ -374,9 +377,9 @@ public Response getSequenceByRegion(@PathParam("regions") @Path("/{regions}/clinical") @ApiOperation(httpMethod = "GET", value = "Retrieves all the clinical variants", notes = "No more than 1000 objects are allowed to be returned at a time. " - + "Please note that ClinVar, COSMIC or GWAS objects may be returned as stored in the database. Please have " - + "a look at " - + "https://github.com/opencb/cellbase/wiki/MongoDB-implementation#clinical for further details.", + + "Please note that ClinVar, COSMIC or GWAS objects may be returned as stored in the database. Please have " + + "a look at " + + "https://github.com/opencb/cellbase/wiki/MongoDB-implementation#clinical for further details.", response = Document.class, responseContainer = "QueryResponse") @ApiImplicitParams({ @ApiImplicitParam(name = "so", value = SEQUENCE_ONTOLOGY_DESCRIPTION, @@ -514,7 +517,7 @@ public Response getTfByRegion(@PathParam("regions") @ApiParam(name = "regions", @GET @Path("/{regions}/conservation") @ApiOperation(httpMethod = "GET", value = "Retrieves all the conservation scores", response = GenomicScoreRegion.class, - responseContainer = "QueryResponse") + responseContainer = "QueryResponse") public Response conservation(@PathParam("regions") @ApiParam(name = "regions", value = REGION_DESCRIPTION, required = true) String regions) { diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/VariantWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/VariantWSServer.java index 6a8034298b..a7d59fd461 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/VariantWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/genomic/VariantWSServer.java @@ -21,11 +21,10 @@ import org.opencb.biodata.models.variant.Variant; import org.opencb.biodata.models.variant.avro.VariantAnnotation; import org.opencb.cellbase.core.api.VariantQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.VariantManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -34,7 +33,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -57,13 +55,17 @@ public VariantWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", v int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - variantManager = cellBaseManagerFactory.getVariantManager(species, assembly); + variantManager = cellBaseManagerFactory.getVariantManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET @@ -196,8 +198,8 @@ public Response getAnnotationByVariantsPOST(@ApiParam(name = "variants", value = @QueryParam("checkAminoAcidChange") @ApiParam(name = "checkAminoAcidChange", value = "true/false to specify whether variant match in the clinical variant" - + " collection should also be performed at the aminoacid change level", - allowableValues = "false,true", + + " collection should also be performed at the aminoacid change level", + allowableValues = "false,true", defaultValue = "false", required = false) Boolean checkAminoAcidChange, @QueryParam("consequenceTypeSource") @ApiParam(name = "consequenceTypeSource", value = "Gene set, either ensembl (default) " diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServer.java index b9bc698acf..1f8bbbcb80 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServer.java @@ -16,8 +16,7 @@ package org.opencb.cellbase.server.rest.network; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -28,14 +27,13 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; @Path("/{version}/{species}/network/pathway") @Produces("text/plain") public class PathwayWSServer extends GenericRestWSServer { public PathwayWSServer(@PathParam("version") String version, @PathParam("species") String species, @Context UriInfo uriInfo, - @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context HttpServletRequest hsr) throws CellBaseServerException { super(version, species, uriInfo, hsr); } diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServerMongo.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServerMongo.java index d5b68f6dea..a7e80d1ece 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServerMongo.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/PathwayWSServerMongo.java @@ -16,8 +16,7 @@ package org.opencb.cellbase.server.rest.network; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -28,14 +27,13 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; @Path("/{version}/{species}/network/reactome-pathway") @Produces("text/plain") public class PathwayWSServerMongo extends GenericRestWSServer { public PathwayWSServerMongo(@PathParam("version") String version, @PathParam("species") String species, @Context UriInfo uriInfo, - @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context HttpServletRequest hsr) throws CellBaseServerException { super(version, species, uriInfo, hsr); } diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/ProteinProteinInteractionWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/ProteinProteinInteractionWSServer.java index 167d4c16f6..2de99433f7 100644 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/ProteinProteinInteractionWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/network/ProteinProteinInteractionWSServer.java @@ -17,8 +17,7 @@ package org.opencb.cellbase.server.rest.network; import org.opencb.biodata.models.protein.Interaction; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -30,7 +29,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; /** * Created with IntelliJ IDEA. @@ -45,7 +43,7 @@ public class ProteinProteinInteractionWSServer extends GenericRestWSServer { public ProteinProteinInteractionWSServer(@PathParam("version") String version, @PathParam("species") String species, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(version, species, uriInfo, hsr); } diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/RegulatoryWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/RegulatoryWSServer.java index 41dbfdeb4f..d33ed6553e 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/RegulatoryWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/RegulatoryWSServer.java @@ -19,11 +19,10 @@ import io.swagger.annotations.*; import org.opencb.biodata.models.core.RegulatoryFeature; import org.opencb.cellbase.core.api.RegulationQuery; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.core.utils.SpeciesUtils; import org.opencb.cellbase.lib.managers.RegulatoryManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -31,7 +30,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import static org.opencb.cellbase.core.ParamConstants.*; @@ -51,13 +49,17 @@ public RegulatoryWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion" @QueryParam("dataRelease") int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, - @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context HttpServletRequest hsr) throws CellBaseServerException { super(apiVersion, species, uriInfo, hsr); - if (assembly == null) { - assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); - } + try { + if (assembly == null) { + assembly = SpeciesUtils.getDefaultAssembly(cellBaseConfiguration, species).getName(); + } - regulatoryManager = cellBaseManagerFactory.getRegulatoryManager(species, assembly); + regulatoryManager = cellBaseManagerFactory.getRegulatoryManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/TfWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/TfWSServer.java index 46df7fc28b..1c740afb2e 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/TfWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/regulatory/TfWSServer.java @@ -22,12 +22,11 @@ import org.opencb.cellbase.core.api.GeneQuery; import org.opencb.cellbase.core.api.RegulationQuery; import org.opencb.cellbase.core.api.query.LogicalList; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; import org.opencb.cellbase.core.result.CellBaseDataResult; import org.opencb.cellbase.lib.managers.GeneManager; import org.opencb.cellbase.lib.managers.RegulatoryManager; import org.opencb.cellbase.lib.managers.TfbsManager; +import org.opencb.cellbase.server.exception.CellBaseServerException; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.*; @@ -35,7 +34,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -60,12 +58,15 @@ public TfWSServer(@PathParam("apiVersion") @ApiParam(name = "apiVersion", value int dataRelease, @ApiParam(name = "apiKey", value = API_KEY_DESCRIPTION) @DefaultValue("") @QueryParam("apiKey") String apiKey, @Context UriInfo uriInfo, @Context HttpServletRequest hsr) - throws QueryException, IOException, CellBaseException { + throws CellBaseServerException { super(apiVersion, species, assembly, dataRelease, apiKey, uriInfo, hsr); - - regulatoryManager = cellBaseManagerFactory.getRegulatoryManager(species, assembly); - tfbsManager = cellBaseManagerFactory.getTFManager(species, assembly); - geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + try { + regulatoryManager = cellBaseManagerFactory.getRegulatoryManager(species, assembly); + tfbsManager = cellBaseManagerFactory.getTFManager(species, assembly); + geneManager = cellBaseManagerFactory.getGeneManager(species, assembly); + } catch (Exception e) { + throw new CellBaseServerException(e.getMessage()); + } } @GET @@ -117,7 +118,7 @@ public Response getAllByTfbs(@PathParam("tf") @ApiParam(name = "tf", value = TFB @GET @Path("/{tf}/gene") @ApiOperation(httpMethod = "GET", value = "Retrieves gene info for a (list of) TF(s)", response = Gene.class, - responseContainer = "QueryResponse") + responseContainer = "QueryResponse") @ApiImplicitParams({ @ApiImplicitParam(name = "count", value = COUNT_DESCRIPTION, required = false, dataType = "java.lang.Boolean", paramType = "query", defaultValue = "false", diff --git a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/utils/UtilsWSServer.java b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/utils/UtilsWSServer.java index 35e489fc0f..9e5062a6aa 100755 --- a/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/utils/UtilsWSServer.java +++ b/cellbase-server/src/main/java/org/opencb/cellbase/server/rest/utils/UtilsWSServer.java @@ -16,8 +16,7 @@ package org.opencb.cellbase.server.rest.utils; -import org.opencb.cellbase.core.api.query.QueryException; -import org.opencb.cellbase.core.exception.CellBaseException; +import org.opencb.cellbase.server.exception.CellBaseServerException; import org.opencb.cellbase.server.rest.GenericRestWSServer; import javax.servlet.http.HttpServletRequest; @@ -26,15 +25,13 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; -import java.io.IOException; @Path("/{version}/utils") @Produces("text/plain") public class UtilsWSServer extends GenericRestWSServer { public UtilsWSServer(@PathParam("version") String version, @PathParam("species") String species, @Context UriInfo uriInfo, - @Context HttpServletRequest hsr) throws QueryException, IOException, CellBaseException { + @Context HttpServletRequest hsr) throws CellBaseServerException { super(version, species, uriInfo, hsr); } - }