Return-Path: Delivered-To: apmail-incubator-wink-commits-archive@minotaur.apache.org Received: (qmail 26197 invoked from network); 4 Nov 2009 21:44:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Nov 2009 21:44:42 -0000 Received: (qmail 55465 invoked by uid 500); 4 Nov 2009 21:18:02 -0000 Delivered-To: apmail-incubator-wink-commits-archive@incubator.apache.org Received: (qmail 55416 invoked by uid 500); 4 Nov 2009 21:18:01 -0000 Mailing-List: contact wink-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: wink-dev@incubator.apache.org Delivered-To: mailing list wink-commits@incubator.apache.org Received: (qmail 55406 invoked by uid 99); 4 Nov 2009 21:18:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Nov 2009 21:18:01 +0000 X-ASF-Spam-Status: No, hits=-6.0 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Nov 2009 21:17:59 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0E12423888E8; Wed, 4 Nov 2009 21:17:39 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r832873 - in /incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal: DeploymentConfiguration.java servlet/RestServlet.java Date: Wed, 04 Nov 2009 21:17:38 -0000 To: wink-commits@incubator.apache.org From: rott@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091104211739.0E12423888E8@eris.apache.org> Author: rott Date: Wed Nov 4 21:17:37 2009 New Revision: 832873 URL: http://svn.apache.org/viewvc?rev=832873&view=rev Log: WINK-226: need fallback for Class.forName in J2EE environments Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java?rev=832873&r1=832872&r2=832873&view=diff ============================================================================== --- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java (original) +++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/DeploymentConfiguration.java Wed Nov 4 21:17:37 2009 @@ -36,6 +36,7 @@ import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Application; +import org.apache.commons.lang.ClassUtils; import org.apache.wink.common.internal.application.ApplicationValidator; import org.apache.wink.common.internal.i18n.Messages; import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry; @@ -360,8 +361,9 @@ if (handlersFactoryClassName != null) { try { logger.debug("Handlers Factory Class is: {}", handlersFactoryClassName); + // use ClassUtils.getClass instead of Class.forName so we have classloader visibility into the Web module in J2EE environments Class handlerFactoryClass = - (Class)Class.forName(handlersFactoryClassName); + (Class)ClassUtils.getClass(handlersFactoryClassName); HandlersFactory handlersFactory = handlerFactoryClass.newInstance(); if (requestUserHandlers == null) { requestUserHandlers = Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java?rev=832873&r1=832872&r2=832873&view=diff ============================================================================== --- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java (original) +++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java Wed Nov 4 21:17:37 2009 @@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.ws.rs.core.Application; +import org.apache.commons.lang.ClassUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.wink.common.internal.i18n.Messages; @@ -145,7 +146,8 @@ logger.info(Messages.getMessage("restServletUseDeploymentConfigurationParam"), initParameter, DEPLYMENT_CONF_PARAM); - Class confClass = Class.forName(initParameter); + // use ClassUtils.getClass instead of Class.forName so we have classloader visibility into the Web module in J2EE environments + Class confClass = ClassUtils.getClass(initParameter); return (DeploymentConfiguration)confClass.newInstance(); } return new DeploymentConfiguration(); @@ -160,7 +162,8 @@ logger.info(Messages.getMessage("restServletJAXRSApplicationInitParam"), initParameter, APPLICATION_INIT_PARAM); - appClass = (Class)Class.forName(initParameter); + // use ClassUtils.getClass instead of Class.forName so we have classloader visibility into the Web module in J2EE environments + appClass = (Class)ClassUtils.getClass(initParameter); return appClass.newInstance(); } String appLocationParameter = getInitParameter(APP_LOCATION_PARAM);