From 204e300de6eddfc26f532a4164713067f3cbf8e4 Mon Sep 17 00:00:00 2001 From: kaloyane <kaloyane> Date: Wed, 16 Nov 2011 09:31:22 +0000 Subject: [PATCH] [LMS-2654] handle invalid DSS URLs gracefully SVN: 23683 --- .../generic/server/OpenbisCrossOriginFilter.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/OpenbisCrossOriginFilter.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/OpenbisCrossOriginFilter.java index 4ed3909964f..fc8c4fa013d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/OpenbisCrossOriginFilter.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/OpenbisCrossOriginFilter.java @@ -25,7 +25,6 @@ import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; -import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; import ch.systemsx.cisd.common.servlet.AbstractCrossOriginFilter; import ch.systemsx.cisd.openbis.generic.shared.ResourceNames; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStore; @@ -85,12 +84,16 @@ public class OpenbisCrossOriginFilter extends AbstractCrossOriginFilter List<DataStore> dataStores = commonServer.listDataStores(); for (DataStore dataStore : dataStores) { - dataStoreServerUrls.add(extractDomainFromDownloadUrl(dataStore)); + final String dssDomainOrNull = tryExtractDomainFromDownloadUrl(dataStore); + if (dssDomainOrNull != null) + { + dataStoreServerUrls.add(dssDomainOrNull); + } } return dataStoreServerUrls; } - protected String extractDomainFromDownloadUrl(DataStore dataStore) + protected String tryExtractDomainFromDownloadUrl(DataStore dataStore) { try { @@ -98,7 +101,7 @@ public class OpenbisCrossOriginFilter extends AbstractCrossOriginFilter return url.getProtocol() + "://" + url.getAuthority(); } catch (MalformedURLException ex) { - throw CheckedExceptionTunnel.wrapIfNecessary(ex); + return null; } } -- GitLab