summaryrefslogtreecommitdiff
path: root/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java
diff options
context:
space:
mode:
Diffstat (limited to 'bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java')
-rw-r--r--bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java91
1 files changed, 21 insertions, 70 deletions
diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java
index d3945253..f267f9a9 100644
--- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java
+++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java
@@ -16,18 +16,9 @@
*/
package at.gv.egiz.bku.binding;
-import at.gv.egiz.bku.conf.Configurator;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Properties;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.SSLSocketFactory;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import at.gv.egiz.bku.slexceptions.SLRuntimeException;
/**
* Used to handle DataUrl connections as specified in the CCE's HTTP protocol binding.
@@ -35,77 +26,37 @@ import at.gv.egiz.bku.slexceptions.SLRuntimeException;
*/
public class DataUrl {
- private static Log log = LogFactory.getLog(DataUrl.class);
- private static DataUrlConnectionSPI connection;
- private static Properties configuration;
- private static SSLSocketFactory sslSocketFactory;
- private static HostnameVerifier hostNameVerifier;
- private URL url;
-
- /** spring injected config, to replace configuration */
- //private Configuration config;
-
+ private static DataURLConnectionFactory connectionFactory;
+
/**
- * Sets the default DataUrlConnection implementation
- * @param aClass must not be null
+ * @return the connectionFactory
*/
- static void setDataUrlConnectionImpl(DataUrlConnectionSPI conn) {
- if (conn != null) {
- connection = conn;
- }
- }
-
- public DataUrl(String aUrlString) throws MalformedURLException {
- url = new URL(aUrlString);
- if (connection == null) {
- log.debug("Using default DataURLConnection class");
- connection = new DataUrlConnectionImpl();
- }
- connection.setConfiguration(configuration);
- connection.setSSLSocketFactory(sslSocketFactory);
- connection.setHostnameVerifier(hostNameVerifier);
+ public static DataURLConnectionFactory getConnectionFactory() {
+ return connectionFactory;
}
- public DataUrlConnection openConnection() {
- try {
- log.debug("Opening dataurl connection");
- DataUrlConnectionSPI retVal = connection.newInstance();
- retVal.init(url);
- return retVal;
- } catch (Exception e) {
- log.error(e);
- throw new SLRuntimeException("Cannot instantiate a dataurlconnection:", e);
- }
- }
-
-
/**
- * set configuration for all subsequently instantiated DataURL objects
- * @param props
+ * @param connectionFactory the connectionFactory to set
*/
- public static void setConfiguration(Properties props) {
- configuration = props;
- if (configuration != null) {
- String className = configuration.getProperty(Configurator.DATAURLCONNECTION_CONFIG_P);
- if (className != null) {
- log.warn("Set DataURLConnection class not supported!");
- }
- }
+ public static void setConnectionFactory(
+ DataURLConnectionFactory connectionFactory) {
+ DataUrl.connectionFactory = connectionFactory;
}
/**
- * set SSLSocketFactory for all subsequently instantiated DataURL objects
- * @param socketFactory
+ * The URL.
*/
- public static void setSSLSocketFactory(SSLSocketFactory socketFactory) {
- sslSocketFactory = socketFactory;
+ private URL url;
+
+ public DataUrl(String spec) throws MalformedURLException {
+ url = new URL(spec);
}
- /**
- * set HostnameVerifier for all subsequently instantiated DataURL objects
- * @param hostNameVerifier
- */
- public static void setHostNameVerifier(HostnameVerifier hostNameVerifier) {
- DataUrl.hostNameVerifier = hostNameVerifier;
+ public DataUrlConnection openConnection() throws IOException {
+ if (connectionFactory != null) {
+ return connectionFactory.openConnection(url);
+ } else {
+ return new DataUrlConnectionImpl(url);
+ }
}
} \ No newline at end of file