From 86f0abd09d87f89e2358a0c99db35a6f5e4d7c49 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 28 Jul 2009 00:44:38 +0000
Subject: [PATCH] Fix for issue 4150 (DynamicConstants class loading of ReleaseDefinition breaks Java Web Start).

---
 opends/resource/DynamicConstants.java.stubs |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/opends/resource/DynamicConstants.java.stubs b/opends/resource/DynamicConstants.java.stubs
index bc61a03..a0de56f 100644
--- a/opends/resource/DynamicConstants.java.stubs
+++ b/opends/resource/DynamicConstants.java.stubs
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Copyright 2006-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.util;
 
@@ -156,7 +156,22 @@
 
       try {
 
-        Class c = Class.forName("org.opends.server.util.ReleaseDefinition");
+        Class c;
+        if (org.opends.server.util.SetupUtils.isWebStart())
+        {
+      	  Class<?> cS = Class.forName("org.opends.server.util.SetupUtils");
+          java.net.URL[] urls = new java.net.URL[]
+          {
+            cS.getProtectionDomain().getCodeSource().getLocation()
+          };
+          ClassLoader webstartClassLoader = new java.net.URLClassLoader(urls);
+          c = webstartClassLoader.loadClass(
+      	    "org.opends.server.util.ReleaseDefinition");
+      	}
+      	else
+      	{
+          c = Class.forName("org.opends.server.util.ReleaseDefinition");
+        }
         Object obj = c.newInstance();
 
         try {

--
Gitblit v1.10.0