User: ko5tik  
  Date: 02/10/14 05:55:06

  Modified:    modules/java/src/xdoclet/modules/java/javabean/resources
                        beaninfo.xdt
  Log:
  fix for XDT-58 & XTD-10 - moved property tags to getters,
  added support for inheritance
  
  Revision  Changes    Path
  1.6       +64 -66    
xdoclet/modules/java/src/xdoclet/modules/java/javabean/resources/beaninfo.xdt
  
  Index: beaninfo.xdt
  ===================================================================
  RCS file: 
/cvsroot/xdoclet/xdoclet/modules/java/src/xdoclet/modules/java/javabean/resources/beaninfo.xdt,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -r1.5 -r1.6
  --- beaninfo.xdt      6 Oct 2002 17:43:18 -0000       1.5
  +++ beaninfo.xdt      14 Oct 2002 12:55:06 -0000      1.6
  @@ -38,10 +38,35 @@
   
   
      /** Constructor for the 
<XDtClass:classOf><XDtJavaBean:beanClass/></XDtClass:classOf>BeanInfo object */
  -   public <XDtClass:classOf><XDtJavaBean:beanClass/></XDtClass:classOf>BeanInfo()
  -   {
  -      try
  +   public <XDtClass:classOf><XDtJavaBean:beanClass/></XDtClass:classOf>BeanInfo() 
throws java.beans.IntrospectionException
         {
  +     // setup bean descriptor in constructor. 
  +       <XDtClass:ifHasClassTag tagName="javabean.class" paramName="name" 
superclasses="false">bd.setName("<XDtClass:classTagValue tagName="javabean.class" 
paramName="name"/>");</XDtClass:ifHasClassTag>
  +
  +       <XDtConfig:ifConfigParamEquals paramName="i18n" value="true">
  +       <XDtClass:ifHasClassTag tagName="javabean.class" paramName="displayName" 
superclasses="false">bd.setDisplayName(res.getString("bean.displayName"));</XDtClass:ifHasClassTag>
  +       <XDtClass:ifHasClassTag tagName="javabean.class" 
paramName="shortDescription" 
superclasses="false">bd.setShortDescription(res.getString("bean.shortDescription"));</XDtClass:ifHasClassTag>
  +       </XDtConfig:ifConfigParamEquals>
  +      
  +       <XDtConfig:ifConfigParamNotEquals paramName="i18n" value="true">
  +       <XDtClass:ifHasClassTag tagName="javabean.class" paramName="displayName" 
superclasses="false">bd.setDisplayName("<XDtClass:classTagValue 
tagName="javabean.class" paramName="displayName"/>");</XDtClass:ifHasClassTag>
  +       <XDtClass:ifHasClassTag tagName="javabean.class" 
paramName="shortDescription" 
superclasses="false">bd.setShortDescription("<XDtClass:classTagValue 
tagName="javabean.class" paramName="shortDescription"/>");</XDtClass:ifHasClassTag>
  +       </XDtConfig:ifConfigParamNotEquals>
  +
  +       <XDtClass:ifHasClassTag tagName="javabean.class" paramName="expert" 
superclasses="false">bd.setExpert(<XDtClass:classTagValue tagName="javabean.class" 
paramName="expert" values="true,false"/>);</XDtClass:ifHasClassTag>
  +       <XDtClass:ifHasClassTag tagName="javabean.class" paramName="hidden" 
superclasses="false">bd.setHidden(<XDtClass:classTagValue tagName="javabean.class" 
paramName="hidden" values="true,false"/>);</XDtClass:ifHasClassTag>
  +       <XDtClass:ifHasClassTag tagName="javabean.class" paramName="preferred" 
superclasses="false">bd.setPreferred(<XDtClass:classTagValue tagName="javabean.class" 
paramName="preferred" values="true,false"/>);</XDtClass:ifHasClassTag>
  +
  +       <XDtClass:forAllClassTags tagName="javabean.attribute" superclasses="false">
  +       <XDtClass:ifClassTagValueEquals tagName="javabean.attribute" 
paramName="rtexpr" superclasses="false" value="true">
  +       bd.setValue("<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="name"/>",<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="value"/>);
  +       </XDtClass:ifClassTagValueEquals>
  +       <XDtClass:ifClassTagValueNotEquals tagName="javabean.attribute" 
paramName="rtexpr" superclasses="false" value="true">
  +       bd.setValue("<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="name"/>","<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="value"/>");
  +       </XDtClass:ifClassTagValueNotEquals>
  +       </XDtClass:forAllClassTags>
  +
  + 
            BeanInfo info = 
Introspector.getBeanInfo(getBeanDescriptor().getBeanClass().getSuperclass());
            String order = info.getBeanDescriptor().getValue("propertyorder") == null 
? "" : (String) info.getBeanDescriptor().getValue("propertyorder");
            PropertyDescriptor[] pd = getPropertyDescriptors();
  @@ -54,11 +79,6 @@
            }
            getBeanDescriptor().setValue("propertyorder", order);
         }
  -      catch (Exception e)
  -      {
  -         // Ignore it
  -      }
  -   }
   
   
      /**
  @@ -95,30 +115,6 @@
       */
      public BeanDescriptor getBeanDescriptor()
      {
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="name" 
superclasses="false">bd.setName("<XDtClass:classTagValue tagName="javabean.class" 
paramName="name"/>");</XDtClass:ifHasClassTag>
  -
  -      <XDtConfig:ifConfigParamEquals paramName="i18n" value="true">
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="displayName" 
superclasses="false">bd.setDisplayName(res.getString("bean.displayName"));</XDtClass:ifHasClassTag>
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="shortDescription" 
superclasses="false">bd.setShortDescription(res.getString("bean.shortDescription"));</XDtClass:ifHasClassTag>
  -      </XDtConfig:ifConfigParamEquals>
  -      
  -      <XDtConfig:ifConfigParamNotEquals paramName="i18n" value="true">
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="displayName" 
superclasses="false">bd.setDisplayName("<XDtClass:classTagValue 
tagName="javabean.class" paramName="displayName"/>");</XDtClass:ifHasClassTag>
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="shortDescription" 
superclasses="false">bd.setShortDescription("<XDtClass:classTagValue 
tagName="javabean.class" paramName="shortDescription"/>");</XDtClass:ifHasClassTag>
  -      </XDtConfig:ifConfigParamNotEquals>
  -
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="expert" 
superclasses="false">bd.setExpert(<XDtClass:classTagValue tagName="javabean.class" 
paramName="expert" values="true,false"/>);</XDtClass:ifHasClassTag>
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="hidden" 
superclasses="false">bd.setHidden(<XDtClass:classTagValue tagName="javabean.class" 
paramName="hidden" values="true,false"/>);</XDtClass:ifHasClassTag>
  -      <XDtClass:ifHasClassTag tagName="javabean.class" paramName="preferred" 
superclasses="false">bd.setPreferred(<XDtClass:classTagValue tagName="javabean.class" 
paramName="preferred" values="true,false"/>);</XDtClass:ifHasClassTag>
  -
  -      <XDtClass:forAllClassTags tagName="javabean.attribute" superclasses="false">
  -      <XDtClass:ifClassTagValueEquals tagName="javabean.attribute" 
paramName="rtexpr" superclasses="false" value="true">
  -      bd.setValue("<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="name"/>",<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="value"/>);
  -      </XDtClass:ifClassTagValueEquals>
  -      <XDtClass:ifClassTagValueNotEquals tagName="javabean.attribute" 
paramName="rtexpr" superclasses="false" value="true">
  -      bd.setValue("<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="name"/>","<XDtClass:classTagValue tagName="javabean.attribute" 
paramName="value"/>");
  -      </XDtClass:ifClassTagValueNotEquals>
  -      </XDtClass:forAllClassTags>
         
         return bd;
      }
  @@ -188,50 +184,52 @@
            Vector descriptors = new Vector();
            PropertyDescriptor descriptor = null;
   
  -         <XDtClass:forAllClassTags tagName="javabean.property" superclasses="false">
  -
  +       <XDtMethod:forAllMethods superclasses="true">
  +      <XDtMethod:ifHasMethodTag tagName="javabean.property">
            try
            {
  -            <XDtClass:ifDoesntHaveClassTag tagName="javabean.property" 
paramName="readOnly" superclasses="false">
  -            descriptor = new PropertyDescriptor("<XDtClass:classTagValue 
tagName="javabean.property" paramName="name"/>", <XDtJavaBean:beanClass/>.class);
  -            </XDtClass:ifDoesntHaveClassTag>
  -            
  -            <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="readOnly" superclasses="false">
  -            descriptor = new PropertyDescriptor("<XDtClass:classTagValue 
tagName="javabean.property" paramName="name"/>", <XDtJavaBean:beanClass/>.class, 
"<XDtJavaBean:getterPrefix tagName="javabean.property" 
paramName="class"/><XDtJavaBean:capitalizeClassTag tagName="javabean.property" 
paramName="name"/>", null);
  -            </XDtClass:ifHasClassTag>
  +            <XDtMethod:ifDoesntHaveMethodTag tagName="javabean.property" 
paramName="readOnly">
  +            descriptor = new PropertyDescriptor("<XDtMethod:propertyName/>", 
<XDtJavaBean:beanClass/>.class);
  +            </XDtMethod:ifDoesntHaveMethodTag>
  +            
  +            <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="readOnly">
  +            descriptor = new PropertyDescriptor("<XDtMethod:propertyName/>", 
<XDtJavaBean:beanClass/>.class, "<XDtMethod:getterMethod/>", null);
  +            </XDtMethod:ifHasMethodTag>
            }
            catch (IntrospectionException e)
            {
  -            descriptor = new PropertyDescriptor("<XDtClass:classTagValue 
tagName="javabean.property" paramName="name"/>", <XDtJavaBean:beanClass/>.class, 
"<XDtJavaBean:getterPrefix tagName="javabean.property" 
paramName="class"/><XDtJavaBean:capitalizeClassTag tagName="javabean.property" 
paramName="name"/>", null);
  +            descriptor = new PropertyDescriptor("<XDtMethod:propertyName/>", 
<XDtJavaBean:beanClass/>.class, "<XDtMethod:getterMethod/>", null);
            }
   
            <XDtConfig:ifConfigParamEquals paramName="i18n" value="true">
  -         <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="displayName" 
superclasses="false">descriptor.setDisplayName(res.getString("property.<XDtClass:classTagValue
 tagName="javabean.property" 
paramName="name"/>.displayName"));</XDtClass:ifHasClassTag>
  -         <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="shortDescription" 
superclasses="false">descriptor.setShortDescription(res.getString("property.<XDtClass:classTagValue
 tagName="javabean.property" 
paramName="name"/>.shortDescription"));</XDtClass:ifHasClassTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="displayName" 
superclasses="false">descriptor.setDisplayName(res.getString("property.<XDtMethod:propertyName/>.displayName"));</XDtMethod:ifHasMethodTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="shortDescription" 
superclasses="false">descriptor.setShortDescription(res.getString("property.<XDtMethod:propertyName/>.shortDescription"));</XDtMethod:ifHasMethodTag>
            </XDtConfig:ifConfigParamEquals>
            
            <XDtConfig:ifConfigParamNotEquals paramName="i18n" value="true">
  -         <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="displayName" 
superclasses="false">descriptor.setDisplayName("<XDtClass:classTagValue 
tagName="javabean.property" paramName="displayName"/>");</XDtClass:ifHasClassTag>
  -         <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="shortDescription" 
superclasses="false">descriptor.setShortDescription("<XDtClass:classTagValue 
tagName="javabean.property" paramName="shortDescription"/>");</XDtClass:ifHasClassTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="displayName" 
superclasses="false">descriptor.setDisplayName("<XDtMethod:methodTagValue 
tagName="javabean.property" paramName="displayName"/>");</XDtMethod:ifHasMethodTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="shortDescription" 
superclasses="false">descriptor.setShortDescription("<XDtMethod:methodTagValue 
tagName="javabean.property" 
paramName="shortDescription"/>");</XDtMethod:ifHasMethodTag>
            </XDtConfig:ifConfigParamNotEquals>
   
  -         <XDtClass:ifHasClassTag tagName="javabean.property" paramName="expert" 
superclasses="false">descriptor.setExpert(<XDtClass:classTagValue 
tagName="javabean.property" paramName="expert" 
values="true,false"/>);</XDtClass:ifHasClassTag>
  -         <XDtClass:ifHasClassTag tagName="javabean.property" paramName="hidden" 
superclasses="false">descriptor.setHidden(<XDtClass:classTagValue 
tagName="javabean.property" paramName="hidden" 
values="true,false"/>);</XDtClass:ifHasClassTag>
  -         <XDtClass:ifHasClassTag tagName="javabean.property" paramName="preferred" 
superclasses="false">descriptor.setPreferred(<XDtClass:classTagValue 
tagName="javabean.property" paramName="preferred" 
values="true,false"/>);</XDtClass:ifHasClassTag>
  -
  -         <XDtClass:ifHasClassTag tagName="javabean.property" paramName="bound" 
superclasses="false">descriptor.setBound(<XDtClass:classTagValue 
tagName="javabean.property" paramName="bound" 
values="true,false"/>);</XDtClass:ifHasClassTag>
  -         <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="constrained" 
superclasses="false">descriptor.setConstrained(<XDtClass:classTagValue 
tagName="javabean.property" paramName="constrained" 
values="true,false"/>);</XDtClass:ifHasClassTag>
  -         <XDtClass:ifHasClassTag tagName="javabean.property" 
paramName="propertyEditor" 
superclasses="false">descriptor.setPropertyEditorClass(Class.forName("<XDtClass:classTagValue
 tagName="javabean.property" paramName="propertyEditor"/>"));</XDtClass:ifHasClassTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" paramName="expert" 
superclasses="false">descriptor.setExpert(<XDtMethod:methodTagValue 
tagName="javabean.property" paramName="expert" 
values="true,false"/>);</XDtMethod:ifHasMethodTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" paramName="hidden" 
superclasses="false">descriptor.setHidden(<XDtMethod:methodTagValue 
tagName="javabean.property" paramName="hidden" 
values="true,false"/>);</XDtMethod:ifHasMethodTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="preferred" 
superclasses="false">descriptor.setPreferred(XDtMethod:methodTagValue 
tagName="javabean.property" paramName="preferred" 
values="true,false"/>);</XDtMethod:ifHasMethodTag>
  +
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" paramName="bound" 
superclasses="false">descriptor.setBound(<XDtMethod:methodTagValue 
tagName="javabean.property" paramName="bound" 
values="true,false"/>);</XDtMethod:ifHasMethodTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="constrained" 
superclasses="false">descriptor.setConstrained(<XDtMethod:methodTagValue 
tagName="javabean.property" paramName="constrained" 
values="true,false"/>);</XDtMethod:ifHasMethodTag>
  +         <XDtMethod:ifHasMethodTag tagName="javabean.property" 
paramName="propertyEditor" 
superclasses="false">descriptor.setPropertyEditorClass(Class.forName("<XDtMethod:methodTagValue
 tagName="javabean.property" 
paramName="propertyEditor"/>"));</XDtMethod:ifHasMethodTag>
   
            descriptors.add(descriptor);
  -
  -         </XDtClass:forAllClassTags>
  +      </XDtMethod:ifHasMethodTag>
  +       </XDtMethod:forAllMethods>
   
            return (PropertyDescriptor[]) descriptors.toArray(new 
PropertyDescriptor[descriptors.size()]);
         }
         catch (Exception e)
         {
            // do not ignore, bomb politely so use has chance to discover what went 
wrong...
  +      // I know that this is suboptimal solution, but swallowing silently is
  +      // even worse... Propose better solution! 
         e.printStackTrace();
         }
         return null;
  
  
  


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to