You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2013/09/03 10:34:52 UTC
svn commit: r1519597 - in /cxf/trunk:
core/src/main/java/org/apache/cxf/common/jaxb/
systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/
systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/
systests/databinding/src/t...
Author: ffang
Date: Tue Sep 3 08:34:51 2013
New Revision: 1519597
URL: http://svn.apache.org/r1519597
Log:
[CXF-5246]Conflicting schema namespaces for services with same set of schema classes
Added:
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/MultipleServiceShareClassTest.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/NameElement.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/bar/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/bar/BarName.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/foo/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/foo/FooName.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/bar/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/bar/BarServiceImpl.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/foo/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/foo/FooServiceImpl.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/Getter.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/bar/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/bar/BarService.java
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/foo/
cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/foo/FooService.java
Modified:
cxf/trunk/core/src/main/java/org/apache/cxf/common/jaxb/JAXBContextCache.java
Modified: cxf/trunk/core/src/main/java/org/apache/cxf/common/jaxb/JAXBContextCache.java
URL: http://svn.apache.org/viewvc/cxf/trunk/core/src/main/java/org/apache/cxf/common/jaxb/JAXBContextCache.java?rev=1519597&r1=1519596&r2=1519597&view=diff
==============================================================================
--- cxf/trunk/core/src/main/java/org/apache/cxf/common/jaxb/JAXBContextCache.java (original)
+++ cxf/trunk/core/src/main/java/org/apache/cxf/common/jaxb/JAXBContextCache.java Tue Sep 3 08:34:51 2013
@@ -31,6 +31,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.regex.Pattern;
@@ -120,8 +121,8 @@ public final class JAXBContextCache {
}
}
- private static final Map<Set<Class<?>>, CachedContextAndSchemasInternal> JAXBCONTEXT_CACHE
- = new CacheMap<Set<Class<?>>, CachedContextAndSchemasInternal>();
+ private static final Map<Set<Class<?>>, Map<String, CachedContextAndSchemasInternal>> JAXBCONTEXT_CACHE
+ = new CacheMap<Set<Class<?>>, Map<String, CachedContextAndSchemasInternal>>();
private static final Map<Package, CachedClass> OBJECT_FACTORY_CACHE
= new CacheMap<Package, CachedClass>();
@@ -188,15 +189,27 @@ public final class JAXBContextCache {
}
CachedContextAndSchemasInternal cachedContextAndSchemasInternal = null;
JAXBContext context = null;
+ Map<String, CachedContextAndSchemasInternal> cachedContextAndSchemasInternalMap = null;
if (typeRefs == null || typeRefs.isEmpty()) {
synchronized (JAXBCONTEXT_CACHE) {
+
if (exact) {
- cachedContextAndSchemasInternal = JAXBCONTEXT_CACHE.get(classes);
+ cachedContextAndSchemasInternalMap
+ = JAXBCONTEXT_CACHE.get(classes);
+ if (cachedContextAndSchemasInternalMap != null && defaultNs != null) {
+ cachedContextAndSchemasInternal = cachedContextAndSchemasInternalMap.get(defaultNs);
+ }
} else {
- for (Map.Entry<Set<Class<?>>, CachedContextAndSchemasInternal> k : JAXBCONTEXT_CACHE.entrySet()) {
+ for (Entry<Set<Class<?>>, Map<String, CachedContextAndSchemasInternal>> k
+ : JAXBCONTEXT_CACHE.entrySet()) {
Set<Class<?>> key = k.getKey();
if (key != null && key.containsAll(classes)) {
- cachedContextAndSchemasInternal = k.getValue();
+ cachedContextAndSchemasInternalMap = k.getValue();
+ if (defaultNs != null) {
+ cachedContextAndSchemasInternal = cachedContextAndSchemasInternalMap.get(defaultNs);
+ } else {
+ cachedContextAndSchemasInternal = cachedContextAndSchemasInternalMap.get("");
+ }
break;
}
}
@@ -237,7 +250,13 @@ public final class JAXBContextCache {
cachedContextAndSchemasInternal = new CachedContextAndSchemasInternal(context, classes);
synchronized (JAXBCONTEXT_CACHE) {
if (typeRefs == null || typeRefs.isEmpty()) {
- JAXBCONTEXT_CACHE.put(classes, cachedContextAndSchemasInternal);
+ if (cachedContextAndSchemasInternalMap == null) {
+ cachedContextAndSchemasInternalMap
+ = new CacheMap<String, CachedContextAndSchemasInternal>();
+ }
+ cachedContextAndSchemasInternalMap.put((defaultNs != null) ? defaultNs : "",
+ cachedContextAndSchemasInternal);
+ JAXBCONTEXT_CACHE.put(classes, cachedContextAndSchemasInternalMap);
}
}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/MultipleServiceShareClassTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/MultipleServiceShareClassTest.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/MultipleServiceShareClassTest.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/MultipleServiceShareClassTest.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,113 @@
+/**
+ * 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.jaxb;
+
+
+import org.apache.cxf.interceptor.LoggingInInterceptor;
+import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
+import org.apache.cxf.systest.jaxb.shareclasses.model.NameElement;
+import org.apache.cxf.systest.jaxb.shareclasses.model.bar.BarName;
+import org.apache.cxf.systest.jaxb.shareclasses.model.foo.FooName;
+import org.apache.cxf.systest.jaxb.shareclasses.server.bar.BarServiceImpl;
+import org.apache.cxf.systest.jaxb.shareclasses.server.foo.FooServiceImpl;
+import org.apache.cxf.systest.jaxb.shareclasses.service.Getter;
+import org.apache.cxf.systest.jaxb.shareclasses.service.bar.BarService;
+import org.apache.cxf.systest.jaxb.shareclasses.service.foo.FooService;
+import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class MultipleServiceShareClassTest extends AbstractBusClientServerTestBase {
+ static final String PORT = allocatePort(MultipleServiceShareClassTest.class);
+ static final String ADDRESS1 = "http://localhost:" + PORT + "/BarService";
+ static final String ADDRESS2 = "http://localhost:" + PORT + "/FooService";
+
+ public static class Server extends AbstractBusTestServerBase {
+
+ protected void run() {
+ registerService(FooService.class, new FooServiceImpl());
+ registerService(BarService.class, new BarServiceImpl());
+
+ }
+
+ private void registerService(final Class<?> service, final Object serviceImpl) {
+ final JaxWsServerFactoryBean builder = new JaxWsServerFactoryBean();
+ builder.setBus(getBus());
+ builder.setAddress("http://localhost:" + PORT + "/" + service.getSimpleName());
+ builder.setServiceBean(serviceImpl);
+ builder.setServiceClass(service);
+ builder.create();
+ }
+
+ public static void main(String[] args) {
+ try {
+ Server s = new Server();
+ s.start();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ System.exit(-1);
+ } finally {
+ System.out.println("done!");
+ }
+ }
+ }
+ @BeforeClass
+ public static void startServers() throws Exception {
+ assertTrue("server did not launch correctly", launchServer(Server.class, false));
+ }
+
+ @Test
+ public void testCallMultipleService() throws Exception {
+
+ final NameElement barName = new BarName();
+ barName.setName("Bob");
+ callBar(barName);
+ final NameElement fooName = new FooName();
+ fooName.setName("Alice");
+ callFoo(fooName);
+
+ }
+
+ private void callFoo(final NameElement nameElement) {
+ FooService fooClient = createGetterService(FooService.class);
+ assertEquals(fooClient.getName(nameElement), "Alice");
+ }
+
+ private void callBar(final NameElement nameElement) {
+ BarService barClient = createGetterService(BarService.class);
+ assertEquals(barClient.getName(nameElement), "Bob");
+ }
+
+ private <T extends Getter> T createGetterService(final Class<T> serviceClass) {
+ JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
+ factory.setAddress("http://localhost:" + PORT + "/" + serviceClass.getSimpleName());
+ factory.getInInterceptors().add(new LoggingInInterceptor());
+ factory.getOutInterceptors().add(new LoggingOutInterceptor());
+ return factory.create(serviceClass);
+ }
+
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/NameElement.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/NameElement.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/NameElement.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/NameElement.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,42 @@
+/**
+ * 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.jaxb.shareclasses.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+
+import org.apache.cxf.systest.jaxb.shareclasses.model.bar.BarName;
+import org.apache.cxf.systest.jaxb.shareclasses.model.foo.FooName;
+
+@XmlRootElement
+@XmlSeeAlso({
+ FooName.class, BarName.class
+})
+public abstract class NameElement {
+ private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/bar/BarName.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/bar/BarName.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/bar/BarName.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/bar/BarName.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,28 @@
+/**
+ * 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.jaxb.shareclasses.model.bar;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.cxf.systest.jaxb.shareclasses.model.NameElement;
+
+@XmlRootElement
+public class BarName extends NameElement {
+
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/foo/FooName.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/foo/FooName.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/foo/FooName.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/model/foo/FooName.java Tue Sep 3 08:34:51 2013
@@ -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.systest.jaxb.shareclasses.model.foo;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.cxf.systest.jaxb.shareclasses.model.NameElement;
+
+@XmlRootElement
+public class FooName extends NameElement {
+
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/bar/BarServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/bar/BarServiceImpl.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/bar/BarServiceImpl.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/bar/BarServiceImpl.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,31 @@
+/**
+ * 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.jaxb.shareclasses.server.bar;
+
+import org.apache.cxf.systest.jaxb.shareclasses.model.NameElement;
+import org.apache.cxf.systest.jaxb.shareclasses.service.bar.BarService;
+
+public class BarServiceImpl implements BarService {
+
+ @Override
+ public String getName(final NameElement nameElement) {
+ return nameElement.getName();
+ }
+
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/foo/FooServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/foo/FooServiceImpl.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/foo/FooServiceImpl.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/server/foo/FooServiceImpl.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,31 @@
+/**
+ * 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.jaxb.shareclasses.server.foo;
+
+import org.apache.cxf.systest.jaxb.shareclasses.model.NameElement;
+import org.apache.cxf.systest.jaxb.shareclasses.service.foo.FooService;
+
+public class FooServiceImpl implements FooService {
+
+ @Override
+ public String getName(final NameElement nameElement) {
+ return nameElement.getName();
+ }
+
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/Getter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/Getter.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/Getter.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/Getter.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,25 @@
+/**
+ * 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.jaxb.shareclasses.service;
+
+import org.apache.cxf.systest.jaxb.shareclasses.model.NameElement;
+
+public interface Getter {
+ String getName(NameElement nameElement);
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/bar/BarService.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/bar/BarService.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/bar/BarService.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/bar/BarService.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,27 @@
+/**
+ * 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.jaxb.shareclasses.service.bar;
+
+import javax.jws.WebService;
+
+import org.apache.cxf.systest.jaxb.shareclasses.service.Getter;
+
+@WebService
+public interface BarService extends Getter {
+}
Added: cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/foo/FooService.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/foo/FooService.java?rev=1519597&view=auto
==============================================================================
--- cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/foo/FooService.java (added)
+++ cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/jaxb/shareclasses/service/foo/FooService.java Tue Sep 3 08:34:51 2013
@@ -0,0 +1,27 @@
+/**
+ * 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.jaxb.shareclasses.service.foo;
+
+import javax.jws.WebService;
+
+import org.apache.cxf.systest.jaxb.shareclasses.service.Getter;
+
+@WebService
+public interface FooService extends Getter {
+}