src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java

changeset 368
0989ad8c0860
parent 286
f50545b5e2f1
child 384
8f2986ff0235
     1.1 --- a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java	Thu Apr 04 19:05:24 2013 -0700
     1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java	Tue Apr 09 14:51:13 2013 +0100
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -35,6 +35,7 @@
    1.11  import java.security.PrivilegedActionException;
    1.12  import java.security.PrivilegedExceptionAction;
    1.13  import java.util.ArrayList;
    1.14 +import java.util.Arrays;
    1.15  import java.util.HashMap;
    1.16  import java.util.HashSet;
    1.17  import java.util.List;
    1.18 @@ -112,7 +113,6 @@
    1.19  
    1.20              QName qname = new QName(namespace, localName);
    1.21              if (field.getType().equals(JAXBElement.class)) {
    1.22 -                Class elementDeclaredType = Object.class;
    1.23                  if (field.getGenericType() instanceof ParameterizedType) {
    1.24                      Type arg = ((ParameterizedType) field.getGenericType())
    1.25                              .getActualTypeArguments()[0];
    1.26 @@ -161,7 +161,7 @@
    1.27      static protected List<Field> getAllFields(Class<?> clz) {
    1.28          List<Field> list = new ArrayList<Field>();
    1.29          while (!Object.class.equals(clz)) {
    1.30 -            for (Field f : getDeclaredFields(clz)) list.add(f);
    1.31 +            list.addAll(Arrays.asList(getDeclaredFields(clz)));
    1.32              clz = clz.getSuperclass();
    1.33          }
    1.34          return list;
    1.35 @@ -171,6 +171,7 @@
    1.36          try {
    1.37              return (System.getSecurityManager() == null) ? clz .getDeclaredFields() :
    1.38                  AccessController.doPrivileged(new PrivilegedExceptionAction<Field[]>() {
    1.39 +                        @Override
    1.40                          public Field[] run() throws IllegalAccessException {
    1.41                              return clz.getDeclaredFields();
    1.42                          }
    1.43 @@ -186,9 +187,7 @@
    1.44          if (!field.isAccessible()) {
    1.45              if (getMethod != null) {
    1.46                  MethodGetter methodGetter = new MethodGetter(getMethod);
    1.47 -                if (!methodGetter.getType().toString().equals(field.getType().toString())) {
    1.48 -                    methodGetter = null;
    1.49 -                } else {
    1.50 +                if (methodGetter.getType().toString().equals(field.getType().toString())) {
    1.51                      return methodGetter;
    1.52                  }
    1.53              }
    1.54 @@ -201,9 +200,7 @@
    1.55          if (!field.isAccessible()) {
    1.56              if (setter != null) {
    1.57                  MethodSetter injection = new MethodSetter(setter);
    1.58 -                if (!injection.getType().toString().equals(field.getType().toString())) {
    1.59 -                    injection = null;
    1.60 -                } else {
    1.61 +                if (injection.getType().toString().equals(field.getType().toString())) {
    1.62                      return injection;
    1.63                  }
    1.64              }
    1.65 @@ -217,6 +214,7 @@
    1.66          return elementDeclaredTypes.get(key);
    1.67      }
    1.68  
    1.69 +    @Override
    1.70      public PropertyAccessor getPropertyAccessor(String ns, String name) {
    1.71          final QName n = new QName(ns, name);
    1.72          final PropertySetter setter = getPropertySetter(n);
    1.73 @@ -228,8 +226,9 @@
    1.74          final Class elementDeclaredType = isJAXBElement ? getElementDeclaredType(n)
    1.75                  : null;
    1.76          return new PropertyAccessor() {
    1.77 +            @Override
    1.78              public Object get(Object bean) throws DatabindingException {
    1.79 -                Object val = null;
    1.80 +                Object val;
    1.81                  if (isJAXBElement) {
    1.82                      JAXBElement<Object> jaxbElement = (JAXBElement<Object>) getter.get(bean);
    1.83                      val = (jaxbElement == null) ? null : jaxbElement.getValue();
    1.84 @@ -243,6 +242,7 @@
    1.85                  return val;
    1.86              }
    1.87  
    1.88 +            @Override
    1.89              public void set(Object bean, Object value) throws DatabindingException {
    1.90                  if (isJAXBElement) {
    1.91                      JAXBElement<Object> jaxbElement = new JAXBElement<Object>(

mercurial