summaryrefslogtreecommitdiff
path: root/bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java
diff options
context:
space:
mode:
authorAndreas Abraham <aabraham@iaik.tugraz.at>2018-04-23 09:48:33 +0200
committerAndreas Abraham <aabraham@iaik.tugraz.at>2018-04-23 09:48:33 +0200
commit9e24a02d80e13273ec5d1d4fa9b3a95d8ae486c2 (patch)
tree32decc21d7035250e02798733454868231036d8a /bkucommon/src/main/java/at/gv/egiz/bku/spring/URLDereferencerFactoryBean.java
parent6386fb8e6ba691bce0cf129e7da4324935a9b333 (diff)
parentb9ccb62d35a755efb505d426ce924d5a8fbe937a (diff)
downloadmocca-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.java75
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;
+ }
+
+}