cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e..@apache.org
Subject svn commit: r1549376 - in /cxf/branches/2.7.x-fixes: ./ api/src/main/java/org/apache/cxf/common/util/ rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/ rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/ systests/uncategorized/src/test/java/org...
Date Mon, 09 Dec 2013 03:37:24 GMT
Author: ema
Date: Mon Dec  9 03:37:23 2013
New Revision: 1549376

URL: http://svn.apache.org/r1549376
Log:
Merged revisions 1548471,1548738 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1548471 | ema | 2013-12-06 17:43:39 +0800 (Fri, 06 Dec 2013) | 1 line
  
  [CXF-5437]:JAXBDataBinding can not handle the exception with generic objects like ObjectWithGenerics<Boolean,
Integer>
........
  r1548738 | dkulp | 2013-12-07 06:41:00 +0800 (Sat, 07 Dec 2013) | 1 line
  
  Fix test failure
........

Added:
    cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/
      - copied from r1548471, cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/
Modified:
    cxf/branches/2.7.x-fixes/   (props changed)
    cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ReflectionUtil.java
    cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
    cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
    cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
    cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
    cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
    cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/GenericExceptionTest.java
    cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/ObjectWithGenerics.java

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
    svn:mergeinfo = /cxf/trunk:1548471,1548738

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ReflectionUtil.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ReflectionUtil.java?rev=1549376&r1=1549375&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ReflectionUtil.java
(original)
+++ cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ReflectionUtil.java
Mon Dec  9 03:37:23 2013
@@ -108,6 +108,19 @@ public final class ReflectionUtil {
         
     }
     
+    public static <T> Constructor<T>[] getDeclaredConstructors(final Class<T>
cls) {
+        return AccessController.doPrivileged(new PrivilegedAction<Constructor<T>[]>()
{
+            @SuppressWarnings("unchecked")
+            public Constructor<T>[] run() {
+                try {
+                    return (Constructor<T>[])cls.getDeclaredConstructors();
+                } catch (SecurityException e) {
+                    return null;
+                } 
+            }
+        });      
+    }
+        
     public static Method[] getDeclaredMethods(final Class<?> cls) {
         return AccessController.doPrivileged(new PrivilegedAction<Method[]>() {
             public Method[] run() {

Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java?rev=1549376&r1=1549375&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
(original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
Mon Dec  9 03:37:23 2013
@@ -21,6 +21,7 @@ package org.apache.cxf.jaxb;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Array;
+import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.GenericArrayType;
 import java.lang.reflect.Method;
@@ -31,6 +32,7 @@ import java.lang.reflect.TypeVariable;
 import java.lang.reflect.WildcardType;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -45,6 +47,10 @@ import javax.xml.bind.annotation.adapter
 
 import org.apache.cxf.common.classloader.JAXBClassLoaderUtils;
 import org.apache.cxf.common.jaxb.JAXBUtils;
+import org.apache.cxf.common.util.ASMHelper;
+import org.apache.cxf.common.util.ASMHelper.ClassWriter;
+import org.apache.cxf.common.util.ASMHelper.MethodVisitor;
+import org.apache.cxf.common.util.ASMHelper.Opcodes;
 import org.apache.cxf.common.util.ReflectionUtil;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.service.ServiceModelVisitor;
@@ -62,13 +68,16 @@ class JAXBContextInitializer extends Ser
     private Set<Class<?>> classes;
     private Collection<Object> typeReferences;
     private Set<Class<?>> globalAdapters = new HashSet<Class<?>>();
+    private Map<String, Object> unmarshallerProperties;
 
     public JAXBContextInitializer(ServiceInfo serviceInfo,
                                   Set<Class<?>> classes,
-                                  Collection<Object> typeReferences) {
+                                  Collection<Object> typeReferences, 
+                                  Map<String, Object> unmarshallerProperties) {
         super(serviceInfo);
         this.classes = classes;
         this.typeReferences = typeReferences;
+        this.unmarshallerProperties = unmarshallerProperties;
     }
 
     @Override
@@ -266,18 +275,24 @@ class JAXBContextInitializer extends Ser
     }
 
 
-    void addClass(Class<?> cls) {
-        if (Throwable.class.isAssignableFrom(cls)) {
-            if (!Throwable.class.equals(cls)
-                && !Exception.class.equals(cls)) {
-                walkReferences(cls);
+    void addClass(Class<?> claz) {
+        if (Throwable.class.isAssignableFrom(claz)) {
+            if (!Throwable.class.equals(claz)
+                && !Exception.class.equals(claz)) {
+                walkReferences(claz);
             }
             addClass(String.class);
-        } else if (cls.getName().startsWith("java.")
-            || cls.getName().startsWith("javax.")) {
+        } else if (claz.getName().startsWith("java.")
+            || claz.getName().startsWith("javax.")) {
             return;
         } else {
-            cls = JAXBUtils.getValidClass(cls);
+            Class<?> cls = JAXBUtils.getValidClass(claz);
+            if (cls == null && ReflectionUtil.getDeclaredConstructors(claz).length
> 0) {
+                //there is no init(), but other constructors
+                Object factory = createFactory(claz, ReflectionUtil.getDeclaredConstructors(claz)[0]);
+                unmarshallerProperties.put("com.sun.xml.bind.ObjectFactory", factory);
+                cls = claz;
+            }
             if (null != cls) {
                 if (classes.contains(cls)) {
                     return;
@@ -314,7 +329,7 @@ class JAXBContextInitializer extends Ser
                 if (!cls.isInterface()) {
                     walkReferences(cls);
                 }
-            }
+            } 
         }
     }
     
@@ -467,4 +482,55 @@ class JAXBContextInitializer extends Ser
         }
         return false;
     }
+    @SuppressWarnings("unused") 
+    private Object createFactory(Class<?> cls, Constructor<?> contructor) { 
     
+        String newClassName = cls.getName() + "Factory";
+        ASMHelper helper = new ASMHelper();
+        ClassWriter cw = helper.createClassWriter();
+        MethodVisitor mv;
+
+        cw.visit(Opcodes.V1_6, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER,
+                 ASMHelper.periodToSlashes(newClassName), null, "java/lang/Object", null);
+
+        cw.visitSource(cls.getSimpleName() + "Factory" + ".java", null);
+
+        mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", "()V", null, null);
+        mv.visitCode();
+        mv.visitVarInsn(Opcodes.ALOAD, 0);
+        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
+        mv.visitInsn(Opcodes.RETURN);
+        mv.visitMaxs(1, 1);
+        mv.visitEnd();
+
+        mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "create" + cls.getSimpleName(),
+                            "()L" + ASMHelper.periodToSlashes(cls.getName()) + ";", null,
null);
+        mv.visitCode();
+        String name = cls.getName().replace(".", "/");
+        mv.visitTypeInsn(Opcodes.NEW, name);
+        mv.visitInsn(Opcodes.DUP);
+        StringBuilder paraString = new StringBuilder("(");
+       
+        for (Class<?> paraClass : contructor.getParameterTypes()) {
+            mv.visitInsn(Opcodes.ACONST_NULL);
+            paraString.append("Ljava/lang/Object;");      
+        }
+        paraString.append(")V");
+
+        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, name, "<init>", paraString.toString());
+
+        mv.visitInsn(Opcodes.ARETURN);
+        mv.visitMaxs(1, 1);
+        mv.visitEnd();
+
+        cw.visitEnd();
+        Class<?> factoryClass = helper.loadClass(newClassName, cls, cw.toByteArray());
+        try {
+            return factoryClass.newInstance();
+        } catch (Exception e) {
+           //ignore
+        } 
+        return null;
+    }
+    
+    
 }
\ No newline at end of file

Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java?rev=1549376&r1=1549375&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
(original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
Mon Dec  9 03:37:23 2013
@@ -318,9 +318,12 @@ public class JAXBDataBinding extends Abs
 
 
         contextClasses = new LinkedHashSet<Class<?>>();
+        Map<String, Object> unmarshallerProps = new HashMap<String, Object>();
+        this.setUnmarshallerProperties(unmarshallerProps);
         for (ServiceInfo serviceInfo : service.getServiceInfos()) {
+            
             JAXBContextInitializer initializer
-                = new JAXBContextInitializer(serviceInfo, contextClasses, typeRefs);
+                = new JAXBContextInitializer(serviceInfo, contextClasses, typeRefs, this.getUnmarshallerProperties());
             initializer.walk();
             if (serviceInfo.getProperty("extra.class") != null) {
                 Set<Class<?>> exClasses = serviceInfo.getProperty("extra.class",
Set.class);

Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java?rev=1549376&r1=1549375&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
(original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
Mon Dec  9 03:37:23 2013
@@ -26,6 +26,7 @@ import java.lang.reflect.GenericArrayTyp
 import java.lang.reflect.Method;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -546,9 +547,13 @@ class JAXBSchemaInitializer extends Serv
             if ((type == null) && (f.getGenericType() instanceof ParameterizedType))
{
                 type = f.getGenericType();
             }
-            JAXBBeanInfo beanInfo = getBeanInfo(type);
-            if (beanInfo != null) {
-                addElement(schema, seq, beanInfo, new QName(namespace, f.getName()), isArray(type));
+            if (generateGenericType(type)) {
+                buildGenericElements(schema, seq, f);
+            } else {
+                JAXBBeanInfo beanInfo = getBeanInfo(type);
+                if (beanInfo != null) {
+                    addElement(schema, seq, beanInfo, new QName(namespace, f.getName()),
isArray(type));
+                }
             }
         }
         for (Method m : Utils.getGetters(cls, accessType)) {
@@ -560,12 +565,17 @@ class JAXBSchemaInitializer extends Serv
             if ((type == null) && (m.getGenericReturnType() instanceof ParameterizedType))
{
                 type = m.getGenericReturnType();
             }
-            JAXBBeanInfo beanInfo = getBeanInfo(type);
-            if (beanInfo != null) {
-                int idx = m.getName().startsWith("get") ? 3 : 2;
-                String name = m.getName().substring(idx);
-                name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
-                addElement(schema, seq, beanInfo, new QName(namespace, name), isArray(type));
+            
+            if (generateGenericType(type)) {
+                buildGenericElements(schema, seq, m, type);
+            } else {
+                JAXBBeanInfo beanInfo = getBeanInfo(type);
+                if (beanInfo != null) {
+                    int idx = m.getName().startsWith("get") ? 3 : 2;
+                    String name = m.getName().substring(idx);
+                    name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
+                    addElement(schema, seq, beanInfo, new QName(namespace, name), isArray(type));
+                }
             }
         }
         // Create element in xsd:sequence for Exception.class
@@ -597,6 +607,106 @@ class JAXBSchemaInitializer extends Serv
         part.setProperty(JAXBDataBinding.class.getName() + ".CUSTOM_EXCEPTION", Boolean.TRUE);
     }
     
+    private boolean generateGenericType(Type type) {
+        if (type instanceof ParameterizedType) {
+            ParameterizedType paramType = (ParameterizedType)type;
+            if (paramType.getActualTypeArguments().length > 1) {
+                return true;
+
+            }
+        }
+        return false;
+    }
+    
+    private void buildGenericElements(XmlSchema schema, XmlSchemaSequence seq, Field f) {
+        XmlSchemaComplexType generics = new XmlSchemaComplexType(schema, true);
+        Type type = f.getGenericType();
+        String rawType = ((ParameterizedType)type).getRawType().toString();
+        String typeName = StringUtils.uncapitalize(rawType.substring(rawType.lastIndexOf(".")
+ 1));
+        generics.setName(typeName);
+
+        Class<?> genericsClass = f.getType();
+        buildGenericSeq(schema, generics, genericsClass);   
+
+        String name = Character.toLowerCase(f.getName().charAt(0)) + f.getName().substring(1);
+        XmlSchemaElement newel = new XmlSchemaElement(schema, false);
+        newel.setName(name);
+        newel.setSchemaTypeName(generics.getQName());
+        newel.setMinOccurs(0);
+        if (!seq.getItems().contains(newel)) {
+            seq.getItems().add(newel);
+        }
+    }
+     
+    private void buildGenericElements(XmlSchema schema, XmlSchemaSequence seq, Method m,
Type type) {       
+        String rawType = ((ParameterizedType)type).getRawType().toString();
+        String typeName = StringUtils.uncapitalize(rawType.substring(rawType.lastIndexOf(".")
+ 1));
+        
+        XmlSchemaComplexType generics = (XmlSchemaComplexType)schema.getTypeByName(typeName);
       
+        if (generics == null) {
+            generics =  new XmlSchemaComplexType(schema, true);
+            generics.setName(typeName);
+        }
+        
+        Class<?> genericsClass = m.getReturnType();
+        buildGenericSeq(schema, generics, genericsClass);  
+          
+        int idx = m.getName().startsWith("get") ? 3 : 2;
+        String name = m.getName().substring(idx);
+        name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
+        XmlSchemaElement newel = new XmlSchemaElement(schema, false);
+        newel.setName(name);
+        newel.setSchemaTypeName(generics.getQName());
+        newel.setMinOccurs(0);
+        if (!seq.getItems().contains(newel)) {
+            seq.getItems().add(newel);
+        }
+    }
+    
+    private void buildGenericSeq(XmlSchema schema, XmlSchemaComplexType generics, Class<?>
genericsClass) {
+        XmlSchemaSequence genericsSeq = new XmlSchemaSequence();
+        generics.setParticle(genericsSeq);
+        XmlAccessType  accessType = Utils.getXmlAccessType(genericsClass);
+        
+        for (Field f : Utils.getFields(genericsClass, accessType)) {
+            if (f.getGenericType() instanceof TypeVariable) {               
+                String genericName = Character.toLowerCase(f.getName().charAt(0)) + f.getName().substring(1);
+                XmlSchemaElement genericEle = new XmlSchemaElement(schema, false);
+                genericEle.setName(genericName);
+                genericEle.setMinOccurs(0);
+                JAXBBeanInfo anyBean = getBeanInfo(context, f.getType()); 
+                Iterator<QName> itr = anyBean.getTypeNames().iterator();
+                if (!itr.hasNext()) {
+                    return;
+                }
+                QName typeName = itr.next();
+                genericEle.setSchemaTypeName(typeName);
+                genericsSeq.getItems().add(genericEle);
+            }
+        }
+               
+        for (Method genericMethod : Utils.getGetters(genericsClass, accessType)) {
+            if (genericMethod.getGenericReturnType() instanceof TypeVariable) {
+                int idx = genericMethod.getName().startsWith("get") ? 3 : 2;
+                String genericName = genericMethod.getName().substring(idx);
+                genericName = Character.toLowerCase(genericName.charAt(0)) + genericName.substring(1);
+                XmlSchemaElement genericEle = new XmlSchemaElement(schema, false);
+                genericEle.setName(genericName);
+                genericEle.setMinOccurs(0);
+                JAXBBeanInfo anyBean = getBeanInfo(context, genericMethod.getReturnType());

+                Iterator<QName> itr = anyBean.getTypeNames().iterator();
+                if (!itr.hasNext()) {
+                    return;
+                }
+                QName typeName = itr.next();
+                genericEle.setSchemaTypeName(typeName);
+                genericsSeq.getItems().add(genericEle);
+            }
+            
+        } 
+    }
+    
+    
     static boolean isArray(Type cls) {
         if (cls instanceof Class) {
             return ((Class<?>)cls).isArray();

Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java?rev=1549376&r1=1549375&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
(original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
Mon Dec  9 03:37:23 2013
@@ -205,7 +205,8 @@ final class Utils {
 
     static Class<?> getFieldType(Field f) {
         XmlJavaTypeAdapter adapter = getFieldXJTA(f);
-        if (adapter == null && f.getGenericType() instanceof ParameterizedType) {
+        if (adapter == null && f.getGenericType() instanceof ParameterizedType
+            && ((ParameterizedType)f.getGenericType()).getActualTypeArguments().length
== 1) {
             return null;
         }
         Class<?> adapterType = (Class<?>)getTypeFromXmlAdapter(adapter);
@@ -217,7 +218,8 @@ final class Utils {
         // if there is no adapter, yet we have a collection make sure
         // we return the Generic type; if there is an annotation let the
         // adapter handle what gets populated
-        if (adapter == null && m.getGenericReturnType() instanceof ParameterizedType)
{
+        if (adapter == null && m.getGenericReturnType() instanceof ParameterizedType

+            && ((ParameterizedType)m.getGenericReturnType()).getActualTypeArguments().length
< 2) {
             return null;
         }
         Class<?> adapterType = (Class<?>)getTypeFromXmlAdapter(adapter);

Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java?rev=1549376&r1=1549375&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
(original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
Mon Dec  9 03:37:23 2013
@@ -227,7 +227,8 @@ public class JAXBDataBindingTest extends
     public void testResursiveType() throws Exception {
         Set<Class<?>> classes = new HashSet<Class<?>>();
         Collection<Object> typeReferences = new ArrayList<Object>();
-        JAXBContextInitializer init = new JAXBContextInitializer(null, classes, typeReferences);
+        Map<String, Object> props = new HashMap<String, Object>();
+        JAXBContextInitializer init = new JAXBContextInitializer(null, classes, typeReferences,
props);
         init.addClass(Type2.class);
         assertEquals(2, classes.size());
     }

Modified: cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/GenericExceptionTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/GenericExceptionTest.java?rev=1549376&r1=1548471&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/GenericExceptionTest.java
(original)
+++ cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/GenericExceptionTest.java
Mon Dec  9 03:37:23 2013
@@ -33,13 +33,12 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class GenericExceptionTest extends AbstractBusClientServerTestBase {
-    public static final String PORT = "9001";
-        //Server.PORT;
+    public static final String PORT = Server.PORT;
     private final QName serviceName = new QName("http://cxf.apache.org/test/HelloService",
"HelloService");
 
     @BeforeClass
     public static void startServers() throws Exception {
-        //assertTrue("server did not launch correctly", launchServer(Server.class));
+        assertTrue("server did not launch correctly", launchServer(Server.class));
 
     }
 

Modified: cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/ObjectWithGenerics.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/ObjectWithGenerics.java?rev=1549376&r1=1548471&r2=1549376&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/ObjectWithGenerics.java
(original)
+++ cxf/branches/2.7.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/exception/ObjectWithGenerics.java
Mon Dec  9 03:37:23 2013
@@ -23,7 +23,6 @@ public class ObjectWithGenerics<A, B> {
     private A a;
     private B b;
     
-    
     public ObjectWithGenerics(A aa, B bb) {
         this.a = aa;
         this.b = bb;



Mime
View raw message