Details

    • Type: New Feature
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Rice Module:
      KRAD
    • KRAD Feature Area:
      Persistence Framework
    • Application Requirement:
      KFS, KC, Rice
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      In, Rice, KC, and other projects it is pretty typical to create generic attribute configurations in the DD and then inherit from those beans in many DD files. This is a way to reuse configuration so that you don't have to type so much xml.

      In KFS, examples of this would be in GenericAttributes.xml & KfsBaseAttributeDefinitions.xml as well as many other places.

      The new annotation based configuration creates the same sort of problem and so we should have a mechanism for reuse.

      I believe we should do something similar to http://java.dzone.com/articles/avoid-spring-annotation-code-smell-use-spring3-custom-annotations

      for the Uif annotations.

      For example: let's say KC wants to support the following configuration all over the place.

      @UifDisplayHints({
        @UifDisplayHint(value=UifDisplayHintType.NO_LOOKUP_RESULT)
        , @UifDisplayHint(value=UifDisplayHintType.NO_LOOKUP_CRITERIA)
        , @UifDisplayHint(value=UifDisplayHintType.NO_INQUIRY)
      })
      protected String startTime;
      
              
      @UifDisplayHints({
        @UifDisplayHint(value=UifDisplayHintType.NO_LOOKUP_RESULT)
        , @UifDisplayHint(value=UifDisplayHintType.NO_LOOKUP_CRITERIA)
        , @UifDisplayHint(value=UifDisplayHintType.NO_INQUIRY)
      })
      protected String endTime;
      

      One option is for rice to support a convenient annotation with this configuration, but this wont always make sense.

      What I would suggest is the ability to do the following:

      @Target({ ElementType.FIELD, ElementType.METHOD })
      @Retention(RetentionPolicy.RUNTIME)
      @Documented
      @UifDisplayHints({
        @UifDisplayHint(value=UifDisplayHintType.NO_LOOKUP_RESULT)
        , @UifDisplayHint(value=UifDisplayHintType.NO_LOOKUP_CRITERIA)
        , @UifDisplayHint(value=UifDisplayHintType.NO_INQUIRY)
      })
      public @interface NoLookupInquiry {
      }
      

      Then it would look like:

      @NoLookupInquiry
      protected String startTime;
      
              
      @NoLookupInquiry
      protected String endTime;
      

        Attachments

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              jkeller Jonathan Keller
              Reporter:
              tschneeb Travis Schneeberger
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: