You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/08/27 22:42:39 UTC
svn commit: r808614 - in /cxf/trunk/rt:
core/src/main/java/org/apache/cxf/bus/spring/
core/src/main/java/org/apache/cxf/transport/http/
javascript/src/main/java/org/apache/cxf/javascript/
javascript/src/main/resources/META-INF/cxf/
Author: dkulp
Date: Thu Aug 27 20:42:39 2009
New Revision: 808614
URL: http://svn.apache.org/viewvc?rev=808614&view=rev
Log:
Delay loading JavascriptQueryHandler
Removed:
cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandlerRegistry.java
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/QueryHandlerRegistryImpl.java
cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java
cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf-extension-javascript-client.xml
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java?rev=808614&r1=808613&r2=808614&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java Thu Aug 27 20:42:39 2009
@@ -37,8 +37,8 @@
private ApplicationContext context;
private boolean isProcessing = true;
- //private int count;
- //private int count2;
+ private int count;
+ private int count2;
Jsr250BeanPostProcessor() {
}
@@ -95,12 +95,10 @@
if (bean != null
&& injectable(bean, beanId)) {
new ResourceInjector(getResourceManager(bean)).inject(bean);
- /*
System.out.println("p :" + (++count) + ": " + bean.getClass().getName() + " " + beanId);
} else if (bean != null) {
System.out.println("np: " + (++count2)
+ ": " + bean.getClass().getName() + " " + beanId);
- */
}
return bean;
}
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/QueryHandlerRegistryImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/QueryHandlerRegistryImpl.java?rev=808614&r1=808613&r2=808614&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/QueryHandlerRegistryImpl.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/QueryHandlerRegistryImpl.java Thu Aug 27 20:42:39 2009
@@ -26,6 +26,7 @@
import org.apache.cxf.Bus;
import org.apache.cxf.common.injection.NoJSR250Annotations;
+import org.apache.cxf.configuration.ConfiguredBeanLocator;
import org.apache.cxf.transports.http.QueryHandler;
import org.apache.cxf.transports.http.QueryHandlerRegistry;
@@ -56,14 +57,22 @@
bus = b;
if (queryHandlers == null) {
queryHandlers = new CopyOnWriteArrayList<QueryHandler>();
- if (bus != null) {
- WSDLQueryHandler wsdlQueryHandler = new WSDLQueryHandler();
- wsdlQueryHandler.setBus(bus);
- queryHandlers.add(wsdlQueryHandler);
- }
}
if (null != bus) {
bus.setExtension(this, QueryHandlerRegistry.class);
+
+ WSDLQueryHandler wsdlQueryHandler = new WSDLQueryHandler();
+ wsdlQueryHandler.setBus(bus);
+ queryHandlers.add(wsdlQueryHandler);
+
+ ConfiguredBeanLocator c = bus.getExtension(ConfiguredBeanLocator.class);
+ if (c != null) {
+ for (WSDLQueryHandler handler : c.getBeansOfType(WSDLQueryHandler.class)) {
+ if (!queryHandlers.contains(handler)) {
+ queryHandlers.add(handler);
+ }
+ }
+ }
}
}
Modified: cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java?rev=808614&r1=808613&r2=808614&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java (original)
+++ cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java Thu Aug 27 20:42:39 2009
@@ -27,11 +27,12 @@
import java.nio.charset.Charset;
import java.util.Collection;
import java.util.Map;
-import java.util.logging.Logger;
+
+import javax.annotation.Resource;
import org.apache.cxf.Bus;
import org.apache.cxf.common.i18n.UncheckedException;
-import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.injection.NoJSR250Annotations;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.endpoint.ServerRegistry;
@@ -42,21 +43,32 @@
import org.apache.cxf.service.model.ServiceInfo;
import org.apache.cxf.transport.DestinationWithEndpoint;
import org.apache.cxf.transport.http.UrlUtilities;
+import org.apache.cxf.transports.http.QueryHandlerRegistry;
import org.apache.cxf.transports.http.StemMatchingQueryHandler;
+@NoJSR250Annotations(unlessNull = "bus")
public class JavascriptQueryHandler implements StemMatchingQueryHandler {
private static final String JS_UTILS_PATH = "/org/apache/cxf/javascript/cxf-utils.js";
- private static final Logger LOG = LogUtils.getL7dLogger(JavascriptQueryHandler.class);
private static final Charset UTF8 = Charset.forName("utf-8");
private static final String NO_UTILS_QUERY_KEY = "nojsutils";
private static final String CODE_QUERY_KEY = "js";
private Bus bus;
public JavascriptQueryHandler(Bus b) {
- bus = b;
- LOG.finest("Bus " + bus);
+ setBus(b);
}
-
+
+ @Resource
+ public final void setBus(Bus b) {
+ if (bus != b) {
+ bus = b;
+ QueryHandlerRegistry reg = b.getExtension(QueryHandlerRegistry.class);
+ if (reg != null) {
+ reg.registerHandler(this);
+ }
+ }
+ }
+
public String getResponseContentType(String fullQueryString, String ctx) {
URI uri = URI.create(fullQueryString);
Map<String, String> map = UrlUtilities.parseQueryString(uri.getQuery());
Modified: cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf-extension-javascript-client.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf-extension-javascript-client.xml?rev=808614&r1=808613&r2=808614&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf-extension-javascript-client.xml (original)
+++ cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf-extension-javascript-client.xml Thu Aug 27 20:42:39 2009
@@ -22,9 +22,9 @@
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
- <bean class="org.apache.cxf.javascript.JavascriptQueryHandlerRegistry"
- id="org.apache.cxf.javascript.JavascriptQueryHandlerRegistry"
- init-method="register"
+ <bean class="org.apache.cxf.javascript.JavascriptQueryHandler"
+ id="org.apache.cxf.javascript.JavascriptQueryHandler"
+ lazy-init="true"
>
<constructor-arg ref="cxf"/>
</bean>