<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    After today's meeting dedicated to this topic, we<br>
    <br>
    * Updated
<a class="moz-txt-link-freetext" href="https://docs.google.com/document/d/1F07dzjkAwupZ7-FusBP6OQXDkQzwwKqnqL7gEvw7nrc/edit#">https://docs.google.com/document/d/1F07dzjkAwupZ7-FusBP6OQXDkQzwwKqnqL7gEvw7nrc/edit#</a><br>
    <br>
    * Created <a class="moz-txt-link-freetext" href="https://issues.jboss.org/browse/WINDUP-520">https://issues.jboss.org/browse/WINDUP-520</a><br>
    <br>
    * Split these t<span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">asks:</span>
    <meta charset="utf-8">
    <ol style="margin-top:0pt;margin-bottom:0pt;">
      <li dir="ltr"
style="list-style-type:decimal;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
        <p dir="ltr"
          style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Implement
            categories / fix the PR - Ondra</span></p>
      </li>
      <li dir="ltr"
style="list-style-type:decimal;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
        <p dir="ltr"
          style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Metadata
            API - Lincoln</span></p>
      </li>
      <li dir="ltr"
style="list-style-type:decimal;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
        <p dir="ltr"
          style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Filtering
            and selection (UI) - Jess</span></p>
      </li>
      <li dir="ltr"
style="list-style-type:decimal;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">XML
          handlers to actually define rules metadata in XML - Matej?</span></li>
    </ol>
    <br>
    <br>
    The rest inline.<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 19.2.2015 23:12, Lincoln Baxter, III
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hey Ondra,
        <div><br>
        </div>
        <div>For now, let's continue using Rule objects as Contexts.
          Once the prototype is working and tested, we can look at ways
          to add a real API onto the Rule objects (or possibly add some
          indirection or abstraction.)</div>
      </div>
    </blockquote>
    +1, step-by-step, no rushing :) But eventually. ;-)<br>
    <blockquote
cite="mid:CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Keep in mind that you shouldn't be focused too much on the
          individual Rule objects, you probably should be focused on the
          Rule Providers that they are loaded from (since we do most of
          our filtering on the RuleProviders themselves, not on the
          rules.) I would be a lot more willing to change the
          RuleProvider API to add the getMetadata() method that you are
          looking for than I would be changing the Rule API in Rewrite.</div>
      </div>
    </blockquote>
    Right, rules themselves won't probably have much specific metadata
    for now. They will rather "inherit" from the higher structures.<br>
    <br>
    --<br>
    Ondra<br>
    <br>
    <blockquote
cite="mid:CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>~Lincoln</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Thu, Feb 19, 2015 at 8:55 AM, Ondrej
          Zizka <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:ozizka@redhat.com" target="_blank">ozizka@redhat.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
            <br>
            I am working on the categories.<br>
            I think we all agree that this should have a nice API since
            every rule<br>
            will work with that, directly or indirectly.<br>
            We will get more metadata, and "hiding" them into various
            places,<br>
            untyped hashmaps of lists of strings, really seems like a
            bad way to do it.<br>
            <br>
            After some work on the subject, I think we should abandon
            the current<br>
            unfortunate approach of Rules acting like a map through
            being a Rule and<br>
            Context at the same time, needing conditional retyping. And
            the other<br>
            way of overriding methods like enhanceMetadata() is not
            fortunate either<br>
            as every subclass needs to be aware of what's going on in
            the superclasses.<br>
            <br>
            Instead, we should follow the *conventions*, take the
            *standard*<br>
            approach, and let Rules have a normal getMetadata(), which
            would return<br>
            an object with all the metadata at one place. This could be
            subclassed<br>
            to match the needs of individual addons but provide
            type-safe and<br>
            easy-to-use API for shared metadata.<br>
            <br>
            getPhase(), getExecute*(), getCategories() etc. could<br>
            a) still return what they return, being executed by the
            loader as now,<br>
            and put to that object, or<br>
            b) let the rule initialize this object in rule's init()
            (which we don't<br>
            have) or a construtor;<br>
                   I would drop get*() but we could tunel them to that
            object for<br>
            backwards compatibility.<br>
            <br>
            I think this goes beyond the scope of Windup and would need
            a rewrite of<br>
            Rewrite (well, not real rewrite, but I liked the pun :).<br>
            <br>
            Other option is to keep scattering metadata in various
            places, untyped<br>
            hashmaps of lists of strings. Not recommended.<br>
            <br>
            WDYT?<br>
            Ondra<br>
            _______________________________________________<br>
            windup-dev mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:windup-dev@lists.jboss.org">windup-dev@lists.jboss.org</a><br>
            <a moz-do-not-send="true"
              href="https://lists.jboss.org/mailman/listinfo/windup-dev"
              target="_blank">https://lists.jboss.org/mailman/listinfo/windup-dev</a><br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div class="gmail_signature">Lincoln Baxter, III<br>
          <a moz-do-not-send="true" href="http://ocpsoft.org"
            target="_blank">http://ocpsoft.org</a><br>
          "Simpler is better."</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
windup-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:windup-dev@lists.jboss.org">windup-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/windup-dev">https://lists.jboss.org/mailman/listinfo/windup-dev</a></pre>
    </blockquote>
    <br>
  </body>
</html>