[jboss-cvs] webservice/src/main/org/jboss/webservice/encoding/ser ...
Thomas Diesler
thomas.diesler at jboss.com
Mon Jul 24 07:56:06 EDT 2006
User: tdiesler
Date: 06/07/24 07:56:06
Modified: src/main/org/jboss/webservice/encoding/ser Tag:
JBoss_4_0_4_WS4EE MetaDataTypeDesc.java
Log:
[JBWS-1092] JBoss 4.0.4 with WS4EE: Superclass properties being discarded
Revision Changes Path
No revision
No revision
1.6.2.12.12.1 +19 -3 webservice/src/main/org/jboss/webservice/encoding/ser/Attic/MetaDataTypeDesc.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: MetaDataTypeDesc.java
===================================================================
RCS file: /cvsroot/jboss/webservice/src/main/org/jboss/webservice/encoding/ser/Attic/MetaDataTypeDesc.java,v
retrieving revision 1.6.2.12
retrieving revision 1.6.2.12.12.1
diff -u -b -r1.6.2.12 -r1.6.2.12.12.1
--- MetaDataTypeDesc.java 16 Jan 2006 18:10:30 -0000 1.6.2.12
+++ MetaDataTypeDesc.java 24 Jul 2006 11:56:06 -0000 1.6.2.12.12.1
@@ -21,7 +21,7 @@
*/
package org.jboss.webservice.encoding.ser;
-// $Id: MetaDataTypeDesc.java,v 1.6.2.12 2006/01/16 18:10:30 tdiesler Exp $
+// $Id: MetaDataTypeDesc.java,v 1.6.2.12.12.1 2006/07/24 11:56:06 tdiesler Exp $
import org.jboss.axis.description.AttributeDesc;
import org.jboss.axis.description.ElementDesc;
@@ -40,6 +40,7 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
+import java.lang.reflect.Field;
/**
* An Axis TypeDesc that can get additional information from the ws4ee-deployment.xml
@@ -222,8 +223,23 @@
while (it.hasNext())
{
String propName = (String)it.next();
- ElementMetaData elMetaData = metaData.getElementMetaDataByFieldName(propName);
- if ("class".equals(propName) == false && elMetaData == null)
+ ElementMetaData propertyDescription = metaData.getElementMetaDataByFieldName(propName);
+
+ // get the locally declared fields
+ Field[] fields = this.javaClass.getDeclaredFields();
+ boolean isDeclared = false;
+ for(int i=0; i<fields.length; i++)
+ {
+ if(fields[i].getName().equals(propName)) {
+ isDeclared = true;
+ break;
+ }
+ }
+
+ // is the property declared but doesn't exists in metadata?
+ boolean declaredButNotDescribed = isDeclared && (propertyDescription == null);
+ // supress properties that are not listed in metadata
+ if ("class".equals(propName) == false && declaredButNotDescribed)
{
removedKeys.add(propName);
bpdMap.remove(propName);
More information about the jboss-cvs-commits
mailing list