[Jboss-cvs] JBossAS SVN: r55175 - branches/JBoss_4_0_4_JBWS-1096/webservice/src/main/org/jboss/webservice/encoding/ser

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 4 04:59:55 EDT 2006


Author: heiko.braun at jboss.com
Date: 2006-08-04 04:59:53 -0400 (Fri, 04 Aug 2006)
New Revision: 55175

Modified:
   branches/JBoss_4_0_4_JBWS-1096/webservice/src/main/org/jboss/webservice/encoding/ser/MetaDataTypeDesc.java
Log:
Fix JBWS-1096

Modified: branches/JBoss_4_0_4_JBWS-1096/webservice/src/main/org/jboss/webservice/encoding/ser/MetaDataTypeDesc.java
===================================================================
--- branches/JBoss_4_0_4_JBWS-1096/webservice/src/main/org/jboss/webservice/encoding/ser/MetaDataTypeDesc.java	2006-08-04 08:34:51 UTC (rev 55174)
+++ branches/JBoss_4_0_4_JBWS-1096/webservice/src/main/org/jboss/webservice/encoding/ser/MetaDataTypeDesc.java	2006-08-04 08:59:53 UTC (rev 55175)
@@ -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,9 +223,24 @@
          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