You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by "Liu, Jervis" <jl...@iona.com> on 2007/11/01 11:02:59 UTC
RE: svn commit: r590950 - in /incubator/cxf/trunk: rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/ rt/frontend/jaxrs/src/main/resources/META-INF/ rt/frontend/jaxrs/src/main/resources/schem
Forgot writing a log. This commit is for CXF-1162. Run JAX-RS server with Spring configuration.
Jervis
> -----Original Message-----
> From: jliu@apache.org [mailto:jliu@apache.org]
> Sent: 2007年11月1日 17:51
> To: cxf-commits@incubator.apache.org
> Subject: svn commit: r590950 - in /incubator/cxf/trunk:
> rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/
> rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/
> rt/frontend/jaxrs/src/main/resources/META-INF/
> rt/frontend/jaxrs/src/main/resources/schema...
>
>
> Author: jliu
> Date: Thu Nov 1 02:50:29 2007
> New Revision: 590950
>
> URL: http://svn.apache.org/viewvc?rev=590950&view=rev
> Log: (empty)
>
> Added:
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
> (with props)
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/NamespaceHandler.java (with props)
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.handlers
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.schemas
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schemas/
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd (with props)
>
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerSpring.java (with props)
>
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/JAXRSClientServerSpringBookTest.java (with props)
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
>
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml (with props)
>
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> web.xml (with props)
> Modified:
>
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/JAXRSServerFactoryBean.java
>
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServer.java
>
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerFromResourceInstance.java
>
> Modified:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/JAXRSServerFactoryBean.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/j
> axrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean
> .java?rev=590950&r1=590949&r2=590950&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/JAXRSServerFactoryBean.java (original)
> +++
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/JAXRSServerFactoryBean.java Thu Nov 1 02:50:29 2007
> @@ -65,11 +65,12 @@
>
> public JAXRSServerFactoryBean() {
> this(new JAXRSServiceFactoryBean());
> - doInit = true;
> }
> +
> public JAXRSServerFactoryBean(JAXRSServiceFactoryBean sf) {
> this.serviceFactory = sf;
> doInit = true;
> + setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
> }
>
> public Server create() {
>
> Added:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/j
> axrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFact
> oryBeanDefinitionParser.java?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java (added)
> +++
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
> Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,106 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.cxf.jaxrs.spring;
> +
> +import java.util.List;
> +import java.util.Map;
> +
> +import javax.xml.namespace.QName;
> +
> +import org.w3c.dom.Element;
> +
> +import org.apache.cxf.common.util.StringUtils;
> +import
> org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
> +import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
> +
> +import
> org.springframework.beans.factory.BeanDefinitionStoreException;
> +import
> org.springframework.beans.factory.support.AbstractBeanDefinition;
> +import
> org.springframework.beans.factory.support.BeanDefinitionBuilder;
> +import org.springframework.beans.factory.xml.ParserContext;
> +
> +
> +public class JAXRSServerFactoryBeanDefinitionParser extends
> AbstractBeanDefinitionParser {
> +
> +
> + public JAXRSServerFactoryBeanDefinitionParser() {
> + super();
> + setBeanClass(JAXRSServerFactoryBean.class);
> + }
> +
> + @Override
> + protected void mapAttribute(BeanDefinitionBuilder bean,
> Element e, String name, String val) {
> + if ("endpointName".equals(name) ||
> "serviceName".equals(name)) {
> + QName q = parseQName(e, val);
> + bean.addPropertyValue(name, q);
> + } else {
> + mapToProperty(bean, name, val);
> + }
> + }
> +
> + @Override
> + protected void mapElement(ParserContext ctx,
> BeanDefinitionBuilder bean, Element el, String name) {
> + if ("properties".equals(name)) {
> + Map map = ctx.getDelegate().parseMapElement(el,
> bean.getBeanDefinition());
> + bean.addPropertyValue("properties", map);
> + } else if ("executor".equals(name)) {
> + setFirstChildAsProperty(el, ctx, bean,
> "serviceFactory.executor");
> + } else if ("invoker".equals(name)) {
> + setFirstChildAsProperty(el, ctx, bean,
> "serviceFactory.invoker");
> + } else if ("binding".equals(name)) {
> + setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
> + } else if ("inInterceptors".equals(name) ||
> "inFaultInterceptors".equals(name)
> + || "outInterceptors".equals(name) ||
> "outFaultInterceptors".equals(name)
> + || "features".equals(name) ||
> "schemaLocations".equals(name)) {
> + List list =
> ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
> + bean.addPropertyValue(name, list);
> + } else {
> + setFirstChildAsProperty(el, ctx, bean, name);
> + }
> + }
> +
> +
> + @Override
> + protected void doParse(Element element, ParserContext
> ctx, BeanDefinitionBuilder bean) {
> + super.doParse(element, ctx, bean);
> +
> + bean.setInitMethodName("create");
> +
> + // We don't really want to delay the registration of
> our Server
> + bean.setLazyInit(false);
> + }
> +
> + @Override
> + protected String resolveId(Element elem,
> + AbstractBeanDefinition definition,
> + ParserContext ctx)
> + throws BeanDefinitionStoreException {
> + String id = super.resolveId(elem, definition, ctx);
> + if (StringUtils.isEmpty(id)) {
> + id = getBeanClass().getName() + "--" +
> definition.hashCode();
> + }
> +
> + return id;
> + }
> +
> + @Override
> + protected boolean hasBusProperty() {
> + return true;
> + }
> +
> +}
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Added:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/NamespaceHandler.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/j
> axrs/src/main/java/org/apache/cxf/jaxrs/spring/NamespaceHandle
> r.java?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/NamespaceHandler.java (added)
> +++
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/NamespaceHandler.java Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,29 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.cxf.jaxrs.spring;
> +
> +import
> org.apache.cxf.configuration.spring.StringBeanDefinitionParser;
> +import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
> +
> +public class NamespaceHandler extends NamespaceHandlerSupport {
> + public void init() {
> + registerBeanDefinitionParser("server", new
> JAXRSServerFactoryBeanDefinitionParser());
> + registerBeanDefinitionParser("schemaLocation", new
> StringBeanDefinitionParser());
> + }
> +}
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/NamespaceHandler.java
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache
> /cxf/jaxrs/spring/NamespaceHandler.java
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Added:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.handlers
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/j
> axrs/src/main/resources/META-INF/spring.handlers?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.handlers (added)
> +++
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.handlers Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,21 @@
> +#
> +#
> +# Licensed to the Apache Software Foundation (ASF) under one
> +# or more contributor license agreements. See the NOTICE file
> +# distributed with this work for additional information
> +# regarding copyright ownership. The ASF licenses this file
> +# to you under the Apache License, Version 2.0 (the
> +# "License"); you may not use this file except in compliance
> +# with the License. You may obtain a copy of the License at
> +#
> +# http://www.apache.org/licenses/LICENSE-2.0
> +#
> +# Unless required by applicable law or agreed to in writing,
> +# software distributed under the License is distributed on an
> +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +# KIND, either express or implied. See the License for the
> +# specific language governing permissions and limitations
> +# under the License.
> +#
> +#
> +http\://cxf.apache.org/jaxrs=org.apache.cxf.jaxrs.spring.Name
> spaceHandler
> \ No newline at end of file
>
> Added:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.schemas
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/j
> axrs/src/main/resources/META-INF/spring.schemas?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.schemas (added)
> +++
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-
> INF/spring.schemas Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,21 @@
> +#
> +#
> +# Licensed to the Apache Software Foundation (ASF) under one
> +# or more contributor license agreements. See the NOTICE file
> +# distributed with this work for additional information
> +# regarding copyright ownership. The ASF licenses this file
> +# to you under the Apache License, Version 2.0 (the
> +# "License"); you may not use this file except in compliance
> +# with the License. You may obtain a copy of the License at
> +#
> +# http://www.apache.org/licenses/LICENSE-2.0
> +#
> +# Unless required by applicable law or agreed to in writing,
> +# software distributed under the License is distributed on an
> +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +# KIND, either express or implied. See the License for the
> +# specific language governing permissions and limitations
> +# under the License.
> +#
> +#
> +http\://cxf.apache.org/schemas/jaxrs.xsd=schemas/jaxrs.xsd
> \ No newline at end of file
>
> Added:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/j
> axrs/src/main/resources/schemas/jaxrs.xsd?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd (added)
> +++
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,69 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<xsd:schema xmlns="http://cxf.apache.org/jaxrs"
> + xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> + xmlns:beans="http://www.springframework.org/schema/beans"
> + xmlns:cxf-beans="http://cxf.apache.org/configuration/beans"
> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + targetNamespace="http://cxf.apache.org/jaxrs"
> + elementFormDefault="qualified"
> + attributeFormDefault="unqualified" >
> +
> + <xsd:import
> namespace="http://www.springframework.org/schema/beans"
> schemaLocation="http://www.springframework.org/schema/beans/sp
> ring-beans.xsd"/>
> + <xsd:import
> namespace="http://cxf.apache.org/configuration/beans"
> schemaLocation="http://cxf.apache.org/schemas/configuration/cx
> f-beans.xsd"/>
> +
> + <xsd:element name="server">
> + <xsd:complexType>
> + <xsd:complexContent>
> + <xsd:extension base="beans:identifiedType">
> + <xsd:all>
> + <xsd:element name="binding" type="xsd:anyType"
> minOccurs="0"/>
> + <xsd:element name="executor" type="xsd:anyType"
> minOccurs="0"/>
> + <xsd:element name="features" type="xsd:anyType"
> minOccurs="0"/>
> + <xsd:element name="inInterceptors"
> type="xsd:anyType" minOccurs="0"/>
> + <xsd:element name="inFaultInterceptors"
> type="xsd:anyType" minOccurs="0"/>
> + <xsd:element name="invoker" type="xsd:anyType"
> minOccurs="0"/>
> + <xsd:element name="outInterceptors"
> type="xsd:anyType" minOccurs="0"/>
> + <xsd:element name="outFaultInterceptors"
> type="xsd:anyType" minOccurs="0"/>
> + <xsd:element name="properties"
> type="beans:mapType" minOccurs="0"/>
> + <xsd:element name="serviceBeans"
> type="xsd:anyType" minOccurs="0"/>
> + <xsd:element name="serviceFactory"
> type="xsd:anyType" minOccurs="0"/>
> + </xsd:all>
> + <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
> + <xsd:attribute name="address" type="xsd:string" />
> + <xsd:attribute name="bindingId" type="xsd:string" />
> + <xsd:attribute name="bus" type="xsd:string" />
> + <xsd:attribute name="serviceClass" type="xsd:string"/>
> + <xsd:attribute name="serviceBeans"
> type="xsd:string"/>
> + <xsd:attribute name="transportId" type="xsd:string"/>
> + <xsd:attribute name="endpointName" type="xsd:QName" />
> + <xsd:attribute name="serviceName" type="xsd:QName" />
> + </xsd:extension>
> + </xsd:complexContent>
> + </xsd:complexType>
> + </xsd:element>
> +
> + <xsd:complexType name="schemasType">
> + <xsd:sequence>
> + <xsd:element name="schemaLocation" type="xsd:string"
> minOccurs="0" maxOccurs="unbounded"/>
> + </xsd:sequence>
> + </xsd:complexType>
> +
> +</xsd:schema>
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Propchange:
> incubator/cxf/trunk/rt/frontend/jaxrs/src/main/resources/schem
> as/jaxrs.xsd
> --------------------------------------------------------------
> ----------------
> svn:mime-type = text/xml
>
> Modified:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServer.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/
> test/java/org/apache/cxf/systest/jaxrs/BookServer.java?rev=590
> 950&r1=590949&r2=590950&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServer.java (original)
> +++
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServer.java Thu Nov 1 02:50:29 2007
> @@ -19,8 +19,6 @@
>
> package org.apache.cxf.systest.jaxrs;
>
> -
> -import org.apache.cxf.jaxrs.JAXRSBindingFactory;
> import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
> import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
> import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
> @@ -32,7 +30,6 @@
> sf.setResourceClasses(BookStore.class);
> //default lifecycle is per-request, change it to singleton
> sf.setResourceProvider(BookStore.class, new
> SingletonResourceProvider());
> - sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
> sf.setAddress("http://localhost:9080/");
>
> sf.create();
>
> Modified:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerFromResourceInstance.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/
> test/java/org/apache/cxf/systest/jaxrs/BookServerFromResourceI
> nstance.java?rev=590950&r1=590949&r2=590950&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerFromResourceInstance.java (original)
> +++
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerFromResourceInstance.java Thu Nov 1 02:50:29 2007
> @@ -19,8 +19,6 @@
>
> package org.apache.cxf.systest.jaxrs;
>
> -
> -import org.apache.cxf.jaxrs.JAXRSBindingFactory;
> import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
> import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
>
> @@ -30,7 +28,6 @@
> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
> BookStore bs = new BookStore();
> sf.setServiceBeans(bs);
> - sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
> sf.setAddress("http://localhost:9080/");
>
> sf.create();
>
> Added:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerSpring.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/
> test/java/org/apache/cxf/systest/jaxrs/BookServerSpring.java?r
> ev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerSpring.java (added)
> +++
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerSpring.java Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,89 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.systest.jaxrs;
> +
> +import java.net.URISyntaxException;
> +
> +import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
> +import org.mortbay.jetty.Connector;
> +import org.mortbay.jetty.Handler;
> +import org.mortbay.jetty.handler.DefaultHandler;
> +import org.mortbay.jetty.handler.HandlerCollection;
> +import org.mortbay.jetty.nio.SelectChannelConnector;
> +import org.mortbay.jetty.webapp.WebAppContext;
> +
> +
> +public class BookServerSpring extends AbstractBusTestServerBase {
> +
> + private org.mortbay.jetty.Server server;
> +
> + protected void run() {
> + System.out.println("Starting Server");
> +
> + server = new org.mortbay.jetty.Server();
> +
> + SelectChannelConnector connector = new
> SelectChannelConnector();
> + connector.setPort(9080);
> + server.setConnectors(new Connector[] {connector});
> +
> + WebAppContext webappcontext = new WebAppContext();
> + String contextPath = null;
> + try {
> + contextPath =
> getClass().getResource("/jaxrs").toURI().getPath();
> + } catch (URISyntaxException e1) {
> + e1.printStackTrace();
> + }
> + webappcontext.setContextPath("/");
> +
> + webappcontext.setWar(contextPath);
> +
> + HandlerCollection handlers = new HandlerCollection();
> + handlers.setHandlers(new Handler[] {webappcontext,
> new DefaultHandler()});
> +
> + server.setHandler(handlers);
> + try {
> + server.start();
> +
> + } catch (Exception e) {
> + e.printStackTrace();
> + }
> + }
> +
> + public boolean stopInProcess() throws Exception {
> + boolean ret = super.stopInProcess();
> + if (server != null) {
> + server.stop();
> + }
> + return ret;
> + }
> +
> + public static void main(String args[]) {
> + try {
> + BookServerSpring s = new BookServerSpring();
> + s.start();
> + } catch (Exception ex) {
> + ex.printStackTrace();
> + System.exit(-1);
> + } finally {
> + System.out.println("done!");
> + }
> + }
> +
> +}
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerSpring.java
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/BookServerSpring.java
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Added:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/JAXRSClientServerSpringBookTest.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/
> test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpring
> BookTest.java?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/JAXRSClientServerSpringBookTest.java (added)
> +++
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/JAXRSClientServerSpringBookTest.java Thu Nov 1
> 02:50:29 2007
> @@ -0,0 +1,62 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.systest.jaxrs;
> +
> +import java.io.InputStream;
> +import java.net.URL;
> +
> +import org.apache.cxf.helpers.IOUtils;
> +import org.apache.cxf.io.CachedOutputStream;
> +import
> org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
> +import org.junit.BeforeClass;
> +import org.junit.Test;
> +
> +public class JAXRSClientServerSpringBookTest extends
> AbstractBusClientServerTestBase {
> +
> + @BeforeClass
> + public static void startServers() throws Exception {
> + assertTrue("server did not launch correctly",
> launchServer(BookServerSpring.class));
> + }
> +
> + @Test
> + public void testGetBook123() throws Exception {
> + String endpointAddress =
> + "http://localhost:9080/bookstore/books/123";
> + URL url = new URL(endpointAddress);
> + InputStream in = url.openStream();
> + assertNotNull(in);
> +
> + InputStream expected = getClass()
> +
> .getResourceAsStream("resources/expected_get_book123.txt");
> +
> + //System.out.println("---" + getStringFromInputStream(in));
> + assertEquals(getStringFromInputStream(expected),
> getStringFromInputStream(in));
> + }
> +
> + private String getStringFromInputStream(InputStream in)
> throws Exception {
> + CachedOutputStream bos = new CachedOutputStream();
> + IOUtils.copy(in, bos);
> + in.close();
> + bos.close();
> + //System.out.println(bos.getOut().toString());
> + return bos.getOut().toString();
> + }
> +
> +}
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/JAXRSClientServerSpringBookTest.java
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/syst
> est/jaxrs/JAXRSClientServerSpringBookTest.java
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Added:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/
> test/resources/jaxrs/WEB-INF/beans.xml?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml (added)
> +++
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,48 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<!-- START SNIPPET: beans -->
> +<!--beans xmlns="http://www.springframework.org/schema/beans"
> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + xmlns:simple="http://cxf.apache.org/simple"
> + xsi:schemaLocation="
> + http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> + http://cxf.apache.org/simple
> http://cxf.apache.org/schemas/simple.xsd"-->
> +<beans xmlns="http://www.springframework.org/schema/beans"
> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> + xsi:schemaLocation="
> +http://www.springframework.org/schema/beans
> +http://www.springframework.org/schema/beans/spring-beans.xsd
> +http://cxf.apache.org/jaxrs
> +http://cxf.apache.org/schemas/jaxrs.xsd">
> +
> + <import resource="classpath:META-INF/cxf/cxf.xml" />
> + <import
> resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> + <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> +
> + <jaxrs:server id="bookservice"
> + address="/">
> + <jaxrs:serviceBeans>
> + <bean class="org.apache.cxf.systest.jaxrs.BookStore" />
> + </jaxrs:serviceBeans>
> + </jaxrs:server>
> +
> +</beans>
> +<!-- END SNIPPET: beans -->
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> beans.xml
> --------------------------------------------------------------
> ----------------
> svn:mime-type = text/xml
>
> Added:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/web.xml
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/
> test/resources/jaxrs/WEB-INF/web.xml?rev=590950&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> web.xml (added)
> +++
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/
> web.xml Thu Nov 1 02:50:29 2007
> @@ -0,0 +1,52 @@
> +<?xml version="1.0" encoding="ISO-8859-1"?>
> +
> +<!DOCTYPE web-app
> + PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> + "http://java.sun.com/dtd/web-app_2_3.dtd">
> +
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<!-- START SNIPPET: webxml -->
> +<web-app>
> + <context-param>
> + <param-name>contextConfigLocation</param-name>
> + <param-value>WEB-INF/beans.xml</param-value>
> + </context-param>
> +
> + <listener>
> + <listener-class>
> +
> org.springframework.web.context.ContextLoaderListener
> + </listener-class>
> + </listener>
> +
> + <servlet>
> + <servlet-name>CXFServlet</servlet-name>
> + <display-name>CXF Servlet</display-name>
> + <servlet-class>
> + org.apache.cxf.transport.servlet.CXFServlet
> + </servlet-class>
> + <load-on-startup>1</load-on-startup>
> + </servlet>
> +
> + <servlet-mapping>
> + <servlet-name>CXFServlet</servlet-name>
> + <url-pattern>/*</url-pattern>
> + </servlet-mapping>
> +</web-app>
> +<!-- END SNIPPET: webxml -->
> \ No newline at end of file
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/web.xml
> --------------------------------------------------------------
> ----------------
> svn:eol-style = native
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/web.xml
> --------------------------------------------------------------
> ----------------
> svn:keywords = Rev Date
>
> Propchange:
> incubator/cxf/trunk/systests/src/test/resources/jaxrs/WEB-INF/web.xml
> --------------------------------------------------------------
> ----------------
> svn:mime-type = text/xml
>
>
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland