From c29d2e2e7158ef148afe2b7d3889763fcb52166a Mon Sep 17 00:00:00 2001 From: Dustin Johnson Date: Thu, 10 Jan 2013 11:14:07 -0600 Subject: [PATCH] Issue #1441 Break net.dods dependency on AWIPS code Change-Id: I13289bff3f3ea80317a858f8a32cc280b1ac0480 Former-commit-id: ddcc816bbaf7483a3198be8fe3b553472c63eae9 [formerly 010eabebb27f6a2571ffb2a09e1715cb84c57ce9] Former-commit-id: c00f5f394a4506029b9240a7654a70c5abd32388 --- cots/net.dods/META-INF/MANIFEST.MF | 3 +-- cots/net.dods/src/dods/dap/DConnect.java | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/cots/net.dods/META-INF/MANIFEST.MF b/cots/net.dods/META-INF/MANIFEST.MF index fc206dbcc4..d547964b9c 100644 --- a/cots/net.dods/META-INF/MANIFEST.MF +++ b/cots/net.dods/META-INF/MANIFEST.MF @@ -7,8 +7,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, javax.servlet;bundle-version="2.5.0", org.apache.http;bundle-version="4.1.2", - org.junit, - com.raytheon.uf.common.util;bundle-version="1.12.1174" + org.junit Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: gnu-getopt-1.0.6.jar, diff --git a/cots/net.dods/src/dods/dap/DConnect.java b/cots/net.dods/src/dods/dap/DConnect.java index ad38908ee1..b8e1a83f33 100644 --- a/cots/net.dods/src/dods/dap/DConnect.java +++ b/cots/net.dods/src/dods/dap/DConnect.java @@ -24,7 +24,6 @@ import java.net.URL; import java.util.zip.InflaterInputStream; import com.raytheon.dods.HttpConnectStrategy; -import com.raytheon.uf.common.util.ReflectionUtil; import dods.dap.parser.ParseException; @@ -147,8 +146,8 @@ public class DConnect { */ public DConnect(String urlString, String proxyHost, String proxyPort, boolean acceptDeflate) throws FileNotFoundException { - this(urlString, proxyHost, proxyPort, acceptDeflate, ReflectionUtil - .newInstanceOfAssignableType(HttpConnectStrategy.class, + this(urlString, proxyHost, proxyPort, acceptDeflate, + newInstanceOfAssignableType(HttpConnectStrategy.class, HTTP_CONNECT_STRATEGY)); } @@ -769,4 +768,18 @@ public class DConnect { return dds; } + + private static T newInstanceOfAssignableType(Class assignableClass, + String name) { + try { + @SuppressWarnings("unchecked") + final Class forName = (Class) Class + .forName(name); + return assignableClass.cast(forName.newInstance()); + } catch (Exception e) { + throw new IllegalArgumentException(String.format( + "%s is not assignable to a field of type %s", name, + assignableClass.getName()), e); + } + } }