From b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd Mon Sep 17 00:00:00 2001 From: mcentner Date: Wed, 5 May 2010 15:29:01 +0000 Subject: Merged feature branch mocca-1.2.13-id@r724 back to trunk. git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@725 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../bku/utils/urldereferencer/URLDereferencer.java | 96 ++-------------------- 1 file changed, 7 insertions(+), 89 deletions(-) (limited to 'utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URLDereferencer.java') diff --git a/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URLDereferencer.java b/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URLDereferencer.java index 7361ec26..468610e4 100644 --- a/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URLDereferencer.java +++ b/utils/src/main/java/at/gv/egiz/bku/utils/urldereferencer/URLDereferencer.java @@ -1,5 +1,5 @@ /* -* Copyright 2008 Federal Chancellery Austria and +* Copyright 2009 Federal Chancellery Austria and * Graz University of Technology * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,95 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package at.gv.egiz.bku.utils.urldereferencer; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.util.HashMap; -import java.util.Map; -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.SSLSocketFactory; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * Class used to dereference (external URLs). - * - * @author wbauer - * - */ -public class URLDereferencer { - - private static Log log = LogFactory.getLog(URLDereferencer.class); - - private static URLDereferencer instance = new URLDereferencer(); - - private Map handlerMap = new HashMap(); +package at.gv.egiz.bku.utils.urldereferencer; - private HostnameVerifier hostnameVerifier; - private SSLSocketFactory sslSocketFactory; - - private URLDereferencer() { - registerHandlers(); - } - - /** - * - * @param aUrl - * must not be null - * @param aContext - * @throws MalformedURLException - * if the protocol is not supported - * @throws IOException if the url cannot be dereferenced (e.g. formdata not provided) - * - */ - public StreamData dereference(String aUrl, URLDereferencerContext aContext) - throws IOException { - log.debug("Looking for handler for URL: " + aUrl); - int i = aUrl.indexOf(":"); - if (i == -1) { - throw new MalformedURLException("Invalid url: " + aUrl); - } - String protocol = aUrl.substring(0, i).toLowerCase().trim(); - URLProtocolHandler handler = handlerMap.get(protocol); - if (handler == null) { - throw new MalformedURLException("No handler for protocol: " + protocol - + " found"); - } - handler.setHostnameVerifier(hostnameVerifier); - handler.setSSLSocketFactory(sslSocketFactory); - return handler.dereference(aUrl, aContext); - } - - /** - * Registers a handler for a protocol. - * - * @param aProtocol - * @param aHandler - * may be set to null to disable this protocol - */ - public void registerHandler(String aProtocol, URLProtocolHandler aHandler) { - handlerMap.put(aProtocol.toLowerCase(), aHandler); - } - - public static URLDereferencer getInstance() { - return instance; - } - - protected void registerHandlers() { - URLProtocolHandler handler = new HTTPURLProtocolHandlerImpl(); - for (String proto : HTTPURLProtocolHandlerImpl.PROTOCOLS) { - handlerMap.put(proto, handler); - } - } +import java.io.IOException; + +public interface URLDereferencer { - public void setHostnameVerifier(HostnameVerifier hostnameVerifier) { - this.hostnameVerifier = hostnameVerifier; - } + public StreamData dereference(String aUrl) throws IOException; - public void setSSLSocketFactory(SSLSocketFactory socketFactory) { - this.sslSocketFactory = socketFactory; - } -} \ No newline at end of file +} -- cgit v1.2.3