diff options
author | Andreas Abraham <aabraham@iaik.tugraz.at> | 2018-04-23 09:48:33 +0200 |
---|---|---|
committer | Andreas Abraham <aabraham@iaik.tugraz.at> | 2018-04-23 09:48:33 +0200 |
commit | 9e24a02d80e13273ec5d1d4fa9b3a95d8ae486c2 (patch) | |
tree | 32decc21d7035250e02798733454868231036d8a /bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java | |
parent | 6386fb8e6ba691bce0cf129e7da4324935a9b333 (diff) | |
parent | b9ccb62d35a755efb505d426ce924d5a8fbe937a (diff) | |
download | mocca-9e24a02d80e13273ec5d1d4fa9b3a95d8ae486c2.tar.gz mocca-9e24a02d80e13273ec5d1d4fa9b3a95d8ae486c2.tar.bz2 mocca-9e24a02d80e13273ec5d1d4fa9b3a95d8ae486c2.zip |
Merge branch 'fb-bulksignature'
Diffstat (limited to 'bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java')
-rw-r--r-- | bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java b/bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java new file mode 100644 index 00000000..1a95a146 --- /dev/null +++ b/bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java @@ -0,0 +1,75 @@ +package at.gv.egiz.bku.spring; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.SSLSocketFactory; + +import org.apache.commons.configuration.Configuration; +import org.springframework.beans.factory.FactoryBean; + +import at.gv.egiz.bku.conf.MoccaConfigurationFacade; +import at.gv.egiz.bku.utils.urldereferencer.FileURLProtocolHandlerImpl; +import at.gv.egiz.bku.utils.urldereferencer.URLDereferencerImpl; + +public class URLDereferencerFactoryBean implements FactoryBean { + + private HostnameVerifier hostnameVerifier; + private SSLSocketFactory sslSocketFactory; + + protected final ConfigurationFacade configurationFacade = new ConfigurationFacade(); + + public class ConfigurationFacade implements MoccaConfigurationFacade { + + private Configuration configuration; + public static final String ENABLE_FILEURIS = "enableFileURIs"; + + public boolean isEnableFileURIs() { + return configuration.getBoolean(ENABLE_FILEURIS, false); + } + + } + + public void setConfiguration(Configuration configuration) { + configurationFacade.configuration = configuration; + } + + @Override + public Object getObject() throws Exception { + + URLDereferencerImpl urlDereferencer = URLDereferencerImpl.getInstance(); + urlDereferencer.setHostnameVerifier(hostnameVerifier); + urlDereferencer.setSSLSocketFactory(sslSocketFactory); + + if(!configurationFacade.isEnableFileURIs()) { + urlDereferencer.registerHandler(FileURLProtocolHandlerImpl.FILE, new FileURLProtocolHandlerImpl()); + } + + return urlDereferencer; + } + + @Override + public Class<URLDereferencerImpl> getObjectType() { + return URLDereferencerImpl.class; + } + + @Override + public boolean isSingleton() { + return true; + } + + public HostnameVerifier getHostnameVerifier() { + return hostnameVerifier; + } + + public void setHostnameVerifier(HostnameVerifier hostnameVerifier) { + this.hostnameVerifier = hostnameVerifier; + } + + public SSLSocketFactory getSslSocketFactory() { + return sslSocketFactory; + } + + public void setSslSocketFactory(SSLSocketFactory sslSocketFactory) { + this.sslSocketFactory = sslSocketFactory; + } + +} |