ICEfaces
  1. ICEfaces
  2. ICE-5837

sparkle generator auto-inherit properties

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta2
    • Fix Version/s: 2.0-Beta2, 2.0.0
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      sparkle

      Description

      The generator currently has a nice feature where you can set the useTemplate field on a @Property annotation, to get the values for that property from a template class, to allow for greater re-use. Developers can use that in conjunction with the inherit field, to specify properties inherited from superclasses, which should be documented in the TLD, but which don't require code generation. It might be nice to have a mechanism where-by properties from superclasses are automatically used and inherited, unless specifically flagged to not be. There would be less redundancy in Meta classes.

      One way this could be implemented, would be to hand-code @Component annotated classes for all of the stock JSF UIComponent derived classes, each with the properties that they add. We could derive this info from the xml files we used for compat component metadata. These classes would describe their inheritance, so that the generator could walk up the inheritance tree, automatically adding relevant properties.

        Issue Links

          Activity

          Mark Collette created issue -
          Ken Fyten made changes -
          Field Original Value New Value
          Salesforce Case []
          Affects Version/s 2.0-Beta [ 10231 ]
          Affects Version/s 2.0-Alpha3 [ 10032 ]
          Mark Collette made changes -
          Link This issue blocks ICE-5931 [ ICE-5931 ]
          Hide
          Mark Collette added a comment -

          Examples of the classes to hand code annotated properties for, are:

          UIComponent
          UIComponentBase
          UIOutput
          UIInput
          UICommand

          UIPanel
          UIColumn
          UIData

          UIMessage
          UIMessages

          UISelectBoolean
          UISelectMany
          UISelectOne

          Show
          Mark Collette added a comment - Examples of the classes to hand code annotated properties for, are: UIComponent UIComponentBase UIOutput UIInput UICommand UIPanel UIColumn UIData UIMessage UIMessages UISelectBoolean UISelectMany UISelectOne
          Mark Collette made changes -
          Salesforce Case []
          Fix Version/s 2.0-Beta2 [ 10242 ]
          Affects Version/s 2.0-Beta2 [ 10242 ]
          Affects Version/s 2.0-Beta1 [ 10231 ]
          Assignee Arturo Zambrano [ artzambrano ]
          Ken Fyten made changes -
          Assignee Priority P1
          Ken Fyten made changes -
          Security Private [ 10001 ]
          Ken Fyten made changes -
          Salesforce Case []
          Assignee Arturo Zambrano [ artzambrano ] Mark Collette [ mark.collette ]
          Greg Dick made changes -
          Link This issue depends on ICE-5984 [ ICE-5984 ]
          Ken Fyten made changes -
          Link This issue duplicates ICE-5838 [ ICE-5838 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22236 Thu Aug 26 01:23:11 MDT 2010 art.zambrano ICE-5837 modified generator to work with enum types instead of boolean types; modified all @Property annotations in Meta classes to work with enum types
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButtonMeta.java
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/DefaultValueType.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Property.java
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Inherit.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetime/DateTimeMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetimeselector/DateTimeSelectorMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/logger/LoggerMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/behavior/ActionSourceBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/testComponent/TestComponentMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/RadioButtonMeta.java
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Required.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/ButtonGroupMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentHandlerArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuItemMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/inputFiles/InputFilesMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/slider/SliderMeta.java
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Expression.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/checkbox/CheckboxMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLinkMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/TagArtifact.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22272 Wed Sep 01 00:50:08 MDT 2010 art.zambrano ICE-5837 added capability of collecting fields of @Property annotations from the component class hierarchy
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/DefaultValueType.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/utils/PropertyValues.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Inherit.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Required.java
          Mark Collette made changes -
          Assignee Mark Collette [ mark.collette ] Arturo Zambrano [ artzambrano ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22273 Thu Sep 02 01:08:20 MDT 2010 art.zambrano ICE-5837 made all Meta classes extend from baseMeta
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetControllerMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetime/DateTimeMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetimeselector/DateTimeSelectorMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/logger/LoggerMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/testComponent/TestComponentMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/RadioButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/ButtonGroupMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuItemMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/inputFiles/InputFilesMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/slider/SliderMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/checkbox/CheckboxMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLinkMeta.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22274 Thu Sep 02 01:22:01 MDT 2010 art.zambrano ICE-5837 intermediate check in; @Property default values set to UNSET for enum fields; @Property fields are now auto-inherited from superclasses, but PropertyTemplate is still used; debug code and comments haven't been removed
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentHandlerArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/behavior/Behavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/TLDBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Property.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/TagArtifact.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22281 Fri Sep 03 16:12:29 MDT 2010 art.zambrano ICE-5837 removed occurrences of 'useTemplate' from Meta classes; removed usage of 'useTemplate' and PropertyTemplate class from the generator; added auto-inheritance of entire fields/properties from superclasses
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetime/DateTimeMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/logger/LoggerMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/RadioButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/testComponent/TestComponentMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/ButtonGroupMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuItemMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/checkbox/CheckboxMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLinkMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/GeneratorContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/TagArtifact.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22283 Mon Sep 06 21:26:22 MDT 2010 art.zambrano ICE-5837 added 'disinheritProperties' functionality and Inherit.LOCAL_PROPERTY behaviour
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Component.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22285 Wed Sep 08 02:51:52 MDT 2010 art.zambrano ICE-5837 avoid generating properties that are already found in parent classes; this fixes the problem of infinite calls from getId() to getClientId() and vice versa
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/utils/PropertyValues.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22318 Mon Sep 13 02:08:01 MDT 2010 art.zambrano ICE-5837 only generate delegating getter and setter methods if a @Property annotation only overrides javadocGet and/or javadocSet
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/utils/PropertyValues.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentArtifact.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22319 Mon Sep 13 03:21:53 MDT 2010 art.zambrano ICE-5837 disabled 'disinheritProperties' functionality; removed default 'handlerClass' value, which was com.icesoft.faces.component.facelets.IceComponentHandler
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Component.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22331 Mon Sep 13 23:20:55 MDT 2010 art.zambrano ICE-5837 renamed defaultValueIsStringLiteral to defaultValueType, and isMethodExpression to expression
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/utils/PropertyValues.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Property.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/testComponent/TestComponentMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/behavior/ActionSourceBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuItemMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentHandlerArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/inputFiles/InputFilesMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/slider/SliderMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLinkMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/TagArtifact.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22370 Fri Sep 17 03:20:09 MDT 2010 art.zambrano ICE-5837 renamed 'inherit' to 'implementation' in @Property annotation
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/utils/PropertyValues.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Property.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetime/DateTimeMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetimeselector/DateTimeSelectorMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/logger/LoggerMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/RadioButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/testComponent/TestComponentMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/ButtonGroupMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuItemMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/checkbox/CheckboxMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLinkMeta.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22442 Mon Sep 27 23:07:36 MDT 2010 art.zambrano ICE-5837 generator code clean up
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentHandlerArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/behavior/Behavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/ComponentContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/TLDBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/utils/PropertyValues.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Property.java
          Commit graph DEL /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Inherit.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/GeneratorContext.java
          Commit graph DEL /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/PropertyTemplate.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/TagArtifact.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/Component.java
          Mark Collette made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 2.0.0 [ 10230 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1

            People

            • Assignee:
              Arturo Zambrano
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: