From vivek.katta at 10wickets.com Thu Sep 1 14:48:56 2011 Content-Type: multipart/mixed; boundary="===============5069267239464282316==" MIME-Version: 1.0 From: vivekkatta To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Solder MessageLogger and IllegalArgumentException Date: Thu, 01 Sep 2011 11:48:55 -0700 Message-ID: <1314902935129-3784467.post@n4.nabble.com> In-Reply-To: 31B8398A-1CB5-464B-A26A-B64D56659409@gmail.com --===============5069267239464282316== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I am facing the same problem. Can you please provide more details on setting up seam-solder-tools? thanks.. -- View this message in context: http://seam-framework.2283336.n4.nabble.com/S= older-MessageLogger-and-IllegalArgumentException-tp3715296p3784467.html Sent from the seam-dev mailing list archive at Nabble.com. --===============5069267239464282316==-- From sbryzak at redhat.com Thu Sep 1 19:15:09 2011 Content-Type: multipart/mixed; boundary="===============3189034575439330565==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 09:15:06 +1000 Message-ID: <4E6011FA.7010607@redhat.com> In-Reply-To: 4E5DB50C.3030409@redhat.com --===============3189034575439330565== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Guys, I need a yea or nay on this for your module. On 31/08/11 14:14, Shane Bryzak wrote: > Module leads, > > Can you please review the list below and confirm that the documentation > chapters are correct for your module. Also, I would like everyone to > take a moment to review the module documentation guidelines, as there > were a number of breakages in the bundled documentation build because > the guidelines weren't adhered to, particularly in the new modules for > Seam 3.1: > > 1) Always prefix the filenames of your documentation chapters with the > name of your module. E.g. security-authentication.xml, > security-authorization.xml, etc. > > 2) Whenever you assign an ID to a docbook element, such as a > or
, ALWAYS prefix the id with your module name. For example, > or
id=3D"security-getting-started">. As all of the chapters for all modules > are combined when building the bundled documentation, all IDs must be > unique. This is a particularly time consuming problem to fix because > the error output from the Maven docbook plugin doesn't tell you which > files are the problem ones. > > 3) When adding, renaming or deleting a chapter of your documentation, > please notify me of the changes so that I can update > bundled_master.xml. This file must be manually kept up to date whenever > any documentation changes are made. > > Thanks, > Shane > > > > "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> > > > > > Seam 3 > Bundled Reference Guide > > > > > > Forge > > > > > > > > Seam Solder > > > > > > > > > > > > > > > > > > > Seam Configuration > > > > > > Seam Persistence > > > > > Seam Transaction > > > > > Seam Servlet > > > > > > > > > > Seam Security > > > > > > > > > Seam International > > > > > > > > > Seam Faces > > > > > > > > > > > Seam Catch > > > > > > > > > > Seam Reports > > > > > > > Seam Remoting > > > > > > > Seam REST > > > > > > > > > > > Seam JCR > > > > > > > > > Seam JMS > > > > > > > > > > Seam Validation > > > > > > > > Seam Wicket > > > > > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============3189034575439330565==-- From gegastaldi at gmail.com Thu Sep 1 19:31:42 2011 Content-Type: multipart/mixed; boundary="===============2212380556729274340==" MIME-Version: 1.0 From: George Gastaldi To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Thu, 01 Sep 2011 20:31:25 -0300 Message-ID: <-7880943549841437954@unknownmsgid> In-Reply-To: 4E6011FA.7010607@redhat.com --===============2212380556729274340== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Shane, I still couldn't review the docs on Seam Reports, so I guess thats a nay fo= r me. Regards, George Em 01/09/2011, =C3=A0s 20:15, Shane Bryzak escreveu: > Guys, I need a yea or nay on this for your module. > > On 31/08/11 14:14, Shane Bryzak wrote: >> Module leads, >> >> Can you please review the list below and confirm that the documentation >> chapters are correct for your module. Also, I would like everyone to >> take a moment to review the module documentation guidelines, as there >> were a number of breakages in the bundled documentation build because >> the guidelines weren't adhered to, particularly in the new modules for >> Seam 3.1: >> >> 1) Always prefix the filenames of your documentation chapters with the >> name of your module. E.g. security-authentication.xml, >> security-authorization.xml, etc. >> >> 2) Whenever you assign an ID to a docbook element, such as a >> or
, ALWAYS prefix the id with your module name. For example, >> or
> id=3D"security-getting-started">. As all of the chapters for all modules >> are combined when building the bundled documentation, all IDs must be >> unique. This is a particularly time consuming problem to fix because >> the error output from the Maven docbook plugin doesn't tell you which >> files are the problem ones. >> >> 3) When adding, renaming or deleting a chapter of your documentation, >> please notify me of the changes so that I can update >> bundled_master.xml. This file must be manually kept up to date whenever >> any documentation changes are made. >> >> Thanks, >> Shane >> >> >> >> > "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> >> >> >> >> >> Seam 3 >> Bundled Reference Guide >> >> >> >> >> >> Forge >> >> >> >> >> >> >> >> Seam Solder >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Seam Configuration >> >> >> >> >> >> Seam Persistence >> >> >> >> >> Seam Transaction >> >> >> >> >> Seam Servlet >> >> >> >> >> >> >> >> >> >> Seam Security >> >> >> >> >> >> >> >> >> Seam International >> >> >> >> >> >> >> >> >> Seam Faces >> >> >> >> >> >> >> >> >> >> >> Seam Catch >> >> >> >> >> >> >> >> >> >> Seam Reports >> >> >> >> >> >> >> Seam Remoting >> >> >> >> >> >> >> Seam REST >> >> >> >> >> >> >> >> >> >> >> Seam JCR >> >> >> >> >> >> >> >> >> Seam JMS >> >> >> >> >> >> >> >> >> >> Seam Validation >> >> >> >> >> >> >> >> Seam Wicket >> >> >> >> >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============2212380556729274340==-- From lightguard.jp at gmail.com Thu Sep 1 19:32:58 2011 Content-Type: multipart/mixed; boundary="===============7272605875964634028==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Thu, 01 Sep 2011 17:32:36 -0600 Message-ID: In-Reply-To: -7880943549841437954@unknownmsgid --===============7272605875964634028== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Catch should be fine. On Thu, Sep 1, 2011 at 17:31, George Gastaldi wrot= e: > Hi Shane, > > I still couldn't review the docs on Seam Reports, so I guess thats a nay > for me. > > Regards, > > George > > Em 01/09/2011, =C3=A0s 20:15, Shane Bryzak escreve= u: > > > Guys, I need a yea or nay on this for your module. > > > > On 31/08/11 14:14, Shane Bryzak wrote: > >> Module leads, > >> > >> Can you please review the list below and confirm that the documentation > >> chapters are correct for your module. Also, I would like everyone to > >> take a moment to review the module documentation guidelines, as there > >> were a number of breakages in the bundled documentation build because > >> the guidelines weren't adhered to, particularly in the new modules for > >> Seam 3.1: > >> > >> 1) Always prefix the filenames of your documentation chapters with the > >> name of your module. E.g. security-authentication.xml, > >> security-authorization.xml, etc. > >> > >> 2) Whenever you assign an ID to a docbook element, such as a > >> or
, ALWAYS prefix the id with your module name. For example, > >> or
>> id=3D"security-getting-started">. As all of the chapters for all modu= les > >> are combined when building the bundled documentation, all IDs must be > >> unique. This is a particularly time consuming problem to fix because > >> the error output from the Maven docbook plugin doesn't tell you which > >> files are the problem ones. > >> > >> 3) When adding, renaming or deleting a chapter of your documentation, > >> please notify me of the changes so that I can update > >> bundled_master.xml. This file must be manually kept up to date whenev= er > >> any documentation changes are made. > >> > >> Thanks, > >> Shane > >> > >> > >> > >> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> > >> > >> > >> > >> > >> Seam 3 > >> Bundled Reference Guide > >> > >> > >> > >> > >> > >> Forge > >> > >> > >> > >> > >> > >> > >> > >> Seam Solder > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Configuration > >> > >> > >> > >> > >> > >> Seam Persistence > >> > >> > >> > >> > >> Seam Transaction > >> > >> > >> > >> > >> Seam Servlet > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Security > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam International > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Faces > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Catch > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Reports > >> > >> > >> > >> > >> > >> > >> Seam Remoting > >> > >> > >> > >> > >> > >> > >> Seam REST > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam JCR > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam JMS > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Validation > >> > >> > >> > >> > >> > >> > >> > >> Seam Wicket > >> > >> > >> > >> > >> > >> > >> _______________________________________________ > >> seam-dev mailing list > >> seam-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/seam-dev > > > > _______________________________________________ > > seam-dev mailing list > > seam-dev(a)lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/seam-dev > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============7272605875964634028== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" Q2F0Y2ggc2hvdWxkIGJlIGZpbmUuPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24g VGh1LCBTZXAgMSwgMjAxMSBhdCAxNzozMSwgR2VvcmdlIEdhc3RhbGRpIDxzcGFuIGRpcj0ibHRy Ij4mbHQ7PGEgaHJlZj0ibWFpbHRvOmdlZ2FzdGFsZGlAZ21haWwuY29tIj5nZWdhc3RhbGRpQGdt YWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWls X3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29s aWQ7cGFkZGluZy1sZWZ0OjFleDsiPgoKSGkgU2hhbmUsPGJyPgo8YnI+Ckkgc3RpbGwgY291bGRu JiMzOTt0IHJldmlldyB0aGUgZG9jcyBvbiBTZWFtIFJlcG9ydHMsIHNvIEkgZ3Vlc3MgdGhhdHMg YSBuYXkgZm9yIG1lLjxicj4KPGJyPgpSZWdhcmRzLDxicj4KPGJyPgpHZW9yZ2U8YnI+Cjxicj4K RW0gMDEvMDkvMjAxMSwgw6BzIDIwOjE1LCBTaGFuZSBCcnl6YWsgJmx0OzxhIGhyZWY9Im1haWx0 bzpzYnJ5emFrQHJlZGhhdC5jb20iPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7IGVzY3JldmV1 Ojxicj4KPGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij48YnI+CiZndDsgR3V5cywgSSBu ZWVkIGEgeWVhIG9yIG5heSBvbiB0aGlzIGZvciB5b3VyIG1vZHVsZS48YnI+CiZndDs8YnI+CiZn dDsgT24gMzEvMDgvMTEgMTQ6MTQsIFNoYW5lIEJyeXphayB3cm90ZTo8YnI+CiZndDsmZ3Q7IE1v ZHVsZSBsZWFkcyw8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyBDYW4geW91IHBsZWFzZSByZXZp ZXcgdGhlIGxpc3QgYmVsb3cgYW5kIGNvbmZpcm0gdGhhdCB0aGUgZG9jdW1lbnRhdGlvbjxicj4K Jmd0OyZndDsgY2hhcHRlcnMgYXJlIGNvcnJlY3QgZm9yIHlvdXIgbW9kdWxlLiDCoEFsc28sIEkg d291bGQgbGlrZSBldmVyeW9uZSB0bzxicj4KJmd0OyZndDsgdGFrZSBhIG1vbWVudCB0byByZXZp ZXcgdGhlIG1vZHVsZSBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMsIGFzIHRoZXJlPGJyPgomZ3Q7 Jmd0OyB3ZXJlIGEgbnVtYmVyIG9mIGJyZWFrYWdlcyBpbiB0aGUgYnVuZGxlZCBkb2N1bWVudGF0 aW9uIGJ1aWxkIGJlY2F1c2U8YnI+CiZndDsmZ3Q7IHRoZSBndWlkZWxpbmVzIHdlcmVuJiMzOTt0 IGFkaGVyZWQgdG8sIHBhcnRpY3VsYXJseSBpbiB0aGUgbmV3IG1vZHVsZXMgZm9yPGJyPgomZ3Q7 Jmd0OyBTZWFtIDMuMTo8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAxKSBBbHdheXMgcHJlZml4 IHRoZSBmaWxlbmFtZXMgb2YgeW91ciBkb2N1bWVudGF0aW9uIGNoYXB0ZXJzIHdpdGggdGhlPGJy PgomZ3Q7Jmd0OyBuYW1lIG9mIHlvdXIgbW9kdWxlLiDCoEUuZy4gc2VjdXJpdHktYXV0aGVudGlj YXRpb24ueG1sLDxicj4KJmd0OyZndDsgc2VjdXJpdHktYXV0aG9yaXphdGlvbi54bWwsIGV0Yy48 YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAyKSBXaGVuZXZlciB5b3UgYXNzaWduIGFuIElEIHRv IGEgZG9jYm9vayBlbGVtZW50LCBzdWNoIGFzIGEmbHQ7Y2hhcHRlciZndDs8YnI+CiZndDsmZ3Q7 IG9yJmx0O3NlY3Rpb24mZ3Q7LCBBTFdBWVMgcHJlZml4IHRoZSBpZCB3aXRoIHlvdXIgbW9kdWxl IG5hbWUuIMKgRm9yIGV4YW1wbGUsPGJyPgomZ3Q7Jmd0OyAmbHQ7Y2hhcHRlciBpZD0mcXVvdDtz ZWN1cml0eS1pbnRyb2R1Y3Rpb24mcXVvdDsmZ3Q7IMKgb3ImbHQ7c2VjdGlvbjxicj4KJmd0OyZn dDsgaWQ9JnF1b3Q7c2VjdXJpdHktZ2V0dGluZy1zdGFydGVkJnF1b3Q7Jmd0Oy4gwqBBcyBhbGwg b2YgdGhlIGNoYXB0ZXJzIGZvciBhbGwgbW9kdWxlczxicj4KJmd0OyZndDsgYXJlIGNvbWJpbmVk IHdoZW4gYnVpbGRpbmcgdGhlIGJ1bmRsZWQgZG9jdW1lbnRhdGlvbiwgYWxsIElEcyBtdXN0IGJl PGJyPgomZ3Q7Jmd0OyB1bmlxdWUuIMKgVGhpcyBpcyBhIHBhcnRpY3VsYXJseSB0aW1lIGNvbnN1 bWluZyBwcm9ibGVtIHRvIGZpeCBiZWNhdXNlPGJyPgomZ3Q7Jmd0OyB0aGUgZXJyb3Igb3V0cHV0 IGZyb20gdGhlIE1hdmVuIGRvY2Jvb2sgcGx1Z2luIGRvZXNuJiMzOTt0IHRlbGwgeW91IHdoaWNo PGJyPgomZ3Q7Jmd0OyBmaWxlcyBhcmUgdGhlIHByb2JsZW0gb25lcy48YnI+CiZndDsmZ3Q7PGJy PgomZ3Q7Jmd0OyAzKSBXaGVuIGFkZGluZywgcmVuYW1pbmcgb3IgZGVsZXRpbmcgYSBjaGFwdGVy IG9mIHlvdXIgZG9jdW1lbnRhdGlvbiw8YnI+CiZndDsmZ3Q7IHBsZWFzZSBub3RpZnkgbWUgb2Yg dGhlIGNoYW5nZXMgc28gdGhhdCBJIGNhbiB1cGRhdGU8YnI+CiZndDsmZ3Q7IGJ1bmRsZWRfbWFz dGVyLnhtbC4gwqBUaGlzIGZpbGUgbXVzdCBiZSBtYW51YWxseSBrZXB0IHVwIHRvIGRhdGUgd2hl bmV2ZXI8YnI+CiZndDsmZ3Q7IGFueSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgYXJlIG1hZGUuPGJy PgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgVGhhbmtzLDxicj4KJmd0OyZndDsgU2hhbmU8YnI+CiZn dDsmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0Oz94bWwgdmVyc2lvbj0mIzM5OzEu MCYjMzk7IGVuY29kaW5nPSZxdW90O3V0Zi04JnF1b3Q7PyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsh RE9DVFlQRSBib29rIFBVQkxJQyAmcXVvdDstLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjUv L0VOJnF1b3Q7PGJyPgomZ3Q7Jmd0OyDCoCDCoCAmcXVvdDs8YSBocmVmPSJodHRwOi8vd3d3Lm9h c2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQiIHRhcmdldD0iX2JsYW5r Ij5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQ8 L2E+JnF1b3Q7IMKgWyBdJmd0Ozxicj4KJmd0OyZndDsgJmx0O2Jvb2sgbGFuZz0mcXVvdDtlbiZx dW90OyB4bWxuczp4aT0mcXVvdDs8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNs dWRlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZTwvYT4m cXVvdDsmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RvYyAvJmd0Ozxicj4KJmd0 OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIDMmbHQ7L3RpdGxlJmd0Ozxicj4K Jmd0OyZndDsgJmx0O3N1YnRpdGxlJmd0O0J1bmRsZWQgUmVmZXJlbmNlIEd1aWRlJmx0Oy9zdWJ0 aXRsZSZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZx dW90O2J1bmRsZWRfY3JlZGl0cy54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0mcXVvdDtidW5kbGVkX2ludHJvLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0 Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7Rm9y Z2UmbHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtm b3JnZS1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtmb3JnZS1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ZvcmdlLWNyZWF0aW5nLWJhc2ljLXdlYmFwcC54 bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7Zm9y Z2UtcGx1Z2luLWRldi54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8 YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0 aXRsZSZndDtTZWFtIFNvbGRlciZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZSBocmVmPSZxdW90O3NvbGRlci1wcmVmYWNlLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1nZXR0aW5nc3RhcnRlZC54bWwmcXVv dDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItcHJv Z3JhbW1pbmdtb2RlbC54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtzb2xkZXItYW5ub3RhdGlvbmxpdGVyYWxzLnhtbCZxdW90Oy8mZ3Q7PGJyPgom Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1lbGV4dGVuc2lvbnMueG1s JnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c29sZGVy LXJlc291cmNlbG9hZGluZy54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUgaHJlZj0mcXVvdDtzb2xkZXItbG9nZ2luZy54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItdHlwZXV0aWxpdGllcy54bWwmcXVvdDsv Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItYmVhbm1h bmFnZXJwcm92aWRlci54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtzb2xkZXItYmVhbnV0aWxpdGllcy54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItcHJvcGVydGllcy54bWwmcXVvdDsv Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItdW53cmFw cy54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtz b2xkZXItZGVmYXVsdGJlYW5zLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZSBocmVmPSZxdW90O3NvbGRlci1nZW5lcmljYmVhbnMueG1sJnF1b3Q7LyZndDs8YnI+CiZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c29sZGVyLXNlcnZpY2VoYW5kbGVyLnht bCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4K Jmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBDb25m aWd1cmF0aW9uJmx0Oy90aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9 JnF1b3Q7Y29uZmlnLWludHJvZHVjdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtjb25maWcteG1sLXByb3ZpZGVyLnhtbCZxdW90Oy8mZ3Q7 PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0 O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBQZXJzaXN0ZW5jZSZsdDsv dGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3BlcnNpc3Rl bmNlLWdlbmVyYWwueG1sJnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+ CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRs ZSZndDtTZWFtIFRyYW5zYWN0aW9uJmx0Oy90aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlIGhyZWY9JnF1b3Q7dHJhbnNhY3Rpb24tZ2VuZXJhbC54bWwmcXVvdDsvJmd0Ozxicj4K Jmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDtwYXJ0 Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gU2VydmxldCZsdDsvdGl0bGUmZ3Q7 PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NlcnZsZXQtaW50cm9kdWN0 aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90 O3NlcnZsZXQtaW5zdGFsbGF0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSZxdW90O3NlcnZsZXQtZXZlbnRzLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NlcnZsZXQtaW5qZWN0YWJsZV9yZWZzLnht bCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NlcnZs ZXQtZXhjZXB0aW9uX2hhbmRsaW5nLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUgaHJlZj0mcXVvdDtzZXJ2bGV0LWJlYW5tYW5hZ2VyLnhtbCZxdW90Oy8mZ3Q7PGJy PgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3Bh cnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBTZWN1cml0eSZsdDsvdGl0bGUm Z3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NlY3VyaXR5LWludHJv ZHVjdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0m cXVvdDtzZWN1cml0eS1hdXRoZW50aWNhdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzZWN1cml0eS1pZGVudGl0eW1hbmFnZW1lbnQueG1s JnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c2VjdXJp dHktYXV0aGVudGljYXRpb24tZXh0ZXJuYWwueG1sJnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c2VjdXJpdHktYXV0aG9yaXphdGlvbi54bWwmcXVvdDsv Jmd0Ozxicj4KJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7 ICZsdDtwYXJ0Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gSW50ZXJuYXRpb25h bCZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2lu dGVybmF0aW9uYWwtcHJlZmFjZS54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlIGhyZWY9JnF1b3Q7aW50ZXJuYXRpb25hbC1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8m Z3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ludGVybmF0aW9uYWwt bG9jYWxlcy54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9 JnF1b3Q7aW50ZXJuYXRpb25hbC10aW1lem9uZXMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ludGVybmF0aW9uYWwtbWVzc2FnZXMueG1sJnF1 b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0 OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBGYWNlcyZs dDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ZhY2Vz LXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVm PSZxdW90O2ZhY2VzLWluc3RhbGxhdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7ZmFjZXMtZXZlbnRzLnhtbCZxdW90OyAvJmd0Ozxicj4K Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtmYWNlcy1zY29wZXMueG1sJnF1b3Q7 IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ZhY2VzLW1lc3Nh Z2VzLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVv dDtmYWNlcy1hcnRpZmFjdHMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZSBocmVmPSZxdW90O2ZhY2VzLWNvbXBvbmVudHMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7 Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7 PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBDYXRjaCZsdDsvdGl0bGUmZ3Q7PGJyPgom Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2NhdGNoLWludHJvZHVjdGlvbi54bWwm cXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtjYXRjaC1p bnN0YWxsYXRpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhy ZWY9JnF1b3Q7Y2F0Y2gtY2xpZW50X3VzYWdlLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2NhdGNoLWFkdmFuY2VkX3VzYWdlLnhtbCZxdW90Oy8m Z3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2NhdGNoLWludGVncmF0 aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90 O2NhdGNoLWdsb3NzYXJ5LnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7 PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7 dGl0bGUmZ3Q7U2VhbSBSZXBvcnRzJmx0Oy90aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlIGhyZWY9JnF1b3Q7cmVwb3J0cy1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtyZXBvcnRzLWluc3RhbGxhdGlvbi54bWwm cXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7cmVwb3J0 cy11c2FnZS54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiZn dDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZn dDtTZWFtIFJlbW90aW5nJmx0Oy90aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl IGhyZWY9JnF1b3Q7cmVtb3RpbmctZ2VuZXJhbC54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtyZW1vdGluZy1tb2RlbC54bWwmcXVvdDsvJmd0Ozxi cj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtyZW1vdGluZy12YWxpZGF0aW9u LnhtbCZxdW90Oy8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxi cj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBS RVNUJmx0Oy90aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7 cmVzdC1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtyZXN0LWluc3RhbGxhdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7cmVzdC1leGNlcHRpb24tbWFwcGluZy54bWwmcXVv dDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7cmVzdC12YWxp ZGF0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0m cXVvdDtyZXN0LXRlbXBsYXRpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSZxdW90O3Jlc3QtY2xpZW50LnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtyZXN0LWRlcGVuZGVuY2llcy54bWwmcXVvdDsg LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0 OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIEpDUiZsdDsvdGl0 bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2pjci1pbnRyb2R1 Y3Rpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZx dW90O2pjci1tb2Rlc2hhcGUueG1sJnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNs dWRlIGhyZWY9JnF1b3Q7amNyLWphY2tyYWJiaXQueG1sJnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7amNyLWV2ZW50LW1hcHBpbmcueG1sJnF1b3Q7LyZn dDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7amNyLW9jbS54bWwmcXVv dDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsm Z3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gSk1TJmx0Oy90 aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7am1zLWludHJv LnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtq bXMtaW5zdGFsbGF0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUgaHJlZj0mcXVvdDtqbXMtcmVzb3VyY2UtaW5qZWN0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4K Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtqbXMtbWVzc2FnaW5nLnhtbCZxdW90 OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtqbXMtcm91dGlu Zy54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7 am1zLW1hcHBpbmctaW50ZXJmYWNlcy54bWwmcXVvdDsgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsv cGFydCZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsm Z3Q7ICZsdDt0aXRsZSZndDtTZWFtIFZhbGlkYXRpb24mbHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDt2YWxpZGF0aW9uLWludHJvZHVjdGlvbi54bWwm cXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDt2YWxpZGF0 aW9uLWluc3RhbGxhdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUgaHJlZj0mcXVvdDt2YWxpZGF0aW9uLWRlcGVuZGVuY3ktaW5qZWN0aW9uLnhtbCZxdW90Oy8m Z3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3ZhbGlkYXRpb24tbWV0 aG9kLXZhbGlkYXRpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8 YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0 aXRsZSZndDtTZWFtIFdpY2tldCZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZSBocmVmPSZxdW90O3dpY2tldC1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4KJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDt3aWNrZXQtaW5zdGFsbGF0aW9uLnhtbCZxdW90 OyAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDt3aWNrZXQtZmVh dHVyZXMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7 Jmd0Ozxicj4KJmd0OyZndDsgJmx0Oy9ib29rJmd0Ozxicj4KJmd0OyZndDsgX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CiZndDsmZ3Q7IHNlYW0tZGV2 IG1haWxpbmcgbGlzdDxicj4KJmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3Rz Lmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KJmd0OyZndDsgPGEg aHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIg dGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8v c2VhbS1kZXY8L2E+PGJyPgomZ3Q7PGJyPgomZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7IHNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4K Jmd0OyA8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIj5zZWFtLWRldkBs aXN0cy5qYm9zcy5vcmc8L2E+PGJyPgomZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mu b3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjxicj4KPGJyPgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4Kc2VhbS1kZXYg bWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3Jn Ij5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0 cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+Cjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJy PjwvZGl2Pi0tIDxicj5KYXNvbiBQb3J0ZXI8YnI+PGEgaHJlZj0iaHR0cDovL2xpZ2h0Z3VhcmQt anAuYmxvZ3Nwb3QuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxv Z3Nwb3QuY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpw IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcDwvYT48YnI+ Cgo8YnI+U29mdHdhcmUgRW5naW5lZXI8YnI+T3BlbiBTb3VyY2UgQWR2b2NhdGU8YnI+QXV0aG9y IG9mIFNlYW0gQ2F0Y2ggLSBOZXh0IEdlbmVyYXRpb24gSmF2YSBFeGNlcHRpb24gSGFuZGxpbmc8 YnI+PGJyPlBHUCBrZXkgaWQ6IDkyNkNDRkY1PGJyPlBHUCBrZXkgYXZhaWxhYmxlIGF0OiA8YSBo cmVmPSJodHRwOi8va2V5c2VydmVyLm5ldCIgdGFyZ2V0PSJfYmxhbmsiPmtleXNlcnZlci5uZXQ8 L2E+LCA8YSBocmVmPSJodHRwOi8vcGdwLm1pdC5lZHUiIHRhcmdldD0iX2JsYW5rIj5wZ3AubWl0 LmVkdTwvYT48YnI+CgoK --===============7272605875964634028==-- From ken at kenfinnigan.me Thu Sep 1 19:46:43 2011 Content-Type: multipart/mixed; boundary="===============6665320198721542080==" MIME-Version: 1.0 From: Ken Finnigan To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Thu, 01 Sep 2011 19:46:35 -0400 Message-ID: In-Reply-To: CAF9TksPuEWC05ZXCJKeXdwhbL1dcOphVf7OeKxrZTTKxgc1_Fg@mail.gmail.com --===============6665320198721542080== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable International should be good Sent from my iPhone On Sep 1, 2011, at 19:32, Jason Porter wrote: > Catch should be fine. > = > On Thu, Sep 1, 2011 at 17:31, George Gastaldi wr= ote: > Hi Shane, > = > I still couldn't review the docs on Seam Reports, so I guess thats a nay = for me. > = > Regards, > = > George > = > Em 01/09/2011, =C3=A0s 20:15, Shane Bryzak escreve= u: > = > > Guys, I need a yea or nay on this for your module. > > > > On 31/08/11 14:14, Shane Bryzak wrote: > >> Module leads, > >> > >> Can you please review the list below and confirm that the documentation > >> chapters are correct for your module. Also, I would like everyone to > >> take a moment to review the module documentation guidelines, as there > >> were a number of breakages in the bundled documentation build because > >> the guidelines weren't adhered to, particularly in the new modules for > >> Seam 3.1: > >> > >> 1) Always prefix the filenames of your documentation chapters with the > >> name of your module. E.g. security-authentication.xml, > >> security-authorization.xml, etc. > >> > >> 2) Whenever you assign an ID to a docbook element, such as a > >> or
, ALWAYS prefix the id with your module name. For example, > >> or
>> id=3D"security-getting-started">. As all of the chapters for all modu= les > >> are combined when building the bundled documentation, all IDs must be > >> unique. This is a particularly time consuming problem to fix because > >> the error output from the Maven docbook plugin doesn't tell you which > >> files are the problem ones. > >> > >> 3) When adding, renaming or deleting a chapter of your documentation, > >> please notify me of the changes so that I can update > >> bundled_master.xml. This file must be manually kept up to date whenev= er > >> any documentation changes are made. > >> > >> Thanks, > >> Shane > >> > >> > >> > >> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> > >> > >> > >> > >> > >> Seam 3 > >> Bundled Reference Guide > >> > >> > >> > >> > >> > >> Forge > >> > >> > >> > >> > >> > >> > >> > >> Seam Solder > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Configuration > >> > >> > >> > >> > >> > >> Seam Persistence > >> > >> > >> > >> > >> Seam Transaction > >> > >> > >> > >> > >> Seam Servlet > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Security > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam International > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Faces > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Catch > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Reports > >> > >> > >> > >> > >> > >> > >> Seam Remoting > >> > >> > >> > >> > >> > >> > >> Seam REST > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam JCR > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam JMS > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Seam Validation > >> > >> > >> > >> > >> > >> > >> > >> Seam Wicket > >> > >> > >> > >> > >> > >> > >> _______________________________________________ > >> seam-dev mailing list > >> seam-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/seam-dev > > > > _______________________________________________ > > seam-dev mailing list > > seam-dev(a)lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/seam-dev > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > -- = > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > = > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > = > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============6665320198721542080== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5JbnRlcm5hdGlvbmFsIHNob3VsZCBi ZSBnb29kPGJyPjxicj5TZW50IGZyb20gbXkgaVBob25lPC9kaXY+PGRpdj48YnI+T24gU2VwIDEs IDIwMTEsIGF0IDE5OjMyLCBKYXNvbiBQb3J0ZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpsaWdodGd1 YXJkLmpwQGdtYWlsLmNvbSI+bGlnaHRndWFyZC5qcEBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8 YnI+PGJyPjwvZGl2PjxkaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj5DYXRj aCBzaG91bGQgYmUgZmluZS48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUs IFNlcCAxLCAyMDExIGF0IDE3OjMxLCBHZW9yZ2UgR2FzdGFsZGkgPHNwYW4gZGlyPSJsdHIiPiZs dDs8YSBocmVmPSJtYWlsdG86Z2VnYXN0YWxkaUBnbWFpbC5jb20iPjxhIGhyZWY9Im1haWx0bzpn ZWdhc3RhbGRpQGdtYWlsLmNvbSI+Z2VnYXN0YWxkaUBnbWFpbC5jb208L2E+PC9hPiZndDs8L3Nw YW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJn aW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4 OyI+CgpIaSBTaGFuZSw8YnI+Cjxicj4KSSBzdGlsbCBjb3VsZG4ndCByZXZpZXcgdGhlIGRvY3Mg b24gU2VhbSBSZXBvcnRzLCBzbyBJIGd1ZXNzIHRoYXRzIGEgbmF5IGZvciBtZS48YnI+Cjxicj4K UmVnYXJkcyw8YnI+Cjxicj4KR2VvcmdlPGJyPgo8YnI+CkVtIDAxLzA5LzIwMTEsIMOgcyAyMDox NSwgU2hhbmUgQnJ5emFrICZsdDs8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIj48 YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+ PC9hPiZndDsgZXNjcmV2ZXU6PGJyPgo8ZGl2PjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxi cj4KJmd0OyBHdXlzLCBJIG5lZWQgYSB5ZWEgb3IgbmF5IG9uIHRoaXMgZm9yIHlvdXIgbW9kdWxl Ljxicj4KJmd0Ozxicj4KJmd0OyBPbiAzMS8wOC8xMSAxNDoxNCwgU2hhbmUgQnJ5emFrIHdyb3Rl Ojxicj4KJmd0OyZndDsgTW9kdWxlIGxlYWRzLDxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7IENh biB5b3UgcGxlYXNlIHJldmlldyB0aGUgbGlzdCBiZWxvdyBhbmQgY29uZmlybSB0aGF0IHRoZSBk b2N1bWVudGF0aW9uPGJyPgomZ3Q7Jmd0OyBjaGFwdGVycyBhcmUgY29ycmVjdCBmb3IgeW91ciBt b2R1bGUuICZuYnNwO0Fsc28sIEkgd291bGQgbGlrZSBldmVyeW9uZSB0bzxicj4KJmd0OyZndDsg dGFrZSBhIG1vbWVudCB0byByZXZpZXcgdGhlIG1vZHVsZSBkb2N1bWVudGF0aW9uIGd1aWRlbGlu ZXMsIGFzIHRoZXJlPGJyPgomZ3Q7Jmd0OyB3ZXJlIGEgbnVtYmVyIG9mIGJyZWFrYWdlcyBpbiB0 aGUgYnVuZGxlZCBkb2N1bWVudGF0aW9uIGJ1aWxkIGJlY2F1c2U8YnI+CiZndDsmZ3Q7IHRoZSBn dWlkZWxpbmVzIHdlcmVuJ3QgYWRoZXJlZCB0bywgcGFydGljdWxhcmx5IGluIHRoZSBuZXcgbW9k dWxlcyBmb3I8YnI+CiZndDsmZ3Q7IFNlYW0gMy4xOjxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7 IDEpIEFsd2F5cyBwcmVmaXggdGhlIGZpbGVuYW1lcyBvZiB5b3VyIGRvY3VtZW50YXRpb24gY2hh cHRlcnMgd2l0aCB0aGU8YnI+CiZndDsmZ3Q7IG5hbWUgb2YgeW91ciBtb2R1bGUuICZuYnNwO0Uu Zy4gc2VjdXJpdHktYXV0aGVudGljYXRpb24ueG1sLDxicj4KJmd0OyZndDsgc2VjdXJpdHktYXV0 aG9yaXphdGlvbi54bWwsIGV0Yy48YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAyKSBXaGVuZXZl ciB5b3UgYXNzaWduIGFuIElEIHRvIGEgZG9jYm9vayBlbGVtZW50LCBzdWNoIGFzIGEmbHQ7Y2hh cHRlciZndDs8YnI+CiZndDsmZ3Q7IG9yJmx0O3NlY3Rpb24mZ3Q7LCBBTFdBWVMgcHJlZml4IHRo ZSBpZCB3aXRoIHlvdXIgbW9kdWxlIG5hbWUuICZuYnNwO0ZvciBleGFtcGxlLDxicj4KJmd0OyZn dDsgJmx0O2NoYXB0ZXIgaWQ9InNlY3VyaXR5LWludHJvZHVjdGlvbiImZ3Q7ICZuYnNwO29yJmx0 O3NlY3Rpb248YnI+CiZndDsmZ3Q7IGlkPSJzZWN1cml0eS1nZXR0aW5nLXN0YXJ0ZWQiJmd0Oy4g Jm5ic3A7QXMgYWxsIG9mIHRoZSBjaGFwdGVycyBmb3IgYWxsIG1vZHVsZXM8YnI+CiZndDsmZ3Q7 IGFyZSBjb21iaW5lZCB3aGVuIGJ1aWxkaW5nIHRoZSBidW5kbGVkIGRvY3VtZW50YXRpb24sIGFs bCBJRHMgbXVzdCBiZTxicj4KJmd0OyZndDsgdW5pcXVlLiAmbmJzcDtUaGlzIGlzIGEgcGFydGlj dWxhcmx5IHRpbWUgY29uc3VtaW5nIHByb2JsZW0gdG8gZml4IGJlY2F1c2U8YnI+CiZndDsmZ3Q7 IHRoZSBlcnJvciBvdXRwdXQgZnJvbSB0aGUgTWF2ZW4gZG9jYm9vayBwbHVnaW4gZG9lc24ndCB0 ZWxsIHlvdSB3aGljaDxicj4KJmd0OyZndDsgZmlsZXMgYXJlIHRoZSBwcm9ibGVtIG9uZXMuPGJy PgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgMykgV2hlbiBhZGRpbmcsIHJlbmFtaW5nIG9yIGRlbGV0 aW5nIGEgY2hhcHRlciBvZiB5b3VyIGRvY3VtZW50YXRpb24sPGJyPgomZ3Q7Jmd0OyBwbGVhc2Ug bm90aWZ5IG1lIG9mIHRoZSBjaGFuZ2VzIHNvIHRoYXQgSSBjYW4gdXBkYXRlPGJyPgomZ3Q7Jmd0 OyBidW5kbGVkX21hc3Rlci54bWwuICZuYnNwO1RoaXMgZmlsZSBtdXN0IGJlIG1hbnVhbGx5IGtl cHQgdXAgdG8gZGF0ZSB3aGVuZXZlcjxicj4KJmd0OyZndDsgYW55IGRvY3VtZW50YXRpb24gY2hh bmdlcyBhcmUgbWFkZS48YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyBUaGFua3MsPGJyPgomZ3Q7 Jmd0OyBTaGFuZTxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7P3ht bCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSJ1dGYtOCI/Jmd0Ozxicj4KJmd0OyZndDsgJmx0OyFE T0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjUvL0VOIjxi cj4KJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAiPGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVu Lm9yZy9kb2Nib29rL3htbC80LjUvZG9jYm9va3guZHRkIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJl Zj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjUvZG9jYm9va3guZHRk Ij5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQ8 L2E+PC9hPiIgJm5ic3A7WyBdJmd0Ozxicj4KJmd0OyZndDsgJmx0O2Jvb2sgbGFuZz0iZW4iIHht bG5zOnhpPSI8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIiB0YXJnZXQ9 Il9ibGFuayI+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSI+aHR0cDov L3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZTwvYT48L2E+IiZndDs8YnI+CiZndDsmZ3Q7PGJyPgom Z3Q7Jmd0OyAmbHQ7dG9jIC8mZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxl Jmd0O1NlYW0gMyZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7c3VidGl0bGUmZ3Q7QnVu ZGxlZCBSZWZlcmVuY2UgR3VpZGUmbHQ7L3N1YnRpdGxlJmd0Ozxicj4KJmd0OyZndDs8YnI+CiZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImJ1bmRsZWRfY3JlZGl0cy54bWwiLyZndDs8YnI+ CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImJ1bmRsZWRfaW50cm8ueG1sIi8mZ3Q7PGJy PgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0 bGUmZ3Q7Rm9yZ2UmbHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJl Zj0iZm9yZ2UtcHJlZmFjZS54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBo cmVmPSJmb3JnZS1pbnN0YWxsYXRpb24ueG1sIiAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0iZm9yZ2UtY3JlYXRpbmctYmFzaWMtd2ViYXBwLnhtbCIgLyZndDs8YnI+CiZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImZvcmdlLXBsdWdpbi1kZXYueG1sIiAvJmd0Ozxi cj4KJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDtw YXJ0Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gU29sZGVyJmx0Oy90aXRsZSZn dDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InNvbGRlci1wcmVmYWNlLnhtbCIv Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0ic29sZGVyLWdldHRpbmdzdGFy dGVkLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0ic29sZGVyLXBy b2dyYW1taW5nbW9kZWwueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVm PSJzb2xkZXItYW5ub3RhdGlvbmxpdGVyYWxzLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUgaHJlZj0ic29sZGVyLWVsZXh0ZW5zaW9ucy54bWwiLyZndDs8YnI+CiZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlIGhyZWY9InNvbGRlci1yZXNvdXJjZWxvYWRpbmcueG1sIi8mZ3Q7PGJy PgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJzb2xkZXItbG9nZ2luZy54bWwiLyZndDs8 YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InNvbGRlci10eXBldXRpbGl0aWVzLnht bCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0ic29sZGVyLWJlYW5tYW5h Z2VycHJvdmlkZXIueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJz b2xkZXItYmVhbnV0aWxpdGllcy54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl IGhyZWY9InNvbGRlci1wcm9wZXJ0aWVzLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0ic29sZGVyLXVud3JhcHMueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSJzb2xkZXItZGVmYXVsdGJlYW5zLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUgaHJlZj0ic29sZGVyLWdlbmVyaWNiZWFucy54bWwiLyZndDs8YnI+CiZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InNvbGRlci1zZXJ2aWNlaGFuZGxlci54bWwiLyZn dDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAm bHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIENvbmZpZ3VyYXRpb24m bHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iY29uZmlnLWlu dHJvZHVjdGlvbi54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImNv bmZpZy14bWwtcHJvdmlkZXIueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJy PgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0 bGUmZ3Q7U2VhbSBQZXJzaXN0ZW5jZSZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSJwZXJzaXN0ZW5jZS1nZW5lcmFsLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsg Jmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4K Jmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gVHJhbnNhY3Rpb24mbHQ7L3RpdGxlJmd0Ozxicj4K Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0idHJhbnNhY3Rpb24tZ2VuZXJhbC54bWwiLyZn dDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAm bHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIFNlcnZsZXQmbHQ7L3Rp dGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0ic2VydmxldC1pbnRyb2R1 Y3Rpb24ueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJzZXJ2bGV0 LWluc3RhbGxhdGlvbi54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9 InNlcnZsZXQtZXZlbnRzLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJl Zj0ic2VydmxldC1pbmplY3RhYmxlX3JlZnMueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSJzZXJ2bGV0LWV4Y2VwdGlvbl9oYW5kbGluZy54bWwiIC8mZ3Q7PGJyPgom Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJzZXJ2bGV0LWJlYW5tYW5hZ2VyLnhtbCIvJmd0 Ozxicj4KJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZs dDtwYXJ0Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gU2VjdXJpdHkmbHQ7L3Rp dGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0ic2VjdXJpdHktaW50cm9k dWN0aW9uLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0ic2VjdXJp dHktYXV0aGVudGljYXRpb24ueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBo cmVmPSJzZWN1cml0eS1pZGVudGl0eW1hbmFnZW1lbnQueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZSBocmVmPSJzZWN1cml0eS1hdXRoZW50aWNhdGlvbi1leHRlcm5hbC54bWwi LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InNlY3VyaXR5LWF1dGhvcml6 YXRpb24ueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxi cj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBJ bnRlcm5hdGlvbmFsJmx0Oy90aXRsZSZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhy ZWY9ImludGVybmF0aW9uYWwtcHJlZmFjZS54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSJpbnRlcm5hdGlvbmFsLWluc3RhbGxhdGlvbi54bWwiIC8mZ3Q7PGJyPgom Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJpbnRlcm5hdGlvbmFsLWxvY2FsZXMueG1sIiAv Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iaW50ZXJuYXRpb25hbC10aW1l em9uZXMueG1sIiAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iaW50ZXJu YXRpb25hbC1tZXNzYWdlcy54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJy PgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0 bGUmZ3Q7U2VhbSBGYWNlcyZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZSBocmVmPSJmYWNlcy1wcmVmYWNlLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNs dWRlIGhyZWY9ImZhY2VzLWluc3RhbGxhdGlvbi54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7 eGk6aW5jbHVkZSBocmVmPSJmYWNlcy1ldmVudHMueG1sIiAvJmd0Ozxicj4KJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUgaHJlZj0iZmFjZXMtc2NvcGVzLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlIGhyZWY9ImZhY2VzLW1lc3NhZ2VzLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlIGhyZWY9ImZhY2VzLWFydGlmYWN0cy54bWwiIC8mZ3Q7PGJyPgomZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJmYWNlcy1jb21wb25lbnRzLnhtbCIgLyZndDs8YnI+ CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFy dCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIENhdGNoJmx0Oy90aXRsZSZndDs8 YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImNhdGNoLWludHJvZHVjdGlvbi54bWwi LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImNhdGNoLWluc3RhbGxhdGlv bi54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImNhdGNoLWNsaWVu dF91c2FnZS54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9ImNhdGNo LWFkdmFuY2VkX3VzYWdlLnhtbCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJl Zj0iY2F0Y2gtaW50ZWdyYXRpb24ueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZSBocmVmPSJjYXRjaC1nbG9zc2FyeS54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZn dDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZs dDt0aXRsZSZndDtTZWFtIFJlcG9ydHMmbHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUgaHJlZj0icmVwb3J0cy1wcmVmYWNlLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlIGhyZWY9InJlcG9ydHMtaW5zdGFsbGF0aW9uLnhtbCIgLyZndDs8YnI+CiZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InJlcG9ydHMtdXNhZ2UueG1sIiAvJmd0Ozxicj4K Jmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDtwYXJ0 Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gUmVtb3RpbmcmbHQ7L3RpdGxlJmd0 Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0icmVtb3RpbmctZ2VuZXJhbC54bWwi LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InJlbW90aW5nLW1vZGVsLnht bCIvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0icmVtb3RpbmctdmFsaWRh dGlvbi54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiZndDsmZ3Q7PGJy PgomZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIFJF U1QmbHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0icmVzdC1w cmVmYWNlLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InJlc3Qt aW5zdGFsbGF0aW9uLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9 InJlc3QtZXhjZXB0aW9uLW1hcHBpbmcueG1sIiAvJmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0icmVzdC12YWxpZGF0aW9uLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlIGhyZWY9InJlc3QtdGVtcGxhdGluZy54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZSBocmVmPSJyZXN0LWNsaWVudC54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZSBocmVmPSJyZXN0LWRlcGVuZGVuY2llcy54bWwiIC8mZ3Q7PGJyPgomZ3Q7 Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7 PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBKQ1ImbHQ7L3RpdGxlJmd0Ozxicj4KJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iamNyLWludHJvZHVjdGlvbi54bWwiIC8mZ3Q7PGJy PgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJqY3ItbW9kZXNoYXBlLnhtbCIvJmd0Ozxi cj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iamNyLWphY2tyYWJiaXQueG1sIi8mZ3Q7 PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJqY3ItZXZlbnQtbWFwcGluZy54bWwi LyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9Impjci1vY20ueG1sIi8mZ3Q7 PGJyPgomZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0 O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBKTVMmbHQ7L3RpdGxlJmd0 Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iam1zLWludHJvLnhtbCIgLyZndDs8 YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9Imptcy1pbnN0YWxsYXRpb24ueG1sIiAv Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0iam1zLXJlc291cmNlLWluamVj dGlvbi54bWwiIC8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJqbXMtbWVz c2FnaW5nLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9Imptcy1y b3V0aW5nLnhtbCIgLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9Imptcy1t YXBwaW5nLWludGVyZmFjZXMueG1sIiAvJmd0Ozxicj4KJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxi cj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3Rp dGxlJmd0O1NlYW0gVmFsaWRhdGlvbiZsdDsvdGl0bGUmZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSJ2YWxpZGF0aW9uLWludHJvZHVjdGlvbi54bWwiLyZndDs8YnI+CiZndDsm Z3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InZhbGlkYXRpb24taW5zdGFsbGF0aW9uLnhtbCIvJmd0 Ozxicj4KJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0idmFsaWRhdGlvbi1kZXBlbmRlbmN5 LWluamVjdGlvbi54bWwiLyZndDs8YnI+CiZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9InZh bGlkYXRpb24tbWV0aG9kLXZhbGlkYXRpb24ueG1sIi8mZ3Q7PGJyPgomZ3Q7Jmd0OyAmbHQ7L3Bh cnQmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgomZ3Q7Jmd0 OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBXaWNrZXQmbHQ7L3RpdGxlJmd0Ozxicj4KJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUgaHJlZj0id2lja2V0LXByZWZhY2UueG1sIiAvJmd0Ozxicj4KJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUgaHJlZj0id2lja2V0LWluc3RhbGxhdGlvbi54bWwiIC8mZ3Q7PGJyPgom Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSJ3aWNrZXQtZmVhdHVyZXMueG1sIiAvJmd0Ozxi cj4KJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZsdDsv Ym9vayZndDs8YnI+CiZndDsmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPGJyPgomZ3Q7Jmd0OyBzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CiZndDsm Z3Q7IDxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPjxhIGhyZWY9Im1h aWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwv YT48L2E+PGJyPgomZ3Q7Jmd0OyA8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly9s aXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiI+aHR0cHM6Ly9saXN0cy5q Ym9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48L2E+PGJyPgomZ3Q7PGJyPgom Z3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgom Z3Q7IHNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4KJmd0OyA8YSBocmVmPSJtYWlsdG86c2VhbS1k ZXZAbGlzdHMuamJvc3Mub3JnIj48YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mu b3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PC9hPjxicj4KJmd0OyA8YSBocmVmPSJo dHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9 Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9zZWFtLWRldiI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFt LWRldjwvYT48L2E+PGJyPgo8YnI+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0 bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0 cy5qYm9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48L2E+PGJyPgo8YSBocmVm PSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJn ZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9zZWFtLWRldiI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9z ZWFtLWRldjwvYT48L2E+PGJyPgo8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxi ciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVyPGJyPjxhIGhy ZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxh IGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSI+aHR0cDovL2xpZ2h0Z3Vh cmQtanAuYmxvZ3Nwb3QuY29tPC9hPjwvYT48YnI+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29t L2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNv bS9saWdodGd1YXJkanAiPmh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PC9hPjxi cj4KCjxicj5Tb2Z0d2FyZSBFbmdpbmVlcjxicj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRo b3Igb2YgU2VhbSBDYXRjaCAtIE5leHQgR2VuZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGlu Zzxicj48YnI+UEdQIGtleSBpZDogOTI2Q0NGRjU8YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxh IGhyZWY9Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0 cDovL2tleXNlcnZlci5uZXQiPmtleXNlcnZlci5uZXQ8L2E+PC9hPiwgPGEgaHJlZj0iaHR0cDov L3BncC5taXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cDovL3BncC5taXQuZWR1 Ij5wZ3AubWl0LmVkdTwvYT48L2E+PGJyPgoKCjwvZGl2PjwvYmxvY2txdW90ZT48YmxvY2txdW90 ZSB0eXBlPSJjaXRlIj48ZGl2PjxzcGFuPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fPC9zcGFuPjxicj48c3Bhbj5zZWFtLWRldiBtYWlsaW5nIGxpc3Q8L3Nw YW4+PGJyPjxzcGFuPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNl YW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48L3NwYW4+PGJyPjxzcGFuPjxhIGhyZWY9Imh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiPmh0dHBzOi8vbGlz dHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PC9zcGFuPjxicj48L2Rp dj48L2Jsb2NrcXVvdGU+PC9ib2R5PjwvaHRtbD4= --===============6665320198721542080==-- From lincolnbaxter at gmail.com Thu Sep 1 23:48:42 2011 Content-Type: multipart/mixed; boundary="===============6822592972600535286==" MIME-Version: 1.0 From: Lincoln Baxter, III To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Thu, 01 Sep 2011 23:48:41 -0400 Message-ID: In-Reply-To: CAEp_U4E8fpcjUzSfabDYi=EsvxrNK4FmDGOSD+0_qOt3CEU_BA@mail.gmail.com --===============6822592972600535286== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Actually, maybe the best thing to do is just to add a new section to the Seam umbrella doc, with an HTML link to the forge confluence space? On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III wrote: > Ok. If you include beta1, the artifact for dist is: > > org.jboss.forge:forge-modules:1.0.0.Beta1 > > -- > Lincoln Baxter's Droid > http://ocpsoft.com > "Keep it Simple" > On Sep 1, 2011 7:52 PM, "Shane Bryzak" wrote: > > Yep, I planned on extracting it in the forge folder. > > > > On 02/09/11 09:43, Lincoln Baxter, III wrote: > >> > >> Also, if forge is unzipped. It should be done so in its own subfolder. > >> > >> Ill try to catch you online tonight and make sure you've got the right > >> artifact. (it moved temporarily during the jboss modules transition. > >> > >> -- > >> Lincoln Baxter's Droid > >> http://ocpsoft.com > >> "Keep it Simple" > >> > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" >> > wrote: > >> > Well. The forge distribution doesn't contain docs either. They are > >> purely > >> > online at this point. So I think just don't worry about it. This > >> confluence > >> > thing is a bit of a pain in that regard. > >> > > >> > -- > >> > Lincoln Baxter's Droid > >> > http://ocpsoft.com > >> > "Keep it Simple" > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" >> > wrote: > >> >> Unless an export could be automated as part of the build process, I > >> >> don't think that's a good idea. How about we just include the Forge > >> >> distribution extracted inside the Seam distribution? The > documentation > >> >> won't be combined with the main Seam docs, but as long as it's in t= he > >> >> Forge distribution then a user should be able to find it without too > >> >> much effort. > >> >> > >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: > >> >>> > >> >>> I'm not really sure how to do this, then. There are no sources sin= ce > >> >>> the docs are in confluence. > >> >>> > >> >>> I suppose an export could work? > >> >>> > >> >>> -- > >> >>> Lincoln Baxter's Droid > >> >>> http://ocpsoft.com > >> >>> "Keep it Simple" > >> >>> > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" >> > >> >>> >> wrote: > >> >>> > The source artifact for the Forge docs were being pulled in like > >> this: > >> >>> > > >> >>> > > >> >>> > org.jboss.seam.forge > >> >>> > forge-reference-guide > >> >>> > 1.0.0-SNAPSHOT > >> >>> > sources > >> >>> > jar > >> >>> > > >> >>> > > >> >>> > When I update the version to 1.0.0.Beta1, it can't find the sour= ce > - > >> >>> was > >> >>> > the Beta1 source artifact published to Maven? > >> >>> > > >> >>> > > >> >>> > > >> >>> > On 01/09/11 03:02, Lincoln Baxter, III wrote: > >> >>> >> https://docs.jboss.org/author/display/SEAMFORGE/Home > >> >>> >> > >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln Baxter, III > >> >>> >> > >> > > >> >>> > >> >>> > wrote: > >> >>> >> > >> >>> >> Just checking - the Forge docs are no longer in SVN / are in > >> >>> >> Confluence; have you taken this into account? > >> >>> >> > >> >>> >> Also, the which distribution are you including? You could choose > >> >>> >> either Beta1 or the latest SNAPSHOT (which is actually in a new > >> >>> >> location - moved back to the original > >> >>> >> org.jboss.forge:forge-distribution - though it looks like the > >> >>> >> build hasn't deployed artifacts in a little while - looking in = to > >> >>> >> that) > >> >>> >> > >> >>> >> ~Lincoln > >> >>> >> > >> >>> >> > >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane Bryzak > >> > >> >>> > > >> >>> >> > >> >>> wrote: > >> >>> >> > >> >>> >> Module leads, > >> >>> >> > >> >>> >> Can you please review the list below and confirm that the > >> >>> >> documentation > >> >>> >> chapters are correct for your module. Also, I would like > >> >>> >> everyone to > >> >>> >> take a moment to review the module documentation guidelines, > >> >>> >> as there > >> >>> >> were a number of breakages in the bundled documentation build > >> >>> >> because > >> >>> >> the guidelines weren't adhered to, particularly in the new > >> >>> >> modules for > >> >>> >> Seam 3.1: > >> >>> >> > >> >>> >> 1) Always prefix the filenames of your documentation chapters > >> >>> >> with the > >> >>> >> name of your module. E.g. security-authentication.xml, > >> >>> >> security-authorization.xml, etc. > >> >>> >> > >> >>> >> 2) Whenever you assign an ID to a docbook element, such as a > >> >>> >> > >> >>> >> or
, ALWAYS prefix the id with your module name. For > >> >>> >> example, > >> >>> >> or
>> >>> >> id=3D"security-getting-started">. As all of the chapters for > >> >>> >> all modules > >> >>> >> are combined when building the bundled documentation, all IDs > >> >>> >> must be > >> >>> >> unique. This is a particularly time consuming problem to fix > >> >>> >> because > >> >>> >> the error output from the Maven docbook plugin doesn't tell > >> >>> >> you which > >> >>> >> files are the problem ones. > >> >>> >> > >> >>> >> 3) When adding, renaming or deleting a chapter of your > >> >>> >> documentation, > >> >>> >> please notify me of the changes so that I can update > >> >>> >> bundled_master.xml. This file must be manually kept up to > >> >>> >> date whenever > >> >>> >> any documentation changes are made. > >> >>> >> > >> >>> >> Thanks, > >> >>> >> Shane > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> >> >>> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam 3 > >> >>> >> Bundled Reference Guide > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Forge > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Solder > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Configuration > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Persistence > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Transaction > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Servlet > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Security > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam International > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Faces > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Catch > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Reports > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Remoting > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam REST > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam JCR > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam JMS > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Validation > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Wicket > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> _______________________________________________ > >> >>> >> seam-dev mailing list > >> >>> >> seam-dev(a)lists.jboss.org > >> > > >> >>> > >> = >> > >> >>> >> https://lists.jboss.org/mailman/listinfo/seam-dev > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> -- > >> >>> >> Lincoln Baxter, III > >> >>> >> http://ocpsoft.com > >> >>> >> http://scrumshark.com > >> >>> >> "Keep it Simple" > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> -- > >> >>> >> Lincoln Baxter, III > >> >>> >> http://ocpsoft.com > >> >>> >> http://scrumshark.com > >> >>> >> "Keep it Simple" > >> >>> > > >> >> > > > -- = Lincoln Baxter, III http://ocpsoft.com http://scrumshark.com "Keep it Simple" --===============6822592972600535286== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QWN0dWFsbHksIG1heWJlIHRoZSBiZXN0IHRoaW5nIHRvIGRvIGlzIGp1c3QgdG8gYWRkIGEgbmV3 IHNlY3Rpb24gdG8gdGhlIFNlYW0gdW1icmVsbGEgZG9jLCB3aXRoIGFuIEhUTUwgbGluayB0byB0 aGUgZm9yZ2UgY29uZmx1ZW5jZSBzcGFjZT88YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij5PbiBUaHUsIFNlcCAxLCAyMDExIGF0IDc6NTQgUE0sIExpbmNvbG4gQmF4dGVyLCBJSUkgPHNw YW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20i PmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KPGJsb2Nr cXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVy LWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPjxwPk9rLiBJZiB5b3UgaW5j bHVkZSBiZXRhMSwgdGhlIGFydGlmYWN0IGZvciBkaXN0IGlzOjwvcD4KPHA+b3JnLmpib3NzLmZv cmdlOmZvcmdlLW1vZHVsZXM6MS4wLjAuQmV0YTEgPC9wPjxkaXYgY2xhc3M9ImltIj4KPHA+LS08 YnI+CkxpbmNvbG4gQmF4dGVyJiMzOTtzIERyb2lkPGJyPgo8YSBocmVmPSJodHRwOi8vb2Nwc29m dC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPgomcXVvdDtL ZWVwIGl0IFNpbXBsZSZxdW90OzwvcD4KPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxk aXYgY2xhc3M9ImltIj5PbiBTZXAgMSwgMjAxMSA3OjUyIFBNLCAmcXVvdDtTaGFuZSBCcnl6YWsm cXVvdDsgJmx0OzxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2Js YW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0OyB3cm90ZTo8YnIgdHlwZT0iYXR0cmlidXRp b24iPiZndDsgWWVwLCBJIHBsYW5uZWQgb24gZXh0cmFjdGluZyBpdCBpbiB0aGUgZm9yZ2UgZm9s ZGVyLjxicj4KCiZndDsgPGJyPiZndDsgT24gMDIvMDkvMTEgMDk6NDMsIExpbmNvbG4gQmF4dGVy LCBJSUkgd3JvdGU6PGJyPiZndDsmZ3Q7PGJyPiZndDsmZ3Q7IEFsc28sIGlmIGZvcmdlIGlzIHVu emlwcGVkLiBJdCBzaG91bGQgYmUgZG9uZSBzbyBpbiBpdHMgb3duIHN1YmZvbGRlci48YnI+Jmd0 OyZndDs8YnI+Jmd0OyZndDsgSWxsIHRyeSB0byBjYXRjaCB5b3Ugb25saW5lIHRvbmlnaHQgYW5k IG1ha2Ugc3VyZSB5b3UmIzM5O3ZlIGdvdCB0aGUgcmlnaHQgPGJyPgoKJmd0OyZndDsgYXJ0aWZh Y3QuIChpdCBtb3ZlZCB0ZW1wb3JhcmlseSBkdXJpbmcgdGhlIGpib3NzIG1vZHVsZXMgdHJhbnNp dGlvbi48YnI+Jmd0OyZndDs8YnI+Jmd0OyZndDsgLS08YnI+Jmd0OyZndDsgTGluY29sbiBCYXh0 ZXImIzM5O3MgRHJvaWQ8YnI+Jmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0 YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj4KJmd0OyZndDsgJnF1b3Q7 S2VlcCBpdCBTaW1wbGUmcXVvdDs8YnI+CiZndDsmZ3Q7PGJyPiZndDsmZ3Q7IE9uIFNlcCAxLCAy MDExIDc6NDEgUE0sICZxdW90O0xpbmNvbG4gQmF4dGVyLCBJSUkmcXVvdDsgJmx0OzxhIGhyZWY9 Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5i YXh0ZXJAZ21haWwuY29tPC9hPiA8YnI+PC9kaXY+PGRpdiBjbGFzcz0iaW0iPiZndDsmZ3Q7ICZs dDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9 Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyZndDsgd3JvdGU6PGJyPgo8 L2Rpdj48ZGl2IGNsYXNzPSJpbSI+CiZndDsmZ3Q7ICZndDsgV2VsbC4gVGhlIGZvcmdlIGRpc3Ry aWJ1dGlvbiBkb2VzbiYjMzk7dCBjb250YWluIGRvY3MgZWl0aGVyLiBUaGV5IGFyZSA8YnI+Jmd0 OyZndDsgcHVyZWx5PGJyPiZndDsmZ3Q7ICZndDsgb25saW5lIGF0IHRoaXMgcG9pbnQuIFNvIEkg dGhpbmsganVzdCBkb24mIzM5O3Qgd29ycnkgYWJvdXQgaXQuIFRoaXMgPGJyPiZndDsmZ3Q7IGNv bmZsdWVuY2U8YnI+Jmd0OyZndDsgJmd0OyB0aGluZyBpcyBhIGJpdCBvZiBhIHBhaW4gaW4gdGhh dCByZWdhcmQuPGJyPgoKJmd0OyZndDsgJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7IC0tPGJyPiZndDsm Z3Q7ICZndDsgTGluY29sbiBCYXh0ZXImIzM5O3MgRHJvaWQ8YnI+Jmd0OyZndDsgJmd0OyA8YSBo cmVmPSJodHRwOi8vb2Nwc29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vb2Nwc29mdC5j b208L2E+PGJyPiZndDsmZ3Q7ICZndDsgJnF1b3Q7S2VlcCBpdCBTaW1wbGUmcXVvdDs8YnI+Jmd0 OyZndDsgJmd0OyBPbiBTZXAgMSwgMjAxMSA2OjA1IFBNLCAmcXVvdDtTaGFuZSBCcnl6YWsmcXVv dDsgJmx0OzxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5r Ij5zYnJ5emFrQHJlZGhhdC5jb208L2E+IDxicj4KPC9kaXY+PGRpdiBjbGFzcz0iaW0iPgomZ3Q7 Jmd0OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdl dD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0OyZndDsgd3JvdGU6PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7IFVubGVzcyBhbiBleHBvcnQgY291bGQgYmUgYXV0b21hdGVkIGFzIHBhcnQg b2YgdGhlIGJ1aWxkIHByb2Nlc3MsIEk8YnI+Jmd0OyZndDsgJmd0OyZndDsgZG9uJiMzOTt0IHRo aW5rIHRoYXQmIzM5O3MgYSBnb29kIGlkZWEuIEhvdyBhYm91dCB3ZSBqdXN0IGluY2x1ZGUgdGhl IEZvcmdlPGJyPgoKJmd0OyZndDsgJmd0OyZndDsgZGlzdHJpYnV0aW9uIGV4dHJhY3RlZCBpbnNp ZGUgdGhlIFNlYW0gZGlzdHJpYnV0aW9uPyBUaGUgZG9jdW1lbnRhdGlvbjxicj4mZ3Q7Jmd0OyAm Z3Q7Jmd0OyB3b24mIzM5O3QgYmUgY29tYmluZWQgd2l0aCB0aGUgbWFpbiBTZWFtIGRvY3MsIGJ1 dCBhcyBsb25nIGFzIGl0JiMzOTtzIGluIHRoZTxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyBGb3JnZSBk aXN0cmlidXRpb24gdGhlbiBhIHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gZmluZCBpdCB3aXRob3V0 IHRvbzxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7IG11Y2ggZWZmb3J0Ljxicj4mZ3Q7Jmd0OyAmZ3Q7 Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyBPbiAwMi8wOS8xMSAwMToyMiwgTGluY29sbiBCYXh0 ZXIsIElJSSB3cm90ZTo8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyBJJiMzOTttIG5vdCByZWFsbHkgc3VyZSBob3cgdG8gZG8gdGhpcywgdGhlbi4gVGhl cmUgYXJlIG5vIHNvdXJjZXMgc2luY2U8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgdGhlIGRv Y3MgYXJlIGluIGNvbmZsdWVuY2UuPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgSSBzdXBwb3NlIGFuIGV4cG9ydCBjb3VsZCB3b3JrPzxicj4mZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7IC0tPGJyPiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyBMaW5jb2xuIEJheHRlciYjMzk7cyBEcm9pZDxicj4KCiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8vb2Nwc29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vb2Nwc29mdC5jb208L2E+PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmcXVvdDtLZWVwIGl0 IFNpbXBsZSZxdW90Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZn dDsmZ3Q7IE9uIEF1ZyAzMSwgMjAxMSA1OjA5IFBNLCAmcXVvdDtTaGFuZSBCcnl6YWsmcXVvdDsg Jmx0OzxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5z YnJ5emFrQHJlZGhhdC5jb208L2E+IDxicj4KCiZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0i bWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0 LmNvbTwvYT4mZ3Q7PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImltIj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9 Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0 bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208 L2E+Jmd0OyZndDsmZ3Q7IHdyb3RlOjxicj4KPC9kaXY+PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xh c3M9Img1Ij4KJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgVGhlIHNvdXJjZSBhcnRpZmFjdCBm b3IgdGhlIEZvcmdlIGRvY3Mgd2VyZSBiZWluZyBwdWxsZWQgaW4gbGlrZSA8YnI+Jmd0OyZndDsg dGhpczo8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsgJmx0O2RlcGVuZGVuY3kmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 ICZsdDtncm91cElkJmd0O29yZy5qYm9zcy5zZWFtLmZvcmdlJmx0Oy9ncm91cElkJmd0Ozxicj4K CiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7ICZsdDthcnRpZmFjdElkJmd0O2ZvcmdlLXJlZmVy ZW5jZS1ndWlkZSZsdDsvYXJ0aWZhY3RJZCZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsgJmx0O3ZlcnNpb24mZ3Q7MS4wLjAtU05BUFNIT1QmbHQ7L3ZlcnNpb24mZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7ICZsdDtjbGFzc2lmaWVyJmd0O3NvdXJjZXMmbHQ7L2NsYXNz aWZpZXImZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgJmx0O3R5cGUmZ3Q7amFy Jmx0Oy90eXBlJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyAmbHQ7L2RlcGVuZGVu Y3kmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7IFdoZW4gSSB1cGRhdGUgdGhlIHZlcnNpb24gdG8gMS4wLjAuQmV0YTEsIGl0IGNh biYjMzk7dCBmaW5kIHRoZSBzb3VyY2UgLTxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyB3YXM8 YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgdGhlIEJldGExIHNvdXJjZSBhcnRpZmFjdCBw dWJsaXNoZWQgdG8gTWF2ZW4/PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPiZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IE9uIDAxLzA5LzExIDAzOjAyLCBMaW5jb2xuIEJheHRl ciwgSUlJIHdyb3RlOjxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVm PSJodHRwczovL2RvY3MuamJvc3Mub3JnL2F1dGhvci9kaXNwbGF5L1NFQU1GT1JHRS9Ib21lIiB0 YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9kb2NzLmpib3NzLm9yZy9hdXRob3IvZGlzcGxheS9TRUFN Rk9SR0UvSG9tZTwvYT48YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBPbiBXZWQsIEF1ZyAzMSwgMjAxMSBhdCAxOjAyIFBN LCBMaW5jb2xuIEJheHRlciwgSUlJPGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2Js YW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVy QGdtYWlsLmNvbTwvYT4mZ3Q7IDxicj4KJmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVy QGdtYWlsLmNvbTwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBn bWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4mZ3Q7 Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRv OmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBn bWFpbC5jb208L2E+ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21h aWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyA8 YnI+CiZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21h aWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+ICZsdDtt YWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9i bGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyZndDsmZ3Q7Jmd0OyB3cm90ZTo8 YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IEp1c3QgY2hlY2tpbmcgLSB0aGUgRm9yZ2UgZG9jcyBhcmUgbm8gbG9uZ2Vy IGluIFNWTiAvIGFyZSBpbjxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgQ29uZmx1 ZW5jZTsgaGF2ZSB5b3UgdGFrZW4gdGhpcyBpbnRvIGFjY291bnQ/PGJyPiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBBbHNv LCB0aGUgd2hpY2ggZGlzdHJpYnV0aW9uIGFyZSB5b3UgaW5jbHVkaW5nPyBZb3UgY291bGQgY2hv b3NlPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBlaXRoZXIgQmV0YTEgb3IgdGhl IGxhdGVzdCBTTkFQU0hPVCAod2hpY2ggaXMgYWN0dWFsbHkgaW4gYSBuZXc8YnI+Jmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGxvY2F0aW9uIC0gbW92ZWQgYmFjayB0byB0aGUgb3JpZ2lu YWw8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgb3JnLmpib3NzLmZvcmdlOmZv cmdlLWRpc3RyaWJ1dGlvbiAtIHRob3VnaCBpdCBsb29rcyBsaWtlIHRoZTxicj4mZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgYnVpbGQgaGFzbiYjMzk7dCBkZXBsb3llZCBhcnRpZmFjdHMg aW4gYSBsaXR0bGUgd2hpbGUgLSBsb29raW5nIGluIHRvPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyB0aGF0KTxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4m Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgfkxpbmNvbG48YnI+Jmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgT24gV2VkLCBBdWcgMzEsIDIwMTEgYXQgMTI6MTQg QU0sIFNoYW5lIEJyeXphayA8YnI+CgomZ3Q7Jmd0OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNicnl6 YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gJmx0 O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFu ayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZs dDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxh bmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2Jy eXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZn dDsmZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDttYWlsdG86PGEg aHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtA cmVkaGF0LmNvbTwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQu Y29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDsgPGJyPiZndDsm Z3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29t PC9hPiZndDsmZ3Q7Jmd0OyZndDsgd3JvdGU6PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBNb2R1bGUgbGVhZHMsPGJy PiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgQ2FuIHlvdSBwbGVhc2UgcmV2aWV3IHRoZSBsaXN0IGJlbG93IGFuZCBjb25maXJt IHRoYXQgdGhlPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBkb2N1bWVudGF0aW9u PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGNoYXB0ZXJzIGFyZSBjb3JyZWN0 IGZvciB5b3VyIG1vZHVsZS4gQWxzbywgSSB3b3VsZCBsaWtlPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyBldmVyeW9uZSB0bzxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgdGFrZSBhIG1vbWVudCB0byByZXZpZXcgdGhlIG1vZHVsZSBkb2N1bWVudGF0aW9uIGd1aWRl bGluZXMsPGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFzIHRoZXJlPGJyPiZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB3ZXJlIGEgbnVtYmVyIG9mIGJyZWFrYWdlcyBp biB0aGUgYnVuZGxlZCBkb2N1bWVudGF0aW9uIGJ1aWxkPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyBiZWNhdXNlPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB0aGUg Z3VpZGVsaW5lcyB3ZXJlbiYjMzk7dCBhZGhlcmVkIHRvLCBwYXJ0aWN1bGFybHkgaW4gdGhlIG5l dzxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBtb2R1bGVzIGZvcjxicj4mZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgU2VhbSAzLjE6PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgMSkgQWx3YXlz IHByZWZpeCB0aGUgZmlsZW5hbWVzIG9mIHlvdXIgZG9jdW1lbnRhdGlvbiBjaGFwdGVyczxicj4K Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHdpdGggdGhlPGJyPgomZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgbmFtZSBvZiB5b3VyIG1vZHVsZS4gRS5nLiBzZWN1cml0eS1hdXRo ZW50aWNhdGlvbi54bWwsPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBzZWN1cml0 eS1hdXRob3JpemF0aW9uLnhtbCwgZXRjLjxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IDIpIFdoZW5ldmVyIHlvdSBhc3Np Z24gYW4gSUQgdG8gYSBkb2Nib29rIGVsZW1lbnQsIHN1Y2ggYXMgYTxicj4KCiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7Y2hhcHRlciZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IG9yICZsdDtzZWN0aW9uJmd0OywgQUxXQVlTIHByZWZpeCB0aGUgaWQgd2l0 aCB5b3VyIG1vZHVsZSBuYW1lLiBGb3I8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 IGV4YW1wbGUsPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7Y2hhcHRlciBp ZD0mcXVvdDtzZWN1cml0eS1pbnRyb2R1Y3Rpb24mcXVvdDsmZ3Q7IG9yICZsdDtzZWN0aW9uPGJy PgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGlkPSZxdW90O3NlY3VyaXR5LWdldHRp bmctc3RhcnRlZCZxdW90OyZndDsuIEFzIGFsbCBvZiB0aGUgY2hhcHRlcnMgZm9yPGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBhbGwgbW9kdWxlczxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgYXJlIGNvbWJpbmVkIHdoZW4gYnVpbGRpbmcgdGhlIGJ1bmRsZWQgZG9j dW1lbnRhdGlvbiwgYWxsIElEczxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBt dXN0IGJlPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB1bmlxdWUuIFRoaXMgaXMg YSBwYXJ0aWN1bGFybHkgdGltZSBjb25zdW1pbmcgcHJvYmxlbSB0byBmaXg8YnI+Jmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGJlY2F1c2U8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IHRoZSBlcnJvciBvdXRwdXQgZnJvbSB0aGUgTWF2ZW4gZG9jYm9vayBwbHVnaW4gZG9l c24mIzM5O3QgdGVsbDxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB5b3Ugd2hp Y2g8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGZpbGVzIGFyZSB0aGUgcHJvYmxl bSBvbmVzLjxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7IDMpIFdoZW4gYWRkaW5nLCByZW5hbWluZyBvciBkZWxldGluZyBh IGNoYXB0ZXIgb2YgeW91cjxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBkb2N1 bWVudGF0aW9uLDxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgcGxlYXNlIG5vdGlm eSBtZSBvZiB0aGUgY2hhbmdlcyBzbyB0aGF0IEkgY2FuIHVwZGF0ZTxicj4mZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgYnVuZGxlZF9tYXN0ZXIueG1sLiBUaGlzIGZpbGUgbXVzdCBiZSBt YW51YWxseSBrZXB0IHVwIHRvPGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGRh dGUgd2hlbmV2ZXI8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFueSBkb2N1bWVu dGF0aW9uIGNoYW5nZXMgYXJlIG1hZGUuPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgVGhhbmtzLDxicj4mZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgU2hhbmU8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7P3htbCB2ZXJzaW9uPSYjMzk7MS4wJiMzOTsgZW5jb2Rpbmc9 JnF1b3Q7dXRmLTgmcXVvdDs/Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg Jmx0OyFET0NUWVBFIGJvb2sgUFVCTElDICZxdW90Oy0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwg VjQuNS8vRU4mcXVvdDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJnF1b3Q7 PGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjUvZG9jYm9v a3guZHRkIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29r L3htbC80LjUvZG9jYm9va3guZHRkPC9hPiZxdW90OyBbIF0mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7Ym9vayBsYW5nPSZxdW90O2VuJnF1b3Q7IHhtbG5zOnhpPSZx dW90OzxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiIHRhcmdldD0iX2Js YW5rIj5odHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlPC9hPiZxdW90OyZndDs8YnI+Cgom Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt0b2MgLyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJy PiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSAzJmx0Oy90 aXRsZSZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtzdWJ0aXRsZSZn dDtCdW5kbGVkIFJlZmVyZW5jZSBHdWlkZSZsdDsvc3VidGl0bGUmZ3Q7PGJyPgoKJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2J1bmRsZWRfY3JlZGl0cy54bWwmcXVvdDsvJmd0Ozxi cj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVv dDtidW5kbGVkX2ludHJvLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8 YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtGb3JnZSZsdDsv dGl0bGUmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZSBocmVmPSZxdW90O2ZvcmdlLXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ZvcmdlLWluc3Rh bGxhdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtmb3JnZS1jcmVhdGluZy1iYXNpYy13ZWJhcHAu eG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSZxdW90O2ZvcmdlLXBsdWdpbi1kZXYueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgoKJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7cGFydCZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZn dDtTZWFtIFNvbGRlciZsdDsvdGl0bGUmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1wcmVmYWNlLnhtbCZxdW90Oy8m Z3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhy ZWY9JnF1b3Q7c29sZGVyLWdldHRpbmdzdGFydGVkLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1w cm9ncmFtbWluZ21vZGVsLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1hbm5vdGF0aW9ubGl0ZXJh bHMueG1sJnF1b3Q7LyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItZWxleHRlbnNpb25zLnhtbCZxdW90Oy8mZ3Q7 PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZx dW90O3NvbGRlci1yZXNvdXJjZWxvYWRpbmcueG1sJnF1b3Q7LyZndDs8YnI+Jmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c29sZGVyLWxvZ2dp bmcueG1sJnF1b3Q7LyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItdHlwZXV0aWxpdGllcy54bWwmcXVvdDsvJmd0 Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0m cXVvdDtzb2xkZXItYmVhbm1hbmFnZXJwcm92aWRlci54bWwmcXVvdDsvJmd0Ozxicj4mZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXIt YmVhbnV0aWxpdGllcy54bWwmcXVvdDsvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1wcm9wZXJ0aWVzLnhtbCZx dW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZSBocmVmPSZxdW90O3NvbGRlci11bndyYXBzLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3NvbGRlci1kZWZh dWx0YmVhbnMueG1sJnF1b3Q7LyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzb2xkZXItZ2VuZXJpY2JlYW5zLnhtbCZxdW90 Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBo cmVmPSZxdW90O3NvbGRlci1zZXJ2aWNlaGFuZGxlci54bWwmcXVvdDsvJmd0Ozxicj4mZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3Bh cnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2Vh bSBDb25maWd1cmF0aW9uJmx0Oy90aXRsZSZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7Y29uZmlnLWludHJvZHVjdGlvbi54bWwm cXVvdDsvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZSBocmVmPSZxdW90O2NvbmZpZy14bWwtcHJvdmlkZXIueG1sJnF1b3Q7LyZndDs8YnI+Jmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+Jmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7 cGFydCZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0 O1NlYW0gUGVyc2lzdGVuY2UmbHQ7L3RpdGxlJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtwZXJzaXN0ZW5jZS1nZW5lcmFsLnht bCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQm Z3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIFRyYW5zYWN0aW9uJmx0Oy90aXRsZSZndDs8YnI+Jmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7dHJh bnNhY3Rpb24tZ2VuZXJhbC54bWwmcXVvdDsvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBTZXJ2bGV0Jmx0Oy90 aXRsZSZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl IGhyZWY9JnF1b3Q7c2VydmxldC1pbnRyb2R1Y3Rpb24ueG1sJnF1b3Q7LyZndDs8YnI+CgomZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzZXJ2 bGV0LWluc3RhbGxhdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzZXJ2bGV0LWV2ZW50cy54bWwmcXVv dDsvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtzZXJ2bGV0LWluamVjdGFibGVfcmVmcy54bWwmcXVvdDsvJmd0Ozxicj4KCiZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3Nl cnZsZXQtZXhjZXB0aW9uX2hhbmRsaW5nLnhtbCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtzZXJ2bGV0LWJlYW5t YW5hZ2VyLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7L3BhcnQmZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+Jmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIFNlY3VyaXR5Jmx0Oy90aXRsZSZndDs8 YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1 b3Q7c2VjdXJpdHktaW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgoKJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c2VjdXJpdHktYXV0 aGVudGljYXRpb24ueG1sJnF1b3Q7LyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7c2VjdXJpdHktaWRlbnRpdHltYW5hZ2VtZW50 LnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSZxdW90O3NlY3VyaXR5LWF1dGhlbnRpY2F0aW9uLWV4dGVybmFsLnhtbCZx dW90Oy8mZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNs dWRlIGhyZWY9JnF1b3Q7c2VjdXJpdHktYXV0aG9yaXphdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4m Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4mZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDtwYXJ0Jmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUm Z3Q7U2VhbSBJbnRlcm5hdGlvbmFsJmx0Oy90aXRsZSZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7aW50ZXJuYXRpb25hbC1wcmVm YWNlLnhtbCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtpbnRlcm5hdGlvbmFsLWluc3RhbGxhdGlvbi54bWwmcXVv dDsgLyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUgaHJlZj0mcXVvdDtpbnRlcm5hdGlvbmFsLWxvY2FsZXMueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2lu dGVybmF0aW9uYWwtdGltZXpvbmVzLnhtbCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtpbnRlcm5hdGlvbmFsLW1l c3NhZ2VzLnhtbCZxdW90OyAvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7L3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBGYWNlcyZsdDsvdGl0bGUmZ3Q7PGJy PiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90 O2ZhY2VzLXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7ZmFjZXMtaW5zdGFsbGF0aW9uLnht bCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0mcXVvdDtmYWNlcy1ldmVudHMueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ZhY2VzLXNj b3Blcy54bWwmcXVvdDsgLyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtmYWNlcy1tZXNzYWdlcy54bWwmcXVvdDsgLyZndDs8 YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1 b3Q7ZmFjZXMtYXJ0aWZhY3RzLnhtbCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtmYWNlcy1jb21wb25lbnRzLnht bCZxdW90OyAvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3Bh cnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBDYXRjaCZsdDsvdGl0bGUmZ3Q7PGJyPiZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2NhdGNoLWlu dHJvZHVjdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2NhdGNoLWluc3RhbGxhdGlvbi54bWwmcXVv dDsvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtjYXRjaC1jbGllbnRfdXNhZ2UueG1sJnF1b3Q7LyZndDs8YnI+Jmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7Y2F0Y2gtYWR2 YW5jZWRfdXNhZ2UueG1sJnF1b3Q7LyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtjYXRjaC1pbnRlZ3JhdGlvbi54bWwmcXVv dDsvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDtjYXRjaC1nbG9zc2FyeS54bWwmcXVvdDsvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7 PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBSZXBv cnRzJmx0Oy90aXRsZSZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlIGhyZWY9JnF1b3Q7cmVwb3J0cy1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4K CiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90 O3JlcG9ydHMtaW5zdGFsbGF0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtyZXBvcnRzLXVzYWdlLnht bCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0 Jmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBSZW1vdGluZyZsdDsvdGl0bGUmZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3JlbW90 aW5nLWdlbmVyYWwueG1sJnF1b3Q7LyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtyZW1vdGluZy1tb2RlbC54bWwmcXVvdDsv Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJl Zj0mcXVvdDtyZW1vdGluZy12YWxpZGF0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZn dDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIFJF U1QmbHQ7L3RpdGxlJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUgaHJlZj0mcXVvdDtyZXN0LXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgoKJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7cmVz dC1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3Jlc3QtZXhjZXB0aW9uLW1hcHBpbmcu eG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZSBocmVmPSZxdW90O3Jlc3QtdmFsaWRhdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+Cgom Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDty ZXN0LXRlbXBsYXRpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3Jlc3QtY2xpZW50LnhtbCZxdW90OyAv Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJl Zj0mcXVvdDtyZXN0LWRlcGVuZGVuY2llcy54bWwmcXVvdDsgLyZndDs8YnI+CgomZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0 Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0gSkNS Jmx0Oy90aXRsZSZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlIGhyZWY9JnF1b3Q7amNyLWludHJvZHVjdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+Cgom Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtq Y3ItbW9kZXNoYXBlLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2pjci1qYWNrcmFiYml0LnhtbCZxdW90Oy8m Z3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVm PSZxdW90O2pjci1ldmVudC1tYXBwaW5nLnhtbCZxdW90Oy8mZ3Q7PGJyPgoKJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7amNyLW9jbS54bWwm cXVvdDsvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0 Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3RpdGxlJmd0O1NlYW0gSk1TJmx0Oy90aXRsZSZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDtqbXMtaW50cm8ueG1s JnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZSBocmVmPSZxdW90O2ptcy1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ptcy1y ZXNvdXJjZS1pbmplY3Rpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7am1zLW1lc3NhZ2luZy54bWwm cXVvdDsgLyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNs dWRlIGhyZWY9JnF1b3Q7am1zLXJvdXRpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O2ptcy1tYXBwaW5n LWludGVyZmFjZXMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJy PiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+Jmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtIFZhbGlkYXRpb24mbHQ7L3Rp dGxlJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUg aHJlZj0mcXVvdDt2YWxpZGF0aW9uLWludHJvZHVjdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KCiZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3Zh bGlkYXRpb24taW5zdGFsbGF0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZSBocmVmPSZxdW90O3ZhbGlkYXRpb24tZGVwZW5k ZW5jeS1pbmplY3Rpb24ueG1sJnF1b3Q7LyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlIGhyZWY9JnF1b3Q7dmFsaWRhdGlvbi1tZXRob2QtdmFsaWRh dGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7L3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbSBXaWNrZXQmbHQ7L3RpdGxlJmd0Ozxicj4m Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDt3 aWNrZXQtcHJlZmFjZS54bWwmcXVvdDsgLyZndDs8YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUgaHJlZj0mcXVvdDt3aWNrZXQtaW5zdGFsbGF0aW9uLnht bCZxdW90OyAvJmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0mcXVvdDt3aWNrZXQtZmVhdHVyZXMueG1sJnF1b3Q7IC8mZ3Q7PGJyPiZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgoKJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7 L2Jvb2smZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFy Z2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4gJmx0O21haWx0bzo8YSBo cmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2Vh bS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPiZndDsgPGJyPgoKJmd0OyZndDsgJmx0O21haWx0bzo8 YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+ c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPiAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpz ZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5q Ym9zcy5vcmc8L2E+Jmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZsdDttYWlsdG86 PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsi PnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86 c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMu amJvc3Mub3JnPC9hPiZndDsgPGJyPgoKJmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlz dHMuamJvc3Mub3JnPC9hPiAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0 cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+ Jmd0OyZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0i aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1k ZXY8L2E+PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4m Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IC0tPGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBMaW5jb2xuIEJheHRl ciwgSUlJPGJyPgoKJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6 Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+ Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9zY3J1bXNoYXJr LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9zY3J1bXNoYXJrLmNvbTwvYT48YnI+Jmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZxdW90O0tlZXAgaXQgU2ltcGxlJnF1b3Q7PGJyPgoK Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+Jmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAtLTxi cj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgTGluY29sbiBCYXh0ZXIsIElJSTxicj4K CiZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8vb2Nwc29mdC5j b20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8vc2NydW1zaGFyay5jb20iIHRhcmdl dD0iX2JsYW5rIj5odHRwOi8vc2NydW1zaGFyay5jb208L2E+PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmcXVvdDtLZWVwIGl0IFNpbXBsZSZxdW90Ozxicj4KCiZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7PGJyPiZndDsmZ3Q7ICZndDsmZ3Q7PGJyPiZndDsgPGJyPjwvZGl2Pjwv ZGl2PjwvZGl2Pgo8L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48YnI+LS0g PGJyPkxpbmNvbG4gQmF4dGVyLCBJSUk8YnI+PGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIj5o dHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9zY3J1bXNoYXJrLmNvbSI+ aHR0cDovL3NjcnVtc2hhcmsuY29tPC9hPjxicj4mcXVvdDtLZWVwIGl0IFNpbXBsZSZxdW90Ozxi cj4K --===============6822592972600535286==-- From sbryzak at redhat.com Thu Sep 1 23:52:01 2011 Content-Type: multipart/mixed; boundary="===============3221631172610987904==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 13:51:57 +1000 Message-ID: <4E6052DD.1090602@redhat.com> In-Reply-To: CAEp_U4EKpN8NBP-wo5OJvpT26Kb837EpCr3LmtkxJdeiQt2Q6g@mail.gmail.com --===============3221631172610987904== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Yeah, that's a good idea. Do you have plans to provide documentation as = part of the Forge download? I'm thinking of the users who might have = no/limited connectivity who won't be able to access the Forge docs = online. Also, how does confluence work in conjunction with our = documentation team? From my understanding all their tools for = translating etc are based on Publican/Docbook. On 02/09/11 13:48, Lincoln Baxter, III wrote: > Actually, maybe the best thing to do is just to add a new section to = > the Seam umbrella doc, with an HTML link to the forge confluence space? > > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III = > > wrote: > > Ok. If you include beta1, the artifact for dist is: > > org.jboss.forge:forge-modules:1.0.0.Beta1 > > -- > Lincoln Baxter's Droid > http://ocpsoft.com > "Keep it Simple" > > On Sep 1, 2011 7:52 PM, "Shane Bryzak" > wrote: > > Yep, I planned on extracting it in the forge folder. > > > > On 02/09/11 09:43, Lincoln Baxter, III wrote: > >> > >> Also, if forge is unzipped. It should be done so in its own > subfolder. > >> > >> Ill try to catch you online tonight and make sure you've got > the right > >> artifact. (it moved temporarily during the jboss modules > transition. > >> > >> -- > >> Lincoln Baxter's Droid > >> http://ocpsoft.com > >> "Keep it Simple" > >> > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" > > >> >> wrote: > >> > Well. The forge distribution doesn't contain docs either. > They are > >> purely > >> > online at this point. So I think just don't worry about it. This > >> confluence > >> > thing is a bit of a pain in that regard. > >> > > >> > -- > >> > Lincoln Baxter's Droid > >> > http://ocpsoft.com > >> > "Keep it Simple" > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" > >> >> wrote: > >> >> Unless an export could be automated as part of the build > process, I > >> >> don't think that's a good idea. How about we just include > the Forge > >> >> distribution extracted inside the Seam distribution? The > documentation > >> >> won't be combined with the main Seam docs, but as long as > it's in the > >> >> Forge distribution then a user should be able to find it > without too > >> >> much effort. > >> >> > >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: > >> >>> > >> >>> I'm not really sure how to do this, then. There are no > sources since > >> >>> the docs are in confluence. > >> >>> > >> >>> I suppose an export could work? > >> >>> > >> >>> -- > >> >>> Lincoln Baxter's Droid > >> >>> http://ocpsoft.com > >> >>> "Keep it Simple" > >> >>> > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" > >> > > >> >>> > >>> wrote: > >> >>> > The source artifact for the Forge docs were being pulled > in like > >> this: > >> >>> > > >> >>> > > >> >>> > org.jboss.seam.forge > >> >>> > forge-reference-guide > >> >>> > 1.0.0-SNAPSHOT > >> >>> > sources > >> >>> > jar > >> >>> > > >> >>> > > >> >>> > When I update the version to 1.0.0.Beta1, it can't find > the source - > >> >>> was > >> >>> > the Beta1 source artifact published to Maven? > >> >>> > > >> >>> > > >> >>> > > >> >>> > On 01/09/11 03:02, Lincoln Baxter, III wrote: > >> >>> >> https://docs.jboss.org/author/display/SEAMFORGE/Home > >> >>> >> > >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln Baxter, III > >> >>> >> > > >> >> > >> >>> > > >> >>>> wrote: > >> >>> >> > >> >>> >> Just checking - the Forge docs are no longer in SVN / are in > >> >>> >> Confluence; have you taken this into account? > >> >>> >> > >> >>> >> Also, the which distribution are you including? You > could choose > >> >>> >> either Beta1 or the latest SNAPSHOT (which is actually > in a new > >> >>> >> location - moved back to the original > >> >>> >> org.jboss.forge:forge-distribution - though it looks > like the > >> >>> >> build hasn't deployed artifacts in a little while - > looking in to > >> >>> >> that) > >> >>> >> > >> >>> >> ~Lincoln > >> >>> >> > >> >>> >> > >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane Bryzak > >> > > > >> >>> > >> > >> >>> >> > > > >> > >>>> wrote: > >> >>> >> > >> >>> >> Module leads, > >> >>> >> > >> >>> >> Can you please review the list below and confirm that the > >> >>> >> documentation > >> >>> >> chapters are correct for your module. Also, I would like > >> >>> >> everyone to > >> >>> >> take a moment to review the module documentation guidelines, > >> >>> >> as there > >> >>> >> were a number of breakages in the bundled documentation > build > >> >>> >> because > >> >>> >> the guidelines weren't adhered to, particularly in the new > >> >>> >> modules for > >> >>> >> Seam 3.1: > >> >>> >> > >> >>> >> 1) Always prefix the filenames of your documentation > chapters > >> >>> >> with the > >> >>> >> name of your module. E.g. security-authentication.xml, > >> >>> >> security-authorization.xml, etc. > >> >>> >> > >> >>> >> 2) Whenever you assign an ID to a docbook element, such as a > >> >>> >> > >> >>> >> or
, ALWAYS prefix the id with your module > name. For > >> >>> >> example, > >> >>> >> or
>> >>> >> id=3D"security-getting-started">. As all of the chapters for > >> >>> >> all modules > >> >>> >> are combined when building the bundled documentation, > all IDs > >> >>> >> must be > >> >>> >> unique. This is a particularly time consuming problem to fix > >> >>> >> because > >> >>> >> the error output from the Maven docbook plugin doesn't tell > >> >>> >> you which > >> >>> >> files are the problem ones. > >> >>> >> > >> >>> >> 3) When adding, renaming or deleting a chapter of your > >> >>> >> documentation, > >> >>> >> please notify me of the changes so that I can update > >> >>> >> bundled_master.xml. This file must be manually kept up to > >> >>> >> date whenever > >> >>> >> any documentation changes are made. > >> >>> >> > >> >>> >> Thanks, > >> >>> >> Shane > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> >> >>> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" > [ ]> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam 3 > >> >>> >> Bundled Reference Guide > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Forge > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Solder > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Configuration > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Persistence > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Transaction > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Servlet > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Security > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam International > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Faces > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Catch > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Reports > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Remoting > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam REST > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam JCR > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam JMS > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Validation > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> Seam Wicket > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> _______________________________________________ > >> >>> >> seam-dev mailing list > >> >>> >> seam-dev(a)lists.jboss.org > > > >> >> > >> >>> > > >> >>> > >> >>> >> https://lists.jboss.org/mailman/listinfo/seam-dev > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> -- > >> >>> >> Lincoln Baxter, III > >> >>> >> http://ocpsoft.com > >> >>> >> http://scrumshark.com > >> >>> >> "Keep it Simple" > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> -- > >> >>> >> Lincoln Baxter, III > >> >>> >> http://ocpsoft.com > >> >>> >> http://scrumshark.com > >> >>> >> "Keep it Simple" > >> >>> > > >> >> > > > > > > > -- = > Lincoln Baxter, III > http://ocpsoft.com > http://scrumshark.com > "Keep it Simple" --===============3221631172610987904== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNP LTg4NTktMSIKICAgICAgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4KICA8L2hlYWQ+CiAgPGJv ZHkgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICBZZWFoLCB0aGF0J3MgYSBn b29kIGlkZWEuJm5ic3A7IERvIHlvdSBoYXZlIHBsYW5zIHRvIHByb3ZpZGUKICAgIGRvY3VtZW50 YXRpb24gYXMgcGFydCBvZiB0aGUgRm9yZ2UgZG93bmxvYWQ/Jm5ic3A7IEknbSB0aGlua2luZyBv ZiB0aGUKICAgIHVzZXJzIHdobyBtaWdodCBoYXZlIG5vL2xpbWl0ZWQgY29ubmVjdGl2aXR5IHdo byB3b24ndCBiZSBhYmxlIHRvCiAgICBhY2Nlc3MgdGhlIEZvcmdlIGRvY3Mgb25saW5lLiZuYnNw OyBBbHNvLCBob3cgZG9lcyBjb25mbHVlbmNlIHdvcmsgaW4KICAgIGNvbmp1bmN0aW9uIHdpdGgg b3VyIGRvY3VtZW50YXRpb24gdGVhbT8mbmJzcDsgRnJvbSBteSB1bmRlcnN0YW5kaW5nIGFsbAog ICAgdGhlaXIgdG9vbHMgZm9yIHRyYW5zbGF0aW5nIGV0YyBhcmUgYmFzZWQgb24gUHVibGljYW4v RG9jYm9vay48YnI+CiAgICA8YnI+CiAgICBPbiAwMi8wOS8xMSAxMzo0OCwgTGluY29sbiBCYXh0 ZXIsIElJSSB3cm90ZToKICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQUVwX1U0RUtwTjhOQlAt d281T0p2cFQyNktiODM3RXBDcjNMbXRreEpkZWlRdDJRNmdAbWFpbC5nbWFpbC5jb20iCiAgICAg IHR5cGU9ImNpdGUiPkFjdHVhbGx5LCBtYXliZSB0aGUgYmVzdCB0aGluZyB0byBkbyBpcyBqdXN0 IHRvIGFkZCBhCiAgICAgIG5ldyBzZWN0aW9uIHRvIHRoZSBTZWFtIHVtYnJlbGxhIGRvYywgd2l0 aCBhbiBIVE1MIGxpbmsgdG8gdGhlCiAgICAgIGZvcmdlIGNvbmZsdWVuY2Ugc3BhY2U/PGJyPgog ICAgICA8YnI+CiAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIFNlcCAxLCAy MDExIGF0IDc6NTQgUE0sIExpbmNvbG4KICAgICAgICBCYXh0ZXIsIElJSSA8c3BhbiBkaXI9Imx0 ciI+Jmx0OzxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgaHJlZj0ibWFpbHRv OmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4mZ3Q7 PC9zcGFuPgogICAgICAgIHdyb3RlOjxicj4KICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21h aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAKICAgICAgICAgIC44ZXg7Ym9yZGVyLWxlZnQ6 MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPgogICAgICAgICAgPHA+T2suIElmIHlv dSBpbmNsdWRlIGJldGExLCB0aGUgYXJ0aWZhY3QgZm9yIGRpc3QgaXM6PC9wPgogICAgICAgICAg PHA+b3JnLmpib3NzLmZvcmdlOmZvcmdlLW1vZHVsZXM6MS4wLjAuQmV0YTEgPC9wPgogICAgICAg ICAgPGRpdiBjbGFzcz0iaW0iPgogICAgICAgICAgICA8cD4tLTxicj4KICAgICAgICAgICAgICBM aW5jb2xuIEJheHRlcidzIERyb2lkPGJyPgogICAgICAgICAgICAgIDxhIG1vei1kby1ub3Qtc2Vu ZD0idHJ1ZSIgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIgogICAgICAgICAgICAgICAgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgIktlZXAg aXQgU2ltcGxlIjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZ21h aWxfcXVvdGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbSI+T24gU2VwIDEsIDIwMTEgNzo1 MiBQTSwgIlNoYW5lIEJyeXphayIgJmx0OzxhCiAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNl bmQ9InRydWUiIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iCiAgICAgICAgICAgICAg ICB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDsgd3JvdGU6PGJyCiAg ICAgICAgICAgICAgICB0eXBlPSJhdHRyaWJ1dGlvbiI+CiAgICAgICAgICAgICAgJmd0OyBZZXAs IEkgcGxhbm5lZCBvbiBleHRyYWN0aW5nIGl0IGluIHRoZSBmb3JnZSBmb2xkZXIuPGJyPgogICAg ICAgICAgICAgICZndDsgPGJyPgogICAgICAgICAgICAgICZndDsgT24gMDIvMDkvMTEgMDk6NDMs IExpbmNvbG4gQmF4dGVyLCBJSUkgd3JvdGU6PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICZndDsmZ3Q7IEFsc28sIGlmIGZvcmdlIGlzIHVuemlwcGVkLiBJdCBz aG91bGQgYmUgZG9uZSBzbwogICAgICAgICAgICAgIGluIGl0cyBvd24gc3ViZm9sZGVyLjxicj4K ICAgICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyBJbGwgdHJ5 IHRvIGNhdGNoIHlvdSBvbmxpbmUgdG9uaWdodCBhbmQgbWFrZSBzdXJlCiAgICAgICAgICAgICAg eW91J3ZlIGdvdCB0aGUgcmlnaHQgPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7IGFydGlmYWN0 LiAoaXQgbW92ZWQgdGVtcG9yYXJpbHkgZHVyaW5nIHRoZSBqYm9zcwogICAgICAgICAgICAgIG1v ZHVsZXMgdHJhbnNpdGlvbi48YnI+CiAgICAgICAgICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgJmd0OyZndDsgLS08YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgTGluY29sbiBCYXh0 ZXIncyBEcm9pZDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyA8YSBtb3otZG8tbm90LXNlbmQ9 InRydWUiCiAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vb2Nwc29mdC5jb20iIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7 ICJLZWVwIGl0IFNpbXBsZSI8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgJmd0OyZndDsgT24gU2VwIDEsIDIwMTEgNzo0MSBQTSwgIkxpbmNvbG4gQmF4dGVyLCBJ SUkiCiAgICAgICAgICAgICAgJmx0OzxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAg ICAgICAgIGhyZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPgogICAgICAgICAgICAgIDxicj4KICAgICAg ICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltIj4mZ3Q7Jmd0OyAmbHQ7bWFp bHRvOjxhCiAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAg ICAgICBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5r Ij5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4mZ3Q7Jmd0OwogICAgICAgICAgICAgIHdyb3Rl Ojxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltIj4KICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7IFdlbGwuIFRoZSBmb3JnZSBkaXN0cmlidXRpb24gZG9l c24ndCBjb250YWluCiAgICAgICAgICAgICAgZG9jcyBlaXRoZXIuIFRoZXkgYXJlIDxicj4KICAg ICAgICAgICAgICAmZ3Q7Jmd0OyBwdXJlbHk8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyBvbmxpbmUgYXQgdGhpcyBwb2ludC4gU28gSSB0aGluayBqdXN0IGRvbid0CiAgICAgICAgICAg ICAgd29ycnkgYWJvdXQgaXQuIFRoaXMgPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7IGNvbmZs dWVuY2U8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyB0aGluZyBpcyBhIGJpdCBvZiBh IHBhaW4gaW4gdGhhdCByZWdhcmQuPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDs8YnI+ CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyAtLTxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7IExpbmNvbG4gQmF4dGVyJ3MgRHJvaWQ8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICBocmVmPSJodHRw Oi8vb2Nwc29mdC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJy PgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsgIktlZXAgaXQgU2ltcGxlIjxicj4KICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7IE9uIFNlcCAxLCAyMDExIDY6MDUgUE0sICJTaGFuZSBCcnl6 YWsiICZsdDs8YQogICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJt YWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsi PnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gPGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg ICAgPGRpdiBjbGFzcz0iaW0iPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZsdDttYWlsdG86PGEg bW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNicnl6 YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7 Jmd0OwogICAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyBVbmxlc3MgYW4gZXhwb3J0IGNvdWxkIGJlIGF1dG9tYXRlZCBhcwogICAgICAgICAgICAg IHBhcnQgb2YgdGhlIGJ1aWxkIHByb2Nlc3MsIEk8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsgZG9uJ3QgdGhpbmsgdGhhdCdzIGEgZ29vZCBpZGVhLiBIb3cKICAgICAgICAgICAg ICBhYm91dCB3ZSBqdXN0IGluY2x1ZGUgdGhlIEZvcmdlPGJyPgogICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7IGRpc3RyaWJ1dGlvbiBleHRyYWN0ZWQgaW5zaWRlIHRoZSBTZWFtCiAgICAg ICAgICAgICAgZGlzdHJpYnV0aW9uPyBUaGUgZG9jdW1lbnRhdGlvbjxicj4KICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB3b24ndCBiZSBjb21iaW5lZCB3aXRoIHRoZSBtYWluIFNlYW0K ICAgICAgICAgICAgICBkb2NzLCBidXQgYXMgbG9uZyBhcyBpdCdzIGluIHRoZTxicj4KICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBGb3JnZSBkaXN0cmlidXRpb24gdGhlbiBhIHVzZXIg c2hvdWxkIGJlCiAgICAgICAgICAgICAgYWJsZSB0byBmaW5kIGl0IHdpdGhvdXQgdG9vPGJyPgog ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IG11Y2ggZWZmb3J0Ljxicj4KICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyBPbiAwMi8wOS8xMSAwMToyMiwgTGluY29sbiBCYXh0ZXIsIElJSQogICAgICAgICAgICAgIHdy b3RlOjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IEknbSBub3QgcmVhbGx5IHN1cmUgaG93IHRvIGRv IHRoaXMsCiAgICAgICAgICAgICAgdGhlbi4gVGhlcmUgYXJlIG5vIHNvdXJjZXMgc2luY2U8YnI+ CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IHRoZSBkb2NzIGFyZSBpbiBjb25m bHVlbmNlLjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IEkgc3VwcG9zZSBhbiBleHBvcnQgY291bGQg d29yaz88YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAtLTxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgTGluY29sbiBCYXh0ZXIncyBEcm9pZDxicj4KICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAg ICAgICAgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29j cHNvZnQuY29tPC9hPjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgIktl ZXAgaXQgU2ltcGxlIjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+ CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IE9uIEF1ZyAzMSwgMjAxMSA1OjA5 IFBNLCAiU2hhbmUKICAgICAgICAgICAgICBCcnl6YWsiICZsdDs8YSBtb3otZG8tbm90LXNlbmQ9 InRydWUiCiAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0 YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAgICAgICAgIDxicj4K ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1 ZSIKICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdl dD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0Ozxicj4KICAgICAgICAgICAgPC9k aXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltIj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0 O21haWx0bzo8YQogICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJt YWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsi PnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gJmx0O21haWx0bzo8YQogICAgICAgICAgICAgICAgbW96 LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAg ICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7Jmd0 OyZndDsKICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICA8ZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Img1Ij4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IFRoZSBzb3VyY2UgYXJ0aWZhY3QgZm9yIHRoZQog ICAgICAgICAgICAgICAgRm9yZ2UgZG9jcyB3ZXJlIGJlaW5nIHB1bGxlZCBpbiBsaWtlIDxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7IHRoaXM6PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyAmbHQ7ZGVwZW5kZW5jeSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OwogICAgICAgICAgICAgICAgJmx0O2dyb3VwSWQmZ3Q7b3JnLmpi b3NzLnNlYW0uZm9yZ2UmbHQ7L2dyb3VwSWQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpZmFjdElkJmd0O2Zv cmdlLXJlZmVyZW5jZS1ndWlkZSZsdDsvYXJ0aWZhY3RJZCZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OwogICAgICAgICAgICAgICAgJmx0O3ZlcnNpb24m Z3Q7MS4wLjAtU05BUFNIT1QmbHQ7L3ZlcnNpb24mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAgICAgICAgICAgICAgICZsdDtjbGFzc2lmaWVyJmd0 O3NvdXJjZXMmbHQ7L2NsYXNzaWZpZXImZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsgJmx0O3R5cGUmZ3Q7amFyJmx0Oy90eXBlJmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7ICZsdDsvZGVwZW5kZW5jeSZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IFdoZW4gSSB1cGRhdGUgdGhlIHZl cnNpb24gdG8KICAgICAgICAgICAgICAgIDEuMC4wLkJldGExLCBpdCBjYW4ndCBmaW5kIHRoZSBz b3VyY2UgLTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyB3YXM8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyB0aGUgQmV0YTEgc291 cmNlIGFydGlmYWN0CiAgICAgICAgICAgICAgICBwdWJsaXNoZWQgdG8gTWF2ZW4/PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsgT24gMDEvMDkvMTEgMDM6MDIsIExpbmNvbG4KICAgICAgICAgICAgICAgIEJheHRl ciwgSUlJIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyA8YQogICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAg ICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZG9jcy5qYm9zcy5vcmcvYXV0aG9yL2Rpc3BsYXkv U0VBTUZPUkdFL0hvbWUiCiAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5odHRwczov L2RvY3MuamJvc3Mub3JnL2F1dGhvci9kaXNwbGF5L1NFQU1GT1JHRS9Ib21lPC9hPjxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBPbiBXZWQsIEF1ZyAzMSwgMjAx MSBhdAogICAgICAgICAgICAgICAgMTowMiBQTSwgTGluY29sbiBCYXh0ZXIsIElJSTxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7PGEKICAgICAg ICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVm PSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xu YmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgbW96LWRv LW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86bGluY29sbmJh eHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwv YT4mZ3Q7CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7 bWFpbHRvOjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0i bWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJh eHRlckBnbWFpbC5jb208L2E+CiAgICAgICAgICAgICAgICAmbHQ7bWFpbHRvOjxhIG1vei1kby1u b3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0 ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+ Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0O21h aWx0bzo8YQogICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAg ICAgICAgICAgIGhyZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPgogICAgICAgICAgICAgICAgJmx0O21h aWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgIGhyZWY9Im1h aWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5iYXh0 ZXJAZ21haWwuY29tPC9hPiZndDsKICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAg ICAgICAgICBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2Js YW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWls dG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJtYWls dG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVy QGdtYWlsLmNvbTwvYT4mZ3Q7Jmd0OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICB3cm90ZTo8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgSnVzdCBjaGVja2luZyAt IHRoZSBGb3JnZQogICAgICAgICAgICAgICAgZG9jcyBhcmUgbm8gbG9uZ2VyIGluIFNWTiAvIGFy ZSBpbjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBD b25mbHVlbmNlOyBoYXZlIHlvdQogICAgICAgICAgICAgICAgdGFrZW4gdGhpcyBpbnRvIGFjY291 bnQ/PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IEFsc28sIHRo ZSB3aGljaAogICAgICAgICAgICAgICAgZGlzdHJpYnV0aW9uIGFyZSB5b3UgaW5jbHVkaW5nPyBZ b3UgY291bGQgY2hvb3NlPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7IGVpdGhlciBCZXRhMSBvciB0aGUKICAgICAgICAgICAgICAgIGxhdGVzdCBTTkFQ U0hPVCAod2hpY2ggaXMgYWN0dWFsbHkgaW4gYSBuZXc8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgbG9jYXRpb24gLSBtb3ZlZCBiYWNrIHRvCiAgICAg ICAgICAgICAgICB0aGUgb3JpZ2luYWw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgIG9yZy5qYm9zcy5mb3JnZTpmb3JnZS1k aXN0cmlidXRpb24gLSB0aG91Z2ggaXQgbG9va3MKICAgICAgICAgICAgICAgIGxpa2UgdGhlPGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGJ1aWxkIGhh c24ndCBkZXBsb3llZAogICAgICAgICAgICAgICAgYXJ0aWZhY3RzIGluIGEgbGl0dGxlIHdoaWxl IC0gbG9va2luZyBpbiB0bzxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyB0aGF0KTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyB+TGluY29sbjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBPbiBX ZWQsIEF1ZyAzMSwgMjAxMSBhdAogICAgICAgICAgICAgICAgMTI6MTQgQU0sIFNoYW5lIEJyeXph ayA8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7PGEgbW96LWRvLW5vdC1zZW5kPSJ0 cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0 YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAgICAgICAgICAgJmx0 O21haWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgIGhyZWY9 Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhh dC5jb208L2E+Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm bHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAg ICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJf YmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86 PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86 c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9h PiZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDttYWlsdG86PGEKICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVl IgogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJn ZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAgICAgICAgICAgJmx0O21h aWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgIGhyZWY9Im1h aWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5j b208L2E+Jmd0OwogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmx0O21haWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgIGhy ZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJl ZGhhdC5jb208L2E+CiAgICAgICAgICAgICAgICAmbHQ7bWFpbHRvOjxhIG1vei1kby1ub3Qtc2Vu ZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNv bSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7Jmd0OyZndDsmZ3Q7 CiAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgTW9kdWxlIGxlYWRzLDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyBDYW4geW91IHBsZWFzZSByZXZpZXcgdGhlCiAgICAgICAgICAgICAgICBs aXN0IGJlbG93IGFuZCBjb25maXJtIHRoYXQgdGhlPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGRvY3VtZW50YXRpb248YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgY2hhcHRlcnMgYXJlIGNvcnJlY3QgZm9y CiAgICAgICAgICAgICAgICB5b3VyIG1vZHVsZS4gQWxzbywgSSB3b3VsZCBsaWtlPGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGV2ZXJ5b25lIHRvPGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHRha2UgYSBt b21lbnQgdG8gcmV2aWV3CiAgICAgICAgICAgICAgICB0aGUgbW9kdWxlIGRvY3VtZW50YXRpb24g Z3VpZGVsaW5lcyw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgYXMgdGhlcmU8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgd2VyZSBhIG51bWJlciBvZgogICAgICAgICAgICAgICAgYnJlYWthZ2VzIGluIHRo ZSBidW5kbGVkIGRvY3VtZW50YXRpb24gYnVpbGQ8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgYmVjYXVzZTxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB0aGUgZ3VpZGVsaW5lcyB3ZXJlbid0CiAgICAgICAg ICAgICAgICBhZGhlcmVkIHRvLCBwYXJ0aWN1bGFybHkgaW4gdGhlIG5ldzxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBtb2R1bGVzIGZvcjxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBTZWFtIDMuMTo8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgMSkgQWx3YXlzIHByZWZp eCB0aGUKICAgICAgICAgICAgICAgIGZpbGVuYW1lcyBvZiB5b3VyIGRvY3VtZW50YXRpb24gY2hh cHRlcnM8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg d2l0aCB0aGU8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgbmFtZSBvZiB5b3VyIG1vZHVsZS4gRS5nLgogICAgICAgICAgICAgICAgc2VjdXJpdHktYXV0 aGVudGljYXRpb24ueG1sLDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgc2VjdXJpdHktYXV0aG9yaXphdGlvbi54bWwsIGV0 Yy48YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgMikgV2hlbmV2 ZXIgeW91IGFzc2lnbiBhbgogICAgICAgICAgICAgICAgSUQgdG8gYSBkb2Nib29rIGVsZW1lbnQs IHN1Y2ggYXMgYTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7Y2hhcHRlciZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgb3IgJmx0O3NlY3Rpb24mZ3Q7LAogICAgICAgICAgICAgICAgQUxXQVlT IHByZWZpeCB0aGUgaWQgd2l0aCB5b3VyIG1vZHVsZSBuYW1lLiBGb3I8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgZXhhbXBsZSw8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O2NoYXB0ZXIKICAgICAg ICAgICAgICAgIGlkPSJzZWN1cml0eS1pbnRyb2R1Y3Rpb24iJmd0OyBvciAmbHQ7c2VjdGlvbjxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAg ICAgICAgICAgaWQ9InNlY3VyaXR5LWdldHRpbmctc3RhcnRlZCImZ3Q7LiBBcyBhbGwgb2YgdGhl CiAgICAgICAgICAgICAgICBjaGFwdGVycyBmb3I8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgYWxsIG1vZHVsZXM8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgYXJlIGNvbWJpbmVkIHdoZW4KICAgICAgICAg ICAgICAgIGJ1aWxkaW5nIHRoZSBidW5kbGVkIGRvY3VtZW50YXRpb24sIGFsbCBJRHM8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgbXVzdCBiZTxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB1bmlxdWUuIFRo aXMgaXMgYQogICAgICAgICAgICAgICAgcGFydGljdWxhcmx5IHRpbWUgY29uc3VtaW5nIHByb2Js ZW0gdG8gZml4PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7IGJlY2F1c2U8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgdGhlIGVycm9yIG91dHB1dCBmcm9tIHRoZQogICAgICAgICAgICAgICAgTWF2ZW4gZG9j Ym9vayBwbHVnaW4gZG9lc24ndCB0ZWxsPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7IHlvdSB3aGljaDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBmaWxlcyBhcmUgdGhlIHByb2JsZW0KICAgICAgICAgICAg ICAgIG9uZXMuPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IDMp IFdoZW4gYWRkaW5nLCByZW5hbWluZwogICAgICAgICAgICAgICAgb3IgZGVsZXRpbmcgYSBjaGFw dGVyIG9mIHlvdXI8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgZG9jdW1lbnRhdGlvbiw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgcGxlYXNlIG5vdGlmeSBtZSBvZiB0aGUKICAgICAgICAgICAgICAgIGNo YW5nZXMgc28gdGhhdCBJIGNhbiB1cGRhdGU8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgYnVuZGxlZF9tYXN0ZXIueG1sLiBUaGlzCiAgICAgICAgICAg ICAgICBmaWxlIG11c3QgYmUgbWFudWFsbHkga2VwdCB1cCB0bzxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBkYXRlIHdoZW5ldmVyPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFueSBkb2N1bWVudGF0aW9u IGNoYW5nZXMKICAgICAgICAgICAgICAgIGFyZSBtYWRlLjxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBUaGFua3MsPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IFNoYW5lPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDs/eG1sIHZlcnNpb249JzEuMCcKICAgICAgICAgICAgICAgIGVuY29k aW5nPSJ1dGYtOCI/Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7IURPQ1RZUEUgYm9vayBQVUJMSUMKICAgICAgICAgICAgICAgICItLy9P QVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjUvL0VOIjxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAiPGEKICAgICAgICAgICAgICAgICAgbW96LWRvLW5v dC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9w ZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQiCiAgICAgICAgICAgICAgICAgIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9k b2Nib29reC5kdGQ8L2E+IgogICAgICAgICAgICAgICAgWyBdJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7Ym9vayBsYW5nPSJlbiIKICAg ICAgICAgICAgICAgIHhtbG5zOnhpPSI8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAg ICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlPC9hPiImZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0b2MgLyZndDs8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0K ICAgICAgICAgICAgICAgIDMmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7c3VidGl0bGUmZ3Q7QnVuZGxlZAogICAgICAg ICAgICAgICAgUmVmZXJlbmNlIEd1aWRlJmx0Oy9zdWJ0aXRsZSZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAg ICAgIGhyZWY9ImJ1bmRsZWRfY3JlZGl0cy54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAg ICAgIGhyZWY9ImJ1bmRsZWRfaW50cm8ueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O3RpdGxlJmd0 O0ZvcmdlJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9ImZvcmdl LXByZWZhY2UueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0iZm9yZ2Ut aW5zdGFsbGF0aW9uLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9ImZv cmdlLWNyZWF0aW5nLWJhc2ljLXdlYmFwcC54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAg ICAgICBocmVmPSJmb3JnZS1wbHVnaW4tZGV2LnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1Nl YW0KICAgICAgICAgICAgICAgIFNvbGRlciZsdDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSJzb2xkZXItcHJlZmFjZS54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9InNvbGRlci1nZXR0aW5nc3RhcnRlZC54bWwiLyZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgIGhyZWY9InNvbGRlci1wcm9ncmFtbWluZ21vZGVsLnhtbCIvJmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZQogICAgICAgICAgICAgICAgaHJlZj0ic29sZGVyLWFubm90YXRpb25saXRlcmFscy54bWwi LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1lbGV4dGVuc2lvbnMu eG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJzb2xkZXItcmVzb3VyY2Vs b2FkaW5nLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0ic29sZGVyLWxv Z2dpbmcueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJzb2xkZXItdHlw ZXV0aWxpdGllcy54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9InNvbGRl ci1iZWFubWFuYWdlcnByb3ZpZGVyLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAg aHJlZj0ic29sZGVyLWJlYW51dGlsaXRpZXMueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAg ICAgICBocmVmPSJzb2xkZXItcHJvcGVydGllcy54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9InNvbGRlci11bndyYXBzLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0ic29sZGVyLWRlZmF1bHRiZWFucy54bWwiLyZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgIGhyZWY9InNvbGRlci1nZW5lcmljYmVhbnMueG1sIi8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICBocmVmPSJzb2xkZXItc2VydmljZWhhbmRsZXIueG1sIi8mZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICBDb25maWd1cmF0aW9uJmx0Oy90aXRsZSZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9ImNvbmZpZy1pbnRyb2R1Y3Rpb24ueG1s Ii8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJjb25maWcteG1sLXByb3ZpZGVy LnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgUGVyc2lzdGVu Y2UmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0icGVyc2lzdGVu Y2UtZ2VuZXJhbC54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAg IFRyYW5zYWN0aW9uJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 InRyYW5zYWN0aW9uLWdlbmVyYWwueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAg ICAgICAgICAgICBTZXJ2bGV0Jmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9InNlcnZsZXQtaW50cm9kdWN0aW9uLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0ic2VydmxldC1pbnN0YWxsYXRpb24ueG1sIi8mZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAg ICAgICAgICAgICBocmVmPSJzZXJ2bGV0LWV2ZW50cy54bWwiLyZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgIGhyZWY9InNlcnZsZXQtaW5qZWN0YWJsZV9yZWZzLnhtbCIvJmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZQogICAgICAgICAgICAgICAgaHJlZj0ic2VydmxldC1leGNlcHRpb25faGFuZGxpbmcueG1sIiAv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0ic2VydmxldC1iZWFubWFuYWdlci54 bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIFNlY3VyaXR5Jmx0 Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9InNlY3VyaXR5LWludHJv ZHVjdGlvbi54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9InNlY3VyaXR5 LWF1dGhlbnRpY2F0aW9uLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0i c2VjdXJpdHktaWRlbnRpdHltYW5hZ2VtZW50LnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0ic2VjdXJpdHktYXV0aGVudGljYXRpb24tZXh0ZXJuYWwueG1sIi8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJzZWN1cml0eS1hdXRob3JpemF0aW9uLnhtbCIv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgSW50ZXJuYXRpb25hbCZs dDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJpbnRlcm5hdGlvbmFs LXByZWZhY2UueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0iaW50ZXJu YXRpb25hbC1pbnN0YWxsYXRpb24ueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAg aHJlZj0iaW50ZXJuYXRpb25hbC1sb2NhbGVzLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9ImludGVybmF0aW9uYWwtdGltZXpvbmVzLnhtbCIgLyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgIGhyZWY9ImludGVybmF0aW9uYWwtbWVzc2FnZXMueG1sIiAvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3Bh cnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtw YXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgRmFjZXMmbHQ7L3RpdGxlJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0iZmFjZXMtcHJlZmFjZS54bWwiIC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJmYWNlcy1pbnN0YWxsYXRpb24ueG1sIiAvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7 eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0iZmFjZXMtZXZlbnRzLnhtbCIgLyZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9ImZhY2VzLXNjb3Blcy54bWwiIC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJmYWNlcy1tZXNzYWdlcy54bWwiIC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJmYWNlcy1hcnRpZmFjdHMueG1sIiAvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0iZmFjZXMtY29tcG9uZW50cy54bWwiIC8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsv cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICBDYXRjaCZsdDsvdGl0bGUmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJjYXRjaC1pbnRyb2R1Y3Rpb24ueG1sIi8m Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJjYXRjaC1pbnN0YWxsYXRpb24ueG1s Ii8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJjYXRjaC1jbGllbnRfdXNhZ2Uu eG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJjYXRjaC1hZHZhbmNlZF91 c2FnZS54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9ImNhdGNoLWludGVn cmF0aW9uLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0iY2F0Y2gtZ2xv c3NhcnkueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICBSZXBv cnRzJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9InJlcG9ydHMt cHJlZmFjZS54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJyZXBvcnRz LWluc3RhbGxhdGlvbi54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJy ZXBvcnRzLXVzYWdlLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAg ICAgIFJlbW90aW5nJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 InJlbW90aW5nLWdlbmVyYWwueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVm PSJyZW1vdGluZy1tb2RlbC54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 InJlbW90aW5nLXZhbGlkYXRpb24ueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAg ICAgICAgICAgICBSRVNUJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhy ZWY9InJlc3QtcHJlZmFjZS54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVm PSJyZXN0LWluc3RhbGxhdGlvbi54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBo cmVmPSJyZXN0LWV4Y2VwdGlvbi1tYXBwaW5nLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9InJlc3QtdmFsaWRhdGlvbi54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSJyZXN0LXRlbXBsYXRpbmcueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgaHJlZj0icmVzdC1jbGllbnQueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0icmVzdC1kZXBlbmRlbmNpZXMueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7 U2VhbQogICAgICAgICAgICAgICAgSkNSJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9Impjci1pbnRyb2R1Y3Rpb24ueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgaHJlZj0iamNyLW1vZGVzaGFwZS54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9Impjci1qYWNrcmFiYml0LnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0iamNyLWV2ZW50LW1hcHBpbmcueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSJqY3Itb2NtLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAg ICAgICAgICAgICAgSk1TJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhy ZWY9Imptcy1pbnRyby54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJq bXMtaW5zdGFsbGF0aW9uLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 Imptcy1yZXNvdXJjZS1pbmplY3Rpb24ueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAg ICAgaHJlZj0iam1zLW1lc3NhZ2luZy54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAg ICBocmVmPSJqbXMtcm91dGluZy54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBo cmVmPSJqbXMtbWFwcGluZy1pbnRlcmZhY2VzLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1Nl YW0KICAgICAgICAgICAgICAgIFZhbGlkYXRpb24mbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgaHJlZj0idmFsaWRhdGlvbi1pbnRyb2R1Y3Rpb24ueG1sIi8mZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNs dWRlCiAgICAgICAgICAgICAgICBocmVmPSJ2YWxpZGF0aW9uLWluc3RhbGxhdGlvbi54bWwiLyZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9InZhbGlkYXRpb24tZGVwZW5kZW5jeS1p bmplY3Rpb24ueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSJ2YWxpZGF0 aW9uLW1ldGhvZC12YWxpZGF0aW9uLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAg ICAgICAgICAgICAgV2lja2V0Jmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9IndpY2tldC1wcmVmYWNlLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9IndpY2tldC1pbnN0YWxsYXRpb24ueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0id2lja2V0LWZlYXR1cmVzLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L2Jvb2smZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAg ICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBzZWFtLWRldiBtYWls aW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgPGEKICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAg ICAgICAgICBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9i bGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPgogICAgICAgICAgICAgICAgJmx0O21h aWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgIGhyZWY9Im1h aWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBs aXN0cy5qYm9zcy5vcmc8L2E+Jmd0OwogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmx0O21haWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAg ICAgICAgICAgIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0i X2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CiAgICAgICAgICAgICAgICAmbHQ7 bWFpbHRvOjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0i bWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2 QGxpc3RzLmpib3NzLm9yZzwvYT4mZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qt c2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3Rz Lmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4K ICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAg ICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJn ZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPiZndDsKICAgICAgICAgICAg ICAgIDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZsdDttYWlsdG86PGEgbW96LWRvLW5v dC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlz dHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9h PgogICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAg ICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRh cmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+Jmd0OyZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IDxhCiAgICAg ICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJl Zj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIKICAg ICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21h aWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IC0t PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IExpbmNv bG4gQmF4dGVyLCBJSUk8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgPGEKICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVm PSJodHRwOi8vb2Nwc29mdC5jb20iCiAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7IDxhCiAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1 ZSIgaHJlZj0iaHR0cDovL3NjcnVtc2hhcmsuY29tIgogICAgICAgICAgICAgICAgICB0YXJnZXQ9 Il9ibGFuayI+aHR0cDovL3NjcnVtc2hhcmsuY29tPC9hPjxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAiS2VlcCBpdCBTaW1wbGUiPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IExpbmNvbG4gQmF4dGVyLCBJSUk8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEKICAgICAgICAgICAgICAgICAgbW96LWRvLW5v dC1zZW5kPSJ0cnVlIiBocmVmPSJodHRwOi8vb2Nwc29mdC5jb20iCiAgICAgICAgICAgICAgICAg IHRhcmdldD0iX2JsYW5rIj5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IDxhCiAgICAgICAgICAgICAgICAgIG1v ei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0iaHR0cDovL3NjcnVtc2hhcmsuY29tIgogICAgICAg ICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3NjcnVtc2hhcmsuY29tPC9hPjxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAiS2VlcCBpdCBT aW1wbGUiPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg IDwvZGl2PgogICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgPC9kaXY+CiAgICAgIDxicj4KICAg ICAgPGJyIGNsZWFyPSJhbGwiPgogICAgICA8YnI+CiAgICAgIC0tIDxicj4KICAgICAgTGluY29s biBCYXh0ZXIsIElJSTxicj4KICAgICAgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJo dHRwOi8vb2Nwc29mdC5jb20iPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+CiAgICAgIDxhIG1v ei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0iaHR0cDovL3NjcnVtc2hhcmsuY29tIj5odHRwOi8v c2NydW1zaGFyay5jb208L2E+PGJyPgogICAgICAiS2VlcCBpdCBTaW1wbGUiPGJyPgogICAgPC9i bG9ja3F1b3RlPgogICAgPGJyPgogIDwvYm9keT4KPC9odG1sPgo= --===============3221631172610987904==-- From lightguard.jp at gmail.com Thu Sep 1 23:54:24 2011 Content-Type: multipart/mixed; boundary="===============1118345227078105930==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Thu, 01 Sep 2011 21:54:02 -0600 Message-ID: In-Reply-To: 4E6052DD.1090602@redhat.com --===============1118345227078105930== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Could we do the same thing for the getting started guide as well? On Thu, Sep 1, 2011 at 21:51, Shane Bryzak wrote: > Yeah, that's a good idea. Do you have plans to provide documentation as > part of the Forge download? I'm thinking of the users who might have > no/limited connectivity who won't be able to access the Forge docs online. > Also, how does confluence work in conjunction with our documentation team? > From my understanding all their tools for translating etc are based on > Publican/Docbook. > > > On 02/09/11 13:48, Lincoln Baxter, III wrote: > > Actually, maybe the best thing to do is just to add a new section to the > Seam umbrella doc, with an HTML link to the forge confluence space? > > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III < > lincolnbaxter(a)gmail.com> wrote: > >> Ok. If you include beta1, the artifact for dist is: >> >> org.jboss.forge:forge-modules:1.0.0.Beta1 >> >> -- >> Lincoln Baxter's Droid >> http://ocpsoft.com >> "Keep it Simple" >> On Sep 1, 2011 7:52 PM, "Shane Bryzak" wrote: >> > Yep, I planned on extracting it in the forge folder. >> > >> > On 02/09/11 09:43, Lincoln Baxter, III wrote: >> >> >> >> Also, if forge is unzipped. It should be done so in its own subfolder. >> >> >> >> Ill try to catch you online tonight and make sure you've got the right >> >> artifact. (it moved temporarily during the jboss modules transition. >> >> >> >> -- >> >> Lincoln Baxter's Droid >> >> http://ocpsoft.com >> >> "Keep it Simple" >> >> >> >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" > >> > wrote: >> >> > Well. The forge distribution doesn't contain docs either. They are >> >> purely >> >> > online at this point. So I think just don't worry about it. This >> >> confluence >> >> > thing is a bit of a pain in that regard. >> >> > >> >> > -- >> >> > Lincoln Baxter's Droid >> >> > http://ocpsoft.com >> >> > "Keep it Simple" >> >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" > >> > wrote: >> >> >> Unless an export could be automated as part of the build process, I >> >> >> don't think that's a good idea. How about we just include the Forge >> >> >> distribution extracted inside the Seam distribution? The >> documentation >> >> >> won't be combined with the main Seam docs, but as long as it's in >> the >> >> >> Forge distribution then a user should be able to find it without t= oo >> >> >> much effort. >> >> >> >> >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: >> >> >>> >> >> >>> I'm not really sure how to do this, then. There are no sources >> since >> >> >>> the docs are in confluence. >> >> >>> >> >> >>> I suppose an export could work? >> >> >>> >> >> >>> -- >> >> >>> Lincoln Baxter's Droid >> >> >>> http://ocpsoft.com >> >> >>> "Keep it Simple" >> >> >>> >> >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" > >> >> >> >>> >> wro= te: >> >> >>> > The source artifact for the Forge docs were being pulled in >> like >> >> this: >> >> >>> > >> >> >>> > >> >> >>> > org.jboss.seam.forge >> >> >>> > forge-reference-guide >> >> >>> > 1.0.0-SNAPSHOT >> >> >>> > sources >> >> >>> > jar >> >> >>> > >> >> >>> > >> >> >>> > When I update the version to 1.0.0.Beta1, it can't find the >> source - >> >> >>> was >> >> >>> > the Beta1 source artifact published to Maven? >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > On 01/09/11 03:02, Lincoln Baxter, III wrote: >> >> >>> >> https://docs.jboss.org/author/display/SEAMFORGE/Home >> >> >>> >> >> >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln Baxter, III >> >> >>> >> >> >> > >> >> >>> >> >> >= >> >> wrote: >> >> >>> >> >> >> >>> >> Just checking - the Forge docs are no longer in SVN / are in >> >> >>> >> Confluence; have you taken this into account? >> >> >>> >> >> >> >>> >> Also, the which distribution are you including? You could choo= se >> >> >>> >> either Beta1 or the latest SNAPSHOT (which is actually in a new >> >> >>> >> location - moved back to the original >> >> >>> >> org.jboss.forge:forge-distribution - though it looks like the >> >> >>> >> build hasn't deployed artifacts in a little while - looking in >> to >> >> >>> >> that) >> >> >>> >> >> >> >>> >> ~Lincoln >> >> >>> >> >> >> >>> >> >> >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane Bryzak >> >> >> >> >>> > >> >> >>> >> >> >> >>> wrote: >> >> >>> >> >> >> >>> >> Module leads, >> >> >>> >> >> >> >>> >> Can you please review the list below and confirm that the >> >> >>> >> documentation >> >> >>> >> chapters are correct for your module. Also, I would like >> >> >>> >> everyone to >> >> >>> >> take a moment to review the module documentation guidelines, >> >> >>> >> as there >> >> >>> >> were a number of breakages in the bundled documentation build >> >> >>> >> because >> >> >>> >> the guidelines weren't adhered to, particularly in the new >> >> >>> >> modules for >> >> >>> >> Seam 3.1: >> >> >>> >> >> >> >>> >> 1) Always prefix the filenames of your documentation chapters >> >> >>> >> with the >> >> >>> >> name of your module. E.g. security-authentication.xml, >> >> >>> >> security-authorization.xml, etc. >> >> >>> >> >> >> >>> >> 2) Whenever you assign an ID to a docbook element, such as a >> >> >>> >> >> >> >>> >> or
, ALWAYS prefix the id with your module name. For >> >> >>> >> example, >> >> >>> >> or
> >> >>> >> id=3D"security-getting-started">. As all of the chapters for >> >> >>> >> all modules >> >> >>> >> are combined when building the bundled documentation, all IDs >> >> >>> >> must be >> >> >>> >> unique. This is a particularly time consuming problem to fix >> >> >>> >> because >> >> >>> >> the error output from the Maven docbook plugin doesn't tell >> >> >>> >> you which >> >> >>> >> files are the problem ones. >> >> >>> >> >> >> >>> >> 3) When adding, renaming or deleting a chapter of your >> >> >>> >> documentation, >> >> >>> >> please notify me of the changes so that I can update >> >> >>> >> bundled_master.xml. This file must be manually kept up to >> >> >>> >> date whenever >> >> >>> >> any documentation changes are made. >> >> >>> >> >> >> >>> >> Thanks, >> >> >>> >> Shane >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> > >> >>> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam 3 >> >> >>> >> Bundled Reference Guide >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Forge >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Solder >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Configuration >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Persistence >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Transaction >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Servlet >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Security >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam International >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Faces >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Catch >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Reports >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Remoting >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam REST >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam JCR >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam JMS >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Validation >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Wicket >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> _______________________________________________ >> >> >>> >> seam-dev mailing list >> >> >>> >> seam-dev(a)lists.jboss.org >> >> > >> >> >>> >> >> >> >> >> >> >>> >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> -- >> >> >>> >> Lincoln Baxter, III >> >> >>> >> http://ocpsoft.com >> >> >>> >> http://scrumshark.com >> >> >>> >> "Keep it Simple" >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> -- >> >> >>> >> Lincoln Baxter, III >> >> >>> >> http://ocpsoft.com >> >> >>> >> http://scrumshark.com >> >> >>> >> "Keep it Simple" >> >> >>> > >> >> >> >> > >> > > > > -- > Lincoln Baxter, III > http://ocpsoft.com > http://scrumshark.com > "Keep it Simple" > > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============1118345227078105930== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" Q291bGQgd2UgZG8gdGhlIHNhbWUgdGhpbmcgZm9yIHRoZSBnZXR0aW5nIHN0YXJ0ZWQgZ3VpZGUg YXMgd2VsbD88YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIFNlcCAxLCAy MDExIGF0IDIxOjUxLCBTaGFuZSBCcnl6YWsgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJt YWlsdG86c2JyeXpha0ByZWRoYXQuY29tIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bh bj4gd3JvdGU6PGJyPgoKPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFl eDsiPgogIAogICAgCiAgCiAgPGRpdiB0ZXh0PSIjMDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4K ICAgIFllYWgsIHRoYXQmIzM5O3MgYSBnb29kIGlkZWEuwqAgRG8geW91IGhhdmUgcGxhbnMgdG8g cHJvdmlkZQogICAgZG9jdW1lbnRhdGlvbiBhcyBwYXJ0IG9mIHRoZSBGb3JnZSBkb3dubG9hZD/C oCBJJiMzOTttIHRoaW5raW5nIG9mIHRoZQogICAgdXNlcnMgd2hvIG1pZ2h0IGhhdmUgbm8vbGlt aXRlZCBjb25uZWN0aXZpdHkgd2hvIHdvbiYjMzk7dCBiZSBhYmxlIHRvCiAgICBhY2Nlc3MgdGhl IEZvcmdlIGRvY3Mgb25saW5lLsKgIEFsc28sIGhvdyBkb2VzIGNvbmZsdWVuY2Ugd29yayBpbgog ICAgY29uanVuY3Rpb24gd2l0aCBvdXIgZG9jdW1lbnRhdGlvbiB0ZWFtP8KgIEZyb20gbXkgdW5k ZXJzdGFuZGluZyBhbGwKICAgIHRoZWlyIHRvb2xzIGZvciB0cmFuc2xhdGluZyBldGMgYXJlIGJh c2VkIG9uIFB1YmxpY2FuL0RvY2Jvb2suPGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij48 YnI+CiAgICA8YnI+CiAgICBPbiAwMi8wOS8xMSAxMzo0OCwgTGluY29sbiBCYXh0ZXIsIElJSSB3 cm90ZToKICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPkFjdHVhbGx5LCBtYXliZSB0aGUgYmVz dCB0aGluZyB0byBkbyBpcyBqdXN0IHRvIGFkZCBhCiAgICAgIG5ldyBzZWN0aW9uIHRvIHRoZSBT ZWFtIHVtYnJlbGxhIGRvYywgd2l0aCBhbiBIVE1MIGxpbmsgdG8gdGhlCiAgICAgIGZvcmdlIGNv bmZsdWVuY2Ugc3BhY2U/PGJyPgogICAgICA8YnI+CiAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1 b3RlIj5PbiBUaHUsIFNlcCAxLCAyMDExIGF0IDc6NTQgUE0sIExpbmNvbG4KICAgICAgICBCYXh0 ZXIsIElJSSA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVy QGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPiZn dDs8L3NwYW4+CiAgICAgICAgd3JvdGU6PGJyPgogICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJn bWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2Nj IHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgogICAgICAgICAgPHA+T2suIElmIHlvdSBpbmNsdWRl IGJldGExLCB0aGUgYXJ0aWZhY3QgZm9yIGRpc3QgaXM6PC9wPgogICAgICAgICAgPHA+b3JnLmpi b3NzLmZvcmdlOmZvcmdlLW1vZHVsZXM6MS4wLjAuQmV0YTEgPC9wPgogICAgICAgICAgPGRpdj4K ICAgICAgICAgICAgPHA+LS08YnI+CiAgICAgICAgICAgICAgTGluY29sbiBCYXh0ZXImIzM5O3Mg RHJvaWQ8YnI+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJn ZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj4KICAgICAgICAgICAgICAmcXVv dDtLZWVwIGl0IFNpbXBsZSZxdW90OzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRp diBjbGFzcz0iZ21haWxfcXVvdGUiPgogICAgICAgICAgICA8ZGl2Pk9uIFNlcCAxLCAyMDExIDc6 NTIgUE0sICZxdW90O1NoYW5lIEJyeXphayZxdW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNicnl6 YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7 IHdyb3RlOjxiciB0eXBlPSJhdHRyaWJ1dGlvbiI+CiAgICAgICAgICAgICAgJmd0OyBZZXAsIEkg cGxhbm5lZCBvbiBleHRyYWN0aW5nIGl0IGluIHRoZSBmb3JnZSBmb2xkZXIuPGJyPgogICAgICAg ICAgICAgICZndDsgPGJyPgogICAgICAgICAgICAgICZndDsgT24gMDIvMDkvMTEgMDk6NDMsIExp bmNvbG4gQmF4dGVyLCBJSUkgd3JvdGU6PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgog ICAgICAgICAgICAgICZndDsmZ3Q7IEFsc28sIGlmIGZvcmdlIGlzIHVuemlwcGVkLiBJdCBzaG91 bGQgYmUgZG9uZSBzbwogICAgICAgICAgICAgIGluIGl0cyBvd24gc3ViZm9sZGVyLjxicj4KICAg ICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyBJbGwgdHJ5IHRv IGNhdGNoIHlvdSBvbmxpbmUgdG9uaWdodCBhbmQgbWFrZSBzdXJlCiAgICAgICAgICAgICAgeW91 JiMzOTt2ZSBnb3QgdGhlIHJpZ2h0IDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyBhcnRpZmFj dC4gKGl0IG1vdmVkIHRlbXBvcmFyaWx5IGR1cmluZyB0aGUgamJvc3MKICAgICAgICAgICAgICBt b2R1bGVzIHRyYW5zaXRpb24uPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7IExpbmNvbG4gQmF4 dGVyJiMzOTtzIERyb2lkPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6 Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+ CiAgICAgICAgICAgICAgJmd0OyZndDsgJnF1b3Q7S2VlcCBpdCBTaW1wbGUmcXVvdDs8YnI+CiAg ICAgICAgICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgT24gU2VwIDEs IDIwMTEgNzo0MSBQTSwgJnF1b3Q7TGluY29sbiBCYXh0ZXIsIElJSSZxdW90OwogICAgICAgICAg ICAgICZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0i X2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICA8YnI+CiAg ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2PiZndDsmZ3Q7ICZsdDttYWlsdG86PGEg aHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGlu Y29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyZndDsKICAgICAgICAgICAgICB3cm90ZTo8YnI+ CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsgV2VsbC4gVGhlIGZvcmdlIGRpc3RyaWJ1dGlvbiBkb2VzbiYjMzk7dCBjb250YWlu CiAgICAgICAgICAgICAgZG9jcyBlaXRoZXIuIFRoZXkgYXJlIDxicj4KICAgICAgICAgICAgICAm Z3Q7Jmd0OyBwdXJlbHk8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyBvbmxpbmUgYXQg dGhpcyBwb2ludC4gU28gSSB0aGluayBqdXN0IGRvbiYjMzk7dAogICAgICAgICAgICAgIHdvcnJ5 IGFib3V0IGl0LiBUaGlzIDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyBjb25mbHVlbmNlPGJy PgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsgdGhpbmcgaXMgYSBiaXQgb2YgYSBwYWluIGlu IHRoYXQgcmVnYXJkLjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7PGJyPgogICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsgLS08YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyBM aW5jb2xuIEJheHRlciYjMzk7cyBEcm9pZDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 IDxhIGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bz b2Z0LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyAmcXVvdDtLZWVwIGl0 IFNpbXBsZSZxdW90Ozxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7IE9uIFNlcCAxLCAy MDExIDY6MDUgUE0sICZxdW90O1NoYW5lIEJyeXphayZxdW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRv OnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwv YT4gPGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20i IHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0OyZndDsKICAgICAgICAg ICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsgVW5sZXNzIGFu IGV4cG9ydCBjb3VsZCBiZSBhdXRvbWF0ZWQgYXMKICAgICAgICAgICAgICBwYXJ0IG9mIHRoZSBi dWlsZCBwcm9jZXNzLCBJPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IGRvbiYj Mzk7dCB0aGluayB0aGF0JiMzOTtzIGEgZ29vZCBpZGVhLiBIb3cKICAgICAgICAgICAgICBhYm91 dCB3ZSBqdXN0IGluY2x1ZGUgdGhlIEZvcmdlPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7IGRpc3RyaWJ1dGlvbiBleHRyYWN0ZWQgaW5zaWRlIHRoZSBTZWFtCiAgICAgICAgICAg ICAgZGlzdHJpYnV0aW9uPyBUaGUgZG9jdW1lbnRhdGlvbjxicj4KICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyB3b24mIzM5O3QgYmUgY29tYmluZWQgd2l0aCB0aGUgbWFpbiBTZWFtCiAg ICAgICAgICAgICAgZG9jcywgYnV0IGFzIGxvbmcgYXMgaXQmIzM5O3MgaW4gdGhlPGJyPgogICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IEZvcmdlIGRpc3RyaWJ1dGlvbiB0aGVuIGEgdXNl ciBzaG91bGQgYmUKICAgICAgICAgICAgICBhYmxlIHRvIGZpbmQgaXQgd2l0aG91dCB0b288YnI+ CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsgbXVjaCBlZmZvcnQuPGJyPgogICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7IE9uIDAyLzA5LzExIDAxOjIyLCBMaW5jb2xuIEJheHRlciwgSUlJCiAgICAgICAgICAgICAg d3JvdGU6PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgSSYjMzk7bSBub3QgcmVhbGx5IHN1cmUgaG93 IHRvIGRvIHRoaXMsCiAgICAgICAgICAgICAgdGhlbi4gVGhlcmUgYXJlIG5vIHNvdXJjZXMgc2lu Y2U8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IHRoZSBkb2NzIGFyZSBp biBjb25mbHVlbmNlLjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+ CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IEkgc3VwcG9zZSBhbiBleHBvcnQg Y291bGQgd29yaz88YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7PGJyPgog ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAtLTxicj4KICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgTGluY29sbiBCYXh0ZXImIzM5O3MgRHJvaWQ8YnI+CiAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNv bSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+CiAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZxdW90O0tlZXAgaXQgU2ltcGxlJnF1b3Q7PGJyPgog ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgT24gQXVnIDMxLCAyMDExIDU6MDkgUE0sICZxdW90O1NoYW5lCiAg ICAgICAgICAgICAgQnJ5emFrJnF1b3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRo YXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAgICAg ICAgIDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0 bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208 L2E+Jmd0Ozxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+Jmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNv bSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gJmx0O21haWx0bzo8YSBo cmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0By ZWRoYXQuY29tPC9hPiZndDsmZ3Q7Jmd0OwogICAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAg ICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IFRoZSBzb3VyY2UgYXJ0aWZhY3Qg Zm9yIHRoZQogICAgICAgICAgICAgICAgRm9yZ2UgZG9jcyB3ZXJlIGJlaW5nIHB1bGxlZCBpbiBs aWtlIDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7IHRoaXM6PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyAmbHQ7ZGVwZW5kZW5jeSZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OwogICAgICAgICAgICAgICAgJmx0O2dyb3VwSWQm Z3Q7b3JnLmpib3NzLnNlYW0uZm9yZ2UmbHQ7L2dyb3VwSWQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpZmFj dElkJmd0O2ZvcmdlLXJlZmVyZW5jZS1ndWlkZSZsdDsvYXJ0aWZhY3RJZCZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OwogICAgICAgICAgICAgICAgJmx0 O3ZlcnNpb24mZ3Q7MS4wLjAtU05BUFNIT1QmbHQ7L3ZlcnNpb24mZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAgICAgICAgICAgICAgICZsdDtjbGFz c2lmaWVyJmd0O3NvdXJjZXMmbHQ7L2NsYXNzaWZpZXImZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgJmx0O3R5cGUmZ3Q7amFyJmx0Oy90eXBlJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7ICZsdDsvZGVwZW5k ZW5jeSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IFdoZW4gSSB1cGRh dGUgdGhlIHZlcnNpb24gdG8KICAgICAgICAgICAgICAgIDEuMC4wLkJldGExLCBpdCBjYW4mIzM5 O3QgZmluZCB0aGUgc291cmNlIC08YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgd2FzPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsg dGhlIEJldGExIHNvdXJjZSBhcnRpZmFjdAogICAgICAgICAgICAgICAgcHVibGlzaGVkIHRvIE1h dmVuPzxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IE9uIDAxLzA5LzExIDAzOjAyLCBMaW5jb2xuCiAgICAgICAg ICAgICAgICBCYXh0ZXIsIElJSSB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0cHM6Ly9kb2NzLmpib3NzLm9yZy9hdXRo b3IvZGlzcGxheS9TRUFNRk9SR0UvSG9tZSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZG9jcy5q Ym9zcy5vcmcvYXV0aG9yL2Rpc3BsYXkvU0VBTUZPUkdFL0hvbWU8L2E+PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IE9uIFdlZCwgQXVnIDMxLCAyMDExIGF0CiAg ICAgICAgICAgICAgICAxOjAyIFBNLCBMaW5jb2xuIEJheHRlciwgSUlJPGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86 bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdt YWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxp bmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFp bC5jb208L2E+Jmd0OwogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRh cmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAg ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJn ZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVy QGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRv OmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBn bWFpbC5jb208L2E+Jmd0OwogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20i IHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAg ICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0 YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyZndDsmZ3Q7Jmd0 OwogICAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IEp1c3QgY2hlY2tpbmcgLSB0aGUgRm9yZ2UKICAgICAgICAgICAgICAgIGRv Y3MgYXJlIG5vIGxvbmdlciBpbiBTVk4gLyBhcmUgaW48YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgQ29uZmx1ZW5jZTsgaGF2ZSB5b3UKICAgICAgICAg ICAgICAgIHRha2VuIHRoaXMgaW50byBhY2NvdW50Pzxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBBbHNvLCB0aGUgd2hpY2gKICAgICAgICAgICAgICAgIGRpc3Ry aWJ1dGlvbiBhcmUgeW91IGluY2x1ZGluZz8gWW91IGNvdWxkIGNob29zZTxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBlaXRoZXIgQmV0YTEgb3IgdGhl CiAgICAgICAgICAgICAgICBsYXRlc3QgU05BUFNIT1QgKHdoaWNoIGlzIGFjdHVhbGx5IGluIGEg bmV3PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGxv Y2F0aW9uIC0gbW92ZWQgYmFjayB0bwogICAgICAgICAgICAgICAgdGhlIG9yaWdpbmFsPGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAg ICAgICBvcmcuamJvc3MuZm9yZ2U6Zm9yZ2UtZGlzdHJpYnV0aW9uIC0gdGhvdWdoIGl0IGxvb2tz CiAgICAgICAgICAgICAgICBsaWtlIHRoZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBidWlsZCBoYXNuJiMzOTt0IGRlcGxveWVkCiAgICAgICAgICAg ICAgICBhcnRpZmFjdHMgaW4gYSBsaXR0bGUgd2hpbGUgLSBsb29raW5nIGluIHRvPGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHRoYXQpPGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IH5MaW5jb2xuPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IE9uIFdlZCwgQXVnIDMxLCAyMDExIGF0CiAgICAg ICAgICAgICAgICAxMjoxNCBBTSwgU2hhbmUgQnJ5emFrIDxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9i bGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAgICAgICAgICAgJmx0O21haWx0bzo8 YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXph a0ByZWRoYXQuY29tPC9hPiZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJn ZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAgICAgICAgICAgJmx0O21h aWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+ c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNicnl6 YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4KICAg ICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNv bSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7CiAgICAgICAgICAg ICAgICA8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1h aWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5j b208L2E+CiAgICAgICAgICAgICAgICAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzYnJ5emFr QHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0OyZn dDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IE1vZHVsZSBsZWFkcyw8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgQ2FuIHlvdSBwbGVhc2UgcmV2aWV3IHRoZQogICAgICAg ICAgICAgICAgbGlzdCBiZWxvdyBhbmQgY29uZmlybSB0aGF0IHRoZTxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBkb2N1bWVudGF0aW9uPGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGNoYXB0ZXJzIGFyZSBj b3JyZWN0IGZvcgogICAgICAgICAgICAgICAgeW91ciBtb2R1bGUuIEFsc28sIEkgd291bGQgbGlr ZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBldmVy eW9uZSB0bzxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyB0YWtlIGEgbW9tZW50IHRvIHJldmlldwogICAgICAgICAgICAgICAgdGhlIG1vZHVsZSBkb2N1 bWVudGF0aW9uIGd1aWRlbGluZXMsPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7IGFzIHRoZXJlPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7IHdlcmUgYSBudW1iZXIgb2YKICAgICAgICAgICAgICAgIGJyZWFr YWdlcyBpbiB0aGUgYnVuZGxlZCBkb2N1bWVudGF0aW9uIGJ1aWxkPGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGJlY2F1c2U8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgdGhlIGd1aWRlbGluZXMgd2VyZW4m IzM5O3QKICAgICAgICAgICAgICAgIGFkaGVyZWQgdG8sIHBhcnRpY3VsYXJseSBpbiB0aGUgbmV3 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IG1vZHVs ZXMgZm9yPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 IFNlYW0gMy4xOjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAx KSBBbHdheXMgcHJlZml4IHRoZQogICAgICAgICAgICAgICAgZmlsZW5hbWVzIG9mIHlvdXIgZG9j dW1lbnRhdGlvbiBjaGFwdGVyczxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyB3aXRoIHRoZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyBuYW1lIG9mIHlvdXIgbW9kdWxlLiBFLmcuCiAgICAgICAgICAgICAg ICBzZWN1cml0eS1hdXRoZW50aWNhdGlvbi54bWwsPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICBzZWN1cml0eS1hdXRob3Jp emF0aW9uLnhtbCwgZXRjLjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAyKSBXaGVuZXZlciB5b3UgYXNzaWduIGFuCiAgICAgICAgICAgICAgICBJRCB0byBhIGRv Y2Jvb2sgZWxlbWVudCwgc3VjaCBhcyBhPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtjaGFwdGVyJmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBvciAmbHQ7c2VjdGlvbiZndDssCiAgICAgICAg ICAgICAgICBBTFdBWVMgcHJlZml4IHRoZSBpZCB3aXRoIHlvdXIgbW9kdWxlIG5hbWUuIEZvcjxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBleGFtcGxl LDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7 Y2hhcHRlcgogICAgICAgICAgICAgICAgaWQ9JnF1b3Q7c2VjdXJpdHktaW50cm9kdWN0aW9uJnF1 b3Q7Jmd0OyBvciAmbHQ7c2VjdGlvbjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgaWQ9JnF1b3Q7c2VjdXJpdHktZ2V0dGlu Zy1zdGFydGVkJnF1b3Q7Jmd0Oy4gQXMgYWxsIG9mIHRoZQogICAgICAgICAgICAgICAgY2hhcHRl cnMgZm9yPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 IGFsbCBtb2R1bGVzPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IGFyZSBjb21iaW5lZCB3aGVuCiAgICAgICAgICAgICAgICBidWlsZGluZyB0aGUgYnVu ZGxlZCBkb2N1bWVudGF0aW9uLCBhbGwgSURzPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IG11c3QgYmU8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgdW5pcXVlLiBUaGlzIGlzIGEKICAgICAgICAgICAgICAg IHBhcnRpY3VsYXJseSB0aW1lIGNvbnN1bWluZyBwcm9ibGVtIHRvIGZpeDxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBiZWNhdXNlPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHRoZSBlcnJvciBvdXRwdXQg ZnJvbSB0aGUKICAgICAgICAgICAgICAgIE1hdmVuIGRvY2Jvb2sgcGx1Z2luIGRvZXNuJiMzOTt0 IHRlbGw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg eW91IHdoaWNoPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7IGZpbGVzIGFyZSB0aGUgcHJvYmxlbQogICAgICAgICAgICAgICAgb25lcy48YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgMykgV2hlbiBhZGRpbmcsIHJlbmFt aW5nCiAgICAgICAgICAgICAgICBvciBkZWxldGluZyBhIGNoYXB0ZXIgb2YgeW91cjxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBkb2N1bWVudGF0aW9u LDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBwbGVh c2Ugbm90aWZ5IG1lIG9mIHRoZQogICAgICAgICAgICAgICAgY2hhbmdlcyBzbyB0aGF0IEkgY2Fu IHVwZGF0ZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyBidW5kbGVkX21hc3Rlci54bWwuIFRoaXMKICAgICAgICAgICAgICAgIGZpbGUgbXVzdCBiZSBt YW51YWxseSBrZXB0IHVwIHRvPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IGRhdGUgd2hlbmV2ZXI8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgYW55IGRvY3VtZW50YXRpb24gY2hhbmdlcwogICAgICAgICAg ICAgICAgYXJlIG1hZGUuPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7IFRoYW5rcyw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgU2hhbmU8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oz94 bWwgdmVyc2lvbj0mIzM5OzEuMCYjMzk7CiAgICAgICAgICAgICAgICBlbmNvZGluZz0mcXVvdDt1 dGYtOCZxdW90Oz8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDshRE9DVFlQRSBib29rIFBVQkxJQwogICAgICAgICAgICAgICAgJnF1b3Q7 LS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC41Ly9FTiZxdW90Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmcXVvdDs8YSBocmVmPSJodHRwOi8v d3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQiIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29r eC5kdGQ8L2E+JnF1b3Q7CiAgICAgICAgICAgICAgICBbIF0mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtib29rIGxhbmc9JnF1b3Q7ZW4m cXVvdDsKICAgICAgICAgICAgICAgIHhtbG5zOnhpPSZxdW90OzxhIGhyZWY9Imh0dHA6Ly93d3cu dzMub3JnLzIwMDEvWEluY2x1ZGUiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy8y MDAxL1hJbmNsdWRlPC9hPiZxdW90OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3RvYyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgMyZsdDsv dGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDtzdWJ0aXRsZSZndDtCdW5kbGVkCiAgICAgICAgICAgICAgICBSZWZlcmVuY2UgR3Vp ZGUmbHQ7L3N1YnRpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtidW5kbGVk X2NyZWRpdHMueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1 b3Q7YnVuZGxlZF9pbnRyby54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDt0aXRsZSZndDtG b3JnZSZsdDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2Zv cmdlLXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVm PSZxdW90O2ZvcmdlLWluc3RhbGxhdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgIGhyZWY9JnF1b3Q7Zm9yZ2UtY3JlYXRpbmctYmFzaWMtd2ViYXBwLnhtbCZxdW90 OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtmb3JnZS1wbHVnaW4t ZGV2LnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAg U29sZGVyJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7 c29sZGVyLXByZWZhY2UueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhy ZWY9JnF1b3Q7c29sZGVyLWdldHRpbmdzdGFydGVkLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1wcm9ncmFtbWluZ21vZGVsLnhtbCZxdW90 Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1hbm5vdGF0 aW9ubGl0ZXJhbHMueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 JnF1b3Q7c29sZGVyLWVsZXh0ZW5zaW9ucy54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgaHJlZj0mcXVvdDtzb2xkZXItcmVzb3VyY2Vsb2FkaW5nLnhtbCZxdW90Oy8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1sb2dnaW5nLnhtbCZx dW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci10eXBl dXRpbGl0aWVzLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZx dW90O3NvbGRlci1iZWFubWFuYWdlcnByb3ZpZGVyLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1iZWFudXRpbGl0aWVzLnhtbCZxdW90Oy8m Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1wcm9wZXJ0aWVz LnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRl ci11bndyYXBzLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZx dW90O3NvbGRlci1kZWZhdWx0YmVhbnMueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9JnF1b3Q7c29sZGVyLWdlbmVyaWNiZWFucy54bWwmcXVvdDsvJmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtzb2xkZXItc2VydmljZWhhbmRsZXIueG1s JnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIENvbmZpZ3Vy YXRpb24mbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtj b25maWctaW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAg ICBocmVmPSZxdW90O2NvbmZpZy14bWwtcHJvdmlkZXIueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3Rp dGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIFBlcnNpc3RlbmNlJmx0Oy90aXRsZSZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7cGVyc2lzdGVuY2UtZ2VuZXJhbC54bWwm cXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgVHJhbnNhY3Rp b24mbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDt0cmFu c2FjdGlvbi1nZW5lcmFsLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAg ICAgICAgICAgICBTZXJ2bGV0Jmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9JnF1b3Q7c2VydmxldC1pbnRyb2R1Y3Rpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2VydmxldC1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7 LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2VydmxldC1ldmVudHMu eG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2Vydmxl dC1pbmplY3RhYmxlX3JlZnMueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9JnF1b3Q7c2VydmxldC1leGNlcHRpb25faGFuZGxpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NlcnZsZXQtYmVhbm1hbmFnZXIueG1s JnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIFNlY3VyaXR5 Jmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2VjdXJp dHktaW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBo cmVmPSZxdW90O3NlY3VyaXR5LWF1dGhlbnRpY2F0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NlY3VyaXR5LWlkZW50aXR5bWFuYWdlbWVudC54 bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtzZWN1cml0 eS1hdXRoZW50aWNhdGlvbi1leHRlcm5hbC54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgaHJlZj0mcXVvdDtzZWN1cml0eS1hdXRob3JpemF0aW9uLnhtbCZxdW90Oy8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsv cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICBJbnRlcm5hdGlvbmFsJmx0Oy90 aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7aW50ZXJuYXRpb25h bC1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0m cXVvdDtpbnRlcm5hdGlvbmFsLWluc3RhbGxhdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7aW50ZXJuYXRpb25hbC1sb2NhbGVzLnhtbCZxdW90 OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtpbnRlcm5hdGlvbmFs LXRpbWV6b25lcy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 JnF1b3Q7aW50ZXJuYXRpb25hbC1tZXNzYWdlcy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxl Jmd0O1NlYW0KICAgICAgICAgICAgICAgIEZhY2VzJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgIGhyZWY9JnF1b3Q7ZmFjZXMtcHJlZmFjZS54bWwmcXVvdDsgLyZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7ZmFjZXMtaW5zdGFsbGF0aW9uLnhtbCZx dW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtmYWNlcy1ldmVu dHMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2Zh Y2VzLXNjb3Blcy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 JnF1b3Q7ZmFjZXMtbWVzc2FnZXMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAg ICAgICBocmVmPSZxdW90O2ZhY2VzLWFydGlmYWN0cy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7ZmFjZXMtY29tcG9uZW50cy54bWwmcXVvdDsgLyZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIENhdGNoJmx0Oy90aXRsZSZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7Y2F0Y2gtaW50cm9kdWN0aW9u LnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2NhdGNo LWluc3RhbGxhdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJl Zj0mcXVvdDtjYXRjaC1jbGllbnRfdXNhZ2UueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgIGhyZWY9JnF1b3Q7Y2F0Y2gtYWR2YW5jZWRfdXNhZ2UueG1sJnF1b3Q7LyZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7Y2F0Y2gtaW50ZWdyYXRpb24ueG1s JnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7Y2F0Y2gtZ2xv c3NhcnkueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAg IFJlcG9ydHMmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVv dDtyZXBvcnRzLXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAg ICBocmVmPSZxdW90O3JlcG9ydHMtaW5zdGFsbGF0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtyZXBvcnRzLXVzYWdlLnhtbCZxdW90OyAvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7 L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgUmVtb3RpbmcmbHQ7L3RpdGxl Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtyZW1vdGluZy1nZW5lcmFs LnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3JlbW90 aW5nLW1vZGVsLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZx dW90O3JlbW90aW5nLXZhbGlkYXRpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1Nl YW0KICAgICAgICAgICAgICAgIFJFU1QmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0mcXVvdDtyZXN0LXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICBocmVmPSZxdW90O3Jlc3QtaW5zdGFsbGF0aW9uLnhtbCZxdW90OyAvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7 eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtyZXN0LWV4Y2VwdGlvbi1tYXBw aW5nLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDty ZXN0LXZhbGlkYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBo cmVmPSZxdW90O3Jlc3QtdGVtcGxhdGluZy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgIGhyZWY9JnF1b3Q7cmVzdC1jbGllbnQueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3Jlc3QtZGVwZW5kZW5jaWVzLnhtbCZxdW90OyAv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgSkNSJmx0Oy90aXRsZSZn dDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7amNyLWludHJvZHVjdGlvbi54 bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7amNyLW1v ZGVzaGFwZS54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVv dDtqY3ItamFja3JhYmJpdC54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAg aHJlZj0mcXVvdDtqY3ItZXZlbnQtbWFwcGluZy54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgaHJlZj0mcXVvdDtqY3Itb2NtLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRs ZSZndDtTZWFtCiAgICAgICAgICAgICAgICBKTVMmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgaHJlZj0mcXVvdDtqbXMtaW50cm8ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2ptcy1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8m Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2ptcy1yZXNvdXJjZS1pbmpl Y3Rpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90 O2ptcy1tZXNzYWdpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBo cmVmPSZxdW90O2ptcy1yb3V0aW5nLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0mcXVvdDtqbXMtbWFwcGluZy1pbnRlcmZhY2VzLnhtbCZxdW90OyAvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3Bh cnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtw YXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgVmFsaWRhdGlvbiZsdDsvdGl0bGUm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3ZhbGlkYXRpb24taW50cm9k dWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90 O3ZhbGlkYXRpb24taW5zdGFsbGF0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSZxdW90O3ZhbGlkYXRpb24tZGVwZW5kZW5jeS1pbmplY3Rpb24ueG1sJnF1 b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7dmFsaWRhdGlvbi1t ZXRob2QtdmFsaWRhdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAg ICAgICAgICAgICAgV2lja2V0Jmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9JnF1b3Q7d2lja2V0LXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAg ICAgICAgICAgICBocmVmPSZxdW90O3dpY2tldC1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3dpY2tldC1mZWF0dXJlcy54bWwm cXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7L2Jvb2smZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXzxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyBzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2 QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9y ZzwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2 QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9y ZzwvYT4mZ3Q7CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm bHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdl dD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CiAgICAgICAgICAgICAgICAm bHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdl dD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+Jmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlz dHMuamJvc3Mub3JnPC9hPgogICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBocmVmPSJtYWls dG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlz dHMuamJvc3Mub3JnPC9hPiZndDsKICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3Nz Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4KICAgICAg ICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3Nz Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4mZ3Q7Jmd0 OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRl diIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGlu Zm8vc2VhbS1kZXY8L2E+PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IC0tPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IExpbmNvbG4gQmF4dGVyLCBJ SUk8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEg aHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQu Y29tPC9hPjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyA8YSBocmVmPSJodHRwOi8vc2NydW1zaGFyay5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8v c2NydW1zaGFyay5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZxdW90O0tlZXAgaXQgU2ltcGxlJnF1b3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IExpbmNvbG4gQmF4dGVyLCBJSUk8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8vc2NydW1zaGFyay5jb20i IHRhcmdldD0iX2JsYW5rIj5odHRwOi8vc2NydW1zaGFyay5jb208L2E+PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZxdW90O0tlZXAgaXQgU2ltcGxl JnF1b3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg IDwvZGl2PgogICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgPC9kaXY+CiAgICAgIDxicj4KICAg ICAgPGJyIGNsZWFyPSJhbGwiPgogICAgICA8YnI+CiAgICAgIC0tIDxicj4KICAgICAgTGluY29s biBCYXh0ZXIsIElJSTxicj4KICAgICAgPGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJn ZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj4KICAgICAgPGEgaHJlZj0iaHR0 cDovL3NjcnVtc2hhcmsuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3NjcnVtc2hhcmsuY29t PC9hPjxicj4KICAgICAgJnF1b3Q7S2VlcCBpdCBTaW1wbGUmcXVvdDs8YnI+CiAgICA8L2Jsb2Nr cXVvdGU+CiAgICA8YnI+CiAgPC9kaXY+PC9kaXY+PC9kaXY+Cgo8YnI+X19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1haWxpbmcgbGlz dDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyI+c2VhbS1kZXZA bGlzdHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMu amJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8YnI+PC9ibG9ja3F1 b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPkphc29u IFBvcnRlcjxicj48YSBocmVmPSJodHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb20iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb208L2E+PGJyPjxh IGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanAiIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwPC9hPjxicj4KCjxicj5Tb2Z0d2FyZSBFbmdp bmVlcjxicj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2YgU2VhbSBDYXRjaCAtIE5l eHQgR2VuZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48YnI+UEdQIGtleSBpZDog OTI2Q0NGRjU8YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly9rZXlzZXJ2 ZXIubmV0IiB0YXJnZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4sIDxhIGhyZWY9Imh0dHA6 Ly9wZ3AubWl0LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1PC9hPjxicj4KCgo= --===============1118345227078105930==-- From sbryzak at redhat.com Thu Sep 1 23:55:30 2011 Content-Type: multipart/mixed; boundary="===============3273301607269939386==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 13:55:26 +1000 Message-ID: <4E6053AE.7010007@redhat.com> In-Reply-To: CAF9TksMEzGUV_ehrHfRo2wjgpy6s+uX-1RHkPuZ=1nFhkPwDmw@mail.gmail.com --===============3273301607269939386== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable We definitely want to include the getting started guide in the reference = docs. On 02/09/11 13:54, Jason Porter wrote: > Could we do the same thing for the getting started guide as well? > > On Thu, Sep 1, 2011 at 21:51, Shane Bryzak > wrote: > > Yeah, that's a good idea. Do you have plans to provide > documentation as part of the Forge download? I'm thinking of the > users who might have no/limited connectivity who won't be able to > access the Forge docs online. Also, how does confluence work in > conjunction with our documentation team? From my understanding > all their tools for translating etc are based on Publican/Docbook. > > > On 02/09/11 13:48, Lincoln Baxter, III wrote: >> Actually, maybe the best thing to do is just to add a new section >> to the Seam umbrella doc, with an HTML link to the forge >> confluence space? >> >> On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III >> > wrote: >> >> Ok. If you include beta1, the artifact for dist is: >> >> org.jboss.forge:forge-modules:1.0.0.Beta1 >> >> -- >> Lincoln Baxter's Droid >> http://ocpsoft.com >> "Keep it Simple" >> >> On Sep 1, 2011 7:52 PM, "Shane Bryzak" > > wrote: >> > Yep, I planned on extracting it in the forge folder. >> > >> > On 02/09/11 09:43, Lincoln Baxter, III wrote: >> >> >> >> Also, if forge is unzipped. It should be done so in its >> own subfolder. >> >> >> >> Ill try to catch you online tonight and make sure you've >> got the right >> >> artifact. (it moved temporarily during the jboss modules >> transition. >> >> >> >> -- >> >> Lincoln Baxter's Droid >> >> http://ocpsoft.com >> >> "Keep it Simple" >> >> >> >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" >> >> >> > >> wrote: >> >> > Well. The forge distribution doesn't contain docs >> either. They are >> >> purely >> >> > online at this point. So I think just don't worry about >> it. This >> >> confluence >> >> > thing is a bit of a pain in that regard. >> >> > >> >> > -- >> >> > Lincoln Baxter's Droid >> >> > http://ocpsoft.com >> >> > "Keep it Simple" >> >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" >> >> >> >> >> wrote: >> >> >> Unless an export could be automated as part of the >> build process, I >> >> >> don't think that's a good idea. How about we just >> include the Forge >> >> >> distribution extracted inside the Seam distribution? >> The documentation >> >> >> won't be combined with the main Seam docs, but as long >> as it's in the >> >> >> Forge distribution then a user should be able to find >> it without too >> >> >> much effort. >> >> >> >> >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: >> >> >>> >> >> >>> I'm not really sure how to do this, then. There are no >> sources since >> >> >>> the docs are in confluence. >> >> >>> >> >> >>> I suppose an export could work? >> >> >>> >> >> >>> -- >> >> >>> Lincoln Baxter's Droid >> >> >>> http://ocpsoft.com >> >> >>> "Keep it Simple" >> >> >>> >> >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" >> >> >> > >> >> >>> >> >>> wr= ote: >> >> >>> > The source artifact for the Forge docs were being >> pulled in like >> >> this: >> >> >>> > >> >> >>> > >> >> >>> > org.jboss.seam.forge >> >> >>> > forge-reference-guide >> >> >>> > 1.0.0-SNAPSHOT >> >> >>> > sources >> >> >>> > jar >> >> >>> > >> >> >>> > >> >> >>> > When I update the version to 1.0.0.Beta1, it can't >> find the source - >> >> >>> was >> >> >>> > the Beta1 source artifact published to Maven? >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > On 01/09/11 03:02, Lincoln Baxter, III wrote: >> >> >>> >> https://docs.jboss.org/author/display/SEAMFORGE/Home >> >> >>> >> >> >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln Baxter, III >> >> >>> >> > >> > > >> >> > >> > >> >> >> >>> > >> > > >> >> > >> > >>>> wrote: >> >> >>> >> >> >> >>> >> Just checking - the Forge docs are no longer in SVN >> / are in >> >> >>> >> Confluence; have you taken this into account? >> >> >>> >> >> >> >>> >> Also, the which distribution are you including? You >> could choose >> >> >>> >> either Beta1 or the latest SNAPSHOT (which is >> actually in a new >> >> >>> >> location - moved back to the original >> >> >>> >> org.jboss.forge:forge-distribution - though it >> looks like the >> >> >>> >> build hasn't deployed artifacts in a little while - >> looking in to >> >> >>> >> that) >> >> >>> >> >> >> >>> >> ~Lincoln >> >> >>> >> >> >> >>> >> >> >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane Bryzak >> >> >> > >> >> >>> >> >> >> >> >>> >> > > > >> >> >> >>>> w= rote: >> >> >>> >> >> >> >>> >> Module leads, >> >> >>> >> >> >> >>> >> Can you please review the list below and confirm >> that the >> >> >>> >> documentation >> >> >>> >> chapters are correct for your module. Also, I would >> like >> >> >>> >> everyone to >> >> >>> >> take a moment to review the module documentation >> guidelines, >> >> >>> >> as there >> >> >>> >> were a number of breakages in the bundled >> documentation build >> >> >>> >> because >> >> >>> >> the guidelines weren't adhered to, particularly in >> the new >> >> >>> >> modules for >> >> >>> >> Seam 3.1: >> >> >>> >> >> >> >>> >> 1) Always prefix the filenames of your >> documentation chapters >> >> >>> >> with the >> >> >>> >> name of your module. E.g. security-authentication.xml, >> >> >>> >> security-authorization.xml, etc. >> >> >>> >> >> >> >>> >> 2) Whenever you assign an ID to a docbook element, >> such as a >> >> >>> >> >> >> >>> >> or
, ALWAYS prefix the id with your module >> name. For >> >> >>> >> example, >> >> >>> >> or
> >> >>> >> id=3D"security-getting-started">. As all of the >> chapters for >> >> >>> >> all modules >> >> >>> >> are combined when building the bundled >> documentation, all IDs >> >> >>> >> must be >> >> >>> >> unique. This is a particularly time consuming >> problem to fix >> >> >>> >> because >> >> >>> >> the error output from the Maven docbook plugin >> doesn't tell >> >> >>> >> you which >> >> >>> >> files are the problem ones. >> >> >>> >> >> >> >>> >> 3) When adding, renaming or deleting a chapter of your >> >> >>> >> documentation, >> >> >>> >> please notify me of the changes so that I can update >> >> >>> >> bundled_master.xml. This file must be manually kept >> up to >> >> >>> >> date whenever >> >> >>> >> any documentation changes are made. >> >> >>> >> >> >> >>> >> Thanks, >> >> >>> >> Shane >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> > V4.5//EN" >> >> >>> >> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> >> >> >>> >> > xmlns:xi=3D"http://www.w3.org/2001/XInclude"> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam 3 >> >> >>> >> Bundled Reference Guide >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Forge >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Solder >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Configuration >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Persistence >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Transaction >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Servlet >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Security >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> > href=3D"security-authentication-external.xml"/> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam International >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Faces >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Catch >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Reports >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Remoting >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam REST >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam JCR >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam JMS >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Validation >> >> >>> >> >> >> >>> >> >> >> >>> >> > href=3D"validation-dependency-injection.xml"/> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Wicket >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> _______________________________________________ >> >> >>> >> seam-dev mailing list >> >> >>> >> seam-dev(a)lists.jboss.org >> >> > > >> >> > >> > >> >> >> >>> > >> > > >> >> > >> > >>> >> >> >>> >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> -- >> >> >>> >> Lincoln Baxter, III >> >> >>> >> http://ocpsoft.com >> >> >>> >> http://scrumshark.com >> >> >>> >> "Keep it Simple" >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> -- >> >> >>> >> Lincoln Baxter, III >> >> >>> >> http://ocpsoft.com >> >> >>> >> http://scrumshark.com >> >> >>> >> "Keep it Simple" >> >> >>> > >> >> >> >> > >> >> >> >> >> -- = >> Lincoln Baxter, III >> http://ocpsoft.com >> http://scrumshark.com >> "Keep it Simple" > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > > > > -- = > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > > PGP key id: 926CCFF5 > PGP key available at: keyserver.net , = > pgp.mit.edu --===============3273301607269939386== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRG LTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IHRleHQ9IiMw MDAwMDAiIGJnY29sb3I9IiNGRkZGRkYiPgogICAgV2UgZGVmaW5pdGVseSB3YW50IHRvIGluY2x1 ZGUgdGhlIGdldHRpbmcgc3RhcnRlZCBndWlkZSBpbiB0aGUKICAgIHJlZmVyZW5jZSBkb2NzLjxi cj4KICAgIDxicj4KICAgIE9uIDAyLzA5LzExIDEzOjU0LCBKYXNvbiBQb3J0ZXIgd3JvdGU6CiAg ICA8YmxvY2txdW90ZQpjaXRlPSJtaWQ6Q0FGOVRrc01FekdVVl9laHJIZlJvMndqZ3B5NnMrdVgt MVJIa1B1Wj0xbkZoa1B3RG13QG1haWwuZ21haWwuY29tIgogICAgICB0eXBlPSJjaXRlIj5Db3Vs ZCB3ZSBkbyB0aGUgc2FtZSB0aGluZyBmb3IgdGhlIGdldHRpbmcgc3RhcnRlZAogICAgICBndWlk ZSBhcyB3ZWxsPzxicj4KICAgICAgPGJyPgogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+ T24gVGh1LCBTZXAgMSwgMjAxMSBhdCAyMTo1MSwgU2hhbmUKICAgICAgICBCcnl6YWsgPHNwYW4g ZGlyPSJsdHIiPiZsdDs8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgIGhyZWY9 Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7PC9z cGFuPgogICAgICAgIHdyb3RlOjxicj4KICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAKICAgICAgICAgIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4 ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPgogICAgICAgICAgPGRpdiB0ZXh0PSIjMDAw MDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4gWWVhaCwgdGhhdCdzIGEgZ29vZAogICAgICAgICAgICBp ZGVhLsKgIERvIHlvdSBoYXZlIHBsYW5zIHRvIHByb3ZpZGUgZG9jdW1lbnRhdGlvbiBhcyBwYXJ0 IG9mCiAgICAgICAgICAgIHRoZSBGb3JnZSBkb3dubG9hZD/CoCBJJ20gdGhpbmtpbmcgb2YgdGhl IHVzZXJzIHdobyBtaWdodAogICAgICAgICAgICBoYXZlIG5vL2xpbWl0ZWQgY29ubmVjdGl2aXR5 IHdobyB3b24ndCBiZSBhYmxlIHRvIGFjY2VzcyB0aGUKICAgICAgICAgICAgRm9yZ2UgZG9jcyBv bmxpbmUuwqAgQWxzbywgaG93IGRvZXMgY29uZmx1ZW5jZSB3b3JrIGluCiAgICAgICAgICAgIGNv bmp1bmN0aW9uIHdpdGggb3VyIGRvY3VtZW50YXRpb24gdGVhbT/CoCBGcm9tIG15CiAgICAgICAg ICAgIHVuZGVyc3RhbmRpbmcgYWxsIHRoZWlyIHRvb2xzIGZvciB0cmFuc2xhdGluZyBldGMgYXJl IGJhc2VkCiAgICAgICAgICAgIG9uIFB1YmxpY2FuL0RvY2Jvb2suCiAgICAgICAgICAgIDxkaXY+ CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaDUiPjxicj4KICAgICAgICAgICAgICAgIDxicj4K ICAgICAgICAgICAgICAgIE9uIDAyLzA5LzExIDEzOjQ4LCBMaW5jb2xuIEJheHRlciwgSUlJIHdy b3RlOgogICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+QWN0dWFsbHksIG1h eWJlIHRoZSBiZXN0IHRoaW5nCiAgICAgICAgICAgICAgICAgIHRvIGRvIGlzIGp1c3QgdG8gYWRk IGEgbmV3IHNlY3Rpb24gdG8gdGhlIFNlYW0KICAgICAgICAgICAgICAgICAgdW1icmVsbGEgZG9j LCB3aXRoIGFuIEhUTUwgbGluayB0byB0aGUgZm9yZ2UKICAgICAgICAgICAgICAgICAgY29uZmx1 ZW5jZSBzcGFjZT88YnI+CiAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAg PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFRodSwgU2VwIDEsIDIwMTEgYXQgNzo1NAogICAg ICAgICAgICAgICAgICAgIFBNLCBMaW5jb2xuIEJheHRlciwgSUlJIDxzcGFuIGRpcj0ibHRyIj4m bHQ7PGEKICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAg ICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20i CiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdt YWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIHdyb3RlOjxicj4KICAg ICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJt YXJnaW46MCAwIDAKICAgICAgICAgICAgICAgICAgICAgIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNj Y2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICA8cD5Pay4g SWYgeW91IGluY2x1ZGUgYmV0YTEsIHRoZSBhcnRpZmFjdCBmb3IgZGlzdAogICAgICAgICAgICAg ICAgICAgICAgICBpczo8L3A+CiAgICAgICAgICAgICAgICAgICAgICA8cD5vcmcuamJvc3MuZm9y Z2U6Zm9yZ2UtbW9kdWxlczoxLjAuMC5CZXRhMSA8L3A+CiAgICAgICAgICAgICAgICAgICAgICA8 ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cD4tLTxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICBMaW5jb2xuIEJheHRlcidzIERyb2lkPGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgIDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0 LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIktlZXAgaXQgU2ltcGxlIjwv cD4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGRp diBjbGFzcz0iZ21haWxfcXVvdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pk9uIFNl cCAxLCAyMDExIDc6NTIgUE0sICJTaGFuZSBCcnl6YWsiICZsdDs8YQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0OwogICAg ICAgICAgICAgICAgICAgICAgICAgIHdyb3RlOjxiciB0eXBlPSJhdHRyaWJ1dGlvbiI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyBZZXAsIEkgcGxhbm5lZCBvbiBleHRyYWN0aW5nIGl0 IGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmdlIGZvbGRlci48YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg Jmd0OyBPbiAwMi8wOS8xMSAwOTo0MywgTGluY29sbiBCYXh0ZXIsIElJSQogICAgICAgICAgICAg ICAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyBBbHNvLCBpZiBmb3JnZSBp cyB1bnppcHBlZC4gSXQgc2hvdWxkCiAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgZG9uZSBz byBpbiBpdHMgb3duIHN1YmZvbGRlci48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0 OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgSWxsIHRyeSB0byBj YXRjaCB5b3Ugb25saW5lIHRvbmlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbWFr ZSBzdXJlIHlvdSd2ZSBnb3QgdGhlIHJpZ2h0IDxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyBhcnRpZmFjdC4gKGl0IG1vdmVkIHRlbXBvcmFyaWx5CiAgICAgICAgICAgICAg ICAgICAgICAgICAgZHVyaW5nIHRoZSBqYm9zcyBtb2R1bGVzIHRyYW5zaXRpb24uPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7IExp bmNvbG4gQmF4dGVyJ3MgRHJvaWQ8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZn dDsgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg aHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQu Y29tPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAiS2VlcCBpdCBT aW1wbGUiPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7IE9uIFNlcCAxLCAyMDExIDc6NDEgUE0sICJMaW5j b2xuCiAgICAgICAgICAgICAgICAgICAgICAgICAgQmF4dGVyLCBJSUkiICZsdDs8YSBtb3otZG8t bm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86 bGluY29sbmJheHRlckBnbWFpbC5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJn ZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICAgICAgICAgICAgPGRpdj4mZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+ Jmd0OyZndDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAg ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4gJmd0OyZn dDsgJmd0OyBXZWxsLiBUaGUgZm9yZ2UgZGlzdHJpYnV0aW9uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgZG9lc24ndCBjb250YWluIGRvY3MgZWl0aGVyLiBUaGV5IGFyZSA8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgJmd0OyZndDsgcHVyZWx5PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsgb25saW5lIGF0IHRoaXMgcG9pbnQuIFNvIEkgdGhpbmsKICAg ICAgICAgICAgICAgICAgICAgICAgICBqdXN0IGRvbid0IHdvcnJ5IGFib3V0IGl0LiBUaGlzIDxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyBjb25mbHVlbmNlPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsgdGhpbmcgaXMgYSBiaXQgb2YgYSBw YWluIGluIHRoYXQKICAgICAgICAgICAgICAgICAgICAgICAgICByZWdhcmQuPGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyAtLTxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7IExpbmNvbG4gQmF4dGVyJ3MgRHJvaWQ8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vb2Nwc29mdC5jb20iIHRhcmdldD0iX2JsYW5r Ij5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsgIktlZXAgaXQgU2ltcGxlIjxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7IE9uIFNlcCAxLCAyMDExIDY6MDUgUE0sICJTaGFuZQogICAgICAgICAg ICAgICAgICAgICAgICAgIEJyeXphayIgJmx0OzxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20i CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRo YXQuY29tPC9hPiA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICAgICAgICAgICAgICA8ZGl2PiAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7Jmd0 OwoKICAgICAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsgVW5sZXNzIGFuIGV4cG9ydCBjb3VsZCBiZQogICAg ICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRlZCBhcyBwYXJ0IG9mIHRoZSBidWlsZCBwcm9j ZXNzLCBJPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IGRv bid0IHRoaW5rIHRoYXQncyBhIGdvb2QKICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVhLiBI b3cgYWJvdXQgd2UganVzdCBpbmNsdWRlIHRoZSBGb3JnZTxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBkaXN0cmlidXRpb24gZXh0cmFjdGVkCiAgICAgICAg ICAgICAgICAgICAgICAgICAgaW5zaWRlIHRoZSBTZWFtIGRpc3RyaWJ1dGlvbj8gVGhlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRhdGlvbjxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB3b24ndCBiZSBjb21iaW5lZCB3aXRoIHRoZQogICAg ICAgICAgICAgICAgICAgICAgICAgIG1haW4gU2VhbSBkb2NzLCBidXQgYXMgbG9uZyBhcyBpdCdz IGluIHRoZTxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBG b3JnZSBkaXN0cmlidXRpb24gdGhlbiBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBz aG91bGQgYmUgYWJsZSB0byBmaW5kIGl0IHdpdGhvdXQgdG9vPGJyPgogICAgICAgICAgICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IG11Y2ggZWZmb3J0Ljxicj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBPbiAwMi8wOS8xMSAwMToyMiwgTGluY29sbgogICAgICAg ICAgICAgICAgICAgICAgICAgIEJheHRlciwgSUlJIHdyb3RlOjxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IEknbSBub3QgcmVhbGx5IHN1cmUgaG93CiAgICAg ICAgICAgICAgICAgICAgICAgICAgdG8gZG8gdGhpcywgdGhlbi4gVGhlcmUgYXJlIG5vIHNvdXJj ZXMgc2luY2U8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7IHRoZSBkb2NzIGFyZSBpbgogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZsdWVuY2Uu PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgSSBzdXBwb3Nl IGFuIGV4cG9ydAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvdWxkIHdvcms/PGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgLS08YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IExpbmNvbG4gQmF4dGVyJ3MgRHJv aWQ8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IDxh CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vb2Nwc29mdC5jb20iIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vb2Nwc29mdC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAiS2VlcCBpdCBTaW1wbGUiPGJyPgogICAgICAgICAg ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgT24gQXVnIDMxLCAyMDExIDU6MDkgUE0s CiAgICAgICAgICAgICAgICAgICAgICAgICAgIlNoYW5lIEJyeXphayIgJmx0OzxhIG1vei1kby1u b3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpz YnJ5emFrQHJlZGhhdC5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9i bGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgJmd0OyZndDsgJmx0O21haWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNv bTwvYT4mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICAgICAgICAgICAgPGRpdj4mZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0O21haWx0bzo8YQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208 L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBtb3otZG8tbm90LXNl bmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2JyeXph a0ByZWRoYXQuY29tIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsi PnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7Jmd0OyZndDsKCiAgICAgICAgICAgICAgICAgICAg ICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg ICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PiAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyBUaGUgc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhcnRpZmFjdCBmb3IgdGhlIEZvcmdlIGRvY3Mgd2VyZSBiZWluZwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgcHVsbGVkIGluIGxpa2UgPGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgdGhpczo8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7 ZGVwZW5kZW5jeSZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2dyb3VwSWQm Z3Q7b3JnLmpib3NzLnNlYW0uZm9yZ2UmbHQ7L2dyb3VwSWQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZsdDthcnRpZmFjdElkJmd0O2ZvcmdlLXJlZmVyZW5jZS1ndWlkZSZsdDsv YXJ0aWZhY3RJZCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3ZlcnNpb24m Z3Q7MS4wLjAtU05BUFNIT1QmbHQ7L3ZlcnNpb24mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZsdDtjbGFzc2lmaWVyJmd0O3NvdXJjZXMmbHQ7L2NsYXNzaWZpZXImZ3Q7PGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt0eXBlJmd0O2phciZsdDsvdHlwZSZndDs8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Owog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kZXBlbmRlbmN5Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgV2hlbiBJ IHVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24gdG8gMS4wLjAu QmV0YTEsIGl0IGNhbid0IGZpbmQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3Vy Y2UgLTxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyB3YXM8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyB0aGUgQmV0YTEgc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnRp ZmFjdCBwdWJsaXNoZWQgdG8gTWF2ZW4/PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgT24gMDEvMDkvMTEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDAzOjAyLCBMaW5jb2xuIEJheHRlciwgSUlJIHdyb3RlOjxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8 YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZG9jcy5qYm9zcy5vcmcv YXV0aG9yL2Rpc3BsYXkvU0VBTUZPUkdFL0hvbWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2RvY3MuamJvc3Mub3JnL2F1dGhvci9kaXNwbGF5 L1NFQU1GT1JHRS9Ib21lPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBPbiBXZWQsIEF1ZwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMzEsIDIwMTEgYXQgMTowMiBQTSwgTGluY29sbiBCYXh0ZXIsIElJSTxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7PGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5k PSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86bGluY29s bmJheHRlckBnbWFpbC5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0i X2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVy QGdtYWlsLmNvbTwvYT4mZ3Q7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmx0O21haWx0bzo8YQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5iYXh0ZXJA Z21haWwuY29tPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBt b3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9 Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPiZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZs dDttYWlsdG86PGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5k PSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86bGluY29s bmJheHRlckBnbWFpbC5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0i X2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVy QGdtYWlsLmNvbTwvYT4mZ3Q7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmx0O21haWx0bzo8YQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5iYXh0ZXJA Z21haWwuY29tPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBt b3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9 Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGFyZ2V0PSJfYmxhbmsiPmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPiZndDsmZ3Q7 Jmd0OyZndDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg SnVzdCBjaGVja2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0aGUgRm9yZ2UgZG9j cyBhcmUgbm8gbG9uZ2VyIGluIFNWTiAvIGFyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg aW48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgQ29uZmx1ZW5jZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhdmUgeW91 IHRha2VuIHRoaXMgaW50byBhY2NvdW50Pzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBBbHNvLCB0aGUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHdoaWNoIGRpc3RyaWJ1dGlvbiBhcmUgeW91IGluY2x1ZGluZz8g WW91CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VsZCBjaG9vc2U8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgZWl0aGVy IEJldGExCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciB0aGUgbGF0ZXN0IFNOQVBTSE9U ICh3aGljaCBpcyBhY3R1YWxseSBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBuZXc8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgbG9jYXRpb24gLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZWQgYmFjayB0 byB0aGUgb3JpZ2luYWw8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy5qYm9z cy5mb3JnZTpmb3JnZS1kaXN0cmlidXRpb24gLSB0aG91Z2gKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGl0IGxvb2tzIGxpa2UgdGhlPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGJ1aWxkIGhhc24ndAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGVwbG95ZWQgYXJ0aWZhY3RzIGluIGEgbGl0dGxlIHdoaWxlIC0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxvb2tpbmcgaW4gdG88YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgdGhhdCk8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgfkxpbmNvbG48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgT24gV2VkLCBBdWcKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDMxLCAyMDExIGF0IDEyOjE0IEFNLCBTaGFuZSBCcnl6YWsgPGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmx0OzxhIG1vei1kby1ub3Qtc2Vu ZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNicnl6 YWtAcmVkaGF0LmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxh bmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZs dDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDs8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0 O21haWx0bzo8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9 InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzYnJ5emFr QHJlZGhhdC5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5r Ij5zYnJ5emFrQHJlZGhhdC5jb208L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7 bWFpbHRvOjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7Jmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1k by1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFp bHRvOnNicnl6YWtAcmVkaGF0LmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFy Z2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29t PC9hPiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZsdDttYWlsdG86PGEKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBtb3otZG8tbm90LXNlbmQ9InRydWUi CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhh dC5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5zYnJ5 emFrQHJlZGhhdC5jb208L2E+Jmd0OyZndDsmZ3Q7Jmd0OwoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBNb2R1bGUgbGVhZHMsPGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IENhbiB5 b3UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsZWFzZSByZXZpZXcgdGhlIGxpc3QgYmVs b3cgYW5kIGNvbmZpcm0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgdGhlPGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 IGRvY3VtZW50YXRpb248YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgY2hhcHRlcnMgYXJlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb3JyZWN0IGZvciB5b3VyIG1vZHVsZS4gQWxzbywgSSB3b3VsZCBsaWtlPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGV2 ZXJ5b25lIHRvPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7IHRha2UgYSBtb21lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRvIHJldmlldyB0aGUgbW9kdWxlIGRvY3VtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGd1aWRlbGluZXMsPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFzIHRoZXJlPGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHdlcmUgYSBudW1iZXIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGJyZWFrYWdlcyBpbiB0aGUgYnVuZGxlZCBkb2N1 bWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZDxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBiZWNhdXNl PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpZGVsaW5lcyB3ZXJlbid0 IGFkaGVyZWQgdG8sIHBhcnRpY3VsYXJseQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g dGhlIG5ldzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyBtb2R1bGVzIGZvcjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBTZWFtIDMuMTo8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgMSkg QWx3YXlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXggdGhlIGZpbGVuYW1lcyBv ZiB5b3VyIGRvY3VtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXB0ZXJz PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IHdpdGggdGhlPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IG5hbWUgb2YgeW91cgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgbW9kdWxlLiBFLmcuIHNlY3VyaXR5LWF1dGhlbnRpY2F0aW9uLnhtbCw8YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5LWF1dGhvcml6YXRpb24ueG1sLCBldGMu PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IDIpIFdoZW5ldmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5b3Ug YXNzaWduIGFuIElEIHRvIGEgZG9jYm9vayBlbGVtZW50LCBzdWNoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhcyBhPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Y2hh cHRlciZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzZWN0aW9u Jmd0OywgQUxXQVlTIHByZWZpeCB0aGUgaWQgd2l0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgeW91ciBtb2R1bGUgbmFtZS4gRm9yPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGV4YW1wbGUsPGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtjaGFwdGVy CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0ic2VjdXJpdHktaW50cm9kdWN0aW9uIiZn dDsgb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzZWN0aW9uPGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZD0ic2VjdXJpdHktZ2V0dGluZy1zdGFydGVkIiZndDsu IEFzIGFsbCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNoYXB0ZXJzIGZvcjxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyBhbGwgbW9kdWxlczxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBhcmUgY29tYmluZWQKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdoZW4gYnVpbGRpbmcgdGhlIGJ1bmRsZWQgZG9jdW1lbnRhdGlvbiwgYWxsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJRHM8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgbXVzdCBiZTxicj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB1bmlxdWUuIFRo aXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGEgcGFydGljdWxhcmx5IHRpbWUgY29u c3VtaW5nIHByb2JsZW0gdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeDxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBi ZWNhdXNlPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7IHRoZSBlcnJvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0 IGZyb20gdGhlIE1hdmVuIGRvY2Jvb2sgcGx1Z2luIGRvZXNuJ3QKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRlbGw8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgeW91IHdoaWNoPGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGZpbGVzIGFyZSB0aGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByb2JsZW0gb25lcy48YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgMykgV2hlbgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaW5nLCByZW5hbWluZyBvciBkZWxldGluZyBh IGNoYXB0ZXIgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlvdXI8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50YXRpb24sPGJyPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHBsZWFzZSBub3RpZnkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lIG9mIHRoZSBjaGFuZ2VzIHNvIHRoYXQgSSBj YW4gdXBkYXRlPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVkX21hc3Rl ci54bWwuIFRoaXMgZmlsZSBtdXN0IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW51 YWxseSBrZXB0IHVwIHRvPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGRhdGUgd2hlbmV2ZXI8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgYW55CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkb2N1bWVudGF0aW9uIGNoYW5nZXMgYXJlIG1hZGUuPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7IFRoYW5rcyw8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgU2hhbmU8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oz94bWwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9InV0Zi04Ij8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDshRE9DVFlQRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vayBQVUJM SUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFY0LjUvL0VOIjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAiPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRv LW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRw Oi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9hc2lz LW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQ8L2E+IgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyBdJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7Ym9vawogICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGFuZz0iZW4iIHhtbG5zOnhpPSI8YQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNs dWRlPC9hPiImZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0b2MgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZsdDt0aXRsZSZndDtTZWFtIDMmbHQ7L3RpdGxlJmd0Ozxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3N1YnRpdGxlJmd0O0J1bmRsZWQg UmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdWlkZSZsdDsvc3VidGl0bGUm Z3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVk ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iYnVuZGxlZF9jcmVkaXRzLnhtbCIv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUgaHJl Zj0iYnVuZGxlZF9pbnRyby54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7Rm9yZ2UmbHQ7L3RpdGxl Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUgaHJl Zj0iZm9yZ2UtcHJlZmFjZS54bWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUgaHJlZj0iZm9y Z2UtaW5zdGFsbGF0aW9uLnhtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgaHJlZj0iZm9yZ2UtY3JlYXRpbmctYmFzaWMtd2ViYXBwLnhtbCIg LyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhy ZWY9ImZvcmdlLXBsdWdpbi1kZXYueG1sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyZn dDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt0aXRsZSZndDtTZWFtIFNvbGRlciZsdDsvdGl0 bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ic29sZGVyLXByZWZhY2UueG1sIi8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgaHJlZj0ic29sZGVyLWdldHRpbmdzdGFydGVkLnhtbCIvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1wcm9ncmFtbWluZ21vZGVsLnhtbCIv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1hbm5vdGF0aW9ubGl0ZXJhbHMu eG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVk ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ic29sZGVyLWVsZXh0ZW5zaW9ucy54 bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJzb2xkZXItcmVzb3VyY2Vsb2FkaW5n LnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1sb2dnaW5nLnhtbCIv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci10eXBldXRpbGl0aWVzLnhtbCIv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1iZWFubWFuYWdlcnByb3ZpZGVy LnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1iZWFudXRpbGl0aWVz LnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1wcm9wZXJ0aWVzLnht bCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci11bndyYXBzLnhtbCIvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNvbGRlci1kZWZhdWx0YmVhbnMueG1sIi8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgaHJlZj0ic29sZGVyLWdlbmVyaWNiZWFucy54bWwiLyZndDs8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBocmVmPSJzb2xkZXItc2VydmljZWhhbmRsZXIueG1sIi8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQ29uZmlndXJhdGlvbiZsdDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgaHJlZj0iY29uZmlnLWludHJvZHVjdGlvbi54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBocmVmPSJjb25maWcteG1sLXByb3ZpZGVyLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmx0O3RpdGxlJmd0O1NlYW0gUGVyc2lzdGVuY2UmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGhyZWY9InBlcnNpc3RlbmNlLWdlbmVyYWwueG1sIi8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsv cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7U2VhbSBUcmFuc2FjdGlvbiZsdDsvdGl0bGUmZ3Q7PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgaHJlZj0idHJhbnNhY3Rpb24tZ2VuZXJhbC54bWwiLyZndDs8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZsdDt0aXRsZSZndDtTZWFtIFNlcnZsZXQmbHQ7L3RpdGxlJmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNlcnZsZXQtaW50cm9kdWN0aW9uLnhtbCIvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNlcnZsZXQtaW5zdGFsbGF0aW9uLnhtbCIvJmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNlcnZsZXQtZXZlbnRzLnhtbCIvJmd0Ozxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGhyZWY9InNlcnZsZXQtaW5qZWN0YWJsZV9yZWZzLnhtbCIvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhyZWY9InNlcnZsZXQtZXhjZXB0aW9uX2hhbmRsaW5nLnhtbCIg LyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJzZXJ2bGV0LWJlYW5tYW5hZ2VyLnhtbCIv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Owog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3RpdGxlJmd0O1NlYW0gU2VjdXJpdHkmbHQ7 L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InNlY3VyaXR5LWludHJvZHVjdGlv bi54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNs dWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJzZWN1cml0eS1hdXRoZW50aWNh dGlvbi54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJzZWN1cml0eS1pZGVudGl0 eW1hbmFnZW1lbnQueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAm bHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ic2VjdXJpdHkt YXV0aGVudGljYXRpb24tZXh0ZXJuYWwueG1sIi8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJl Zj0ic2VjdXJpdHktYXV0aG9yaXphdGlvbi54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hdGlv bmFsJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4 aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJpbnRlcm5hdGlvbmFs LXByZWZhY2UueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0 O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9ImludGVybmF0aW9u YWwtaW5zdGFsbGF0aW9uLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJpbnRl cm5hdGlvbmFsLWxvY2FsZXMueG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imlu dGVybmF0aW9uYWwtdGltZXpvbmVzLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVm PSJpbnRlcm5hdGlvbmFsLW1lc3NhZ2VzLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZsdDt0aXRsZSZndDtTZWFtIEZhY2VzJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9ImZhY2VzLXByZWZhY2UueG1sIgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9ImZhY2VzLWluc3RhbGxhdGlvbi54bWwiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmx0O3hpOmluY2x1ZGUgaHJlZj0iZmFjZXMtZXZlbnRzLnhtbCIgLyZndDs8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9ImZhY2Vz LXNjb3Blcy54bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7 eGk6aW5jbHVkZSBocmVmPSJmYWNlcy1tZXNzYWdlcy54bWwiCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmlu Y2x1ZGUgaHJlZj0iZmFjZXMtYXJ0aWZhY3RzLnhtbCIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVk ZSBocmVmPSJmYWNlcy1jb21wb25lbnRzLnhtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7U2VhbSBDYXRjaCZsdDsv dGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVk ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iY2F0Y2gtaW50cm9kdWN0aW9uLnht bCIvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9ImNhdGNoLWluc3RhbGxhdGlvbi54bWwi LyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJjYXRjaC1jbGllbnRfdXNhZ2UueG1sIi8m Z3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iY2F0Y2gtYWR2YW5jZWRfdXNhZ2UueG1sIi8m Z3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iY2F0Y2gtaW50ZWdyYXRpb24ueG1sIi8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgaHJlZj0iY2F0Y2gtZ2xvc3NhcnkueG1sIi8mZ3Q7PGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7U2VhbSBSZXBvcnRzJmx0Oy90aXRsZSZndDs8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9InJl cG9ydHMtcHJlZmFjZS54bWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvJmd0Ozxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGhyZWY9InJlcG9ydHMtaW5zdGFsbGF0aW9uLnhtbCIgLyZndDs8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9InJlcG9y dHMtdXNhZ2UueG1sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyZndDs8YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZsdDt0aXRsZSZndDtTZWFtIFJlbW90aW5nJmx0Oy90aXRsZSZndDs8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBocmVmPSJyZW1vdGluZy1nZW5lcmFsLnhtbCIvJmd0Ozxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Owog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGhyZWY9InJlbW90aW5nLW1vZGVsLnhtbCIvJmd0Ozxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGhyZWY9InJlbW90aW5nLXZhbGlkYXRpb24ueG1sIi8mZ3Q7PGJyPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFy dCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmbHQ7dGl0bGUmZ3Q7U2VhbSBSRVNUJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9InJlc3QtcHJlZmFjZS54 bWwiIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVk ZSBocmVmPSJyZXN0LWluc3RhbGxhdGlvbi54bWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9InJlc3QtZXhjZXB0aW9uLW1hcHBpbmcu eG1sIiAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1 ZGUgaHJlZj0icmVzdC12YWxpZGF0aW9uLnhtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZSBo cmVmPSJyZXN0LXRlbXBsYXRpbmcueG1sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyZn dDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9 InJlc3QtY2xpZW50LnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZsdDt4aTppbmNsdWRlIGhyZWY9InJlc3QtZGVwZW5kZW5jaWVzLnhtbCIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0 O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7 U2VhbSBKQ1ImbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAg Jmx0O3hpOmluY2x1ZGUgaHJlZj0iamNyLWludHJvZHVjdGlvbi54bWwiCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0 O3hpOmluY2x1ZGUgaHJlZj0iamNyLW1vZGVzaGFwZS54bWwiLyZndDs8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBocmVmPSJqY3ItamFja3JhYmJpdC54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBo cmVmPSJqY3ItZXZlbnQtbWFwcGluZy54bWwiLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhyZWY9Impjci1vY20ueG1sIi8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmbHQ7dGl0bGUmZ3Q7U2VhbSBKTVMmbHQ7L3RpdGxlJmd0Ozxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Owog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUgaHJlZj0iam1zLWludHJv LnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNs dWRlIGhyZWY9Imptcy1pbnN0YWxsYXRpb24ueG1sIgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJqbXMtcmVzb3VyY2UtaW5qZWN0aW9u LnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNs dWRlIGhyZWY9Imptcy1tZXNzYWdpbmcueG1sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg LyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt4aTppbmNsdWRlIGhy ZWY9Imptcy1yb3V0aW5nLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJqbXMt bWFwcGluZy1pbnRlcmZhY2VzLnhtbCIgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt0 aXRsZSZndDtTZWFtIFZhbGlkYXRpb24mbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhyZWY9InZhbGlkYXRpb24taW50cm9kdWN0aW9uLnhtbCIvJmd0Ozxicj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGhyZWY9InZhbGlkYXRpb24taW5zdGFsbGF0aW9uLnhtbCIvJmd0Ozxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGhyZWY9InZhbGlkYXRpb24tZGVwZW5kZW5jeS1pbmplY3Rpb24ueG1sIi8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgaHJlZj0idmFsaWRhdGlvbi1tZXRob2QtdmFsaWRhdGlvbi54bWwi LyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZn dDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDt0aXRsZSZndDtTZWFtIFdpY2tldCZsdDsv dGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7eGk6aW5jbHVk ZSBocmVmPSJ3aWNrZXQtcHJlZmFjZS54bWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9IndpY2tldC1pbnN0YWxsYXRpb24ueG1sIiAv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3hpOmluY2x1ZGUgaHJl Zj0id2lja2V0LWZlYXR1cmVzLnhtbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9ib29rJmd0Ozxicj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX188YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgc2VhbS1kZXYKICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1haWxpbmcgbGlzdDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ot ZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1h aWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmbHQ7bWFpbHRvOjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3Rz Lmpib3NzLm9yZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsi PnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4mZ3Q7CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmx0O21haWx0 bzo8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUi CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0 cy5qYm9zcy5vcmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5r Ij5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmbHQ7bWFpbHRvOjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpi b3NzLm9yZzwvYT4mZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5k PSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2VhbS1k ZXZAbGlzdHMuamJvc3Mub3JnIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9 Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPiZndDsKCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm bHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2Vu ZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnNlYW0t ZGV2QGxpc3RzLmpib3NzLm9yZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0 PSJfYmxhbmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZsdDttYWlsdG86PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3Jn IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZA bGlzdHMuamJvc3Mub3JnPC9hPiZndDsmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8v c2VhbS1kZXYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5o dHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAtLTxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBMaW5jb2xuCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCYXh0ZXIsIElJSTxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bz b2Z0LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRv LW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRw Oi8vc2NydW1zaGFyay5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vc2NydW1zaGFyay5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICJLZWVwIGl0CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTaW1wbGUiPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 IC0tPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7IExpbmNvbG4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJheHRlciwgSUlJ PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0i dHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL29jcHNvZnQu Y29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9zY3J1bXNoYXJrLmNvbSIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9zY3J1bXNoYXJr LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgIktlZXAgaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpbXBs ZSI8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmd0OyA8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAg ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAg ICAgICA8YnIgY2xlYXI9ImFsbCI+CiAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAg ICAgICAgLS0gPGJyPgogICAgICAgICAgICAgICAgICBMaW5jb2xuIEJheHRlciwgSUlJPGJyPgog ICAgICAgICAgICAgICAgICA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Imh0dHA6Ly9v Y3Bzb2Z0LmNvbSIKICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29j cHNvZnQuY29tPC9hPjxicj4KICAgICAgICAgICAgICAgICAgPGEgbW96LWRvLW5vdC1zZW5kPSJ0 cnVlIiBocmVmPSJodHRwOi8vc2NydW1zaGFyay5jb20iCiAgICAgICAgICAgICAgICAgICAgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly9zY3J1bXNoYXJrLmNvbTwvYT48YnI+CiAgICAgICAgICAgICAg ICAgICJLZWVwIGl0IFNpbXBsZSI8YnI+CiAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAg ICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2 PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnI+CiAgICAgICAgICBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KICAgICAgICAgIHNlYW0tZGV2 IG1haWxpbmcgbGlzdDxicj4KICAgICAgICAgIDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAg ICAgICAgICAgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyI+c2VhbS1kZXZA bGlzdHMuamJvc3Mub3JnPC9hPjxicj4KICAgICAgICAgIDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1 ZSIKICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9zZWFtLWRldiIKICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMu amJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgogICAgICAgICAgPGJy PgogICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgPC9kaXY+CiAgICAgIDxicj4KICAgICAgPGJy IGNsZWFyPSJhbGwiPgogICAgICA8ZGl2Pjxicj4KICAgICAgPC9kaXY+CiAgICAgIC0tIDxicj4K ICAgICAgSmFzb24gUG9ydGVyPGJyPgogICAgICA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhy ZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIKICAgICAgICB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxvZ3Nwb3QuY29tPC9hPjxicj4KICAgICAgPGEg bW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFy ZGpwIgogICAgICAgIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFy ZGpwPC9hPjxicj4KICAgICAgPGJyPgogICAgICBTb2Z0d2FyZSBFbmdpbmVlcjxicj4KICAgICAg T3BlbiBTb3VyY2UgQWR2b2NhdGU8YnI+CiAgICAgIEF1dGhvciBvZiBTZWFtIENhdGNoIC0gTmV4 dCBHZW5lcmF0aW9uIEphdmEgRXhjZXB0aW9uIEhhbmRsaW5nPGJyPgogICAgICA8YnI+CiAgICAg IFBHUCBrZXkgaWQ6IDkyNkNDRkY1PGJyPgogICAgICBQR1Aga2V5IGF2YWlsYWJsZSBhdDogPGEg bW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgIGhyZWY9Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0 IiB0YXJnZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4sIDxhCiAgICAgICAgbW96LWRvLW5v dC1zZW5kPSJ0cnVlIiBocmVmPSJodHRwOi8vcGdwLm1pdC5lZHUiIHRhcmdldD0iX2JsYW5rIj5w Z3AubWl0LmVkdTwvYT48YnI+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9ib2R5Pgo8 L2h0bWw+Cg== --===============3273301607269939386==-- From lincolnbaxter at gmail.com Fri Sep 2 00:15:08 2011 Content-Type: multipart/mixed; boundary="===============1001014988652145446==" MIME-Version: 1.0 From: Lincoln Baxter, III To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 00:15:06 -0400 Message-ID: In-Reply-To: 4E6052DD.1090602@redhat.com --===============1001014988652145446== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I don't know. I don't really have plans to include docbook in the dist until we get some better integration there from the .ORG team. I don't see that happening, though, so until then, online docs are the way people will be learning about forge. Our tools don't make this easy. I don't think the connectivity issue will be a problem. People can always print or download the site for later if they have connectivity issues. It might be nice (on confluence) to be able to have a 1-click download, though. ~Lincoln On Thu, Sep 1, 2011 at 11:51 PM, Shane Bryzak wrote: > Yeah, that's a good idea. Do you have plans to provide documentation as > part of the Forge download? I'm thinking of the users who might have > no/limited connectivity who won't be able to access the Forge docs online. > Also, how does confluence work in conjunction with our documentation team? > From my understanding all their tools for translating etc are based on > Publican/Docbook. > > > On 02/09/11 13:48, Lincoln Baxter, III wrote: > > Actually, maybe the best thing to do is just to add a new section to the > Seam umbrella doc, with an HTML link to the forge confluence space? > > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III < > lincolnbaxter(a)gmail.com> wrote: > >> Ok. If you include beta1, the artifact for dist is: >> >> org.jboss.forge:forge-modules:1.0.0.Beta1 >> >> -- >> Lincoln Baxter's Droid >> http://ocpsoft.com >> "Keep it Simple" >> On Sep 1, 2011 7:52 PM, "Shane Bryzak" wrote: >> > Yep, I planned on extracting it in the forge folder. >> > >> > On 02/09/11 09:43, Lincoln Baxter, III wrote: >> >> >> >> Also, if forge is unzipped. It should be done so in its own subfolder. >> >> >> >> Ill try to catch you online tonight and make sure you've got the right >> >> artifact. (it moved temporarily during the jboss modules transition. >> >> >> >> -- >> >> Lincoln Baxter's Droid >> >> http://ocpsoft.com >> >> "Keep it Simple" >> >> >> >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" > >> > wrote: >> >> > Well. The forge distribution doesn't contain docs either. They are >> >> purely >> >> > online at this point. So I think just don't worry about it. This >> >> confluence >> >> > thing is a bit of a pain in that regard. >> >> > >> >> > -- >> >> > Lincoln Baxter's Droid >> >> > http://ocpsoft.com >> >> > "Keep it Simple" >> >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" > >> > wrote: >> >> >> Unless an export could be automated as part of the build process, I >> >> >> don't think that's a good idea. How about we just include the Forge >> >> >> distribution extracted inside the Seam distribution? The >> documentation >> >> >> won't be combined with the main Seam docs, but as long as it's in >> the >> >> >> Forge distribution then a user should be able to find it without t= oo >> >> >> much effort. >> >> >> >> >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: >> >> >>> >> >> >>> I'm not really sure how to do this, then. There are no sources >> since >> >> >>> the docs are in confluence. >> >> >>> >> >> >>> I suppose an export could work? >> >> >>> >> >> >>> -- >> >> >>> Lincoln Baxter's Droid >> >> >>> http://ocpsoft.com >> >> >>> "Keep it Simple" >> >> >>> >> >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" > >> >> >> >>> >> wro= te: >> >> >>> > The source artifact for the Forge docs were being pulled in >> like >> >> this: >> >> >>> > >> >> >>> > >> >> >>> > org.jboss.seam.forge >> >> >>> > forge-reference-guide >> >> >>> > 1.0.0-SNAPSHOT >> >> >>> > sources >> >> >>> > jar >> >> >>> > >> >> >>> > >> >> >>> > When I update the version to 1.0.0.Beta1, it can't find the >> source - >> >> >>> was >> >> >>> > the Beta1 source artifact published to Maven? >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > On 01/09/11 03:02, Lincoln Baxter, III wrote: >> >> >>> >> https://docs.jboss.org/author/display/SEAMFORGE/Home >> >> >>> >> >> >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln Baxter, III >> >> >>> >> >> >> > >> >> >>> >> >> >= >> >> wrote: >> >> >>> >> >> >> >>> >> Just checking - the Forge docs are no longer in SVN / are in >> >> >>> >> Confluence; have you taken this into account? >> >> >>> >> >> >> >>> >> Also, the which distribution are you including? You could choo= se >> >> >>> >> either Beta1 or the latest SNAPSHOT (which is actually in a new >> >> >>> >> location - moved back to the original >> >> >>> >> org.jboss.forge:forge-distribution - though it looks like the >> >> >>> >> build hasn't deployed artifacts in a little while - looking in >> to >> >> >>> >> that) >> >> >>> >> >> >> >>> >> ~Lincoln >> >> >>> >> >> >> >>> >> >> >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane Bryzak >> >> >> >> >>> > >> >> >>> >> >> >> >>> wrote: >> >> >>> >> >> >> >>> >> Module leads, >> >> >>> >> >> >> >>> >> Can you please review the list below and confirm that the >> >> >>> >> documentation >> >> >>> >> chapters are correct for your module. Also, I would like >> >> >>> >> everyone to >> >> >>> >> take a moment to review the module documentation guidelines, >> >> >>> >> as there >> >> >>> >> were a number of breakages in the bundled documentation build >> >> >>> >> because >> >> >>> >> the guidelines weren't adhered to, particularly in the new >> >> >>> >> modules for >> >> >>> >> Seam 3.1: >> >> >>> >> >> >> >>> >> 1) Always prefix the filenames of your documentation chapters >> >> >>> >> with the >> >> >>> >> name of your module. E.g. security-authentication.xml, >> >> >>> >> security-authorization.xml, etc. >> >> >>> >> >> >> >>> >> 2) Whenever you assign an ID to a docbook element, such as a >> >> >>> >> >> >> >>> >> or
, ALWAYS prefix the id with your module name. For >> >> >>> >> example, >> >> >>> >> or
> >> >>> >> id=3D"security-getting-started">. As all of the chapters for >> >> >>> >> all modules >> >> >>> >> are combined when building the bundled documentation, all IDs >> >> >>> >> must be >> >> >>> >> unique. This is a particularly time consuming problem to fix >> >> >>> >> because >> >> >>> >> the error output from the Maven docbook plugin doesn't tell >> >> >>> >> you which >> >> >>> >> files are the problem ones. >> >> >>> >> >> >> >>> >> 3) When adding, renaming or deleting a chapter of your >> >> >>> >> documentation, >> >> >>> >> please notify me of the changes so that I can update >> >> >>> >> bundled_master.xml. This file must be manually kept up to >> >> >>> >> date whenever >> >> >>> >> any documentation changes are made. >> >> >>> >> >> >> >>> >> Thanks, >> >> >>> >> Shane >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> > >> >>> >> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam 3 >> >> >>> >> Bundled Reference Guide >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Forge >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Solder >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Configuration >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Persistence >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Transaction >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Servlet >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Security >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam International >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Faces >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Catch >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Reports >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Remoting >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam REST >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam JCR >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam JMS >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Validation >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> Seam Wicket >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> _______________________________________________ >> >> >>> >> seam-dev mailing list >> >> >>> >> seam-dev(a)lists.jboss.org >> >> > >> >> >>> >> >> >> >> >> >> >>> >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> -- >> >> >>> >> Lincoln Baxter, III >> >> >>> >> http://ocpsoft.com >> >> >>> >> http://scrumshark.com >> >> >>> >> "Keep it Simple" >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> -- >> >> >>> >> Lincoln Baxter, III >> >> >>> >> http://ocpsoft.com >> >> >>> >> http://scrumshark.com >> >> >>> >> "Keep it Simple" >> >> >>> > >> >> >> >> > >> > > > > -- > Lincoln Baxter, III > http://ocpsoft.com > http://scrumshark.com > "Keep it Simple" > > > -- = Lincoln Baxter, III http://ocpsoft.com http://scrumshark.com "Keep it Simple" --===============1001014988652145446== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" SSBkb24mIzM5O3Qga25vdy4gSSBkb24mIzM5O3QgcmVhbGx5IGhhdmUgcGxhbnMgdG8gaW5jbHVk ZSBkb2Nib29rIGluIHRoZSBkaXN0IHVudGlsIHdlIGdldCBzb21lIGJldHRlciBpbnRlZ3JhdGlv biB0aGVyZSBmcm9tIHRoZSAuT1JHIHRlYW0uIEkgZG9uJiMzOTt0IHNlZSB0aGF0IGhhcHBlbmlu ZywgdGhvdWdoLCBzbyB1bnRpbCB0aGVuLCBvbmxpbmUgZG9jcyBhcmUgdGhlIHdheSBwZW9wbGUg d2lsbCBiZSBsZWFybmluZyBhYm91dCBmb3JnZS4gT3VyIHRvb2xzIGRvbiYjMzk7dCBtYWtlIHRo aXMgZWFzeS48YnI+Cjxicj5JIGRvbiYjMzk7dCB0aGluayB0aGUgY29ubmVjdGl2aXR5IGlzc3Vl IHdpbGwgYmUgYSBwcm9ibGVtLiBQZW9wbGUgY2FuIGFsd2F5cyBwcmludCBvciBkb3dubG9hZCB0 aGUgc2l0ZSBmb3IgbGF0ZXIgaWYgdGhleSBoYXZlIGNvbm5lY3Rpdml0eSBpc3N1ZXMuIEl0IG1p Z2h0IGJlIG5pY2UgKG9uIGNvbmZsdWVuY2UpIHRvIGJlIGFibGUgdG8gaGF2ZSBhIDEtY2xpY2sg ZG93bmxvYWQsIHRob3VnaC48YnI+Cjxicj5+TGluY29sbjxicj48YnI+PGRpdiBjbGFzcz0iZ21h aWxfcXVvdGUiPk9uIFRodSwgU2VwIDEsIDIwMTEgYXQgMTE6NTEgUE0sIFNoYW5lIEJyeXphayA8 c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iPnNi cnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4 ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPgoKICAKICAgIAogIAogIDxkaXYgdGV4dD0i IzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICBZZWFoLCB0aGF0JiMzOTtzIGEgZ29vZCBp ZGVhLqAgRG8geW91IGhhdmUgcGxhbnMgdG8gcHJvdmlkZQogICAgZG9jdW1lbnRhdGlvbiBhcyBw YXJ0IG9mIHRoZSBGb3JnZSBkb3dubG9hZD+gIEkmIzM5O20gdGhpbmtpbmcgb2YgdGhlCiAgICB1 c2VycyB3aG8gbWlnaHQgaGF2ZSBuby9saW1pdGVkIGNvbm5lY3Rpdml0eSB3aG8gd29uJiMzOTt0 IGJlIGFibGUgdG8KICAgIGFjY2VzcyB0aGUgRm9yZ2UgZG9jcyBvbmxpbmUuoCBBbHNvLCBob3cg ZG9lcyBjb25mbHVlbmNlIHdvcmsgaW4KICAgIGNvbmp1bmN0aW9uIHdpdGggb3VyIGRvY3VtZW50 YXRpb24gdGVhbT+gIEZyb20gbXkgdW5kZXJzdGFuZGluZyBhbGwKICAgIHRoZWlyIHRvb2xzIGZv ciB0cmFuc2xhdGluZyBldGMgYXJlIGJhc2VkIG9uIFB1YmxpY2FuL0RvY2Jvb2suPGRpdj48ZGl2 PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij48YnI+CiAgICA8YnI+CiAgICBPbiAwMi8wOS8xMSAxMzo0 OCwgTGluY29sbiBCYXh0ZXIsIElJSSB3cm90ZToKICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUi PkFjdHVhbGx5LCBtYXliZSB0aGUgYmVzdCB0aGluZyB0byBkbyBpcyBqdXN0IHRvIGFkZCBhCiAg ICAgIG5ldyBzZWN0aW9uIHRvIHRoZSBTZWFtIHVtYnJlbGxhIGRvYywgd2l0aCBhbiBIVE1MIGxp bmsgdG8gdGhlCiAgICAgIGZvcmdlIGNvbmZsdWVuY2Ugc3BhY2U/PGJyPgogICAgICA8YnI+CiAg ICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIFNlcCAxLCAyMDExIGF0IDc6NTQg UE0sIExpbmNvbG4KICAgICAgICBCYXh0ZXIsIElJSSA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhy ZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmxpbmNv bG5iYXh0ZXJAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgd3JvdGU6PGJyPgogICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgogICAgICAg ICAgPHA+T2suIElmIHlvdSBpbmNsdWRlIGJldGExLCB0aGUgYXJ0aWZhY3QgZm9yIGRpc3QgaXM6 PC9wPgogICAgICAgICAgPHA+b3JnLmpib3NzLmZvcmdlOmZvcmdlLW1vZHVsZXM6MS4wLjAuQmV0 YTEgPC9wPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHA+LS08YnI+CiAgICAgICAgICAg ICAgTGluY29sbiBCYXh0ZXImIzM5O3MgRHJvaWQ8YnI+CiAgICAgICAgICAgICAgPGEgaHJlZj0i aHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9h Pjxicj4KICAgICAgICAgICAgICAmcXVvdDtLZWVwIGl0IFNpbXBsZSZxdW90OzwvcD4KICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPgogICAgICAgICAg ICA8ZGl2Pk9uIFNlcCAxLCAyMDExIDc6NTIgUE0sICZxdW90O1NoYW5lIEJyeXphayZxdW90OyAm bHQ7PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNi cnl6YWtAcmVkaGF0LmNvbTwvYT4mZ3Q7IHdyb3RlOjxiciB0eXBlPSJhdHRyaWJ1dGlvbiI+CiAg ICAgICAgICAgICAgJmd0OyBZZXAsIEkgcGxhbm5lZCBvbiBleHRyYWN0aW5nIGl0IGluIHRoZSBm b3JnZSBmb2xkZXIuPGJyPgogICAgICAgICAgICAgICZndDsgPGJyPgogICAgICAgICAgICAgICZn dDsgT24gMDIvMDkvMTEgMDk6NDMsIExpbmNvbG4gQmF4dGVyLCBJSUkgd3JvdGU6PGJyPgogICAg ICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7IEFsc28sIGlmIGZv cmdlIGlzIHVuemlwcGVkLiBJdCBzaG91bGQgYmUgZG9uZSBzbwogICAgICAgICAgICAgIGluIGl0 cyBvd24gc3ViZm9sZGVyLjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAg ICAgICAmZ3Q7Jmd0OyBJbGwgdHJ5IHRvIGNhdGNoIHlvdSBvbmxpbmUgdG9uaWdodCBhbmQgbWFr ZSBzdXJlCiAgICAgICAgICAgICAgeW91JiMzOTt2ZSBnb3QgdGhlIHJpZ2h0IDxicj4KICAgICAg ICAgICAgICAmZ3Q7Jmd0OyBhcnRpZmFjdC4gKGl0IG1vdmVkIHRlbXBvcmFyaWx5IGR1cmluZyB0 aGUgamJvc3MKICAgICAgICAgICAgICBtb2R1bGVzIHRyYW5zaXRpb24uPGJyPgogICAgICAgICAg ICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAg ICAgICZndDsmZ3Q7IExpbmNvbG4gQmF4dGVyJiMzOTtzIERyb2lkPGJyPgogICAgICAgICAgICAg ICZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJnF1b3Q7S2Vl cCBpdCBTaW1wbGUmcXVvdDs8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgJmd0OyZndDsgT24gU2VwIDEsIDIwMTEgNzo0MSBQTSwgJnF1b3Q7TGluY29sbiBCYXh0 ZXIsIElJSSZxdW90OwogICAgICAgICAgICAgICZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJh eHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwv YT4KICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2 PiZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwu Y29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OyZndDsK ICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8 ZGl2PgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsgV2VsbC4gVGhlIGZvcmdlIGRpc3RyaWJ1 dGlvbiBkb2VzbiYjMzk7dCBjb250YWluCiAgICAgICAgICAgICAgZG9jcyBlaXRoZXIuIFRoZXkg YXJlIDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyBwdXJlbHk8YnI+CiAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyBvbmxpbmUgYXQgdGhpcyBwb2ludC4gU28gSSB0aGluayBqdXN0IGRvbiYj Mzk7dAogICAgICAgICAgICAgIHdvcnJ5IGFib3V0IGl0LiBUaGlzIDxicj4KICAgICAgICAgICAg ICAmZ3Q7Jmd0OyBjb25mbHVlbmNlPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsgdGhp bmcgaXMgYSBiaXQgb2YgYSBwYWluIGluIHRoYXQgcmVnYXJkLjxicj4KICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsgLS08YnI+CiAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyBMaW5jb2xuIEJheHRlciYjMzk7cyBEcm9pZDxicj4KICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyAmcXVvdDtLZWVwIGl0IFNpbXBsZSZxdW90Ozxicj4KICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7IE9uIFNlcCAxLCAyMDExIDY6MDUgUE0sICZxdW90O1NoYW5lIEJyeXphayZx dW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxh bmsiPnNicnl6YWtAcmVkaGF0LmNvbTwvYT4gPGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgPGRpdj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1h aWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5j b208L2E+Jmd0OyZndDsKICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsgVW5sZXNzIGFuIGV4cG9ydCBjb3VsZCBiZSBhdXRvbWF0ZWQgYXMKICAg ICAgICAgICAgICBwYXJ0IG9mIHRoZSBidWlsZCBwcm9jZXNzLCBJPGJyPgogICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7IGRvbiYjMzk7dCB0aGluayB0aGF0JiMzOTtzIGEgZ29vZCBpZGVh LiBIb3cKICAgICAgICAgICAgICBhYm91dCB3ZSBqdXN0IGluY2x1ZGUgdGhlIEZvcmdlPGJyPgog ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IGRpc3RyaWJ1dGlvbiBleHRyYWN0ZWQgaW5z aWRlIHRoZSBTZWFtCiAgICAgICAgICAgICAgZGlzdHJpYnV0aW9uPyBUaGUgZG9jdW1lbnRhdGlv bjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB3b24mIzM5O3QgYmUgY29tYmlu ZWQgd2l0aCB0aGUgbWFpbiBTZWFtCiAgICAgICAgICAgICAgZG9jcywgYnV0IGFzIGxvbmcgYXMg aXQmIzM5O3MgaW4gdGhlPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IEZvcmdl IGRpc3RyaWJ1dGlvbiB0aGVuIGEgdXNlciBzaG91bGQgYmUKICAgICAgICAgICAgICBhYmxlIHRv IGZpbmQgaXQgd2l0aG91dCB0b288YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsg bXVjaCBlZmZvcnQuPGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7IE9uIDAyLzA5LzExIDAxOjIyLCBMaW5jb2xuIEJh eHRlciwgSUlJCiAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgSSYj Mzk7bSBub3QgcmVhbGx5IHN1cmUgaG93IHRvIGRvIHRoaXMsCiAgICAgICAgICAgICAgdGhlbi4g VGhlcmUgYXJlIG5vIHNvdXJjZXMgc2luY2U8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7IHRoZSBkb2NzIGFyZSBpbiBjb25mbHVlbmNlLjxicj4KICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7IEkgc3VwcG9zZSBhbiBleHBvcnQgY291bGQgd29yaz88YnI+CiAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAtLTxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgTGluY29sbiBCYXh0 ZXImIzM5O3MgRHJvaWQ8YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7IDxh IGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vY3Bzb2Z0 LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZxdW90O0tl ZXAgaXQgU2ltcGxlJnF1b3Q7PGJyPgogICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 Ozxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgT24gQXVnIDMxLCAyMDEx IDU6MDkgUE0sICZxdW90O1NoYW5lCiAgICAgICAgICAgICAgQnJ5emFrJnF1b3Q7ICZsdDs8YSBo cmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0By ZWRoYXQuY29tPC9hPgogICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm bHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2Js YW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0Ozxicj4KICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgIDxkaXY+Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0i bWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0 LmNvbTwvYT4gJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29tIiB0 YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDsmZ3Q7Jmd0OwogICAgICAg ICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAg ICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7IFRoZSBzb3VyY2UgYXJ0aWZhY3QgZm9yIHRoZQogICAgICAgICAgICAgICAgRm9yZ2UgZG9j cyB3ZXJlIGJlaW5nIHB1bGxlZCBpbiBsaWtlIDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 IHRoaXM6PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyAmbHQ7ZGVwZW5kZW5j eSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OwogICAg ICAgICAgICAgICAgJmx0O2dyb3VwSWQmZ3Q7b3JnLmpib3NzLnNlYW0uZm9yZ2UmbHQ7L2dyb3Vw SWQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsKICAg ICAgICAgICAgICAgICZsdDthcnRpZmFjdElkJmd0O2ZvcmdlLXJlZmVyZW5jZS1ndWlkZSZsdDsv YXJ0aWZhY3RJZCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OwogICAgICAgICAgICAgICAgJmx0O3ZlcnNpb24mZ3Q7MS4wLjAtU05BUFNIT1QmbHQ7L3Zl cnNpb24mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsK ICAgICAgICAgICAgICAgICZsdDtjbGFzc2lmaWVyJmd0O3NvdXJjZXMmbHQ7L2NsYXNzaWZpZXIm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgJmx0O3R5 cGUmZ3Q7amFyJmx0Oy90eXBlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7ICZsdDsvZGVwZW5kZW5jeSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7IFdoZW4gSSB1cGRhdGUgdGhlIHZlcnNpb24gdG8KICAgICAgICAgICAgICAg IDEuMC4wLkJldGExLCBpdCBjYW4mIzM5O3QgZmluZCB0aGUgc291cmNlIC08YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgd2FzPGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsgdGhlIEJldGExIHNvdXJjZSBhcnRpZmFjdAogICAgICAg ICAgICAgICAgcHVibGlzaGVkIHRvIE1hdmVuPzxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7IE9uIDAxLzA5LzEx IDAzOjAyLCBMaW5jb2xuCiAgICAgICAgICAgICAgICBCYXh0ZXIsIElJSSB3cm90ZTo8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0 cHM6Ly9kb2NzLmpib3NzLm9yZy9hdXRob3IvZGlzcGxheS9TRUFNRk9SR0UvSG9tZSIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHBzOi8vZG9jcy5qYm9zcy5vcmcvYXV0aG9yL2Rpc3BsYXkvU0VBTUZPUkdF L0hvbWU8L2E+PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IE9u IFdlZCwgQXVnIDMxLCAyMDExIGF0CiAgICAgICAgICAgICAgICAxOjAyIFBNLCBMaW5jb2xuIEJh eHRlciwgSUlJPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0i X2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDtt YWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9i bGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OwogICAgICAgICAgICAgICAgPGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86bGlu Y29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWls LmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNv bG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5j b208L2E+Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdl dD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZs dDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxpbmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9 Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFpbC5jb208L2E+Jmd0OwogICAgICAgICAgICAgICAg PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86 bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saW5jb2xuYmF4dGVyQGdt YWlsLmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmxp bmNvbG5iYXh0ZXJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGluY29sbmJheHRlckBnbWFp bC5jb208L2E+Jmd0OyZndDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IEp1c3QgY2hlY2tpbmcgLSB0aGUg Rm9yZ2UKICAgICAgICAgICAgICAgIGRvY3MgYXJlIG5vIGxvbmdlciBpbiBTVk4gLyBhcmUgaW48 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgQ29uZmx1 ZW5jZTsgaGF2ZSB5b3UKICAgICAgICAgICAgICAgIHRha2VuIHRoaXMgaW50byBhY2NvdW50Pzxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBBbHNvLCB0aGUgd2hp Y2gKICAgICAgICAgICAgICAgIGRpc3RyaWJ1dGlvbiBhcmUgeW91IGluY2x1ZGluZz8gWW91IGNv dWxkIGNob29zZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyBlaXRoZXIgQmV0YTEgb3IgdGhlCiAgICAgICAgICAgICAgICBsYXRlc3QgU05BUFNIT1Qg KHdoaWNoIGlzIGFjdHVhbGx5IGluIGEgbmV3PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGxvY2F0aW9uIC0gbW92ZWQgYmFjayB0bwogICAgICAgICAg ICAgICAgdGhlIG9yaWdpbmFsPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsm Z3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICBvcmcuamJvc3MuZm9yZ2U6Zm9yZ2UtZGlzdHJp YnV0aW9uIC0gdGhvdWdoIGl0IGxvb2tzCiAgICAgICAgICAgICAgICBsaWtlIHRoZTxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBidWlsZCBoYXNuJiMz OTt0IGRlcGxveWVkCiAgICAgICAgICAgICAgICBhcnRpZmFjdHMgaW4gYSBsaXR0bGUgd2hpbGUg LSBsb29raW5nIGluIHRvPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7IHRoYXQpPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7IH5MaW5jb2xuPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IE9uIFdl ZCwgQXVnIDMxLCAyMDExIGF0CiAgICAgICAgICAgICAgICAxMjoxNCBBTSwgU2hhbmUgQnJ5emFr IDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86c2JyeXph a0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPgogICAg ICAgICAgICAgICAgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRoYXQuY29t IiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86 c2JyeXpha0ByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9h PgogICAgICAgICAgICAgICAgJmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2JyeXpha0ByZWRo YXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDttYWls dG86PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNi cnl6YWtAcmVkaGF0LmNvbTwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0i bWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnNicnl6YWtAcmVkaGF0 LmNvbTwvYT4mZ3Q7CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0i X2JsYW5rIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+CiAgICAgICAgICAgICAgICAmbHQ7bWFpbHRv OjxhIGhyZWY9Im1haWx0bzpzYnJ5emFrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5zYnJ5 emFrQHJlZGhhdC5jb208L2E+Jmd0OyZndDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgd3JvdGU6 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IE1vZHVsZSBsZWFk cyw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgQ2FuIHlvdSBw bGVhc2UgcmV2aWV3IHRoZQogICAgICAgICAgICAgICAgbGlzdCBiZWxvdyBhbmQgY29uZmlybSB0 aGF0IHRoZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyBkb2N1bWVudGF0aW9uPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7IGNoYXB0ZXJzIGFyZSBjb3JyZWN0IGZvcgogICAgICAgICAgICAgICAgeW91ciBt b2R1bGUuIEFsc28sIEkgd291bGQgbGlrZTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBldmVyeW9uZSB0bzxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB0YWtlIGEgbW9tZW50IHRvIHJldmlldwogICAgICAg ICAgICAgICAgdGhlIG1vZHVsZSBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMsPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFzIHRoZXJlPGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IHdlcmUgYSBudW1iZXIg b2YKICAgICAgICAgICAgICAgIGJyZWFrYWdlcyBpbiB0aGUgYnVuZGxlZCBkb2N1bWVudGF0aW9u IGJ1aWxkPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 IGJlY2F1c2U8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgdGhlIGd1aWRlbGluZXMgd2VyZW4mIzM5O3QKICAgICAgICAgICAgICAgIGFkaGVyZWQgdG8s IHBhcnRpY3VsYXJseSBpbiB0aGUgbmV3PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7IG1vZHVsZXMgZm9yPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IFNlYW0gMy4xOjxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAxKSBBbHdheXMgcHJlZml4IHRoZQogICAgICAgICAgICAg ICAgZmlsZW5hbWVzIG9mIHlvdXIgZG9jdW1lbnRhdGlvbiBjaGFwdGVyczxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyB3aXRoIHRoZTxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBuYW1lIG9mIHlvdXIgbW9k dWxlLiBFLmcuCiAgICAgICAgICAgICAgICBzZWN1cml0eS1hdXRoZW50aWNhdGlvbi54bWwsPGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAg ICAgICAgICBzZWN1cml0eS1hdXRob3JpemF0aW9uLnhtbCwgZXRjLjxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAyKSBXaGVuZXZlciB5b3UgYXNzaWduIGFuCiAg ICAgICAgICAgICAgICBJRCB0byBhIGRvY2Jvb2sgZWxlbWVudCwgc3VjaCBhcyBhPGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtjaGFwdGVyJmd0 Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBvciAm bHQ7c2VjdGlvbiZndDssCiAgICAgICAgICAgICAgICBBTFdBWVMgcHJlZml4IHRoZSBpZCB3aXRo IHlvdXIgbW9kdWxlIG5hbWUuIEZvcjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyBleGFtcGxlLDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7Y2hhcHRlcgogICAgICAgICAgICAgICAgaWQ9JnF1b3Q7 c2VjdXJpdHktaW50cm9kdWN0aW9uJnF1b3Q7Jmd0OyBvciAmbHQ7c2VjdGlvbjxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAg aWQ9JnF1b3Q7c2VjdXJpdHktZ2V0dGluZy1zdGFydGVkJnF1b3Q7Jmd0Oy4gQXMgYWxsIG9mIHRo ZQogICAgICAgICAgICAgICAgY2hhcHRlcnMgZm9yPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFsbCBtb2R1bGVzPGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGFyZSBjb21iaW5lZCB3aGVuCiAgICAgICAg ICAgICAgICBidWlsZGluZyB0aGUgYnVuZGxlZCBkb2N1bWVudGF0aW9uLCBhbGwgSURzPGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IG11c3QgYmU8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgdW5pcXVlLiBU aGlzIGlzIGEKICAgICAgICAgICAgICAgIHBhcnRpY3VsYXJseSB0aW1lIGNvbnN1bWluZyBwcm9i bGVtIHRvIGZpeDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyBiZWNhdXNlPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IHRoZSBlcnJvciBvdXRwdXQgZnJvbSB0aGUKICAgICAgICAgICAgICAgIE1hdmVuIGRv Y2Jvb2sgcGx1Z2luIGRvZXNuJiMzOTt0IHRlbGw8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgeW91IHdoaWNoPGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGZpbGVzIGFyZSB0aGUgcHJvYmxlbQogICAgICAg ICAgICAgICAgb25lcy48YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgMykgV2hlbiBhZGRpbmcsIHJlbmFtaW5nCiAgICAgICAgICAgICAgICBvciBkZWxldGluZyBh IGNoYXB0ZXIgb2YgeW91cjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyBkb2N1bWVudGF0aW9uLDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBwbGVhc2Ugbm90aWZ5IG1lIG9mIHRoZQogICAgICAgICAgICAg ICAgY2hhbmdlcyBzbyB0aGF0IEkgY2FuIHVwZGF0ZTxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBidW5kbGVkX21hc3Rlci54bWwuIFRoaXMKICAgICAg ICAgICAgICAgIGZpbGUgbXVzdCBiZSBtYW51YWxseSBrZXB0IHVwIHRvPGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IGRhdGUgd2hlbmV2ZXI8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgYW55IGRvY3VtZW50 YXRpb24gY2hhbmdlcwogICAgICAgICAgICAgICAgYXJlIG1hZGUuPGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IFRoYW5rcyw8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgU2hhbmU8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0Oz94bWwgdmVyc2lvbj0mIzM5OzEuMCYjMzk7CiAgICAgICAg ICAgICAgICBlbmNvZGluZz0mcXVvdDt1dGYtOCZxdW90Oz8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDshRE9DVFlQRSBib29rIFBVQkxJ QwogICAgICAgICAgICAgICAgJnF1b3Q7LS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC41Ly9F TiZxdW90Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmcXVvdDs8YSBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQu NS9kb2Nib29reC5kdGQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3Jn L2RvY2Jvb2sveG1sLzQuNS9kb2Nib29reC5kdGQ8L2E+JnF1b3Q7CiAgICAgICAgICAgICAgICBb IF0mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDtib29rIGxhbmc9JnF1b3Q7ZW4mcXVvdDsKICAgICAgICAgICAgICAgIHhtbG5zOnhpPSZx dW90OzxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiIHRhcmdldD0iX2Js YW5rIj5odHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlPC9hPiZxdW90OyZndDs8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RvYyAvJmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2Vh bQogICAgICAgICAgICAgICAgMyZsdDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtzdWJ0aXRsZSZndDtCdW5kbGVkCiAgICAg ICAgICAgICAgICBSZWZlcmVuY2UgR3VpZGUmbHQ7L3N1YnRpdGxlJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0mcXVvdDtidW5kbGVkX2NyZWRpdHMueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUK ICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7YnVuZGxlZF9pbnRyby54bWwmcXVvdDsvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsKICAgICAg ICAgICAgICAgICZsdDt0aXRsZSZndDtGb3JnZSZsdDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAg ICAgICAgICAgICBocmVmPSZxdW90O2ZvcmdlLXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNs dWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2ZvcmdlLWluc3RhbGxhdGlvbi54bWwmcXVv dDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7Zm9yZ2UtY3JlYXRp bmctYmFzaWMtd2ViYXBwLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAg aHJlZj0mcXVvdDtmb3JnZS1wbHVnaW4tZGV2LnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUm Z3Q7U2VhbQogICAgICAgICAgICAgICAgU29sZGVyJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAg ICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c29sZGVyLXByZWZhY2UueG1sJnF1b3Q7LyZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmlu Y2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c29sZGVyLWdldHRpbmdzdGFydGVkLnht bCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1w cm9ncmFtbWluZ21vZGVsLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBo cmVmPSZxdW90O3NvbGRlci1hbm5vdGF0aW9ubGl0ZXJhbHMueG1sJnF1b3Q7LyZndDs8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c29sZGVyLWVsZXh0ZW5zaW9ucy54bWwmcXVv dDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtzb2xkZXItcmVzb3Vy Y2Vsb2FkaW5nLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZx dW90O3NvbGRlci1sb2dnaW5nLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAg ICBocmVmPSZxdW90O3NvbGRlci10eXBldXRpbGl0aWVzLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1iZWFubWFuYWdlcnByb3ZpZGVyLnht bCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1i ZWFudXRpbGl0aWVzLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVm PSZxdW90O3NvbGRlci1wcm9wZXJ0aWVzLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSZxdW90O3NvbGRlci11bndyYXBzLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NvbGRlci1kZWZhdWx0YmVhbnMueG1sJnF1b3Q7 LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg Jmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c29sZGVyLWdlbmVyaWNi ZWFucy54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtz b2xkZXItc2VydmljZWhhbmRsZXIueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0K ICAgICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24mbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgaHJlZj0mcXVvdDtjb25maWctaW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2NvbmZpZy14bWwtcHJvdmlkZXIu eG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIFBlcnNp c3RlbmNlJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7 cGVyc2lzdGVuY2UtZ2VuZXJhbC54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQog ICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24mbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAg ICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAg ICAgICAgICAgaHJlZj0mcXVvdDt0cmFuc2FjdGlvbi1nZW5lcmFsLnhtbCZxdW90Oy8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFy dCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3Bh cnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICBTZXJ2bGV0Jmx0Oy90aXRsZSZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2VydmxldC1pbnRyb2R1Y3Rpb24u eG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2Vydmxl dC1pbnN0YWxsYXRpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhy ZWY9JnF1b3Q7c2VydmxldC1ldmVudHMueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9JnF1b3Q7c2VydmxldC1pbmplY3RhYmxlX3JlZnMueG1sJnF1b3Q7LyZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7c2VydmxldC1leGNlcHRpb25faGFu ZGxpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90 O3NlcnZsZXQtYmVhbm1hbmFnZXIueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0K ICAgICAgICAgICAgICAgIFNlY3VyaXR5Jmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9JnF1b3Q7c2VjdXJpdHktaW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NlY3VyaXR5LWF1dGhlbnRpY2F0aW9u LnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3NlY3Vy aXR5LWlkZW50aXR5bWFuYWdlbWVudC54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAg ICAgICAgaHJlZj0mcXVvdDtzZWN1cml0eS1hdXRoZW50aWNhdGlvbi1leHRlcm5hbC54bWwmcXVv dDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtzZWN1cml0eS1hdXRo b3JpemF0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAg ICAgICBJbnRlcm5hdGlvbmFsJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9JnF1b3Q7aW50ZXJuYXRpb25hbC1wcmVmYWNlLnhtbCZxdW90OyAvJmd0Ozxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVk ZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtpbnRlcm5hdGlvbmFsLWluc3RhbGxhdGlvbi54 bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7aW50ZXJu YXRpb25hbC1sb2NhbGVzLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAg aHJlZj0mcXVvdDtpbnRlcm5hdGlvbmFsLXRpbWV6b25lcy54bWwmcXVvdDsgLyZndDs8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7aW50ZXJuYXRpb25hbC1tZXNzYWdlcy54bWwm cXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7 Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIEZhY2VzJmx0 Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0 OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7ZmFjZXMtcHJl ZmFjZS54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7 ZmFjZXMtaW5zdGFsbGF0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAg ICAgaHJlZj0mcXVvdDtmYWNlcy1ldmVudHMueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAg ICAgICAgICAgICBocmVmPSZxdW90O2ZhY2VzLXNjb3Blcy54bWwmcXVvdDsgLyZndDs8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1 ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7ZmFjZXMtbWVzc2FnZXMueG1sJnF1b3Q7IC8m Z3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZs dDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2ZhY2VzLWFydGlmYWN0cy54 bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7ZmFjZXMt Y29tcG9uZW50cy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAg ICAgICAgIENhdGNoJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 JnF1b3Q7Y2F0Y2gtaW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSZxdW90O2NhdGNoLWluc3RhbGxhdGlvbi54bWwmcXVvdDsvJmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5j bHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtjYXRjaC1jbGllbnRfdXNhZ2UueG1sJnF1 b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7Y2F0Y2gtYWR2YW5j ZWRfdXNhZ2UueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1 b3Q7Y2F0Y2gtaW50ZWdyYXRpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAg ICAgIGhyZWY9JnF1b3Q7Y2F0Y2gtZ2xvc3NhcnkueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7cGFydCZndDs8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3RpdGxl Jmd0O1NlYW0KICAgICAgICAgICAgICAgIFJlcG9ydHMmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQog ICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtyZXBvcnRzLXByZWZhY2UueG1sJnF1b3Q7IC8mZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4 aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3JlcG9ydHMtaW5zdGFsbGF0aW9u LnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtyZXBv cnRzLXVzYWdlLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZn dDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAg ICAgICAgUmVtb3RpbmcmbHQ7L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJl Zj0mcXVvdDtyZW1vdGluZy1nZW5lcmFsLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAg ICAgICAgICBocmVmPSZxdW90O3JlbW90aW5nLW1vZGVsLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRl CiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3JlbW90aW5nLXZhbGlkYXRpb24ueG1sJnF1b3Q7 LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg Jmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7cGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3RpdGxlJmd0O1NlYW0KICAgICAgICAgICAgICAgIFJFU1QmbHQ7L3RpdGxl Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtyZXN0LXByZWZhY2UueG1s JnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3Jlc3QtaW5z dGFsbGF0aW9uLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZn dDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0m cXVvdDtyZXN0LWV4Y2VwdGlvbi1tYXBwaW5nLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAg ICAgICAgICAgICAgaHJlZj0mcXVvdDtyZXN0LXZhbGlkYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3Jlc3QtdGVtcGxhdGluZy54bWwmcXVv dDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZn dDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7cmVzdC1jbGllbnQu eG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3Jlc3Qt ZGVwZW5kZW5jaWVzLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAg ICAgICAgICAgSkNSJmx0Oy90aXRsZSZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9 JnF1b3Q7amNyLWludHJvZHVjdGlvbi54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAg ICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAg ICAgICAgIGhyZWY9JnF1b3Q7amNyLW1vZGVzaGFwZS54bWwmcXVvdDsvJmd0Ozxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6aW5jbHVkZQog ICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtqY3ItamFja3JhYmJpdC54bWwmcXVvdDsvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7eGk6 aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtqY3ItZXZlbnQtbWFwcGluZy54bWwm cXVvdDsvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtqY3Itb2NtLnht bCZxdW90Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7ICZsdDsvcGFydCZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyZndDsgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmd0OyZndDsgJmx0O3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7ICZsdDt0aXRsZSZndDtTZWFtCiAgICAgICAgICAgICAgICBKTVMmbHQ7 L3RpdGxlJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7 Jmd0OyAmbHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtqbXMtaW50cm8u eG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2ptcy1p bnN0YWxsYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVm PSZxdW90O2ptcy1yZXNvdXJjZS1pbmplY3Rpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICBocmVmPSZxdW90O2ptcy1tZXNzYWdpbmcueG1sJnF1b3Q7IC8mZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTpp bmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O2ptcy1yb3V0aW5nLnhtbCZxdW90OyAv Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAm bHQ7eGk6aW5jbHVkZQogICAgICAgICAgICAgICAgaHJlZj0mcXVvdDtqbXMtbWFwcGluZy1pbnRl cmZhY2VzLnhtbCZxdW90OyAvJmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsm Z3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3BhcnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtwYXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAg ICAgVmFsaWRhdGlvbiZsdDsvdGl0bGUmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVm PSZxdW90O3ZhbGlkYXRpb24taW50cm9kdWN0aW9uLnhtbCZxdW90Oy8mZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAg ICAgICAgICAgICAgICBocmVmPSZxdW90O3ZhbGlkYXRpb24taW5zdGFsbGF0aW9uLnhtbCZxdW90 Oy8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3ZhbGlkYXRpb24tZGVw ZW5kZW5jeS1pbmplY3Rpb24ueG1sJnF1b3Q7LyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hpOmluY2x1ZGUKICAgICAgICAgICAgICAg IGhyZWY9JnF1b3Q7dmFsaWRhdGlvbi1tZXRob2QtdmFsaWRhdGlvbi54bWwmcXVvdDsvJmd0Ozxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L3Bh cnQmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDtw YXJ0Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0 OyAmbHQ7dGl0bGUmZ3Q7U2VhbQogICAgICAgICAgICAgICAgV2lja2V0Jmx0Oy90aXRsZSZndDs8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0O3hp OmluY2x1ZGUKICAgICAgICAgICAgICAgIGhyZWY9JnF1b3Q7d2lja2V0LXByZWZhY2UueG1sJnF1 b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZxdW90O3dpY2tldC1pbnN0 YWxsYXRpb24ueG1sJnF1b3Q7IC8mZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0 OyZndDsmZ3Q7ICZndDsmZ3Q7ICZsdDt4aTppbmNsdWRlCiAgICAgICAgICAgICAgICBocmVmPSZx dW90O3dpY2tldC1mZWF0dXJlcy54bWwmcXVvdDsgLyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgJmx0Oy9wYXJ0Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAg ICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyAmbHQ7L2Jvb2smZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7CiAgICAgICAgICAgICAgICBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyBzZWFtLWRldiBtYWlsaW5n IGxpc3Q8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsg PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsi PnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86 PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsi PnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT4mZ3Q7CiAgICAgICAgICAgICAgICA8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzZWFtLWRl dkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5v cmc8L2E+CiAgICAgICAgICAgICAgICAmbHQ7bWFpbHRvOjxhIGhyZWY9Im1haWx0bzpzZWFtLWRl dkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5v cmc8L2E+Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsg Jmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJn ZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPgogICAgICAgICAgICAgICAg Jmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJn ZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPiZndDsKICAgICAgICAgICAg ICAgIDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZsdDttYWlsdG86PGEgaHJlZj0ibWFp bHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxp c3RzLmpib3NzLm9yZzwvYT4KICAgICAgICAgICAgICAgICZsdDttYWlsdG86PGEgaHJlZj0ibWFp bHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxp c3RzLmpib3NzLm9yZzwvYT4mZ3Q7Jmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0 OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMu amJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZn dDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7 ICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZn dDsmZ3Q7IExpbmNvbG4gQmF4dGVyLCBJSUk8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAm Z3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj4KICAgICAgICAgICAgICAgICZndDsm Z3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8vc2NydW1zaGFyay5jb20i IHRhcmdldD0iX2JsYW5rIj5odHRwOi8vc2NydW1zaGFyay5jb208L2E+PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7ICZxdW90O0tlZXAgaXQgU2ltcGxl JnF1b3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgog ICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IC0tPGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsmZ3Q7IExpbmNvbG4gQmF4dGVyLCBJSUk8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0 cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9hPjxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZndDsmZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVm PSJodHRwOi8vc2NydW1zaGFyay5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vc2NydW1zaGFy ay5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJmd0OyZndDsmZ3Q7ICZndDsm Z3Q7ICZxdW90O0tlZXAgaXQgU2ltcGxlJnF1b3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJmd0OyZndDsmZ3Q7ICZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmZ3Q7Jmd0 Ozxicj4KICAgICAgICAgICAgICAgICZndDsgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAg ICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvYmxvY2txdW90ZT4KICAg ICAgPC9kaXY+CiAgICAgIDxicj4KICAgICAgPGJyIGNsZWFyPSJhbGwiPgogICAgICA8YnI+CiAg ICAgIC0tIDxicj4KICAgICAgTGluY29sbiBCYXh0ZXIsIElJSTxicj4KICAgICAgPGEgaHJlZj0i aHR0cDovL29jcHNvZnQuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL29jcHNvZnQuY29tPC9h Pjxicj4KICAgICAgPGEgaHJlZj0iaHR0cDovL3NjcnVtc2hhcmsuY29tIiB0YXJnZXQ9Il9ibGFu ayI+aHR0cDovL3NjcnVtc2hhcmsuY29tPC9hPjxicj4KICAgICAgJnF1b3Q7S2VlcCBpdCBTaW1w bGUmcXVvdDs8YnI+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9kaXY+PC9kaXY+PC9k aXY+Cgo8L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48YnI+LS0gPGJyPkxp bmNvbG4gQmF4dGVyLCBJSUk8YnI+PGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIj5odHRwOi8v b2Nwc29mdC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9zY3J1bXNoYXJrLmNvbSI+aHR0cDov L3NjcnVtc2hhcmsuY29tPC9hPjxicj4mcXVvdDtLZWVwIGl0IFNpbXBsZSZxdW90Ozxicj4K --===============1001014988652145446==-- From mnovotny at redhat.com Fri Sep 2 05:35:16 2011 Content-Type: multipart/mixed; boundary="===============5042827076087815927==" MIME-Version: 1.0 From: Marek Novotny To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 11:35:13 +0200 Message-ID: <1314956113.2908.9.camel@localhost.localdomain> In-Reply-To: CAEp_U4FT2PcdGC5yknSHdhVwK966Yp--YnpSDkYhskp7ORZOFw@mail.gmail.com --===============5042827076087815927== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable What about using feature "Export to docbook" and then just generate standard jdocbook output in release process? https://docs.jboss.org/author/display/AUTHGUIDE/Exporting+content+to +DocBook+XML On Fri, 2011-09-02 at 00:15 -0400, Lincoln Baxter, III wrote: > I don't know. I don't really have plans to include docbook in the dist > until we get some better integration there from the .ORG team. I don't > see that happening, though, so until then, online docs are the way > people will be learning about forge. Our tools don't make this easy. > = > I don't think the connectivity issue will be a problem. People can > always print or download the site for later if they have connectivity > issues. It might be nice (on confluence) to be able to have a 1-click > download, though. > = > ~Lincoln > = > On Thu, Sep 1, 2011 at 11:51 PM, Shane Bryzak > wrote: > Yeah, that's a good idea. Do you have plans to provide > documentation as part of the Forge download? I'm thinking of > the users who might have no/limited connectivity who won't be > able to access the Forge docs online. Also, how does > confluence work in conjunction with our documentation team? > From my understanding all their tools for translating etc are > based on Publican/Docbook. > = > = > = > On 02/09/11 13:48, Lincoln Baxter, III wrote: = > > Actually, maybe the best thing to do is just to add a new > > section to the Seam umbrella doc, with an HTML link to the > > forge confluence space? > > = > > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III > > wrote: > > Ok. If you include beta1, the artifact for dist is: > > = > > org.jboss.forge:forge-modules:1.0.0.Beta1 = > > = > > -- > > Lincoln Baxter's Droid > > http://ocpsoft.com > > "Keep it Simple" > > = > > = > > On Sep 1, 2011 7:52 PM, "Shane Bryzak" > > wrote: > > > Yep, I planned on extracting it in the forge > > folder. > > > = > > > On 02/09/11 09:43, Lincoln Baxter, III wrote: > > >> > > >> Also, if forge is unzipped. It should be done so > > in its own subfolder. > > >> > > >> Ill try to catch you online tonight and make sure > > you've got the right = > > >> artifact. (it moved temporarily during the jboss > > modules transition. > > >> > > >> -- > > >> Lincoln Baxter's Droid > > >> http://ocpsoft.com > > >> "Keep it Simple" > > >> > > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" > > > = > > >> > wrote: > > = > > >> > Well. The forge distribution doesn't contain > > docs either. They are = > > >> purely > > >> > online at this point. So I think just don't > > worry about it. This = > > >> confluence > > >> > thing is a bit of a pain in that regard. > > >> > > > >> > -- > > >> > Lincoln Baxter's Droid > > >> > http://ocpsoft.com > > >> > "Keep it Simple" > > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" > > > = > > >> > wrote: > > >> >> Unless an export could be automated as part of > > the build process, I > > >> >> don't think that's a good idea. How about we > > just include the Forge > > >> >> distribution extracted inside the Seam > > distribution? The documentation > > >> >> won't be combined with the main Seam docs, but > > as long as it's in the > > >> >> Forge distribution then a user should be able > > to find it without too > > >> >> much effort. > > >> >> > > >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: > > >> >>> > > >> >>> I'm not really sure how to do this, then. > > There are no sources since > > >> >>> the docs are in confluence. > > >> >>> > > >> >>> I suppose an export could work? > > >> >>> > > >> >>> -- > > >> >>> Lincoln Baxter's Droid > > >> >>> http://ocpsoft.com > > >> >>> "Keep it Simple" > > >> >>> > > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" > > > >> > > = > > >> >>> > >> wrote: > > = > > >> >>> > The source artifact for the Forge docs were > > being pulled in like = > > >> this: > > >> >>> > > > >> >>> > > > >> >>> > org.jboss.seam.forge > > >> >>> > > > forge-reference-guide > > >> >>> > 1.0.0-SNAPSHOT > > >> >>> > sources > > >> >>> > jar > > >> >>> > > > >> >>> > > > >> >>> > When I update the version to 1.0.0.Beta1, > > it can't find the source - > > >> >>> was > > >> >>> > the Beta1 source artifact published to > > Maven? > > >> >>> > > > >> >>> > > > >> >>> > > > >> >>> > On 01/09/11 03:02, Lincoln Baxter, III > > wrote: > > >> >>> >> > > https://docs.jboss.org/author/display/SEAMFORGE/Home > > >> >>> >> > > >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln > > Baxter, III > > >> >>> >> > = > > >> > > > > >> >>> > = > > >> > >>> wrote: > > >> >>> >> > > >> >>> >> Just checking - the Forge docs are no > > longer in SVN / are in > > >> >>> >> Confluence; have you taken this into > > account? > > >> >>> >> > > >> >>> >> Also, the which distribution are you > > including? You could choose > > >> >>> >> either Beta1 or the latest SNAPSHOT (which > > is actually in a new > > >> >>> >> location - moved back to the original > > >> >>> >> org.jboss.forge:forge-distribution - > > though it looks like the > > >> >>> >> build hasn't deployed artifacts in a > > little while - looking in to > > >> >>> >> that) > > >> >>> >> > > >> >>> >> ~Lincoln > > >> >>> >> > > >> >>> >> > > >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane > > Bryzak = > > >> > > >> >>> > > > > >> >>> >> > = > > >> > >>> wrote: > > >> >>> >> > > >> >>> >> Module leads, > > >> >>> >> > > >> >>> >> Can you please review the list below and > > confirm that the > > >> >>> >> documentation > > >> >>> >> chapters are correct for your module. > > Also, I would like > > >> >>> >> everyone to > > >> >>> >> take a moment to review the module > > documentation guidelines, > > >> >>> >> as there > > >> >>> >> were a number of breakages in the bundled > > documentation build > > >> >>> >> because > > >> >>> >> the guidelines weren't adhered to, > > particularly in the new > > >> >>> >> modules for > > >> >>> >> Seam 3.1: > > >> >>> >> > > >> >>> >> 1) Always prefix the filenames of your > > documentation chapters > > >> >>> >> with the > > >> >>> >> name of your module. E.g. > > security-authentication.xml, > > >> >>> >> security-authorization.xml, etc. > > >> >>> >> > > >> >>> >> 2) Whenever you assign an ID to a docbook > > element, such as a > > >> >>> >> > > >> >>> >> or
, ALWAYS prefix the id with > > your module name. For > > >> >>> >> example, > > >> >>> >> or > >
> >> >>> >> id=3D"security-getting-started">. As all of > > the chapters for > > >> >>> >> all modules > > >> >>> >> are combined when building the bundled > > documentation, all IDs > > >> >>> >> must be > > >> >>> >> unique. This is a particularly time > > consuming problem to fix > > >> >>> >> because > > >> >>> >> the error output from the Maven docbook > > plugin doesn't tell > > >> >>> >> you which > > >> >>> >> files are the problem ones. > > >> >>> >> > > >> >>> >> 3) When adding, renaming or deleting a > > chapter of your > > >> >>> >> documentation, > > >> >>> >> please notify me of the changes so that I > > can update > > >> >>> >> bundled_master.xml. This file must be > > manually kept up to > > >> >>> >> date whenever > > >> >>> >> any documentation changes are made. > > >> >>> >> > > >> >>> >> Thanks, > > >> >>> >> Shane > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > DocBook XML V4.5//EN" > > >> >>> >> > > "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd= " [ ]> > > >> >>> >> > xmlns:xi=3D"http://www.w3.org/2001/XInclude"> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam 3 > > >> >>> >> Bundled Reference > > Guide > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Forge > > >> >>> >> > > >> >>> >> > href=3D"forge-installation.xml" /> > > >> >>> >> > href=3D"forge-creating-basic-webapp.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Solder > > >> >>> >> > > >> >>> >> > href=3D"solder-gettingstarted.xml"/> > > >> >>> >> > href=3D"solder-programmingmodel.xml"/> > > >> >>> >> > href=3D"solder-annotationliterals.xml"/> > > >> >>> >> > href=3D"solder-elextensions.xml"/> > > >> >>> >> > href=3D"solder-resourceloading.xml"/> > > >> >>> >> > > >> >>> >> > href=3D"solder-typeutilities.xml"/> > > >> >>> >> > href=3D"solder-beanmanagerprovider.xml"/> > > >> >>> >> > href=3D"solder-beanutilities.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > href=3D"solder-defaultbeans.xml"/> > > >> >>> >> > href=3D"solder-genericbeans.xml"/> > > >> >>> >> > href=3D"solder-servicehandler.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Configuration > > >> >>> >> > href=3D"config-introduction.xml"/> > > >> >>> >> > href=3D"config-xml-provider.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Persistence > > >> >>> >> > href=3D"persistence-general.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Transaction > > >> >>> >> > href=3D"transaction-general.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Servlet > > >> >>> >> > href=3D"servlet-introduction.xml"/> > > >> >>> >> > href=3D"servlet-installation.xml"/> > > >> >>> >> > > >> >>> >> > href=3D"servlet-injectable_refs.xml"/> > > >> >>> >> > href=3D"servlet-exception_handling.xml" /> > > >> >>> >> > href=3D"servlet-beanmanager.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Security > > >> >>> >> > href=3D"security-introduction.xml"/> > > >> >>> >> > href=3D"security-authentication.xml"/> > > >> >>> >> > href=3D"security-identitymanagement.xml"/> > > >> >>> >> > href=3D"security-authentication-external.xml"/> > > >> >>> >> > href=3D"security-authorization.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam International > > >> >>> >> > href=3D"international-preface.xml" /> > > >> >>> >> > href=3D"international-installation.xml" /> > > >> >>> >> > href=3D"international-locales.xml" /> > > >> >>> >> > href=3D"international-timezones.xml" /> > > >> >>> >> > href=3D"international-messages.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Faces > > >> >>> >> > > >> >>> >> > href=3D"faces-installation.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Catch > > >> >>> >> > href=3D"catch-introduction.xml"/> > > >> >>> >> > href=3D"catch-installation.xml"/> > > >> >>> >> > href=3D"catch-client_usage.xml"/> > > >> >>> >> > href=3D"catch-advanced_usage.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Reports > > >> >>> >> > > >> >>> >> > href=3D"reports-installation.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Remoting > > >> >>> >> > > >> >>> >> > > >> >>> >> > href=3D"remoting-validation.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam REST > > >> >>> >> > > >> >>> >> > href=3D"rest-installation.xml" /> > > >> >>> >> > href=3D"rest-exception-mapping.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > href=3D"rest-dependencies.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam JCR > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam JMS > > >> >>> >> > > >> >>> >> > > >> >>> >> > href=3D"jms-resource-injection.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > href=3D"jms-mapping-interfaces.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Validation > > >> >>> >> > href=3D"validation-introduction.xml"/> > > >> >>> >> > href=3D"validation-installation.xml"/> > > >> >>> >> > href=3D"validation-dependency-injection.xml"/> > > >> >>> >> > href=3D"validation-method-validation.xml"/> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> Seam Wicket > > >> >>> >> > > >> >>> >> > href=3D"wicket-installation.xml" /> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > _______________________________________________ > > >> >>> >> seam-dev mailing list > > >> >>> >> seam-dev(a)lists.jboss.org > > = > > >> > > > > >> >>> > = > > >> > >> > > >> >>> >> > > https://lists.jboss.org/mailman/listinfo/seam-dev > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> -- > > >> >>> >> Lincoln Baxter, III > > >> >>> >> http://ocpsoft.com > > >> >>> >> http://scrumshark.com > > >> >>> >> "Keep it Simple" > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> -- > > >> >>> >> Lincoln Baxter, III > > >> >>> >> http://ocpsoft.com > > >> >>> >> http://scrumshark.com > > >> >>> >> "Keep it Simple" > > >> >>> > > > >> >> > > > = > > = > > = > > = > > = > > -- = > > Lincoln Baxter, III > > http://ocpsoft.com > > http://scrumshark.com > > "Keep it Simple" > = > = > = > = > = > -- = > Lincoln Baxter, III > http://ocpsoft.com > http://scrumshark.com > "Keep it Simple" > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev -- = Marek Novotny -- Seam and WFK Product Lead Red Hat Czech s.r.o. Purkynova 99 612 45 Brno Email: mnovotny(a)redhat.com Office phone: +420 532 294 287, ext. 82-62 087 mobile: +420 608 509 230 --===============5042827076087815927==-- From sbryzak at redhat.com Fri Sep 2 06:43:42 2011 Content-Type: multipart/mixed; boundary="===============7445521175207593077==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 20:43:38 +1000 Message-ID: <4E60B35A.1090504@redhat.com> In-Reply-To: 1314956113.2908.9.camel@localhost.localdomain --===============7445521175207593077== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This would need to be automated for the Seam distribution build though. = Currently, all modules have their docbook sources published as Maven = artifacts, which is what we use to construct the bundled documentation. On 02/09/11 19:35, Marek Novotny wrote: > What about using feature "Export to docbook" and then just generate > standard jdocbook output in release process? > > https://docs.jboss.org/author/display/AUTHGUIDE/Exporting+content+to > +DocBook+XML > > On Fri, 2011-09-02 at 00:15 -0400, Lincoln Baxter, III wrote: >> I don't know. I don't really have plans to include docbook in the dist >> until we get some better integration there from the .ORG team. I don't >> see that happening, though, so until then, online docs are the way >> people will be learning about forge. Our tools don't make this easy. >> >> I don't think the connectivity issue will be a problem. People can >> always print or download the site for later if they have connectivity >> issues. It might be nice (on confluence) to be able to have a 1-click >> download, though. >> >> ~Lincoln >> >> On Thu, Sep 1, 2011 at 11:51 PM, Shane Bryzak >> wrote: >> Yeah, that's a good idea. Do you have plans to provide >> documentation as part of the Forge download? I'm thinking of >> the users who might have no/limited connectivity who won't be >> able to access the Forge docs online. Also, how does >> confluence work in conjunction with our documentation team? >> From my understanding all their tools for translating etc are >> based on Publican/Docbook. >> >> >> >> On 02/09/11 13:48, Lincoln Baxter, III wrote: >> > Actually, maybe the best thing to do is just to add a new >> > section to the Seam umbrella doc, with an HTML link to the >> > forge confluence space? >> > >> > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III >> > wrote: >> > Ok. If you include beta1, the artifact for dist is: >> > >> > org.jboss.forge:forge-modules:1.0.0.Beta1 >> > >> > -- >> > Lincoln Baxter's Droid >> > http://ocpsoft.com >> > "Keep it Simple" >> > >> > >> > On Sep 1, 2011 7:52 PM, "Shane Bryzak" >> > wrote: >> > > Yep, I planned on extracting it in the forge >> > folder. >> > > >> > > On 02/09/11 09:43, Lincoln Baxter, III wrote: >> > >> >> > >> Also, if forge is unzipped. It should be done so >> > in its own subfolder. >> > >> >> > >> Ill try to catch you online tonight and make sure >> > you've got the right >> > >> artifact. (it moved temporarily during the jboss >> > modules transition. >> > >> >> > >> -- >> > >> Lincoln Baxter's Droid >> > >> http://ocpsoft.com >> > >> "Keep it Simple" >> > >> >> > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" >> > > > >> > >> > wrote: >> > >> > >> > Well. The forge distribution doesn't contain >> > docs either. They are >> > >> purely >> > >> > online at this point. So I think just don't >> > worry about it. This >> > >> confluence >> > >> > thing is a bit of a pain in that regard. >> > >> > >> > >> > -- >> > >> > Lincoln Baxter's Droid >> > >> > http://ocpsoft.com >> > >> > "Keep it Simple" >> > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" >> > > > >> > >> > wrote: >> > >> >> Unless an export could be automated as part = of >> > the build process, I >> > >> >> don't think that's a good idea. How about we >> > just include the Forge >> > >> >> distribution extracted inside the Seam >> > distribution? The documentation >> > >> >> won't be combined with the main Seam docs, b= ut >> > as long as it's in the >> > >> >> Forge distribution then a user should be able >> > to find it without too >> > >> >> much effort. >> > >> >> >> > >> >> On 02/09/11 01:22, Lincoln Baxter, III wrote: >> > >> >>> >> > >> >>> I'm not really sure how to do this, then. >> > There are no sources since >> > >> >>> the docs are in confluence. >> > >> >>> >> > >> >>> I suppose an export could work? >> > >> >>> >> > >> >>> -- >> > >> >>> Lincoln Baxter's Droid >> > >> >>> http://ocpsoft.com >> > >> >>> "Keep it Simple" >> > >> >>> >> > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" >> > > > >> >> > >> > >> >>> > > >> wrote: >> > >> > >> >>> > The source artifact for the Forge docs w= ere >> > being pulled in like >> > >> this: >> > >> >>> > >> > >> >>> > >> > >> >>> > org.jboss.seam.forge >> > >> >>> > >> > forge-reference-guide >> > >> >>> > 1.0.0-SNAPSHOT >> > >> >>> > sources >> > >> >>> > jar >> > >> >>> > >> > >> >>> > >> > >> >>> > When I update the version to 1.0.0.Beta1, >> > it can't find the source - >> > >> >>> was >> > >> >>> > the Beta1 source artifact published to >> > Maven? >> > >> >>> > >> > >> >>> > >> > >> >>> > >> > >> >>> > On 01/09/11 03:02, Lincoln Baxter, III >> > wrote: >> > >> >>> >> >> > https://docs.jboss.org/author/display/SEAMFORGE/Home >> > >> >>> >> >> > >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Lincoln >> > Baxter, III >> > >> >>> >> > > >> > >> > > > >> > >> >>> > > >> > >> > > >>> wrote: >> > >> >>> >> >> > >> >>> >> Just checking - the Forge docs are no >> > longer in SVN / are in >> > >> >>> >> Confluence; have you taken this into >> > account? >> > >> >>> >> >> > >> >>> >> Also, the which distribution are you >> > including? You could choose >> > >> >>> >> either Beta1 or the latest SNAPSHOT (wh= ich >> > is actually in a new >> > >> >>> >> location - moved back to the original >> > >> >>> >> org.jboss.forge:forge-distribution - >> > though it looks like the >> > >> >>> >> build hasn't deployed artifacts in a >> > little while - looking in to >> > >> >>> >> that) >> > >> >>> >> >> > >> >>> >> ~Lincoln >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Shane >> > Bryzak >> > >> >> > >> >>> > > > >> > >> >>> >> > > >> > >> > > >>> wrote: >> > >> >>> >> >> > >> >>> >> Module leads, >> > >> >>> >> >> > >> >>> >> Can you please review the list below and >> > confirm that the >> > >> >>> >> documentation >> > >> >>> >> chapters are correct for your module. >> > Also, I would like >> > >> >>> >> everyone to >> > >> >>> >> take a moment to review the module >> > documentation guidelines, >> > >> >>> >> as there >> > >> >>> >> were a number of breakages in the bundl= ed >> > documentation build >> > >> >>> >> because >> > >> >>> >> the guidelines weren't adhered to, >> > particularly in the new >> > >> >>> >> modules for >> > >> >>> >> Seam 3.1: >> > >> >>> >> >> > >> >>> >> 1) Always prefix the filenames of your >> > documentation chapters >> > >> >>> >> with the >> > >> >>> >> name of your module. E.g. >> > security-authentication.xml, >> > >> >>> >> security-authorization.xml, etc. >> > >> >>> >> >> > >> >>> >> 2) Whenever you assign an ID to a docbo= ok >> > element, such as a >> > >> >>> >> >> > >> >>> >> or
, ALWAYS prefix the id with >> > your module name. For >> > >> >>> >> example, >> > >> >>> >> = or >> >
> > >> >>> >> id=3D"security-getting-started">. As al= l of >> > the chapters for >> > >> >>> >> all modules >> > >> >>> >> are combined when building the bundled >> > documentation, all IDs >> > >> >>> >> must be >> > >> >>> >> unique. This is a particularly time >> > consuming problem to fix >> > >> >>> >> because >> > >> >>> >> the error output from the Maven docbook >> > plugin doesn't tell >> > >> >>> >> you which >> > >> >>> >> files are the problem ones. >> > >> >>> >> >> > >> >>> >> 3) When adding, renaming or deleting a >> > chapter of your >> > >> >>> >> documentation, >> > >> >>> >> please notify me of the changes so that= I >> > can update >> > >> >>> >> bundled_master.xml. This file must be >> > manually kept up to >> > >> >>> >> date whenever >> > >> >>> >> any documentation changes are made. >> > >> >>> >> >> > >> >>> >> Thanks, >> > >> >>> >> Shane >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> > > DocBook XML V4.5//EN" >> > >> >>> >> >> > "http://www.oasis-open.org/docbook/xml/4.5/docbookx.= dtd" [ ]> >> > >> >>> >> > > xmlns:xi=3D"http://www.w3.org/2001/XInclude"> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam 3 >> > >> >>> >> Bundled Reference >> > Guide >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Forge >> > >> >>> >> >> > >> >>> >> > > href=3D"forge-installation.xml" /> >> > >> >>> >> > > href=3D"forge-creating-basic-webapp.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Solder >> > >> >>> >> >> > >> >>> >> > > href=3D"solder-gettingstarted.xml"/> >> > >> >>> >> > > href=3D"solder-programmingmodel.xml"/> >> > >> >>> >> > > href=3D"solder-annotationliterals.xml"/> >> > >> >>> >> > > href=3D"solder-elextensions.xml"/> >> > >> >>> >> > > href=3D"solder-resourceloading.xml"/> >> > >> >>> >> >> > >> >>> >> > > href=3D"solder-typeutilities.xml"/> >> > >> >>> >> > > href=3D"solder-beanmanagerprovider.xml"/> >> > >> >>> >> > > href=3D"solder-beanutilities.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> > > href=3D"solder-defaultbeans.xml"/> >> > >> >>> >> > > href=3D"solder-genericbeans.xml"/> >> > >> >>> >> > > href=3D"solder-servicehandler.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Configuration >> > >> >>> >> > > href=3D"config-introduction.xml"/> >> > >> >>> >> > > href=3D"config-xml-provider.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Persistence >> > >> >>> >> > > href=3D"persistence-general.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Transaction >> > >> >>> >> > > href=3D"transaction-general.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Servlet >> > >> >>> >> > > href=3D"servlet-introduction.xml"/> >> > >> >>> >> > > href=3D"servlet-installation.xml"/> >> > >> >>> >> >> > >> >>> >> > > href=3D"servlet-injectable_refs.xml"/> >> > >> >>> >> > > href=3D"servlet-exception_handling.xml" /> >> > >> >>> >> > > href=3D"servlet-beanmanager.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Security >> > >> >>> >> > > href=3D"security-introduction.xml"/> >> > >> >>> >> > > href=3D"security-authentication.xml"/> >> > >> >>> >> > > href=3D"security-identitymanagement.xml"/> >> > >> >>> >> > > href=3D"security-authentication-external.xml"/> >> > >> >>> >> > > href=3D"security-authorization.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam International >> > >> >>> >> > > href=3D"international-preface.xml" /> >> > >> >>> >> > > href=3D"international-installation.xml" /> >> > >> >>> >> > > href=3D"international-locales.xml" /> >> > >> >>> >> > > href=3D"international-timezones.xml" /> >> > >> >>> >> > > href=3D"international-messages.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Faces >> > >> >>> >> >> > >> >>> >> > > href=3D"faces-installation.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Catch >> > >> >>> >> > > href=3D"catch-introduction.xml"/> >> > >> >>> >> > > href=3D"catch-installation.xml"/> >> > >> >>> >> > > href=3D"catch-client_usage.xml"/> >> > >> >>> >> > > href=3D"catch-advanced_usage.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Reports >> > >> >>> >> >> > >> >>> >> > > href=3D"reports-installation.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Remoting >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> > > href=3D"remoting-validation.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam REST >> > >> >>> >> >> > >> >>> >> > > href=3D"rest-installation.xml" /> >> > >> >>> >> > > href=3D"rest-exception-mapping.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> > > href=3D"rest-dependencies.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam JCR >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam JMS >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> > > href=3D"jms-resource-injection.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> > > href=3D"jms-mapping-interfaces.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Validation >> > >> >>> >> > > href=3D"validation-introduction.xml"/> >> > >> >>> >> > > href=3D"validation-installation.xml"/> >> > >> >>> >> > > href=3D"validation-dependency-injection.xml"/> >> > >> >>> >> > > href=3D"validation-method-validation.xml"/> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> Seam Wicket >> > >> >>> >> >> > >> >>> >> > > href=3D"wicket-installation.xml" /> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > _______________________________________________ >> > >> >>> >> seam-dev mailing list >> > >> >>> >> seam-dev(a)lists.jboss.org >> > >> > >> > > > >> > >> >>> > > >> > >> > > >> >> > >> >>> >> >> > https://lists.jboss.org/mailman/listinfo/seam-dev >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> -- >> > >> >>> >> Lincoln Baxter, III >> > >> >>> >> http://ocpsoft.com >> > >> >>> >> http://scrumshark.com >> > >> >>> >> "Keep it Simple" >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> >>> >> -- >> > >> >>> >> Lincoln Baxter, III >> > >> >>> >> http://ocpsoft.com >> > >> >>> >> http://scrumshark.com >> > >> >>> >> "Keep it Simple" >> > >> >>> > >> > >> >> >> > > >> > >> > >> > >> > >> > -- = >> > Lincoln Baxter, III >> > http://ocpsoft.com >> > http://scrumshark.com >> > "Keep it Simple" >> >> >> >> >> >> -- = >> Lincoln Baxter, III >> http://ocpsoft.com >> http://scrumshark.com >> "Keep it Simple" >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev --===============7445521175207593077==-- From mnovotny at redhat.com Fri Sep 2 06:52:04 2011 Content-Type: multipart/mixed; boundary="===============2711861623196929017==" MIME-Version: 1.0 From: Marek Novotny To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 12:52:01 +0200 Message-ID: <1314960721.2908.11.camel@localhost.localdomain> In-Reply-To: 4E60B35A.1090504@redhat.com --===============2711861623196929017== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I guess, it could be done by scripting a Web service https://issues.jboss.org/browse/ORG-1123 On Fri, 2011-09-02 at 20:43 +1000, Shane Bryzak wrote: > This would need to be automated for the Seam distribution build though. = > Currently, all modules have their docbook sources published as Maven = > artifacts, which is what we use to construct the bundled documentation. > = > On 02/09/11 19:35, Marek Novotny wrote: > > What about using feature "Export to docbook" and then just generate > > standard jdocbook output in release process? > > > > https://docs.jboss.org/author/display/AUTHGUIDE/Exporting+content+to > > +DocBook+XML > > > > On Fri, 2011-09-02 at 00:15 -0400, Lincoln Baxter, III wrote: > >> I don't know. I don't really have plans to include docbook in the dist > >> until we get some better integration there from the .ORG team. I don't > >> see that happening, though, so until then, online docs are the way > >> people will be learning about forge. Our tools don't make this easy. > >> > >> I don't think the connectivity issue will be a problem. People can > >> always print or download the site for later if they have connectivity > >> issues. It might be nice (on confluence) to be able to have a 1-click > >> download, though. > >> > >> ~Lincoln > >> > >> On Thu, Sep 1, 2011 at 11:51 PM, Shane Bryzak > >> wrote: > >> Yeah, that's a good idea. Do you have plans to provide > >> documentation as part of the Forge download? I'm thinking of > >> the users who might have no/limited connectivity who won't be > >> able to access the Forge docs online. Also, how does > >> confluence work in conjunction with our documentation team? > >> From my understanding all their tools for translating etc are > >> based on Publican/Docbook. > >> > >> > >> > >> On 02/09/11 13:48, Lincoln Baxter, III wrote: > >> > Actually, maybe the best thing to do is just to add a new > >> > section to the Seam umbrella doc, with an HTML link to the > >> > forge confluence space? > >> > > >> > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III > >> > wrote: > >> > Ok. If you include beta1, the artifact for dist is: > >> > > >> > org.jboss.forge:forge-modules:1.0.0.Beta1 > >> > > >> > -- > >> > Lincoln Baxter's Droid > >> > http://ocpsoft.com > >> > "Keep it Simple" > >> > > >> > > >> > On Sep 1, 2011 7:52 PM, "Shane Bryzak" > >> > wrote: > >> > > Yep, I planned on extracting it in the forge > >> > folder. > >> > > > >> > > On 02/09/11 09:43, Lincoln Baxter, III wrote: > >> > >> > >> > >> Also, if forge is unzipped. It should be done = so > >> > in its own subfolder. > >> > >> > >> > >> Ill try to catch you online tonight and make s= ure > >> > you've got the right > >> > >> artifact. (it moved temporarily during the jbo= ss > >> > modules transition. > >> > >> > >> > >> -- > >> > >> Lincoln Baxter's Droid > >> > >> http://ocpsoft.com > >> > >> "Keep it Simple" > >> > >> > >> > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, III" > >> > >> > > >> > >> > wrote: > >> > > >> > >> > Well. The forge distribution doesn't contain > >> > docs either. They are > >> > >> purely > >> > >> > online at this point. So I think just don't > >> > worry about it. This > >> > >> confluence > >> > >> > thing is a bit of a pain in that regard. > >> > >> > > >> > >> > -- > >> > >> > Lincoln Baxter's Droid > >> > >> > http://ocpsoft.com > >> > >> > "Keep it Simple" > >> > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" > >> > >> > > >> > >> > wrote: > >> > >> >> Unless an export could be automated as par= t of > >> > the build process, I > >> > >> >> don't think that's a good idea. How about = we > >> > just include the Forge > >> > >> >> distribution extracted inside the Seam > >> > distribution? The documentation > >> > >> >> won't be combined with the main Seam docs,= but > >> > as long as it's in the > >> > >> >> Forge distribution then a user should be a= ble > >> > to find it without too > >> > >> >> much effort. > >> > >> >> > >> > >> >> On 02/09/11 01:22, Lincoln Baxter, III wro= te: > >> > >> >>> > >> > >> >>> I'm not really sure how to do this, then. > >> > There are no sources since > >> > >> >>> the docs are in confluence. > >> > >> >>> > >> > >> >>> I suppose an export could work? > >> > >> >>> > >> > >> >>> -- > >> > >> >>> Lincoln Baxter's Droid > >> > >> >>> http://ocpsoft.com > >> > >> >>> "Keep it Simple" > >> > >> >>> > >> > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryzak" > >> > >> > >> > >> > > >> > >> >>> >> > >> wrote: > >> > > >> > >> >>> > The source artifact for the Forge docs= were > >> > being pulled in like > >> > >> this: > >> > >> >>> > > >> > >> >>> > > >> > >> >>> > org.jboss.seam.forge > >> > >> >>> > > >> > forge-reference-guide > >> > >> >>> > 1.0.0-SNAPSHOT > >> > >> >>> > sources > >> > >> >>> > jar > >> > >> >>> > > >> > >> >>> > > >> > >> >>> > When I update the version to 1.0.0.Bet= a1, > >> > it can't find the source - > >> > >> >>> was > >> > >> >>> > the Beta1 source artifact published to > >> > Maven? > >> > >> >>> > > >> > >> >>> > > >> > >> >>> > > >> > >> >>> > On 01/09/11 03:02, Lincoln Baxter, III > >> > wrote: > >> > >> >>> >> > >> > https://docs.jboss.org/author/display/SEAMFORGE/Ho= me > >> > >> >>> >> > >> > >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM, Linc= oln > >> > Baxter, III > >> > >> >>> >> >> > > >> > >> >> > > > >> > >> >>> >> > > >> > >> >> > >>> wrote: > >> > >> >>> >> > >> > >> >>> >> Just checking - the Forge docs are no > >> > longer in SVN / are in > >> > >> >>> >> Confluence; have you taken this into > >> > account? > >> > >> >>> >> > >> > >> >>> >> Also, the which distribution are you > >> > including? You could choose > >> > >> >>> >> either Beta1 or the latest SNAPSHOT (= which > >> > is actually in a new > >> > >> >>> >> location - moved back to the original > >> > >> >>> >> org.jboss.forge:forge-distribution - > >> > though it looks like the > >> > >> >>> >> build hasn't deployed artifacts in a > >> > little while - looking in to > >> > >> >>> >> that) > >> > >> >>> >> > >> > >> >>> >> ~Lincoln > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM, Sha= ne > >> > Bryzak > >> > >> > >> > >> >>> >> > > > >> > >> >>> >> >> > > >> > >> >> > >>> wrote: > >> > >> >>> >> > >> > >> >>> >> Module leads, > >> > >> >>> >> > >> > >> >>> >> Can you please review the list below = and > >> > confirm that the > >> > >> >>> >> documentation > >> > >> >>> >> chapters are correct for your module. > >> > Also, I would like > >> > >> >>> >> everyone to > >> > >> >>> >> take a moment to review the module > >> > documentation guidelines, > >> > >> >>> >> as there > >> > >> >>> >> were a number of breakages in the bun= dled > >> > documentation build > >> > >> >>> >> because > >> > >> >>> >> the guidelines weren't adhered to, > >> > particularly in the new > >> > >> >>> >> modules for > >> > >> >>> >> Seam 3.1: > >> > >> >>> >> > >> > >> >>> >> 1) Always prefix the filenames of your > >> > documentation chapters > >> > >> >>> >> with the > >> > >> >>> >> name of your module. E.g. > >> > security-authentication.xml, > >> > >> >>> >> security-authorization.xml, etc. > >> > >> >>> >> > >> > >> >>> >> 2) Whenever you assign an ID to a doc= book > >> > element, such as a > >> > >> >>> >> > >> > >> >>> >> or
, ALWAYS prefix the id with > >> > your module name. For > >> > >> >>> >> example, > >> > >> >>> >> or > >> >
>> > >> >>> >> id=3D"security-getting-started">. As = all of > >> > the chapters for > >> > >> >>> >> all modules > >> > >> >>> >> are combined when building the bundled > >> > documentation, all IDs > >> > >> >>> >> must be > >> > >> >>> >> unique. This is a particularly time > >> > consuming problem to fix > >> > >> >>> >> because > >> > >> >>> >> the error output from the Maven docbo= ok > >> > plugin doesn't tell > >> > >> >>> >> you which > >> > >> >>> >> files are the problem ones. > >> > >> >>> >> > >> > >> >>> >> 3) When adding, renaming or deleting a > >> > chapter of your > >> > >> >>> >> documentation, > >> > >> >>> >> please notify me of the changes so th= at I > >> > can update > >> > >> >>> >> bundled_master.xml. This file must be > >> > manually kept up to > >> > >> >>> >> date whenever > >> > >> >>> >> any documentation changes are made. > >> > >> >>> >> > >> > >> >>> >> Thanks, > >> > >> >>> >> Shane > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> >> > DocBook XML V4.5//EN" > >> > >> >>> >> > >> > "http://www.oasis-open.org/docbook/xml/4.5/docbook= x.dtd" [ ]> > >> > >> >>> >> >> > xmlns:xi=3D"http://www.w3.org/2001/XInclude"> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam 3 > >> > >> >>> >> Bundled Reference > >> > Guide > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Forge > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"forge-installation.xml" /> > >> > >> >>> >> >> > href=3D"forge-creating-basic-webapp.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Solder > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"solder-gettingstarted.xml"/> > >> > >> >>> >> >> > href=3D"solder-programmingmodel.xml"/> > >> > >> >>> >> >> > href=3D"solder-annotationliterals.xml"/> > >> > >> >>> >> >> > href=3D"solder-elextensions.xml"/> > >> > >> >>> >> >> > href=3D"solder-resourceloading.xml"/> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"solder-typeutilities.xml"/> > >> > >> >>> >> >> > href=3D"solder-beanmanagerprovider.xml"/> > >> > >> >>> >> >> > href=3D"solder-beanutilities.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"solder-defaultbeans.xml"/> > >> > >> >>> >> >> > href=3D"solder-genericbeans.xml"/> > >> > >> >>> >> >> > href=3D"solder-servicehandler.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Configuration > >> > >> >>> >> >> > href=3D"config-introduction.xml"/> > >> > >> >>> >> >> > href=3D"config-xml-provider.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Persistence > >> > >> >>> >> >> > href=3D"persistence-general.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Transaction > >> > >> >>> >> >> > href=3D"transaction-general.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Servlet > >> > >> >>> >> >> > href=3D"servlet-introduction.xml"/> > >> > >> >>> >> >> > href=3D"servlet-installation.xml"/> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"servlet-injectable_refs.xml"/> > >> > >> >>> >> >> > href=3D"servlet-exception_handling.xml" /> > >> > >> >>> >> >> > href=3D"servlet-beanmanager.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Security > >> > >> >>> >> >> > href=3D"security-introduction.xml"/> > >> > >> >>> >> >> > href=3D"security-authentication.xml"/> > >> > >> >>> >> >> > href=3D"security-identitymanagement.xml"/> > >> > >> >>> >> >> > href=3D"security-authentication-external.xml"/> > >> > >> >>> >> >> > href=3D"security-authorization.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam International > >> > >> >>> >> >> > href=3D"international-preface.xml" /> > >> > >> >>> >> >> > href=3D"international-installation.xml" /> > >> > >> >>> >> >> > href=3D"international-locales.xml" /> > >> > >> >>> >> >> > href=3D"international-timezones.xml" /> > >> > >> >>> >> >> > href=3D"international-messages.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Faces > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"faces-installation.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Catch > >> > >> >>> >> >> > href=3D"catch-introduction.xml"/> > >> > >> >>> >> >> > href=3D"catch-installation.xml"/> > >> > >> >>> >> >> > href=3D"catch-client_usage.xml"/> > >> > >> >>> >> >> > href=3D"catch-advanced_usage.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Reports > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"reports-installation.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Remoting > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"remoting-validation.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam REST > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"rest-installation.xml" /> > >> > >> >>> >> >> > href=3D"rest-exception-mapping.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"rest-dependencies.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam JCR > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam JMS > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"jms-resource-injection.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"jms-mapping-interfaces.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Validation > >> > >> >>> >> >> > href=3D"validation-introduction.xml"/> > >> > >> >>> >> >> > href=3D"validation-installation.xml"/> > >> > >> >>> >> >> > href=3D"validation-dependency-injection.xml"/> > >> > >> >>> >> >> > href=3D"validation-method-validation.xml"/> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> Seam Wicket > >> > >> >>> >> > >> > >> >>> >> >> > href=3D"wicket-installation.xml" /> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > _______________________________________________ > >> > >> >>> >> seam-dev mailing list > >> > >> >>> >> seam-dev(a)lists.jboss.org > >> > > >> > >> >> > > > >> > >> >>> >> > > >> > >> >> > >> > >> > >> >>> >> > >> > https://lists.jboss.org/mailman/listinfo/seam-dev > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> -- > >> > >> >>> >> Lincoln Baxter, III > >> > >> >>> >> http://ocpsoft.com > >> > >> >>> >> http://scrumshark.com > >> > >> >>> >> "Keep it Simple" > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> > >> > >> >>> >> -- > >> > >> >>> >> Lincoln Baxter, III > >> > >> >>> >> http://ocpsoft.com > >> > >> >>> >> http://scrumshark.com > >> > >> >>> >> "Keep it Simple" > >> > >> >>> > > >> > >> >> > >> > > > >> > > >> > > >> > > >> > > >> > -- = > >> > Lincoln Baxter, III > >> > http://ocpsoft.com > >> > http://scrumshark.com > >> > "Keep it Simple" > >> > >> > >> > >> > >> > >> -- = > >> Lincoln Baxter, III > >> http://ocpsoft.com > >> http://scrumshark.com > >> "Keep it Simple" > >> _______________________________________________ > >> seam-dev mailing list > >> seam-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/seam-dev > = -- = Marek Novotny -- Seam and WFK Product Lead Red Hat Czech s.r.o. Purkynova 99 612 45 Brno Email: mnovotny(a)redhat.com Office phone: +420 532 294 287, ext. 82-62 087 mobile: +420 608 509 230 --===============2711861623196929017==-- From sbryzak at redhat.com Fri Sep 2 06:57:46 2011 Content-Type: multipart/mixed; boundary="===============1586228203442528623==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 20:57:42 +1000 Message-ID: <4E60B6A6.6040604@redhat.com> In-Reply-To: 1314960721.2908.11.camel@localhost.localdomain --===============1586228203442528623== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable That might work, but I wonder how long it would take to actually = generate the sources during the method call... for substantial = documentation I can imagine this might take quite a while. Also, how do = image resources work in this case? The challenge is, that we need to be = able to automate the Seam distribution build from Jenkins. On 02/09/11 20:52, Marek Novotny wrote: > I guess, it could be done by scripting a Web service > https://issues.jboss.org/browse/ORG-1123 > > > > On Fri, 2011-09-02 at 20:43 +1000, Shane Bryzak wrote: >> This would need to be automated for the Seam distribution build though. >> Currently, all modules have their docbook sources published as Maven >> artifacts, which is what we use to construct the bundled documentation. >> >> On 02/09/11 19:35, Marek Novotny wrote: >>> What about using feature "Export to docbook" and then just generate >>> standard jdocbook output in release process? >>> >>> https://docs.jboss.org/author/display/AUTHGUIDE/Exporting+content+to >>> +DocBook+XML >>> >>> On Fri, 2011-09-02 at 00:15 -0400, Lincoln Baxter, III wrote: >>>> I don't know. I don't really have plans to include docbook in the dist >>>> until we get some better integration there from the .ORG team. I don't >>>> see that happening, though, so until then, online docs are the way >>>> people will be learning about forge. Our tools don't make this easy. >>>> >>>> I don't think the connectivity issue will be a problem. People can >>>> always print or download the site for later if they have connectivity >>>> issues. It might be nice (on confluence) to be able to have a 1-click >>>> download, though. >>>> >>>> ~Lincoln >>>> >>>> On Thu, Sep 1, 2011 at 11:51 PM, Shane Bryzak >>>> wrote: >>>> Yeah, that's a good idea. Do you have plans to provide >>>> documentation as part of the Forge download? I'm thinking of >>>> the users who might have no/limited connectivity who won't be >>>> able to access the Forge docs online. Also, how does >>>> confluence work in conjunction with our documentation team? >>>> From my understanding all their tools for translating etc are >>>> based on Publican/Docbook. >>>> >>>> >>>> >>>> On 02/09/11 13:48, Lincoln Baxter, III wrote: >>>> > Actually, maybe the best thing to do is just to add a new >>>> > section to the Seam umbrella doc, with an HTML link to t= he >>>> > forge confluence space? >>>> > >>>> > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III >>>> > wrote: >>>> > Ok. If you include beta1, the artifact for dist = is: >>>> > >>>> > org.jboss.forge:forge-modules:1.0.0.Beta1 >>>> > >>>> > -- >>>> > Lincoln Baxter's Droid >>>> > http://ocpsoft.com >>>> > "Keep it Simple" >>>> > >>>> > >>>> > On Sep 1, 2011 7:52 PM, "Shane Bryzak" >>>> > wrote: >>>> > > Yep, I planned on extracting it in the forge >>>> > folder. >>>> > > >>>> > > On 02/09/11 09:43, Lincoln Baxter, III wrote: >>>> > >> >>>> > >> Also, if forge is unzipped. It should be do= ne so >>>> > in its own subfolder. >>>> > >> >>>> > >> Ill try to catch you online tonight and mak= e sure >>>> > you've got the right >>>> > >> artifact. (it moved temporarily during the = jboss >>>> > modules transition. >>>> > >> >>>> > >> -- >>>> > >> Lincoln Baxter's Droid >>>> > >> http://ocpsoft.com >>>> > >> "Keep it Simple" >>>> > >> >>>> > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, II= I" >>>> > >>> > >>>> > >> > wrote: >>>> > >>>> > >> > Well. The forge distribution doesn't co= ntain >>>> > docs either. They are >>>> > >> purely >>>> > >> > online at this point. So I think just d= on't >>>> > worry about it. This >>>> > >> confluence >>>> > >> > thing is a bit of a pain in that regard. >>>> > >> > >>>> > >> > -- >>>> > >> > Lincoln Baxter's Droid >>>> > >> > http://ocpsoft.com >>>> > >> > "Keep it Simple" >>>> > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" >>>> > >>> > >>>> > >> > wrote: >>>> > >> >> Unless an export could be automated as= part of >>>> > the build process, I >>>> > >> >> don't think that's a good idea. How ab= out we >>>> > just include the Forge >>>> > >> >> distribution extracted inside the Seam >>>> > distribution? The documentation >>>> > >> >> won't be combined with the main Seam d= ocs, but >>>> > as long as it's in the >>>> > >> >> Forge distribution then a user should = be able >>>> > to find it without too >>>> > >> >> much effort. >>>> > >> >> >>>> > >> >> On 02/09/11 01:22, Lincoln Baxter, III= wrote: >>>> > >> >>> >>>> > >> >>> I'm not really sure how to do this, t= hen. >>>> > There are no sources since >>>> > >> >>> the docs are in confluence. >>>> > >> >>> >>>> > >> >>> I suppose an export could work? >>>> > >> >>> >>>> > >> >>> -- >>>> > >> >>> Lincoln Baxter's Droid >>>> > >> >>> http://ocpsoft.com >>>> > >> >>> "Keep it Simple" >>>> > >> >>> >>>> > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bryza= k" >>>> > >>> > >> >>>> > >>>> > >> >>> >>> > >> wrote: >>>> > >>>> > >> >>> > The source artifact for the Forge= docs were >>>> > being pulled in like >>>> > >> this: >>>> > >> >>> > >>>> > >> >>> > >>>> > >> >>> > org.jboss.seam.forge >>>> > >> >>> > >>>> > forge-reference-guide >>>> > >> >>> > 1.0.0-SNAPSHOT >>>> > >> >>> > sources >>>> > >> >>> > jar >>>> > >> >>> > >>>> > >> >>> > >>>> > >> >>> > When I update the version to 1.0.= 0.Beta1, >>>> > it can't find the source - >>>> > >> >>> was >>>> > >> >>> > the Beta1 source artifact publish= ed to >>>> > Maven? >>>> > >> >>> > >>>> > >> >>> > >>>> > >> >>> > >>>> > >> >>> > On 01/09/11 03:02, Lincoln Baxter= , III >>>> > wrote: >>>> > >> >>> >> >>>> > https://docs.jboss.org/author/display/SEAMFORGE/= Home >>>> > >> >>> >> >>>> > >> >>> >> On Wed, Aug 31, 2011 at 1:02 PM,= Lincoln >>>> > Baxter, III >>>> > >> >>> >> >>> > >>>> > >> >>> > > >>>> > >> >>> >>> > >>>> > >> >>> > >>> wrote: >>>> > >> >>> >> >>>> > >> >>> >> Just checking - the Forge docs a= re no >>>> > longer in SVN / are in >>>> > >> >>> >> Confluence; have you taken this = into >>>> > account? >>>> > >> >>> >> >>>> > >> >>> >> Also, the which distribution are= you >>>> > including? You could choose >>>> > >> >>> >> either Beta1 or the latest SNAPS= HOT (which >>>> > is actually in a new >>>> > >> >>> >> location - moved back to the ori= ginal >>>> > >> >>> >> org.jboss.forge:forge-distributi= on - >>>> > though it looks like the >>>> > >> >>> >> build hasn't deployed artifacts = in a >>>> > little while - looking in to >>>> > >> >>> >> that) >>>> > >> >>> >> >>>> > >> >>> >> ~Lincoln >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> On Wed, Aug 31, 2011 at 12:14 AM= , Shane >>>> > Bryzak >>>> > >> >>>> > >> >>> >>> > > >>>> > >> >>> >> >>> > >>>> > >> >>> > >>> wrote: >>>> > >> >>> >> >>>> > >> >>> >> Module leads, >>>> > >> >>> >> >>>> > >> >>> >> Can you please review the list b= elow and >>>> > confirm that the >>>> > >> >>> >> documentation >>>> > >> >>> >> chapters are correct for your mo= dule. >>>> > Also, I would like >>>> > >> >>> >> everyone to >>>> > >> >>> >> take a moment to review the modu= le >>>> > documentation guidelines, >>>> > >> >>> >> as there >>>> > >> >>> >> were a number of breakages in th= e bundled >>>> > documentation build >>>> > >> >>> >> because >>>> > >> >>> >> the guidelines weren't adhered t= o, >>>> > particularly in the new >>>> > >> >>> >> modules for >>>> > >> >>> >> Seam 3.1: >>>> > >> >>> >> >>>> > >> >>> >> 1) Always prefix the filenames o= f your >>>> > documentation chapters >>>> > >> >>> >> with the >>>> > >> >>> >> name of your module. E.g. >>>> > security-authentication.xml, >>>> > >> >>> >> security-authorization.xml, etc. >>>> > >> >>> >> >>>> > >> >>> >> 2) Whenever you assign an ID to = a docbook >>>> > element, such as a >>>> > >> >>> >> >>>> > >> >>> >> or
, ALWAYS prefix the i= d with >>>> > your module name. For >>>> > >> >>> >> example, >>>> > >> >>> >> or >>>> >
>>> > >> >>> >> id=3D"security-getting-started">= . As all of >>>> > the chapters for >>>> > >> >>> >> all modules >>>> > >> >>> >> are combined when building the b= undled >>>> > documentation, all IDs >>>> > >> >>> >> must be >>>> > >> >>> >> unique. This is a particularly t= ime >>>> > consuming problem to fix >>>> > >> >>> >> because >>>> > >> >>> >> the error output from the Maven = docbook >>>> > plugin doesn't tell >>>> > >> >>> >> you which >>>> > >> >>> >> files are the problem ones. >>>> > >> >>> >> >>>> > >> >>> >> 3) When adding, renaming or dele= ting a >>>> > chapter of your >>>> > >> >>> >> documentation, >>>> > >> >>> >> please notify me of the changes = so that I >>>> > can update >>>> > >> >>> >> bundled_master.xml. This file mu= st be >>>> > manually kept up to >>>> > >> >>> >> date whenever >>>> > >> >>> >> any documentation changes are ma= de. >>>> > >> >>> >> >>>> > >> >>> >> Thanks, >>>> > >> >>> >> Shane >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>> > DocBook XML V4.5//EN" >>>> > >> >>> >> >>>> > "http://www.oasis-open.org/docbook/xml/4.5/docbo= okx.dtd" [ ]> >>>> > >> >>> >> >>> > xmlns:xi=3D"http://www.w3.org/2001/XInclude"> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam 3 >>>> > >> >>> >> Bundled Reference >>>> > Guide >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Forge >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"forge-installation.xml" /> >>>> > >> >>> >> >>> > href=3D"forge-creating-basic-webapp.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Solder >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"solder-gettingstarted.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-programmingmodel.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-annotationliterals.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-elextensions.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-resourceloading.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"solder-typeutilities.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-beanmanagerprovider.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-beanutilities.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"solder-defaultbeans.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-genericbeans.xml"/> >>>> > >> >>> >> >>> > href=3D"solder-servicehandler.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Configuration >>>> > >> >>> >> >>> > href=3D"config-introduction.xml"/> >>>> > >> >>> >> >>> > href=3D"config-xml-provider.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Persistence >>>> > >> >>> >> >>> > href=3D"persistence-general.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Transaction >>>> > >> >>> >> >>> > href=3D"transaction-general.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Servlet >>>> > >> >>> >> >>> > href=3D"servlet-introduction.xml"/> >>>> > >> >>> >> >>> > href=3D"servlet-installation.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"servlet-injectable_refs.xml"/> >>>> > >> >>> >> >>> > href=3D"servlet-exception_handling.xml" /> >>>> > >> >>> >> >>> > href=3D"servlet-beanmanager.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Security >>>> > >> >>> >> >>> > href=3D"security-introduction.xml"/> >>>> > >> >>> >> >>> > href=3D"security-authentication.xml"/> >>>> > >> >>> >> >>> > href=3D"security-identitymanagement.xml"/> >>>> > >> >>> >> >>> > href=3D"security-authentication-external.xml"/> >>>> > >> >>> >> >>> > href=3D"security-authorization.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam International >>>> > >> >>> >> >>> > href=3D"international-preface.xml" /> >>>> > >> >>> >> >>> > href=3D"international-installation.xml" /> >>>> > >> >>> >> >>> > href=3D"international-locales.xml" /> >>>> > >> >>> >> >>> > href=3D"international-timezones.xml" /> >>>> > >> >>> >> >>> > href=3D"international-messages.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Faces >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"faces-installation.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Catch >>>> > >> >>> >> >>> > href=3D"catch-introduction.xml"/> >>>> > >> >>> >> >>> > href=3D"catch-installation.xml"/> >>>> > >> >>> >> >>> > href=3D"catch-client_usage.xml"/> >>>> > >> >>> >> >>> > href=3D"catch-advanced_usage.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Reports >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"reports-installation.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Remoting >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"remoting-validation.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam REST >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"rest-installation.xml" /> >>>> > >> >>> >> >>> > href=3D"rest-exception-mapping.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"rest-dependencies.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam JCR >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam JMS >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"jms-resource-injection.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"jms-mapping-interfaces.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Validation >>>> > >> >>> >> >>> > href=3D"validation-introduction.xml"/> >>>> > >> >>> >> >>> > href=3D"validation-installation.xml"/> >>>> > >> >>> >> >>> > href=3D"validation-dependency-injection.xml"/> >>>> > >> >>> >> >>> > href=3D"validation-method-validation.xml"/> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> Seam Wicket >>>> > >> >>> >> >>>> > >> >>> >> >>> > href=3D"wicket-installation.xml" /> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > _______________________________________________ >>>> > >> >>> >> seam-dev mailing list >>>> > >> >>> >> seam-dev(a)lists.jboss.org >>>> > >>>> > >> >>> > > >>>> > >> >>> >>> > >>>> > >> >>> > >> >>>> > >> >>> >> >>>> > https://lists.jboss.org/mailman/listinfo/seam-dev >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> -- >>>> > >> >>> >> Lincoln Baxter, III >>>> > >> >>> >> http://ocpsoft.com >>>> > >> >>> >> http://scrumshark.com >>>> > >> >>> >> "Keep it Simple" >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> >>>> > >> >>> >> -- >>>> > >> >>> >> Lincoln Baxter, III >>>> > >> >>> >> http://ocpsoft.com >>>> > >> >>> >> http://scrumshark.com >>>> > >> >>> >> "Keep it Simple" >>>> > >> >>> > >>>> > >> >> >>>> > > >>>> > >>>> > >>>> > >>>> > >>>> > -- = >>>> > Lincoln Baxter, III >>>> > http://ocpsoft.com >>>> > http://scrumshark.com >>>> > "Keep it Simple" >>>> >>>> >>>> >>>> >>>> >>>> -- = >>>> Lincoln Baxter, III >>>> http://ocpsoft.com >>>> http://scrumshark.com >>>> "Keep it Simple" >>>> _______________________________________________ >>>> seam-dev mailing list >>>> seam-dev(a)lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/seam-dev --===============1586228203442528623==-- From mnovotny at redhat.com Fri Sep 2 07:05:12 2011 Content-Type: multipart/mixed; boundary="===============4286253788677001498==" MIME-Version: 1.0 From: Marek Novotny To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Bundled distribution documentation Date: Fri, 02 Sep 2011 13:05:08 +0200 Message-ID: <1314961508.2908.15.camel@localhost.localdomain> In-Reply-To: 4E60B6A6.6040604@redhat.com --===============4286253788677001498== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I don't know, I only read the announce email from jboss.org team about it. I guess you need to ping the author of the feature - velias on IRC #jboss.org = On Fri, 2011-09-02 at 20:57 +1000, Shane Bryzak wrote: > That might work, but I wonder how long it would take to actually = > generate the sources during the method call... for substantial = > documentation I can imagine this might take quite a while. Also, how do = > image resources work in this case? The challenge is, that we need to be = > able to automate the Seam distribution build from Jenkins. > = > = > = > On 02/09/11 20:52, Marek Novotny wrote: > > I guess, it could be done by scripting a Web service > > https://issues.jboss.org/browse/ORG-1123 > > > > > > > > On Fri, 2011-09-02 at 20:43 +1000, Shane Bryzak wrote: > >> This would need to be automated for the Seam distribution build though. > >> Currently, all modules have their docbook sources published as Maven > >> artifacts, which is what we use to construct the bundled documentation. > >> > >> On 02/09/11 19:35, Marek Novotny wrote: > >>> What about using feature "Export to docbook" and then just generate > >>> standard jdocbook output in release process? > >>> > >>> https://docs.jboss.org/author/display/AUTHGUIDE/Exporting+content+to > >>> +DocBook+XML > >>> > >>> On Fri, 2011-09-02 at 00:15 -0400, Lincoln Baxter, III wrote: > >>>> I don't know. I don't really have plans to include docbook in the di= st > >>>> until we get some better integration there from the .ORG team. I don= 't > >>>> see that happening, though, so until then, online docs are the way > >>>> people will be learning about forge. Our tools don't make this easy. > >>>> > >>>> I don't think the connectivity issue will be a problem. People can > >>>> always print or download the site for later if they have connectivity > >>>> issues. It might be nice (on confluence) to be able to have a 1-click > >>>> download, though. > >>>> > >>>> ~Lincoln > >>>> > >>>> On Thu, Sep 1, 2011 at 11:51 PM, Shane Bryzak > >>>> wrote: > >>>> Yeah, that's a good idea. Do you have plans to provide > >>>> documentation as part of the Forge download? I'm thinking= of > >>>> the users who might have no/limited connectivity who won't= be > >>>> able to access the Forge docs online. Also, how does > >>>> confluence work in conjunction with our documentation team? > >>>> From my understanding all their tools for translating etc = are > >>>> based on Publican/Docbook. > >>>> > >>>> > >>>> > >>>> On 02/09/11 13:48, Lincoln Baxter, III wrote: > >>>> > Actually, maybe the best thing to do is just to add a = new > >>>> > section to the Seam umbrella doc, with an HTML link to= the > >>>> > forge confluence space? > >>>> > > >>>> > On Thu, Sep 1, 2011 at 7:54 PM, Lincoln Baxter, III > >>>> > wrote: > >>>> > Ok. If you include beta1, the artifact for dis= t is: > >>>> > > >>>> > org.jboss.forge:forge-modules:1.0.0.Beta1 > >>>> > > >>>> > -- > >>>> > Lincoln Baxter's Droid > >>>> > http://ocpsoft.com > >>>> > "Keep it Simple" > >>>> > > >>>> > > >>>> > On Sep 1, 2011 7:52 PM, "Shane Bryzak" > >>>> > wrote: > >>>> > > Yep, I planned on extracting it in the for= ge > >>>> > folder. > >>>> > > > >>>> > > On 02/09/11 09:43, Lincoln Baxter, III wro= te: > >>>> > >> > >>>> > >> Also, if forge is unzipped. It should be = done so > >>>> > in its own subfolder. > >>>> > >> > >>>> > >> Ill try to catch you online tonight and m= ake sure > >>>> > you've got the right > >>>> > >> artifact. (it moved temporarily during th= e jboss > >>>> > modules transition. > >>>> > >> > >>>> > >> -- > >>>> > >> Lincoln Baxter's Droid > >>>> > >> http://ocpsoft.com > >>>> > >> "Keep it Simple" > >>>> > >> > >>>> > >> On Sep 1, 2011 7:41 PM, "Lincoln Baxter, = III" > >>>> > >>>> > > >>>> > >> > wro= te: > >>>> > > >>>> > >> > Well. The forge distribution doesn't = contain > >>>> > docs either. They are > >>>> > >> purely > >>>> > >> > online at this point. So I think just= don't > >>>> > worry about it. This > >>>> > >> confluence > >>>> > >> > thing is a bit of a pain in that rega= rd. > >>>> > >> > > >>>> > >> > -- > >>>> > >> > Lincoln Baxter's Droid > >>>> > >> > http://ocpsoft.com > >>>> > >> > "Keep it Simple" > >>>> > >> > On Sep 1, 2011 6:05 PM, "Shane Bryzak" > >>>> > >>>> > > >>>> > >> > wrote: > >>>> > >> >> Unless an export could be automated = as part of > >>>> > the build process, I > >>>> > >> >> don't think that's a good idea. How = about we > >>>> > just include the Forge > >>>> > >> >> distribution extracted inside the Se= am > >>>> > distribution? The documentation > >>>> > >> >> won't be combined with the main Seam= docs, but > >>>> > as long as it's in the > >>>> > >> >> Forge distribution then a user shoul= d be able > >>>> > to find it without too > >>>> > >> >> much effort. > >>>> > >> >> > >>>> > >> >> On 02/09/11 01:22, Lincoln Baxter, I= II wrote: > >>>> > >> >>> > >>>> > >> >>> I'm not really sure how to do this,= then. > >>>> > There are no sources since > >>>> > >> >>> the docs are in confluence. > >>>> > >> >>> > >>>> > >> >>> I suppose an export could work? > >>>> > >> >>> > >>>> > >> >>> -- > >>>> > >> >>> Lincoln Baxter's Droid > >>>> > >> >>> http://ocpsoft.com > >>>> > >> >>> "Keep it Simple" > >>>> > >> >>> > >>>> > >> >>> On Aug 31, 2011 5:09 PM, "Shane Bry= zak" > >>>> > >>>> > >> > >>>> > > >>>> > >> >>> >>>> > >> wrote: > >>>> > > >>>> > >> >>> > The source artifact for the For= ge docs were > >>>> > being pulled in like > >>>> > >> this: > >>>> > >> >>> > > >>>> > >> >>> > > >>>> > >> >>> > org.jboss.seam.forge > >>>> > >> >>> > > >>>> > forge-reference-guide > >>>> > >> >>> > 1.0.0-SNAPSHOT > >>>> > >> >>> > sources > >>>> > >> >>> > jar > >>>> > >> >>> > > >>>> > >> >>> > > >>>> > >> >>> > When I update the version to 1.= 0.0.Beta1, > >>>> > it can't find the source - > >>>> > >> >>> was > >>>> > >> >>> > the Beta1 source artifact publi= shed to > >>>> > Maven? > >>>> > >> >>> > > >>>> > >> >>> > > >>>> > >> >>> > > >>>> > >> >>> > On 01/09/11 03:02, Lincoln Baxt= er, III > >>>> > wrote: > >>>> > >> >>> >> > >>>> > https://docs.jboss.org/author/display/SEAMFORG= E/Home > >>>> > >> >>> >> > >>>> > >> >>> >> On Wed, Aug 31, 2011 at 1:02 P= M, Lincoln > >>>> > Baxter, III > >>>> > >> >>> >> >>>> > > >>>> > >> >>>> > > > >>>> > >> >>> >>>> > > >>>> > >> >>>> > >>> wrote: > >>>> > >> >>> >> > >>>> > >> >>> >> Just checking - the Forge docs= are no > >>>> > longer in SVN / are in > >>>> > >> >>> >> Confluence; have you taken thi= s into > >>>> > account? > >>>> > >> >>> >> > >>>> > >> >>> >> Also, the which distribution a= re you > >>>> > including? You could choose > >>>> > >> >>> >> either Beta1 or the latest SNA= PSHOT (which > >>>> > is actually in a new > >>>> > >> >>> >> location - moved back to the o= riginal > >>>> > >> >>> >> org.jboss.forge:forge-distribu= tion - > >>>> > though it looks like the > >>>> > >> >>> >> build hasn't deployed artifact= s in a > >>>> > little while - looking in to > >>>> > >> >>> >> that) > >>>> > >> >>> >> > >>>> > >> >>> >> ~Lincoln > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> On Wed, Aug 31, 2011 at 12:14 = AM, Shane > >>>> > Bryzak > >>>> > >> > >>>> > >> >>> >>>> > > > >>>> > >> >>> >> >>>> > > >>>> > >> >>>> > >>> wrote: > >>>> > >> >>> >> > >>>> > >> >>> >> Module leads, > >>>> > >> >>> >> > >>>> > >> >>> >> Can you please review the list= below and > >>>> > confirm that the > >>>> > >> >>> >> documentation > >>>> > >> >>> >> chapters are correct for your = module. > >>>> > Also, I would like > >>>> > >> >>> >> everyone to > >>>> > >> >>> >> take a moment to review the mo= dule > >>>> > documentation guidelines, > >>>> > >> >>> >> as there > >>>> > >> >>> >> were a number of breakages in = the bundled > >>>> > documentation build > >>>> > >> >>> >> because > >>>> > >> >>> >> the guidelines weren't adhered= to, > >>>> > particularly in the new > >>>> > >> >>> >> modules for > >>>> > >> >>> >> Seam 3.1: > >>>> > >> >>> >> > >>>> > >> >>> >> 1) Always prefix the filenames= of your > >>>> > documentation chapters > >>>> > >> >>> >> with the > >>>> > >> >>> >> name of your module. E.g. > >>>> > security-authentication.xml, > >>>> > >> >>> >> security-authorization.xml, et= c. > >>>> > >> >>> >> > >>>> > >> >>> >> 2) Whenever you assign an ID t= o a docbook > >>>> > element, such as a > >>>> > >> >>> >> > >>>> > >> >>> >> or
, ALWAYS prefix the= id with > >>>> > your module name. For > >>>> > >> >>> >> example, > >>>> > >> >>> >> or > >>>> >
>>>> > >> >>> >> id=3D"security-getting-started= ">. As all of > >>>> > the chapters for > >>>> > >> >>> >> all modules > >>>> > >> >>> >> are combined when building the= bundled > >>>> > documentation, all IDs > >>>> > >> >>> >> must be > >>>> > >> >>> >> unique. This is a particularly= time > >>>> > consuming problem to fix > >>>> > >> >>> >> because > >>>> > >> >>> >> the error output from the Mave= n docbook > >>>> > plugin doesn't tell > >>>> > >> >>> >> you which > >>>> > >> >>> >> files are the problem ones. > >>>> > >> >>> >> > >>>> > >> >>> >> 3) When adding, renaming or de= leting a > >>>> > chapter of your > >>>> > >> >>> >> documentation, > >>>> > >> >>> >> please notify me of the change= s so that I > >>>> > can update > >>>> > >> >>> >> bundled_master.xml. This file = must be > >>>> > manually kept up to > >>>> > >> >>> >> date whenever > >>>> > >> >>> >> any documentation changes are = made. > >>>> > >> >>> >> > >>>> > >> >>> >> Thanks, > >>>> > >> >>> >> Shane > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > DocBook XML V4.5//EN" > >>>> > >> >>> >> > >>>> > "http://www.oasis-open.org/docbook/xml/4.5/doc= bookx.dtd" [ ]> > >>>> > >> >>> >> >>>> > xmlns:xi=3D"http://www.w3.org/2001/XInclude"> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam 3 > >>>> > >> >>> >> Bundled Reference > >>>> > Guide > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Forge > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"forge-installation.xml" /> > >>>> > >> >>> >> >>>> > href=3D"forge-creating-basic-webapp.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Solder > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"solder-gettingstarted.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-programmingmodel.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-annotationliterals.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-elextensions.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-resourceloading.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"solder-typeutilities.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-beanmanagerprovider.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-beanutilities.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"solder-defaultbeans.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-genericbeans.xml"/> > >>>> > >> >>> >> >>>> > href=3D"solder-servicehandler.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Configuration</tit= le> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"config-introduction.xml"/> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"config-xml-provider.xml"/> > >>>> > >> >>> >> </part> > >>>> > >> >>> >> > >>>> > >> >>> >> <part> > >>>> > >> >>> >> <title>Seam Persistence > >>>> > >> >>> >> >>>> > href=3D"persistence-general.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Transaction > >>>> > >> >>> >> >>>> > href=3D"transaction-general.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Servlet > >>>> > >> >>> >> >>>> > href=3D"servlet-introduction.xml"/> > >>>> > >> >>> >> >>>> > href=3D"servlet-installation.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"servlet-injectable_refs.xml"/> > >>>> > >> >>> >> >>>> > href=3D"servlet-exception_handling.xml" /> > >>>> > >> >>> >> >>>> > href=3D"servlet-beanmanager.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Security > >>>> > >> >>> >> >>>> > href=3D"security-introduction.xml"/> > >>>> > >> >>> >> >>>> > href=3D"security-authentication.xml"/> > >>>> > >> >>> >> >>>> > href=3D"security-identitymanagement.xml"/> > >>>> > >> >>> >> >>>> > href=3D"security-authentication-external.xml"/> > >>>> > >> >>> >> >>>> > href=3D"security-authorization.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam International</tit= le> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"international-preface.xml" /> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"international-installation.xml" /> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"international-locales.xml" /> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"international-timezones.xml" /> > >>>> > >> >>> >> <xi:include > >>>> > href=3D"international-messages.xml" /> > >>>> > >> >>> >> </part> > >>>> > >> >>> >> > >>>> > >> >>> >> <part> > >>>> > >> >>> >> <title>Seam Faces > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"faces-installation.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Catch > >>>> > >> >>> >> >>>> > href=3D"catch-introduction.xml"/> > >>>> > >> >>> >> >>>> > href=3D"catch-installation.xml"/> > >>>> > >> >>> >> >>>> > href=3D"catch-client_usage.xml"/> > >>>> > >> >>> >> >>>> > href=3D"catch-advanced_usage.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Reports > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"reports-installation.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Remoting > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"remoting-validation.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam REST > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"rest-installation.xml" /> > >>>> > >> >>> >> >>>> > href=3D"rest-exception-mapping.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"rest-dependencies.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam JCR > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam JMS > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"jms-resource-injection.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"jms-mapping-interfaces.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Validation > >>>> > >> >>> >> >>>> > href=3D"validation-introduction.xml"/> > >>>> > >> >>> >> >>>> > href=3D"validation-installation.xml"/> > >>>> > >> >>> >> >>>> > href=3D"validation-dependency-injection.xml"/> > >>>> > >> >>> >> >>>> > href=3D"validation-method-validation.xml"/> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> Seam Wicket > >>>> > >> >>> >> > >>>> > >> >>> >> >>>> > href=3D"wicket-installation.xml" /> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > _______________________________________________ > >>>> > >> >>> >> seam-dev mailing list > >>>> > >> >>> >> seam-dev(a)lists.jboss.org > >>>> > > >>>> > >> >>>> > > > >>>> > >> >>> >>>> > > >>>> > >> >>>> > >> > >>>> > >> >>> >> > >>>> > https://lists.jboss.org/mailman/listinfo/seam-= dev > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> -- > >>>> > >> >>> >> Lincoln Baxter, III > >>>> > >> >>> >> http://ocpsoft.com > >>>> > >> >>> >> http://scrumshark.com > >>>> > >> >>> >> "Keep it Simple" > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> > >>>> > >> >>> >> -- > >>>> > >> >>> >> Lincoln Baxter, III > >>>> > >> >>> >> http://ocpsoft.com > >>>> > >> >>> >> http://scrumshark.com > >>>> > >> >>> >> "Keep it Simple" > >>>> > >> >>> > > >>>> > >> >> > >>>> > > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > -- = > >>>> > Lincoln Baxter, III > >>>> > http://ocpsoft.com > >>>> > http://scrumshark.com > >>>> > "Keep it Simple" > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> -- = > >>>> Lincoln Baxter, III > >>>> http://ocpsoft.com > >>>> http://scrumshark.com > >>>> "Keep it Simple" > >>>> _______________________________________________ > >>>> seam-dev mailing list > >>>> seam-dev(a)lists.jboss.org > >>>> https://lists.jboss.org/mailman/listinfo/seam-dev > = -- = Marek Novotny -- Seam and WFK Product Lead Red Hat Czech s.r.o. Purkynova 99 612 45 Brno Email: mnovotny(a)redhat.com Office phone: +420 532 294 287, ext. 82-62 087 mobile: +420 608 509 230 --===============4286253788677001498==-- From sbryzak at redhat.com Sun Sep 4 08:48:28 2011 Content-Type: multipart/mixed; boundary="===============1226113561828972758==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: [seam-dev] Maven repository configuration in module poms Date: Sun, 04 Sep 2011 22:48:25 +1000 Message-ID: <4E637399.80103@redhat.com> --===============1226113561828972758== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi all, You may have noticed that I've removed all of the repository = configuration from the module poms. This was done as a required step on = the path to eventually having the Seam artifacts mirrored in the Maven = central repository. See Max's explanation on the following page for = more information: http://community.jboss.org/wiki/MavenProjectConfigurationRequirements Shane --===============1226113561828972758== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CiAgPGhlYWQ+CgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250 ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+CiAgPC9oZWFkPgogIDxib2R5IHRl eHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNGRkZGRkYiPgogICAgSGkgYWxsLDxicj4KICAgIDxicj4K ICAgIFlvdSBtYXkgaGF2ZSBub3RpY2VkIHRoYXQgSSd2ZSByZW1vdmVkIGFsbCBvZiB0aGUgcmVw b3NpdG9yeQogICAgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBtb2R1bGUgcG9tcy4mbmJzcDsgVGhp cyB3YXMgZG9uZSBhcyBhIHJlcXVpcmVkCiAgICBzdGVwIG9uIHRoZSBwYXRoIHRvIGV2ZW50dWFs bHkgaGF2aW5nIHRoZSBTZWFtIGFydGlmYWN0cyBtaXJyb3JlZCBpbgogICAgdGhlIE1hdmVuIGNl bnRyYWwgcmVwb3NpdG9yeS4mbmJzcDsgU2VlIE1heCdzIGV4cGxhbmF0aW9uIG9uIHRoZQogICAg Zm9sbG93aW5nIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb246IDxicj4KICAgIDxicj4KICAgIDxt ZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOwogICAgICBj aGFyc2V0PUlTTy04ODU5LTEiPgogICAgPGEKaHJlZj0iaHR0cDovL2NvbW11bml0eS5qYm9zcy5v cmcvd2lraS9NYXZlblByb2plY3RDb25maWd1cmF0aW9uUmVxdWlyZW1lbnRzIj5odHRwOi8vY29t bXVuaXR5Lmpib3NzLm9yZy93aWtpL01hdmVuUHJvamVjdENvbmZpZ3VyYXRpb25SZXF1aXJlbWVu dHM8L2E+PGJyPgogICAgPGJyPgogICAgU2hhbmU8YnI+CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============1226113561828972758==-- From lightguard.jp at gmail.com Tue Sep 6 16:04:17 2011 Content-Type: multipart/mixed; boundary="===============4485325842077113986==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: [seam-dev] Meeting 2011-09-07 Date: Tue, 06 Sep 2011 14:03:56 -0600 Message-ID: --===============4485325842077113986== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Agenda - Follow-up from the last meeting (10 min) - Cloudbees - Docs - Mail Tests - Hack Night: Faces (10 min) - Next Seam 3 release (15 min) - I believe the next one is CR1 - Discuss moving to the testing structure (Ken and I believe we have the bugs ironed out) - Next week's meeting (5 min) - All Seam devs will be having a meeting, may hold off -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============4485325842077113986== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QWdlbmRhPGRpdj48dWw+PGxpPkZvbGxvdy11cCBmcm9tIHRoZSBsYXN0IG1lZXRpbmcgKDEwIG1p bik8L2xpPjx1bD48bGk+Q2xvdWRiZWVzPC9saT48bGk+RG9jczwvbGk+PGxpPk1haWwgVGVzdHM8 L2xpPjwvdWw+PGxpPkhhY2sgTmlnaHQ6IEZhY2VzICgxMCBtaW4pPC9saT48bGk+TmV4dCBTZWFt IDMgcmVsZWFzZSAoMTUgbWluKTwvbGk+PHVsPjxsaT5JIGJlbGlldmUgdGhlIG5leHQgb25lIGlz IENSMTwvbGk+Cgo8bGk+RGlzY3VzcyBtb3ZpbmcgdG8gdGhlIHRlc3Rpbmcgc3RydWN0dXJlIChL ZW4gYW5kIEkgYmVsaWV2ZSB3ZSBoYXZlIHRoZSBidWdzIGlyb25lZCBvdXQpPC9saT48L3VsPjxs aT5OZXh0IHdlZWsmIzM5O3MgbWVldGluZyAoNSBtaW4pPC9saT48dWw+PGxpPkFsbCBTZWFtIGRl dnMgd2lsbCBiZSBoYXZpbmcgYSBtZWV0aW5nLCBtYXkgaG9sZCBvZmY8L2xpPjwvdWw+PC91bD48 ZGl2PgoKPGJyPjwvZGl2Pi0tIDxicj5KYXNvbiBQb3J0ZXI8YnI+PGEgaHJlZj0iaHR0cDovL2xp Z2h0Z3VhcmQtanAuYmxvZ3Nwb3QuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpZ2h0Z3Vh cmQtanAuYmxvZ3Nwb3QuY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vbGln aHRndWFyZGpwIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRq cDwvYT48YnI+Cgo8YnI+U29mdHdhcmUgRW5naW5lZXI8YnI+T3BlbiBTb3VyY2UgQWR2b2NhdGU8 YnI+QXV0aG9yIG9mIFNlYW0gQ2F0Y2ggLSBOZXh0IEdlbmVyYXRpb24gSmF2YSBFeGNlcHRpb24g SGFuZGxpbmc8YnI+PGJyPlBHUCBrZXkgaWQ6IDkyNkNDRkY1PGJyPlBHUCBrZXkgYXZhaWxhYmxl IGF0OiA8YSBocmVmPSJodHRwOi8va2V5c2VydmVyLm5ldCIgdGFyZ2V0PSJfYmxhbmsiPmtleXNl cnZlci5uZXQ8L2E+LCA8YSBocmVmPSJodHRwOi8vcGdwLm1pdC5lZHUiIHRhcmdldD0iX2JsYW5r Ij5wZ3AubWl0LmVkdTwvYT48YnI+CgoKPC9kaXY+Cg== --===============4485325842077113986==-- From sbryzak at redhat.com Tue Sep 6 20:23:40 2011 Content-Type: multipart/mixed; boundary="===============6981860793306884099==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: [seam-dev] DWG Meeting minutes Date: Wed, 07 Sep 2011 10:23:38 +1000 Message-ID: <4E66B98A.5020303@redhat.com> --===============6981860793306884099== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable People present: Jason Porter Ken Finnigan Shane Bryzak 1) Standardised error codes We discussed the idea of implementing standard error codes throughout = all Seam modules. These error codes would be unique, and allow Seam = developers to reference a central database (such as Seam University) = describing each error and possible workarounds. The error codes = themselves will be prefixed with a 2 or 3 letter code (that represents = the module), followed by a number. For example: [SEC-1234] Invalid credentials supplied The SEC prefix represents an exception in the Seam Security module. = Other modules would have different codes, for example CAT =3D Seam Catch, = VAL =3D Seam Validation, SVL =3D Seam Servlet, and so forth. The number = part of the error code will start at 0000 for each module. The error = message itself should support internationalisation, which will be a = bonus to our non-english speaking users. Each module will define its = own internationalised message resources. Ken is going to work on = creating a new API in Solder which we can use to perform the logging of = these errors. 2) Inter-module dependencies The second topic we discussed was how we manage dependencies between = modules. It was agreed that wherever possible, dependencies should be = optional. An example of this is the dependency that seam-faces has on = seam-catch. In some cases it may be necessary for a module to have a = hard dependency on another module, however if this becomes an issue in = the future we may look at alternatives such as creating sub-modules that = separate the integration from the rest of the module. If anyone has any questions, feel free to ask. We will be holding the = DWG meeting in TeamSpeak once per month, on the first tuesday of the = month - details can be found in the seam-dev calendar. Thanks, Shane --===============6981860793306884099==-- From lincolnbaxter at gmail.com Wed Sep 7 00:03:05 2011 Content-Type: multipart/mixed; boundary="===============1867444275458711783==" MIME-Version: 1.0 From: Lincoln Baxter, III To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] DWG Meeting minutes Date: Wed, 07 Sep 2011 00:03:03 -0400 Message-ID: In-Reply-To: 4E66B98A.5020303@redhat.com --===============1867444275458711783== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sorry I missed this, guys. I ended up getting stuck in traffic on my way to Albany :( -- Lincoln Baxter's Droid http://ocpsoft.com "Keep it Simple" On Sep 6, 2011 8:26 PM, "Shane Bryzak" wrote: > People present: > > Jason Porter > Ken Finnigan > Shane Bryzak > > 1) Standardised error codes > > We discussed the idea of implementing standard error codes throughout > all Seam modules. These error codes would be unique, and allow Seam > developers to reference a central database (such as Seam University) > describing each error and possible workarounds. The error codes > themselves will be prefixed with a 2 or 3 letter code (that represents > the module), followed by a number. For example: > > [SEC-1234] Invalid credentials supplied > > The SEC prefix represents an exception in the Seam Security module. > Other modules would have different codes, for example CAT =3D Seam Catch, > VAL =3D Seam Validation, SVL =3D Seam Servlet, and so forth. The number > part of the error code will start at 0000 for each module. The error > message itself should support internationalisation, which will be a > bonus to our non-english speaking users. Each module will define its > own internationalised message resources. Ken is going to work on > creating a new API in Solder which we can use to perform the logging of > these errors. > > 2) Inter-module dependencies > > The second topic we discussed was how we manage dependencies between > modules. It was agreed that wherever possible, dependencies should be > optional. An example of this is the dependency that seam-faces has on > seam-catch. In some cases it may be necessary for a module to have a > hard dependency on another module, however if this becomes an issue in > the future we may look at alternatives such as creating sub-modules that > separate the integration from the rest of the module. > > If anyone has any questions, feel free to ask. We will be holding the > DWG meeting in TeamSpeak once per month, on the first tuesday of the > month - details can be found in the seam-dev calendar. > > Thanks, > Shane > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============1867444275458711783== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PHA+U29ycnkgSSBtaXNzZWQgdGhpcywgZ3V5cy4gSSBlbmRlZCB1cCBnZXR0aW5nIHN0dWNrIGlu IHRyYWZmaWMgb24gbXkgd2F5IHRvIEFsYmFueSA6KCA8L3A+CjxwPi0tPGJyPgpMaW5jb2xuIEJh eHRlciYjMzk7cyBEcm9pZDxicj4KPGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIj5odHRwOi8v b2Nwc29mdC5jb208L2E+PGJyPgomcXVvdDtLZWVwIGl0IFNpbXBsZSZxdW90OzwvcD4KPGRpdiBj bGFzcz0iZ21haWxfcXVvdGUiPk9uIFNlcCA2LCAyMDExIDg6MjYgUE0sICZxdW90O1NoYW5lIEJy eXphayZxdW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSI+c2JyeXph a0ByZWRoYXQuY29tPC9hPiZndDsgd3JvdGU6PGJyIHR5cGU9ImF0dHJpYnV0aW9uIj4mZ3Q7IFBl b3BsZSBwcmVzZW50Ojxicj4mZ3Q7IDxicj4mZ3Q7ICAgIEphc29uIFBvcnRlcjxicj4KJmd0OyAg ICBLZW4gRmlubmlnYW48YnI+Jmd0OyAgICBTaGFuZSBCcnl6YWs8YnI+Jmd0OyA8YnI+Jmd0OyAx KSBTdGFuZGFyZGlzZWQgZXJyb3IgY29kZXM8YnI+Jmd0OyA8YnI+Jmd0OyBXZSBkaXNjdXNzZWQg dGhlIGlkZWEgb2YgaW1wbGVtZW50aW5nIHN0YW5kYXJkIGVycm9yIGNvZGVzIHRocm91Z2hvdXQg PGJyPiZndDsgYWxsIFNlYW0gbW9kdWxlcy4gIFRoZXNlIGVycm9yIGNvZGVzIHdvdWxkIGJlIHVu aXF1ZSwgYW5kIGFsbG93IFNlYW0gPGJyPgomZ3Q7IGRldmVsb3BlcnMgdG8gcmVmZXJlbmNlIGEg Y2VudHJhbCBkYXRhYmFzZSAoc3VjaCBhcyBTZWFtIFVuaXZlcnNpdHkpIDxicj4mZ3Q7IGRlc2Ny aWJpbmcgZWFjaCBlcnJvciBhbmQgcG9zc2libGUgd29ya2Fyb3VuZHMuICBUaGUgZXJyb3IgY29k ZXMgPGJyPiZndDsgdGhlbXNlbHZlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGggYSAyIG9yIDMgbGV0 dGVyIGNvZGUgKHRoYXQgcmVwcmVzZW50cyA8YnI+CiZndDsgdGhlIG1vZHVsZSksIGZvbGxvd2Vk IGJ5IGEgbnVtYmVyLiAgRm9yIGV4YW1wbGU6PGJyPiZndDsgPGJyPiZndDsgW1NFQy0xMjM0XSBJ bnZhbGlkIGNyZWRlbnRpYWxzIHN1cHBsaWVkPGJyPiZndDsgPGJyPiZndDsgVGhlIFNFQyBwcmVm aXggcmVwcmVzZW50cyBhbiBleGNlcHRpb24gaW4gdGhlIFNlYW0gU2VjdXJpdHkgbW9kdWxlLiAg PGJyPiZndDsgT3RoZXIgbW9kdWxlcyB3b3VsZCBoYXZlIGRpZmZlcmVudCBjb2RlcywgZm9yIGV4 YW1wbGUgQ0FUID0gU2VhbSBDYXRjaCwgPGJyPgomZ3Q7IFZBTCA9IFNlYW0gVmFsaWRhdGlvbiwg U1ZMID0gU2VhbSBTZXJ2bGV0LCBhbmQgc28gZm9ydGguICBUaGUgbnVtYmVyIDxicj4mZ3Q7IHBh cnQgb2YgdGhlIGVycm9yIGNvZGUgd2lsbCBzdGFydCBhdCAwMDAwIGZvciBlYWNoIG1vZHVsZS4g IFRoZSBlcnJvciA8YnI+Jmd0OyBtZXNzYWdlIGl0c2VsZiBzaG91bGQgc3VwcG9ydCBpbnRlcm5h dGlvbmFsaXNhdGlvbiwgd2hpY2ggd2lsbCBiZSBhIDxicj4KJmd0OyBib251cyB0byBvdXIgbm9u LWVuZ2xpc2ggc3BlYWtpbmcgdXNlcnMuICBFYWNoIG1vZHVsZSB3aWxsIGRlZmluZSBpdHMgPGJy PiZndDsgb3duIGludGVybmF0aW9uYWxpc2VkIG1lc3NhZ2UgcmVzb3VyY2VzLiAgS2VuIGlzIGdv aW5nIHRvIHdvcmsgb24gPGJyPiZndDsgY3JlYXRpbmcgYSBuZXcgQVBJIGluIFNvbGRlciB3aGlj aCB3ZSBjYW4gdXNlIHRvIHBlcmZvcm0gdGhlIGxvZ2dpbmcgb2YgPGJyPgomZ3Q7IHRoZXNlIGVy cm9ycy48YnI+Jmd0OyA8YnI+Jmd0OyAyKSBJbnRlci1tb2R1bGUgZGVwZW5kZW5jaWVzPGJyPiZn dDsgPGJyPiZndDsgVGhlIHNlY29uZCB0b3BpYyB3ZSBkaXNjdXNzZWQgd2FzIGhvdyB3ZSBtYW5h Z2UgZGVwZW5kZW5jaWVzIGJldHdlZW4gPGJyPiZndDsgbW9kdWxlcy4gIEl0IHdhcyBhZ3JlZWQg dGhhdCB3aGVyZXZlciBwb3NzaWJsZSwgZGVwZW5kZW5jaWVzIHNob3VsZCBiZSA8YnI+CiZndDsg b3B0aW9uYWwuICBBbiBleGFtcGxlIG9mIHRoaXMgaXMgdGhlIGRlcGVuZGVuY3kgdGhhdCBzZWFt LWZhY2VzIGhhcyBvbiA8YnI+Jmd0OyBzZWFtLWNhdGNoLiAgSW4gc29tZSBjYXNlcyBpdCBtYXkg YmUgbmVjZXNzYXJ5IGZvciBhIG1vZHVsZSB0byBoYXZlIGEgPGJyPiZndDsgaGFyZCBkZXBlbmRl bmN5IG9uIGFub3RoZXIgbW9kdWxlLCBob3dldmVyIGlmIHRoaXMgYmVjb21lcyBhbiBpc3N1ZSBp biA8YnI+CiZndDsgdGhlIGZ1dHVyZSB3ZSBtYXkgbG9vayBhdCBhbHRlcm5hdGl2ZXMgc3VjaCBh cyBjcmVhdGluZyBzdWItbW9kdWxlcyB0aGF0IDxicj4mZ3Q7IHNlcGFyYXRlIHRoZSBpbnRlZ3Jh dGlvbiBmcm9tIHRoZSByZXN0IG9mIHRoZSBtb2R1bGUuPGJyPiZndDsgPGJyPiZndDsgSWYgYW55 b25lIGhhcyBhbnkgcXVlc3Rpb25zLCBmZWVsIGZyZWUgdG8gYXNrLiAgV2Ugd2lsbCBiZSBob2xk aW5nIHRoZSA8YnI+CiZndDsgRFdHIG1lZXRpbmcgaW4gVGVhbVNwZWFrIG9uY2UgcGVyIG1vbnRo LCBvbiB0aGUgZmlyc3QgdHVlc2RheSBvZiB0aGUgPGJyPiZndDsgbW9udGggLSBkZXRhaWxzIGNh biBiZSBmb3VuZCBpbiB0aGUgc2VhbS1kZXYgY2FsZW5kYXIuPGJyPiZndDsgPGJyPiZndDsgVGhh bmtzLDxicj4mZ3Q7IFNoYW5lPGJyPiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+CiZndDsgc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPiZndDsg PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMu amJvc3Mub3JnPC9hPjxicj4mZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21h aWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4v bGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8L2Rpdj4K --===============1867444275458711783==-- From max.andersen at redhat.com Wed Sep 7 02:11:00 2011 Content-Type: multipart/mixed; boundary="===============3933989539720928511==" MIME-Version: 1.0 From: Max Rydahl Andersen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] DWG Meeting minutes Date: Wed, 07 Sep 2011 08:10:56 +0200 Message-ID: In-Reply-To: 4E66B98A.5020303@redhat.com --===============3933989539720928511== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > 1) Standardised error codes > = > We discussed the idea of implementing standard error codes throughout = > all Seam modules. These error codes would be unique, and allow Seam = > developers to reference a central database (such as Seam University) = > describing each error and possible workarounds. The error codes = > themselves will be prefixed with a 2 or 3 letter code (that represents = > the module), followed by a number. For example: > = > [SEC-1234] Invalid credentials supplied > = > The SEC prefix represents an exception in the Seam Security module. = > Other modules would have different codes, for example CAT =3D Seam Catch, = > VAL =3D Seam Validation, SVL =3D Seam Servlet, and so forth. The number = > part of the error code will start at 0000 for each module. The error = > message itself should support internationalisation, which will be a = > bonus to our non-english speaking users. Each module will define its = > own internationalised message resources. Ken is going to work on = > creating a new API in Solder which we can use to perform the logging of = > these errors. How does this relate to http://community.jboss.org/wiki/HowToLogInJBossProj= ects ? I assume this is just the same and you'll need to go grab those prefixes ? btw. what is DWG ? :) /max http://about.me/maxandersen --===============3933989539720928511==-- From max.andersen at redhat.com Wed Sep 7 02:12:00 2011 Content-Type: multipart/mixed; boundary="===============3425771323149661745==" MIME-Version: 1.0 From: Max Rydahl Andersen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] DWG Meeting minutes Date: Wed, 07 Sep 2011 08:11:59 +0200 Message-ID: <47644475-7D1D-49EA-B3A0-4BD7F55EB0AF@redhat.com> In-Reply-To: A7824DDE-BC51-4550-9375-C06D352AD3E5@redhat.com --===============3425771323149661745== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > btw. what is DWG ? :) Design Working Group - got it ;) /max http://about.me/maxandersen --===============3425771323149661745==-- From sbryzak at redhat.com Wed Sep 7 02:22:02 2011 Content-Type: multipart/mixed; boundary="===============8048942867687591244==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] DWG Meeting minutes Date: Wed, 07 Sep 2011 16:21:59 +1000 Message-ID: <4E670D87.3030300@redhat.com> In-Reply-To: A7824DDE-BC51-4550-9375-C06D352AD3E5@redhat.com --===============8048942867687591244== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 07/09/11 16:10, Max Rydahl Andersen wrote: >> 1) Standardised error codes >> >> We discussed the idea of implementing standard error codes throughout >> all Seam modules. These error codes would be unique, and allow Seam >> developers to reference a central database (such as Seam University) >> describing each error and possible workarounds. The error codes >> themselves will be prefixed with a 2 or 3 letter code (that represents >> the module), followed by a number. For example: >> >> [SEC-1234] Invalid credentials supplied >> >> The SEC prefix represents an exception in the Seam Security module. >> Other modules would have different codes, for example CAT =3D Seam Catch, >> VAL =3D Seam Validation, SVL =3D Seam Servlet, and so forth. The number >> part of the error code will start at 0000 for each module. The error >> message itself should support internationalisation, which will be a >> bonus to our non-english speaking users. Each module will define its >> own internationalised message resources. Ken is going to work on >> creating a new API in Solder which we can use to perform the logging of >> these errors. > How does this relate to http://community.jboss.org/wiki/HowToLogInJBossPr= ojects ? > > I assume this is just the same and you'll need to go grab those prefixes ? > > btw. what is DWG ? :) > > /max > http://about.me/maxandersen > > > Hmm, I wasn't aware of that document. I guess that we register SM as = the Seam Event ID prefix, and then append the module code onto that. So = SMSEC for Seam Security, SMSLD for Solder, etc. --===============8048942867687591244==-- From ken at kenfinnigan.me Wed Sep 7 15:51:48 2011 Content-Type: multipart/mixed; boundary="===============1872288873730214954==" MIME-Version: 1.0 From: Ken Finnigan To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-07 Date: Wed, 07 Sep 2011 15:51:47 -0400 Message-ID: In-Reply-To: CAF9TksPm=+v3aX5kTtgY+ZJjoAONY0tY7Yce1QqJJ=UtjORjnQ@mail.gmail.com --===============1872288873730214954== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Unfortunately I won't be able to make the seam-dev meeting today, I'm blaming it on the newborn! ;-) To briefly mention the below agenda item regarding the testsuite, we've found out that the best solution is to use the unpack plugin for Maven as part of the build process to take the tests from the base module and add them into the test-classes of a container specific module so that Surefire will pick them up for testing. The major problem was always the IDE. I think Jason has discovered a solution for IDEA, and I found one for Eclipse. The Eclipse solution is within the container specific module for the testsuite to "link source" for that project and link to the src/main/java and src/main/resources of the base project module. Doing this enables you to execute a single test, or all the tests in the module, against the specific container of that module. Another added bonus is that editing the test classes that have been linked modifies them within the base module src path, ensuring that changes are not lost and are committed to where they need to be. The one downside to the above approach for Eclipse is that running Maven -> Update Project Configuration removes the source linkages that have been added within the IDE. I haven't had a chance to investigate this yet, but I'm hoping it's possible to script the link source commands so that we can provide those scripts with the modules to make it easy to add them back. Any questions or concerns please drop me a mail. If there's anything from the meeting that I need to look at please let me know. Ken On Tue, Sep 6, 2011 at 4:03 PM, Jason Porter wro= te: > Agenda > > - Follow-up from the last meeting (10 min) > - Cloudbees > - Docs > - Mail Tests > - Hack Night: Faces (10 min) > - Next Seam 3 release (15 min) > - I believe the next one is CR1 > - Discuss moving to the testing structure (Ken and I believe we have > the bugs ironed out) > - Next week's meeting (5 min) > - All Seam devs will be having a meeting, may hold off > > > -- > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > --===============1872288873730214954== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" VW5mb3J0dW5hdGVseSBJIHdvbiYjMzk7dCBiZSBhYmxlIHRvIG1ha2UgdGhlIHNlYW0tZGV2IG1l ZXRpbmcgdG9kYXksIEkmIzM5O20gYmxhbWluZyBpdCBvbiB0aGUgbmV3Ym9ybiEgOy0pPGJyPjxi cj5UbyBicmllZmx5IG1lbnRpb24gdGhlIGJlbG93IGFnZW5kYSBpdGVtIHJlZ2FyZGluZyB0aGUg dGVzdHN1aXRlLCB3ZSYjMzk7dmUgZm91bmQgb3V0IHRoYXQgdGhlIGJlc3Qgc29sdXRpb24gaXMg dG8gdXNlIHRoZSB1bnBhY2sgcGx1Z2luIGZvciBNYXZlbiBhcyBwYXJ0IG9mIHRoZSBidWlsZCBw cm9jZXNzIHRvIHRha2UgdGhlIHRlc3RzIGZyb20gdGhlIGJhc2UgbW9kdWxlIGFuZCBhZGQgdGhl bSBpbnRvIHRoZSB0ZXN0LWNsYXNzZXMgb2YgYSBjb250YWluZXIgc3BlY2lmaWMgbW9kdWxlIHNv IHRoYXQgU3VyZWZpcmUgd2lsbCBwaWNrIHRoZW0gdXAgZm9yIHRlc3RpbmcuPGJyPgo8YnI+VGhl IG1ham9yIHByb2JsZW0gd2FzIGFsd2F5cyB0aGUgSURFLqAgSSB0aGluayBKYXNvbiBoYXMgZGlz Y292ZXJlZCBhIHNvbHV0aW9uIGZvciBJREVBLCBhbmQgSSBmb3VuZCBvbmUgZm9yIEVjbGlwc2Uu oCBUaGUgRWNsaXBzZSBzb2x1dGlvbiBpcyB3aXRoaW4gdGhlIGNvbnRhaW5lciBzcGVjaWZpYyBt b2R1bGUgZm9yIHRoZSB0ZXN0c3VpdGUgdG8gJnF1b3Q7bGluayBzb3VyY2UmcXVvdDsgZm9yIHRo YXQgcHJvamVjdCBhbmQgbGluayB0byB0aGUgc3JjL21haW4vamF2YSBhbmQgc3JjL21haW4vcmVz b3VyY2VzIG9mIHRoZSBiYXNlIHByb2plY3QgbW9kdWxlLqAgRG9pbmcgdGhpcyBlbmFibGVzIHlv dSB0byBleGVjdXRlIGEgc2luZ2xlIHRlc3QsIG9yIGFsbCB0aGUgdGVzdHMgaW4gdGhlIG1vZHVs ZSwgYWdhaW5zdCB0aGUgc3BlY2lmaWMgY29udGFpbmVyIG9mIHRoYXQgbW9kdWxlLqAgQW5vdGhl ciBhZGRlZCBib251cyBpcyB0aGF0IGVkaXRpbmcgdGhlIHRlc3QgY2xhc3NlcyB0aGF0IGhhdmUg YmVlbiBsaW5rZWQgbW9kaWZpZXMgdGhlbSB3aXRoaW4gdGhlIGJhc2UgbW9kdWxlIHNyYyBwYXRo LCBlbnN1cmluZyB0aGF0IGNoYW5nZXMgYXJlIG5vdCBsb3N0IGFuZCBhcmUgY29tbWl0dGVkIHRv IHdoZXJlIHRoZXkgbmVlZCB0byBiZS48YnI+Cjxicj5UaGUgb25lIGRvd25zaWRlIHRvIHRoZSBh Ym92ZSBhcHByb2FjaCBmb3IgRWNsaXBzZSBpcyB0aGF0IHJ1bm5pbmcgTWF2ZW4gLSZndDsgVXBk YXRlIFByb2plY3QgQ29uZmlndXJhdGlvbiByZW1vdmVzIHRoZSBzb3VyY2UgbGlua2FnZXMgdGhh dCBoYXZlIGJlZW4gYWRkZWQgd2l0aGluIHRoZSBJREUuoCBJIGhhdmVuJiMzOTt0IGhhZCBhIGNo YW5jZSB0byBpbnZlc3RpZ2F0ZSB0aGlzIHlldCwgYnV0IEkmIzM5O20gaG9waW5nIGl0JiMzOTtz IHBvc3NpYmxlIHRvIHNjcmlwdCB0aGUgbGluayBzb3VyY2UgY29tbWFuZHMgc28gdGhhdCB3ZSBj YW4gcHJvdmlkZSB0aG9zZSBzY3JpcHRzIHdpdGggdGhlIG1vZHVsZXMgdG8gbWFrZSBpdCBlYXN5 IHRvIGFkZCB0aGVtIGJhY2suPGJyPgo8YnI+QW55IHF1ZXN0aW9ucyBvciBjb25jZXJucyBwbGVh c2UgZHJvcCBtZSBhIG1haWwuPGJyPjxicj5JZiB0aGVyZSYjMzk7cyBhbnl0aGluZyBmcm9tIHRo ZSBtZWV0aW5nIHRoYXQgSSBuZWVkIHRvIGxvb2sgYXQgcGxlYXNlIGxldCBtZSBrbm93Ljxicj48 YnI+S2VuPGJyPjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2VwIDYs IDIwMTEgYXQgNDowMyBQTSwgSmFzb24gUG9ydGVyIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJl Zj0ibWFpbHRvOmxpZ2h0Z3VhcmQuanBAZ21haWwuY29tIj5saWdodGd1YXJkLmpwQGdtYWlsLmNv bTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh ZGRpbmctbGVmdDoxZXg7Ij5BZ2VuZGE8ZGl2Pjx1bD48bGk+Rm9sbG93LXVwIGZyb20gdGhlIGxh c3QgbWVldGluZyAoMTAgbWluKTwvbGk+PHVsPjxsaT5DbG91ZGJlZXM8L2xpPjxsaT5Eb2NzPC9s aT48bGk+TWFpbCBUZXN0czwvbGk+CjwvdWw+PGxpPkhhY2sgTmlnaHQ6IEZhY2VzICgxMCBtaW4p PC9saT48bGk+TmV4dCBTZWFtIDMgcmVsZWFzZSAoMTUgbWluKTwvbGk+PHVsPjxsaT5JIGJlbGll dmUgdGhlIG5leHQgb25lIGlzIENSMTwvbGk+Cgo8bGk+RGlzY3VzcyBtb3ZpbmcgdG8gdGhlIHRl c3Rpbmcgc3RydWN0dXJlIChLZW4gYW5kIEkgYmVsaWV2ZSB3ZSBoYXZlIHRoZSBidWdzIGlyb25l ZCBvdXQpPC9saT48L3VsPjxsaT5OZXh0IHdlZWsmIzM5O3MgbWVldGluZyAoNSBtaW4pPC9saT48 dWw+PGxpPkFsbCBTZWFtIGRldnMgd2lsbCBiZSBoYXZpbmcgYSBtZWV0aW5nLCBtYXkgaG9sZCBv ZmY8L2xpPjwvdWw+PC91bD48ZGl2PgoKCjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVyPGJy PjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0 cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly90d2l0 dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPgoKCjxicj5Tb2Z0d2FyZSBFbmdpbmVlcjxicj5P cGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2YgU2VhbSBDYXRjaCAtIE5leHQgR2VuZXJh dGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48YnI+UEdQIGtleSBpZDogOTI2Q0NGRjU8 YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0IiB0 YXJnZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9wZ3AubWl0 LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1PC9hPjxicj4KCgoKPC9kaXY+Cjxicj5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4Kc2VhbS1k ZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mu b3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+ aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+ Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPgo= --===============1872288873730214954==-- From lightguard.jp at gmail.com Wed Sep 7 17:59:28 2011 Content-Type: multipart/mixed; boundary="===============1224781256796268806==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-07 Date: Wed, 07 Sep 2011 15:58:58 -0600 Message-ID: In-Reply-To: CAF9TksPm=+v3aX5kTtgY+ZJjoAONY0tY7Yce1QqJJ=UtjORjnQ@mail.gmail.com --===============1224781256796268806== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D #seam-dev Meeting =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Meeting started by lightguard_jp at 21:10:43 UTC. The full logs are available athttp://transcripts.jboss.org/meeting/irc.freenode.org/seam-dev/= 2011/seam-dev.2011-09-07-21.10.log.html . Meeting summary --------------- * Follow up from the last meeting (lightguard_jp, 21:10:58) * I've opened a ticket to upgrade our account to FOSS Professional, however, it seems we're waiting for them to fix something on their end so we can do it ourselves (lightguard_jp, 21:11:30) * I haven't been able to the Report docs (lightguard_jp, 21:11:48) * I think JMS had some doc issues too. (lightguard_jp, 21:11:57) * sbryzak was going to help out with the mail tests, I think that's been figured out. (lightguard_jp, 21:19:43) * ACTION: lightguard_jp Still needs to create the Report docs (lightguard_jp, 21:20:35) * ACTION: sbryzak will continue to help with mail tests (lightguard_jp, 21:20:56) * Giving module leads "voice" in the channel. (lightguard_jp, 21:22:18) * ACTION: lightguard_jp and mojavelinux will give "initative leads" auto voice in the channel. (lightguard_jp, 21:26:01) * Next Hack Night (lightguard_jp, 21:26:14) * I have a list of JIRAs to look at (lightguard_jp, 21:26:53) * LINK: https://issues.jboss.org/secure/IssueNavigator.jspa?reset=3Dtrue&jqlQue= ry=3Dproject+%3D+SEAMFACES+AND+fixVersion+%3D+%223.1.0.Tracking%22+AND+stat= us+%3D+Open+ORDER+BY+priority+DESC&mode=3Dhide (lightguard_jp, 21:27:24) * the hack nights are in the jboss.org calendar and also in the seam-dev google calendar (lightguard_jp, 21:30:03) * Next Seam 3 release. (lightguard_jp, 21:30:25) * Keep an ear out next week for a date for CR1 (lightguard_jp, 21:37:00) * Next week's meeting (lightguard_jp, 21:49:09) * AGREED: Next week's meeting will be skipped (lightguard_jp, 21:50:11) Meeting ended at 21:56:38 UTC. Action Items ------------ * lightguard_jp Still needs to create the Report docs * sbryzak will continue to help with mail tests * lightguard_jp and mojavelinux will give "initative leads" auto voice in the channel. Action Items, by person ----------------------- * lightguard_jp * lightguard_jp Still needs to create the Report docs * lightguard_jp and mojavelinux will give "initative leads" auto voice in the channel. * mojavelinux * lightguard_jp and mojavelinux will give "initative leads" auto voice in the channel. * sbryzak * sbryzak will continue to help with mail tests * **UNASSIGNED** * (none) People Present (lines said) --------------------------- * lightguard_jp (83) * mojavelinux (53) * sbryzak (46) * lincolnthree (40) * clerum1 (9) * hannelita (9) * rruss (7) * jbott (2) Generated by `MeetBot`_ 0.1.4 .. _`MeetBot`: http://wiki.debian.org/MeetBot On Tue, Sep 6, 2011 at 14:03, Jason Porter wrot= e: > Agenda > > - Follow-up from the last meeting (10 min) > - Cloudbees > - Docs > - Mail Tests > - Hack Night: Faces (10 min) > - Next Seam 3 release (15 min) > - I believe the next one is CR1 > - Discuss moving to the testing structure (Ken and I believe we have > the bugs ironed out) > - Next week's meeting (5 min) > - All Seam devs will be having a meeting, may hold off > > > -- > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============1224781256796268806== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJmb250LWZhbWlseTogJiMzOTtU aW1lcyBOZXcgUm9tYW4mIzM5OzsgZm9udC1zaXplOiBtZWRpdW07ICI+PHByZSBzdHlsZT0id29y ZC13cmFwOiBicmVhay13b3JkOyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7ICI+PT09PT09PT09PT09 PT09PT0KI3NlYW0tZGV2IE1lZXRpbmcKPT09PT09PT09PT09PT09PT0KCgpNZWV0aW5nIHN0YXJ0 ZWQgYnkgbGlnaHRndWFyZF9qcCBhdCAyMToxMDo0MyBVVEMuIFRoZSBmdWxsIGxvZ3MgYXJlCmF2 YWlsYWJsZSBhdAo8YSBocmVmPSJodHRwOi8vdHJhbnNjcmlwdHMuamJvc3Mub3JnL21lZXRpbmcv aXJjLmZyZWVub2RlLm9yZy9zZWFtLWRldi8yMDExL3NlYW0tZGV2LjIwMTEtMDktMDctMjEuMTAu bG9nLmh0bWwiPmh0dHA6Ly90cmFuc2NyaXB0cy5qYm9zcy5vcmcvbWVldGluZy9pcmMuZnJlZW5v ZGUub3JnL3NlYW0tZGV2LzIwMTEvc2VhbS1kZXYuMjAxMS0wOS0wNy0yMS4xMC5sb2cuaHRtbDwv YT4KLgoKCgpNZWV0aW5nIHN1bW1hcnkKLS0tLS0tLS0tLS0tLS0tCiogRm9sbG93IHVwIGZyb20g dGhlIGxhc3QgbWVldGluZyAgKGxpZ2h0Z3VhcmRfanAsIDIxOjEwOjU4KQogICogSSYjMzk7dmUg b3BlbmVkIGEgdGlja2V0IHRvIHVwZ3JhZGUgb3VyIGFjY291bnQgdG8gRk9TUyBQcm9mZXNzaW9u YWwsCiAgICBob3dldmVyLCBpdCBzZWVtcyB3ZSYjMzk7cmUgd2FpdGluZyBmb3IgdGhlbSB0byBm aXggc29tZXRoaW5nIG9uIHRoZWlyCiAgICBlbmQgc28gd2UgY2FuIGRvIGl0IG91cnNlbHZlcyAg KGxpZ2h0Z3VhcmRfanAsIDIxOjExOjMwKQogICogSSBoYXZlbiYjMzk7dCBiZWVuIGFibGUgdG8g dGhlIFJlcG9ydCBkb2NzICAobGlnaHRndWFyZF9qcCwgMjE6MTE6NDgpCiAgKiBJIHRoaW5rIEpN UyBoYWQgc29tZSBkb2MgaXNzdWVzIHRvby4gIChsaWdodGd1YXJkX2pwLCAyMToxMTo1NykKICAq IHNicnl6YWsgd2FzIGdvaW5nIHRvIGhlbHAgb3V0IHdpdGggdGhlIG1haWwgdGVzdHMsIEkgdGhp bmsgdGhhdCYjMzk7cwogICAgYmVlbiBmaWd1cmVkIG91dC4gIChsaWdodGd1YXJkX2pwLCAyMTox OTo0MykKICAqIEFDVElPTjogbGlnaHRndWFyZF9qcCBTdGlsbCBuZWVkcyB0byBjcmVhdGUgdGhl IFJlcG9ydCBkb2NzCiAgICAobGlnaHRndWFyZF9qcCwgMjE6MjA6MzUpCiAgKiBBQ1RJT046IHNi cnl6YWsgd2lsbCBjb250aW51ZSB0byBoZWxwIHdpdGggbWFpbCB0ZXN0cwogICAgKGxpZ2h0Z3Vh cmRfanAsIDIxOjIwOjU2KQoKKiBHaXZpbmcgbW9kdWxlIGxlYWRzICZxdW90O3ZvaWNlJnF1b3Q7 IGluIHRoZSBjaGFubmVsLiAgKGxpZ2h0Z3VhcmRfanAsIDIxOjIyOjE4KQogICogQUNUSU9OOiBs aWdodGd1YXJkX2pwIGFuZCBtb2phdmVsaW51eCB3aWxsIGdpdmUgJnF1b3Q7aW5pdGF0aXZlIGxl YWRzJnF1b3Q7CiAgICBhdXRvIHZvaWNlIGluIHRoZSBjaGFubmVsLiAgKGxpZ2h0Z3VhcmRfanAs IDIxOjI2OjAxKQoKKiBOZXh0IEhhY2sgTmlnaHQgIChsaWdodGd1YXJkX2pwLCAyMToyNjoxNCkK ICAqIEkgaGF2ZSBhIGxpc3Qgb2YgSklSQXMgdG8gbG9vayBhdCAgKGxpZ2h0Z3VhcmRfanAsIDIx OjI2OjUzKQogICogTElOSzoKICAgIDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLmpib3NzLm9yZy9z ZWN1cmUvSXNzdWVOYXZpZ2F0b3IuanNwYT9yZXNldD10cnVlJmFtcDtqcWxRdWVyeT1wcm9qZWN0 KyUzRCtTRUFNRkFDRVMrQU5EK2ZpeFZlcnNpb24rJTNEKyUyMjMuMS4wLlRyYWNraW5nJTIyK0FO RCtzdGF0dXMrJTNEK09wZW4rT1JERVIrQlkrcHJpb3JpdHkrREVTQyZhbXA7bW9kZT1oaWRlIj5o dHRwczovL2lzc3Vlcy5qYm9zcy5vcmcvc2VjdXJlL0lzc3VlTmF2aWdhdG9yLmpzcGE/cmVzZXQ9 dHJ1ZSZhbXA7anFsUXVlcnk9cHJvamVjdCslM0QrU0VBTUZBQ0VTK0FORCtmaXhWZXJzaW9uKyUz RCslMjIzLjEuMC5UcmFja2luZyUyMitBTkQrc3RhdHVzKyUzRCtPcGVuK09SREVSK0JZK3ByaW9y aXR5K0RFU0MmYW1wO21vZGU9aGlkZTwvYT4KICAgIChsaWdodGd1YXJkX2pwLCAyMToyNzoyNCkK ICAqIHRoZSBoYWNrIG5pZ2h0cyBhcmUgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9qYm9zcy5vcmci Pmpib3NzLm9yZzwvYT4gY2FsZW5kYXIgYW5kIGFsc28gaW4gdGhlCiAgICBzZWFtLWRldiBnb29n bGUgY2FsZW5kYXIgIChsaWdodGd1YXJkX2pwLCAyMTozMDowMykKCiogTmV4dCBTZWFtIDMgcmVs ZWFzZS4gIChsaWdodGd1YXJkX2pwLCAyMTozMDoyNSkKICAqIEtlZXAgYW4gZWFyIG91dCBuZXh0 IHdlZWsgZm9yIGEgZGF0ZSBmb3IgQ1IxICAobGlnaHRndWFyZF9qcCwKICAgIDIxOjM3OjAwKQoK KiBOZXh0IHdlZWsmIzM5O3MgbWVldGluZyAgKGxpZ2h0Z3VhcmRfanAsIDIxOjQ5OjA5KQogICog QUdSRUVEOiBOZXh0IHdlZWsmIzM5O3MgbWVldGluZyB3aWxsIGJlIHNraXBwZWQgIChsaWdodGd1 YXJkX2pwLAogICAgMjE6NTA6MTEpCgpNZWV0aW5nIGVuZGVkIGF0IDIxOjU2OjM4IFVUQy4KCgoK CkFjdGlvbiBJdGVtcwotLS0tLS0tLS0tLS0KKiBsaWdodGd1YXJkX2pwIFN0aWxsIG5lZWRzIHRv IGNyZWF0ZSB0aGUgUmVwb3J0IGRvY3MKKiBzYnJ5emFrIHdpbGwgY29udGludWUgdG8gaGVscCB3 aXRoIG1haWwgdGVzdHMKKiBsaWdodGd1YXJkX2pwIGFuZCBtb2phdmVsaW51eCB3aWxsIGdpdmUg JnF1b3Q7aW5pdGF0aXZlIGxlYWRzJnF1b3Q7IGF1dG8gdm9pY2UKICBpbiB0aGUgY2hhbm5lbC4K CgoKCkFjdGlvbiBJdGVtcywgYnkgcGVyc29uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogbGln aHRndWFyZF9qcAogICogbGlnaHRndWFyZF9qcCBTdGlsbCBuZWVkcyB0byBjcmVhdGUgdGhlIFJl cG9ydCBkb2NzCiAgKiBsaWdodGd1YXJkX2pwIGFuZCBtb2phdmVsaW51eCB3aWxsIGdpdmUgJnF1 b3Q7aW5pdGF0aXZlIGxlYWRzJnF1b3Q7IGF1dG8gdm9pY2UKICAgIGluIHRoZSBjaGFubmVsLgoq IG1vamF2ZWxpbnV4CiAgKiBsaWdodGd1YXJkX2pwIGFuZCBtb2phdmVsaW51eCB3aWxsIGdpdmUg JnF1b3Q7aW5pdGF0aXZlIGxlYWRzJnF1b3Q7IGF1dG8gdm9pY2UKICAgIGluIHRoZSBjaGFubmVs LgoqIHNicnl6YWsKICAqIHNicnl6YWsgd2lsbCBjb250aW51ZSB0byBoZWxwIHdpdGggbWFpbCB0 ZXN0cwoqICoqVU5BU1NJR05FRCoqCiAgKiAobm9uZSkKCgoKClBlb3BsZSBQcmVzZW50IChsaW5l cyBzYWlkKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKiBsaWdodGd1YXJkX2pwICg4MykK KiBtb2phdmVsaW51eCAoNTMpCiogc2JyeXphayAoNDYpCiogbGluY29sbnRocmVlICg0MCkKKiBj bGVydW0xICg5KQoqIGhhbm5lbGl0YSAoOSkKKiBycnVzcyAoNykKKiBqYm90dCAoMikKCgoKCkdl bmVyYXRlZCBieSBgTWVldEJvdGBfIDAuMS40CgouLiBfYE1lZXRCb3RgOiA8YSBocmVmPSJodHRw Oi8vd2lraS5kZWJpYW4ub3JnL01lZXRCb3QiPmh0dHA6Ly93aWtpLmRlYmlhbi5vcmcvTWVldEJv dDwvYT48L3ByZT48L3NwYW4+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUdWUsIFNl cCA2LCAyMDExIGF0IDE0OjAzLCBKYXNvbiBQb3J0ZXIgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBo cmVmPSJtYWlsdG86bGlnaHRndWFyZC5qcEBnbWFpbC5jb20iPmxpZ2h0Z3VhcmQuanBAZ21haWwu Y29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9x dW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlk O3BhZGRpbmctbGVmdDoxZXg7Ij5BZ2VuZGE8ZGl2Pjx1bD48bGk+Rm9sbG93LXVwIGZyb20gdGhl IGxhc3QgbWVldGluZyAoMTAgbWluKTwvbGk+PHVsPjxsaT5DbG91ZGJlZXM8L2xpPjxsaT5Eb2Nz PC9saT48bGk+TWFpbCBUZXN0czwvbGk+Cgo8L3VsPjxsaT5IYWNrIE5pZ2h0OiBGYWNlcyAoMTAg bWluKTwvbGk+PGxpPk5leHQgU2VhbSAzIHJlbGVhc2UgKDE1IG1pbik8L2xpPjx1bD48bGk+SSBi ZWxpZXZlIHRoZSBuZXh0IG9uZSBpcyBDUjE8L2xpPgo8bGk+RGlzY3VzcyBtb3ZpbmcgdG8gdGhl IHRlc3Rpbmcgc3RydWN0dXJlIChLZW4gYW5kIEkgYmVsaWV2ZSB3ZSBoYXZlIHRoZSBidWdzIGly b25lZCBvdXQpPC9saT48L3VsPjxsaT5OZXh0IHdlZWsmIzM5O3MgbWVldGluZyAoNSBtaW4pPC9s aT48dWw+PGxpPkFsbCBTZWFtIGRldnMgd2lsbCBiZSBoYXZpbmcgYSBtZWV0aW5nLCBtYXkgaG9s ZCBvZmY8L2xpPjwvdWw+PC91bD48ZGl2PgoKCjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVy PGJyPjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+PGEgaHJlZj0i aHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly90 d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPgoKCjxicj5Tb2Z0d2FyZSBFbmdpbmVlcjxi cj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2YgU2VhbSBDYXRjaCAtIE5leHQgR2Vu ZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48YnI+UEdQIGtleSBpZDogOTI2Q0NG RjU8YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0 IiB0YXJnZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9wZ3Au bWl0LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1PC9hPjxicj4KCgoKPC9kaXY+Cjwv YmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2Pi0tIDxi cj5KYXNvbiBQb3J0ZXI8YnI+PGEgaHJlZj0iaHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxvZ3Nwb3Qu Y29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxvZ3Nwb3QuY29tPC9h Pjxicj48YSBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcDwvYT48YnI+Cgo8YnI+U29mdHdh cmUgRW5naW5lZXI8YnI+T3BlbiBTb3VyY2UgQWR2b2NhdGU8YnI+QXV0aG9yIG9mIFNlYW0gQ2F0 Y2ggLSBOZXh0IEdlbmVyYXRpb24gSmF2YSBFeGNlcHRpb24gSGFuZGxpbmc8YnI+PGJyPlBHUCBr ZXkgaWQ6IDkyNkNDRkY1PGJyPlBHUCBrZXkgYXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8v a2V5c2VydmVyLm5ldCIgdGFyZ2V0PSJfYmxhbmsiPmtleXNlcnZlci5uZXQ8L2E+LCA8YSBocmVm PSJodHRwOi8vcGdwLm1pdC5lZHUiIHRhcmdldD0iX2JsYW5rIj5wZ3AubWl0LmVkdTwvYT48YnI+ CgoK --===============1224781256796268806==-- From dan.j.allen at gmail.com Wed Sep 7 18:11:55 2011 Content-Type: multipart/mixed; boundary="===============5913529349132965876==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-07 Date: Wed, 07 Sep 2011 18:11:24 -0400 Message-ID: In-Reply-To: CAKeeVe4vMmn9ao71O0KiMZxmoon2=pRkZLqN8NgmAyCq109Tow@mail.gmail.com --===============5913529349132965876== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thanks for the assessment of the test setup. I'm going to look it over, hopefully sitting down with Aslak at next weeks f2f and really exploring the problem in every way we can. I think we are close to the right solution, but I still want to consider some more options, even if it means modifications to Arquillian to make it work. -Dan On Wed, Sep 7, 2011 at 15:51, Ken Finnigan wrote: > Unfortunately I won't be able to make the seam-dev meeting today, I'm > blaming it on the newborn! ;-) > > To briefly mention the below agenda item regarding the testsuite, we've > found out that the best solution is to use the unpack plugin for Maven as > part of the build process to take the tests from the base module and add > them into the test-classes of a container specific module so that Surefire > will pick them up for testing. > > The major problem was always the IDE. I think Jason has discovered a > solution for IDEA, and I found one for Eclipse. The Eclipse solution is > within the container specific module for the testsuite to "link source" f= or > that project and link to the src/main/java and src/main/resources of the > base project module. Doing this enables you to execute a single test, or > all the tests in the module, against the specific container of that modul= e. > Another added bonus is that editing the test classes that have been linked > modifies them within the base module src path, ensuring that changes are = not > lost and are committed to where they need to be. > > The one downside to the above approach for Eclipse is that running Maven = -> > Update Project Configuration removes the source linkages that have been > added within the IDE. I haven't had a chance to investigate this yet, but > I'm hoping it's possible to script the link source commands so that we can > provide those scripts with the modules to make it easy to add them back. > > Any questions or concerns please drop me a mail. > > If there's anything from the meeting that I need to look at please let me > know. > > Ken > > > On Tue, Sep 6, 2011 at 4:03 PM, Jason Porter w= rote: > >> Agenda >> >> - Follow-up from the last meeting (10 min) >> - Cloudbees >> - Docs >> - Mail Tests >> - Hack Night: Faces (10 min) >> - Next Seam 3 release (15 min) >> - I believe the next one is CR1 >> - Discuss moving to the testing structure (Ken and I believe we >> have the bugs ironed out) >> - Next week's meeting (5 min) >> - All Seam devs will be having a meeting, may hold off >> >> >> -- >> Jason Porter >> http://lightguard-jp.blogspot.com >> http://twitter.com/lightguardjp >> >> Software Engineer >> Open Source Advocate >> Author of Seam Catch - Next Generation Java Exception Handling >> >> PGP key id: 926CCFF5 >> PGP key available at: keyserver.net, pgp.mit.edu >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============5913529349132965876== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" VGhhbmtzIGZvciB0aGUgYXNzZXNzbWVudCBvZiB0aGUgdGVzdCBzZXR1cC4gSSYjMzk7bSBnb2lu ZyB0byBsb29rIGl0IG92ZXIsIGhvcGVmdWxseSBzaXR0aW5nIGRvd24gd2l0aCBBc2xhayBhdCBu ZXh0IHdlZWtzIGYyZiBhbmQgcmVhbGx5IGV4cGxvcmluZyB0aGUgcHJvYmxlbSBpbiBldmVyeSB3 YXkgd2UgY2FuLiBJIHRoaW5rIHdlIGFyZSBjbG9zZSB0byB0aGUgcmlnaHQgc29sdXRpb24sIGJ1 dCBJIHN0aWxsIHdhbnQgdG8gY29uc2lkZXIgc29tZSBtb3JlIG9wdGlvbnMsIGV2ZW4gaWYgaXQg bWVhbnMgbW9kaWZpY2F0aW9ucyB0byBBcnF1aWxsaWFuIHRvIG1ha2UgaXQgd29yay48ZGl2PgoK PGJyPjwvZGl2PjxkaXY+LURhbjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFdl ZCwgU2VwIDcsIDIwMTEgYXQgMTU6NTEsIEtlbiBGaW5uaWdhbiA8c3BhbiBkaXI9Imx0ciI+Jmx0 OzxhIGhyZWY9Im1haWx0bzprZW5Aa2VuZmlubmlnYW4ubWUiPmtlbkBrZW5maW5uaWdhbi5tZTwv YT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBz dHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGlu Zy1sZWZ0OjFleDsiPgoKVW5mb3J0dW5hdGVseSBJIHdvbiYjMzk7dCBiZSBhYmxlIHRvIG1ha2Ug dGhlIHNlYW0tZGV2IG1lZXRpbmcgdG9kYXksIEkmIzM5O20gYmxhbWluZyBpdCBvbiB0aGUgbmV3 Ym9ybiEgOy0pPGJyPjxicj5UbyBicmllZmx5IG1lbnRpb24gdGhlIGJlbG93IGFnZW5kYSBpdGVt IHJlZ2FyZGluZyB0aGUgdGVzdHN1aXRlLCB3ZSYjMzk7dmUgZm91bmQgb3V0IHRoYXQgdGhlIGJl c3Qgc29sdXRpb24gaXMgdG8gdXNlIHRoZSB1bnBhY2sgcGx1Z2luIGZvciBNYXZlbiBhcyBwYXJ0 IG9mIHRoZSBidWlsZCBwcm9jZXNzIHRvIHRha2UgdGhlIHRlc3RzIGZyb20gdGhlIGJhc2UgbW9k dWxlIGFuZCBhZGQgdGhlbSBpbnRvIHRoZSB0ZXN0LWNsYXNzZXMgb2YgYSBjb250YWluZXIgc3Bl Y2lmaWMgbW9kdWxlIHNvIHRoYXQgU3VyZWZpcmUgd2lsbCBwaWNrIHRoZW0gdXAgZm9yIHRlc3Rp bmcuPGJyPgoKCjxicj5UaGUgbWFqb3IgcHJvYmxlbSB3YXMgYWx3YXlzIHRoZSBJREUuwqAgSSB0 aGluayBKYXNvbiBoYXMgZGlzY292ZXJlZCBhIHNvbHV0aW9uIGZvciBJREVBLCBhbmQgSSBmb3Vu ZCBvbmUgZm9yIEVjbGlwc2UuwqAgVGhlIEVjbGlwc2Ugc29sdXRpb24gaXMgd2l0aGluIHRoZSBj b250YWluZXIgc3BlY2lmaWMgbW9kdWxlIGZvciB0aGUgdGVzdHN1aXRlIHRvICZxdW90O2xpbmsg c291cmNlJnF1b3Q7IGZvciB0aGF0IHByb2plY3QgYW5kIGxpbmsgdG8gdGhlIHNyYy9tYWluL2ph dmEgYW5kIHNyYy9tYWluL3Jlc291cmNlcyBvZiB0aGUgYmFzZSBwcm9qZWN0IG1vZHVsZS7CoCBE b2luZyB0aGlzIGVuYWJsZXMgeW91IHRvIGV4ZWN1dGUgYSBzaW5nbGUgdGVzdCwgb3IgYWxsIHRo ZSB0ZXN0cyBpbiB0aGUgbW9kdWxlLCBhZ2FpbnN0IHRoZSBzcGVjaWZpYyBjb250YWluZXIgb2Yg dGhhdCBtb2R1bGUuwqAgQW5vdGhlciBhZGRlZCBib251cyBpcyB0aGF0IGVkaXRpbmcgdGhlIHRl c3QgY2xhc3NlcyB0aGF0IGhhdmUgYmVlbiBsaW5rZWQgbW9kaWZpZXMgdGhlbSB3aXRoaW4gdGhl IGJhc2UgbW9kdWxlIHNyYyBwYXRoLCBlbnN1cmluZyB0aGF0IGNoYW5nZXMgYXJlIG5vdCBsb3N0 IGFuZCBhcmUgY29tbWl0dGVkIHRvIHdoZXJlIHRoZXkgbmVlZCB0byBiZS48YnI+CgoKPGJyPlRo ZSBvbmUgZG93bnNpZGUgdG8gdGhlIGFib3ZlIGFwcHJvYWNoIGZvciBFY2xpcHNlIGlzIHRoYXQg cnVubmluZyBNYXZlbiAtJmd0OyBVcGRhdGUgUHJvamVjdCBDb25maWd1cmF0aW9uIHJlbW92ZXMg dGhlIHNvdXJjZSBsaW5rYWdlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCB3aXRoaW4gdGhlIElERS7C oCBJIGhhdmVuJiMzOTt0IGhhZCBhIGNoYW5jZSB0byBpbnZlc3RpZ2F0ZSB0aGlzIHlldCwgYnV0 IEkmIzM5O20gaG9waW5nIGl0JiMzOTtzIHBvc3NpYmxlIHRvIHNjcmlwdCB0aGUgbGluayBzb3Vy Y2UgY29tbWFuZHMgc28gdGhhdCB3ZSBjYW4gcHJvdmlkZSB0aG9zZSBzY3JpcHRzIHdpdGggdGhl IG1vZHVsZXMgdG8gbWFrZSBpdCBlYXN5IHRvIGFkZCB0aGVtIGJhY2suPGJyPgoKCjxicj5Bbnkg cXVlc3Rpb25zIG9yIGNvbmNlcm5zIHBsZWFzZSBkcm9wIG1lIGEgbWFpbC48YnI+PGJyPklmIHRo ZXJlJiMzOTtzIGFueXRoaW5nIGZyb20gdGhlIG1lZXRpbmcgdGhhdCBJIG5lZWQgdG8gbG9vayBh dCBwbGVhc2UgbGV0IG1lIGtub3cuPGJyPjxicj5LZW48YnI+PGJyPjxicj48ZGl2IGNsYXNzPSJn bWFpbF9xdW90ZSI+PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij4KCk9uIFR1ZSwgU2Vw IDYsIDIwMTEgYXQgNDowMyBQTSwgSmFzb24gUG9ydGVyIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEg aHJlZj0ibWFpbHRvOmxpZ2h0Z3VhcmQuanBAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bGln aHRndWFyZC5qcEBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8L2Rpdj48L2Rp dj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhl eDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2PjxkaXY+ PC9kaXY+PGRpdiBjbGFzcz0iaDUiPkFnZW5kYTxkaXY+PHVsPjxsaT5Gb2xsb3ctdXAgZnJvbSB0 aGUgbGFzdCBtZWV0aW5nICgxMCBtaW4pPC9saT48dWw+PGxpPkNsb3VkYmVlczwvbGk+Cgo8bGk+ RG9jczwvbGk+PGxpPk1haWwgVGVzdHM8L2xpPgo8L3VsPjxsaT5IYWNrIE5pZ2h0OiBGYWNlcyAo MTAgbWluKTwvbGk+PGxpPk5leHQgU2VhbSAzIHJlbGVhc2UgKDE1IG1pbik8L2xpPjx1bD48bGk+ SSBiZWxpZXZlIHRoZSBuZXh0IG9uZSBpcyBDUjE8L2xpPgoKPGxpPkRpc2N1c3MgbW92aW5nIHRv IHRoZSB0ZXN0aW5nIHN0cnVjdHVyZSAoS2VuIGFuZCBJIGJlbGlldmUgd2UgaGF2ZSB0aGUgYnVn cyBpcm9uZWQgb3V0KTwvbGk+PC91bD48bGk+TmV4dCB3ZWVrJiMzOTtzIG1lZXRpbmcgKDUgbWlu KTwvbGk+PHVsPjxsaT5BbGwgU2VhbSBkZXZzIHdpbGwgYmUgaGF2aW5nIGEgbWVldGluZywgbWF5 IGhvbGQgb2ZmPC9saT48L3VsPjwvdWw+PGRpdj4KCgoKCjxicj48L2Rpdj4tLSA8YnI+SmFzb24g UG9ydGVyPGJyPjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+PGEg aHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPgoKCgoKPGJyPlNvZnR3YXJlIEVu Z2luZWVyPGJyPk9wZW4gU291cmNlIEFkdm9jYXRlPGJyPkF1dGhvciBvZiBTZWFtIENhdGNoIC0g TmV4dCBHZW5lcmF0aW9uIEphdmEgRXhjZXB0aW9uIEhhbmRsaW5nPGJyPjxicj5QR1Aga2V5IGlk OiA5MjZDQ0ZGNTxicj5QR1Aga2V5IGF2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL2tleXNl cnZlci5uZXQiIHRhcmdldD0iX2JsYW5rIj5rZXlzZXJ2ZXIubmV0PC9hPiwgPGEgaHJlZj0iaHR0 cDovL3BncC5taXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+cGdwLm1pdC5lZHU8L2E+PGJyPgoKCgoK CjwvZGl2Pgo8YnI+PC9kaXY+PC9kaXY+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFp bHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNlYW0tZGV2QGxp c3RzLmpib3NzLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21h aWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjxicj4KPGJyPjwvYmxvY2txdW90 ZT48L2Rpdj48YnI+Cjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2Vh bS1kZXZAbGlzdHMuamJvc3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8 YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2 IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9zZWFtLWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0i YWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwg U29mdHdhcmUgRW5naW5lZXIsIFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+ UmVnaXN0ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8YnI+PGJyPjxkaXY+PGEgaHJlZj0iaHR0cDov L3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFu ayI+aHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxi cj4KCjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vbW9qYXZlbGludXguY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29t L3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2Vh bWluYWN0aW9uPC9hPjxicj48L2Rpdj48YnI+CjwvZGl2Pgo= --===============5913529349132965876==-- From ken at kenfinnigan.me Wed Sep 7 20:29:29 2011 Content-Type: multipart/mixed; boundary="===============6179708779209842304==" MIME-Version: 1.0 From: Ken Finnigan To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-07 Date: Wed, 07 Sep 2011 20:29:24 -0400 Message-ID: <71C33C85-B39A-46E1-8031-A6C0F32B3722@kenfinnigan.me> In-Reply-To: CAKeHnO5JSscyWut8DbZ7qvktG7L6vwDshkf90Ww63aySPVzSUg@mail.gmail.com --===============6179708779209842304== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Another option I've thought of is creating our own Maven plugin that does a= similar job to unpack, but allows specifying which src dirs to link to in = a project. Then see if the JBossTools guys can write an m2e addition that i= nterprets the plugin correctly in the IDE to link the src dirs that were se= t in the configuration. Ken = Sent from my iPhone On Sep 7, 2011, at 18:11, Dan Allen wrote: > Thanks for the assessment of the test setup. I'm going to look it over, h= opefully sitting down with Aslak at next weeks f2f and really exploring the= problem in every way we can. I think we are close to the right solution, b= ut I still want to consider some more options, even if it means modificatio= ns to Arquillian to make it work. > = > -Dan > = > On Wed, Sep 7, 2011 at 15:51, Ken Finnigan wrote: > Unfortunately I won't be able to make the seam-dev meeting today, I'm bla= ming it on the newborn! ;-) > = > To briefly mention the below agenda item regarding the testsuite, we've f= ound out that the best solution is to use the unpack plugin for Maven as pa= rt of the build process to take the tests from the base module and add them= into the test-classes of a container specific module so that Surefire will= pick them up for testing. > = > The major problem was always the IDE. I think Jason has discovered a sol= ution for IDEA, and I found one for Eclipse. The Eclipse solution is withi= n the container specific module for the testsuite to "link source" for that= project and link to the src/main/java and src/main/resources of the base p= roject module. Doing this enables you to execute a single test, or all the= tests in the module, against the specific container of that module. Anoth= er added bonus is that editing the test classes that have been linked modif= ies them within the base module src path, ensuring that changes are not los= t and are committed to where they need to be. > = > The one downside to the above approach for Eclipse is that running Maven = -> Update Project Configuration removes the source linkages that have been = added within the IDE. I haven't had a chance to investigate this yet, but = I'm hoping it's possible to script the link source commands so that we can = provide those scripts with the modules to make it easy to add them back. > = > Any questions or concerns please drop me a mail. > = > If there's anything from the meeting that I need to look at please let me= know. > = > Ken > = > = > On Tue, Sep 6, 2011 at 4:03 PM, Jason Porter = wrote: > Agenda > Follow-up from the last meeting (10 min) > Cloudbees > Docs > Mail Tests > Hack Night: Faces (10 min) > Next Seam 3 release (15 min) > I believe the next one is CR1 > Discuss moving to the testing structure (Ken and I believe we have the bu= gs ironed out) > Next week's meeting (5 min) > All Seam devs will be having a meeting, may hold off > = > -- = > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > = > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > = > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction >=20 --===============6179708779209842304== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5Bbm90aGVyIG9wdGlvbiBJJ3ZlIHRo b3VnaHQgb2YgaXMgY3JlYXRpbmcgb3VyIG93biBNYXZlbiBwbHVnaW4gdGhhdCBkb2VzIGEgc2lt aWxhciBqb2IgdG8gdW5wYWNrLCBidXQgYWxsb3dzIHNwZWNpZnlpbmcgd2hpY2ggc3JjIGRpcnMg dG8gbGluayB0byBpbiBhIHByb2plY3QuIFRoZW4gc2VlIGlmIHRoZSBKQm9zc1Rvb2xzIGd1eXMg Y2FuIHdyaXRlIGFuIG0yZSBhZGRpdGlvbiB0aGF0IGludGVycHJldHMgdGhlIHBsdWdpbiBjb3Jy ZWN0bHkgaW4gdGhlIElERSB0byBsaW5rIHRoZSBzcmMgZGlycyB0aGF0IHdlcmUgc2V0IGluIHRo ZSBjb25maWd1cmF0aW9uLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+S2VuJm5ic3A7PGJyPjxi cj5TZW50IGZyb20gbXkgaVBob25lPC9kaXY+PGRpdj48YnI+T24gU2VwIDcsIDIwMTEsIGF0IDE4 OjExLCBEYW4gQWxsZW4gJmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20i PmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj48YnI+PC9kaXY+PGRpdj48 L2Rpdj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2PlRoYW5rcyBmb3IgdGhlIGFzc2Vzc21l bnQgb2YgdGhlIHRlc3Qgc2V0dXAuIEknbSBnb2luZyB0byBsb29rIGl0IG92ZXIsIGhvcGVmdWxs eSBzaXR0aW5nIGRvd24gd2l0aCBBc2xhayBhdCBuZXh0IHdlZWtzIGYyZiBhbmQgcmVhbGx5IGV4 cGxvcmluZyB0aGUgcHJvYmxlbSBpbiBldmVyeSB3YXkgd2UgY2FuLiBJIHRoaW5rIHdlIGFyZSBj bG9zZSB0byB0aGUgcmlnaHQgc29sdXRpb24sIGJ1dCBJIHN0aWxsIHdhbnQgdG8gY29uc2lkZXIg c29tZSBtb3JlIG9wdGlvbnMsIGV2ZW4gaWYgaXQgbWVhbnMgbW9kaWZpY2F0aW9ucyB0byBBcnF1 aWxsaWFuIHRvIG1ha2UgaXQgd29yay48ZGl2PgoKPGJyPjwvZGl2PjxkaXY+LURhbjxicj48YnI+ PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFdlZCwgU2VwIDcsIDIwMTEgYXQgMTU6NTEsIEtl biBGaW5uaWdhbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzprZW5Aa2VuZmlu bmlnYW4ubWUiPjxhIGhyZWY9Im1haWx0bzprZW5Aa2VuZmlubmlnYW4ubWUiPmtlbkBrZW5maW5u aWdhbi5tZTwvYT48L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJn bWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2Nj IHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij4KClVuZm9ydHVuYXRlbHkgSSB3b24ndCBiZSBhYmxl IHRvIG1ha2UgdGhlIHNlYW0tZGV2IG1lZXRpbmcgdG9kYXksIEknbSBibGFtaW5nIGl0IG9uIHRo ZSBuZXdib3JuISA7LSk8YnI+PGJyPlRvIGJyaWVmbHkgbWVudGlvbiB0aGUgYmVsb3cgYWdlbmRh IGl0ZW0gcmVnYXJkaW5nIHRoZSB0ZXN0c3VpdGUsIHdlJ3ZlIGZvdW5kIG91dCB0aGF0IHRoZSBi ZXN0IHNvbHV0aW9uIGlzIHRvIHVzZSB0aGUgdW5wYWNrIHBsdWdpbiBmb3IgTWF2ZW4gYXMgcGFy dCBvZiB0aGUgYnVpbGQgcHJvY2VzcyB0byB0YWtlIHRoZSB0ZXN0cyBmcm9tIHRoZSBiYXNlIG1v ZHVsZSBhbmQgYWRkIHRoZW0gaW50byB0aGUgdGVzdC1jbGFzc2VzIG9mIGEgY29udGFpbmVyIHNw ZWNpZmljIG1vZHVsZSBzbyB0aGF0IFN1cmVmaXJlIHdpbGwgcGljayB0aGVtIHVwIGZvciB0ZXN0 aW5nLjxicj4KCgo8YnI+VGhlIG1ham9yIHByb2JsZW0gd2FzIGFsd2F5cyB0aGUgSURFLiZuYnNw OyBJIHRoaW5rIEphc29uIGhhcyBkaXNjb3ZlcmVkIGEgc29sdXRpb24gZm9yIElERUEsIGFuZCBJ IGZvdW5kIG9uZSBmb3IgRWNsaXBzZS4mbmJzcDsgVGhlIEVjbGlwc2Ugc29sdXRpb24gaXMgd2l0 aGluIHRoZSBjb250YWluZXIgc3BlY2lmaWMgbW9kdWxlIGZvciB0aGUgdGVzdHN1aXRlIHRvICJs aW5rIHNvdXJjZSIgZm9yIHRoYXQgcHJvamVjdCBhbmQgbGluayB0byB0aGUgc3JjL21haW4vamF2 YSBhbmQgc3JjL21haW4vcmVzb3VyY2VzIG9mIHRoZSBiYXNlIHByb2plY3QgbW9kdWxlLiZuYnNw OyBEb2luZyB0aGlzIGVuYWJsZXMgeW91IHRvIGV4ZWN1dGUgYSBzaW5nbGUgdGVzdCwgb3IgYWxs IHRoZSB0ZXN0cyBpbiB0aGUgbW9kdWxlLCBhZ2FpbnN0IHRoZSBzcGVjaWZpYyBjb250YWluZXIg b2YgdGhhdCBtb2R1bGUuJm5ic3A7IEFub3RoZXIgYWRkZWQgYm9udXMgaXMgdGhhdCBlZGl0aW5n IHRoZSB0ZXN0IGNsYXNzZXMgdGhhdCBoYXZlIGJlZW4gbGlua2VkIG1vZGlmaWVzIHRoZW0gd2l0 aGluIHRoZSBiYXNlIG1vZHVsZSBzcmMgcGF0aCwgZW5zdXJpbmcgdGhhdCBjaGFuZ2VzIGFyZSBu b3QgbG9zdCBhbmQgYXJlIGNvbW1pdHRlZCB0byB3aGVyZSB0aGV5IG5lZWQgdG8gYmUuPGJyPgoK Cjxicj5UaGUgb25lIGRvd25zaWRlIHRvIHRoZSBhYm92ZSBhcHByb2FjaCBmb3IgRWNsaXBzZSBp cyB0aGF0IHJ1bm5pbmcgTWF2ZW4gLSZndDsgVXBkYXRlIFByb2plY3QgQ29uZmlndXJhdGlvbiBy ZW1vdmVzIHRoZSBzb3VyY2UgbGlua2FnZXMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgd2l0aGluIHRo ZSBJREUuJm5ic3A7IEkgaGF2ZW4ndCBoYWQgYSBjaGFuY2UgdG8gaW52ZXN0aWdhdGUgdGhpcyB5 ZXQsIGJ1dCBJJ20gaG9waW5nIGl0J3MgcG9zc2libGUgdG8gc2NyaXB0IHRoZSBsaW5rIHNvdXJj ZSBjb21tYW5kcyBzbyB0aGF0IHdlIGNhbiBwcm92aWRlIHRob3NlIHNjcmlwdHMgd2l0aCB0aGUg bW9kdWxlcyB0byBtYWtlIGl0IGVhc3kgdG8gYWRkIHRoZW0gYmFjay48YnI+CgoKPGJyPkFueSBx dWVzdGlvbnMgb3IgY29uY2VybnMgcGxlYXNlIGRyb3AgbWUgYSBtYWlsLjxicj48YnI+SWYgdGhl cmUncyBhbnl0aGluZyBmcm9tIHRoZSBtZWV0aW5nIHRoYXQgSSBuZWVkIHRvIGxvb2sgYXQgcGxl YXNlIGxldCBtZSBrbm93Ljxicj48YnI+S2VuPGJyPjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxf cXVvdGUiPjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+CgpPbiBUdWUsIFNlcCA2LCAy MDExIGF0IDQ6MDMgUE0sIEphc29uIFBvcnRlciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9 Im1haWx0bzpsaWdodGd1YXJkLmpwQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9 Im1haWx0bzpsaWdodGd1YXJkLmpwQGdtYWlsLmNvbSI+bGlnaHRndWFyZC5qcEBnbWFpbC5jb208 L2E+PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KPC9kaXY+PC9kaXY+PGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4 ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9 Img1Ij5BZ2VuZGE8ZGl2Pjx1bD48bGk+Rm9sbG93LXVwIGZyb20gdGhlIGxhc3QgbWVldGluZyAo MTAgbWluKTwvbGk+PHVsPjxsaT5DbG91ZGJlZXM8L2xpPgoKPGxpPkRvY3M8L2xpPjxsaT5NYWls IFRlc3RzPC9saT4KPC91bD48bGk+SGFjayBOaWdodDogRmFjZXMgKDEwIG1pbik8L2xpPjxsaT5O ZXh0IFNlYW0gMyByZWxlYXNlICgxNSBtaW4pPC9saT48dWw+PGxpPkkgYmVsaWV2ZSB0aGUgbmV4 dCBvbmUgaXMgQ1IxPC9saT4KCjxsaT5EaXNjdXNzIG1vdmluZyB0byB0aGUgdGVzdGluZyBzdHJ1 Y3R1cmUgKEtlbiBhbmQgSSBiZWxpZXZlIHdlIGhhdmUgdGhlIGJ1Z3MgaXJvbmVkIG91dCk8L2xp PjwvdWw+PGxpPk5leHQgd2VlaydzIG1lZXRpbmcgKDUgbWluKTwvbGk+PHVsPjxsaT5BbGwgU2Vh bSBkZXZzIHdpbGwgYmUgaGF2aW5nIGEgbWVldGluZywgbWF5IGhvbGQgb2ZmPC9saT48L3VsPjwv dWw+PGRpdj4KCgoKCjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVyPGJyPjxhIGhyZWY9Imh0 dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9 Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSI+aHR0cDovL2xpZ2h0Z3VhcmQtanAu YmxvZ3Nwb3QuY29tPC9hPjwvYT48YnI+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0 Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9saWdo dGd1YXJkanAiPmh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PC9hPjxicj4KCgoK Cjxicj5Tb2Z0d2FyZSBFbmdpbmVlcjxicj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Ig b2YgU2VhbSBDYXRjaCAtIE5leHQgR2VuZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxi cj48YnI+UEdQIGtleSBpZDogOTI2Q0NGRjU8YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhy ZWY9Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cDov L2tleXNlcnZlci5uZXQiPmtleXNlcnZlci5uZXQ8L2E+PC9hPiwgPGEgaHJlZj0iaHR0cDovL3Bn cC5taXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cDovL3BncC5taXQuZWR1Ij5w Z3AubWl0LmVkdTwvYT48L2E+PGJyPgoKCgoKCjwvZGl2Pgo8YnI+PC9kaXY+PC9kaXY+X19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1h aWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIg dGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmci PnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+ PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRl diI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48 L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj4KPGJyPl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8 YnI+CjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPjxhIGhyZWY9Im1h aWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwv YT48L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcv bWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwv ZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPjxkaXY+RGFuIEFs bGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0aG9yIG9m IFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPjxicj48 ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNh Ym91dCIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9m aWxlcy9kYW4uai5hbGxlbiNhYm91dCI+aHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rh bi5qLmFsbGVuI2Fib3V0PC9hPjwvYT48YnI+Cgo8YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXgu Y29tIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSI+aHR0 cDovL21vamF2ZWxpbnV4LmNvbTwvYT48L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51 eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cDovL21vamF2 ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0 aW9uPC9hPjwvYT48YnI+PC9kaXY+PGJyPgo8L2Rpdj4KPC9kaXY+PC9ibG9ja3F1b3RlPjwvYm9k eT48L2h0bWw+ --===============6179708779209842304==-- From lightguard.jp at gmail.com Thu Sep 8 00:26:59 2011 Content-Type: multipart/mixed; boundary="===============3752242426426197257==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-07 Date: Wed, 07 Sep 2011 22:26:38 -0600 Message-ID: In-Reply-To: 71C33C85-B39A-46E1-8031-A6C0F32B3722@kenfinnigan.me --===============3752242426426197257== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable What may actually work well for all of this is if Arquillian supported creating test suites, that may actually make this all go away :) On Wed, Sep 7, 2011 at 18:29, Ken Finnigan wrote: > Another option I've thought of is creating our own Maven plugin that does= a > similar job to unpack, but allows specifying which src dirs to link to in= a > project. Then see if the JBossTools guys can write an m2e addition that > interprets the plugin correctly in the IDE to link the src dirs that were > set in the configuration. > > Ken > > Sent from my iPhone > > On Sep 7, 2011, at 18:11, Dan Allen wrote: > > Thanks for the assessment of the test setup. I'm going to look it over, > hopefully sitting down with Aslak at next weeks f2f and really exploring = the > problem in every way we can. I think we are close to the right solution, = but > I still want to consider some more options, even if it means modifications > to Arquillian to make it work. > > -Dan > > On Wed, Sep 7, 2011 at 15:51, Ken Finnigan < > ken(a)kenfinnigan.me> wrote: > >> Unfortunately I won't be able to make the seam-dev meeting today, I'm >> blaming it on the newborn! ;-) >> >> To briefly mention the below agenda item regarding the testsuite, we've >> found out that the best solution is to use the unpack plugin for Maven as >> part of the build process to take the tests from the base module and add >> them into the test-classes of a container specific module so that Surefi= re >> will pick them up for testing. >> >> The major problem was always the IDE. I think Jason has discovered a >> solution for IDEA, and I found one for Eclipse. The Eclipse solution is >> within the container specific module for the testsuite to "link source" = for >> that project and link to the src/main/java and src/main/resources of the >> base project module. Doing this enables you to execute a single test, or >> all the tests in the module, against the specific container of that modu= le. >> Another added bonus is that editing the test classes that have been link= ed >> modifies them within the base module src path, ensuring that changes are= not >> lost and are committed to where they need to be. >> >> The one downside to the above approach for Eclipse is that running Maven >> -> Update Project Configuration removes the source linkages that have be= en >> added within the IDE. I haven't had a chance to investigate this yet, b= ut >> I'm hoping it's possible to script the link source commands so that we c= an >> provide those scripts with the modules to make it easy to add them back. >> >> Any questions or concerns please drop me a mail. >> >> If there's anything from the meeting that I need to look at please let me >> know. >> >> Ken >> >> >> On Tue, Sep 6, 2011 at 4:03 PM, Jason Porter < >> lightguard.jp(a)gmail.com> wrote: >> >>> Agenda >>> >>> - Follow-up from the last meeting (10 min) >>> - Cloudbees >>> - Docs >>> - Mail Tests >>> - Hack Night: Faces (10 min) >>> - Next Seam 3 release (15 min) >>> - I believe the next one is CR1 >>> - Discuss moving to the testing structure (Ken and I believe we >>> have the bugs ironed out) >>> - Next week's meeting (5 min) >>> - All Seam devs will be having a meeting, may hold off >>> >>> >>> -- >>> Jason Porter >>> http://lightguard-jp.blogspot.com >>> http://twitter.com/lightguardjp >>> >>> Software Engineer >>> Open Source Advocate >>> Author of Seam Catch - Next Generation Java Exception Handling >>> >>> PGP key id: 926CCFF5 >>> PGP key available at: keyserver.net, >>> pgp.mit.edu >>> >>> _______________________________________________ >>> seam-dev mailing list >>> seam-dev(a)lists.jboss.org >>> >>> https://lists.jboss.org/mailman/listinfo/seam-dev >>> >>> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============3752242426426197257== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" V2hhdCBtYXkgYWN0dWFsbHkgd29yayB3ZWxsIGZvciBhbGwgb2YgdGhpcyBpcyBpZiBBcnF1aWxs aWFuIHN1cHBvcnRlZCBjcmVhdGluZyB0ZXN0IHN1aXRlcywgdGhhdCBtYXkgYWN0dWFsbHkgbWFr ZSB0aGlzIGFsbCBnbyBhd2F5IDopPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24g V2VkLCBTZXAgNywgMjAxMSBhdCAxODoyOSwgS2VuIEZpbm5pZ2FuIDxzcGFuIGRpcj0ibHRyIj4m bHQ7PGEgaHJlZj0ibWFpbHRvOmtlbkBrZW5maW5uaWdhbi5tZSI+a2VuQGtlbmZpbm5pZ2FuLm1l PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh ZGRpbmctbGVmdDoxZXg7Ij48ZGl2IGJnY29sb3I9IiNGRkZGRkYiPjxkaXY+QW5vdGhlciBvcHRp b24gSSYjMzk7dmUgdGhvdWdodCBvZiBpcyBjcmVhdGluZyBvdXIgb3duIE1hdmVuIHBsdWdpbiB0 aGF0IGRvZXMgYSBzaW1pbGFyIGpvYiB0byB1bnBhY2ssIGJ1dCBhbGxvd3Mgc3BlY2lmeWluZyB3 aGljaCBzcmMgZGlycyB0byBsaW5rIHRvIGluIGEgcHJvamVjdC4gVGhlbiBzZWUgaWYgdGhlIEpC b3NzVG9vbHMgZ3V5cyBjYW4gd3JpdGUgYW4gbTJlIGFkZGl0aW9uIHRoYXQgaW50ZXJwcmV0cyB0 aGUgcGx1Z2luIGNvcnJlY3RseSBpbiB0aGUgSURFIHRvIGxpbmsgdGhlIHNyYyBkaXJzIHRoYXQg d2VyZSBzZXQgaW4gdGhlIGNvbmZpZ3VyYXRpb24uPC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2 PktlbsKgPGJyPjxicj5TZW50IGZyb20gbXkgaVBob25lPC9kaXY+PGRpdj48ZGl2PjwvZGl2Pjxk aXYgY2xhc3M9Img1Ij48ZGl2Pjxicj5PbiBTZXAgNywgMjAxMSwgYXQgMTg6MTEsIERhbiBBbGxl biAmbHQ7PGEgaHJlZj0ibWFpbHRvOmRhbi5qLmFsbGVuQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj4KCjxicj48L2Rpdj48 ZGl2PjwvZGl2PjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxkaXY+VGhhbmtzIGZvciB0aGUgYXNz ZXNzbWVudCBvZiB0aGUgdGVzdCBzZXR1cC4gSSYjMzk7bSBnb2luZyB0byBsb29rIGl0IG92ZXIs IGhvcGVmdWxseSBzaXR0aW5nIGRvd24gd2l0aCBBc2xhayBhdCBuZXh0IHdlZWtzIGYyZiBhbmQg cmVhbGx5IGV4cGxvcmluZyB0aGUgcHJvYmxlbSBpbiBldmVyeSB3YXkgd2UgY2FuLiBJIHRoaW5r IHdlIGFyZSBjbG9zZSB0byB0aGUgcmlnaHQgc29sdXRpb24sIGJ1dCBJIHN0aWxsIHdhbnQgdG8g Y29uc2lkZXIgc29tZSBtb3JlIG9wdGlvbnMsIGV2ZW4gaWYgaXQgbWVhbnMgbW9kaWZpY2F0aW9u cyB0byBBcnF1aWxsaWFuIHRvIG1ha2UgaXQgd29yay48ZGl2PgoKCgo8YnI+PC9kaXY+PGRpdj4t RGFuPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgNywgMjAxMSBh dCAxNTo1MSwgS2VuIEZpbm5pZ2FuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRv OmtlbkBrZW5maW5uaWdhbi5tZSIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBocmVmPSJtYWlsdG86 a2VuQGtlbmZpbm5pZ2FuLm1lIiB0YXJnZXQ9Il9ibGFuayI+a2VuQGtlbmZpbm5pZ2FuLm1lPC9h PiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIg c3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRp bmctbGVmdDoxZXgiPgoKVW5mb3J0dW5hdGVseSBJIHdvbiYjMzk7dCBiZSBhYmxlIHRvIG1ha2Ug dGhlIHNlYW0tZGV2IG1lZXRpbmcgdG9kYXksIEkmIzM5O20gYmxhbWluZyBpdCBvbiB0aGUgbmV3 Ym9ybiEgOy0pPGJyPjxicj5UbyBicmllZmx5IG1lbnRpb24gdGhlIGJlbG93IGFnZW5kYSBpdGVt IHJlZ2FyZGluZyB0aGUgdGVzdHN1aXRlLCB3ZSYjMzk7dmUgZm91bmQgb3V0IHRoYXQgdGhlIGJl c3Qgc29sdXRpb24gaXMgdG8gdXNlIHRoZSB1bnBhY2sgcGx1Z2luIGZvciBNYXZlbiBhcyBwYXJ0 IG9mIHRoZSBidWlsZCBwcm9jZXNzIHRvIHRha2UgdGhlIHRlc3RzIGZyb20gdGhlIGJhc2UgbW9k dWxlIGFuZCBhZGQgdGhlbSBpbnRvIHRoZSB0ZXN0LWNsYXNzZXMgb2YgYSBjb250YWluZXIgc3Bl Y2lmaWMgbW9kdWxlIHNvIHRoYXQgU3VyZWZpcmUgd2lsbCBwaWNrIHRoZW0gdXAgZm9yIHRlc3Rp bmcuPGJyPgoKCgoKPGJyPlRoZSBtYWpvciBwcm9ibGVtIHdhcyBhbHdheXMgdGhlIElERS7CoCBJ IHRoaW5rIEphc29uIGhhcyBkaXNjb3ZlcmVkIGEgc29sdXRpb24gZm9yIElERUEsIGFuZCBJIGZv dW5kIG9uZSBmb3IgRWNsaXBzZS7CoCBUaGUgRWNsaXBzZSBzb2x1dGlvbiBpcyB3aXRoaW4gdGhl IGNvbnRhaW5lciBzcGVjaWZpYyBtb2R1bGUgZm9yIHRoZSB0ZXN0c3VpdGUgdG8gJnF1b3Q7bGlu ayBzb3VyY2UmcXVvdDsgZm9yIHRoYXQgcHJvamVjdCBhbmQgbGluayB0byB0aGUgc3JjL21haW4v amF2YSBhbmQgc3JjL21haW4vcmVzb3VyY2VzIG9mIHRoZSBiYXNlIHByb2plY3QgbW9kdWxlLsKg IERvaW5nIHRoaXMgZW5hYmxlcyB5b3UgdG8gZXhlY3V0ZSBhIHNpbmdsZSB0ZXN0LCBvciBhbGwg dGhlIHRlc3RzIGluIHRoZSBtb2R1bGUsIGFnYWluc3QgdGhlIHNwZWNpZmljIGNvbnRhaW5lciBv ZiB0aGF0IG1vZHVsZS7CoCBBbm90aGVyIGFkZGVkIGJvbnVzIGlzIHRoYXQgZWRpdGluZyB0aGUg dGVzdCBjbGFzc2VzIHRoYXQgaGF2ZSBiZWVuIGxpbmtlZCBtb2RpZmllcyB0aGVtIHdpdGhpbiB0 aGUgYmFzZSBtb2R1bGUgc3JjIHBhdGgsIGVuc3VyaW5nIHRoYXQgY2hhbmdlcyBhcmUgbm90IGxv c3QgYW5kIGFyZSBjb21taXR0ZWQgdG8gd2hlcmUgdGhleSBuZWVkIHRvIGJlLjxicj4KCgoKCjxi cj5UaGUgb25lIGRvd25zaWRlIHRvIHRoZSBhYm92ZSBhcHByb2FjaCBmb3IgRWNsaXBzZSBpcyB0 aGF0IHJ1bm5pbmcgTWF2ZW4gLSZndDsgVXBkYXRlIFByb2plY3QgQ29uZmlndXJhdGlvbiByZW1v dmVzIHRoZSBzb3VyY2UgbGlua2FnZXMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgd2l0aGluIHRoZSBJ REUuwqAgSSBoYXZlbiYjMzk7dCBoYWQgYSBjaGFuY2UgdG8gaW52ZXN0aWdhdGUgdGhpcyB5ZXQs IGJ1dCBJJiMzOTttIGhvcGluZyBpdCYjMzk7cyBwb3NzaWJsZSB0byBzY3JpcHQgdGhlIGxpbmsg c291cmNlIGNvbW1hbmRzIHNvIHRoYXQgd2UgY2FuIHByb3ZpZGUgdGhvc2Ugc2NyaXB0cyB3aXRo IHRoZSBtb2R1bGVzIHRvIG1ha2UgaXQgZWFzeSB0byBhZGQgdGhlbSBiYWNrLjxicj4KCgoKCjxi cj5BbnkgcXVlc3Rpb25zIG9yIGNvbmNlcm5zIHBsZWFzZSBkcm9wIG1lIGEgbWFpbC48YnI+PGJy PklmIHRoZXJlJiMzOTtzIGFueXRoaW5nIGZyb20gdGhlIG1lZXRpbmcgdGhhdCBJIG5lZWQgdG8g bG9vayBhdCBwbGVhc2UgbGV0IG1lIGtub3cuPGJyPjxicj5LZW48YnI+PGJyPjxicj48ZGl2IGNs YXNzPSJnbWFpbF9xdW90ZSI+PGRpdj48ZGl2PjwvZGl2PjxkaXY+CgpPbiBUdWUsIFNlcCA2LCAy MDExIGF0IDQ6MDMgUE0sIEphc29uIFBvcnRlciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9 Im1haWx0bzpsaWdodGd1YXJkLmpwQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBo cmVmPSJtYWlsdG86bGlnaHRndWFyZC5qcEBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5saWdo dGd1YXJkLmpwQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+CgoKPC9kaXY+PC9k aXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44 ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdj48ZGl2 PjwvZGl2PjxkaXY+QWdlbmRhPGRpdj48dWw+PGxpPkZvbGxvdy11cCBmcm9tIHRoZSBsYXN0IG1l ZXRpbmcgKDEwIG1pbik8L2xpPjx1bD48bGk+Q2xvdWRiZWVzPC9saT4KCgoKPGxpPkRvY3M8L2xp PjxsaT5NYWlsIFRlc3RzPC9saT4KPC91bD48bGk+SGFjayBOaWdodDogRmFjZXMgKDEwIG1pbik8 L2xpPjxsaT5OZXh0IFNlYW0gMyByZWxlYXNlICgxNSBtaW4pPC9saT48dWw+PGxpPkkgYmVsaWV2 ZSB0aGUgbmV4dCBvbmUgaXMgQ1IxPC9saT4KCjxsaT5EaXNjdXNzIG1vdmluZyB0byB0aGUgdGVz dGluZyBzdHJ1Y3R1cmUgKEtlbiBhbmQgSSBiZWxpZXZlIHdlIGhhdmUgdGhlIGJ1Z3MgaXJvbmVk IG91dCk8L2xpPjwvdWw+PGxpPk5leHQgd2VlayYjMzk7cyBtZWV0aW5nICg1IG1pbik8L2xpPjx1 bD48bGk+QWxsIFNlYW0gZGV2cyB3aWxsIGJlIGhhdmluZyBhIG1lZXRpbmcsIG1heSBob2xkIG9m ZjwvbGk+PC91bD48L3VsPjxkaXY+CgoKCgoKCjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVy PGJyPjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJf YmxhbmsiPjwvYT48YSBocmVmPSJodHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb20iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb208L2E+PGJyPjxh IGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanAiIHRhcmdldD0iX2JsYW5rIj48 L2E+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxh bmsiPmh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPgoKCgoKCgo8YnI+U29m dHdhcmUgRW5naW5lZXI8YnI+T3BlbiBTb3VyY2UgQWR2b2NhdGU8YnI+QXV0aG9yIG9mIFNlYW0g Q2F0Y2ggLSBOZXh0IEdlbmVyYXRpb24gSmF2YSBFeGNlcHRpb24gSGFuZGxpbmc8YnI+PGJyPlBH UCBrZXkgaWQ6IDkyNkNDRkY1PGJyPlBHUCBrZXkgYXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRw Oi8va2V5c2VydmVyLm5ldCIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBocmVmPSJodHRwOi8va2V5 c2VydmVyLm5ldCIgdGFyZ2V0PSJfYmxhbmsiPmtleXNlcnZlci5uZXQ8L2E+LCA8YSBocmVmPSJo dHRwOi8vcGdwLm1pdC5lZHUiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgaHJlZj0iaHR0cDovL3Bn cC5taXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+cGdwLm1pdC5lZHU8L2E+PGJyPgoKCgoKCgoKPC9k aXY+Cjxicj48L2Rpdj48L2Rpdj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86 c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGhyZWY9Im1h aWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBs aXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGhyZWY9Imh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2 PC9hPjxicj4KPGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+Cjxicj5fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0 PGJyPgo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9i bGFuayI+PC9hPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdl dD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRw czovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9i bGFuayI+PC9hPjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGlu Zm8vc2VhbS1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjxicj4KPGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+ PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2 PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGlu IEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj48YnI+PGRpdj48YSBo cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRh cmdldD0iX2JsYW5rIj48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVz L2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUuY29t L3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCgoKPGEgaHJlZj0iaHR0cDovL21v amF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBocmVmPSJodHRwOi8vbW9qYXZl bGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48YnI+ PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2Js YW5rIj48L2E+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+ Cgo8L2Rpdj48YnI+CjwvZGl2Pgo8L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+ PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0g PGJyPkphc29uIFBvcnRlcjxicj48YSBocmVmPSJodHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3Bv dC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb208 L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanAiIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwPC9hPjxicj4KCjxicj5Tb2Z0 d2FyZSBFbmdpbmVlcjxicj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2YgU2VhbSBD YXRjaCAtIE5leHQgR2VuZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48YnI+UEdQ IGtleSBpZDogOTI2Q0NGRjU8YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6 Ly9rZXlzZXJ2ZXIubmV0IiB0YXJnZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4sIDxhIGhy ZWY9Imh0dHA6Ly9wZ3AubWl0LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1PC9hPjxi cj4KCgo= --===============3752242426426197257==-- From pmuir at redhat.com Mon Sep 12 10:51:16 2011 Content-Type: multipart/mixed; boundary="===============1331514962097465843==" MIME-Version: 1.0 From: Pete Muir To: seam-dev at lists.jboss.org Subject: [seam-dev] Enabling extensions Date: Mon, 12 Sep 2011 10:51:14 -0400 Message-ID: <5601C05A-9471-4599-B7E6-2F8DA1BE8B26@redhat.com> --===============1331514962097465843== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Seam team, and others on the CDI EG, Looking for feedback on an issue Marius and I discussed in CDI 1.0. This is= potentially an issue - we weren't sure if people had seen it in the real w= orld, hopefully you may have seen feedback in the forums or at conferences. This relates closely to the interceptor/decorator/alternative enabling disc= ussion. Typically an extension class is packaged in a jar, along with a META-INF/se= rvices/javax.enterprise.inject.spi.Extension file which enables it. However= , this means that an application, or another extension, has no way of disab= ling extensions. Is this a problem, really? Or just theoretically. --===============1331514962097465843==-- From jens.schumann at openknowledge.de Mon Sep 12 11:25:37 2011 Content-Type: multipart/mixed; boundary="===============5349709044811480967==" MIME-Version: 1.0 From: Jens Schumann To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [cdi-dev] Enabling extensions Date: Mon, 12 Sep 2011 15:25:38 +0000 Message-ID: In-Reply-To: 5601C05A-9471-4599-B7E6-2F8DA1BE8B26@redhat.com --===============5349709044811480967== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Pete, >From my experience this is a problem, especially for (partial) integration tests within a maven based build infrastructure. In the end we had to move certain META-INF/services/javax.enterprise.inject.spi.Extension files from extension jars to the final deployment artifact or use System Properties (!) to disable them;(. Jens On 12.09.11 16:51 "Pete Muir" wrote: >Seam team, and others on the CDI EG, > >Looking for feedback on an issue Marius and I discussed in CDI 1.0. This >is potentially an issue - we weren't sure if people had seen it in the >real world, hopefully you may have seen feedback in the forums or at >conferences. > >This relates closely to the interceptor/decorator/alternative enabling >discussion. > >Typically an extension class is packaged in a jar, along with a >META-INF/services/javax.enterprise.inject.spi.Extension file which >enables it. However, this means that an application, or another >extension, has no way of disabling extensions. > >Is this a problem, really? Or just theoretically. >_______________________________________________ >cdi-dev mailing list >cdi-dev(a)lists.jboss.org >https://lists.jboss.org/mailman/listinfo/cdi-dev --===============5349709044811480967==-- From struberg at yahoo.de Mon Sep 12 11:47:05 2011 Content-Type: multipart/mixed; boundary="===============5812445608179870126==" MIME-Version: 1.0 From: Mark Struberg To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Enabling extensions Date: Mon, 12 Sep 2011 16:47:02 +0100 Message-ID: <1315842422.44914.YahooMailNeo@web27807.mail.ukl.yahoo.com> In-Reply-To: 5601C05A-9471-4599-B7E6-2F8DA1BE8B26@redhat.com --===============5812445608179870126== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I remember that we discussed this 2 years ago ;) In Apache MyFaces CODI we introduced an internal Deactivatable interface wh= ich by default gets implemented via =C2=A0=C2=A0=C2=A0 public boolean isActivated() =C2=A0=C2=A0=C2=A0 { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ClassDeactivation.isClass= Activated(getClass()); =C2=A0=C2=A0=C2=A0 } (another internal class). and in the Extension itself =C2=A0=C2=A0=C2=A0 if(!isActivated()) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } A similar mechanism should be available in each bigger Extension library (n= ot only containing 1 single CDI Extension) But would be helpful to have something like that in the standard of course! LieGrue, strub ----- Original Message ----- > From: Pete Muir > To: cdi-dev(a)lists.jboss.org; "seam-dev >> seam-dev(a)lists. jboss. org = Development List" > Cc: = > Sent: Monday, September 12, 2011 4:51 PM > Subject: [seam-dev] Enabling extensions > = > Seam team, and others on the CDI EG, > = > Looking for feedback on an issue Marius and I discussed in CDI 1.0. This = is = > potentially an issue - we weren't sure if people had seen it in the real = > world, hopefully you may have seen feedback in the forums or at conferenc= es. > = > This relates closely to the interceptor/decorator/alternative enabling = > discussion. > = > Typically an extension class is packaged in a jar, along with a = > META-INF/services/javax.enterprise.inject.spi.Extension file which enable= s it. = > However, this means that an application, or another extension, has no way= of = > disabling extensions. > = > Is this a problem, really? Or just theoretically. > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > --===============5812445608179870126==-- From pmuir at redhat.com Mon Sep 12 11:58:10 2011 Content-Type: multipart/mixed; boundary="===============7423884934250246092==" MIME-Version: 1.0 From: Pete Muir To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Enabling extensions Date: Mon, 12 Sep 2011 11:58:06 -0400 Message-ID: <95D2192A-6AE5-4D71-ABAB-A091136FECF0@redhat.com> In-Reply-To: 1315842422.44914.YahooMailNeo@web27807.mail.ukl.yahoo.com --===============7423884934250246092== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thanks Jens & Mark, obviously a real issue! https://issues.jboss.org/browse/CDI-157 On 12 Sep 2011, at 11:47, Mark Struberg wrote: > I remember that we discussed this 2 years ago ;) > = > In Apache MyFaces CODI we introduced an internal Deactivatable interface = which by default gets implemented via > = > public boolean isActivated() > { > return ClassDeactivation.isClassActivated(getClass()); > } > = > (another internal class). > = > and in the Extension itself > if(!isActivated()) > { > return; > } > = > = > A similar mechanism should be available in each bigger Extension library = (not only containing 1 single CDI Extension) > But would be helpful to have something like that in the standard of cours= e! > = > LieGrue, > strub > = > = > ----- Original Message ----- >> From: Pete Muir >> To: cdi-dev(a)lists.jboss.org; "seam-dev >> seam-dev(a)lists. jboss. org= Development List" >> Cc: = >> Sent: Monday, September 12, 2011 4:51 PM >> Subject: [seam-dev] Enabling extensions >> = >> Seam team, and others on the CDI EG, >> = >> Looking for feedback on an issue Marius and I discussed in CDI 1.0. This= is = >> potentially an issue - we weren't sure if people had seen it in the real = >> world, hopefully you may have seen feedback in the forums or at conferen= ces. >> = >> This relates closely to the interceptor/decorator/alternative enabling = >> discussion. >> = >> Typically an extension class is packaged in a jar, along with a = >> META-INF/services/javax.enterprise.inject.spi.Extension file which enabl= es it. = >> However, this means that an application, or another extension, has no wa= y of = >> disabling extensions. >> = >> Is this a problem, really? Or just theoretically. >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> = --===============7423884934250246092==-- From max.andersen at redhat.com Tue Sep 13 07:24:34 2011 Content-Type: multipart/mixed; boundary="===============7291316176754571058==" MIME-Version: 1.0 From: Max Rydahl Andersen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] DWG Meeting minutes Date: Tue, 13 Sep 2011 13:24:43 +0200 Message-ID: In-Reply-To: 4E670D87.3030300@redhat.com --===============7291316176754571058== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable >>> = >> How does this relate to http://community.jboss.org/wiki/HowToLogInJBossP= rojects ? >> = >> I assume this is just the same and you'll need to go grab those prefixes= ? >> = >> btw. what is DWG ? :) >> = >> /max >> http://about.me/maxandersen >> = >> = >> = > = > Hmm, I wasn't aware of that document. I guess that we register SM as the= Seam Event ID prefix, and then append the module code onto that. So SMSEC= for Seam Security, SMSLD for Solder, etc. That would probably work ;) i18n (and somewhat tooling) improvements are bound to these Logging and exc= eption errors being handled somewhat uniformly so worth keeping an eye on t= hat doc/TAG work. = /max http://about.me/maxandersen --===============7291316176754571058==-- From ken at kenfinnigan.me Tue Sep 13 12:09:27 2011 Content-Type: multipart/mixed; boundary="===============9154743166671631688==" MIME-Version: 1.0 From: Ken Finnigan To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] DWG Meeting minutes Date: Tue, 13 Sep 2011 12:09:25 -0400 Message-ID: In-Reply-To: 4E66B98A.5020303@redhat.com --===============9154743166671631688== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Shane, Looks good to me. I know we discussed a possible API for Solder to support the error messages, but can't recall (and didn't write it down, doh!) what you suggested. Can you remember? Thanks Ken On Tue, Sep 6, 2011 at 8:23 PM, Shane Bryzak wrote: > People present: > > Jason Porter > Ken Finnigan > Shane Bryzak > > 1) Standardised error codes > > We discussed the idea of implementing standard error codes throughout > all Seam modules. These error codes would be unique, and allow Seam > developers to reference a central database (such as Seam University) > describing each error and possible workarounds. The error codes > themselves will be prefixed with a 2 or 3 letter code (that represents > the module), followed by a number. For example: > > [SEC-1234] Invalid credentials supplied > > The SEC prefix represents an exception in the Seam Security module. > Other modules would have different codes, for example CAT =3D Seam Catch, > VAL =3D Seam Validation, SVL =3D Seam Servlet, and so forth. The number > part of the error code will start at 0000 for each module. The error > message itself should support internationalisation, which will be a > bonus to our non-english speaking users. Each module will define its > own internationalised message resources. Ken is going to work on > creating a new API in Solder which we can use to perform the logging of > these errors. > > 2) Inter-module dependencies > > The second topic we discussed was how we manage dependencies between > modules. It was agreed that wherever possible, dependencies should be > optional. An example of this is the dependency that seam-faces has on > seam-catch. In some cases it may be necessary for a module to have a > hard dependency on another module, however if this becomes an issue in > the future we may look at alternatives such as creating sub-modules that > separate the integration from the rest of the module. > > If anyone has any questions, feel free to ask. We will be holding the > DWG meeting in TeamSpeak once per month, on the first tuesday of the > month - details can be found in the seam-dev calendar. > > Thanks, > Shane > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > --===============9154743166671631688== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" U2hhbmUsPGJyPjxicj5Mb29rcyBnb29kIHRvIG1lLjxicj48YnI+SSBrbm93IHdlIGRpc2N1c3Nl ZCBhIHBvc3NpYmxlIEFQSSBmb3IgU29sZGVyIHRvIHN1cHBvcnQgdGhlIGVycm9yIG1lc3NhZ2Vz LCBidXQgY2FuJiMzOTt0IHJlY2FsbCAoYW5kIGRpZG4mIzM5O3Qgd3JpdGUgaXQgZG93biwgZG9o ISkgd2hhdCB5b3Ugc3VnZ2VzdGVkLqAgQ2FuIHlvdSByZW1lbWJlcj88YnI+PGJyPlRoYW5rczxi cj4KS2VuPGJyPjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2VwIDYs IDIwMTEgYXQgODoyMyBQTSwgU2hhbmUgQnJ5emFrIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJl Zj0ibWFpbHRvOnNicnl6YWtAcmVkaGF0LmNvbSI+c2JyeXpha0ByZWRoYXQuY29tPC9hPiZndDs8 L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJt YXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6 MWV4OyI+ClBlb3BsZSBwcmVzZW50Ojxicj4KPGJyPgogoCBKYXNvbiBQb3J0ZXI8YnI+CiCgIEtl biBGaW5uaWdhbjxicj4KIKAgU2hhbmUgQnJ5emFrPGJyPgo8YnI+CjEpIFN0YW5kYXJkaXNlZCBl cnJvciBjb2Rlczxicj4KPGJyPgpXZSBkaXNjdXNzZWQgdGhlIGlkZWEgb2YgaW1wbGVtZW50aW5n IHN0YW5kYXJkIGVycm9yIGNvZGVzIHRocm91Z2hvdXQ8YnI+CmFsbCBTZWFtIG1vZHVsZXMuIKBU aGVzZSBlcnJvciBjb2RlcyB3b3VsZCBiZSB1bmlxdWUsIGFuZCBhbGxvdyBTZWFtPGJyPgpkZXZl bG9wZXJzIHRvIHJlZmVyZW5jZSBhIGNlbnRyYWwgZGF0YWJhc2UgKHN1Y2ggYXMgU2VhbSBVbml2 ZXJzaXR5KTxicj4KZGVzY3JpYmluZyBlYWNoIGVycm9yIGFuZCBwb3NzaWJsZSB3b3JrYXJvdW5k cy4goFRoZSBlcnJvciBjb2Rlczxicj4KdGhlbXNlbHZlcyB3aWxsIGJlIHByZWZpeGVkIHdpdGgg YSAyIG9yIDMgbGV0dGVyIGNvZGUgKHRoYXQgcmVwcmVzZW50czxicj4KdGhlIG1vZHVsZSksIGZv bGxvd2VkIGJ5IGEgbnVtYmVyLiCgRm9yIGV4YW1wbGU6PGJyPgo8YnI+CltTRUMtMTIzNF0gSW52 YWxpZCBjcmVkZW50aWFscyBzdXBwbGllZDxicj4KPGJyPgpUaGUgU0VDIHByZWZpeCByZXByZXNl bnRzIGFuIGV4Y2VwdGlvbiBpbiB0aGUgU2VhbSBTZWN1cml0eSBtb2R1bGUuPGJyPgpPdGhlciBt b2R1bGVzIHdvdWxkIGhhdmUgZGlmZmVyZW50IGNvZGVzLCBmb3IgZXhhbXBsZSBDQVQgPSBTZWFt IENhdGNoLDxicj4KVkFMID0gU2VhbSBWYWxpZGF0aW9uLCBTVkwgPSBTZWFtIFNlcnZsZXQsIGFu ZCBzbyBmb3J0aC4goFRoZSBudW1iZXI8YnI+CnBhcnQgb2YgdGhlIGVycm9yIGNvZGUgd2lsbCBz dGFydCBhdCAwMDAwIGZvciBlYWNoIG1vZHVsZS4goFRoZSBlcnJvcjxicj4KbWVzc2FnZSBpdHNl bGYgc2hvdWxkIHN1cHBvcnQgaW50ZXJuYXRpb25hbGlzYXRpb24sIHdoaWNoIHdpbGwgYmUgYTxi cj4KYm9udXMgdG8gb3VyIG5vbi1lbmdsaXNoIHNwZWFraW5nIHVzZXJzLiCgRWFjaCBtb2R1bGUg d2lsbCBkZWZpbmUgaXRzPGJyPgpvd24gaW50ZXJuYXRpb25hbGlzZWQgbWVzc2FnZSByZXNvdXJj ZXMuIKBLZW4gaXMgZ29pbmcgdG8gd29yayBvbjxicj4KY3JlYXRpbmcgYSBuZXcgQVBJIGluIFNv bGRlciB3aGljaCB3ZSBjYW4gdXNlIHRvIHBlcmZvcm0gdGhlIGxvZ2dpbmcgb2Y8YnI+CnRoZXNl IGVycm9ycy48YnI+Cjxicj4KMikgSW50ZXItbW9kdWxlIGRlcGVuZGVuY2llczxicj4KPGJyPgpU aGUgc2Vjb25kIHRvcGljIHdlIGRpc2N1c3NlZCB3YXMgaG93IHdlIG1hbmFnZSBkZXBlbmRlbmNp ZXMgYmV0d2Vlbjxicj4KbW9kdWxlcy4goEl0IHdhcyBhZ3JlZWQgdGhhdCB3aGVyZXZlciBwb3Nz aWJsZSwgZGVwZW5kZW5jaWVzIHNob3VsZCBiZTxicj4Kb3B0aW9uYWwuIKBBbiBleGFtcGxlIG9m IHRoaXMgaXMgdGhlIGRlcGVuZGVuY3kgdGhhdCBzZWFtLWZhY2VzIGhhcyBvbjxicj4Kc2VhbS1j YXRjaC4goEluIHNvbWUgY2FzZXMgaXQgbWF5IGJlIG5lY2Vzc2FyeSBmb3IgYSBtb2R1bGUgdG8g aGF2ZSBhPGJyPgpoYXJkIGRlcGVuZGVuY3kgb24gYW5vdGhlciBtb2R1bGUsIGhvd2V2ZXIgaWYg dGhpcyBiZWNvbWVzIGFuIGlzc3VlIGluPGJyPgp0aGUgZnV0dXJlIHdlIG1heSBsb29rIGF0IGFs dGVybmF0aXZlcyBzdWNoIGFzIGNyZWF0aW5nIHN1Yi1tb2R1bGVzIHRoYXQ8YnI+CnNlcGFyYXRl IHRoZSBpbnRlZ3JhdGlvbiBmcm9tIHRoZSByZXN0IG9mIHRoZSBtb2R1bGUuPGJyPgo8YnI+Cklm IGFueW9uZSBoYXMgYW55IHF1ZXN0aW9ucywgZmVlbCBmcmVlIHRvIGFzay4goFdlIHdpbGwgYmUg aG9sZGluZyB0aGU8YnI+CkRXRyBtZWV0aW5nIGluIFRlYW1TcGVhayBvbmNlIHBlciBtb250aCwg b24gdGhlIGZpcnN0IHR1ZXNkYXkgb2YgdGhlPGJyPgptb250aCAtIGRldGFpbHMgY2FuIGJlIGZv dW5kIGluIHRoZSBzZWFtLWRldiBjYWxlbmRhci48YnI+Cjxicj4KVGhhbmtzLDxicj4KU2hhbmU8 YnI+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpz ZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5q Ym9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0iX2Js YW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9h Pjxicj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj4K --===============9154743166671631688==-- From sbryzak at redhat.com Mon Sep 19 18:19:54 2011 Content-Type: multipart/mixed; boundary="===============8569360284495720260==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Tue, 20 Sep 2011 08:19:51 +1000 Message-ID: <4E77C007.5070505@redhat.com> In-Reply-To: 4E77460E.5070304@redhat.com --===============8569360284495720260== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Was it decided who would take care of the testsuite restructure? I must = admit I wasn't paying much attention during this discussion ;) On 19/09/11 23:39, Jozef Hartinger wrote: > INTEGRATION TESTS > > Structure: > > - api > - impl > - testsuite / src / test / java > > Container-specific issues > - there will be a BaseDeploymentFactory that creates base deployment = > based on a system property (arquillian container name) > - there will be no common package scheme for now > > Default profile > - weld embedded > - skipped tests if weld embedded does not make sense in the context of = > the module > > > FUNCTIONAL TESTS > - m4 will be used to generate pom files from our templates (stored in = > Seam QA github) > --===============8569360284495720260==-- From lightguard.jp at gmail.com Mon Sep 19 18:24:48 2011 Content-Type: multipart/mixed; boundary="===============6771495725401187186==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Mon, 19 Sep 2011 16:24:42 -0600 Message-ID: <255062B5-702B-4721-946A-DA68413BC689@gmail.com> In-Reply-To: 4E77C007.5070505@redhat.com --===============6771495725401187186== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable No, we didn't assign it to anyone. = Sent from my iPhone On Sep 19, 2011, at 16:19, Shane Bryzak wrote: > Was it decided who would take care of the testsuite restructure? I must = > admit I wasn't paying much attention during this discussion ;) > = > On 19/09/11 23:39, Jozef Hartinger wrote: >> INTEGRATION TESTS >> = >> Structure: >> = >> - api >> - impl >> - testsuite / src / test / java >> = >> Container-specific issues >> - there will be a BaseDeploymentFactory that creates base deployment = >> based on a system property (arquillian container name) >> - there will be no common package scheme for now >> = >> Default profile >> - weld embedded >> - skipped tests if weld embedded does not make sense in the context of = >> the module >> = >> = >> FUNCTIONAL TESTS >> - m4 will be used to generate pom files from our templates (stored in = >> Seam QA github) >> = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============6771495725401187186==-- From john.d.ament at gmail.com Mon Sep 19 18:45:33 2011 Content-Type: multipart/mixed; boundary="===============7315110557785341191==" MIME-Version: 1.0 From: John D. Ament To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Mon, 19 Sep 2011 18:45:33 -0400 Message-ID: In-Reply-To: 255062B5-702B-4721-946A-DA68413BC689@gmail.com --===============7315110557785341191== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Good. I'm scratching my head about some of my pull requests. JMS is a bit overly complicated. On Mon, Sep 19, 2011 at 6:24 PM, Jason Porter wr= ote: > No, we didn't assign it to anyone. > > Sent from my iPhone > > On Sep 19, 2011, at 16:19, Shane Bryzak wrote: > > > Was it decided who would take care of the testsuite restructure? I must > > admit I wasn't paying much attention during this discussion ;) > > > > On 19/09/11 23:39, Jozef Hartinger wrote: > >> INTEGRATION TESTS > >> > >> Structure: > >> > >> - api > >> - impl > >> - testsuite / src / test / java > >> > >> Container-specific issues > >> - there will be a BaseDeploymentFactory that creates base deployment > >> based on a system property (arquillian container name) > >> - there will be no common package scheme for now > >> > >> Default profile > >> - weld embedded > >> - skipped tests if weld embedded does not make sense in the context of > >> the module > >> > >> > >> FUNCTIONAL TESTS > >> - m4 will be used to generate pom files from our templates (stored in > >> Seam QA github) > >> > > > > _______________________________________________ > > seam-dev mailing list > > seam-dev(a)lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/seam-dev > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > --===============7315110557785341191== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" R29vZC6gIEkmIzM5O20gc2NyYXRjaGluZyBteSBoZWFkIGFib3V0IHNvbWUgb2YgbXkgcHVsbCBy ZXF1ZXN0cy6gIEpNUyBpcyBhIGJpdCBvdmVybHkgY29tcGxpY2F0ZWQuPGJyPjxicj48ZGl2IGNs YXNzPSJnbWFpbF9xdW90ZSI+T24gTW9uLCBTZXAgMTksIDIwMTEgYXQgNjoyNCBQTSwgSmFzb24g UG9ydGVyIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmxpZ2h0Z3VhcmQuanBA Z21haWwuY29tIj5saWdodGd1YXJkLmpwQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8 YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij5Obywgd2Ug ZGlkbiYjMzk7dCBhc3NpZ24gaXQgdG8gYW55b25lLjxicj4KPGJyPgpTZW50IGZyb20gbXkgaVBo b25lPGJyPgo8ZGl2PjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxicj4KT24gU2VwIDE5LCAy MDExLCBhdCAxNjoxOSwgU2hhbmUgQnJ5emFrICZsdDs8YSBocmVmPSJtYWlsdG86c2JyeXpha0By ZWRoYXQuY29tIj5zYnJ5emFrQHJlZGhhdC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+Cjxicj4KJmd0 OyBXYXMgaXQgZGVjaWRlZCB3aG8gd291bGQgdGFrZSBjYXJlIG9mIHRoZSB0ZXN0c3VpdGUgcmVz dHJ1Y3R1cmU/IKBJIG11c3Q8YnI+CiZndDsgYWRtaXQgSSB3YXNuJiMzOTt0IHBheWluZyBtdWNo IGF0dGVudGlvbiBkdXJpbmcgdGhpcyBkaXNjdXNzaW9uIDspPGJyPgomZ3Q7PGJyPgomZ3Q7IE9u IDE5LzA5LzExIDIzOjM5LCBKb3plZiBIYXJ0aW5nZXIgd3JvdGU6PGJyPgomZ3Q7Jmd0OyBJTlRF R1JBVElPTiBURVNUUzxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7IFN0cnVjdHVyZTo8YnI+CiZn dDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAtIGFwaTxicj4KJmd0OyZndDsgLSBpbXBsPGJyPgomZ3Q7Jmd0 OyAtIHRlc3RzdWl0ZSAvIHNyYyAvIHRlc3QgLyBqYXZhPGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZn dDsgQ29udGFpbmVyLXNwZWNpZmljIGlzc3Vlczxicj4KJmd0OyZndDsgLSB0aGVyZSB3aWxsIGJl IGEgQmFzZURlcGxveW1lbnRGYWN0b3J5IHRoYXQgY3JlYXRlcyBiYXNlIGRlcGxveW1lbnQ8YnI+ CiZndDsmZ3Q7IGJhc2VkIG9uIGEgc3lzdGVtIHByb3BlcnR5IChhcnF1aWxsaWFuIGNvbnRhaW5l ciBuYW1lKTxicj4KJmd0OyZndDsgLSB0aGVyZSB3aWxsIGJlIG5vIGNvbW1vbiBwYWNrYWdlIHNj aGVtZSBmb3Igbm93PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgRGVmYXVsdCBwcm9maWxlPGJy PgomZ3Q7Jmd0OyAtIHdlbGQgZW1iZWRkZWQ8YnI+CiZndDsmZ3Q7IC0gc2tpcHBlZCB0ZXN0cyBp ZiB3ZWxkIGVtYmVkZGVkIGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW4gdGhlIGNvbnRleHQgb2Y8YnI+ CiZndDsmZ3Q7IHRoZSBtb2R1bGU8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZn dDsgRlVOQ1RJT05BTCBURVNUUzxicj4KJmd0OyZndDsgLSBtNCB3aWxsIGJlIHVzZWQgdG8gZ2Vu ZXJhdGUgcG9tIGZpbGVzIGZyb20gb3VyIHRlbXBsYXRlcyAoc3RvcmVkIGluPGJyPgomZ3Q7Jmd0 OyBTZWFtIFFBIGdpdGh1Yik8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7PGJyPgomZ3Q7IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7IHNlYW0tZGV2 IG1haWxpbmcgbGlzdDxicj4KJmd0OyA8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJv c3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgomZ3Q7IDxhIGhyZWY9Imh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2 PC9hPjxicj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnI+CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxp c3RzLmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0i aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1k ZXY8L2E+PGJyPgo8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPgo= --===============7315110557785341191==-- From lightguard.jp at gmail.com Mon Sep 19 23:45:32 2011 Content-Type: multipart/mixed; boundary="===============2570396496537251723==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: [seam-dev] Meeting 2011-09-21 Date: Mon, 19 Sep 2011 21:45:10 -0600 Message-ID: --===============2570396496537251723== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Community Update about F2F Meeting - Logging - Testing Structure Update - Examples - 3.1.0.Beta3 -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============2570396496537251723== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PHVsPjxsaT5Db21tdW5pdHkgVXBkYXRlIGFib3V0IEYyRiBNZWV0aW5nPC9saT48bGk+TG9nZ2lu ZzwvbGk+PGxpPlRlc3RpbmcgU3RydWN0dXJlIFVwZGF0ZTwvbGk+PGxpPkV4YW1wbGVzPC9saT48 bGk+My4xLjAuQmV0YTM8L2xpPjwvdWw+PGRpdj48YnI+PC9kaXY+LS0gPGJyPkphc29uIFBvcnRl cjxicj48YSBocmVmPSJodHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb20iIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3BvdC5jb208L2E+PGJyPgoKPGEgaHJl Zj0iaHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6 Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPjxicj5Tb2Z0d2FyZSBFbmdpbmVlcjxi cj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2YgU2VhbSBDYXRjaCAtIE5leHQgR2Vu ZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48YnI+UEdQIGtleSBpZDogOTI2Q0NG RjU8YnI+CgpQR1Aga2V5IGF2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL2tleXNlcnZlci5u ZXQiIHRhcmdldD0iX2JsYW5rIj5rZXlzZXJ2ZXIubmV0PC9hPiwgPGEgaHJlZj0iaHR0cDovL3Bn cC5taXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+cGdwLm1pdC5lZHU8L2E+PGJyPgo= --===============2570396496537251723==-- From lightguard.jp at gmail.com Tue Sep 20 02:00:15 2011 Content-Type: multipart/mixed; boundary="===============8684733705608810784==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Mon, 19 Sep 2011 23:59:54 -0600 Message-ID: --===============8684733705608810784== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable The Home idea https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java/se= am/example/confbuzz/ConferenceInstance.java The Query idea https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java/se= am/example/confbuzz/TodaysConferencesQuery.java The main thing that I would change with the Query class above is to use named queries, thus espousing the generally accepted best practice in default applications. I understand this doesn't fill all the gaps of the older SAF from Seam 2, but I think it works for the majority of cases, and it also helps people understand the best way to do things instead of relying on the magic of SAF from Seam 2 (which I have found to be a major problem in projects and teams I have worked with over the last three years). I've spoken with Lincoln about this and there are two JIRAs ( https://issues.jboss.org/browse/SEAMFORGE-280 and https://issues.jboss.org/browse/SEAMFORGE-279) to have Forge generate this via the JPA plugin or perhaps Seam Persistence plugin. Discuss. -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============8684733705608810784== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdj5UaGUgSG9tZSBpZGVhPC9kaXY+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3NlYW0v c2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9qYXZhL3NlYW0vZXhh bXBsZS9jb25mYnV6ei9Db25mZXJlbmNlSW5zdGFuY2UuamF2YSI+aHR0cHM6Ly9naXRodWIuY29t L3NlYW0vc2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9qYXZhL3Nl YW0vZXhhbXBsZS9jb25mYnV6ei9Db25mZXJlbmNlSW5zdGFuY2UuamF2YTwvYT48YnIgY2xlYXI9 ImFsbCI+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSBRdWVyeSBpZGVhPC9kaXY+PGRpdj48YSBo cmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VhbS9zZWFtLWV4YW1wbGUtY29uZmJ1enovYmxvYi9k ZXZlbG9wL3NyYy9tYWluL2phdmEvc2VhbS9leGFtcGxlL2NvbmZidXp6L1RvZGF5c0NvbmZlcmVu Y2VzUXVlcnkuamF2YSI+aHR0cHM6Ly9naXRodWIuY29tL3NlYW0vc2VhbS1leGFtcGxlLWNvbmZi dXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9qYXZhL3NlYW0vZXhhbXBsZS9jb25mYnV6ei9Ub2Rh eXNDb25mZXJlbmNlc1F1ZXJ5LmphdmE8L2E+PC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2PlRo ZSBtYWluIHRoaW5nIHRoYXQgSSB3b3VsZCBjaGFuZ2Ugd2l0aCB0aGUgUXVlcnkgY2xhc3MgYWJv dmUgaXMgdG8gdXNlIG5hbWVkIHF1ZXJpZXMsIHRodXMgZXNwb3VzaW5nIHRoZSBnZW5lcmFsbHkg YWNjZXB0ZWQgYmVzdCBwcmFjdGljZSBpbiBkZWZhdWx0IGFwcGxpY2F0aW9ucy4gSSB1bmRlcnN0 YW5kIHRoaXMgZG9lc24mIzM5O3QgZmlsbCBhbGwgdGhlIGdhcHMgb2YgdGhlIG9sZGVyIFNBRiBm cm9tIFNlYW0gMiwgYnV0IEkgdGhpbmsgaXQgd29ya3MgZm9yIHRoZSBtYWpvcml0eSBvZiBjYXNl cywgYW5kIGl0IGFsc28gaGVscHMgcGVvcGxlIHVuZGVyc3RhbmQgdGhlIGJlc3Qgd2F5IHRvIGRv IHRoaW5ncyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIG1hZ2ljIG9mIFNBRiBmcm9tIFNlYW0g MiAod2hpY2ggSSBoYXZlIGZvdW5kIHRvIGJlIGEgbWFqb3IgcHJvYmxlbSBpbiBwcm9qZWN0cyBh bmQgdGVhbXMgSSBoYXZlIHdvcmtlZCB3aXRoIG92ZXIgdGhlIGxhc3QgdGhyZWUgeWVhcnMpLjwv ZGl2PgoKPGRpdj48YnI+PC9kaXY+PGRpdj5JJiMzOTt2ZSBzcG9rZW4gd2l0aCBMaW5jb2xuIGFi b3V0IHRoaXMgYW5kIHRoZXJlIGFyZSB0d28gSklSQXMgKDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVz Lmpib3NzLm9yZy9icm93c2UvU0VBTUZPUkdFLTI4MCI+aHR0cHM6Ly9pc3N1ZXMuamJvc3Mub3Jn L2Jyb3dzZS9TRUFNRk9SR0UtMjgwPC9hPsKgYW5kwqA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5q Ym9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzkiPmh0dHBzOi8vaXNzdWVzLmpib3NzLm9yZy9i cm93c2UvU0VBTUZPUkdFLTI3OTwvYT4pIHRvIGhhdmUgRm9yZ2UgZ2VuZXJhdGUgdGhpcyB2aWEg dGhlIEpQQSBwbHVnaW4gb3IgcGVyaGFwcyBTZWFtIFBlcnNpc3RlbmNlIHBsdWdpbi48L2Rpdj4K CjxkaXY+PGJyPjwvZGl2PjxkaXY+RGlzY3Vzcy48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVyPGJy PjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0 cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly90d2l0 dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPgoKPGJyPlNvZnR3YXJlIEVuZ2luZWVyPGJyPk9w ZW4gU291cmNlIEFkdm9jYXRlPGJyPkF1dGhvciBvZiBTZWFtIENhdGNoIC0gTmV4dCBHZW5lcmF0 aW9uIEphdmEgRXhjZXB0aW9uIEhhbmRsaW5nPGJyPjxicj5QR1Aga2V5IGlkOiA5MjZDQ0ZGNTxi cj5QR1Aga2V5IGF2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL2tleXNlcnZlci5uZXQiIHRh cmdldD0iX2JsYW5rIj5rZXlzZXJ2ZXIubmV0PC9hPiwgPGEgaHJlZj0iaHR0cDovL3BncC5taXQu ZWR1IiB0YXJnZXQ9Il9ibGFuayI+cGdwLm1pdC5lZHU8L2E+PGJyPgoKCg== --===============8684733705608810784==-- From xsalefter at yahoo.com Tue Sep 20 03:47:37 2011 Content-Type: multipart/mixed; boundary="===============3262433131049018556==" MIME-Version: 1.0 From: xsalefter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 00:47:35 -0700 Message-ID: <1316504855.4917.YahooMailNeo@web160812.mail.bf1.yahoo.com> In-Reply-To: CAF9TksPvxmM-ZRtR2W2QPeisrEZ=CmHm6+6wP07+pqVjdrRtUQ@mail.gmail.com --===============3262433131049018556== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi all.. I know that I never involved on this mailing-list so much, nor con= tribute things to the community. But because I have an experience with seam= 2 and used seam gen extensively (and thus use seam's EntityQuery and Entit= yHome a lot) in some project, I have a thought about this. EntityQuery anda EntityHome is perfect in case you want to creating an simp= le CRUD application. Well, not as simple as is. I ever involved in a projec= t with 40 more database tables with quite extensive financial transaction, = and use an EntityQuery and EntityHome a lot. The main problem with these cl= asses is that, It's hard (well, at least, for me) to make your code consist= ent.=C2=A0What I mean by consistent is that, it is confusing to determine w= hether the classes is a part of your UI layer, or service/domain-model laye= r. Or where you add new functionality to satisfied a specifics requirement.= The study case is maybe like this: Let say that we have a module named accounting transaction. And we want to = create a input transaction page, thus we have a TransactionHome.xhtml backe= d with TransactionHome.java. Now the problems occurs. Because we want a cha= rt of account list in the TransactionHome.xhtml, where is better place to p= ut the logic to call the chart of account list? In the TransactionHome.java= , or ChartOfAccountList.java?=C2=A0 In the beginning I put it in the ChartOfAccountList.java, and start to real= ize that seam's EntityList is specialized class to create a page with conta= ins a rich datatable search option, paging, and sorting. It will be strange= to the code if try to add non searching/sorting/paging on it. Then I think= to back to good-old DAO object, and thinking again about the backing bean:= I need to call/inject the DAO in some backing-bean, but where? Transaction= Home.java? Well, TransactionHome already have getEntityManager(), so if I p= ut the DAO in the ***Home, it will looks overlapping, and bit odd. Then whe= n I thinking again about the EntityHome, I'm not sure whether I need to tre= at this class as UI or Service class.=C2=A0You see, this is simple case stu= dy (don't get me start with "The list of Chart Of Account need to aligning = with the logged in user's departments and user's role. And make sure that a= n user with level A have a $xxx limit transaction, where level B have $xxx limit").=C2=A0 My purpose is not to blame something or rant to something, but instead, giv= e an idea whether is it good enough to leave ***Home and ***Query concept, = and back to at least=C2=A0 Entity-Service-BackingBean-View model? It looks "verbose", I know, but at l= east we have a "service" layer, which is "centralized" place to write a bus= iness logic in our application. We could treat the "service" as just-plain-= stateless classes (EJB 3.1 classes or only seam-persistence classes with mi= nimal coupled with the front-end layer), and put the richness of Weld and S= eam 3 maybe in the UI and view layer. Well, I know this is personal view, from me, and my experience. Thus, just = ignore if in case this is annoying and not fit with your purpose/target. Thanks, xsalefter > >The Home ideahttps://github.com/seam/seam-example-confbuzz/blob/develop/sr= c/main/java/seam/example/confbuzz/ConferenceInstance.java > > > >The Query idea >https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java/s= eam/example/confbuzz/TodaysConferencesQuery.java > > >The main thing that I would change with the Query class above is to use na= med queries, thus espousing the generally accepted best practice in default= applications. I understand this doesn't fill all the gaps of the older SAF= from Seam 2, but I think it works for the majority of cases, and it also h= elps people understand the best way to do things instead of relying on the = magic of SAF from Seam 2 (which I have found to be a major problem in proje= cts and teams I have worked with over the last three years). > > >I've spoken with Lincoln about this and there are two JIRAs (https://issue= s.jboss.org/browse/SEAMFORGE-280=C2=A0and=C2=A0https://issues.jboss.org/bro= wse/SEAMFORGE-279) to have Forge generate this via the JPA plugin or perhap= s Seam Persistence plugin. > > >Discuss. --===============3262433131049018556== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHk+PGRpdiBzdHlsZT0iY29sb3I6IzAwMDsgYmFja2dyb3VuZC1jb2xvcjojZmZm OyBmb250LWZhbWlseTp0YWhvbWEsIG5ldyB5b3JrLCB0aW1lcywgc2VyaWY7Zm9udC1zaXplOjEw cHQiPjxkaXY+PHNwYW4+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHNpemU9IjIiPkhp IGFsbC4uIEkga25vdyB0aGF0IEkgbmV2ZXIgaW52b2x2ZWQgb24gdGhpcyBtYWlsaW5nLWxpc3Qg c28gbXVjaCwgbm9yIGNvbnRyaWJ1dGUgdGhpbmdzIHRvIHRoZSBjb21tdW5pdHkuIEJ1dCBiZWNh dXNlIEkgaGF2ZSBhbiBleHBlcmllbmNlIHdpdGggc2VhbSAyIGFuZCB1c2VkIHNlYW0gZ2VuIGV4 dGVuc2l2ZWx5IChhbmQgdGh1cyB1c2Ugc2VhbSdzIEVudGl0eVF1ZXJ5IGFuZCBFbnRpdHlIb21l IGEgbG90KSBpbiBzb21lIHByb2plY3QsIEkgaGF2ZSBhIHRob3VnaHQgYWJvdXQgdGhpcy48L2Zv bnQ+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxl PSJmb250LXNpemU6IDEzcHg7ICI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJB cHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyAiPkVudGl0eVF1ZXJ5IGFu ZGEgRW50aXR5SG9tZSBpcyBwZXJmZWN0IGluIGNhc2UgeW91IHdhbnQgdG8gY3JlYXRpbmcgYW4g c2ltcGxlIENSVUQgYXBwbGljYXRpb24uIFdlbGwsIG5vdCBhcyBzaW1wbGUgYXMgaXMuIEkgZXZl ciBpbnZvbHZlZCBpbiBhIHByb2plY3Qgd2l0aCA0MCBtb3JlIGRhdGFiYXNlIHRhYmxlcyB3aXRo IHF1aXRlIGV4dGVuc2l2ZSBmaW5hbmNpYWwgdHJhbnNhY3Rpb24sIGFuZCB1c2UgYW4gRW50aXR5 UXVlcnkgYW5kIEVudGl0eUhvbWUgYSBsb3QuIFRoZSBtYWluIHByb2JsZW0gd2l0aCB0aGVzZSBj bGFzc2VzIGlzIHRoYXQsIEl0J3MgaGFyZCAod2VsbCwgYXQgbGVhc3QsIGZvciBtZSkgdG8KIG1h a2UgeW91ciBjb2RlIGNvbnNpc3RlbnQuJm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJBcHBsZS1z dHlsZS1zcGFuIiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyAiPldoYXQgSSBtZWFuIGJ5IGNvbnNp c3RlbnQgaXMgdGhhdCwgaTwvc3Bhbj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5 bGU9ImZvbnQtc2l6ZTogMTNweDsgIj50IGlzIGNvbmZ1c2luZyB0byBkZXRlcm1pbmUgd2hldGhl ciB0aGUgY2xhc3NlcyBpcyBhIHBhcnQgb2YgeW91ciBVSSBsYXllciwgb3Igc2VydmljZS9kb21h aW4tbW9kZWwgbGF5ZXIuIE9yIHdoZXJlIHlvdSBhZGQgbmV3IGZ1bmN0aW9uYWxpdHkgdG8gc2F0 aXNmaWVkIGEgc3BlY2lmaWNzIHJlcXVpcmVtZW50LiBUaGUgc3R1ZHkgY2FzZSBpcyBtYXliZSBs aWtlIHRoaXM6PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4i IHN0eWxlPSJmb250LXNpemU6IDEzcHg7ICI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNs YXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyAiPkxldCBzYXkg dGhhdCB3ZSBoYXZlIGEgbW9kdWxlIG5hbWVkIGFjY291bnRpbmcgdHJhbnNhY3Rpb24uIEFuZCB3 ZSB3YW50IHRvIGNyZWF0ZSBhIGlucHV0IHRyYW5zYWN0aW9uIHBhZ2UsIHRodXMgd2UgaGF2ZSBh IFRyYW5zYWN0aW9uSG9tZS54aHRtbCBiYWNrZWQgd2l0aCBUcmFuc2FjdGlvbkhvbWUuamF2YS4g Tm93IHRoZSBwcm9ibGVtcyBvY2N1cnMuIEJlY2F1c2Ugd2Ugd2FudCBhIGNoYXJ0IG9mIGFjY291 bnQgbGlzdCBpbiB0aGUgVHJhbnNhY3Rpb25Ib21lLnhodG1sLCB3aGVyZSBpcyBiZXR0ZXIgcGxh Y2UgdG8gcHV0IHRoZSBsb2dpYyB0byBjYWxsIHRoZSBjaGFydCBvZiBhY2NvdW50IGxpc3Q/IElu IHRoZSBUcmFuc2FjdGlvbkhvbWUuamF2YSwgb3IKIENoYXJ0T2ZBY2NvdW50TGlzdC5qYXZhPyZu YnNwOzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHls ZT0iZm9udC1zaXplOiAxM3B4OyAiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0i QXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgIj5JbiB0aGUgYmVnaW5u aW5nIEkgcHV0IGl0IGluIHRoZSBDaGFydE9mQWNjb3VudExpc3QuamF2YSwgYW5kIHN0YXJ0IHRv IHJlYWxpemUgdGhhdCBzZWFtJ3MgRW50aXR5TGlzdCBpcyBzcGVjaWFsaXplZCBjbGFzcyB0byBj cmVhdGUgYSBwYWdlIHdpdGggY29udGFpbnMgYSByaWNoIGRhdGF0YWJsZSBzZWFyY2ggb3B0aW9u LCBwYWdpbmcsIGFuZCBzb3J0aW5nLiBJdCB3aWxsIGJlIHN0cmFuZ2UgdG8gdGhlIGNvZGUgaWYg dHJ5IHRvIGFkZCBub24gc2VhcmNoaW5nL3NvcnRpbmcvcGFnaW5nIG9uIGl0LiBUaGVuIEkgdGhp bmsgdG8gYmFjayB0byBnb29kLW9sZCBEQU8gb2JqZWN0LCBhbmQgdGhpbmtpbmcgYWdhaW4gYWJv dXQgdGhlIGJhY2tpbmcgYmVhbjogSSBuZWVkIHRvIGNhbGwvaW5qZWN0IHRoZSBEQU8gaW4gc29t ZSBiYWNraW5nLWJlYW4sIGJ1dCB3aGVyZT8gVHJhbnNhY3Rpb25Ib21lLmphdmE/IFdlbGwsIFRy YW5zYWN0aW9uSG9tZSBhbHJlYWR5IGhhdmUgZ2V0RW50aXR5TWFuYWdlcigpLCBzbyBpZiBJIHB1 dCB0aGUgREFPIGluIHRoZSAqKipIb21lLCBpdCB3aWxsIGxvb2tzIG92ZXJsYXBwaW5nLCBhbmQg Yml0IG9kZC4gVGhlbiB3aGVuIEkgdGhpbmtpbmcgYWdhaW4gYWJvdXQgdGhlIEVudGl0eUhvbWUs IEknbSBub3Qgc3VyZSB3aGV0aGVyIEkgbmVlZCB0byB0cmVhdCB0aGlzIGNsYXNzIGFzIFVJIG9y IFNlcnZpY2UgY2xhc3MuJm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFu IiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OwogIj5Zb3Ugc2VlLCB0aGlzIGlzIHNpbXBsZSBjYXNl IHN0dWR5IChkb24ndCBnZXQgbWUgc3RhcnQgd2l0aCAiVGhlIGxpc3Qgb2YgQ2hhcnQgT2YgQWNj b3VudCBuZWVkIHRvIGFsaWduaW5nIHdpdGggdGhlIGxvZ2dlZCBpbiB1c2VyJ3MgZGVwYXJ0bWVu dHMgYW5kIHVzZXIncyByb2xlLiBBbmQgbWFrZSBzdXJlIHRoYXQgYW4gdXNlciB3aXRoIGxldmVs IEEgaGF2ZSBhICR4eHggbGltaXQgdHJhbnNhY3Rpb24sIHdoZXJlIGxldmVsIEIgaGF2ZSAkeHh4 IGxpbWl0IikuJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxl LXNwYW4iIHN0eWxlPSJmb250LXNpemU6IDEzcHg7ICI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyAiPk15 IHB1cnBvc2UgaXMgbm90IHRvIGJsYW1lIHNvbWV0aGluZyBvciByYW50IHRvIHNvbWV0aGluZywg YnV0IGluc3RlYWQsIGdpdmUgYW4gaWRlYSB3aGV0aGVyIGlzIGl0IGdvb2QgZW5vdWdoIHRvIGxl YXZlICoqKkhvbWUgYW5kICoqKlF1ZXJ5IGNvbmNlcHQsIGFuZCBiYWNrIHRvIGF0IGxlYXN0Jm5i c3A7PC9zcGFuPjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHNpemU9 IjIiPkVudGl0eS1TZXJ2aWNlLUJhY2tpbmdCZWFuLVZpZXcgbW9kZWw/IEl0IGxvb2tzICJ2ZXJi b3NlIiwgSSBrbm93LCBidXQgYXQgbGVhc3Qgd2UgaGF2ZSBhICJzZXJ2aWNlIiBsYXllciwgd2hp Y2ggaXMgImNlbnRyYWxpemVkIiBwbGFjZSB0byB3cml0ZSBhIGJ1c2luZXNzIGxvZ2ljIGluIG91 ciBhcHBsaWNhdGlvbi4gV2UgY291bGQgdHJlYXQgdGhlICJzZXJ2aWNlIiBhcyBqdXN0LXBsYWlu LXN0YXRlbGVzcyBjbGFzc2VzIChFSkIgMy4xIGNsYXNzZXMgb3Igb25seSBzZWFtLXBlcnNpc3Rl bmNlIGNsYXNzZXMgd2l0aCBtaW5pbWFsCiBjb3VwbGVkIHdpdGggdGhlIGZyb250LWVuZCBsYXll ciksIGFuZCBwdXQgdGhlIHJpY2huZXNzIG9mIFdlbGQgYW5kIFNlYW0gMyBtYXliZSBpbiB0aGUg VUkgYW5kIHZpZXcgbGF5ZXIuPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0 eWxlLXNwYW4iIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFzcz0iQXBw bGUtc3R5bGUtc3BhbiIgc2l6ZT0iMiI+V2VsbCwgSSBrbm93IHRoaXMgaXMgcGVyc29uYWwgdmll dywgZnJvbSBtZSwgYW5kIG15IGV4cGVyaWVuY2UuIFRodXMsIGp1c3QgaWdub3JlIGlmIGluIGNh c2UgdGhpcyBpcyBhbm5veWluZyBhbmQgbm90IGZpdCB3aXRoIHlvdXIgcHVycG9zZS90YXJnZXQu PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHNpemU9IjIi Pjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc2l6 ZT0iMiI+VGhhbmtzLDwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNsYXNzPSJBcHBsZS1zdHlsZS1z cGFuIiBzaXplPSIyIj54c2FsZWZ0ZXI8L2ZvbnQ+PC9kaXY+PGRpdj48YmxvY2txdW90ZSBzdHls ZT0iYm9yZGVyLWxlZnQtd2lkdGg6IDJweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3Jk ZXItbGVmdC1jb2xvcjogcmdiKDE2LCAxNiwgMjU1KTsgbWFyZ2luLWxlZnQ6IDVweDsgcGFkZGlu Zy1sZWZ0OiA1cHg7ICI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IHRhaG9tYSwgJ25ldyB5b3Jr JywgdGltZXMsIHNlcmlmOyAiPjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAndGltZXMgbmV3IHJv bWFuJywgJ25ldyB5b3JrJywgdGltZXMsIHNlcmlmOyAiPjxiPjxmb250IGNsYXNzPSJBcHBsZS1z dHlsZS1zcGFuIiBmYWNlPSJ0YWhvbWEsICduZXcgeW9yaycsIHRpbWVzLCBzZXJpZiIgc2l6ZT0i MiI+PGJyPjwvZm9udD48L2I+PGRpdgogaWQ9InlpdjMxMDAxMjg3OCI+PGRpdj48Zm9udCBjbGFz cz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0idGFob21hLCAnbmV3IHlvcmsnLCB0aW1lcywgc2Vy aWYiIHNpemU9IjIiPlRoZSBIb21lIGlkZWE8L2ZvbnQ+PC9kaXY+PGZvbnQgY2xhc3M9IkFwcGxl LXN0eWxlLXNwYW4iIGZhY2U9InRhaG9tYSwgJ25ldyB5b3JrJywgdGltZXMsIHNlcmlmIiBzaXpl PSIyIj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9naXRo dWIuY29tL3NlYW0vc2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9q YXZhL3NlYW0vZXhhbXBsZS9jb25mYnV6ei9Db25mZXJlbmNlSW5zdGFuY2UuamF2YSI+aHR0cHM6 Ly9naXRodWIuY29tL3NlYW0vc2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMv bWFpbi9qYXZhL3NlYW0vZXhhbXBsZS9jb25mYnV6ei9Db25mZXJlbmNlSW5zdGFuY2UuamF2YTwv YT48YnIgY2xlYXI9ImFsbCI+Cgo8L2ZvbnQ+PGRpdj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUt c3BhbiIgZmFjZT0idGFob21hLCAnbmV3IHlvcmsnLCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPjxi cj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0i dGFob21hLCAnbmV3IHlvcmsnLCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPlRoZSBRdWVyeSBpZGVh PC9mb250PjwvZGl2PjxkaXY+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9 Imh0dHBzOi8vZ2l0aHViLmNvbS9zZWFtL3NlYW0tZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVs b3Avc3JjL21haW4vamF2YS9zZWFtL2V4YW1wbGUvY29uZmJ1enovVG9kYXlzQ29uZmVyZW5jZXNR dWVyeS5qYXZhIj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0idGFob21hLCAn bmV3IHlvcmsnLCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPmh0dHBzOi8vZ2l0aHViLmNvbS9zZWFt L3NlYW0tZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVsb3Avc3JjL21haW4vamF2YS9zZWFtL2V4 YW1wbGUvY29uZmJ1enovVG9kYXlzQ29uZmVyZW5jZXNRdWVyeS5qYXZhPC9mb250PjwvYT48L2Rp dj4KCjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGZhY2U9InRhaG9tYSwgJ25l dyB5b3JrJywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZv bnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGZhY2U9InRhaG9tYSwgJ25ldyB5b3JrJywgdGlt ZXMsIHNlcmlmIiBzaXplPSIyIj5UaGUgbWFpbiB0aGluZyB0aGF0IEkgd291bGQgY2hhbmdlIHdp dGggdGhlIFF1ZXJ5IGNsYXNzIGFib3ZlIGlzIHRvIHVzZSBuYW1lZCBxdWVyaWVzLCB0aHVzIGVz cG91c2luZyB0aGUgZ2VuZXJhbGx5IGFjY2VwdGVkIGJlc3QgcHJhY3RpY2UgaW4gZGVmYXVsdCBh cHBsaWNhdGlvbnMuIEkgdW5kZXJzdGFuZCB0aGlzIGRvZXNuJ3QgZmlsbCBhbGwgdGhlIGdhcHMg b2YgdGhlIG9sZGVyIFNBRiBmcm9tIFNlYW0gMiwgYnV0IEkgdGhpbmsgaXQgd29ya3MgZm9yIHRo ZSBtYWpvcml0eSBvZiBjYXNlcywgYW5kIGl0IGFsc28gaGVscHMgcGVvcGxlIHVuZGVyc3RhbmQg dGhlIGJlc3Qgd2F5IHRvIGRvIHRoaW5ncyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIG1hZ2lj IG9mIFNBRiBmcm9tIFNlYW0gMiAod2hpY2ggSSBoYXZlIGZvdW5kIHRvIGJlIGEgbWFqb3IgcHJv YmxlbSBpbiBwcm9qZWN0cyBhbmQgdGVhbXMgSSBoYXZlIHdvcmtlZCB3aXRoIG92ZXIgdGhlIGxh c3QgdGhyZWUgeWVhcnMpLjwvZm9udD48L2Rpdj4KCjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0 eWxlLXNwYW4iIGZhY2U9InRhaG9tYSwgJ25ldyB5b3JrJywgdGltZXMsIHNlcmlmIiBzaXplPSIy Ij48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGZh Y2U9InRhaG9tYSwgJ25ldyB5b3JrJywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5JJ3ZlIHNwb2tl biB3aXRoIExpbmNvbG4gYWJvdXQgdGhpcyBhbmQgdGhlcmUgYXJlIHR3byBKSVJBcyAoPGEgcmVs PSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vaXNzdWVzLmpib3NzLm9y Zy9icm93c2UvU0VBTUZPUkdFLTI4MCI+aHR0cHM6Ly9pc3N1ZXMuamJvc3Mub3JnL2Jyb3dzZS9T RUFNRk9SR0UtMjgwPC9hPiZuYnNwO2FuZCZuYnNwOzxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0i X2JsYW5rIiBocmVmPSJodHRwczovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0y NzkiPmh0dHBzOi8vaXNzdWVzLmpib3NzLm9yZy9icm93c2UvU0VBTUZPUkdFLTI3OTwvYT4pIHRv IGhhdmUgRm9yZ2UgZ2VuZXJhdGUgdGhpcyB2aWEgdGhlIEpQQSBwbHVnaW4gb3IgcGVyaGFwcyBT ZWFtIFBlcnNpc3RlbmNlIHBsdWdpbi48L2ZvbnQ+PC9kaXY+Cgo8ZGl2Pjxmb250IGNsYXNzPSJB cHBsZS1zdHlsZS1zcGFuIiBmYWNlPSJ0YWhvbWEsICduZXcgeW9yaycsIHRpbWVzLCBzZXJpZiIg c2l6ZT0iMiI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNsYXNzPSJBcHBsZS1zdHlsZS1z cGFuIiBmYWNlPSJ0YWhvbWEsICduZXcgeW9yaycsIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+RGlz Y3Vzcy48L2ZvbnQ+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjwv ZGl2PjwvYm9keT48L2h0bWw+ --===============3262433131049018556==-- From jharting at redhat.com Tue Sep 20 04:34:06 2011 Content-Type: multipart/mixed; boundary="===============3613937227392348809==" MIME-Version: 1.0 From: Jozef Hartinger To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Tue, 20 Sep 2011 10:09:33 +0200 Message-ID: <4E784A3D.7000402@redhat.com> In-Reply-To: 255062B5-702B-4721-946A-DA68413BC689@gmail.com --===============3613937227392348809== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Marek is working on integration tests while me and Tomas are working on = functional tests. On 09/20/2011 12:24 AM, Jason Porter wrote: > No, we didn't assign it to anyone. > > Sent from my iPhone > > On Sep 19, 2011, at 16:19, Shane Bryzak wrote: > >> Was it decided who would take care of the testsuite restructure? I must >> admit I wasn't paying much attention during this discussion ;) >> >> On 19/09/11 23:39, Jozef Hartinger wrote: >>> INTEGRATION TESTS >>> >>> Structure: >>> >>> - api >>> - impl >>> - testsuite / src / test / java >>> >>> Container-specific issues >>> - there will be a BaseDeploymentFactory that creates base deployment >>> based on a system property (arquillian container name) >>> - there will be no common package scheme for now >>> >>> Default profile >>> - weld embedded >>> - skipped tests if weld embedded does not make sense in the context of >>> the module >>> >>> >>> FUNCTIONAL TESTS >>> - m4 will be used to generate pom files from our templates (stored in >>> Seam QA github) >>> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev --===============3613937227392348809==-- From sbryzak at redhat.com Tue Sep 20 04:51:51 2011 Content-Type: multipart/mixed; boundary="===============0611013452344847809==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Tue, 20 Sep 2011 18:51:47 +1000 Message-ID: <4E785423.7060404@redhat.com> In-Reply-To: 4E784A3D.7000402@redhat.com --===============0611013452344847809== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Can we please make it a priority to get the Solder testsuite updated to = the new structure and all the tests passing? Once this is done, the = rest of the team can help out by updating the other modules to follow = the same configuration. Shane On 20/09/11 18:09, Jozef Hartinger wrote: > Marek is working on integration tests while me and Tomas are working = > on functional tests. > > On 09/20/2011 12:24 AM, Jason Porter wrote: >> No, we didn't assign it to anyone. >> >> Sent from my iPhone >> >> On Sep 19, 2011, at 16:19, Shane Bryzak wrote: >> >>> Was it decided who would take care of the testsuite restructure? I = >>> must >>> admit I wasn't paying much attention during this discussion ;) >>> >>> On 19/09/11 23:39, Jozef Hartinger wrote: >>>> INTEGRATION TESTS >>>> >>>> Structure: >>>> >>>> - api >>>> - impl >>>> - testsuite / src / test / java >>>> >>>> Container-specific issues >>>> - there will be a BaseDeploymentFactory that creates base deployment >>>> based on a system property (arquillian container name) >>>> - there will be no common package scheme for now >>>> >>>> Default profile >>>> - weld embedded >>>> - skipped tests if weld embedded does not make sense in the context of >>>> the module >>>> >>>> >>>> FUNCTIONAL TESTS >>>> - m4 will be used to generate pom files from our templates (stored in >>>> Seam QA github) >>>> >>> _______________________________________________ >>> seam-dev mailing list >>> seam-dev(a)lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/seam-dev > --===============0611013452344847809==-- From oskutka at redhat.com Tue Sep 20 09:47:06 2011 Content-Type: multipart/mixed; boundary="===============8084646669902579480==" MIME-Version: 1.0 From: =?utf-8?q?Ond=C5=99ej_Skutka_=3Coskutka_at_redhat=2Ecom=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Tue, 20 Sep 2011 15:47:03 +0200 Message-ID: In-Reply-To: 4E785423.7060404@redhat.com --===============8084646669902579480== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, 20 Sep 2011 10:51:47 +0200, Shane Bryzak wro= te: > Can we please make it a priority to get the Solder testsuite updated to > the new structure and all the tests passing? Once this is done, the > rest of the team can help out by updating the other modules to follow > the same configuration. Sure. Marek, can you please focus on this? Thanks, Ondra --===============8084646669902579480==-- From dan.j.allen at gmail.com Tue Sep 20 13:41:48 2011 Content-Type: multipart/mixed; boundary="===============8312519330844739900==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-21 Date: Tue, 20 Sep 2011 13:41:17 -0400 Message-ID: In-Reply-To: CAF9TksP26tmu1381ahPvDBU1gM2wT8hyNOy5ttcLQX2VQKG=hw@mail.gmail.com --===============8312519330844739900== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Additional items (perhaps sub-points of the community update): - strategy for kickstarting the migration guide effort - gradle prototyping & future plans -Dan On Mon, Sep 19, 2011 at 23:45, Jason Porter wro= te: > > - Community Update about F2F Meeting > - Logging > - Testing Structure Update > - Examples > - 3.1.0.Beta3 > > > -- > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============8312519330844739900== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QWRkaXRpb25hbCBpdGVtcyAocGVyaGFwcyBzdWItcG9pbnRzIG9mIHRoZSBjb21tdW5pdHkgdXBk YXRlKTo8ZGl2Pjxicj48L2Rpdj48ZGl2Pi0gc3RyYXRlZ3kgZm9yIGtpY2tzdGFydGluZyB0aGUg bWlncmF0aW9uIGd1aWRlIGVmZm9ydDwvZGl2PjxkaXY+LSBncmFkbGUgcHJvdG90eXBpbmcgJmFt cDsgZnV0dXJlIHBsYW5zPC9kaXY+PGRpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi1EYW48YnI+Cgo8 YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIE1vbiwgU2VwIDE5LCAyMDExIGF0IDIzOjQ1 LCBKYXNvbiBQb3J0ZXIgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86bGlnaHRn dWFyZC5qcEBnbWFpbC5jb20iPmxpZ2h0Z3VhcmQuanBAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+ IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46 MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+ Cgo8dWw+PGxpPkNvbW11bml0eSBVcGRhdGUgYWJvdXQgRjJGIE1lZXRpbmc8L2xpPjxsaT5Mb2dn aW5nPC9saT48bGk+VGVzdGluZyBTdHJ1Y3R1cmUgVXBkYXRlPC9saT48bGk+RXhhbXBsZXM8L2xp PjxsaT4zLjEuMC5CZXRhMzwvbGk+PC91bD48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9y dGVyPGJyPjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+CgoKCjxh IGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanAiIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwPC9hPjxicj48YnI+U29mdHdhcmUgRW5naW5l ZXI8YnI+T3BlbiBTb3VyY2UgQWR2b2NhdGU8YnI+QXV0aG9yIG9mIFNlYW0gQ2F0Y2ggLSBOZXh0 IEdlbmVyYXRpb24gSmF2YSBFeGNlcHRpb24gSGFuZGxpbmc8YnI+PGJyPlBHUCBrZXkgaWQ6IDky NkNDRkY1PGJyPgoKCgpQR1Aga2V5IGF2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL2tleXNl cnZlci5uZXQiIHRhcmdldD0iX2JsYW5rIj5rZXlzZXJ2ZXIubmV0PC9hPiwgPGEgaHJlZj0iaHR0 cDovL3BncC5taXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+cGdwLm1pdC5lZHU8L2E+PGJyPgo8YnI+ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0t ZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3Nz Lm9yZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9s aXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJfYmxhbmsi Pmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJy Pgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9k aXY+LS0gPGJyPjxkaXY+RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVy LCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXgg VXNlciAjMjMxNTk3PGJyPjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9w cm9maWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29v Z2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRw Oi8vbW9qYXZlbGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNv bTwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+ PC9kaXY+PGJyPgo8L2Rpdj48L2Rpdj4K --===============8312519330844739900==-- From dan.j.allen at gmail.com Tue Sep 20 13:55:15 2011 Content-Type: multipart/mixed; boundary="===============1601621939978528080==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 13:54:44 -0400 Message-ID: In-Reply-To: 1316504855.4917.YahooMailNeo@web160812.mail.bf1.yahoo.com --===============1601621939978528080== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable xsalefter, Thanks, this is valuable feedback and certainly usage patterns to keep in mind when designing the new iteration of these components. In numerous conversations that I've had with developers familiar with Seam 2, the common theme is that *Home and *Query components are not the ideal design. They lead developers into tight corners exactly in the way you are describing. Thus, we likely won't be following the status quo (though, it's not too big of an effort to port the existing functionality to CDI, so if someone would like to work on that, we won't discourage it). Instead, I think these components should provide boilerplate functionality, yet be flexible and easily tuned to the needs of the developer. I think you're right in that going back to a generic DAO design might be a more reasonable strategy. I don't think developer expect to code entirely in XML, they simply don't want to type the same boilerplate over and over again. I like Jason's idea of using named queries. Keep in mind we could read the queries as a suggestion and produce more sophisticated queries in an extension...so we aren't limited to what named queries support today. We've also been considering supporting finder "missing" methods that build a query from the name of the method (or a set of annotations on the method). Whatever we decide, this should be the framework code that forge uses when generating CRUD applications. Let's make it something that we aren't ashamed of having in our projects ;) -Dan p.s. I also recommend renaming SAF, because it's a really confusing term. Something like "entity framework" is far more sensible. On Tue, Sep 20, 2011 at 03:47, xsalefter wrote: > Hi all.. I know that I never involved on this mailing-list so much, nor > contribute things to the community. But because I have an experience with > seam 2 and used seam gen extensively (and thus use seam's EntityQuery and > EntityHome a lot) in some project, I have a thought about this. > > EntityQuery anda EntityHome is perfect in case you want to creating an > simple CRUD application. Well, not as simple as is. I ever involved in a > project with 40 more database tables with quite extensive financial > transaction, and use an EntityQuery and EntityHome a lot. The main problem > with these classes is that, It's hard (well, at least, for me) to make yo= ur > code consistent. What I mean by consistent is that, it is confusing to > determine whether the classes is a part of your UI layer, or > service/domain-model layer. Or where you add new functionality to satisfi= ed > a specifics requirement. The study case is maybe like this: > > Let say that we have a module named accounting transaction. And we want to > create a input transaction page, thus we have a TransactionHome.xhtml bac= ked > with TransactionHome.java. Now the problems occurs. Because we want a cha= rt > of account list in the TransactionHome.xhtml, where is better place to put > the logic to call the chart of account list? In the TransactionHome.java,= or > ChartOfAccountList.java? > > In the beginning I put it in the ChartOfAccountList.java, and start to > realize that seam's EntityList is specialized class to create a page with > contains a rich datatable search option, paging, and sorting. It will be > strange to the code if try to add non searching/sorting/paging on it. The= n I > think to back to good-old DAO object, and thinking again about the backing > bean: I need to call/inject the DAO in some backing-bean, but where? > TransactionHome.java? Well, TransactionHome already have getEntityManager= (), > so if I put the DAO in the ***Home, it will looks overlapping, and bit od= d. > Then when I thinking again about the EntityHome, I'm not sure whether I n= eed > to treat this class as UI or Service class. You see, this is simple case > study (don't get me start with "The list of Chart Of Account need to > aligning with the logged in user's departments and user's role. And make > sure that an user with level A have a $xxx limit transaction, where level= B > have $xxx limit"). > > My purpose is not to blame something or rant to something, but instead, > give an idea whether is it good enough to leave ***Home and ***Query > concept, and back to at least > Entity-Service-BackingBean-View model? It looks "verbose", I know, but at > least we have a "service" layer, which is "centralized" place to write a > business logic in our application. We could treat the "service" as > just-plain-stateless classes (EJB 3.1 classes or only seam-persistence > classes with minimal coupled with the front-end layer), and put the richn= ess > of Weld and Seam 3 maybe in the UI and view layer. > > Well, I know this is personal view, from me, and my experience. Thus, just > ignore if in case this is annoying and not fit with your purpose/target. > > Thanks, > xsalefter > > * > * > The Home idea > > https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java/= seam/example/confbuzz/ConferenceInstance.java > > The Query idea > > https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java/= seam/example/confbuzz/TodaysConferencesQuery.java > > The main thing that I would change with the Query class above is to use > named queries, thus espousing the generally accepted best practice in > default applications. I understand this doesn't fill all the gaps of the > older SAF from Seam 2, but I think it works for the majority of cases, and > it also helps people understand the best way to do things instead of rely= ing > on the magic of SAF from Seam 2 (which I have found to be a major problem= in > projects and teams I have worked with over the last three years). > > I've spoken with Lincoln about this and there are two JIRAs ( > https://issues.jboss.org/browse/SEAMFORGE-280 and > https://issues.jboss.org/browse/SEAMFORGE-279) to have Forge generate this > via the JPA plugin or perhaps Seam Persistence plugin. > > Discuss. > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============1601621939978528080== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" eHNhbGVmdGVyLDxkaXY+PGJyPjwvZGl2PjxkaXY+VGhhbmtzLCB0aGlzIGlzIHZhbHVhYmxlIGZl ZWRiYWNrIGFuZCBjZXJ0YWlubHkgdXNhZ2UgcGF0dGVybnMgdG8ga2VlcCBpbiBtaW5kIHdoZW4g ZGVzaWduaW5nIHRoZSBuZXcgaXRlcmF0aW9uIG9mIHRoZXNlIGNvbXBvbmVudHMuPC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj5JbiBudW1lcm91cyBjb252ZXJzYXRpb25zIHRoYXQgSSYjMzk7dmUg aGFkIHdpdGggZGV2ZWxvcGVycyBmYW1pbGlhciB3aXRoIFNlYW0gMiwgdGhlIGNvbW1vbiB0aGVt ZSBpcyB0aGF0ICpIb21lIGFuZCAqUXVlcnkgY29tcG9uZW50cyBhcmUgbm90IHRoZSBpZGVhbCBk ZXNpZ24uIFRoZXkgbGVhZCBkZXZlbG9wZXJzIGludG8gdGlnaHQgY29ybmVycyBleGFjdGx5IGlu IHRoZSB3YXkgeW91IGFyZSBkZXNjcmliaW5nLiBUaHVzLCB3ZSBsaWtlbHkgd29uJiMzOTt0IGJl IGZvbGxvd2luZyB0aGUgc3RhdHVzIHF1byAodGhvdWdoLCBpdCYjMzk7cyBub3QgdG9vIGJpZyBv ZiBhbiBlZmZvcnQgdG8gcG9ydCB0aGUgZXhpc3RpbmcgZnVuY3Rpb25hbGl0eSB0byBDREksIHNv IGlmIHNvbWVvbmUgd291bGQgbGlrZSB0byB3b3JrIG9uIHRoYXQsIHdlIHdvbiYjMzk7dCBkaXNj b3VyYWdlIGl0KS48L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+SW5zdGVhZCwgSSB0aGluayB0 aGVzZSBjb21wb25lbnRzIHNob3VsZCBwcm92aWRlIGJvaWxlcnBsYXRlIGZ1bmN0aW9uYWxpdHks IHlldCBiZSBmbGV4aWJsZSBhbmQgZWFzaWx5IHR1bmVkIHRvIHRoZSBuZWVkcyBvZiB0aGUgZGV2 ZWxvcGVyLiBJIHRoaW5rIHlvdSYjMzk7cmUgcmlnaHQgaW4gdGhhdCBnb2luZyBiYWNrIHRvIGEg Z2VuZXJpYyBEQU8gZGVzaWduIG1pZ2h0IGJlIGEgbW9yZSByZWFzb25hYmxlIHN0cmF0ZWd5LiBJ IGRvbiYjMzk7dCB0aGluayBkZXZlbG9wZXIgZXhwZWN0IHRvIGNvZGUgZW50aXJlbHkgaW4gWE1M LCB0aGV5IHNpbXBseSBkb24mIzM5O3Qgd2FudCB0byB0eXBlIHRoZSBzYW1lIGJvaWxlcnBsYXRl IG92ZXIgYW5kIG92ZXIgYWdhaW4uPC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2PkkgbGlrZSBK YXNvbiYjMzk7cyBpZGVhIG9mIHVzaW5nIG5hbWVkIHF1ZXJpZXMuIEtlZXAgaW4gbWluZCB3ZSBj b3VsZCByZWFkIHRoZSBxdWVyaWVzIGFzIGEgc3VnZ2VzdGlvbiBhbmQgcHJvZHVjZSBtb3JlIHNv cGhpc3RpY2F0ZWQgcXVlcmllcyBpbiBhbiBleHRlbnNpb24uLi5zbyB3ZSBhcmVuJiMzOTt0IGxp bWl0ZWQgdG8gd2hhdCBuYW1lZCBxdWVyaWVzIHN1cHBvcnQgdG9kYXkuIFdlJiMzOTt2ZSBhbHNv IGJlZW4gY29uc2lkZXJpbmcgc3VwcG9ydGluZyBmaW5kZXIgJnF1b3Q7bWlzc2luZyZxdW90OyBt ZXRob2RzIHRoYXQgYnVpbGQgYSBxdWVyeSBmcm9tIHRoZSBuYW1lIG9mIHRoZSBtZXRob2QgKG9y IGEgc2V0IG9mIGFubm90YXRpb25zIG9uIHRoZSBtZXRob2QpLjwvZGl2PgoKPGRpdj48YnI+PC9k aXY+PGRpdj5XaGF0ZXZlciB3ZSBkZWNpZGUsIHRoaXMgc2hvdWxkIGJlIHRoZSBmcmFtZXdvcmsg Y29kZSB0aGF0IGZvcmdlIHVzZXMgd2hlbiBnZW5lcmF0aW5nIENSVUQgYXBwbGljYXRpb25zLiBM ZXQmIzM5O3MgbWFrZSBpdCBzb21ldGhpbmcgdGhhdCB3ZSBhcmVuJiMzOTt0IGFzaGFtZWQgb2Yg aGF2aW5nIGluIG91ciBwcm9qZWN0cyA7KTwvZGl2PjxkaXY+PGJyPgoKPC9kaXY+PGRpdj4tRGFu PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5wLnMuIEkgYWxzbyByZWNvbW1lbmQgcmVuYW1pbmcg U0FGLCBiZWNhdXNlIGl0JiMzOTtzIGEgcmVhbGx5IGNvbmZ1c2luZyB0ZXJtLiBTb21ldGhpbmcg bGlrZSAmcXVvdDtlbnRpdHkgZnJhbWV3b3JrJnF1b3Q7IGlzIGZhciBtb3JlIHNlbnNpYmxlLjwv ZGl2PjxkaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4KCk9uIFR1ZSwgU2VwIDIwLCAy MDExIGF0IDAzOjQ3LCB4c2FsZWZ0ZXIgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWls dG86eHNhbGVmdGVyQHlhaG9vLmNvbSI+eHNhbGVmdGVyQHlhaG9vLmNvbTwvYT4mZ3Q7PC9zcGFu PiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2lu OjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsi PgoKPGRpdj48ZGl2IHN0eWxlPSJjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250 LWZhbWlseTp0YWhvbWEsIG5ldyB5b3JrLCB0aW1lcywgc2VyaWY7Zm9udC1zaXplOjEwcHQiPjxk aXY+PHNwYW4+PGZvbnQgc2l6ZT0iMiI+SGkgYWxsLi4gSSBrbm93IHRoYXQgSSBuZXZlciBpbnZv bHZlZCBvbiB0aGlzIG1haWxpbmctbGlzdCBzbyBtdWNoLCBub3IgY29udHJpYnV0ZSB0aGluZ3Mg dG8gdGhlIGNvbW11bml0eS4gQnV0IGJlY2F1c2UgSSBoYXZlIGFuIGV4cGVyaWVuY2Ugd2l0aCBz ZWFtIDIgYW5kIHVzZWQgc2VhbSBnZW4gZXh0ZW5zaXZlbHkgKGFuZCB0aHVzIHVzZSBzZWFtJiMz OTtzIEVudGl0eVF1ZXJ5IGFuZCBFbnRpdHlIb21lIGEgbG90KSBpbiBzb21lIHByb2plY3QsIEkg aGF2ZSBhIHRob3VnaHQgYWJvdXQgdGhpcy48L2ZvbnQ+PC9zcGFuPjwvZGl2PgoKPGRpdj48c3Bh biBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjEzcHgiPkVudGl0eVF1ZXJ5IGFuZGEgRW50aXR5SG9tZSBpcyBwZXJmZWN0 IGluIGNhc2UgeW91IHdhbnQgdG8gY3JlYXRpbmcgYW4gc2ltcGxlIENSVUQgYXBwbGljYXRpb24u IFdlbGwsIG5vdCBhcyBzaW1wbGUgYXMgaXMuIEkgZXZlciBpbnZvbHZlZCBpbiBhIHByb2plY3Qg d2l0aCA0MCBtb3JlIGRhdGFiYXNlIHRhYmxlcyB3aXRoIHF1aXRlIGV4dGVuc2l2ZSBmaW5hbmNp YWwgdHJhbnNhY3Rpb24sIGFuZCB1c2UgYW4gRW50aXR5UXVlcnkgYW5kIEVudGl0eUhvbWUgYSBs b3QuIFRoZSBtYWluIHByb2JsZW0gd2l0aCB0aGVzZSBjbGFzc2VzIGlzIHRoYXQsIEl0JiMzOTtz IGhhcmQgKHdlbGwsIGF0IGxlYXN0LCBmb3IgbWUpIHRvCiBtYWtlIHlvdXIgY29kZSBjb25zaXN0 ZW50LsKgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+V2hhdCBJIG1lYW4gYnkg Y29uc2lzdGVudCBpcyB0aGF0LCBpPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+ dCBpcyBjb25mdXNpbmcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGNsYXNzZXMgaXMgYSBwYXJ0 IG9mIHlvdXIgVUkgbGF5ZXIsIG9yIHNlcnZpY2UvZG9tYWluLW1vZGVsIGxheWVyLiBPciB3aGVy ZSB5b3UgYWRkIG5ldyBmdW5jdGlvbmFsaXR5IHRvIHNhdGlzZmllZCBhIHNwZWNpZmljcyByZXF1 aXJlbWVudC4gVGhlIHN0dWR5IGNhc2UgaXMgbWF5YmUgbGlrZSB0aGlzOjwvc3Bhbj48L2Rpdj4K CjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5MZXQgc2F5IHRoYXQgd2UgaGF2ZSBhIG1vZHVs ZSBuYW1lZCBhY2NvdW50aW5nIHRyYW5zYWN0aW9uLiBBbmQgd2Ugd2FudCB0byBjcmVhdGUgYSBp bnB1dCB0cmFuc2FjdGlvbiBwYWdlLCB0aHVzIHdlIGhhdmUgYSBUcmFuc2FjdGlvbkhvbWUueGh0 bWwgYmFja2VkIHdpdGggVHJhbnNhY3Rpb25Ib21lLmphdmEuIE5vdyB0aGUgcHJvYmxlbXMgb2Nj dXJzLiBCZWNhdXNlIHdlIHdhbnQgYSBjaGFydCBvZiBhY2NvdW50IGxpc3QgaW4gdGhlIFRyYW5z YWN0aW9uSG9tZS54aHRtbCwgd2hlcmUgaXMgYmV0dGVyIHBsYWNlIHRvIHB1dCB0aGUgbG9naWMg dG8gY2FsbCB0aGUgY2hhcnQgb2YgYWNjb3VudCBsaXN0PyBJbiB0aGUgVHJhbnNhY3Rpb25Ib21l LmphdmEsIG9yCiBDaGFydE9mQWNjb3VudExpc3QuamF2YT/CoDwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTNweCI+SW4gdGhlIGJlZ2lubmluZyBJIHB1dCBpdCBpbiB0aGUgQ2hh cnRPZkFjY291bnRMaXN0LmphdmEsIGFuZCBzdGFydCB0byByZWFsaXplIHRoYXQgc2VhbSYjMzk7 cyBFbnRpdHlMaXN0IGlzIHNwZWNpYWxpemVkIGNsYXNzIHRvIGNyZWF0ZSBhIHBhZ2Ugd2l0aCBj b250YWlucyBhIHJpY2ggZGF0YXRhYmxlIHNlYXJjaCBvcHRpb24sIHBhZ2luZywgYW5kIHNvcnRp bmcuIEl0IHdpbGwgYmUgc3RyYW5nZSB0byB0aGUgY29kZSBpZiB0cnkgdG8gYWRkIG5vbiBzZWFy Y2hpbmcvc29ydGluZy9wYWdpbmcgb24gaXQuIFRoZW4gSSB0aGluayB0byBiYWNrIHRvIGdvb2Qt b2xkIERBTyBvYmplY3QsIGFuZCB0aGlua2luZyBhZ2FpbiBhYm91dCB0aGUgYmFja2luZyBiZWFu OiBJIG5lZWQgdG8gY2FsbC9pbmplY3QgdGhlIERBTyBpbiBzb21lIGJhY2tpbmctYmVhbiwgYnV0 IHdoZXJlPyBUcmFuc2FjdGlvbkhvbWUuamF2YT8gV2VsbCwgVHJhbnNhY3Rpb25Ib21lIGFscmVh ZHkgaGF2ZSBnZXRFbnRpdHlNYW5hZ2VyKCksIHNvIGlmIEkgcHV0IHRoZSBEQU8gaW4gdGhlICoq KkhvbWUsIGl0IHdpbGwgbG9va3Mgb3ZlcmxhcHBpbmcsIGFuZCBiaXQgb2RkLiBUaGVuIHdoZW4g SSB0aGlua2luZyBhZ2FpbiBhYm91dCB0aGUgRW50aXR5SG9tZSwgSSYjMzk7bSBub3Qgc3VyZSB3 aGV0aGVyIEkgbmVlZCB0byB0cmVhdCB0aGlzIGNsYXNzIGFzIFVJIG9yIFNlcnZpY2UgY2xhc3Mu wqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5Zb3Ugc2VlLCB0aGlzIGlzIHNp bXBsZSBjYXNlIHN0dWR5IChkb24mIzM5O3QgZ2V0IG1lIHN0YXJ0IHdpdGggJnF1b3Q7VGhlIGxp c3Qgb2YgQ2hhcnQgT2YgQWNjb3VudCBuZWVkIHRvIGFsaWduaW5nIHdpdGggdGhlIGxvZ2dlZCBp biB1c2VyJiMzOTtzIGRlcGFydG1lbnRzIGFuZCB1c2VyJiMzOTtzIHJvbGUuIEFuZCBtYWtlIHN1 cmUgdGhhdCBhbiB1c2VyIHdpdGggbGV2ZWwgQSBoYXZlIGEgJHh4eCBsaW1pdCB0cmFuc2FjdGlv biwgd2hlcmUgbGV2ZWwgQiBoYXZlICR4eHggbGltaXQmcXVvdDspLsKgPC9zcGFuPjwvZGl2PgoK PGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPk15IHB1cnBvc2UgaXMgbm90IHRvIGJsYW1lIHNv bWV0aGluZyBvciByYW50IHRvIHNvbWV0aGluZywgYnV0IGluc3RlYWQsIGdpdmUgYW4gaWRlYSB3 aGV0aGVyIGlzIGl0IGdvb2QgZW5vdWdoIHRvIGxlYXZlICoqKkhvbWUgYW5kICoqKlF1ZXJ5IGNv bmNlcHQsIGFuZCBiYWNrIHRvIGF0IGxlYXN0wqA8L3NwYW4+PC9kaXY+Cgo8ZGl2Pjxmb250IHNp emU9IjIiPkVudGl0eS1TZXJ2aWNlLUJhY2tpbmdCZWFuLVZpZXcgbW9kZWw/IEl0IGxvb2tzICZx dW90O3ZlcmJvc2UmcXVvdDssIEkga25vdywgYnV0IGF0IGxlYXN0IHdlIGhhdmUgYSAmcXVvdDtz ZXJ2aWNlJnF1b3Q7IGxheWVyLCB3aGljaCBpcyAmcXVvdDtjZW50cmFsaXplZCZxdW90OyBwbGFj ZSB0byB3cml0ZSBhIGJ1c2luZXNzIGxvZ2ljIGluIG91ciBhcHBsaWNhdGlvbi4gV2UgY291bGQg dHJlYXQgdGhlICZxdW90O3NlcnZpY2UmcXVvdDsgYXMganVzdC1wbGFpbi1zdGF0ZWxlc3MgY2xh c3NlcyAoRUpCIDMuMSBjbGFzc2VzIG9yIG9ubHkgc2VhbS1wZXJzaXN0ZW5jZSBjbGFzc2VzIHdp dGggbWluaW1hbAogY291cGxlZCB3aXRoIHRoZSBmcm9udC1lbmQgbGF5ZXIpLCBhbmQgcHV0IHRo ZSByaWNobmVzcyBvZiBXZWxkIGFuZCBTZWFtIDMgbWF5YmUgaW4gdGhlIFVJIGFuZCB2aWV3IGxh eWVyLjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRp dj48Zm9udCBzaXplPSIyIj5XZWxsLCBJIGtub3cgdGhpcyBpcyBwZXJzb25hbCB2aWV3LCBmcm9t IG1lLCBhbmQgbXkgZXhwZXJpZW5jZS4gVGh1cywganVzdCBpZ25vcmUgaWYgaW4gY2FzZSB0aGlz IGlzIGFubm95aW5nIGFuZCBub3QgZml0IHdpdGggeW91ciBwdXJwb3NlL3RhcmdldC48L2ZvbnQ+ PC9kaXY+Cgo8ZGl2Pjxmb250IHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBz aXplPSIyIj5UaGFua3MsPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgc2l6ZT0iMiI+eHNhbGVmdGVy PC9mb250PjwvZGl2PjxkaXYgY2xhc3M9ImltIj48ZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3Jk ZXItbGVmdC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtY29s b3I6cmdiKDE2LCAxNiwgMjU1KTttYXJnaW4tbGVmdDo1cHg7cGFkZGluZy1sZWZ0OjVweCI+Cgo8 ZGl2IHN0eWxlPSJmb250LWZhbWlseTp0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMs IHNlcmlmIj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTomIzM5O3RpbWVzIG5ldyByb21hbiYjMzk7 LCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiI+PGI+PGZvbnQgZmFjZT0idGFob21h LCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGJyPgoKPC9mb250 PjwvYj48ZGl2PjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRp bWVzLCBzZXJpZiIgc2l6ZT0iMiI+VGhlIEhvbWUgaWRlYTwvZm9udD48L2Rpdj48Zm9udCBmYWNl PSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YSBy ZWw9Im5vZm9sbG93IiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VhbS9zZWFtLWV4YW1wbGUt Y29uZmJ1enovYmxvYi9kZXZlbG9wL3NyYy9tYWluL2phdmEvc2VhbS9leGFtcGxlL2NvbmZidXp6 L0NvbmZlcmVuY2VJbnN0YW5jZS5qYXZhIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIu Y29tL3NlYW0vc2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9qYXZh L3NlYW0vZXhhbXBsZS9jb25mYnV6ei9Db25mZXJlbmNlSW5zdGFuY2UuamF2YTwvYT48YnIgY2xl YXI9ImFsbCI+CgoKCjwvZm9udD48ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9y ayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u dCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIy Ij5UaGUgUXVlcnkgaWRlYTwvZm9udD48L2Rpdj48ZGl2PjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9 Imh0dHBzOi8vZ2l0aHViLmNvbS9zZWFtL3NlYW0tZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVs b3Avc3JjL21haW4vamF2YS9zZWFtL2V4YW1wbGUvY29uZmJ1enovVG9kYXlzQ29uZmVyZW5jZXNR dWVyeS5qYXZhIiB0YXJnZXQ9Il9ibGFuayI+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5 b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+aHR0cHM6Ly9naXRodWIuY29tL3NlYW0v c2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9qYXZhL3NlYW0vZXhh bXBsZS9jb25mYnV6ei9Ub2RheXNDb25mZXJlbmNlc1F1ZXJ5LmphdmE8L2ZvbnQ+PC9hPjwvZGl2 PgoKCgo8ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywg c2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEs ICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5UaGUgbWFpbiB0aGlu ZyB0aGF0IEkgd291bGQgY2hhbmdlIHdpdGggdGhlIFF1ZXJ5IGNsYXNzIGFib3ZlIGlzIHRvIHVz ZSBuYW1lZCBxdWVyaWVzLCB0aHVzIGVzcG91c2luZyB0aGUgZ2VuZXJhbGx5IGFjY2VwdGVkIGJl c3QgcHJhY3RpY2UgaW4gZGVmYXVsdCBhcHBsaWNhdGlvbnMuIEkgdW5kZXJzdGFuZCB0aGlzIGRv ZXNuJiMzOTt0IGZpbGwgYWxsIHRoZSBnYXBzIG9mIHRoZSBvbGRlciBTQUYgZnJvbSBTZWFtIDIs IGJ1dCBJIHRoaW5rIGl0IHdvcmtzIGZvciB0aGUgbWFqb3JpdHkgb2YgY2FzZXMsIGFuZCBpdCBh bHNvIGhlbHBzIHBlb3BsZSB1bmRlcnN0YW5kIHRoZSBiZXN0IHdheSB0byBkbyB0aGluZ3MgaW5z dGVhZCBvZiByZWx5aW5nIG9uIHRoZSBtYWdpYyBvZiBTQUYgZnJvbSBTZWFtIDIgKHdoaWNoIEkg aGF2ZSBmb3VuZCB0byBiZSBhIG1ham9yIHByb2JsZW0gaW4gcHJvamVjdHMgYW5kIHRlYW1zIEkg aGF2ZSB3b3JrZWQgd2l0aCBvdmVyIHRoZSBsYXN0IHRocmVlIHllYXJzKS48L2ZvbnQ+PC9kaXY+ CgoKCjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBz ZXJpZiIgc2l6ZT0iMiI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwg JiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPkkmIzM5O3ZlIHNwb2tl biB3aXRoIExpbmNvbG4gYWJvdXQgdGhpcyBhbmQgdGhlcmUgYXJlIHR3byBKSVJBcyAoPGEgcmVs PSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMuamJvc3Mub3JnL2Jyb3dzZS9TRUFNRk9S R0UtMjgwIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9pc3N1ZXMuamJvc3Mub3JnL2Jyb3dzZS9T RUFNRk9SR0UtMjgwPC9hPsKgYW5kwqA8YSByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwczovL2lz c3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzkiIHRhcmdldD0iX2JsYW5rIj5odHRw czovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzk8L2E+KSB0byBoYXZlIEZv cmdlIGdlbmVyYXRlIHRoaXMgdmlhIHRoZSBKUEEgcGx1Z2luIG9yIHBlcmhhcHMgU2VhbSBQZXJz aXN0ZW5jZSBwbHVnaW4uPC9mb250PjwvZGl2PgoKCgo8ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwg JiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9k aXY+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNl cmlmIiBzaXplPSIyIj5EaXNjdXNzLjwvZm9udD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Js b2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+Cgo8L2Rpdj48YnI+X19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxi cj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyI+c2VhbS1kZXZAbGlz dHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJv c3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3Rl PjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPjxkaXY+RGFu IEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0aG9y IG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPjxi cj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxl biNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9k YW4uai5hbGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29t IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48YnI+PGEgaHJlZj0i aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+PC9kaXY+PGJyPgo8L2Rpdj4K --===============1601621939978528080==-- From dan.j.allen at gmail.com Tue Sep 20 13:55:40 2011 Content-Type: multipart/mixed; boundary="===============5887738642675059351==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 13:55:09 -0400 Message-ID: In-Reply-To: CAKeHnO4EpctjLMOXrJtN1sGVc7n3G9n_BP+DM9=YBkWYKVjEsw@mail.gmail.com --===============5887738642675059351== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Cross-posting to forge dev. On Tue, Sep 20, 2011 at 13:54, Dan Allen wrote: > xsalefter, > > Thanks, this is valuable feedback and certainly usage patterns to keep in > mind when designing the new iteration of these components. > > In numerous conversations that I've had with developers familiar with Seam > 2, the common theme is that *Home and *Query components are not the ideal > design. They lead developers into tight corners exactly in the way you are > describing. Thus, we likely won't be following the status quo (though, it= 's > not too big of an effort to port the existing functionality to CDI, so if > someone would like to work on that, we won't discourage it). > > Instead, I think these components should provide boilerplate functionalit= y, > yet be flexible and easily tuned to the needs of the developer. I think > you're right in that going back to a generic DAO design might be a more > reasonable strategy. I don't think developer expect to code entirely in X= ML, > they simply don't want to type the same boilerplate over and over again. > > I like Jason's idea of using named queries. Keep in mind we could read the > queries as a suggestion and produce more sophisticated queries in an > extension...so we aren't limited to what named queries support today. We'= ve > also been considering supporting finder "missing" methods that build a qu= ery > from the name of the method (or a set of annotations on the method). > > Whatever we decide, this should be the framework code that forge uses when > generating CRUD applications. Let's make it something that we aren't asha= med > of having in our projects ;) > > -Dan > > p.s. I also recommend renaming SAF, because it's a really confusing term. > Something like "entity framework" is far more sensible. > > On Tue, Sep 20, 2011 at 03:47, xsalefter wrote: > >> Hi all.. I know that I never involved on this mailing-list so much, nor >> contribute things to the community. But because I have an experience with >> seam 2 and used seam gen extensively (and thus use seam's EntityQuery and >> EntityHome a lot) in some project, I have a thought about this. >> >> EntityQuery anda EntityHome is perfect in case you want to creating an >> simple CRUD application. Well, not as simple as is. I ever involved in a >> project with 40 more database tables with quite extensive financial >> transaction, and use an EntityQuery and EntityHome a lot. The main probl= em >> with these classes is that, It's hard (well, at least, for me) to make y= our >> code consistent. What I mean by consistent is that, it is confusing to >> determine whether the classes is a part of your UI layer, or >> service/domain-model layer. Or where you add new functionality to satisf= ied >> a specifics requirement. The study case is maybe like this: >> >> Let say that we have a module named accounting transaction. And we want = to >> create a input transaction page, thus we have a TransactionHome.xhtml ba= cked >> with TransactionHome.java. Now the problems occurs. Because we want a ch= art >> of account list in the TransactionHome.xhtml, where is better place to p= ut >> the logic to call the chart of account list? In the TransactionHome.java= , or >> ChartOfAccountList.java? >> >> In the beginning I put it in the ChartOfAccountList.java, and start to >> realize that seam's EntityList is specialized class to create a page with >> contains a rich datatable search option, paging, and sorting. It will be >> strange to the code if try to add non searching/sorting/paging on it. Th= en I >> think to back to good-old DAO object, and thinking again about the backi= ng >> bean: I need to call/inject the DAO in some backing-bean, but where? >> TransactionHome.java? Well, TransactionHome already have getEntityManage= r(), >> so if I put the DAO in the ***Home, it will looks overlapping, and bit o= dd. >> Then when I thinking again about the EntityHome, I'm not sure whether I = need >> to treat this class as UI or Service class. You see, this is simple case >> study (don't get me start with "The list of Chart Of Account need to >> aligning with the logged in user's departments and user's role. And make >> sure that an user with level A have a $xxx limit transaction, where leve= l B >> have $xxx limit"). >> >> My purpose is not to blame something or rant to something, but instead, >> give an idea whether is it good enough to leave ***Home and ***Query >> concept, and back to at least >> Entity-Service-BackingBean-View model? It looks "verbose", I know, but at >> least we have a "service" layer, which is "centralized" place to write a >> business logic in our application. We could treat the "service" as >> just-plain-stateless classes (EJB 3.1 classes or only seam-persistence >> classes with minimal coupled with the front-end layer), and put the rich= ness >> of Weld and Seam 3 maybe in the UI and view layer. >> >> Well, I know this is personal view, from me, and my experience. Thus, ju= st >> ignore if in case this is annoying and not fit with your purpose/target. >> >> Thanks, >> xsalefter >> >> * >> * >> The Home idea >> >> https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java= /seam/example/confbuzz/ConferenceInstance.java >> >> The Query idea >> >> https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java= /seam/example/confbuzz/TodaysConferencesQuery.java >> >> The main thing that I would change with the Query class above is to use >> named queries, thus espousing the generally accepted best practice in >> default applications. I understand this doesn't fill all the gaps of the >> older SAF from Seam 2, but I think it works for the majority of cases, a= nd >> it also helps people understand the best way to do things instead of rel= ying >> on the magic of SAF from Seam 2 (which I have found to be a major proble= m in >> projects and teams I have worked with over the last three years). >> >> I've spoken with Lincoln about this and there are two JIRAs ( >> https://issues.jboss.org/browse/SEAMFORGE-280 and >> https://issues.jboss.org/browse/SEAMFORGE-279) to have Forge generate >> this via the JPA plugin or perhaps Seam Persistence plugin. >> >> Discuss. >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============5887738642675059351== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" Q3Jvc3MtcG9zdGluZyB0byBmb3JnZSBkZXYuPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90 ZSI+T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMTM6NTQsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0 ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVu QGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9Imdt YWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mg c29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPgoKeHNhbGVmdGVyLDxkaXY+PGJyPjwvZGl2PjxkaXY+ VGhhbmtzLCB0aGlzIGlzIHZhbHVhYmxlIGZlZWRiYWNrIGFuZCBjZXJ0YWlubHkgdXNhZ2UgcGF0 dGVybnMgdG8ga2VlcCBpbiBtaW5kIHdoZW4gZGVzaWduaW5nIHRoZSBuZXcgaXRlcmF0aW9uIG9m IHRoZXNlIGNvbXBvbmVudHMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JbiBudW1lcm91cyBj b252ZXJzYXRpb25zIHRoYXQgSSYjMzk7dmUgaGFkIHdpdGggZGV2ZWxvcGVycyBmYW1pbGlhciB3 aXRoIFNlYW0gMiwgdGhlIGNvbW1vbiB0aGVtZSBpcyB0aGF0ICpIb21lIGFuZCAqUXVlcnkgY29t cG9uZW50cyBhcmUgbm90IHRoZSBpZGVhbCBkZXNpZ24uIFRoZXkgbGVhZCBkZXZlbG9wZXJzIGlu dG8gdGlnaHQgY29ybmVycyBleGFjdGx5IGluIHRoZSB3YXkgeW91IGFyZSBkZXNjcmliaW5nLiBU aHVzLCB3ZSBsaWtlbHkgd29uJiMzOTt0IGJlIGZvbGxvd2luZyB0aGUgc3RhdHVzIHF1byAodGhv dWdoLCBpdCYjMzk7cyBub3QgdG9vIGJpZyBvZiBhbiBlZmZvcnQgdG8gcG9ydCB0aGUgZXhpc3Rp bmcgZnVuY3Rpb25hbGl0eSB0byBDREksIHNvIGlmIHNvbWVvbmUgd291bGQgbGlrZSB0byB3b3Jr IG9uIHRoYXQsIHdlIHdvbiYjMzk7dCBkaXNjb3VyYWdlIGl0KS48L2Rpdj4KCgo8ZGl2Pjxicj48 L2Rpdj48ZGl2Pkluc3RlYWQsIEkgdGhpbmsgdGhlc2UgY29tcG9uZW50cyBzaG91bGQgcHJvdmlk ZSBib2lsZXJwbGF0ZSBmdW5jdGlvbmFsaXR5LCB5ZXQgYmUgZmxleGlibGUgYW5kIGVhc2lseSB0 dW5lZCB0byB0aGUgbmVlZHMgb2YgdGhlIGRldmVsb3Blci4gSSB0aGluayB5b3UmIzM5O3JlIHJp Z2h0IGluIHRoYXQgZ29pbmcgYmFjayB0byBhIGdlbmVyaWMgREFPIGRlc2lnbiBtaWdodCBiZSBh IG1vcmUgcmVhc29uYWJsZSBzdHJhdGVneS4gSSBkb24mIzM5O3QgdGhpbmsgZGV2ZWxvcGVyIGV4 cGVjdCB0byBjb2RlIGVudGlyZWx5IGluIFhNTCwgdGhleSBzaW1wbHkgZG9uJiMzOTt0IHdhbnQg dG8gdHlwZSB0aGUgc2FtZSBib2lsZXJwbGF0ZSBvdmVyIGFuZCBvdmVyIGFnYWluLjwvZGl2PgoK CjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBsaWtlIEphc29uJiMzOTtzIGlkZWEgb2YgdXNpbmcgbmFt ZWQgcXVlcmllcy4gS2VlcCBpbiBtaW5kIHdlIGNvdWxkIHJlYWQgdGhlIHF1ZXJpZXMgYXMgYSBz dWdnZXN0aW9uIGFuZCBwcm9kdWNlIG1vcmUgc29waGlzdGljYXRlZCBxdWVyaWVzIGluIGFuIGV4 dGVuc2lvbi4uLnNvIHdlIGFyZW4mIzM5O3QgbGltaXRlZCB0byB3aGF0IG5hbWVkIHF1ZXJpZXMg c3VwcG9ydCB0b2RheS4gV2UmIzM5O3ZlIGFsc28gYmVlbiBjb25zaWRlcmluZyBzdXBwb3J0aW5n IGZpbmRlciAmcXVvdDttaXNzaW5nJnF1b3Q7IG1ldGhvZHMgdGhhdCBidWlsZCBhIHF1ZXJ5IGZy b20gdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCAob3IgYSBzZXQgb2YgYW5ub3RhdGlvbnMgb24gdGhl IG1ldGhvZCkuPC9kaXY+CgoKPGRpdj48YnI+PC9kaXY+PGRpdj5XaGF0ZXZlciB3ZSBkZWNpZGUs IHRoaXMgc2hvdWxkIGJlIHRoZSBmcmFtZXdvcmsgY29kZSB0aGF0IGZvcmdlIHVzZXMgd2hlbiBn ZW5lcmF0aW5nIENSVUQgYXBwbGljYXRpb25zLiBMZXQmIzM5O3MgbWFrZSBpdCBzb21ldGhpbmcg dGhhdCB3ZSBhcmVuJiMzOTt0IGFzaGFtZWQgb2YgaGF2aW5nIGluIG91ciBwcm9qZWN0cyA7KTwv ZGl2PjxkaXY+PGJyPgoKCjwvZGl2PjxkaXY+LURhbjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ cC5zLiBJIGFsc28gcmVjb21tZW5kIHJlbmFtaW5nIFNBRiwgYmVjYXVzZSBpdCYjMzk7cyBhIHJl YWxseSBjb25mdXNpbmcgdGVybS4gU29tZXRoaW5nIGxpa2UgJnF1b3Q7ZW50aXR5IGZyYW1ld29y ayZxdW90OyBpcyBmYXIgbW9yZSBzZW5zaWJsZS48L2Rpdj48ZGl2Pjxicj48ZGl2IGNsYXNzPSJn bWFpbF9xdW90ZSI+Cgo8ZGl2PjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPgpPbiBUdWUsIFNl cCAyMCwgMjAxMSBhdCAwMzo0NywgeHNhbGVmdGVyIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJl Zj0ibWFpbHRvOnhzYWxlZnRlckB5YWhvby5jb20iIHRhcmdldD0iX2JsYW5rIj54c2FsZWZ0ZXJA eWFob28uY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48L2Rpdj48L2Rpdj48YmxvY2txdW90 ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVm dDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KCjxkaXY+PGRpdj48L2Rpdj48ZGl2 IGNsYXNzPSJoNSI+CjxkaXY+PGRpdiBzdHlsZT0iY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9y OiNmZmY7Zm9udC1mYW1pbHk6dGFob21hLCBuZXcgeW9yaywgdGltZXMsIHNlcmlmO2ZvbnQtc2l6 ZToxMHB0Ij48ZGl2PjxzcGFuPjxmb250IHNpemU9IjIiPkhpIGFsbC4uIEkga25vdyB0aGF0IEkg bmV2ZXIgaW52b2x2ZWQgb24gdGhpcyBtYWlsaW5nLWxpc3Qgc28gbXVjaCwgbm9yIGNvbnRyaWJ1 dGUgdGhpbmdzIHRvIHRoZSBjb21tdW5pdHkuIEJ1dCBiZWNhdXNlIEkgaGF2ZSBhbiBleHBlcmll bmNlIHdpdGggc2VhbSAyIGFuZCB1c2VkIHNlYW0gZ2VuIGV4dGVuc2l2ZWx5IChhbmQgdGh1cyB1 c2Ugc2VhbSYjMzk7cyBFbnRpdHlRdWVyeSBhbmQgRW50aXR5SG9tZSBhIGxvdCkgaW4gc29tZSBw cm9qZWN0LCBJIGhhdmUgYSB0aG91Z2h0IGFib3V0IHRoaXMuPC9mb250Pjwvc3Bhbj48L2Rpdj4K Cgo8ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2 PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+RW50aXR5UXVlcnkgYW5kYSBFbnRpdHlIb21l IGlzIHBlcmZlY3QgaW4gY2FzZSB5b3Ugd2FudCB0byBjcmVhdGluZyBhbiBzaW1wbGUgQ1JVRCBh cHBsaWNhdGlvbi4gV2VsbCwgbm90IGFzIHNpbXBsZSBhcyBpcy4gSSBldmVyIGludm9sdmVkIGlu IGEgcHJvamVjdCB3aXRoIDQwIG1vcmUgZGF0YWJhc2UgdGFibGVzIHdpdGggcXVpdGUgZXh0ZW5z aXZlIGZpbmFuY2lhbCB0cmFuc2FjdGlvbiwgYW5kIHVzZSBhbiBFbnRpdHlRdWVyeSBhbmQgRW50 aXR5SG9tZSBhIGxvdC4gVGhlIG1haW4gcHJvYmxlbSB3aXRoIHRoZXNlIGNsYXNzZXMgaXMgdGhh dCwgSXQmIzM5O3MgaGFyZCAod2VsbCwgYXQgbGVhc3QsIGZvciBtZSkgdG8KIG1ha2UgeW91ciBj b2RlIGNvbnNpc3RlbnQuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5XaGF0 IEkgbWVhbiBieSBjb25zaXN0ZW50IGlzIHRoYXQsIGk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxM3B4Ij50IGlzIGNvbmZ1c2luZyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgY2xhc3Nl cyBpcyBhIHBhcnQgb2YgeW91ciBVSSBsYXllciwgb3Igc2VydmljZS9kb21haW4tbW9kZWwgbGF5 ZXIuIE9yIHdoZXJlIHlvdSBhZGQgbmV3IGZ1bmN0aW9uYWxpdHkgdG8gc2F0aXNmaWVkIGEgc3Bl Y2lmaWNzIHJlcXVpcmVtZW50LiBUaGUgc3R1ZHkgY2FzZSBpcyBtYXliZSBsaWtlIHRoaXM6PC9z cGFuPjwvZGl2PgoKCjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij48YnI+PC9zcGFu PjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5MZXQgc2F5IHRoYXQgd2Ug aGF2ZSBhIG1vZHVsZSBuYW1lZCBhY2NvdW50aW5nIHRyYW5zYWN0aW9uLiBBbmQgd2Ugd2FudCB0 byBjcmVhdGUgYSBpbnB1dCB0cmFuc2FjdGlvbiBwYWdlLCB0aHVzIHdlIGhhdmUgYSBUcmFuc2Fj dGlvbkhvbWUueGh0bWwgYmFja2VkIHdpdGggVHJhbnNhY3Rpb25Ib21lLmphdmEuIE5vdyB0aGUg cHJvYmxlbXMgb2NjdXJzLiBCZWNhdXNlIHdlIHdhbnQgYSBjaGFydCBvZiBhY2NvdW50IGxpc3Qg aW4gdGhlIFRyYW5zYWN0aW9uSG9tZS54aHRtbCwgd2hlcmUgaXMgYmV0dGVyIHBsYWNlIHRvIHB1 dCB0aGUgbG9naWMgdG8gY2FsbCB0aGUgY2hhcnQgb2YgYWNjb3VudCBsaXN0PyBJbiB0aGUgVHJh bnNhY3Rpb25Ib21lLmphdmEsIG9yCiBDaGFydE9mQWNjb3VudExpc3QuamF2YT/CoDwvc3Bhbj48 L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+PGJyPjwvc3Bhbj48L2Rpdj48 ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+SW4gdGhlIGJlZ2lubmluZyBJIHB1dCBp dCBpbiB0aGUgQ2hhcnRPZkFjY291bnRMaXN0LmphdmEsIGFuZCBzdGFydCB0byByZWFsaXplIHRo YXQgc2VhbSYjMzk7cyBFbnRpdHlMaXN0IGlzIHNwZWNpYWxpemVkIGNsYXNzIHRvIGNyZWF0ZSBh IHBhZ2Ugd2l0aCBjb250YWlucyBhIHJpY2ggZGF0YXRhYmxlIHNlYXJjaCBvcHRpb24sIHBhZ2lu ZywgYW5kIHNvcnRpbmcuIEl0IHdpbGwgYmUgc3RyYW5nZSB0byB0aGUgY29kZSBpZiB0cnkgdG8g YWRkIG5vbiBzZWFyY2hpbmcvc29ydGluZy9wYWdpbmcgb24gaXQuIFRoZW4gSSB0aGluayB0byBi YWNrIHRvIGdvb2Qtb2xkIERBTyBvYmplY3QsIGFuZCB0aGlua2luZyBhZ2FpbiBhYm91dCB0aGUg YmFja2luZyBiZWFuOiBJIG5lZWQgdG8gY2FsbC9pbmplY3QgdGhlIERBTyBpbiBzb21lIGJhY2tp bmctYmVhbiwgYnV0IHdoZXJlPyBUcmFuc2FjdGlvbkhvbWUuamF2YT8gV2VsbCwgVHJhbnNhY3Rp b25Ib21lIGFscmVhZHkgaGF2ZSBnZXRFbnRpdHlNYW5hZ2VyKCksIHNvIGlmIEkgcHV0IHRoZSBE QU8gaW4gdGhlICoqKkhvbWUsIGl0IHdpbGwgbG9va3Mgb3ZlcmxhcHBpbmcsIGFuZCBiaXQgb2Rk LiBUaGVuIHdoZW4gSSB0aGlua2luZyBhZ2FpbiBhYm91dCB0aGUgRW50aXR5SG9tZSwgSSYjMzk7 bSBub3Qgc3VyZSB3aGV0aGVyIEkgbmVlZCB0byB0cmVhdCB0aGlzIGNsYXNzIGFzIFVJIG9yIFNl cnZpY2UgY2xhc3MuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5Zb3Ugc2Vl LCB0aGlzIGlzIHNpbXBsZSBjYXNlIHN0dWR5IChkb24mIzM5O3QgZ2V0IG1lIHN0YXJ0IHdpdGgg JnF1b3Q7VGhlIGxpc3Qgb2YgQ2hhcnQgT2YgQWNjb3VudCBuZWVkIHRvIGFsaWduaW5nIHdpdGgg dGhlIGxvZ2dlZCBpbiB1c2VyJiMzOTtzIGRlcGFydG1lbnRzIGFuZCB1c2VyJiMzOTtzIHJvbGUu IEFuZCBtYWtlIHN1cmUgdGhhdCBhbiB1c2VyIHdpdGggbGV2ZWwgQSBoYXZlIGEgJHh4eCBsaW1p dCB0cmFuc2FjdGlvbiwgd2hlcmUgbGV2ZWwgQiBoYXZlICR4eHggbGltaXQmcXVvdDspLsKgPC9z cGFuPjwvZGl2PgoKCjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij48YnI+PC9zcGFu PjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5NeSBwdXJwb3NlIGlzIG5v dCB0byBibGFtZSBzb21ldGhpbmcgb3IgcmFudCB0byBzb21ldGhpbmcsIGJ1dCBpbnN0ZWFkLCBn aXZlIGFuIGlkZWEgd2hldGhlciBpcyBpdCBnb29kIGVub3VnaCB0byBsZWF2ZSAqKipIb21lIGFu ZCAqKipRdWVyeSBjb25jZXB0LCBhbmQgYmFjayB0byBhdCBsZWFzdMKgPC9zcGFuPjwvZGl2PgoK CjxkaXY+PGZvbnQgc2l6ZT0iMiI+RW50aXR5LVNlcnZpY2UtQmFja2luZ0JlYW4tVmlldyBtb2Rl bD8gSXQgbG9va3MgJnF1b3Q7dmVyYm9zZSZxdW90OywgSSBrbm93LCBidXQgYXQgbGVhc3Qgd2Ug aGF2ZSBhICZxdW90O3NlcnZpY2UmcXVvdDsgbGF5ZXIsIHdoaWNoIGlzICZxdW90O2NlbnRyYWxp emVkJnF1b3Q7IHBsYWNlIHRvIHdyaXRlIGEgYnVzaW5lc3MgbG9naWMgaW4gb3VyIGFwcGxpY2F0 aW9uLiBXZSBjb3VsZCB0cmVhdCB0aGUgJnF1b3Q7c2VydmljZSZxdW90OyBhcyBqdXN0LXBsYWlu LXN0YXRlbGVzcyBjbGFzc2VzIChFSkIgMy4xIGNsYXNzZXMgb3Igb25seSBzZWFtLXBlcnNpc3Rl bmNlIGNsYXNzZXMgd2l0aCBtaW5pbWFsCiBjb3VwbGVkIHdpdGggdGhlIGZyb250LWVuZCBsYXll ciksIGFuZCBwdXQgdGhlIHJpY2huZXNzIG9mIFdlbGQgYW5kIFNlYW0gMyBtYXliZSBpbiB0aGUg VUkgYW5kIHZpZXcgbGF5ZXIuPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgc2l6ZT0iMiI+PGJyPjwv Zm9udD48L2Rpdj48ZGl2Pjxmb250IHNpemU9IjIiPldlbGwsIEkga25vdyB0aGlzIGlzIHBlcnNv bmFsIHZpZXcsIGZyb20gbWUsIGFuZCBteSBleHBlcmllbmNlLiBUaHVzLCBqdXN0IGlnbm9yZSBp ZiBpbiBjYXNlIHRoaXMgaXMgYW5ub3lpbmcgYW5kIG5vdCBmaXQgd2l0aCB5b3VyIHB1cnBvc2Uv dGFyZ2V0LjwvZm9udD48L2Rpdj4KCgo8ZGl2Pjxmb250IHNpemU9IjIiPjxicj48L2ZvbnQ+PC9k aXY+PGRpdj48Zm9udCBzaXplPSIyIj5UaGFua3MsPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgc2l6 ZT0iMiI+eHNhbGVmdGVyPC9mb250PjwvZGl2PjxkaXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0i Ym9yZGVyLWxlZnQtd2lkdGg6MnB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1sZWZ0 LWNvbG9yOnJnYigxNiwgMTYsIDI1NSk7bWFyZ2luLWxlZnQ6NXB4O3BhZGRpbmctbGVmdDo1cHgi PgoKCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OnRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0 aW1lcywgc2VyaWYiPjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiYjMzk7dGltZXMgbmV3IHJvbWFu JiMzOTssICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIj48Yj48Zm9udCBmYWNlPSJ0 YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YnI+CgoK PC9mb250PjwvYj48ZGl2PjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMz OTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+VGhlIEhvbWUgaWRlYTwvZm9udD48L2Rpdj48Zm9u dCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIy Ij48YSByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VhbS9zZWFtLWV4 YW1wbGUtY29uZmJ1enovYmxvYi9kZXZlbG9wL3NyYy9tYWluL2phdmEvc2VhbS9leGFtcGxlL2Nv bmZidXp6L0NvbmZlcmVuY2VJbnN0YW5jZS5qYXZhIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9n aXRodWIuY29tL3NlYW0vc2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFp bi9qYXZhL3NlYW0vZXhhbXBsZS9jb25mYnV6ei9Db25mZXJlbmNlSW5zdGFuY2UuamF2YTwvYT48 YnIgY2xlYXI9ImFsbCI+CgoKCgo8L2ZvbnQ+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEsICYjMzk7 bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YnI+PC9mb250PjwvZGl2Pjxk aXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIg c2l6ZT0iMiI+VGhlIFF1ZXJ5IGlkZWE8L2ZvbnQ+PC9kaXY+PGRpdj48YSByZWw9Im5vZm9sbG93 IiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VhbS9zZWFtLWV4YW1wbGUtY29uZmJ1enovYmxv Yi9kZXZlbG9wL3NyYy9tYWluL2phdmEvc2VhbS9leGFtcGxlL2NvbmZidXp6L1RvZGF5c0NvbmZl cmVuY2VzUXVlcnkuamF2YSIgdGFyZ2V0PSJfYmxhbmsiPjxmb250IGZhY2U9InRhaG9tYSwgJiMz OTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPmh0dHBzOi8vZ2l0aHViLmNv bS9zZWFtL3NlYW0tZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVsb3Avc3JjL21haW4vamF2YS9z ZWFtL2V4YW1wbGUvY29uZmJ1enovVG9kYXlzQ29uZmVyZW5jZXNRdWVyeS5qYXZhPC9mb250Pjwv YT48L2Rpdj4KCgoKCjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTss IHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9 InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPlRoZSBt YWluIHRoaW5nIHRoYXQgSSB3b3VsZCBjaGFuZ2Ugd2l0aCB0aGUgUXVlcnkgY2xhc3MgYWJvdmUg aXMgdG8gdXNlIG5hbWVkIHF1ZXJpZXMsIHRodXMgZXNwb3VzaW5nIHRoZSBnZW5lcmFsbHkgYWNj ZXB0ZWQgYmVzdCBwcmFjdGljZSBpbiBkZWZhdWx0IGFwcGxpY2F0aW9ucy4gSSB1bmRlcnN0YW5k IHRoaXMgZG9lc24mIzM5O3QgZmlsbCBhbGwgdGhlIGdhcHMgb2YgdGhlIG9sZGVyIFNBRiBmcm9t IFNlYW0gMiwgYnV0IEkgdGhpbmsgaXQgd29ya3MgZm9yIHRoZSBtYWpvcml0eSBvZiBjYXNlcywg YW5kIGl0IGFsc28gaGVscHMgcGVvcGxlIHVuZGVyc3RhbmQgdGhlIGJlc3Qgd2F5IHRvIGRvIHRo aW5ncyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIG1hZ2ljIG9mIFNBRiBmcm9tIFNlYW0gMiAo d2hpY2ggSSBoYXZlIGZvdW5kIHRvIGJlIGEgbWFqb3IgcHJvYmxlbSBpbiBwcm9qZWN0cyBhbmQg dGVhbXMgSSBoYXZlIHdvcmtlZCB3aXRoIG92ZXIgdGhlIGxhc3QgdGhyZWUgeWVhcnMpLjwvZm9u dD48L2Rpdj4KCgoKCjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTss IHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9 InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPkkmIzM5 O3ZlIHNwb2tlbiB3aXRoIExpbmNvbG4gYWJvdXQgdGhpcyBhbmQgdGhlcmUgYXJlIHR3byBKSVJB cyAoPGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMuamJvc3Mub3JnL2Jyb3dz ZS9TRUFNRk9SR0UtMjgwIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9pc3N1ZXMuamJvc3Mub3Jn L2Jyb3dzZS9TRUFNRk9SR0UtMjgwPC9hPsKgYW5kwqA8YSByZWw9Im5vZm9sbG93IiBocmVmPSJo dHRwczovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzkiIHRhcmdldD0iX2Js YW5rIj5odHRwczovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzk8L2E+KSB0 byBoYXZlIEZvcmdlIGdlbmVyYXRlIHRoaXMgdmlhIHRoZSBKUEEgcGx1Z2luIG9yIHBlcmhhcHMg U2VhbSBQZXJzaXN0ZW5jZSBwbHVnaW4uPC9mb250PjwvZGl2PgoKCgoKPGRpdj48Zm9udCBmYWNl PSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YnI+ PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTss IHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+RGlzY3Vzcy48L2ZvbnQ+PC9kaXY+PC9kaXY+PC9kaXY+ PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2PgoKCjwvZGl2Pjxicj48L2Rpdj48 L2Rpdj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4K c2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMu amJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxi cj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFt LWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxmb250IGNvbG9y PSIjODg4ODg4Ij48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2Pi0tIDxicj48ZGl2 PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1 dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxi cj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmou YWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmls ZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKCjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51 eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tPC9hPjxicj48YSBo cmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsi Pmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj48L2Rpdj48YnI+Cjwv Zm9udD48L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48 YnI+PC9kaXY+LS0gPGJyPjxkaXY+RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVu Z2luZWVyLCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQg TGludXggVXNlciAjMjMxNTk3PGJyPjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xl LmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93 d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVm PSJodHRwOi8vbW9qYXZlbGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxp bnV4LmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rp b24iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwv YT48YnI+PC9kaXY+PGJyPgo= --===============5887738642675059351==-- From maschmid at redhat.com Tue Sep 20 14:29:09 2011 Content-Type: multipart/mixed; boundary="===============3293633273739316335==" MIME-Version: 1.0 From: Marek Schmidt To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Tue, 20 Sep 2011 20:29:06 +0200 Message-ID: <4E78DB72.4020106@redhat.com> In-Reply-To: op.v130kpkrmv7neb@localhost --===============3293633273739316335== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 09/20/2011 03:47 PM, Ond=C5=99ej Skutka wrote: > On Tue, 20 Sep 2011 10:51:47 +0200, Shane Bryzak > wrote: > >> Can we please make it a priority to get the Solder testsuite updated to >> the new structure and all the tests passing? Once this is done, the >> rest of the team can help out by updating the other modules to follow >> the same configuration. > > Sure. Marek, can you please focus on this? Sure, I am on it. Current progress in https://github.com/maschmid/solder/tree/testsuite-update-2 > > Thanks, > Ondra > --===============3293633273739316335==-- From sbryzak at redhat.com Tue Sep 20 14:31:04 2011 Content-Type: multipart/mixed; boundary="===============4028840889287228848==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Wed, 21 Sep 2011 04:30:58 +1000 Message-ID: <4E78DBE2.1040307@redhat.com> In-Reply-To: 4E78DB72.4020106@redhat.com --===============4028840889287228848== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thanks Marek. Just a heads up - the Catch, Config and Servlet modules = are going to be merged with Solder as sub-modules shortly. Would you = like me to wait until the testsuite is stable before I move the tests = over for these? Shane On 21/09/11 04:29, Marek Schmidt wrote: > On 09/20/2011 03:47 PM, Ond=C5=99ej Skutka wrote: >> On Tue, 20 Sep 2011 10:51:47 +0200, Shane Bryzak >> wrote: >> >>> Can we please make it a priority to get the Solder testsuite updated to >>> the new structure and all the tests passing? Once this is done, the >>> rest of the team can help out by updating the other modules to follow >>> the same configuration. >> >> Sure. Marek, can you please focus on this? > > Sure, I am on it. > > Current progress in > > https://github.com/maschmid/solder/tree/testsuite-update-2 > >> >> Thanks, >> Ondra >> > --===============4028840889287228848==-- From joserodolfo.freitas at gmail.com Tue Sep 20 15:36:22 2011 Content-Type: multipart/mixed; boundary="===============4652882579678139868==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 16:36:21 -0300 Message-ID: In-Reply-To: CAKeHnO4EpctjLMOXrJtN1sGVc7n3G9n_BP+DM9=YBkWYKVjEsw@mail.gmail.com --===============4652882579678139868== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable What I like most in CDI and Seam3 is that it's very easy to keep things simple and that's something I strongly advocate. For me when you have a lot of layers that just delegate calls, something is wrong, and you're probably writing that classes(layers) just to satisfy an unnecessary pattern. If we create a Seam Application Framework like that for Seam3, I'm afraid we're going to fall in that hole. IMHO we should avoid that. JEE6 carries the design by simplicity flag and I think we should support that. I know that a lot of people want to have a happy and safe way to achieve a simple CRUD. But I think we should encourage them to enjoy the CDI programming model and use layers only when they're needed to be used. Of course there're still boilerplate code, but I think it's minimal (compared to the JEE generations before), and that's something forge can create without the need to satisfy a "framework". Yes, I admitedly am afraid of that word. On Tue, Sep 20, 2011 at 2:54 PM, Dan Allen wrote: > xsalefter, > > Thanks, this is valuable feedback and certainly usage patterns to keep in > mind when designing the new iteration of these components. > > In numerous conversations that I've had with developers familiar with Seam > 2, the common theme is that *Home and *Query components are not the ideal > design. They lead developers into tight corners exactly in the way you are > describing. Thus, we likely won't be following the status quo (though, it= 's > not too big of an effort to port the existing functionality to CDI, so if > someone would like to work on that, we won't discourage it). > > Instead, I think these components should provide boilerplate functionalit= y, > yet be flexible and easily tuned to the needs of the developer. I think > you're right in that going back to a generic DAO design might be a more > reasonable strategy. I don't think developer expect to code entirely in X= ML, > they simply don't want to type the same boilerplate over and over again. > > I like Jason's idea of using named queries. Keep in mind we could read the > queries as a suggestion and produce more sophisticated queries in an > extension...so we aren't limited to what named queries support today. We'= ve > also been considering supporting finder "missing" methods that build a qu= ery > from the name of the method (or a set of annotations on the method). > > Whatever we decide, this should be the framework code that forge uses when > generating CRUD applications. Let's make it something that we aren't asha= med > of having in our projects ;) > > -Dan > > p.s. I also recommend renaming SAF, because it's a really confusing term. > Something like "entity framework" is far more sensible. > > On Tue, Sep 20, 2011 at 03:47, xsalefter wrote: > >> Hi all.. I know that I never involved on this mailing-list so much, nor >> contribute things to the community. But because I have an experience with >> seam 2 and used seam gen extensively (and thus use seam's EntityQuery and >> EntityHome a lot) in some project, I have a thought about this. >> >> EntityQuery anda EntityHome is perfect in case you want to creating an >> simple CRUD application. Well, not as simple as is. I ever involved in a >> project with 40 more database tables with quite extensive financial >> transaction, and use an EntityQuery and EntityHome a lot. The main probl= em >> with these classes is that, It's hard (well, at least, for me) to make y= our >> code consistent. What I mean by consistent is that, it is confusing to >> determine whether the classes is a part of your UI layer, or >> service/domain-model layer. Or where you add new functionality to satisf= ied >> a specifics requirement. The study case is maybe like this: >> >> Let say that we have a module named accounting transaction. And we want = to >> create a input transaction page, thus we have a TransactionHome.xhtml ba= cked >> with TransactionHome.java. Now the problems occurs. Because we want a ch= art >> of account list in the TransactionHome.xhtml, where is better place to p= ut >> the logic to call the chart of account list? In the TransactionHome.java= , or >> ChartOfAccountList.java? >> >> In the beginning I put it in the ChartOfAccountList.java, and start to >> realize that seam's EntityList is specialized class to create a page with >> contains a rich datatable search option, paging, and sorting. It will be >> strange to the code if try to add non searching/sorting/paging on it. Th= en I >> think to back to good-old DAO object, and thinking again about the backi= ng >> bean: I need to call/inject the DAO in some backing-bean, but where? >> TransactionHome.java? Well, TransactionHome already have getEntityManage= r(), >> so if I put the DAO in the ***Home, it will looks overlapping, and bit o= dd. >> Then when I thinking again about the EntityHome, I'm not sure whether I = need >> to treat this class as UI or Service class. You see, this is simple case >> study (don't get me start with "The list of Chart Of Account need to >> aligning with the logged in user's departments and user's role. And make >> sure that an user with level A have a $xxx limit transaction, where leve= l B >> have $xxx limit"). >> >> My purpose is not to blame something or rant to something, but instead, >> give an idea whether is it good enough to leave ***Home and ***Query >> concept, and back to at least >> Entity-Service-BackingBean-View model? It looks "verbose", I know, but at >> least we have a "service" layer, which is "centralized" place to write a >> business logic in our application. We could treat the "service" as >> just-plain-stateless classes (EJB 3.1 classes or only seam-persistence >> classes with minimal coupled with the front-end layer), and put the rich= ness >> of Weld and Seam 3 maybe in the UI and view layer. >> >> Well, I know this is personal view, from me, and my experience. Thus, ju= st >> ignore if in case this is annoying and not fit with your purpose/target. >> >> Thanks, >> xsalefter >> >> * >> * >> The Home idea >> >> https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java= /seam/example/confbuzz/ConferenceInstance.java >> >> The Query idea >> >> https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/java= /seam/example/confbuzz/TodaysConferencesQuery.java >> >> The main thing that I would change with the Query class above is to use >> named queries, thus espousing the generally accepted best practice in >> default applications. I understand this doesn't fill all the gaps of the >> older SAF from Seam 2, but I think it works for the majority of cases, a= nd >> it also helps people understand the best way to do things instead of rel= ying >> on the magic of SAF from Seam 2 (which I have found to be a major proble= m in >> projects and teams I have worked with over the last three years). >> >> I've spoken with Lincoln about this and there are two JIRAs ( >> https://issues.jboss.org/browse/SEAMFORGE-280 and >> https://issues.jboss.org/browse/SEAMFORGE-279) to have Forge generate >> this via the JPA plugin or perhaps Seam Persistence plugin. >> >> Discuss. >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > --===============4652882579678139868== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" V2hhdCBJIGxpa2UgbW9zdCBpbiBDREkgYW5kIFNlYW0zIGlzIHRoYXQgaXQmIzM5O3MgdmVyeSBl YXN5IHRvIGtlZXAgdGhpbmdzIHNpbXBsZSBhbmQgdGhhdCYjMzk7cyBzb21ldGhpbmcgSSBzdHJv bmdseSBhZHZvY2F0ZS6gPGRpdj48YnI+PC9kaXY+PGRpdj5Gb3IgbWUgd2hlbiB5b3UgaGF2ZSBh IGxvdCBvZiBsYXllcnMgdGhhdCBqdXN0IGRlbGVnYXRlIGNhbGxzLCBzb21ldGhpbmcgaXMgd3Jv bmcsIGFuZCB5b3UmIzM5O3JlIHByb2JhYmx5IHdyaXRpbmcgdGhhdCBjbGFzc2VzKGxheWVycykg anVzdCB0byBzYXRpc2Z5IGFuIHVubmVjZXNzYXJ5IHBhdHRlcm4uIElmIHdlIGNyZWF0ZSBhIFNl YW0gQXBwbGljYXRpb24gRnJhbWV3b3JrIGxpa2UgdGhhdCBmb3IgU2VhbTMsIEkmIzM5O20gYWZy YWlkIHdlJiMzOTtyZSBnb2luZyB0byBmYWxsIGluIHRoYXQgaG9sZS4gSU1ITyB3ZSBzaG91bGQg YXZvaWQgdGhhdC4gSkVFNiBjYXJyaWVzIHRoZSBkZXNpZ24gYnkgc2ltcGxpY2l0eSBmbGFnIGFu ZCBJIHRoaW5rIHdlIHNob3VsZCBzdXBwb3J0IHRoYXQuPC9kaXY+CjxkaXY+PGJyPjwvZGl2Pjxk aXY+SSBrbm93IHRoYXQgYSBsb3Qgb2YgcGVvcGxlIHdhbnQgdG8gaGF2ZSBhIGhhcHB5IGFuZCBz YWZlIHdheSB0byBhY2hpZXZlIGEgc2ltcGxlIENSVUQuIEJ1dCBJIHRoaW5rIHdlIHNob3VsZCBl bmNvdXJhZ2UgdGhlbSB0byBlbmpveSB0aGUgQ0RJIHByb2dyYW1taW5nIG1vZGVsIGFuZCB1c2Ug bGF5ZXJzIG9ubHkgd2hlbiB0aGV5JiMzOTtyZSBuZWVkZWQgdG8gYmUgdXNlZC48L2Rpdj4KPGRp dj48YnI+PC9kaXY+PGRpdj5PZiBjb3Vyc2UgdGhlcmUmIzM5O3JlIHN0aWxsIGJvaWxlcnBsYXRl IGNvZGUsIGJ1dCBJIHRoaW5rIGl0JiMzOTtzIG1pbmltYWwgKGNvbXBhcmVkIHRvIHRoZSBKRUUg Z2VuZXJhdGlvbnMgYmVmb3JlKSwgYW5kIHRoYXQmIzM5O3Mgc29tZXRoaW5nIGZvcmdlIGNhbiBj cmVhdGUgd2l0aG91dCB0aGUgbmVlZCB0byBzYXRpc2Z5IGEgJnF1b3Q7ZnJhbWV3b3JrJnF1b3Q7 LiBZZXMsIEkgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0aGF0IHdvcmQuPC9kaXY+CjxkaXY+PGJy PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5P biBUdWUsIFNlcCAyMCwgMjAxMSBhdCAyOjU0IFBNLCBEYW4gQWxsZW4gPHNwYW4gZGlyPSJsdHIi PiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5AZ21haWwuY29tIj5kYW4uai5hbGxlbkBn bWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFp bF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNv bGlkO3BhZGRpbmctbGVmdDoxZXg7Ij4KeHNhbGVmdGVyLDxkaXY+PGJyPjwvZGl2PjxkaXY+VGhh bmtzLCB0aGlzIGlzIHZhbHVhYmxlIGZlZWRiYWNrIGFuZCBjZXJ0YWlubHkgdXNhZ2UgcGF0dGVy bnMgdG8ga2VlcCBpbiBtaW5kIHdoZW4gZGVzaWduaW5nIHRoZSBuZXcgaXRlcmF0aW9uIG9mIHRo ZXNlIGNvbXBvbmVudHMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JbiBudW1lcm91cyBjb252 ZXJzYXRpb25zIHRoYXQgSSYjMzk7dmUgaGFkIHdpdGggZGV2ZWxvcGVycyBmYW1pbGlhciB3aXRo IFNlYW0gMiwgdGhlIGNvbW1vbiB0aGVtZSBpcyB0aGF0ICpIb21lIGFuZCAqUXVlcnkgY29tcG9u ZW50cyBhcmUgbm90IHRoZSBpZGVhbCBkZXNpZ24uIFRoZXkgbGVhZCBkZXZlbG9wZXJzIGludG8g dGlnaHQgY29ybmVycyBleGFjdGx5IGluIHRoZSB3YXkgeW91IGFyZSBkZXNjcmliaW5nLiBUaHVz LCB3ZSBsaWtlbHkgd29uJiMzOTt0IGJlIGZvbGxvd2luZyB0aGUgc3RhdHVzIHF1byAodGhvdWdo LCBpdCYjMzk7cyBub3QgdG9vIGJpZyBvZiBhbiBlZmZvcnQgdG8gcG9ydCB0aGUgZXhpc3Rpbmcg ZnVuY3Rpb25hbGl0eSB0byBDREksIHNvIGlmIHNvbWVvbmUgd291bGQgbGlrZSB0byB3b3JrIG9u IHRoYXQsIHdlIHdvbiYjMzk7dCBkaXNjb3VyYWdlIGl0KS48L2Rpdj4KCgo8ZGl2Pjxicj48L2Rp dj48ZGl2Pkluc3RlYWQsIEkgdGhpbmsgdGhlc2UgY29tcG9uZW50cyBzaG91bGQgcHJvdmlkZSBi b2lsZXJwbGF0ZSBmdW5jdGlvbmFsaXR5LCB5ZXQgYmUgZmxleGlibGUgYW5kIGVhc2lseSB0dW5l ZCB0byB0aGUgbmVlZHMgb2YgdGhlIGRldmVsb3Blci4gSSB0aGluayB5b3UmIzM5O3JlIHJpZ2h0 IGluIHRoYXQgZ29pbmcgYmFjayB0byBhIGdlbmVyaWMgREFPIGRlc2lnbiBtaWdodCBiZSBhIG1v cmUgcmVhc29uYWJsZSBzdHJhdGVneS4gSSBkb24mIzM5O3QgdGhpbmsgZGV2ZWxvcGVyIGV4cGVj dCB0byBjb2RlIGVudGlyZWx5IGluIFhNTCwgdGhleSBzaW1wbHkgZG9uJiMzOTt0IHdhbnQgdG8g dHlwZSB0aGUgc2FtZSBib2lsZXJwbGF0ZSBvdmVyIGFuZCBvdmVyIGFnYWluLjwvZGl2PgoKCjxk aXY+PGJyPjwvZGl2PjxkaXY+SSBsaWtlIEphc29uJiMzOTtzIGlkZWEgb2YgdXNpbmcgbmFtZWQg cXVlcmllcy4gS2VlcCBpbiBtaW5kIHdlIGNvdWxkIHJlYWQgdGhlIHF1ZXJpZXMgYXMgYSBzdWdn ZXN0aW9uIGFuZCBwcm9kdWNlIG1vcmUgc29waGlzdGljYXRlZCBxdWVyaWVzIGluIGFuIGV4dGVu c2lvbi4uLnNvIHdlIGFyZW4mIzM5O3QgbGltaXRlZCB0byB3aGF0IG5hbWVkIHF1ZXJpZXMgc3Vw cG9ydCB0b2RheS4gV2UmIzM5O3ZlIGFsc28gYmVlbiBjb25zaWRlcmluZyBzdXBwb3J0aW5nIGZp bmRlciAmcXVvdDttaXNzaW5nJnF1b3Q7IG1ldGhvZHMgdGhhdCBidWlsZCBhIHF1ZXJ5IGZyb20g dGhlIG5hbWUgb2YgdGhlIG1ldGhvZCAob3IgYSBzZXQgb2YgYW5ub3RhdGlvbnMgb24gdGhlIG1l dGhvZCkuPC9kaXY+CgoKPGRpdj48YnI+PC9kaXY+PGRpdj5XaGF0ZXZlciB3ZSBkZWNpZGUsIHRo aXMgc2hvdWxkIGJlIHRoZSBmcmFtZXdvcmsgY29kZSB0aGF0IGZvcmdlIHVzZXMgd2hlbiBnZW5l cmF0aW5nIENSVUQgYXBwbGljYXRpb25zLiBMZXQmIzM5O3MgbWFrZSBpdCBzb21ldGhpbmcgdGhh dCB3ZSBhcmVuJiMzOTt0IGFzaGFtZWQgb2YgaGF2aW5nIGluIG91ciBwcm9qZWN0cyA7KTwvZGl2 PjxkaXY+PGJyPgoKCjwvZGl2PjxkaXY+LURhbjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+cC5z LiBJIGFsc28gcmVjb21tZW5kIHJlbmFtaW5nIFNBRiwgYmVjYXVzZSBpdCYjMzk7cyBhIHJlYWxs eSBjb25mdXNpbmcgdGVybS4gU29tZXRoaW5nIGxpa2UgJnF1b3Q7ZW50aXR5IGZyYW1ld29yayZx dW90OyBpcyBmYXIgbW9yZSBzZW5zaWJsZS48L2Rpdj48ZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFp bF9xdW90ZSI+CjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+CgpPbiBUdWUsIFNlcCAy MCwgMjAxMSBhdCAwMzo0NywgeHNhbGVmdGVyIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0i bWFpbHRvOnhzYWxlZnRlckB5YWhvby5jb20iIHRhcmdldD0iX2JsYW5rIj54c2FsZWZ0ZXJAeWFo b28uY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48L2Rpdj48L2Rpdj48YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDox cHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KPGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xh c3M9Img1Ij4KCjxkaXY+PGRpdiBzdHlsZT0iY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNm ZmY7Zm9udC1mYW1pbHk6dGFob21hLCBuZXcgeW9yaywgdGltZXMsIHNlcmlmO2ZvbnQtc2l6ZTox MHB0Ij48ZGl2PjxzcGFuPjxmb250IHNpemU9IjIiPkhpIGFsbC4uIEkga25vdyB0aGF0IEkgbmV2 ZXIgaW52b2x2ZWQgb24gdGhpcyBtYWlsaW5nLWxpc3Qgc28gbXVjaCwgbm9yIGNvbnRyaWJ1dGUg dGhpbmdzIHRvIHRoZSBjb21tdW5pdHkuIEJ1dCBiZWNhdXNlIEkgaGF2ZSBhbiBleHBlcmllbmNl IHdpdGggc2VhbSAyIGFuZCB1c2VkIHNlYW0gZ2VuIGV4dGVuc2l2ZWx5IChhbmQgdGh1cyB1c2Ug c2VhbSYjMzk7cyBFbnRpdHlRdWVyeSBhbmQgRW50aXR5SG9tZSBhIGxvdCkgaW4gc29tZSBwcm9q ZWN0LCBJIGhhdmUgYSB0aG91Z2h0IGFib3V0IHRoaXMuPC9mb250Pjwvc3Bhbj48L2Rpdj4KCgo8 ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+RW50aXR5UXVlcnkgYW5kYSBFbnRpdHlIb21lIGlz IHBlcmZlY3QgaW4gY2FzZSB5b3Ugd2FudCB0byBjcmVhdGluZyBhbiBzaW1wbGUgQ1JVRCBhcHBs aWNhdGlvbi4gV2VsbCwgbm90IGFzIHNpbXBsZSBhcyBpcy4gSSBldmVyIGludm9sdmVkIGluIGEg cHJvamVjdCB3aXRoIDQwIG1vcmUgZGF0YWJhc2UgdGFibGVzIHdpdGggcXVpdGUgZXh0ZW5zaXZl IGZpbmFuY2lhbCB0cmFuc2FjdGlvbiwgYW5kIHVzZSBhbiBFbnRpdHlRdWVyeSBhbmQgRW50aXR5 SG9tZSBhIGxvdC4gVGhlIG1haW4gcHJvYmxlbSB3aXRoIHRoZXNlIGNsYXNzZXMgaXMgdGhhdCwg SXQmIzM5O3MgaGFyZCAod2VsbCwgYXQgbGVhc3QsIGZvciBtZSkgdG8KIG1ha2UgeW91ciBjb2Rl IGNvbnNpc3RlbnQuoDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPldoYXQgSSBt ZWFuIGJ5IGNvbnNpc3RlbnQgaXMgdGhhdCwgaTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEzcHgiPnQgaXMgY29uZnVzaW5nIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBjbGFzc2VzIGlz IGEgcGFydCBvZiB5b3VyIFVJIGxheWVyLCBvciBzZXJ2aWNlL2RvbWFpbi1tb2RlbCBsYXllci4g T3Igd2hlcmUgeW91IGFkZCBuZXcgZnVuY3Rpb25hbGl0eSB0byBzYXRpc2ZpZWQgYSBzcGVjaWZp Y3MgcmVxdWlyZW1lbnQuIFRoZSBzdHVkeSBjYXNlIGlzIG1heWJlIGxpa2UgdGhpczo8L3NwYW4+ PC9kaXY+CgoKPGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9k aXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPkxldCBzYXkgdGhhdCB3ZSBoYXZl IGEgbW9kdWxlIG5hbWVkIGFjY291bnRpbmcgdHJhbnNhY3Rpb24uIEFuZCB3ZSB3YW50IHRvIGNy ZWF0ZSBhIGlucHV0IHRyYW5zYWN0aW9uIHBhZ2UsIHRodXMgd2UgaGF2ZSBhIFRyYW5zYWN0aW9u SG9tZS54aHRtbCBiYWNrZWQgd2l0aCBUcmFuc2FjdGlvbkhvbWUuamF2YS4gTm93IHRoZSBwcm9i bGVtcyBvY2N1cnMuIEJlY2F1c2Ugd2Ugd2FudCBhIGNoYXJ0IG9mIGFjY291bnQgbGlzdCBpbiB0 aGUgVHJhbnNhY3Rpb25Ib21lLnhodG1sLCB3aGVyZSBpcyBiZXR0ZXIgcGxhY2UgdG8gcHV0IHRo ZSBsb2dpYyB0byBjYWxsIHRoZSBjaGFydCBvZiBhY2NvdW50IGxpc3Q/IEluIHRoZSBUcmFuc2Fj dGlvbkhvbWUuamF2YSwgb3IKIENoYXJ0T2ZBY2NvdW50TGlzdC5qYXZhP6A8L3NwYW4+PC9kaXY+ PGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPkluIHRoZSBiZWdpbm5pbmcgSSBwdXQgaXQgaW4g dGhlIENoYXJ0T2ZBY2NvdW50TGlzdC5qYXZhLCBhbmQgc3RhcnQgdG8gcmVhbGl6ZSB0aGF0IHNl YW0mIzM5O3MgRW50aXR5TGlzdCBpcyBzcGVjaWFsaXplZCBjbGFzcyB0byBjcmVhdGUgYSBwYWdl IHdpdGggY29udGFpbnMgYSByaWNoIGRhdGF0YWJsZSBzZWFyY2ggb3B0aW9uLCBwYWdpbmcsIGFu ZCBzb3J0aW5nLiBJdCB3aWxsIGJlIHN0cmFuZ2UgdG8gdGhlIGNvZGUgaWYgdHJ5IHRvIGFkZCBu b24gc2VhcmNoaW5nL3NvcnRpbmcvcGFnaW5nIG9uIGl0LiBUaGVuIEkgdGhpbmsgdG8gYmFjayB0 byBnb29kLW9sZCBEQU8gb2JqZWN0LCBhbmQgdGhpbmtpbmcgYWdhaW4gYWJvdXQgdGhlIGJhY2tp bmcgYmVhbjogSSBuZWVkIHRvIGNhbGwvaW5qZWN0IHRoZSBEQU8gaW4gc29tZSBiYWNraW5nLWJl YW4sIGJ1dCB3aGVyZT8gVHJhbnNhY3Rpb25Ib21lLmphdmE/IFdlbGwsIFRyYW5zYWN0aW9uSG9t ZSBhbHJlYWR5IGhhdmUgZ2V0RW50aXR5TWFuYWdlcigpLCBzbyBpZiBJIHB1dCB0aGUgREFPIGlu IHRoZSAqKipIb21lLCBpdCB3aWxsIGxvb2tzIG92ZXJsYXBwaW5nLCBhbmQgYml0IG9kZC4gVGhl biB3aGVuIEkgdGhpbmtpbmcgYWdhaW4gYWJvdXQgdGhlIEVudGl0eUhvbWUsIEkmIzM5O20gbm90 IHN1cmUgd2hldGhlciBJIG5lZWQgdG8gdHJlYXQgdGhpcyBjbGFzcyBhcyBVSSBvciBTZXJ2aWNl IGNsYXNzLqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5Zb3Ugc2VlLCB0aGlz IGlzIHNpbXBsZSBjYXNlIHN0dWR5IChkb24mIzM5O3QgZ2V0IG1lIHN0YXJ0IHdpdGggJnF1b3Q7 VGhlIGxpc3Qgb2YgQ2hhcnQgT2YgQWNjb3VudCBuZWVkIHRvIGFsaWduaW5nIHdpdGggdGhlIGxv Z2dlZCBpbiB1c2VyJiMzOTtzIGRlcGFydG1lbnRzIGFuZCB1c2VyJiMzOTtzIHJvbGUuIEFuZCBt YWtlIHN1cmUgdGhhdCBhbiB1c2VyIHdpdGggbGV2ZWwgQSBoYXZlIGEgJHh4eCBsaW1pdCB0cmFu c2FjdGlvbiwgd2hlcmUgbGV2ZWwgQiBoYXZlICR4eHggbGltaXQmcXVvdDspLqA8L3NwYW4+PC9k aXY+CgoKPGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9kaXY+ PGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPk15IHB1cnBvc2UgaXMgbm90IHRvIGJs YW1lIHNvbWV0aGluZyBvciByYW50IHRvIHNvbWV0aGluZywgYnV0IGluc3RlYWQsIGdpdmUgYW4g aWRlYSB3aGV0aGVyIGlzIGl0IGdvb2QgZW5vdWdoIHRvIGxlYXZlICoqKkhvbWUgYW5kICoqKlF1 ZXJ5IGNvbmNlcHQsIGFuZCBiYWNrIHRvIGF0IGxlYXN0oDwvc3Bhbj48L2Rpdj4KCgo8ZGl2Pjxm b250IHNpemU9IjIiPkVudGl0eS1TZXJ2aWNlLUJhY2tpbmdCZWFuLVZpZXcgbW9kZWw/IEl0IGxv b2tzICZxdW90O3ZlcmJvc2UmcXVvdDssIEkga25vdywgYnV0IGF0IGxlYXN0IHdlIGhhdmUgYSAm cXVvdDtzZXJ2aWNlJnF1b3Q7IGxheWVyLCB3aGljaCBpcyAmcXVvdDtjZW50cmFsaXplZCZxdW90 OyBwbGFjZSB0byB3cml0ZSBhIGJ1c2luZXNzIGxvZ2ljIGluIG91ciBhcHBsaWNhdGlvbi4gV2Ug Y291bGQgdHJlYXQgdGhlICZxdW90O3NlcnZpY2UmcXVvdDsgYXMganVzdC1wbGFpbi1zdGF0ZWxl c3MgY2xhc3NlcyAoRUpCIDMuMSBjbGFzc2VzIG9yIG9ubHkgc2VhbS1wZXJzaXN0ZW5jZSBjbGFz c2VzIHdpdGggbWluaW1hbAogY291cGxlZCB3aXRoIHRoZSBmcm9udC1lbmQgbGF5ZXIpLCBhbmQg cHV0IHRoZSByaWNobmVzcyBvZiBXZWxkIGFuZCBTZWFtIDMgbWF5YmUgaW4gdGhlIFVJIGFuZCB2 aWV3IGxheWVyLjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IHNpemU9IjIiPjxicj48L2ZvbnQ+PC9k aXY+PGRpdj48Zm9udCBzaXplPSIyIj5XZWxsLCBJIGtub3cgdGhpcyBpcyBwZXJzb25hbCB2aWV3 LCBmcm9tIG1lLCBhbmQgbXkgZXhwZXJpZW5jZS4gVGh1cywganVzdCBpZ25vcmUgaWYgaW4gY2Fz ZSB0aGlzIGlzIGFubm95aW5nIGFuZCBub3QgZml0IHdpdGggeW91ciBwdXJwb3NlL3RhcmdldC48 L2ZvbnQ+PC9kaXY+CgoKPGRpdj48Zm9udCBzaXplPSIyIj48YnI+PC9mb250PjwvZGl2PjxkaXY+ PGZvbnQgc2l6ZT0iMiI+VGhhbmtzLDwvZm9udD48L2Rpdj48ZGl2Pjxmb250IHNpemU9IjIiPnhz YWxlZnRlcjwvZm9udD48L2Rpdj48ZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1s ZWZ0LXdpZHRoOjJweDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1jb2xvcjpy Z2IoMTYsIDE2LCAyNTUpO21hcmdpbi1sZWZ0OjVweDtwYWRkaW5nLWxlZnQ6NXB4Ij4KCgo8ZGl2 IHN0eWxlPSJmb250LWZhbWlseTp0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNl cmlmIj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTomIzM5O3RpbWVzIG5ldyByb21hbiYjMzk7LCAm IzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiI+PGI+PGZvbnQgZmFjZT0idGFob21hLCAm IzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGJyPgoKCjwvZm9udD48 L2I+PGRpdj48ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1l cywgc2VyaWYiIHNpemU9IjIiPlRoZSBIb21lIGlkZWE8L2ZvbnQ+PC9kaXY+PGZvbnQgZmFjZT0i dGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGEgcmVs PSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3NlYW0vc2VhbS1leGFtcGxlLWNv bmZidXp6L2Jsb2IvZGV2ZWxvcC9zcmMvbWFpbi9qYXZhL3NlYW0vZXhhbXBsZS9jb25mYnV6ei9D b25mZXJlbmNlSW5zdGFuY2UuamF2YSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNv bS9zZWFtL3NlYW0tZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVsb3Avc3JjL21haW4vamF2YS9z ZWFtL2V4YW1wbGUvY29uZmJ1enovQ29uZmVyZW5jZUluc3RhbmNlLmphdmE8L2E+PGJyIGNsZWFy PSJhbGwiPgoKCgoKPC9mb250PjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3Jr JiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250 IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIi PlRoZSBRdWVyeSBpZGVhPC9mb250PjwvZGl2PjxkaXY+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0i aHR0cHM6Ly9naXRodWIuY29tL3NlYW0vc2VhbS1leGFtcGxlLWNvbmZidXp6L2Jsb2IvZGV2ZWxv cC9zcmMvbWFpbi9qYXZhL3NlYW0vZXhhbXBsZS9jb25mYnV6ei9Ub2RheXNDb25mZXJlbmNlc1F1 ZXJ5LmphdmEiIHRhcmdldD0iX2JsYW5rIj48Zm9udCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlv cmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5odHRwczovL2dpdGh1Yi5jb20vc2VhbS9z ZWFtLWV4YW1wbGUtY29uZmJ1enovYmxvYi9kZXZlbG9wL3NyYy9tYWluL2phdmEvc2VhbS9leGFt cGxlL2NvbmZidXp6L1RvZGF5c0NvbmZlcmVuY2VzUXVlcnkuamF2YTwvZm9udD48L2E+PC9kaXY+ CgoKCgo8ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywg c2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEs ICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5UaGUgbWFpbiB0aGlu ZyB0aGF0IEkgd291bGQgY2hhbmdlIHdpdGggdGhlIFF1ZXJ5IGNsYXNzIGFib3ZlIGlzIHRvIHVz ZSBuYW1lZCBxdWVyaWVzLCB0aHVzIGVzcG91c2luZyB0aGUgZ2VuZXJhbGx5IGFjY2VwdGVkIGJl c3QgcHJhY3RpY2UgaW4gZGVmYXVsdCBhcHBsaWNhdGlvbnMuIEkgdW5kZXJzdGFuZCB0aGlzIGRv ZXNuJiMzOTt0IGZpbGwgYWxsIHRoZSBnYXBzIG9mIHRoZSBvbGRlciBTQUYgZnJvbSBTZWFtIDIs IGJ1dCBJIHRoaW5rIGl0IHdvcmtzIGZvciB0aGUgbWFqb3JpdHkgb2YgY2FzZXMsIGFuZCBpdCBh bHNvIGhlbHBzIHBlb3BsZSB1bmRlcnN0YW5kIHRoZSBiZXN0IHdheSB0byBkbyB0aGluZ3MgaW5z dGVhZCBvZiByZWx5aW5nIG9uIHRoZSBtYWdpYyBvZiBTQUYgZnJvbSBTZWFtIDIgKHdoaWNoIEkg aGF2ZSBmb3VuZCB0byBiZSBhIG1ham9yIHByb2JsZW0gaW4gcHJvamVjdHMgYW5kIHRlYW1zIEkg aGF2ZSB3b3JrZWQgd2l0aCBvdmVyIHRoZSBsYXN0IHRocmVlIHllYXJzKS48L2ZvbnQ+PC9kaXY+ CgoKCgo8ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywg c2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEs ICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5JJiMzOTt2ZSBzcG9r ZW4gd2l0aCBMaW5jb2xuIGFib3V0IHRoaXMgYW5kIHRoZXJlIGFyZSB0d28gSklSQXMgKDxhIHJl bD0ibm9mb2xsb3ciIGhyZWY9Imh0dHBzOi8vaXNzdWVzLmpib3NzLm9yZy9icm93c2UvU0VBTUZP UkdFLTI4MCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vaXNzdWVzLmpib3NzLm9yZy9icm93c2Uv U0VBTUZPUkdFLTI4MDwvYT6gYW5koDxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Imh0dHBzOi8vaXNz dWVzLmpib3NzLm9yZy9icm93c2UvU0VBTUZPUkdFLTI3OSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBz Oi8vaXNzdWVzLmpib3NzLm9yZy9icm93c2UvU0VBTUZPUkdFLTI3OTwvYT4pIHRvIGhhdmUgRm9y Z2UgZ2VuZXJhdGUgdGhpcyB2aWEgdGhlIEpQQSBwbHVnaW4gb3IgcGVyaGFwcyBTZWFtIFBlcnNp c3RlbmNlIHBsdWdpbi48L2ZvbnQ+PC9kaXY+CgoKCgo8ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwg JiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9k aXY+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNl cmlmIiBzaXplPSIyIj5EaXNjdXNzLjwvZm9udD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Js b2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+CgoKPC9kaXY+PGJyPjwvZGl2PjwvZGl2Pl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpzZWFtLWRldiBt YWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmci IHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVm PSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJn ZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFt LWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGZvbnQgY29sb3I9IiM4ODg4ODgi Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPjxkaXY+RGFuIEFsbGVu PC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNl YW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPjxicj48ZGl2 PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91 dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5h bGxlbiNhYm91dDwvYT48YnI+CgoKPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6 Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21v amF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwvZGl2Pjxicj4KPC9mb250PjwvZGl2 Pgo8YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+ CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3Rz Lmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0 cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJf YmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8 L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4K --===============4652882579678139868==-- From joserodolfo.freitas at gmail.com Tue Sep 20 15:39:11 2011 Content-Type: multipart/mixed; boundary="===============4719234638610016109==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 16:39:09 -0300 Message-ID: In-Reply-To: CAK8YEYPPsXJ_=FadjVGbQZD5EsOevn6C=u-z_CkrRBxDoge2Kw@mail.gmail.com --===============4719234638610016109== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable p.s.: I know that's a really polemic opinion. ;) On Tue, Sep 20, 2011 at 4:36 PM, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > What I like most in CDI and Seam3 is that it's very easy to keep things > simple and that's something I strongly advocate. > > For me when you have a lot of layers that just delegate calls, something = is > wrong, and you're probably writing that classes(layers) just to satisfy an > unnecessary pattern. If we create a Seam Application Framework like that = for > Seam3, I'm afraid we're going to fall in that hole. IMHO we should avoid > that. JEE6 carries the design by simplicity flag and I think we should > support that. > > I know that a lot of people want to have a happy and safe way to achieve a > simple CRUD. But I think we should encourage them to enjoy the CDI > programming model and use layers only when they're needed to be used. > > Of course there're still boilerplate code, but I think it's minimal > (compared to the JEE generations before), and that's something forge can > create without the need to satisfy a "framework". Yes, I admitedly am afr= aid > of that word. > > > > On Tue, Sep 20, 2011 at 2:54 PM, Dan Allen wrot= e: > >> xsalefter, >> >> Thanks, this is valuable feedback and certainly usage patterns to keep in >> mind when designing the new iteration of these components. >> >> In numerous conversations that I've had with developers familiar with Se= am >> 2, the common theme is that *Home and *Query components are not the ideal >> design. They lead developers into tight corners exactly in the way you a= re >> describing. Thus, we likely won't be following the status quo (though, i= t's >> not too big of an effort to port the existing functionality to CDI, so if >> someone would like to work on that, we won't discourage it). >> >> Instead, I think these components should provide boilerplate >> functionality, yet be flexible and easily tuned to the needs of the >> developer. I think you're right in that going back to a generic DAO desi= gn >> might be a more reasonable strategy. I don't think developer expect to c= ode >> entirely in XML, they simply don't want to type the same boilerplate over >> and over again. >> >> I like Jason's idea of using named queries. Keep in mind we could read t= he >> queries as a suggestion and produce more sophisticated queries in an >> extension...so we aren't limited to what named queries support today. We= 've >> also been considering supporting finder "missing" methods that build a q= uery >> from the name of the method (or a set of annotations on the method). >> >> Whatever we decide, this should be the framework code that forge uses wh= en >> generating CRUD applications. Let's make it something that we aren't ash= amed >> of having in our projects ;) >> >> -Dan >> >> p.s. I also recommend renaming SAF, because it's a really confusing term. >> Something like "entity framework" is far more sensible. >> >> On Tue, Sep 20, 2011 at 03:47, xsalefter wrote: >> >>> Hi all.. I know that I never involved on this mailing-list so much, nor >>> contribute things to the community. But because I have an experience wi= th >>> seam 2 and used seam gen extensively (and thus use seam's EntityQuery a= nd >>> EntityHome a lot) in some project, I have a thought about this. >>> >>> EntityQuery anda EntityHome is perfect in case you want to creating an >>> simple CRUD application. Well, not as simple as is. I ever involved in a >>> project with 40 more database tables with quite extensive financial >>> transaction, and use an EntityQuery and EntityHome a lot. The main prob= lem >>> with these classes is that, It's hard (well, at least, for me) to make = your >>> code consistent. What I mean by consistent is that, it is confusing to >>> determine whether the classes is a part of your UI layer, or >>> service/domain-model layer. Or where you add new functionality to satis= fied >>> a specifics requirement. The study case is maybe like this: >>> >>> Let say that we have a module named accounting transaction. And we want >>> to create a input transaction page, thus we have a TransactionHome.xhtml >>> backed with TransactionHome.java. Now the problems occurs. Because we w= ant a >>> chart of account list in the TransactionHome.xhtml, where is better pla= ce to >>> put the logic to call the chart of account list? In the >>> TransactionHome.java, or ChartOfAccountList.java? >>> >>> In the beginning I put it in the ChartOfAccountList.java, and start to >>> realize that seam's EntityList is specialized class to create a page wi= th >>> contains a rich datatable search option, paging, and sorting. It will be >>> strange to the code if try to add non searching/sorting/paging on it. T= hen I >>> think to back to good-old DAO object, and thinking again about the back= ing >>> bean: I need to call/inject the DAO in some backing-bean, but where? >>> TransactionHome.java? Well, TransactionHome already have getEntityManag= er(), >>> so if I put the DAO in the ***Home, it will looks overlapping, and bit = odd. >>> Then when I thinking again about the EntityHome, I'm not sure whether I= need >>> to treat this class as UI or Service class. You see, this is simple case >>> study (don't get me start with "The list of Chart Of Account need to >>> aligning with the logged in user's departments and user's role. And make >>> sure that an user with level A have a $xxx limit transaction, where lev= el B >>> have $xxx limit"). >>> >>> My purpose is not to blame something or rant to something, but instead, >>> give an idea whether is it good enough to leave ***Home and ***Query >>> concept, and back to at least >>> Entity-Service-BackingBean-View model? It looks "verbose", I know, but = at >>> least we have a "service" layer, which is "centralized" place to write a >>> business logic in our application. We could treat the "service" as >>> just-plain-stateless classes (EJB 3.1 classes or only seam-persistence >>> classes with minimal coupled with the front-end layer), and put the ric= hness >>> of Weld and Seam 3 maybe in the UI and view layer. >>> >>> Well, I know this is personal view, from me, and my experience. Thus, >>> just ignore if in case this is annoying and not fit with your >>> purpose/target. >>> >>> Thanks, >>> xsalefter >>> >>> * >>> * >>> The Home idea >>> >>> https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/jav= a/seam/example/confbuzz/ConferenceInstance.java >>> >>> The Query idea >>> >>> https://github.com/seam/seam-example-confbuzz/blob/develop/src/main/jav= a/seam/example/confbuzz/TodaysConferencesQuery.java >>> >>> The main thing that I would change with the Query class above is to use >>> named queries, thus espousing the generally accepted best practice in >>> default applications. I understand this doesn't fill all the gaps of the >>> older SAF from Seam 2, but I think it works for the majority of cases, = and >>> it also helps people understand the best way to do things instead of re= lying >>> on the magic of SAF from Seam 2 (which I have found to be a major probl= em in >>> projects and teams I have worked with over the last three years). >>> >>> I've spoken with Lincoln about this and there are two JIRAs ( >>> https://issues.jboss.org/browse/SEAMFORGE-280 and >>> https://issues.jboss.org/browse/SEAMFORGE-279) to have Forge generate >>> this via the JPA plugin or perhaps Seam Persistence plugin. >>> >>> Discuss. >>> >>> >>> _______________________________________________ >>> seam-dev mailing list >>> seam-dev(a)lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/seam-dev >>> >>> >> >> >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > --===============4719234638610016109== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" cC5zLjogoEkga25vdyB0aGF0JiMzOTtzIGEgcmVhbGx5IHBvbGVtaWMgb3Bpbmlvbi4gOyk8YnI+ PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCA0OjM2 IFBNLCBKb3PpIFJvZG9sZm8gRnJlaXRhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1h aWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0Bn bWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21h aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBz b2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+V2hhdCBJIGxpa2UgbW9zdCBpbiBDREkgYW5kIFNlYW0z IGlzIHRoYXQgaXQmIzM5O3MgdmVyeSBlYXN5IHRvIGtlZXAgdGhpbmdzIHNpbXBsZSBhbmQgdGhh dCYjMzk7cyBzb21ldGhpbmcgSSBzdHJvbmdseSBhZHZvY2F0ZS6gPGRpdj4KPGJyPjwvZGl2Pjxk aXY+Rm9yIG1lIHdoZW4geW91IGhhdmUgYSBsb3Qgb2YgbGF5ZXJzIHRoYXQganVzdCBkZWxlZ2F0 ZSBjYWxscywgc29tZXRoaW5nIGlzIHdyb25nLCBhbmQgeW91JiMzOTtyZSBwcm9iYWJseSB3cml0 aW5nIHRoYXQgY2xhc3NlcyhsYXllcnMpIGp1c3QgdG8gc2F0aXNmeSBhbiB1bm5lY2Vzc2FyeSBw YXR0ZXJuLiBJZiB3ZSBjcmVhdGUgYSBTZWFtIEFwcGxpY2F0aW9uIEZyYW1ld29yayBsaWtlIHRo YXQgZm9yIFNlYW0zLCBJJiMzOTttIGFmcmFpZCB3ZSYjMzk7cmUgZ29pbmcgdG8gZmFsbCBpbiB0 aGF0IGhvbGUuIElNSE8gd2Ugc2hvdWxkIGF2b2lkIHRoYXQuIEpFRTYgY2FycmllcyB0aGUgZGVz aWduIGJ5IHNpbXBsaWNpdHkgZmxhZyBhbmQgSSB0aGluayB3ZSBzaG91bGQgc3VwcG9ydCB0aGF0 LjwvZGl2PgoKPGRpdj48YnI+PC9kaXY+PGRpdj5JIGtub3cgdGhhdCBhIGxvdCBvZiBwZW9wbGUg d2FudCB0byBoYXZlIGEgaGFwcHkgYW5kIHNhZmUgd2F5IHRvIGFjaGlldmUgYSBzaW1wbGUgQ1JV RC4gQnV0IEkgdGhpbmsgd2Ugc2hvdWxkIGVuY291cmFnZSB0aGVtIHRvIGVuam95IHRoZSBDREkg cHJvZ3JhbW1pbmcgbW9kZWwgYW5kIHVzZSBsYXllcnMgb25seSB3aGVuIHRoZXkmIzM5O3JlIG5l ZWRlZCB0byBiZSB1c2VkLjwvZGl2PgoKPGRpdj48YnI+PC9kaXY+PGRpdj5PZiBjb3Vyc2UgdGhl cmUmIzM5O3JlIHN0aWxsIGJvaWxlcnBsYXRlIGNvZGUsIGJ1dCBJIHRoaW5rIGl0JiMzOTtzIG1p bmltYWwgKGNvbXBhcmVkIHRvIHRoZSBKRUUgZ2VuZXJhdGlvbnMgYmVmb3JlKSwgYW5kIHRoYXQm IzM5O3Mgc29tZXRoaW5nIGZvcmdlIGNhbiBjcmVhdGUgd2l0aG91dCB0aGUgbmVlZCB0byBzYXRp c2Z5IGEgJnF1b3Q7ZnJhbWV3b3JrJnF1b3Q7LiBZZXMsIEkgYWRtaXRlZGx5IGFtIGFmcmFpZCBv ZiB0aGF0IHdvcmQuPC9kaXY+CjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+CjxkaXY+ PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCAyOjU0IFBNLCBEYW4gQWxsZW4gPHNwYW4gZGlyPSJs dHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5AZ21haWwuY29tIiB0YXJnZXQ9Il9i bGFuayI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KPGJs b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9y ZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CnhzYWxlZnRlciw8ZGl2 Pjxicj48L2Rpdj48ZGl2PlRoYW5rcywgdGhpcyBpcyB2YWx1YWJsZSBmZWVkYmFjayBhbmQgY2Vy dGFpbmx5IHVzYWdlIHBhdHRlcm5zIHRvIGtlZXAgaW4gbWluZCB3aGVuIGRlc2lnbmluZyB0aGUg bmV3IGl0ZXJhdGlvbiBvZiB0aGVzZSBjb21wb25lbnRzLjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk aXY+SW4gbnVtZXJvdXMgY29udmVyc2F0aW9ucyB0aGF0IEkmIzM5O3ZlIGhhZCB3aXRoIGRldmVs b3BlcnMgZmFtaWxpYXIgd2l0aCBTZWFtIDIsIHRoZSBjb21tb24gdGhlbWUgaXMgdGhhdCAqSG9t ZSBhbmQgKlF1ZXJ5IGNvbXBvbmVudHMgYXJlIG5vdCB0aGUgaWRlYWwgZGVzaWduLiBUaGV5IGxl YWQgZGV2ZWxvcGVycyBpbnRvIHRpZ2h0IGNvcm5lcnMgZXhhY3RseSBpbiB0aGUgd2F5IHlvdSBh cmUgZGVzY3JpYmluZy4gVGh1cywgd2UgbGlrZWx5IHdvbiYjMzk7dCBiZSBmb2xsb3dpbmcgdGhl IHN0YXR1cyBxdW8gKHRob3VnaCwgaXQmIzM5O3Mgbm90IHRvbyBiaWcgb2YgYW4gZWZmb3J0IHRv IHBvcnQgdGhlIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkgdG8gQ0RJLCBzbyBpZiBzb21lb25lIHdv dWxkIGxpa2UgdG8gd29yayBvbiB0aGF0LCB3ZSB3b24mIzM5O3QgZGlzY291cmFnZSBpdCkuPC9k aXY+CgoKCjxkaXY+PGJyPjwvZGl2PjxkaXY+SW5zdGVhZCwgSSB0aGluayB0aGVzZSBjb21wb25l bnRzIHNob3VsZCBwcm92aWRlIGJvaWxlcnBsYXRlIGZ1bmN0aW9uYWxpdHksIHlldCBiZSBmbGV4 aWJsZSBhbmQgZWFzaWx5IHR1bmVkIHRvIHRoZSBuZWVkcyBvZiB0aGUgZGV2ZWxvcGVyLiBJIHRo aW5rIHlvdSYjMzk7cmUgcmlnaHQgaW4gdGhhdCBnb2luZyBiYWNrIHRvIGEgZ2VuZXJpYyBEQU8g ZGVzaWduIG1pZ2h0IGJlIGEgbW9yZSByZWFzb25hYmxlIHN0cmF0ZWd5LiBJIGRvbiYjMzk7dCB0 aGluayBkZXZlbG9wZXIgZXhwZWN0IHRvIGNvZGUgZW50aXJlbHkgaW4gWE1MLCB0aGV5IHNpbXBs eSBkb24mIzM5O3Qgd2FudCB0byB0eXBlIHRoZSBzYW1lIGJvaWxlcnBsYXRlIG92ZXIgYW5kIG92 ZXIgYWdhaW4uPC9kaXY+CgoKCjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBsaWtlIEphc29uJiMzOTtz IGlkZWEgb2YgdXNpbmcgbmFtZWQgcXVlcmllcy4gS2VlcCBpbiBtaW5kIHdlIGNvdWxkIHJlYWQg dGhlIHF1ZXJpZXMgYXMgYSBzdWdnZXN0aW9uIGFuZCBwcm9kdWNlIG1vcmUgc29waGlzdGljYXRl ZCBxdWVyaWVzIGluIGFuIGV4dGVuc2lvbi4uLnNvIHdlIGFyZW4mIzM5O3QgbGltaXRlZCB0byB3 aGF0IG5hbWVkIHF1ZXJpZXMgc3VwcG9ydCB0b2RheS4gV2UmIzM5O3ZlIGFsc28gYmVlbiBjb25z aWRlcmluZyBzdXBwb3J0aW5nIGZpbmRlciAmcXVvdDttaXNzaW5nJnF1b3Q7IG1ldGhvZHMgdGhh dCBidWlsZCBhIHF1ZXJ5IGZyb20gdGhlIG5hbWUgb2YgdGhlIG1ldGhvZCAob3IgYSBzZXQgb2Yg YW5ub3RhdGlvbnMgb24gdGhlIG1ldGhvZCkuPC9kaXY+CgoKCjxkaXY+PGJyPjwvZGl2PjxkaXY+ V2hhdGV2ZXIgd2UgZGVjaWRlLCB0aGlzIHNob3VsZCBiZSB0aGUgZnJhbWV3b3JrIGNvZGUgdGhh dCBmb3JnZSB1c2VzIHdoZW4gZ2VuZXJhdGluZyBDUlVEIGFwcGxpY2F0aW9ucy4gTGV0JiMzOTtz IG1ha2UgaXQgc29tZXRoaW5nIHRoYXQgd2UgYXJlbiYjMzk7dCBhc2hhbWVkIG9mIGhhdmluZyBp biBvdXIgcHJvamVjdHMgOyk8L2Rpdj48ZGl2Pjxicj4KCgoKPC9kaXY+PGRpdj4tRGFuPC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj5wLnMuIEkgYWxzbyByZWNvbW1lbmQgcmVuYW1pbmcgU0FGLCBi ZWNhdXNlIGl0JiMzOTtzIGEgcmVhbGx5IGNvbmZ1c2luZyB0ZXJtLiBTb21ldGhpbmcgbGlrZSAm cXVvdDtlbnRpdHkgZnJhbWV3b3JrJnF1b3Q7IGlzIGZhciBtb3JlIHNlbnNpYmxlLjwvZGl2Pjxk aXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4KCjxkaXY+PGRpdj48L2Rpdj48ZGl2PgoK T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMDM6NDcsIHhzYWxlZnRlciA8c3BhbiBkaXI9Imx0ciI+ Jmx0OzxhIGhyZWY9Im1haWx0bzp4c2FsZWZ0ZXJAeWFob28uY29tIiB0YXJnZXQ9Il9ibGFuayI+ eHNhbGVmdGVyQHlhaG9vLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PC9kaXY+PC9kaXY+ PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7 Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+Cgo8ZGl2PjxkaXY+ PC9kaXY+PGRpdj4KCjxkaXY+PGRpdiBzdHlsZT0iY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9y OiNmZmY7Zm9udC1mYW1pbHk6dGFob21hLCBuZXcgeW9yaywgdGltZXMsIHNlcmlmO2ZvbnQtc2l6 ZToxMHB0Ij48ZGl2PjxzcGFuPjxmb250IHNpemU9IjIiPkhpIGFsbC4uIEkga25vdyB0aGF0IEkg bmV2ZXIgaW52b2x2ZWQgb24gdGhpcyBtYWlsaW5nLWxpc3Qgc28gbXVjaCwgbm9yIGNvbnRyaWJ1 dGUgdGhpbmdzIHRvIHRoZSBjb21tdW5pdHkuIEJ1dCBiZWNhdXNlIEkgaGF2ZSBhbiBleHBlcmll bmNlIHdpdGggc2VhbSAyIGFuZCB1c2VkIHNlYW0gZ2VuIGV4dGVuc2l2ZWx5IChhbmQgdGh1cyB1 c2Ugc2VhbSYjMzk7cyBFbnRpdHlRdWVyeSBhbmQgRW50aXR5SG9tZSBhIGxvdCkgaW4gc29tZSBw cm9qZWN0LCBJIGhhdmUgYSB0aG91Z2h0IGFib3V0IHRoaXMuPC9mb250Pjwvc3Bhbj48L2Rpdj4K CgoKPGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9kaXY+PGRp dj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPkVudGl0eVF1ZXJ5IGFuZGEgRW50aXR5SG9t ZSBpcyBwZXJmZWN0IGluIGNhc2UgeW91IHdhbnQgdG8gY3JlYXRpbmcgYW4gc2ltcGxlIENSVUQg YXBwbGljYXRpb24uIFdlbGwsIG5vdCBhcyBzaW1wbGUgYXMgaXMuIEkgZXZlciBpbnZvbHZlZCBp biBhIHByb2plY3Qgd2l0aCA0MCBtb3JlIGRhdGFiYXNlIHRhYmxlcyB3aXRoIHF1aXRlIGV4dGVu c2l2ZSBmaW5hbmNpYWwgdHJhbnNhY3Rpb24sIGFuZCB1c2UgYW4gRW50aXR5UXVlcnkgYW5kIEVu dGl0eUhvbWUgYSBsb3QuIFRoZSBtYWluIHByb2JsZW0gd2l0aCB0aGVzZSBjbGFzc2VzIGlzIHRo YXQsIEl0JiMzOTtzIGhhcmQgKHdlbGwsIGF0IGxlYXN0LCBmb3IgbWUpIHRvCiBtYWtlIHlvdXIg Y29kZSBjb25zaXN0ZW50LqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5XaGF0 IEkgbWVhbiBieSBjb25zaXN0ZW50IGlzIHRoYXQsIGk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxM3B4Ij50IGlzIGNvbmZ1c2luZyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgY2xhc3Nl cyBpcyBhIHBhcnQgb2YgeW91ciBVSSBsYXllciwgb3Igc2VydmljZS9kb21haW4tbW9kZWwgbGF5 ZXIuIE9yIHdoZXJlIHlvdSBhZGQgbmV3IGZ1bmN0aW9uYWxpdHkgdG8gc2F0aXNmaWVkIGEgc3Bl Y2lmaWNzIHJlcXVpcmVtZW50LiBUaGUgc3R1ZHkgY2FzZSBpcyBtYXliZSBsaWtlIHRoaXM6PC9z cGFuPjwvZGl2PgoKCgo8ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+PGJyPjwvc3Bh bj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+TGV0IHNheSB0aGF0IHdl IGhhdmUgYSBtb2R1bGUgbmFtZWQgYWNjb3VudGluZyB0cmFuc2FjdGlvbi4gQW5kIHdlIHdhbnQg dG8gY3JlYXRlIGEgaW5wdXQgdHJhbnNhY3Rpb24gcGFnZSwgdGh1cyB3ZSBoYXZlIGEgVHJhbnNh Y3Rpb25Ib21lLnhodG1sIGJhY2tlZCB3aXRoIFRyYW5zYWN0aW9uSG9tZS5qYXZhLiBOb3cgdGhl IHByb2JsZW1zIG9jY3Vycy4gQmVjYXVzZSB3ZSB3YW50IGEgY2hhcnQgb2YgYWNjb3VudCBsaXN0 IGluIHRoZSBUcmFuc2FjdGlvbkhvbWUueGh0bWwsIHdoZXJlIGlzIGJldHRlciBwbGFjZSB0byBw dXQgdGhlIGxvZ2ljIHRvIGNhbGwgdGhlIGNoYXJ0IG9mIGFjY291bnQgbGlzdD8gSW4gdGhlIFRy YW5zYWN0aW9uSG9tZS5qYXZhLCBvcgogQ2hhcnRPZkFjY291bnRMaXN0LmphdmE/oDwvc3Bhbj48 L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+PGJyPjwvc3Bhbj48L2Rpdj48 ZGl2PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweCI+SW4gdGhlIGJlZ2lubmluZyBJIHB1dCBp dCBpbiB0aGUgQ2hhcnRPZkFjY291bnRMaXN0LmphdmEsIGFuZCBzdGFydCB0byByZWFsaXplIHRo YXQgc2VhbSYjMzk7cyBFbnRpdHlMaXN0IGlzIHNwZWNpYWxpemVkIGNsYXNzIHRvIGNyZWF0ZSBh IHBhZ2Ugd2l0aCBjb250YWlucyBhIHJpY2ggZGF0YXRhYmxlIHNlYXJjaCBvcHRpb24sIHBhZ2lu ZywgYW5kIHNvcnRpbmcuIEl0IHdpbGwgYmUgc3RyYW5nZSB0byB0aGUgY29kZSBpZiB0cnkgdG8g YWRkIG5vbiBzZWFyY2hpbmcvc29ydGluZy9wYWdpbmcgb24gaXQuIFRoZW4gSSB0aGluayB0byBi YWNrIHRvIGdvb2Qtb2xkIERBTyBvYmplY3QsIGFuZCB0aGlua2luZyBhZ2FpbiBhYm91dCB0aGUg YmFja2luZyBiZWFuOiBJIG5lZWQgdG8gY2FsbC9pbmplY3QgdGhlIERBTyBpbiBzb21lIGJhY2tp bmctYmVhbiwgYnV0IHdoZXJlPyBUcmFuc2FjdGlvbkhvbWUuamF2YT8gV2VsbCwgVHJhbnNhY3Rp b25Ib21lIGFscmVhZHkgaGF2ZSBnZXRFbnRpdHlNYW5hZ2VyKCksIHNvIGlmIEkgcHV0IHRoZSBE QU8gaW4gdGhlICoqKkhvbWUsIGl0IHdpbGwgbG9va3Mgb3ZlcmxhcHBpbmcsIGFuZCBiaXQgb2Rk LiBUaGVuIHdoZW4gSSB0aGlua2luZyBhZ2FpbiBhYm91dCB0aGUgRW50aXR5SG9tZSwgSSYjMzk7 bSBub3Qgc3VyZSB3aGV0aGVyIEkgbmVlZCB0byB0cmVhdCB0aGlzIGNsYXNzIGFzIFVJIG9yIFNl cnZpY2UgY2xhc3MuoDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPllvdSBzZWUs IHRoaXMgaXMgc2ltcGxlIGNhc2Ugc3R1ZHkgKGRvbiYjMzk7dCBnZXQgbWUgc3RhcnQgd2l0aCAm cXVvdDtUaGUgbGlzdCBvZiBDaGFydCBPZiBBY2NvdW50IG5lZWQgdG8gYWxpZ25pbmcgd2l0aCB0 aGUgbG9nZ2VkIGluIHVzZXImIzM5O3MgZGVwYXJ0bWVudHMgYW5kIHVzZXImIzM5O3Mgcm9sZS4g QW5kIG1ha2Ugc3VyZSB0aGF0IGFuIHVzZXIgd2l0aCBsZXZlbCBBIGhhdmUgYSAkeHh4IGxpbWl0 IHRyYW5zYWN0aW9uLCB3aGVyZSBsZXZlbCBCIGhhdmUgJHh4eCBsaW1pdCZxdW90OykuoDwvc3Bh bj48L2Rpdj4KCgoKPGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+ PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPk15IHB1cnBvc2UgaXMgbm90 IHRvIGJsYW1lIHNvbWV0aGluZyBvciByYW50IHRvIHNvbWV0aGluZywgYnV0IGluc3RlYWQsIGdp dmUgYW4gaWRlYSB3aGV0aGVyIGlzIGl0IGdvb2QgZW5vdWdoIHRvIGxlYXZlICoqKkhvbWUgYW5k ICoqKlF1ZXJ5IGNvbmNlcHQsIGFuZCBiYWNrIHRvIGF0IGxlYXN0oDwvc3Bhbj48L2Rpdj4KCgoK PGRpdj48Zm9udCBzaXplPSIyIj5FbnRpdHktU2VydmljZS1CYWNraW5nQmVhbi1WaWV3IG1vZGVs PyBJdCBsb29rcyAmcXVvdDt2ZXJib3NlJnF1b3Q7LCBJIGtub3csIGJ1dCBhdCBsZWFzdCB3ZSBo YXZlIGEgJnF1b3Q7c2VydmljZSZxdW90OyBsYXllciwgd2hpY2ggaXMgJnF1b3Q7Y2VudHJhbGl6 ZWQmcXVvdDsgcGxhY2UgdG8gd3JpdGUgYSBidXNpbmVzcyBsb2dpYyBpbiBvdXIgYXBwbGljYXRp b24uIFdlIGNvdWxkIHRyZWF0IHRoZSAmcXVvdDtzZXJ2aWNlJnF1b3Q7IGFzIGp1c3QtcGxhaW4t c3RhdGVsZXNzIGNsYXNzZXMgKEVKQiAzLjEgY2xhc3NlcyBvciBvbmx5IHNlYW0tcGVyc2lzdGVu Y2UgY2xhc3NlcyB3aXRoIG1pbmltYWwKIGNvdXBsZWQgd2l0aCB0aGUgZnJvbnQtZW5kIGxheWVy KSwgYW5kIHB1dCB0aGUgcmljaG5lc3Mgb2YgV2VsZCBhbmQgU2VhbSAzIG1heWJlIGluIHRoZSBV SSBhbmQgdmlldyBsYXllci48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBzaXplPSIyIj48YnI+PC9m b250PjwvZGl2PjxkaXY+PGZvbnQgc2l6ZT0iMiI+V2VsbCwgSSBrbm93IHRoaXMgaXMgcGVyc29u YWwgdmlldywgZnJvbSBtZSwgYW5kIG15IGV4cGVyaWVuY2UuIFRodXMsIGp1c3QgaWdub3JlIGlm IGluIGNhc2UgdGhpcyBpcyBhbm5veWluZyBhbmQgbm90IGZpdCB3aXRoIHlvdXIgcHVycG9zZS90 YXJnZXQuPC9mb250PjwvZGl2PgoKCgo8ZGl2Pjxmb250IHNpemU9IjIiPjxicj48L2ZvbnQ+PC9k aXY+PGRpdj48Zm9udCBzaXplPSIyIj5UaGFua3MsPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgc2l6 ZT0iMiI+eHNhbGVmdGVyPC9mb250PjwvZGl2PjxkaXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0i Ym9yZGVyLWxlZnQtd2lkdGg6MnB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1sZWZ0 LWNvbG9yOnJnYigxNiwgMTYsIDI1NSk7bWFyZ2luLWxlZnQ6NXB4O3BhZGRpbmctbGVmdDo1cHgi PgoKCgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTp0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5Oywg dGltZXMsIHNlcmlmIj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTomIzM5O3RpbWVzIG5ldyByb21h biYjMzk7LCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiI+PGI+PGZvbnQgZmFjZT0i dGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+PGJyPgoK Cgo8L2ZvbnQ+PC9iPjxkaXY+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsm IzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5UaGUgSG9tZSBpZGVhPC9mb250PjwvZGl2Pjxm b250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9 IjIiPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zZWFtL3NlYW0t ZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVsb3Avc3JjL21haW4vamF2YS9zZWFtL2V4YW1wbGUv Y29uZmJ1enovQ29uZmVyZW5jZUluc3RhbmNlLmphdmEiIHRhcmdldD0iX2JsYW5rIj5odHRwczov L2dpdGh1Yi5jb20vc2VhbS9zZWFtLWV4YW1wbGUtY29uZmJ1enovYmxvYi9kZXZlbG9wL3NyYy9t YWluL2phdmEvc2VhbS9leGFtcGxlL2NvbmZidXp6L0NvbmZlcmVuY2VJbnN0YW5jZS5qYXZhPC9h PjxiciBjbGVhcj0iYWxsIj4KCgoKCgo8L2ZvbnQ+PGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEsICYj Mzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YnI+PC9mb250PjwvZGl2 PjxkaXY+PGZvbnQgZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJp ZiIgc2l6ZT0iMiI+VGhlIFF1ZXJ5IGlkZWE8L2ZvbnQ+PC9kaXY+PGRpdj48YSByZWw9Im5vZm9s bG93IiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VhbS9zZWFtLWV4YW1wbGUtY29uZmJ1enov YmxvYi9kZXZlbG9wL3NyYy9tYWluL2phdmEvc2VhbS9leGFtcGxlL2NvbmZidXp6L1RvZGF5c0Nv bmZlcmVuY2VzUXVlcnkuamF2YSIgdGFyZ2V0PSJfYmxhbmsiPjxmb250IGZhY2U9InRhaG9tYSwg JiMzOTtuZXcgeW9yayYjMzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPmh0dHBzOi8vZ2l0aHVi LmNvbS9zZWFtL3NlYW0tZXhhbXBsZS1jb25mYnV6ei9ibG9iL2RldmVsb3Avc3JjL21haW4vamF2 YS9zZWFtL2V4YW1wbGUvY29uZmJ1enovVG9kYXlzQ29uZmVyZW5jZXNRdWVyeS5qYXZhPC9mb250 PjwvYT48L2Rpdj4KCgoKCgo8ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYj Mzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBm YWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsmIzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj5U aGUgbWFpbiB0aGluZyB0aGF0IEkgd291bGQgY2hhbmdlIHdpdGggdGhlIFF1ZXJ5IGNsYXNzIGFi b3ZlIGlzIHRvIHVzZSBuYW1lZCBxdWVyaWVzLCB0aHVzIGVzcG91c2luZyB0aGUgZ2VuZXJhbGx5 IGFjY2VwdGVkIGJlc3QgcHJhY3RpY2UgaW4gZGVmYXVsdCBhcHBsaWNhdGlvbnMuIEkgdW5kZXJz dGFuZCB0aGlzIGRvZXNuJiMzOTt0IGZpbGwgYWxsIHRoZSBnYXBzIG9mIHRoZSBvbGRlciBTQUYg ZnJvbSBTZWFtIDIsIGJ1dCBJIHRoaW5rIGl0IHdvcmtzIGZvciB0aGUgbWFqb3JpdHkgb2YgY2Fz ZXMsIGFuZCBpdCBhbHNvIGhlbHBzIHBlb3BsZSB1bmRlcnN0YW5kIHRoZSBiZXN0IHdheSB0byBk byB0aGluZ3MgaW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBtYWdpYyBvZiBTQUYgZnJvbSBTZWFt IDIgKHdoaWNoIEkgaGF2ZSBmb3VuZCB0byBiZSBhIG1ham9yIHByb2JsZW0gaW4gcHJvamVjdHMg YW5kIHRlYW1zIEkgaGF2ZSB3b3JrZWQgd2l0aCBvdmVyIHRoZSBsYXN0IHRocmVlIHllYXJzKS48 L2ZvbnQ+PC9kaXY+CgoKCgoKPGRpdj48Zm9udCBmYWNlPSJ0YWhvbWEsICYjMzk7bmV3IHlvcmsm IzM5OywgdGltZXMsIHNlcmlmIiBzaXplPSIyIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg ZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+ SSYjMzk7dmUgc3Bva2VuIHdpdGggTGluY29sbiBhYm91dCB0aGlzIGFuZCB0aGVyZSBhcmUgdHdv IEpJUkFzICg8YSByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwczovL2lzc3Vlcy5qYm9zcy5vcmcv YnJvd3NlL1NFQU1GT1JHRS0yODAiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2lzc3Vlcy5qYm9z cy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yODA8L2E+oGFuZKA8YSByZWw9Im5vZm9sbG93IiBocmVm PSJodHRwczovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzkiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2lzc3Vlcy5qYm9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yNzk8L2E+ KSB0byBoYXZlIEZvcmdlIGdlbmVyYXRlIHRoaXMgdmlhIHRoZSBKUEEgcGx1Z2luIG9yIHBlcmhh cHMgU2VhbSBQZXJzaXN0ZW5jZSBwbHVnaW4uPC9mb250PjwvZGl2PgoKCgoKCjxkaXY+PGZvbnQg ZmFjZT0idGFob21hLCAmIzM5O25ldyB5b3JrJiMzOTssIHRpbWVzLCBzZXJpZiIgc2l6ZT0iMiI+ PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9InRhaG9tYSwgJiMzOTtuZXcgeW9yayYj Mzk7LCB0aW1lcywgc2VyaWYiIHNpemU9IjIiPkRpc2N1c3MuPC9mb250PjwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj4KCgoKPC9kaXY+PGJyPjwv ZGl2PjwvZGl2Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f PGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBs aXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8 L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGZvbnQg Y29sb3I9IiM4ODg4ODgiPjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJy PjxkaXY+RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0 IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMx NTk3PGJyPjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9k YW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9w cm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+CgoKCjxhIGhyZWY9Imh0dHA6Ly9tb2ph dmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tPC9hPjxi cj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj48L2Rpdj48 YnI+CjwvZm9udD48L2Rpdj4KPGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0 bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0 cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+ PC9kaXY+PGJyPjwvZGl2Pgo8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPgo= --===============4719234638610016109==-- From dan.j.allen at gmail.com Tue Sep 20 15:42:18 2011 Content-Type: multipart/mixed; boundary="===============4321752801928887588==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 15:41:47 -0400 Message-ID: In-Reply-To: CAK8YEYPPsXJ_=FadjVGbQZD5EsOevn6C=u-z_CkrRBxDoge2Kw@mail.gmail.com --===============4321752801928887588== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > What I like most in CDI and Seam3 is that it's very easy to keep things > simple and that's something I strongly advocate. +1 > Of course there're still boilerplate code, but I think it's minimal > (compared to the JEE generations before), and that's something forge can > create without the need to satisfy a "framework". Yes, I admitedly am afr= aid > of that word. > That's fine, it doesn't have to be a framework. I do think there is room for having some common scaffolding, though. If we can do that by extending the programming model (annotations, generic beans or interfaces) so that it's declarative, that's probably ideal. I suggest that we brainstorm proposals using gists (http://gist.github.com). That will get the ball rolling. We can start with the idea Jason posted, or feel free to take a different approach. -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============4321752801928887588== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMTU6MzYsIEpvc8OpIFJvZG9sZm8gRnJlaXRhcyA8c3Bh biBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWls LmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6 PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVv dGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtw YWRkaW5nLWxlZnQ6MWV4OyI+CgpXaGF0IEkgbGlrZSBtb3N0IGluIENESSBhbmQgU2VhbTMgaXMg dGhhdCBpdCYjMzk7cyB2ZXJ5IGVhc3kgdG8ga2VlcCB0aGluZ3Mgc2ltcGxlIGFuZCB0aGF0JiMz OTtzIHNvbWV0aGluZyBJIHN0cm9uZ2x5IGFkdm9jYXRlLsKgPC9ibG9ja3F1b3RlPjxkaXY+PGJy PjwvZGl2PjxkaXY+KzE8L2Rpdj48ZGl2PsKgPC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWls X3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29s aWQ7cGFkZGluZy1sZWZ0OjFleDsiPgoKPGRpdj5PZiBjb3Vyc2UgdGhlcmUmIzM5O3JlIHN0aWxs IGJvaWxlcnBsYXRlIGNvZGUsIGJ1dCBJIHRoaW5rIGl0JiMzOTtzIG1pbmltYWwgKGNvbXBhcmVk IHRvIHRoZSBKRUUgZ2VuZXJhdGlvbnMgYmVmb3JlKSwgYW5kIHRoYXQmIzM5O3Mgc29tZXRoaW5n IGZvcmdlIGNhbiBjcmVhdGUgd2l0aG91dCB0aGUgbmVlZCB0byBzYXRpc2Z5IGEgJnF1b3Q7ZnJh bWV3b3JrJnF1b3Q7LiBZZXMsIEkgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0aGF0IHdvcmQuPC9k aXY+Cgo8L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGF0JiMzOTtzIGZpbmUsIGl0 IGRvZXNuJiMzOTt0IGhhdmUgdG8gYmUgYSBmcmFtZXdvcmsuIEkgZG8gdGhpbmsgdGhlcmUgaXMg cm9vbSBmb3IgaGF2aW5nIHNvbWUgY29tbW9uIHNjYWZmb2xkaW5nLCB0aG91Z2guIElmIHdlIGNh biBkbyB0aGF0IGJ5IGV4dGVuZGluZyB0aGUgcHJvZ3JhbW1pbmcgbW9kZWwgKGFubm90YXRpb25z LCBnZW5lcmljIGJlYW5zIG9yIGludGVyZmFjZXMpIHNvIHRoYXQgaXQmIzM5O3MgZGVjbGFyYXRp dmUsIHRoYXQmIzM5O3MgcHJvYmFibHkgaWRlYWwuPC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2 Pkkgc3VnZ2VzdCB0aGF0IHdlIGJyYWluc3Rvcm0gcHJvcG9zYWxzIHVzaW5nIGdpc3RzICg8YSBo cmVmPSJodHRwOi8vZ2lzdC5naXRodWIuY29tIj5odHRwOi8vZ2lzdC5naXRodWIuY29tPC9hPiku IFRoYXQgd2lsbCBnZXQgdGhlIGJhbGwgcm9sbGluZy4gV2UgY2FuIHN0YXJ0IHdpdGggdGhlIGlk ZWEgSmFzb24gcG9zdGVkLCBvciBmZWVsIGZyZWUgdG8gdGFrZSBhIGRpZmZlcmVudCBhcHByb2Fj aC48L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+LURhbjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjwv ZGl2Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVl ciwgUmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4 IFVzZXIgIzIzMTU5Nzxicj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v cHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdv b2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0 cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5j b208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0 YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJy PjwvZGl2Pjxicj4K --===============4321752801928887588==-- From dan.j.allen at gmail.com Tue Sep 20 15:45:54 2011 Content-Type: multipart/mixed; boundary="===============7603954190567383831==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 15:45:22 -0400 Message-ID: In-Reply-To: CAK8YEYOneeYyMjK6KJKP9xhjA6CCKMJPjz-UCrtUbEgQrhH3Rw@mail.gmail.com --===============7603954190567383831== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, Sep 20, 2011 at 15:39, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > p.s.: I know that's a really polemic opinion. ;) Let's turn it into requirements then: - developers should be able to develop a CRUD component without unnecessary boilerplate code - the developer should be able to easily build on the out-of-the-box functionality without the scaffolding code posing unnecessary restrictions - queries should be declarative (at least in the common cases) and managed centrally (or partitioned as needed) -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============7603954190567383831== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMTU6MzksIEpvc8OpIFJvZG9sZm8gRnJlaXRhcyA8c3Bh biBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWls LmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6 PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVv dGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtw YWRkaW5nLWxlZnQ6MWV4OyI+CgpwLnMuOiDCoEkga25vdyB0aGF0JiMzOTtzIGEgcmVhbGx5IHBv bGVtaWMgb3Bpbmlvbi4gOyk8L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5MZXQmIzM5 O3MgdHVybiBpdCBpbnRvIHJlcXVpcmVtZW50cyB0aGVuOjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk aXY+LSBkZXZlbG9wZXJzIHNob3VsZCBiZSBhYmxlIHRvIGRldmVsb3AgYSBDUlVEIGNvbXBvbmVu dCB3aXRob3V0IHVubmVjZXNzYXJ5IGJvaWxlcnBsYXRlIGNvZGU8L2Rpdj4KCjxkaXY+LSB0aGUg ZGV2ZWxvcGVyIHNob3VsZCBiZSBhYmxlIHRvIGVhc2lseSBidWlsZCBvbiB0aGUgb3V0LW9mLXRo ZS1ib3ggZnVuY3Rpb25hbGl0eSB3aXRob3V0IHRoZSBzY2FmZm9sZGluZyBjb2RlIHBvc2luZyB1 bm5lY2Vzc2FyeSByZXN0cmljdGlvbnM8L2Rpdj48ZGl2Pi0gcXVlcmllcyBzaG91bGQgYmUgZGVj bGFyYXRpdmUgKGF0IGxlYXN0IGluIHRoZSBjb21tb24gY2FzZXMpIGFuZCBtYW5hZ2VkIGNlbnRy YWxseSAob3IgcGFydGl0aW9uZWQgYXMgbmVlZGVkKTwvZGl2PgoKPGRpdj7CoDwvZGl2PjxkaXY+ LURhbjwvZGl2PjxkaXY+PGJyPjwvZGl2PjwvZGl2Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2 PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGlu IEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj48YnI+PGRpdj48YSBo cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4j YWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2ph dmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxp bnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwvZGl2Pjxicj4K --===============7603954190567383831==-- From dan.j.allen at gmail.com Tue Sep 20 15:48:31 2011 Content-Type: multipart/mixed; boundary="===============6667006102483300394==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 15:48:00 -0400 Message-ID: In-Reply-To: CAKeHnO5JBry_CLD_0wHNqVvPCoN45WPobqbpw2=y=esd69z8wQ@mail.gmail.com --===============6667006102483300394== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, Sep 20, 2011 at 15:45, Dan Allen wrote: > On Tue, Sep 20, 2011 at 15:39, Jos=C3=A9 Rodolfo Freitas < > joserodolfo.freitas(a)gmail.com> wrote: > >> p.s.: I know that's a really polemic opinion. ;) > > > Let's turn it into requirements then: > > - developers should be able to develop a CRUD component without unnecessa= ry > boilerplate code > - the developer should be able to easily build on the out-of-the-box > functionality without the scaffolding code posing unnecessary restrictions > - queries should be declarative (at least in the common cases) and managed > centrally (or partitioned as needed) > - the scaffolding code/components should be a natural fit with the CDI programming model -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============6667006102483300394== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMTU6NDUsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+ Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdt YWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUi PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4 O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij4KCjxkaXYgY2xh c3M9ImltIj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCAxNTozOSwgSm9zw6kgUm9kb2xmbyBGcmVp dGFzIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc2Vyb2RvbGZvLmZyZWl0 YXNAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5j b208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij4KCjxkaXYgY2xhc3M9ImltIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxl ZnQ6MWV4Ij4KcC5zLjogwqBJIGtub3cgdGhhdCYjMzk7cyBhIHJlYWxseSBwb2xlbWljIG9waW5p b24uIDspPC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+TGV0JiMzOTtzIHR1 cm4gaXQgaW50byByZXF1aXJlbWVudHMgdGhlbjo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi0g ZGV2ZWxvcGVycyBzaG91bGQgYmUgYWJsZSB0byBkZXZlbG9wIGEgQ1JVRCBjb21wb25lbnQgd2l0 aG91dCB1bm5lY2Vzc2FyeSBib2lsZXJwbGF0ZSBjb2RlPC9kaXY+CgoKPGRpdj4tIHRoZSBkZXZl bG9wZXIgc2hvdWxkIGJlIGFibGUgdG8gZWFzaWx5IGJ1aWxkIG9uIHRoZSBvdXQtb2YtdGhlLWJv eCBmdW5jdGlvbmFsaXR5IHdpdGhvdXQgdGhlIHNjYWZmb2xkaW5nIGNvZGUgcG9zaW5nIHVubmVj ZXNzYXJ5IHJlc3RyaWN0aW9uczwvZGl2PjxkaXY+LSBxdWVyaWVzIHNob3VsZCBiZSBkZWNsYXJh dGl2ZSAoYXQgbGVhc3QgaW4gdGhlIGNvbW1vbiBjYXNlcykgYW5kIG1hbmFnZWQgY2VudHJhbGx5 IChvciBwYXJ0aXRpb25lZCBhcyBuZWVkZWQpPC9kaXY+Cgo8L2Rpdj48L2Jsb2NrcXVvdGU+PGRp dj48YnI+PC9kaXY+PGRpdj4tIHRoZSBzY2FmZm9sZGluZyBjb2RlL2NvbXBvbmVudHMgc2hvdWxk IGJlIGEgbmF0dXJhbCBmaXQgd2l0aCB0aGUgQ0RJIHByb2dyYW1taW5nIG1vZGVsPC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj4tRGFuPC9kaXY+PGRpdj7CoDwvZGl2PjwvZGl2Pi0tIDxicj48ZGl2 PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1 dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj4KClJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3 PGJyPjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4u ai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9m aWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4 LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPgoKPGEg aHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5r Ij5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+PC9kaXY+PGJyPgo= --===============6667006102483300394==-- From mariusb at redhat.com Tue Sep 20 15:54:12 2011 Content-Type: multipart/mixed; boundary="===============3309669987993595003==" MIME-Version: 1.0 From: Marius Bogoevici To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 15:54:10 -0400 Message-ID: <1316548452.1953.13.camel@localhost.localdomain> In-Reply-To: CAKeHnO4QRjHbs4gU3ND=bUGNm921EPTj5XRPbmjY2vDcshGFpA@mail.gmail.com --===============3309669987993595003== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Dan, Something worth looking at would be: http://static.springsource.org/spring-data/data-jpa/docs/current/reference/= html/ There are a few ideas which one may want to borrow, and I believe that a CDI implementation could make things even easier. = On Tue, 2011-09-20 at 15:48 -0400, Dan Allen wrote: > On Tue, Sep 20, 2011 at 15:45, Dan Allen > wrote: > On Tue, Sep 20, 2011 at 15:39, Jos=C3=A9 Rodolfo Freitas > wrote: > = > p.s.: I know that's a really polemic opinion. ;) > = > = > Let's turn it into requirements then: > = > = > - developers should be able to develop a CRUD component > without unnecessary boilerplate code > - the developer should be able to easily build on the > out-of-the-box functionality without the scaffolding code > posing unnecessary restrictions > - queries should be declarative (at least in the common cases) > and managed centrally (or partitioned as needed) > = > = > - the scaffolding code/components should be a natural fit with the CDI > programming model > = > = > -Dan > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============3309669987993595003==-- From joserodolfo.freitas at gmail.com Tue Sep 20 16:01:02 2011 Content-Type: multipart/mixed; boundary="===============4022578902258082416==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 17:00:59 -0300 Message-ID: In-Reply-To: CAKeHnO5guk2_mD=KiMW+tth3+fKBMytsnVq+jgg0JRh+kA40EQ@mail.gmail.com --===============4022578902258082416== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Yeah, I agree that being declarative is the ideal. let's say no to inheritance with generics! hehehe. On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wrote: > On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas < > joserodolfo.freitas(a)gmail.com> wrote: > >> What I like most in CDI and Seam3 is that it's very easy to keep things >> simple and that's something I strongly advocate. > > > +1 > > >> Of course there're still boilerplate code, but I think it's minimal >> (compared to the JEE generations before), and that's something forge can >> create without the need to satisfy a "framework". Yes, I admitedly am af= raid >> of that word. >> > > That's fine, it doesn't have to be a framework. I do think there is room > for having some common scaffolding, though. If we can do that by extending > the programming model (annotations, generic beans or interfaces) so that > it's declarative, that's probably ideal. > > I suggest that we brainstorm proposals using gists (http://gist.github.co= m). > That will get the ball rolling. We can start with the idea Jason posted, = or > feel free to take a different approach. > > -Dan > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > --===============4022578902258082416== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" WWVhaCwgSSBhZ3JlZSB0aGF0IGJlaW5nIGRlY2xhcmF0aXZlIGlzIHRoZSBpZGVhbC48ZGl2Pmxl dCYjMzk7cyBzYXkgbm8gdG8gaW5oZXJpdGFuY2Ugd2l0aCBnZW5lcmljcyEgaGVoZWhlLjxicj48 YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6NDEg UE0sIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5h bGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90 ZTo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAg MCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij48ZGl2 IGNsYXNzPSJpbSI+T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMTU6MzYsIEpvc+kgUm9kb2xmbyBG cmVpdGFzIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc2Vyb2RvbGZvLmZy ZWl0YXNAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFp bC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9x dW90ZSI+PGRpdiBjbGFzcz0iaW0iPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5 bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct bGVmdDoxZXgiPgoKV2hhdCBJIGxpa2UgbW9zdCBpbiBDREkgYW5kIFNlYW0zIGlzIHRoYXQgaXQm IzM5O3MgdmVyeSBlYXN5IHRvIGtlZXAgdGhpbmdzIHNpbXBsZSBhbmQgdGhhdCYjMzk7cyBzb21l dGhpbmcgSSBzdHJvbmdseSBhZHZvY2F0ZS6gPC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2Pjwv ZGl2PjxkaXY+KzE8L2Rpdj48ZGl2IGNsYXNzPSJpbSI+PGRpdj6gPC9kaXY+PGJsb2NrcXVvdGUg Y2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6 MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CgoKPGRpdj5PZiBjb3Vyc2UgdGhlcmUm IzM5O3JlIHN0aWxsIGJvaWxlcnBsYXRlIGNvZGUsIGJ1dCBJIHRoaW5rIGl0JiMzOTtzIG1pbmlt YWwgKGNvbXBhcmVkIHRvIHRoZSBKRUUgZ2VuZXJhdGlvbnMgYmVmb3JlKSwgYW5kIHRoYXQmIzM5 O3Mgc29tZXRoaW5nIGZvcmdlIGNhbiBjcmVhdGUgd2l0aG91dCB0aGUgbmVlZCB0byBzYXRpc2Z5 IGEgJnF1b3Q7ZnJhbWV3b3JrJnF1b3Q7LiBZZXMsIEkgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0 aGF0IHdvcmQuPC9kaXY+CgoKPC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+ VGhhdCYjMzk7cyBmaW5lLCBpdCBkb2VzbiYjMzk7dCBoYXZlIHRvIGJlIGEgZnJhbWV3b3JrLiBJ IGRvIHRoaW5rIHRoZXJlIGlzIHJvb20gZm9yIGhhdmluZyBzb21lIGNvbW1vbiBzY2FmZm9sZGlu ZywgdGhvdWdoLiBJZiB3ZSBjYW4gZG8gdGhhdCBieSBleHRlbmRpbmcgdGhlIHByb2dyYW1taW5n IG1vZGVsIChhbm5vdGF0aW9ucywgZ2VuZXJpYyBiZWFucyBvciBpbnRlcmZhY2VzKSBzbyB0aGF0 IGl0JiMzOTtzIGRlY2xhcmF0aXZlLCB0aGF0JiMzOTtzIHByb2JhYmx5IGlkZWFsLjwvZGl2PgoK CjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBzdWdnZXN0IHRoYXQgd2UgYnJhaW5zdG9ybSBwcm9wb3Nh bHMgdXNpbmcgZ2lzdHMgKDxhIGhyZWY9Imh0dHA6Ly9naXN0LmdpdGh1Yi5jb20iIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vZ2lzdC5naXRodWIuY29tPC9hPikuIFRoYXQgd2lsbCBnZXQgdGhlIGJh bGwgcm9sbGluZy4gV2UgY2FuIHN0YXJ0IHdpdGggdGhlIGlkZWEgSmFzb24gcG9zdGVkLCBvciBm ZWVsIGZyZWUgdG8gdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC48L2Rpdj4KCgo8ZGl2Pjxicj48 L2Rpdj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+PGRpdj4tRGFuPC9kaXY+PGRpdj48YnI+PC9kaXY+ PC9mb250PjwvZGl2PjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+LS0gPGJyPjxkaXY+ RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0 aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJy Pgo8YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmou YWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmls ZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4 LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPjxhIGhy ZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwvZGl2Pjxicj4KPC9k aXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4K --===============4022578902258082416==-- From joserodolfo.freitas at gmail.com Tue Sep 20 17:02:06 2011 Content-Type: multipart/mixed; boundary="===============8426376253668158418==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 18:02:04 -0300 Message-ID: In-Reply-To: CAK8YEYPy7U_eZRva0+37wFpCzaxAjFmZ4AeZ2R3hZHDgHm=d0Q@mail.gmail.com --===============8426376253668158418== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I think that my comment sounded a little bit extreme and I'd like to rectify my viewpoint a little bit. I don't know if you guys share my vision, but I think that's "extends genericLayer" e.g. is very invasive. But of course if we can't come out with a better way out of it using annotations, generic beans, decorators or etc... It's an acceptable solution. We're dealing with it for the last 5 years already. On Tue, Sep 20, 2011 at 5:00 PM, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > Yeah, I agree that being declarative is the ideal. > let's say no to inheritance with generics! hehehe. > > > On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wrot= e: > >> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas < >> joserodolfo.freitas(a)gmail.com> wrote: >> >>> What I like most in CDI and Seam3 is that it's very easy to keep things >>> simple and that's something I strongly advocate. >> >> >> +1 >> >> >>> Of course there're still boilerplate code, but I think it's minimal >>> (compared to the JEE generations before), and that's something forge can >>> create without the need to satisfy a "framework". Yes, I admitedly am a= fraid >>> of that word. >>> >> >> That's fine, it doesn't have to be a framework. I do think there is room >> for having some common scaffolding, though. If we can do that by extendi= ng >> the programming model (annotations, generic beans or interfaces) so that >> it's declarative, that's probably ideal. >> >> I suggest that we brainstorm proposals using gists ( >> http://gist.github.com). That will get the ball rolling. We can start >> with the idea Jason posted, or feel free to take a different approach. >> >> -Dan >> >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> >> > --===============8426376253668158418== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" SSB0aGluayB0aGF0IG15IGNvbW1lbnQgc291bmRlZCBhIGxpdHRsZSBiaXQgZXh0cmVtZSBhbmSg SSYjMzk7ZCBsaWtlIHRvIHJlY3RpZnkgbXkgdmlld3BvaW50IGEgbGl0dGxlIGJpdC48ZGl2Pkkg ZG9uJiMzOTt0IGtub3cgaWYgeW91IGd1eXMgc2hhcmUgbXkgdmlzaW9uLCBidXQgSSB0aGluayB0 aGF0JiMzOTtzICZxdW90O2V4dGVuZHMgZ2VuZXJpY0xheWVyJmx0O1QmZ3Q7JnF1b3Q7IGUuZy4g aXMgdmVyeSBpbnZhc2l2ZS4gQnV0IG9mIGNvdXJzZSBpZiB3ZSBjYW4mIzM5O3QgY29tZSBvdXQg d2l0aCBhIGJldHRlciB3YXkgb3V0IG9mIGl0IHVzaW5nIGFubm90YXRpb25zLCBnZW5lcmljIGJl YW5zLCBkZWNvcmF0b3JzIG9yIGV0Yy4uLiBJdCYjMzk7cyBhbiBhY2NlcHRhYmxlIHNvbHV0aW9u LiBXZSYjMzk7cmUgZGVhbGluZyB3aXRoIGl0IGZvciB0aGUgbGFzdCA1IHllYXJzIGFscmVhZHku PC9kaXY+CjxkaXY+PGJyPjwvZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXYgY2xhc3M9ImdtYWlsX3F1 b3RlIj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCA1OjAwIFBNLCBKb3PpIFJvZG9sZm8gRnJlaXRh cyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFz QGdtYWlsLmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4g d3JvdGU6PGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46 MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+ WWVhaCwgSSBhZ3JlZSB0aGF0IGJlaW5nIGRlY2xhcmF0aXZlIGlzIHRoZSBpZGVhbC48ZGl2Pmxl dCYjMzk7cyBzYXkgbm8gdG8gaW5oZXJpdGFuY2Ugd2l0aCBnZW5lcmljcyEgaGVoZWhlLjxkaXY+ PGRpdj4KPC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVv dGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6NDEgUE0sIERhbiBBbGxlbiA8c3BhbiBkaXI9 Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iIHRhcmdldD0i X2JsYW5rIj5kYW4uai5hbGxlbkBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2Pk9uIFR1ZSwg U2VwIDIwLCAyMDExIGF0IDE1OjM2LCBKb3PpIFJvZG9sZm8gRnJlaXRhcyA8c3BhbiBkaXI9Imx0 ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSIgdGFy Z2V0PSJfYmxhbmsiPmpvc2Vyb2RvbGZvLmZyZWl0YXNAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+ IHdyb3RlOjxicj4KCjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2PjxibG9ja3F1 b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1s ZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgoKV2hhdCBJIGxpa2UgbW9zdCBp biBDREkgYW5kIFNlYW0zIGlzIHRoYXQgaXQmIzM5O3MgdmVyeSBlYXN5IHRvIGtlZXAgdGhpbmdz IHNpbXBsZSBhbmQgdGhhdCYjMzk7cyBzb21ldGhpbmcgSSBzdHJvbmdseSBhZHZvY2F0ZS6gPC9i bG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+KzE8L2Rpdj48ZGl2PjxkaXY+oDwv ZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgoKCgo8ZGl2 Pk9mIGNvdXJzZSB0aGVyZSYjMzk7cmUgc3RpbGwgYm9pbGVycGxhdGUgY29kZSwgYnV0IEkgdGhp bmsgaXQmIzM5O3MgbWluaW1hbCAoY29tcGFyZWQgdG8gdGhlIEpFRSBnZW5lcmF0aW9ucyBiZWZv cmUpLCBhbmQgdGhhdCYjMzk7cyBzb21ldGhpbmcgZm9yZ2UgY2FuIGNyZWF0ZSB3aXRob3V0IHRo ZSBuZWVkIHRvIHNhdGlzZnkgYSAmcXVvdDtmcmFtZXdvcmsmcXVvdDsuIFllcywgSSBhZG1pdGVk bHkgYW0gYWZyYWlkIG9mIHRoYXQgd29yZC48L2Rpdj4KCgoKPC9ibG9ja3F1b3RlPjxkaXY+PGJy PjwvZGl2PjwvZGl2PjxkaXY+VGhhdCYjMzk7cyBmaW5lLCBpdCBkb2VzbiYjMzk7dCBoYXZlIHRv IGJlIGEgZnJhbWV3b3JrLiBJIGRvIHRoaW5rIHRoZXJlIGlzIHJvb20gZm9yIGhhdmluZyBzb21l IGNvbW1vbiBzY2FmZm9sZGluZywgdGhvdWdoLiBJZiB3ZSBjYW4gZG8gdGhhdCBieSBleHRlbmRp bmcgdGhlIHByb2dyYW1taW5nIG1vZGVsIChhbm5vdGF0aW9ucywgZ2VuZXJpYyBiZWFucyBvciBp bnRlcmZhY2VzKSBzbyB0aGF0IGl0JiMzOTtzIGRlY2xhcmF0aXZlLCB0aGF0JiMzOTtzIHByb2Jh Ymx5IGlkZWFsLjwvZGl2PgoKCgo8ZGl2Pjxicj48L2Rpdj48ZGl2Pkkgc3VnZ2VzdCB0aGF0IHdl IGJyYWluc3Rvcm0gcHJvcG9zYWxzIHVzaW5nIGdpc3RzICg8YSBocmVmPSJodHRwOi8vZ2lzdC5n aXRodWIuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2dpc3QuZ2l0aHViLmNvbTwvYT4pLiBU aGF0IHdpbGwgZ2V0IHRoZSBiYWxsIHJvbGxpbmcuIFdlIGNhbiBzdGFydCB3aXRoIHRoZSBpZGVh IEphc29uIHBvc3RlZCwgb3IgZmVlbCBmcmVlIHRvIHRha2UgYSBkaWZmZXJlbnQgYXBwcm9hY2gu PC9kaXY+CgoKCjxkaXY+PGJyPjwvZGl2Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48ZGl2Pi1EYW48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48ZGl2PjwvZGl2PjxkaXY+LS0g PGJyPjxkaXY+RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQg SGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAj MjMxNTk3PGJyPgoKPGJyPjxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2Zp bGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUu Y29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCjxhIGhyZWY9Imh0dHA6Ly9t b2phdmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tPC9h Pjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj48L2Rp dj48YnI+CjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+PC9k aXY+CjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+PC9kaXY+Cg== --===============8426376253668158418==-- From john.d.ament at gmail.com Tue Sep 20 21:57:48 2011 Content-Type: multipart/mixed; boundary="===============8299507227140936145==" MIME-Version: 1.0 From: John D. Ament To: seam-dev at lists.jboss.org Subject: [seam-dev] Seam JMS module refactoring/restructuring Date: Tue, 20 Sep 2011 21:57:47 -0400 Message-ID: --===============8299507227140936145== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Gents, I've been working diligently (whenever I have time) to get the seam JMS module up and running on the new test suite format. One thing I've noticed is that because of the caveats of using JMS In SE vs. EE, it didn't just work to run weld ee embedded and within a container tests by themselves. It also became clear that in general this wouldn't work outside of a container because of differences in how to start open mq vs. hornetq vs. activemq. Even working in a remote JNDI provider (similar to how weblogic JMS works) it wouldn't have worked quite right. Soemthing I started a while ago (maybe 4-5 weeks) was to separate various impls to different modules. I want to go ahead and move forward with this approach. This would provide the main api and impl (across all impls) as well as a domain specific impl (e.g. seam-jms-ee-impl) that contains functionality for EE environments. As a result, when running the test suite, you are verifying the api, impl, the domain specific impl and the test suite for that specific combination. Does anyone have any concerns with this approach? John --===============8299507227140936145== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" R2VudHMsPGJyPjxicj5JJiMzOTt2ZSBiZWVuIHdvcmtpbmcgZGlsaWdlbnRseSAod2hlbmV2ZXIg SSBoYXZlIHRpbWUpIHRvIGdldCB0aGUgc2VhbSBKTVMgbW9kdWxlIHVwIGFuZCBydW5uaW5nIG9u IHRoZSBuZXcgdGVzdCBzdWl0ZSBmb3JtYXQuoCBPbmUgdGhpbmcgSSYjMzk7dmUgbm90aWNlZCBp cyB0aGF0IGJlY2F1c2Ugb2YgdGhlIGNhdmVhdHMgb2YgdXNpbmcgSk1TIEluIFNFIHZzLiBFRSwg aXQgZGlkbiYjMzk7dCBqdXN0IHdvcmsgdG8gcnVuIHdlbGQgZWUgZW1iZWRkZWQgYW5kIHdpdGhp biBhIGNvbnRhaW5lciB0ZXN0cyBieSB0aGVtc2VsdmVzLqAgSXQgYWxzbyBiZWNhbWUgY2xlYXIg dGhhdCBpbiBnZW5lcmFsIHRoaXMgd291bGRuJiMzOTt0IHdvcmsgb3V0c2lkZSBvZiBhIGNvbnRh aW5lciBiZWNhdXNlIG9mIGRpZmZlcmVuY2VzIGluIGhvdyB0byBzdGFydCBvcGVuIG1xIHZzLiBo b3JuZXRxIHZzLiBhY3RpdmVtcS6gIEV2ZW4gd29ya2luZyBpbiBhIHJlbW90ZSBKTkRJIHByb3Zp ZGVyIChzaW1pbGFyIHRvIGhvdyB3ZWJsb2dpYyBKTVMgd29ya3MpIGl0IHdvdWxkbiYjMzk7dCBo YXZlIHdvcmtlZCBxdWl0ZSByaWdodC48YnI+Cjxicj5Tb2VtdGhpbmcgSSBzdGFydGVkIGEgd2hp bGUgYWdvIChtYXliZSA0LTUgd2Vla3MpIHdhcyB0byBzZXBhcmF0ZSB2YXJpb3VzIGltcGxzIHRv IGRpZmZlcmVudCBtb2R1bGVzLqAgSSB3YW50IHRvIGdvIGFoZWFkIGFuZCBtb3ZlIGZvcndhcmQg d2l0aCB0aGlzIGFwcHJvYWNoLqAgVGhpcyB3b3VsZCBwcm92aWRlIHRoZSBtYWluIGFwaSBhbmQg aW1wbCAoYWNyb3NzIGFsbCBpbXBscykgYXMgd2VsbCBhcyBhIGRvbWFpbiBzcGVjaWZpYyBpbXBs IChlLmcuIHNlYW0tam1zLWVlLWltcGwpIHRoYXQgY29udGFpbnMgZnVuY3Rpb25hbGl0eSBmb3Ig RUUgZW52aXJvbm1lbnRzLqAgQXMgYSByZXN1bHQsIHdoZW4gcnVubmluZyB0aGUgdGVzdCBzdWl0 ZSwgeW91IGFyZSB2ZXJpZnlpbmcgdGhlIGFwaSwgaW1wbCwgdGhlIGRvbWFpbiBzcGVjaWZpYyBp bXBsIGFuZCB0aGUgdGVzdCBzdWl0ZSBmb3IgdGhhdCBzcGVjaWZpYyBjb21iaW5hdGlvbi48YnI+ Cjxicj5Eb2VzIGFueW9uZSBoYXZlIGFueSBjb25jZXJucyB3aXRoIHRoaXMgYXBwcm9hY2g/PGJy Pjxicj5Kb2huPGJyPgo= --===============8299507227140936145==-- From stuart.w.douglas at gmail.com Tue Sep 20 22:15:27 2011 Content-Type: multipart/mixed; boundary="===============8010474394470567616==" MIME-Version: 1.0 From: Stuart Douglas To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 12:15:18 +1000 Message-ID: <4E7948B6.604@gmail.com> In-Reply-To: CAK8YEYPy7U_eZRva0+37wFpCzaxAjFmZ4AeZ2R3hZHDgHm=d0Q@mail.gmail.com --===============8010474394470567616== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable My original plan for EntityQuery was to use the ServiceHandler stuff in = solder: @EntityQuery public interface MyQuery { @Query("Select u from User u where type=3D:p1") public List users(String type); } Stuart On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: > Yeah, I agree that being declarative is the ideal. > let's say no to inheritance with generics! hehehe. > > On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen > wrote: > > On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas > > wrote: > > What I like most in CDI and Seam3 is that it's very easy to > keep things simple and that's something I strongly advocate. = > > > +1 > > Of course there're still boilerplate code, but I think it's > minimal (compared to the JEE generations before), and that's > something forge can create without the need to satisfy a > "framework". Yes, I admitedly am afraid of that word. > > > That's fine, it doesn't have to be a framework. I do think there > is room for having some common scaffolding, though. If we can do > that by extending the programming model (annotations, generic > beans or interfaces) so that it's declarative, that's probably ideal. > > I suggest that we brainstorm proposals using gists > (http://gist.github.com). That will get the ball rolling. We can > start with the idea Jason posted, or feel free to take a different > approach. > > -Dan > > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============8010474394470567616== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFy c2V0PUlTTy04ODU5LTEiCiAgICAgIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgICA8dGl0 bGU+PC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHkgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI2Zm ZmZmZiI+CiAgICBNeSBvcmlnaW5hbCBwbGFuIGZvciBFbnRpdHlRdWVyeSB3YXMgdG8gdXNlIHRo ZSBTZXJ2aWNlSGFuZGxlciBzdHVmZgogICAgaW4gc29sZGVyOjxicj4KICAgIDxicj4KICAgIEBF bnRpdHlRdWVyeTxicj4KICAgIHB1YmxpYyBpbnRlcmZhY2UgTXlRdWVyeSB7PGJyPgogICAgPGJy PgogICAgJm5ic3A7IEBRdWVyeSgiU2VsZWN0IHUgZnJvbSBVc2VyIHUgd2hlcmUgdHlwZT06cDEi KTxicj4KICAgICZuYnNwOyBwdWJsaWMgTGlzdCZsdDtVc2VyJmd0OyB1c2VycyhTdHJpbmcgdHlw ZSk7PGJyPgogICAgPGJyPgogICAgfTxicj4KICAgIDxicj4KICAgIFN0dWFydDxicj4KICAgIDxi cj4KICAgIE9uIDA5LzIxLzIwMTEgMDY6MDAgQU0sIEpvcyZlYWN1dGU7IFJvZG9sZm8gRnJlaXRh cyB3cm90ZToKICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQUs4WUVZUHk3VV9lWlJ2YTArMzd3 RnBDemF4QWpGbVo0QWVaMlIzaFpIRGdIbT1kMFFAbWFpbC5nbWFpbC5jb20iCiAgICAgIHR5cGU9 ImNpdGUiPlllYWgsIEkgYWdyZWUgdGhhdCBiZWluZyBkZWNsYXJhdGl2ZSBpcyB0aGUgaWRlYWwu CiAgICAgIDxkaXY+bGV0J3Mgc2F5IG5vIHRvIGluaGVyaXRhbmNlIHdpdGggZ2VuZXJpY3MhIGhl aGVoZS48YnI+CiAgICAgICAgPGJyPgogICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5P biBUdWUsIFNlcCAyMCwgMjAxMSBhdCA0OjQxIFBNLCBEYW4KICAgICAgICAgIEFsbGVuIDxzcGFu IGRpcj0ibHRyIj4mbHQ7PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgIGhy ZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwv YT4mZ3Q7PC9zcGFuPgogICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgPGJsb2NrcXVvdGUg Y2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwcHQgMHB0IDBwdAogICAgICAgICAg ICAwLjhleDsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7CiAgICAg ICAgICAgIHBhZGRpbmctbGVmdDogMWV4OyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltIj5P biBUdWUsIFNlcCAyMCwgMjAxMSBhdCAxNTozNiwgSm9zJmVhY3V0ZTsgUm9kb2xmbwogICAgICAg ICAgICAgIEZyZWl0YXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBtb3otZG8tbm90LXNlbmQ9InRy dWUiCiAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdt YWlsLmNvbSIKICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmpvc2Vyb2RvbGZvLmZy ZWl0YXNAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICAgICAgd3JvdGU6PGJyPgog ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPgog ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltIj4KICAgICAgICAgICAgICAgIDxibG9ja3F1b3Rl IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjogMHB0IDBwdAogICAgICAgICAgICAg ICAgICAwcHQgMC44ZXg7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKDIwNCwgMjA0LCAyMDQp OwogICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFleDsiPgogICAgICAgICAgICAgICAg ICBXaGF0IEkgbGlrZSBtb3N0IGluIENESSBhbmQgU2VhbTMgaXMgdGhhdCBpdCdzIHZlcnkKICAg ICAgICAgICAgICAgICAgZWFzeSB0byBrZWVwIHRoaW5ncyBzaW1wbGUgYW5kIHRoYXQncyBzb21l dGhpbmcgSQogICAgICAgICAgICAgICAgICBzdHJvbmdseSBhZHZvY2F0ZS4mbmJzcDs8L2Jsb2Nr cXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICAgIDwvZGl2Pgog ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+KzE8L2Rpdj4KICAgICAgICAg ICAgICA8ZGl2IGNsYXNzPSJpbSI+CiAgICAgICAgICAgICAgICA8ZGl2PiZuYnNwOzwvZGl2Pgog ICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOiAwcHQgMHB0CiAgICAgICAgICAgICAgICAgIDBwdCAwLjhleDsgYm9yZGVyLWxlZnQ6IDFw eCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7CiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVm dDogMWV4OyI+CiAgICAgICAgICAgICAgICAgIDxkaXY+T2YgY291cnNlIHRoZXJlJ3JlIHN0aWxs IGJvaWxlcnBsYXRlIGNvZGUsIGJ1dCBJCiAgICAgICAgICAgICAgICAgICAgdGhpbmsgaXQncyBt aW5pbWFsIChjb21wYXJlZCB0byB0aGUgSkVFIGdlbmVyYXRpb25zCiAgICAgICAgICAgICAgICAg ICAgYmVmb3JlKSwgYW5kIHRoYXQncyBzb21ldGhpbmcgZm9yZ2UgY2FuIGNyZWF0ZQogICAgICAg ICAgICAgICAgICAgIHdpdGhvdXQgdGhlIG5lZWQgdG8gc2F0aXNmeSBhICJmcmFtZXdvcmsiLiBZ ZXMsIEkKICAgICAgICAgICAgICAgICAgICBhZG1pdGVkbHkgYW0gYWZyYWlkIG9mIHRoYXQgd29y ZC48L2Rpdj4KICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAgIDxk aXY+PGJyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgICAgPGRpdj5UaGF0J3MgZmluZSwgaXQgZG9lc24ndCBoYXZlIHRvIGJlIGEgZnJhbWV3 b3JrLiBJIGRvCiAgICAgICAgICAgICAgICB0aGluayB0aGVyZSBpcyByb29tIGZvciBoYXZpbmcg c29tZSBjb21tb24gc2NhZmZvbGRpbmcsCiAgICAgICAgICAgICAgICB0aG91Z2guIElmIHdlIGNh biBkbyB0aGF0IGJ5IGV4dGVuZGluZyB0aGUgcHJvZ3JhbW1pbmcKICAgICAgICAgICAgICAgIG1v ZGVsIChhbm5vdGF0aW9ucywgZ2VuZXJpYyBiZWFucyBvciBpbnRlcmZhY2VzKSBzbyB0aGF0CiAg ICAgICAgICAgICAgICBpdCdzIGRlY2xhcmF0aXZlLCB0aGF0J3MgcHJvYmFibHkgaWRlYWwuPC9k aXY+CiAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAg ICAgICAgPGRpdj5JIHN1Z2dlc3QgdGhhdCB3ZSBicmFpbnN0b3JtIHByb3Bvc2FscyB1c2luZyBn aXN0cyAoPGEKICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJo dHRwOi8vZ2lzdC5naXRodWIuY29tIgogICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL2dpc3QuZ2l0aHViLmNvbTwvYT4pLiBUaGF0IHdpbGwKICAgICAgICAgICAgICAgIGdl dCB0aGUgYmFsbCByb2xsaW5nLiBXZSBjYW4gc3RhcnQgd2l0aCB0aGUgaWRlYSBKYXNvbgogICAg ICAgICAgICAgICAgcG9zdGVkLCBvciBmZWVsIGZyZWUgdG8gdGFrZSBhIGRpZmZlcmVudCBhcHBy b2FjaC48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4K ICAgICAgICAgICAgICA8Zm9udCBjb2xvcj0iIzg4ODg4OCI+CiAgICAgICAgICAgICAgICA8ZGl2 Pi1EYW48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgPC9k aXY+CiAgICAgICAgICAgICAgPC9mb250PjwvZGl2PgogICAgICAgICAgICA8ZGl2PgogICAgICAg ICAgICAgIDxkaXYgY2xhc3M9Img1Ij4tLSA8YnI+CiAgICAgICAgICAgICAgICA8ZGl2PkRhbiBB bGxlbjwvZGl2PgogICAgICAgICAgICAgICAgUHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBS ZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4KICAgICAgICAgICAgICAgIEFjdGlvbjxicj4KICAg ICAgICAgICAgICAgIFJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPgogICAgICAgICAg ICAgICAgPGJyPgogICAgICAgICAgICAgICAgPGRpdj48YSBtb3otZG8tbm90LXNlbmQ9InRydWUi CiAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVz L2Rhbi5qLmFsbGVuI2Fib3V0IgogICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgog ICAgICAgICAgICAgICAgICA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAg ICAgICAgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6 Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICA8YSBtb3otZG8tbm90 LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4 LmNvbS9zZWFtaW5hY3Rpb24iCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj4KICAgICAgICAgICAgICAg IDwvZGl2PgogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICA8L2Rpdj4KICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8L2Rpdj4KICAgICAg ICA8YnI+CiAgICAgIDwvZGl2PgogICAgICA8cHJlIHdyYXA9IiI+CjxmaWVsZHNldCBjbGFzcz0i bWltZUF0dGFjaG1lbnRIZWFkZXIiPjwvZmllbGRzZXQ+Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCnNlYW0tZGV2IG1haWxpbmcgbGlzdAo8YSBjbGFzcz0i bW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJv c3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CjxhIGNsYXNzPSJtb3otdHh0LWxp bmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGlu Zm8vc2VhbS1kZXYiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2Vh bS1kZXY8L2E+CjwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJyPgogIDwvYm9keT4KPC9o dG1sPgo= --===============8010474394470567616==-- From lightguard.jp at gmail.com Tue Sep 20 23:07:56 2011 Content-Type: multipart/mixed; boundary="===============2810904609218798330==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 20 Sep 2011 21:07:46 -0600 Message-ID: In-Reply-To: 4E7948B6.604@gmail.com --===============2810904609218798330== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable That's a good idea too Stuart. Can we easily make use of something similar = for EntityHome, or do you think we have something easy enough with what I p= osted. = Sent from my iPhone On Sep 20, 2011, at 20:15, Stuart Douglas wr= ote: > My original plan for EntityQuery was to use the ServiceHandler stuff in s= older: > = > @EntityQuery > public interface MyQuery { > = > @Query("Select u from User u where type=3D:p1") > public List users(String type); > = > } > = > Stuart > = > On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: >> = >> Yeah, I agree that being declarative is the ideal. >> let's say no to inheritance with generics! hehehe. >> = >> On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen = wrote: >> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas wrote: >> What I like most in CDI and Seam3 is that it's very easy to keep things = simple and that's something I strongly advocate. = >> = >> +1 >> = >> Of course there're still boilerplate code, but I think it's minimal (com= pared to the JEE generations before), and that's something forge can create= without the need to satisfy a "framework". Yes, I admitedly am afraid of t= hat word. >> = >> That's fine, it doesn't have to be a framework. I do think there is room= for having some common scaffolding, though. If we can do that by extending= the programming model (annotations, generic beans or interfaces) so that i= t's declarative, that's probably ideal. >> = >> I suggest that we brainstorm proposals using gists (http://gist.github.c= om). That will get the ball rolling. We can start with the idea Jason poste= d, or feel free to take a different approach. >> = >> -Dan >> = >> -- = >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> = >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> = >> = >> = >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============2810904609218798330== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5UaGF0J3MgYSBnb29kIGlkZWEgdG9v IFN0dWFydC4gQ2FuIHdlIGVhc2lseSBtYWtlIHVzZSBvZiBzb21ldGhpbmcgc2ltaWxhciBmb3Ig RW50aXR5SG9tZSwgb3IgZG8geW91IHRoaW5rIHdlIGhhdmUgc29tZXRoaW5nIGVhc3kgZW5vdWdo IHdpdGggd2hhdCBJIHBvc3RlZC4mbmJzcDs8YnI+PGJyPlNlbnQgZnJvbSBteSBpUGhvbmU8L2Rp dj48ZGl2Pjxicj5PbiBTZXAgMjAsIDIwMTEsIGF0IDIwOjE1LCBTdHVhcnQgRG91Z2xhcyAmbHQ7 PGEgaHJlZj0ibWFpbHRvOnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tIj5zdHVhcnQudy5kb3Vn bGFzQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj48YnI+PC9kaXY+PGRpdj48L2Rpdj48Ymxv Y2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2PgoKICAgIE15IG9yaWdpbmFsIHBsYW4gZm9yIEVudGl0 eVF1ZXJ5IHdhcyB0byB1c2UgdGhlIFNlcnZpY2VIYW5kbGVyIHN0dWZmCiAgICBpbiBzb2xkZXI6 PGJyPgogICAgPGJyPgogICAgQEVudGl0eVF1ZXJ5PGJyPgogICAgcHVibGljIGludGVyZmFjZSBN eVF1ZXJ5IHs8YnI+CiAgICA8YnI+CiAgICAmbmJzcDsgQFF1ZXJ5KCJTZWxlY3QgdSBmcm9tIFVz ZXIgdSB3aGVyZSB0eXBlPTpwMSIpPGJyPgogICAgJm5ic3A7IHB1YmxpYyBMaXN0Jmx0O1VzZXIm Z3Q7IHVzZXJzKFN0cmluZyB0eXBlKTs8YnI+CiAgICA8YnI+CiAgICB9PGJyPgogICAgPGJyPgog ICAgU3R1YXJ0PGJyPgogICAgPGJyPgogICAgT24gMDkvMjEvMjAxMSAwNjowMCBBTSwgSm9zw6kg Um9kb2xmbyBGcmVpdGFzIHdyb3RlOgogICAgPGJsb2NrcXVvdGUgY2l0ZT0ibWlkOkNBSzhZRVlQ eTdVX2VaUnZhMCszN3dGcEN6YXhBakZtWjRBZVoyUjNoWkhEZ0htPWQwUUBtYWlsLmdtYWlsLmNv bSIgdHlwZT0iY2l0ZSI+WWVhaCwgSSBhZ3JlZSB0aGF0IGJlaW5nIGRlY2xhcmF0aXZlIGlzIHRo ZSBpZGVhbC4KICAgICAgPGRpdj5sZXQncyBzYXkgbm8gdG8gaW5oZXJpdGFuY2Ugd2l0aCBnZW5l cmljcyEgaGVoZWhlLjxicj4KICAgICAgICA8YnI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxf cXVvdGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6NDEgUE0sIERhbgogICAgICAgICAgQWxs ZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Im1h aWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPjxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBn bWFpbC5jb20iPmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwvYT48L2E+Jmd0Ozwvc3Bhbj4KICAgICAg ICAgIHdyb3RlOjxicj4KICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIg c3R5bGU9Im1hcmdpbjogMHB0IDBwdCAwcHQKICAgICAgICAgICAgMC44ZXg7IGJvcmRlci1sZWZ0 OiAxcHggc29saWQgcmdiKDIwNCwgMjA0LCAyMDQpOwogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6 IDFleDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbSI+T24gVHVlLCBTZXAgMjAsIDIwMTEg YXQgMTU6MzYsIEpvc8OpIFJvZG9sZm8KICAgICAgICAgICAgICBGcmVpdGFzIDxzcGFuIGRpcj0i bHRyIj4mbHQ7PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJtYWlsdG86am9zZXJvZG9s Zm8uZnJlaXRhc0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJtYWlsdG86am9z ZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb20iPmpvc2Vyb2RvbGZvLmZyZWl0YXNAZ21haWwuY29t PC9hPjwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAg PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4KICAgICAgICAgICAg ICA8ZGl2IGNsYXNzPSJpbSI+CiAgICAgICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21h aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46IDBwdCAwcHQKICAgICAgICAgICAgICAgICAgMHB0IDAu OGV4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsKICAgICAgICAg ICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZXg7Ij4KICAgICAgICAgICAgICAgICAgV2hhdCBJIGxp a2UgbW9zdCBpbiBDREkgYW5kIFNlYW0zIGlzIHRoYXQgaXQncyB2ZXJ5CiAgICAgICAgICAgICAg ICAgIGVhc3kgdG8ga2VlcCB0aGluZ3Mgc2ltcGxlIGFuZCB0aGF0J3Mgc29tZXRoaW5nIEkKICAg ICAgICAgICAgICAgICAgc3Ryb25nbHkgYWR2b2NhdGUuJm5ic3A7PC9ibG9ja3F1b3RlPgogICAg ICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PisxPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBj bGFzcz0iaW0iPgogICAgICAgICAgICAgICAgPGRpdj4mbmJzcDs8L2Rpdj4KICAgICAgICAgICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjogMHB0IDBw dAogICAgICAgICAgICAgICAgICAwcHQgMC44ZXg7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdi KDIwNCwgMjA0LCAyMDQpOwogICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFleDsiPgog ICAgICAgICAgICAgICAgICA8ZGl2Pk9mIGNvdXJzZSB0aGVyZSdyZSBzdGlsbCBib2lsZXJwbGF0 ZSBjb2RlLCBidXQgSQogICAgICAgICAgICAgICAgICAgIHRoaW5rIGl0J3MgbWluaW1hbCAoY29t cGFyZWQgdG8gdGhlIEpFRSBnZW5lcmF0aW9ucwogICAgICAgICAgICAgICAgICAgIGJlZm9yZSks IGFuZCB0aGF0J3Mgc29tZXRoaW5nIGZvcmdlIGNhbiBjcmVhdGUKICAgICAgICAgICAgICAgICAg ICB3aXRob3V0IHRoZSBuZWVkIHRvIHNhdGlzZnkgYSAiZnJhbWV3b3JrIi4gWWVzLCBJCiAgICAg ICAgICAgICAgICAgICAgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0aGF0IHdvcmQuPC9kaXY+CiAg ICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAg ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxk aXY+VGhhdCdzIGZpbmUsIGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBhIGZyYW1ld29yay4gSSBkbwog ICAgICAgICAgICAgICAgdGhpbmsgdGhlcmUgaXMgcm9vbSBmb3IgaGF2aW5nIHNvbWUgY29tbW9u IHNjYWZmb2xkaW5nLAogICAgICAgICAgICAgICAgdGhvdWdoLiBJZiB3ZSBjYW4gZG8gdGhhdCBi eSBleHRlbmRpbmcgdGhlIHByb2dyYW1taW5nCiAgICAgICAgICAgICAgICBtb2RlbCAoYW5ub3Rh dGlvbnMsIGdlbmVyaWMgYmVhbnMgb3IgaW50ZXJmYWNlcykgc28gdGhhdAogICAgICAgICAgICAg ICAgaXQncyBkZWNsYXJhdGl2ZSwgdGhhdCdzIHByb2JhYmx5IGlkZWFsLjwvZGl2PgogICAgICAg ICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+ SSBzdWdnZXN0IHRoYXQgd2UgYnJhaW5zdG9ybSBwcm9wb3NhbHMgdXNpbmcgZ2lzdHMgKDxhIG1v ei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0iaHR0cDovL2dpc3QuZ2l0aHViLmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly9naXN0LmdpdGh1Yi5jb20iPmh0dHA6Ly9naXN0Lmdp dGh1Yi5jb208L2E+PC9hPikuIFRoYXQgd2lsbAogICAgICAgICAgICAgICAgZ2V0IHRoZSBiYWxs IHJvbGxpbmcuIFdlIGNhbiBzdGFydCB3aXRoIHRoZSBpZGVhIEphc29uCiAgICAgICAgICAgICAg ICBwb3N0ZWQsIG9yIGZlZWwgZnJlZSB0byB0YWtlIGEgZGlmZmVyZW50IGFwcHJvYWNoLjwvZGl2 PgogICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICAgIDxmb250IGNvbG9yPSIjODg4ODg4Ij4KICAgICAgICAgICAgICAgIDxkaXY+LURhbjwvZGl2 PgogICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgICA8L2ZvbnQ+PC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGRp diBjbGFzcz0iaDUiPi0tIDxicj4KICAgICAgICAgICAgICAgIDxkaXY+RGFuIEFsbGVuPC9kaXY+ CiAgICAgICAgICAgICAgICBQcmluY2lwYWwgU29mdHdhcmUgRW5naW5lZXIsIFJlZCBIYXQgfCBB dXRob3Igb2YgU2VhbSBpbgogICAgICAgICAgICAgICAgQWN0aW9uPGJyPgogICAgICAgICAgICAg ICAgUmVnaXN0ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8YnI+CiAgICAgICAgICAgICAgICA8YnI+ CiAgICAgICAgICAgICAgICA8ZGl2PjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0iaHR0 cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9i bGFuayI+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVu I2Fib3V0Ij5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8 L2E+PC9hPjxicj4KICAgICAgICAgICAgICAgICAgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBo cmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0 cDovL21vamF2ZWxpbnV4LmNvbSI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48L2E+PGJyPgog ICAgICAgICAgICAgICAgICA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Imh0dHA6Ly9t b2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0 cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iPmh0dHA6Ly9tb2phdmVsaW51eC5jb20v c2VhbWluYWN0aW9uPC9hPjwvYT48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg ICAgICAgIDxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJyPgogICAgICA8L2Rp dj4KICAgICAgPHByZSB3cmFwPSIiPjxmaWVsZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFk ZXIiPjwvZmllbGRzZXQ+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCnNlYW0tZGV2IG1haWxpbmcgbGlzdAo8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJl dmlhdGVkIiBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIj48YSBocmVmPSJt YWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8 L2E+PC9hPgo8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2Ij48YSBocmVmPSJodHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2Ij5odHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjwvYT4KPC9wcmU+CiAgICA8 L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgCgo8L2Rpdj48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUg dHlwZT0iY2l0ZSI+PGRpdj48c3Bhbj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXzwvc3Bhbj48YnI+PHNwYW4+c2VhbS1kZXYgbWFpbGluZyBsaXN0PC9zcGFu Pjxicj48c3Bhbj48YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIj5zZWFt LWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PC9zcGFuPjxicj48c3Bhbj48YSBocmVmPSJodHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2Ij5odHRwczovL2xpc3Rz Lmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjwvc3Bhbj48YnI+PC9kaXY+ PC9ibG9ja3F1b3RlPjwvYm9keT48L2h0bWw+ --===============2810904609218798330==-- From gegastaldi at gmail.com Wed Sep 21 00:28:38 2011 Content-Type: multipart/mixed; boundary="===============2586860317735357755==" MIME-Version: 1.0 From: George Gastaldi To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 01:28:17 -0300 Message-ID: In-Reply-To: BE7815DA-CFB3-46D4-8F32-250F7291AD41@gmail.com --===============2586860317735357755== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Excellent !! I would also add the possibility to pass the first row and also the Max Results parameters as qualifiers. Also, we should use NamedQuery to ease maintenance. 2011/9/21 Jason Porter : > That's a good idea too Stuart. Can we easily make use of something similar > for EntityHome, or do you think we have something easy enough with what I > posted. > > Sent from my iPhone > On Sep 20, 2011, at 20:15, Stuart Douglas > wrote: > > My original plan for EntityQuery was to use the ServiceHandler stuff in > solder: > > @EntityQuery > public interface MyQuery { > > =C2=A0 @Query("Select u from User u where type=3D:p1") > =C2=A0 public List users(String type); > > } > > Stuart > > On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: > > Yeah, I agree that being declarative is the ideal. > let's say no to inheritance with generics! hehehe. > > On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wrot= e: >> >> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas >> wrote: >>> >>> What I like most in CDI and Seam3 is that it's very easy to keep things >>> simple and that's something I strongly advocate. >> >> +1 >> >>> >>> Of course there're still boilerplate code, but I think it's minimal >>> (compared to the JEE generations before), and that's something forge can >>> create without the need to satisfy a "framework". Yes, I admitedly am a= fraid >>> of that word. >> >> That's fine, it doesn't have to be a framework. I do think there is room >> for having some common scaffolding, though. If we can do that by extendi= ng >> the programming model (annotations, generic beans or interfaces) so that >> it's declarative, that's probably ideal. >> I suggest that we brainstorm proposals using gists >> (http://gist.github.com). That will get the ball rolling. We can start w= ith >> the idea Jason posted, or feel free to take a different approach. >> -Dan >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > --===============2586860317735357755==-- From gegastaldi at gmail.com Wed Sep 21 00:44:05 2011 Content-Type: multipart/mixed; boundary="===============2184534947419121296==" MIME-Version: 1.0 From: George Gastaldi To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 01:43:43 -0300 Message-ID: In-Reply-To: CAK6y9v1jore-RmL9-my5pZz4C38_1UHx7nODo2M2dm+qQBTBGQ@mail.gmail.com --===============2184534947419121296== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Also, MyQuery could be an abstract class so when a query is not working right, you could implement by yourself using the same class 2011/9/21 George Gastaldi : > Excellent !! I would also add the possibility to pass the first row > and also the Max Results parameters as qualifiers. Also, we should use > NamedQuery to ease maintenance. > > > > 2011/9/21 Jason Porter : >> That's a good idea too Stuart. Can we easily make use of something simil= ar >> for EntityHome, or do you think we have something easy enough with what I >> posted. >> >> Sent from my iPhone >> On Sep 20, 2011, at 20:15, Stuart Douglas >> wrote: >> >> My original plan for EntityQuery was to use the ServiceHandler stuff in >> solder: >> >> @EntityQuery >> public interface MyQuery { >> >> =C2=A0 @Query("Select u from User u where type=3D:p1") >> =C2=A0 public List users(String type); >> >> } >> >> Stuart >> >> On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: >> >> Yeah, I agree that being declarative is the ideal. >> let's say no to inheritance with generics! hehehe. >> >> On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wro= te: >>> >>> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas >>> wrote: >>>> >>>> What I like most in CDI and Seam3 is that it's very easy to keep things >>>> simple and that's something I strongly advocate. >>> >>> +1 >>> >>>> >>>> Of course there're still boilerplate code, but I think it's minimal >>>> (compared to the JEE generations before), and that's something forge c= an >>>> create without the need to satisfy a "framework". Yes, I admitedly am = afraid >>>> of that word. >>> >>> That's fine, it doesn't have to be a framework. I do think there is room >>> for having some common scaffolding, though. If we can do that by extend= ing >>> the programming model (annotations, generic beans or interfaces) so that >>> it's declarative, that's probably ideal. >>> I suggest that we brainstorm proposals using gists >>> (http://gist.github.com). That will get the ball rolling. We can start = with >>> the idea Jason posted, or feel free to take a different approach. >>> -Dan >>> -- >>> Dan Allen >>> Principal Software Engineer, Red Hat | Author of Seam in Action >>> Registered Linux User #231597 >>> >>> http://www.google.com/profiles/dan.j.allen#about >>> http://mojavelinux.com >>> http://mojavelinux.com/seaminaction >>> >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > --===============2184534947419121296==-- From maschmid at redhat.com Wed Sep 21 03:03:48 2011 Content-Type: multipart/mixed; boundary="===============8788549481258256823==" MIME-Version: 1.0 From: Marek Schmidt To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Testsuite discussion notes Date: Wed, 21 Sep 2011 09:03:45 +0200 Message-ID: <4E798C51.706@redhat.com> In-Reply-To: 4E78DBE2.1040307@redhat.com --===============8788549481258256823== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 09/20/2011 08:30 PM, Shane Bryzak wrote: > Thanks Marek. Just a heads up - the Catch, Config and Servlet modules > are going to be merged with Solder as sub-modules shortly. Would you > like me to wait until the testsuite is stable before I move the tests > over for these? Go ahead, if you could merge this before, that would be great: https://github.com/seam/solder/pull/49 thanks! Marek > > Shane > > On 21/09/11 04:29, Marek Schmidt wrote: >> On 09/20/2011 03:47 PM, Ond=C5=99ej Skutka wrote: >>> On Tue, 20 Sep 2011 10:51:47 +0200, Shane Bryzak >>> wrote: >>> >>>> Can we please make it a priority to get the Solder testsuite updated to >>>> the new structure and all the tests passing? Once this is done, the >>>> rest of the team can help out by updating the other modules to follow >>>> the same configuration. >>> >>> Sure. Marek, can you please focus on this? >> >> Sure, I am on it. >> >> Current progress in >> >> https://github.com/maschmid/solder/tree/testsuite-update-2 >> >>> >>> Thanks, >>> Ondra >>> >> > --===============8788549481258256823==-- From mkouba at redhat.com Wed Sep 21 06:54:14 2011 Content-Type: multipart/mixed; boundary="===============1964103780063112620==" MIME-Version: 1.0 From: Martin Kouba To: seam-dev at lists.jboss.org Subject: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Wed, 21 Sep 2011 12:54:08 +0200 Message-ID: <4E79C250.80207@redhat.com> --===============1964103780063112620== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi, recently during CDI TCK arquillian migration (1.1 branch) we had to = replace test harness @ExpectedDeploymentException in tests expecting = deployment failure. So currently in TCK we use @ShouldThrowException(Exception.class) on = arquillian deployment method. Indeed testing generic Exception is not = the best solution but in fact right now we cannot test exact deployment = causewhile there are no standardized CDI deployment-relatedexceptions = (in CDI 1.1 there will be - see CDI-118 Standardize deployment-related = exception classes). Also note that "Adding this annotation will force = @{@link Deployment} to be testable =3D false which will force @{@link = RunAsClient}". The other possibility is to use something like Assert.fail("Deployment = should have failed...") or assert false in test method. Seam = Compatibility and Weld use this approach. The question is whether to standardize this among all cdi/weld/seam = tests. I think we should use the arquillian way (@ShouldThrowException) = while its more obvious that we expect deployment failure and use = relevant expected exceptions as soon as CDI 1.1 arrives. WDYT? M -- = Martin Kouba JBoss Quality Assurance Engineer E-mail: mkouba(a)redhat.com Web: www.cz.redhat.com Red Hat Czech s.r.o., Purky=C5=88ova 99/71, 612 45, Brno, Czech Republic --===============1964103780063112620== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxodG1sPgogIDxoZWFkPgoKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTIiPgogIDwvaGVhZD4KICA8 Ym9keSBiZ2NvbG9yPSIjZmZmZmZmIiB0ZXh0PSIjMDAwMDAwIj4KICAgIDxmb250IGZhY2U9InNh bnMtc2VyaWYiPkhpLDxicj4KICAgICAgcmVjZW50bHkgZHVyaW5nIENESSBUQ0sgYXJxdWlsbGlh biBtaWdyYXRpb24gKDwvZm9udD48Zm9udAogICAgICBmYWNlPSJzYW5zLXNlcmlmIj4xLjEgYnJh bmNoPC9mb250Pjxmb250IGZhY2U9InNhbnMtc2VyaWYiPikgd2UKICAgICAgaGFkIHRvIHJlcGxh Y2UgdGVzdCBoYXJuZXNzIEBFeHBlY3RlZERlcGxveW1lbnRFeGNlcHRpb24gaW4gdGVzdHMKICAg ICAgZXhwZWN0aW5nIGRlcGxveW1lbnQgZmFpbHVyZS48YnI+CiAgICAgIDxicj4KICAgICAgU28g Y3VycmVudGx5IGluIFRDSyB3ZSB1c2UgQFNob3VsZFRocm93RXhjZXB0aW9uKEV4Y2VwdGlvbi5j bGFzcykKICAgICAgb24gYXJxdWlsbGlhbiBkZXBsb3ltZW50IG1ldGhvZC4gSW5kZWVkIHRlc3Rp bmcgZ2VuZXJpYyBFeGNlcHRpb24KICAgICAgaXMgbm90IHRoZSBiZXN0IHNvbHV0aW9uIGJ1dCBp biBmYWN0IHJpZ2h0IG5vdyB3ZSBjYW5ub3QgdGVzdCA8L2ZvbnQ+PGZvbnQKICAgICAgZmFjZT0i c2Fucy1zZXJpZiI+ZXhhY3QgZGVwbG95bWVudCBjYXVzZTwvZm9udD48Zm9udAogICAgICBmYWNl PSJzYW5zLXNlcmlmIj4gd2hpbGUgdGhlcmUgYXJlIG5vIHN0YW5kYXJkaXplZCBDREkgPC9mb250 Pjxmb250CiAgICAgIGZhY2U9InNhbnMtc2VyaWYiPmRlcGxveW1lbnQtcmVsYXRlZDwvZm9udD48 Zm9udCBmYWNlPSJzYW5zLXNlcmlmIj4KICAgICAgZXhjZXB0aW9ucyAoaW4gQ0RJIDEuMSB0aGVy ZSB3aWxsIGJlIC0gc2VlIDwvZm9udD48Zm9udAogICAgICBmYWNlPSJzYW5zLXNlcmlmIj5DREkt MTE4IFN0YW5kYXJkaXplIGRlcGxveW1lbnQtcmVsYXRlZCBleGNlcHRpb24KICAgICAgY2xhc3Nl czwvZm9udD48Zm9udCBmYWNlPSJzYW5zLXNlcmlmIj4pLiA8L2ZvbnQ+PHNwYW4KICAgICAgY2xh c3M9ImVudGl0eS1uYW1lIiB0aXRsZT0ib3JnLmpib3NzLm1zYy5zZXJ2aWNlLlN0YXJ0RXhjZXB0 aW9uIj48L3NwYW4+PGZvbnQKICAgICAgZmFjZT0ic2Fucy1zZXJpZiI+QWxzbyBub3RlIHRoYXQg IkFkZGluZyB0aGlzIGFubm90YXRpb24gd2lsbAogICAgICBmb3JjZSBAe0BsaW5rIERlcGxveW1l bnR9IHRvIGJlIHRlc3RhYmxlID0gZmFsc2Ugd2hpY2ggd2lsbCBmb3JjZQogICAgICBAe0BsaW5r IFJ1bkFzQ2xpZW50fSIuPC9mb250Pjxicj4KICAgIDxmb250IGZhY2U9InNhbnMtc2VyaWYiPjxi cj4KICAgICAgVGhlIG90aGVyIHBvc3NpYmlsaXR5IGlzIHRvIHVzZSBzb21ldGhpbmcgbGlrZQog ICAgICBBc3NlcnQuZmFpbCgiRGVwbG95bWVudCBzaG91bGQgaGF2ZSBmYWlsZWQuLi4iKSBvciBh c3NlcnQgZmFsc2UgaW4KICAgICAgdGVzdCBtZXRob2QuIFNlYW0gQ29tcGF0aWJpbGl0eSBhbmQg V2VsZCB1c2UgdGhpcyBhcHByb2FjaC48YnI+CiAgICAgIDxicj4KICAgICAgVGhlIHF1ZXN0aW9u IGlzIHdoZXRoZXIgdG8gc3RhbmRhcmRpemUgdGhpc6AgYW1vbmcgYWxsCiAgICAgIGNkaS93ZWxk L3NlYW0gdGVzdHMuIEkgdGhpbmsgd2Ugc2hvdWxkIHVzZSB0aGUgYXJxdWlsbGlhbiB3YXkgKDwv Zm9udD48Zm9udAogICAgICBmYWNlPSJzYW5zLXNlcmlmIj5AU2hvdWxkVGhyb3dFeGNlcHRpb248 L2ZvbnQ+PGZvbnQKICAgICAgZmFjZT0ic2Fucy1zZXJpZiI+KSB3aGlsZSBpdHMgbW9yZSBvYnZp b3VzIHRoYXQgd2UgZXhwZWN0CiAgICAgIGRlcGxveW1lbnQgZmFpbHVyZSA8L2ZvbnQ+PGZvbnQg ZmFjZT0ic2Fucy1zZXJpZiI+YW5kIHVzZQogICAgICByZWxldmFudCBleHBlY3RlZCBleGNlcHRp b25zIGFzIHNvb24gYXMgQ0RJIDEuMSBhcnJpdmVzLjxicj4KICAgICAgPGJyPgogICAgICBXRFlU Pzxicj4KICAgICAgPGJyPgogICAgICBNPGJyPgogICAgPC9mb250PgogICAgPHByZSBjbGFzcz0i bW96LXNpZ25hdHVyZSIgY29scz0iNzIiPi0tIApNYXJ0aW4gS291YmEKSkJvc3MgUXVhbGl0eSBB c3N1cmFuY2UgRW5naW5lZXIgCkUtbWFpbDogPGEgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZp YXRlZCIgaHJlZj0ibWFpbHRvOm1rb3ViYUByZWRoYXQuY29tIj5ta291YmFAcmVkaGF0LmNvbTwv YT4KV2ViOiA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJodHRwOi8v d3d3LmN6LnJlZGhhdC5jb20iPnd3dy5jei5yZWRoYXQuY29tPC9hPgpSZWQgSGF0IEN6ZWNoIHMu ci5vLiwgUHVya3nyb3ZhIDk5LzcxLCA2MTIgNDUsIEJybm8sIEN6ZWNoIFJlcHVibGljPC9wcmU+ CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============1964103780063112620==-- From jharting at redhat.com Wed Sep 21 07:27:30 2011 Content-Type: multipart/mixed; boundary="===============7202648795366569277==" MIME-Version: 1.0 From: Jozef Hartinger To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Wed, 21 Sep 2011 13:27:25 +0200 Message-ID: <4E79CA1D.7070509@redhat.com> In-Reply-To: 4E79C250.80207@redhat.com --===============7202648795366569277== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I am for making these types of tests consistent among projects and = @ShouldThrowException(Exception.class) seems to be right approach. AFAIK = the only reason it's not used in Seam Compat and Weld is that is was not = available / reliable enough on different containers at the time the = tests were written. If this discussion leads to conclusion that Seam Compat and Weld should = align, could you file jira tasks please? On 09/21/2011 12:54 PM, Martin Kouba wrote: > Hi, > recently during CDI TCK arquillian migration (1.1 branch) we had to = > replace test harness @ExpectedDeploymentException in tests expecting = > deployment failure. > > So currently in TCK we use @ShouldThrowException(Exception.class) on = > arquillian deployment method. Indeed testing generic Exception is not = > the best solution but in fact right now we cannot test exact = > deployment causewhile there are no standardized CDI = > deployment-relatedexceptions (in CDI 1.1 there will be - see CDI-118 = > Standardize deployment-related exception classes). Also note that = > "Adding this annotation will force @{@link Deployment} to be testable = > =3D false which will force @{@link RunAsClient}". > > The other possibility is to use something like Assert.fail("Deployment = > should have failed...") or assert false in test method. Seam = > Compatibility and Weld use this approach. > > The question is whether to standardize this among all cdi/weld/seam = > tests. I think we should use the arquillian way = > (@ShouldThrowException) while its more obvious that we expect = > deployment failure and use relevant expected exceptions as soon as CDI = > 1.1 arrives. > > WDYT? > > M > -- = > Martin Kouba > JBoss Quality Assurance Engineer > E-mail:mkouba(a)redhat.com > Web:www.cz.redhat.com > Red Hat Czech s.r.o., Purky=C5=88ova 99/71, 612 45, Brno, Czech Republic --===============7202648795366569277==-- From ales.justin at gmail.com Wed Sep 21 07:34:02 2011 Content-Type: multipart/mixed; boundary="===============6802814206356479505==" MIME-Version: 1.0 From: Ales Justin To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Wed, 21 Sep 2011 13:33:58 +0200 Message-ID: <7F00D9EA-D7FD-46C0-A5D3-44E4B7F10213@gmail.com> In-Reply-To: 4E79CA1D.7070509@redhat.com --===============6802814206356479505== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > I am for making these types of tests consistent among projects and = > @ShouldThrowException(Exception.class) seems to be right approach. AFAIK = > the only reason it's not used in Seam Compat and Weld is that is was not = > available / reliable enough on different containers at the time the = > tests were written. > = > If this discussion leads to conclusion that Seam Compat and Weld should = > align, could you file jira tasks please? Weld master is fully on latest ARQ atm, hence it already uses @STE. --===============6802814206356479505==-- From lagoria at alice.it Wed Sep 21 15:09:28 2011 Content-Type: multipart/mixed; boundary="===============8105830088824645816==" MIME-Version: 1.0 From: agori To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 12:09:27 -0700 Message-ID: <1316632167138-3831102.post@n4.nabble.com> In-Reply-To: CAKeHnO4EpctjLMOXrJtN1sGVc7n3G9n_BP+DM9=YBkWYKVjEsw@mail.gmail.com --===============8105830088824645816== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable What do you think about implementing something like this? = http://code.google.com/p/lambico/ with some improvements (for example I would prefer if queries are driven by annotations instead of method names) -- View this message in context: http://seam-framework.2283336.n4.nabble.com/S= AF-aka-Entity-Framework-idea-in-Seam-3-tp3825919p3831102.html Sent from the seam-dev mailing list archive at Nabble.com. --===============8105830088824645816==-- From dan.j.allen at gmail.com Wed Sep 21 17:40:09 2011 Content-Type: multipart/mixed; boundary="===============8166277736534245047==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 17:39:38 -0400 Message-ID: In-Reply-To: 1316632167138-3831102.post@n4.nabble.com --===============8166277736534245047== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable We are thinking along the same lines :) -Dan On Wed, Sep 21, 2011 at 15:09, agori wrote: > What do you think about implementing something like this? > > http://code.google.com/p/lambico/ > > with some improvements (for example I would prefer if queries are driven = by > annotations instead of method names) > > -- > View this message in context: > http://seam-framework.2283336.n4.nabble.com/SAF-aka-Entity-Framework-idea= -in-Seam-3-tp3825919p3831102.html > Sent from the seam-dev mailing list archive at Nabble.com. > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============8166277736534245047== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" V2UgYXJlIHRoaW5raW5nIGFsb25nIHRoZSBzYW1lIGxpbmVzIDopPGRpdj48YnI+PC9kaXY+PGRp dj4tRGFuPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEsIDIw MTEgYXQgMTU6MDksIGFnb3JpIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmxh Z29yaWFAYWxpY2UuaXQiPmxhZ29yaWFAYWxpY2UuaXQ8L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy PgoKPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44 ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPldoYXQgZG8g eW91IHRoaW5rIGFib3V0IGltcGxlbWVudGluZyBzb21ldGhpbmcgbGlrZSB0aGlzPzxicj4KPGJy Pgo8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGFtYmljby8iIHRhcmdldD0iX2Js YW5rIj5odHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGFtYmljby88L2E+PGJyPgo8YnI+CndpdGgg c29tZSBpbXByb3ZlbWVudHMgKGZvciBleGFtcGxlIEkgd291bGQgcHJlZmVyIGlmIHF1ZXJpZXMg YXJlIGRyaXZlbiBieTxicj4KYW5ub3RhdGlvbnMgaW5zdGVhZCBvZiBtZXRob2QgbmFtZXMpPGJy Pgo8Zm9udCBjb2xvcj0iIzg4ODg4OCI+PGJyPgotLTxicj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4g Y29udGV4dDogPGEgaHJlZj0iaHR0cDovL3NlYW0tZnJhbWV3b3JrLjIyODMzMzYubjQubmFiYmxl LmNvbS9TQUYtYWthLUVudGl0eS1GcmFtZXdvcmstaWRlYS1pbi1TZWFtLTMtdHAzODI1OTE5cDM4 MzExMDIuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9zZWFtLWZyYW1ld29yay4yMjgzMzM2 Lm40Lm5hYmJsZS5jb20vU0FGLWFrYS1FbnRpdHktRnJhbWV3b3JrLWlkZWEtaW4tU2VhbS0zLXRw MzgyNTkxOXAzODMxMTAyLmh0bWw8L2E+PGJyPgoKClNlbnQgZnJvbSB0aGUgc2VhbS1kZXYgbWFp bGluZyBsaXN0IGFyY2hpdmUgYXQgTmFiYmxlLmNvbS48YnI+CjwvZm9udD48ZGl2PjxkaXY+PC9k aXY+PGRpdiBjbGFzcz0iaDUiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpz ZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+ CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1k ZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3NlYW0tZGV2PC9hPjxicj4KPC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48 YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPjxkaXY+RGFuIEFsbGVuPC9kaXY+ UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4g QWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPjxicj48ZGl2PjxhIGhy ZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNh Ym91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2 ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGlu dXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+PC9kaXY+PGJyPgo8L2Rpdj4K --===============8166277736534245047==-- From lincolnbaxter at gmail.com Wed Sep 21 17:47:56 2011 Content-Type: multipart/mixed; boundary="===============0442695763270355407==" MIME-Version: 1.0 From: Lincoln Baxter, III To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 17:47:55 -0400 Message-ID: In-Reply-To: CAKeHnO6tk6WPiQchbxj-QE3e+xnUumRL1=3je6CtyiY2d-yUSw@mail.gmail.com --===============0442695763270355407== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable A framework like this would make things incredibly easy for Forge. On Wed, Sep 21, 2011 at 5:39 PM, Dan Allen wrote: > We are thinking along the same lines :) > > -Dan > > > On Wed, Sep 21, 2011 at 15:09, agori wrote: > >> What do you think about implementing something like this? >> >> http://code.google.com/p/lambico/ >> >> with some improvements (for example I would prefer if queries are driven >> by >> annotations instead of method names) >> >> -- >> View this message in context: >> http://seam-framework.2283336.n4.nabble.com/SAF-aka-Entity-Framework-ide= a-in-Seam-3-tp3825919p3831102.html >> Sent from the seam-dev mailing list archive at Nabble.com. >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> > > > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Lincoln Baxter, III http://ocpsoft.com http://scrumshark.com "Keep it Simple" --===============0442695763270355407== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QSBmcmFtZXdvcmsgbGlrZSB0aGlzIHdvdWxkIG1ha2UgdGhpbmdzIGluY3JlZGlibHkgZWFzeSBm b3IgRm9yZ2UuPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEs IDIwMTEgYXQgNTozOSBQTSwgRGFuIEFsbGVuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0i bWFpbHRvOmRhbi5qLmFsbGVuQGdtYWlsLmNvbSI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZn dDs8L3NwYW4+IHdyb3RlOjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHls ZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1s ZWZ0OjFleDsiPldlIGFyZSB0aGlua2luZyBhbG9uZyB0aGUgc2FtZSBsaW5lcyA6KTxkaXY+PGJy PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiM4ODg4ODgiPi1EYW48L2ZvbnQ+PGRpdj48ZGl2Pjwv ZGl2PjxkaXYgY2xhc3M9Img1Ij4KPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24g V2VkLCBTZXAgMjEsIDIwMTEgYXQgMTU6MDksIGFnb3JpIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEg aHJlZj0ibWFpbHRvOmxhZ29yaWFAYWxpY2UuaXQiIHRhcmdldD0iX2JsYW5rIj5sYWdvcmlhQGFs aWNlLml0PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFp bF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNv bGlkO3BhZGRpbmctbGVmdDoxZXgiPldoYXQgZG8geW91IHRoaW5rIGFib3V0IGltcGxlbWVudGlu ZyBzb21ldGhpbmcgbGlrZSB0aGlzPzxicj4KPGJyPgo8YSBocmVmPSJodHRwOi8vY29kZS5nb29n bGUuY29tL3AvbGFtYmljby8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vY29kZS5nb29nbGUuY29t L3AvbGFtYmljby88L2E+PGJyPgo8YnI+CndpdGggc29tZSBpbXByb3ZlbWVudHMgKGZvciBleGFt cGxlIEkgd291bGQgcHJlZmVyIGlmIHF1ZXJpZXMgYXJlIGRyaXZlbiBieTxicj4KYW5ub3RhdGlv bnMgaW5zdGVhZCBvZiBtZXRob2QgbmFtZXMpPGJyPgo8Zm9udCBjb2xvcj0iIzg4ODg4OCI+PGJy PgotLTxicj4KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogPGEgaHJlZj0iaHR0cDovL3Nl YW0tZnJhbWV3b3JrLjIyODMzMzYubjQubmFiYmxlLmNvbS9TQUYtYWthLUVudGl0eS1GcmFtZXdv cmstaWRlYS1pbi1TZWFtLTMtdHAzODI1OTE5cDM4MzExMDIuaHRtbCIgdGFyZ2V0PSJfYmxhbmsi Pmh0dHA6Ly9zZWFtLWZyYW1ld29yay4yMjgzMzM2Lm40Lm5hYmJsZS5jb20vU0FGLWFrYS1FbnRp dHktRnJhbWV3b3JrLWlkZWEtaW4tU2VhbS0zLXRwMzgyNTkxOXAzODMxMTAyLmh0bWw8L2E+PGJy PgoKCgpTZW50IGZyb20gdGhlIHNlYW0tZGV2IG1haWxpbmcgbGlzdCBhcmNoaXZlIGF0IE5hYmJs ZS5jb20uPGJyPgo8L2ZvbnQ+PGRpdj48ZGl2PjwvZGl2PjxkaXY+X19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxi cj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxh bmsiPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlz dHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0iX2JsYW5rIj5o dHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjxicj4K PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48 YnI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaW0iPi0tIDxicj48ZGl2PkRhbiBBbGxl bjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBvZiBT ZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj4KPGJyPjxk aXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fi b3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5q LmFsbGVuI2Fib3V0PC9hPjxicj4KCjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tPC9hPjxicj48YSBocmVmPSJodHRw Oi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9t b2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj48L2Rpdj48YnI+CjwvZGl2PjwvZGl2 Pgo8YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+ CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3Rz Lmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0 cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJf YmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8 L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGJyPi0t IDxicj5MaW5jb2xuIEJheHRlciwgSUlJPGJyPjxhIGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSI+ aHR0cDovL29jcHNvZnQuY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vc2NydW1zaGFyay5jb20i Pmh0dHA6Ly9zY3J1bXNoYXJrLmNvbTwvYT48YnI+JnF1b3Q7S2VlcCBpdCBTaW1wbGUmcXVvdDs8 YnI+Cgo= --===============0442695763270355407==-- From dan.j.allen at gmail.com Wed Sep 21 18:10:54 2011 Content-Type: multipart/mixed; boundary="===============3330593820232645815==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 18:10:22 -0400 Message-ID: In-Reply-To: 4E7948B6.604@gmail.com --===============3330593820232645815== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Stuart, You also previous mentioned... With portable extensions we could do something like: @Entity @AutoHome public class MyEntity .... and have a portable extension that registers a new home bean for every entity with the @AutoHome annotation. I think we all agree that "Home" is a crappy name, so perhaps @Crud or @Dao would be a sufficient name. -Dan On Tue, Sep 20, 2011 at 22:15, Stuart Douglas wrote: > ** > My original plan for EntityQuery was to use the ServiceHandler stuff in > solder: > > @EntityQuery > public interface MyQuery { > > @Query("Select u from User u where type=3D:p1") > public List users(String type); > > } > > Stuart > > > On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: > > Yeah, I agree that being declarative is the ideal. > let's say no to inheritance with generics! hehehe. > > On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wrot= e: > >> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas < >> joserodolfo.freitas(a)gmail.com> wrote: >> >>> What I like most in CDI and Seam3 is that it's very easy to keep things >>> simple and that's something I strongly advocate. >> >> >> +1 >> >> >>> Of course there're still boilerplate code, but I think it's minimal >>> (compared to the JEE generations before), and that's something forge can >>> create without the need to satisfy a "framework". Yes, I admitedly am a= fraid >>> of that word. >>> >> >> That's fine, it doesn't have to be a framework. I do think there is room >> for having some common scaffolding, though. If we can do that by extendi= ng >> the programming model (annotations, generic beans or interfaces) so that >> it's declarative, that's probably ideal. >> >> I suggest that we brainstorm proposals using gists ( >> http://gist.github.com). That will get the ball rolling. We can start >> with the idea Jason posted, or feel free to take a different approach. >> >> -Dan >> >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> >> > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/seam-d= ev > > > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============3330593820232645815== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" U3R1YXJ0LDxkaXY+PGJyPjwvZGl2PjxkaXY+WW91IGFsc28gcHJldmlvdXMgbWVudGlvbmVkLi4u PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtZmFt aWx5OiAmIzM5O0x1Y2lkYSBHcmFuZGUmIzM5OywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMThweDsgIj48YnI+Cgo8L3Nw YW4+PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQt ZmFtaWx5OiAmIzM5O0x1Y2lkYSBHcmFuZGUmIzM5OywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMThweDsgIj48Zm9udCBj bGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgY29sb3I9IiMzMzMzMzMiPldpdGggcG9ydGFibGUgZXh0 ZW5zaW9ucyB3ZSBjb3VsZCBkbyBzb21ldGhpbmcgbGlrZTo8L2ZvbnQ+PC9zcGFuPjwvZGl2PgoK PGRpdj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAm IzM5O0x1Y2lkYSBHcmFuZGUmIzM5OywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJp ZjsgZm9udC1zaXplOiAxMnB4OyAiPjxmb250IGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBjb2xv cj0iIzMzMzMzMyI+PHByZSBjbGFzcz0id2lraVByZWZvcm1hdHRlZCIgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6IHJnYigyNDUsIDI0NSwgMjQ1KTsgYm9yZGVyLXRvcC13aWR0aDogMXB4OyBib3Jk ZXItcmlnaHQtd2lkdGg6IDFweDsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyBib3JkZXItbGVm dC13aWR0aDogMXB4OyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXJpZ2h0LXN0eWxl OiBzb2xpZDsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXN0eWxlOiBz b2xpZDsgYm9yZGVyLXRvcC1jb2xvcjogcmdiKDE3MCwgMTcwLCAxNzApOyBib3JkZXItcmlnaHQt Y29sb3I6IHJnYigxNzAsIDE3MCwgMTcwKTsgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiKDE3MCwg MTcwLCAxNzApOyBib3JkZXItbGVmdC1jb2xvcjogcmdiKDE3MCwgMTcwLCAxNzApOyBwYWRkaW5n LXRvcDogNXB4OyBwYWRkaW5nLXJpZ2h0OiA1cHg7IHBhZGRpbmctYm90dG9tOiA1cHg7IHBhZGRp bmctbGVmdDogNXB4OyBtYXJnaW4tdG9wOiAxMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IG1hcmdp bi1ib3R0b206IDEwcHg7IG1hcmdpbi1sZWZ0OiAxMHB4OyBmb250LWZhbWlseTogJiMzOTtBbmRh bGUgTW9ubyYjMzk7LCAmIzM5O0NvdXJpZXIgTmV3JiMzOTssIG1vbm9zcGFjZTsgZm9udC1zaXpl OiAxMXB4OyBvdmVyZmxvdy14OiBhdXRvOyBtYXgtd2lkdGg6IDk1MHB4OyAiPgoKQEVudGl0eQpA QXV0b0hvbWUKcHVibGljIGNsYXNzIE15RW50aXR5IC4uLi4KCjwvcHJlPjwvZm9udD48L3NwYW4+ PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJjb2xvcjogcmdiKDUxLCA1MSwg NTEpOyBmb250LWZhbWlseTogJiMzOTtMdWNpZGEgR3JhbmRlJiMzOTssIEdlbmV2YSwgVmVyZGFu YSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDE4cHg7 ICI+YW5kIGhhdmUgYSBwb3J0YWJsZSBleHRlbnNpb24gdGhhdCByZWdpc3RlcnMgYSBuZXcgaG9t ZSBiZWFuIGZvciBldmVyeSBlbnRpdHkgd2l0aCB0aGUgQEF1dG9Ib21lIGFubm90YXRpb24uPC9z cGFuPjwvZGl2PgoKPGRpdj48YnI+PC9kaXY+PGRpdj5JIHRoaW5rIHdlIGFsbCBhZ3JlZSB0aGF0 ICZxdW90O0hvbWUmcXVvdDsgaXMgYSBjcmFwcHkgbmFtZSwgc28gcGVyaGFwcyBAQ3J1ZCBvciBA RGFvIHdvdWxkIGJlIGEgc3VmZmljaWVudCBuYW1lLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ LURhbjwvZGl2PjxkaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUdWUsIFNlcCAy MCwgMjAxMSBhdCAyMjoxNSwgU3R1YXJ0IERvdWdsYXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBo cmVmPSJtYWlsdG86c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5jb20iPnN0dWFydC53LmRvdWdsYXNA Z21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1b3RlIGNsYXNzPSJn bWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2Nj IHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij48dT48L3U+CgogIAogICAgCiAgICAKICAKICA8ZGl2 IHRleHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNmZmZmZmYiPgogICAgTXkgb3JpZ2luYWwgcGxhbiBm b3IgRW50aXR5UXVlcnkgd2FzIHRvIHVzZSB0aGUgU2VydmljZUhhbmRsZXIgc3R1ZmYKICAgIGlu IHNvbGRlcjo8YnI+CiAgICA8YnI+CiAgICBARW50aXR5UXVlcnk8YnI+CiAgICBwdWJsaWMgaW50 ZXJmYWNlIE15UXVlcnkgezxicj4KICAgIDxicj4KICAgIMKgIEBRdWVyeSgmcXVvdDtTZWxlY3Qg dSBmcm9tIFVzZXIgdSB3aGVyZSB0eXBlPTpwMSZxdW90Oyk8YnI+CiAgICDCoCBwdWJsaWMgTGlz dCZsdDtVc2VyJmd0OyB1c2VycyhTdHJpbmcgdHlwZSk7PGJyPgogICAgPGJyPgogICAgfTxicj4K ICAgIDxicj4KICAgIFN0dWFydDxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+PGJyPgog ICAgPGJyPgogICAgT24gMDkvMjEvMjAxMSAwNjowMCBBTSwgSm9zw6kgUm9kb2xmbyBGcmVpdGFz IHdyb3RlOgogICAgPC9kaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj48ZGl2 PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij5ZZWFoLCBJIGFncmVlIHRoYXQgYmVpbmcgZGVjbGFyYXRp dmUgaXMgdGhlIGlkZWFsLgogICAgICA8ZGl2PmxldCYjMzk7cyBzYXkgbm8gdG8gaW5oZXJpdGFu Y2Ugd2l0aCBnZW5lcmljcyEgaGVoZWhlLjxicj4KICAgICAgICA8YnI+CiAgICAgICAgPGRpdiBj bGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6NDEgUE0sIERhbgog ICAgICAgICAgQWxsZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmou YWxsZW5AZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9h PiZndDs8L3NwYW4+CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB0IDBwdCAwcHQgMC44ZXg7Ym9yZGVy LWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAg ICAgICAgICAgPGRpdj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCAxNTozNiwgSm9zw6kgUm9kb2xm bwogICAgICAgICAgICAgIEZyZWl0YXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWls dG86am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5qb3Nlcm9k b2xmby5mcmVpdGFzQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgICAgIHdyb3Rl Ojxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1 b3RlIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBwdCAwcHQgMHB0IDAuOGV4O2JvcmRlci1s ZWZ0OjFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAg ICAgICAgICAgICAgIFdoYXQgSSBsaWtlIG1vc3QgaW4gQ0RJIGFuZCBTZWFtMyBpcyB0aGF0IGl0 JiMzOTtzIHZlcnkKICAgICAgICAgICAgICAgICAgZWFzeSB0byBrZWVwIHRoaW5ncyBzaW1wbGUg YW5kIHRoYXQmIzM5O3Mgc29tZXRoaW5nIEkKICAgICAgICAgICAgICAgICAgc3Ryb25nbHkgYWR2 b2NhdGUuwqA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+KzE8 L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdj7CoDwvZGl2Pgog ICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOjBwdCAwcHQgMHB0IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LCAyMDQs IDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgIDxkaXY+T2YgY291cnNl IHRoZXJlJiMzOTtyZSBzdGlsbCBib2lsZXJwbGF0ZSBjb2RlLCBidXQgSQogICAgICAgICAgICAg ICAgICAgIHRoaW5rIGl0JiMzOTtzIG1pbmltYWwgKGNvbXBhcmVkIHRvIHRoZSBKRUUgZ2VuZXJh dGlvbnMKICAgICAgICAgICAgICAgICAgICBiZWZvcmUpLCBhbmQgdGhhdCYjMzk7cyBzb21ldGhp bmcgZm9yZ2UgY2FuIGNyZWF0ZQogICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgdGhlIG5lZWQg dG8gc2F0aXNmeSBhICZxdW90O2ZyYW1ld29yayZxdW90Oy4gWWVzLCBJCiAgICAgICAgICAgICAg ICAgICAgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0aGF0IHdvcmQuPC9kaXY+CiAgICAgICAgICAg ICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+VGhhdCYj Mzk7cyBmaW5lLCBpdCBkb2VzbiYjMzk7dCBoYXZlIHRvIGJlIGEgZnJhbWV3b3JrLiBJIGRvCiAg ICAgICAgICAgICAgICB0aGluayB0aGVyZSBpcyByb29tIGZvciBoYXZpbmcgc29tZSBjb21tb24g c2NhZmZvbGRpbmcsCiAgICAgICAgICAgICAgICB0aG91Z2guIElmIHdlIGNhbiBkbyB0aGF0IGJ5 IGV4dGVuZGluZyB0aGUgcHJvZ3JhbW1pbmcKICAgICAgICAgICAgICAgIG1vZGVsIChhbm5vdGF0 aW9ucywgZ2VuZXJpYyBiZWFucyBvciBpbnRlcmZhY2VzKSBzbyB0aGF0CiAgICAgICAgICAgICAg ICBpdCYjMzk7cyBkZWNsYXJhdGl2ZSwgdGhhdCYjMzk7cyBwcm9iYWJseSBpZGVhbC48L2Rpdj4K ICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICA8ZGl2Pkkgc3VnZ2VzdCB0aGF0IHdlIGJyYWluc3Rvcm0gcHJvcG9zYWxzIHVzaW5nIGdpc3Rz ICg8YSBocmVmPSJodHRwOi8vZ2lzdC5naXRodWIuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L2dpc3QuZ2l0aHViLmNvbTwvYT4pLiBUaGF0IHdpbGwKICAgICAgICAgICAgICAgIGdldCB0aGUg YmFsbCByb2xsaW5nLiBXZSBjYW4gc3RhcnQgd2l0aCB0aGUgaWRlYSBKYXNvbgogICAgICAgICAg ICAgICAgcG9zdGVkLCBvciBmZWVsIGZyZWUgdG8gdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC48 L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgICA8Zm9udCBjb2xvcj0iIzg4ODg4OCI+CiAgICAgICAgICAgICAgICA8ZGl2Pi1EYW48 L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgPC9mb250PjwvZGl2PgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAg IDxkaXY+LS0gPGJyPgogICAgICAgICAgICAgICAgPGRpdj5EYW4gQWxsZW48L2Rpdj4KICAgICAg ICAgICAgICAgIFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBv ZiBTZWFtIGluCiAgICAgICAgICAgICAgICBBY3Rpb248YnI+CiAgICAgICAgICAgICAgICBSZWdp c3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj4KICAgICAgICAgICAgICAgIDxicj4KICAgICAg ICAgICAgICAgIDxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rh bi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUuY29tL3By b2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KICAgICAgICAgICAgICAgICAgPGEgaHJl Zj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVs aW51eC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbW9qYXZl bGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51 eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICAgICAgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnI+CiAgICAgIDwv ZGl2PgogICAgICA8L2Rpdj48L2Rpdj48cHJlPjxmaWVsZHNldD48L2ZpZWxkc2V0PgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpzZWFtLWRldiBtYWlsaW5n IGxpc3QKPGRpdiBjbGFzcz0iaW0iPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9z cy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CjxhIGhy ZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRh cmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Nl YW0tZGV2PC9hPgo8L2Rpdj48L3ByZT4KICAgIDwvYmxvY2txdW90ZT4KICAgIDxicj4KICA8L2Rp dj4KCjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2 Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwg UmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVz ZXIgIzIzMTU5Nzxicj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJv ZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2ds ZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDov L21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208 L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJn ZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwv ZGl2Pjxicj4KPC9kaXY+Cg== --===============3330593820232645815==-- From lightguard.jp at gmail.com Wed Sep 21 18:17:40 2011 Content-Type: multipart/mixed; boundary="===============2632338369237983801==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 16:17:19 -0600 Message-ID: In-Reply-To: CAKeHnO7CjA_VyQtBBC8nToo_V8+dCbp9KBnUmB7OU4Vs1bARxw@mail.gmail.com --===============2632338369237983801== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable That's good at the runtime, but develop time that really doesn't help because it won't compile and you won't get IDE auto complete. On Wed, Sep 21, 2011 at 16:10, Dan Allen wrote: > Stuart, > > You also previous mentioned... > > With portable extensions we could do something like: > > > @Entity > @AutoHome > public class MyEntity .... > > > and have a portable extension that registers a new home bean for every > entity with the @AutoHome annotation. > > I think we all agree that "Home" is a crappy name, so perhaps @Crud or @D= ao > would be a sufficient name. > > -Dan > > On Tue, Sep 20, 2011 at 22:15, Stuart Douglas wrote: > >> ** >> My original plan for EntityQuery was to use the ServiceHandler stuff in >> solder: >> >> @EntityQuery >> public interface MyQuery { >> >> @Query("Select u from User u where type=3D:p1") >> public List users(String type); >> >> } >> >> Stuart >> >> >> On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: >> >> Yeah, I agree that being declarative is the ideal. >> let's say no to inheritance with generics! hehehe. >> >> On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wro= te: >> >>> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas < >>> joserodolfo.freitas(a)gmail.com> wrote: >>> >>>> What I like most in CDI and Seam3 is that it's very easy to keep things >>>> simple and that's something I strongly advocate. >>> >>> >>> +1 >>> >>> >>>> Of course there're still boilerplate code, but I think it's minimal >>>> (compared to the JEE generations before), and that's something forge c= an >>>> create without the need to satisfy a "framework". Yes, I admitedly am = afraid >>>> of that word. >>>> >>> >>> That's fine, it doesn't have to be a framework. I do think there is >>> room for having some common scaffolding, though. If we can do that by >>> extending the programming model (annotations, generic beans or interfac= es) >>> so that it's declarative, that's probably ideal. >>> >>> I suggest that we brainstorm proposals using gists ( >>> http://gist.github.com). That will get the ball rolling. We can start >>> with the idea Jason posted, or feel free to take a different approach. >>> >>> -Dan >>> >>> -- >>> Dan Allen >>> Principal Software Engineer, Red Hat | Author of Seam in Action >>> Registered Linux User #231597 >>> >>> http://www.google.com/profiles/dan.j.allen#about >>> http://mojavelinux.com >>> http://mojavelinux.com/seaminaction >>> >>> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/seam-= dev >> >> >> > > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============2632338369237983801== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" VGhhdCYjMzk7cyBnb29kIGF0IHRoZSBydW50aW1lLCBidXQgZGV2ZWxvcCB0aW1lIHRoYXQgcmVh bGx5IGRvZXNuJiMzOTt0IGhlbHAgYmVjYXVzZSBpdCB3b24mIzM5O3QgY29tcGlsZSBhbmQgeW91 IHdvbiYjMzk7dCBnZXQgSURFIGF1dG8gY29tcGxldGUuPGJyPjxicj48ZGl2IGNsYXNzPSJnbWFp bF9xdW90ZSI+T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTY6MTAsIERhbiBBbGxlbiA8c3BhbiBk aXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5q LmFsbGVuQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+Cgo8YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDox cHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+U3R1YXJ0LDxkaXY+PGJyPjwvZGl2Pjxk aXY+WW91IGFsc28gcHJldmlvdXMgbWVudGlvbmVkLi4uPC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i Zm9udC1mYW1pbHk6JiMzOTtMdWNpZGEgR3JhbmRlJiMzOTssIEdlbmV2YSwgVmVyZGFuYSwgQXJp YWwsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweCI+PGJyPgoKCgo8 L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JiMzOTtMdWNpZGEgR3Jh bmRlJiMzOTssIEdlbmV2YSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEy cHg7bGluZS1oZWlnaHQ6MThweCI+PGZvbnQgY29sb3I9IiMzMzMzMzMiPldpdGggcG9ydGFibGUg ZXh0ZW5zaW9ucyB3ZSBjb3VsZCBkbyBzb21ldGhpbmcgbGlrZTo8L2ZvbnQ+PC9zcGFuPjwvZGl2 PgoKCgo8ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomIzM5O0x1Y2lkYSBHcmFuZGUmIzM5 OywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweCI+PGZv bnQgY29sb3I9IiMzMzMzMzMiPjxwcmUgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI0NSwg MjQ1LCAyNDUpO2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci1yaWdodC13aWR0aDoxcHg7Ym9y ZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O2JvcmRlci10b3Atc3R5 bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20tc3R5bGU6c29s aWQ7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMTcwLCAxNzAs IDE3MCk7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYigxNzAsIDE3MCwgMTcwKTtib3JkZXItYm90dG9t LWNvbG9yOnJnYigxNzAsIDE3MCwgMTcwKTtib3JkZXItbGVmdC1jb2xvcjpyZ2IoMTcwLCAxNzAs IDE3MCk7cGFkZGluZy10b3A6NXB4O3BhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctYm90dG9tOjVw eDtwYWRkaW5nLWxlZnQ6NXB4O21hcmdpbi10b3A6MTBweDttYXJnaW4tcmlnaHQ6MTBweDttYXJn aW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweDtmb250LWZhbWlseTomIzM5O0FuZGFsZSBN b25vJiMzOTssICYjMzk7Q291cmllciBOZXcmIzM5OywgbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMXB4 O292ZXJmbG93LXg6YXV0bzttYXgtd2lkdGg6OTUwcHgiPgoKQEVudGl0eQpAQXV0b0hvbWUKcHVi bGljIGNsYXNzIE15RW50aXR5IC4uLi4KCjwvcHJlPjwvZm9udD48L3NwYW4+PHNwYW4gc3R5bGU9 ImNvbG9yOnJnYig1MSwgNTEsIDUxKTtmb250LWZhbWlseTomIzM5O0x1Y2lkYSBHcmFuZGUmIzM5 OywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtsaW5l LWhlaWdodDoxOHB4Ij5hbmQgaGF2ZSBhIHBvcnRhYmxlIGV4dGVuc2lvbiB0aGF0IHJlZ2lzdGVy cyBhIG5ldyBob21lIGJlYW4gZm9yIGV2ZXJ5IGVudGl0eSB3aXRoIHRoZSBAQXV0b0hvbWUgYW5u b3RhdGlvbi48L3NwYW4+PC9kaXY+CgoKCjxkaXY+PGJyPjwvZGl2PjxkaXY+SSB0aGluayB3ZSBh bGwgYWdyZWUgdGhhdCAmcXVvdDtIb21lJnF1b3Q7IGlzIGEgY3JhcHB5IG5hbWUsIHNvIHBlcmhh cHMgQENydWQgb3IgQERhbyB3b3VsZCBiZSBhIHN1ZmZpY2llbnQgbmFtZS48L2Rpdj48ZGl2Pjxi cj48L2Rpdj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+PGRpdj4tRGFuPC9kaXY+PC9mb250PjxkaXY+ PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+Cgo8ZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9x dW90ZSI+T24gVHVlLCBTZXAgMjAsIDIwMTEgYXQgMjI6MTUsIFN0dWFydCBEb3VnbGFzIDxzcGFu IGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29t IiB0YXJnZXQ9Il9ibGFuayI+c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bh bj4gd3JvdGU6PGJyPgoKPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFl eCI+PHU+PC91PgoKICAKICAgIAogICAgCiAgCiAgPGRpdiB0ZXh0PSIjMDAwMDAwIiBiZ2NvbG9y PSIjZmZmZmZmIj4KICAgIE15IG9yaWdpbmFsIHBsYW4gZm9yIEVudGl0eVF1ZXJ5IHdhcyB0byB1 c2UgdGhlIFNlcnZpY2VIYW5kbGVyIHN0dWZmCiAgICBpbiBzb2xkZXI6PGJyPgogICAgPGJyPgog ICAgQEVudGl0eVF1ZXJ5PGJyPgogICAgcHVibGljIGludGVyZmFjZSBNeVF1ZXJ5IHs8YnI+CiAg ICA8YnI+CiAgICDCoCBAUXVlcnkoJnF1b3Q7U2VsZWN0IHUgZnJvbSBVc2VyIHUgd2hlcmUgdHlw ZT06cDEmcXVvdDspPGJyPgogICAgwqAgcHVibGljIExpc3QmbHQ7VXNlciZndDsgdXNlcnMoU3Ry aW5nIHR5cGUpOzxicj4KICAgIDxicj4KICAgIH08YnI+CiAgICA8YnI+CiAgICBTdHVhcnQ8ZGl2 PjxkaXY+PC9kaXY+PGRpdj48YnI+CiAgICA8YnI+CiAgICBPbiAwOS8yMS8yMDExIDA2OjAwIEFN LCBKb3PDqSBSb2RvbGZvIEZyZWl0YXMgd3JvdGU6CiAgICA8L2Rpdj48L2Rpdj48YmxvY2txdW90 ZSB0eXBlPSJjaXRlIj48ZGl2PjxkaXY+PC9kaXY+PGRpdj5ZZWFoLCBJIGFncmVlIHRoYXQgYmVp bmcgZGVjbGFyYXRpdmUgaXMgdGhlIGlkZWFsLgogICAgICA8ZGl2PmxldCYjMzk7cyBzYXkgbm8g dG8gaW5oZXJpdGFuY2Ugd2l0aCBnZW5lcmljcyEgaGVoZWhlLjxicj4KICAgICAgICA8YnI+CiAg ICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6 NDEgUE0sIERhbgogICAgICAgICAgQWxsZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJt YWlsdG86ZGFuLmouYWxsZW5AZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZGFuLmouYWxsZW5A Z21haWwuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB0IDBwdCAwcHQg MC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTtwYWRkaW5nLWxl ZnQ6MWV4Ij4KICAgICAgICAgICAgPGRpdj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCAxNTozNiwg Sm9zw6kgUm9kb2xmbwogICAgICAgICAgICAgIEZyZWl0YXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8 YSBocmVmPSJtYWlsdG86am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb20iIHRhcmdldD0iX2Js YW5rIj5qb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAg ICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xh c3M9ImdtYWlsX3F1b3RlIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGJs b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBwdCAwcHQgMHB0IDAu OGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7cGFkZGluZy1sZWZ0 OjFleCI+CiAgICAgICAgICAgICAgICAgIFdoYXQgSSBsaWtlIG1vc3QgaW4gQ0RJIGFuZCBTZWFt MyBpcyB0aGF0IGl0JiMzOTtzIHZlcnkKICAgICAgICAgICAgICAgICAgZWFzeSB0byBrZWVwIHRo aW5ncyBzaW1wbGUgYW5kIHRoYXQmIzM5O3Mgc29tZXRoaW5nIEkKICAgICAgICAgICAgICAgICAg c3Ryb25nbHkgYWR2b2NhdGUuwqA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxi cj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICAgIDxkaXY+KzE8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRp dj7CoDwvZGl2PgogICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3Rl IiBzdHlsZT0ibWFyZ2luOjBwdCAwcHQgMHB0IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCBy Z2IoMjA0LCAyMDQsIDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgIDxk aXY+T2YgY291cnNlIHRoZXJlJiMzOTtyZSBzdGlsbCBib2lsZXJwbGF0ZSBjb2RlLCBidXQgSQog ICAgICAgICAgICAgICAgICAgIHRoaW5rIGl0JiMzOTtzIG1pbmltYWwgKGNvbXBhcmVkIHRvIHRo ZSBKRUUgZ2VuZXJhdGlvbnMKICAgICAgICAgICAgICAgICAgICBiZWZvcmUpLCBhbmQgdGhhdCYj Mzk7cyBzb21ldGhpbmcgZm9yZ2UgY2FuIGNyZWF0ZQogICAgICAgICAgICAgICAgICAgIHdpdGhv dXQgdGhlIG5lZWQgdG8gc2F0aXNmeSBhICZxdW90O2ZyYW1ld29yayZxdW90Oy4gWWVzLCBJCiAg ICAgICAgICAgICAgICAgICAgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0aGF0IHdvcmQuPC9kaXY+ CiAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4K ICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAg IDxkaXY+VGhhdCYjMzk7cyBmaW5lLCBpdCBkb2VzbiYjMzk7dCBoYXZlIHRvIGJlIGEgZnJhbWV3 b3JrLiBJIGRvCiAgICAgICAgICAgICAgICB0aGluayB0aGVyZSBpcyByb29tIGZvciBoYXZpbmcg c29tZSBjb21tb24gc2NhZmZvbGRpbmcsCiAgICAgICAgICAgICAgICB0aG91Z2guIElmIHdlIGNh biBkbyB0aGF0IGJ5IGV4dGVuZGluZyB0aGUgcHJvZ3JhbW1pbmcKICAgICAgICAgICAgICAgIG1v ZGVsIChhbm5vdGF0aW9ucywgZ2VuZXJpYyBiZWFucyBvciBpbnRlcmZhY2VzKSBzbyB0aGF0CiAg ICAgICAgICAgICAgICBpdCYjMzk7cyBkZWNsYXJhdGl2ZSwgdGhhdCYjMzk7cyBwcm9iYWJseSBp ZGVhbC48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4K ICAgICAgICAgICAgICA8ZGl2Pkkgc3VnZ2VzdCB0aGF0IHdlIGJyYWluc3Rvcm0gcHJvcG9zYWxz IHVzaW5nIGdpc3RzICg8YSBocmVmPSJodHRwOi8vZ2lzdC5naXRodWIuY29tIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL2dpc3QuZ2l0aHViLmNvbTwvYT4pLiBUaGF0IHdpbGwKICAgICAgICAgICAg ICAgIGdldCB0aGUgYmFsbCByb2xsaW5nLiBXZSBjYW4gc3RhcnQgd2l0aCB0aGUgaWRlYSBKYXNv bgogICAgICAgICAgICAgICAgcG9zdGVkLCBvciBmZWVsIGZyZWUgdG8gdGFrZSBhIGRpZmZlcmVu dCBhcHByb2FjaC48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8 L2Rpdj4KICAgICAgICAgICAgICA8Zm9udCBjb2xvcj0iIzg4ODg4OCI+CiAgICAgICAgICAgICAg ICA8ZGl2Pi1EYW48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAg ICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9mb250PjwvZGl2PgogICAgICAgICAgICA8ZGl2Pgog ICAgICAgICAgICAgIDxkaXY+LS0gPGJyPgogICAgICAgICAgICAgICAgPGRpdj5EYW4gQWxsZW48 L2Rpdj4KICAgICAgICAgICAgICAgIFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhh dCB8IEF1dGhvciBvZiBTZWFtIGluCiAgICAgICAgICAgICAgICBBY3Rpb248YnI+CiAgICAgICAg ICAgICAgICBSZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj4KICAgICAgICAgICAgICAg IDxicj4KICAgICAgICAgICAgICAgIDxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t L3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5n b29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KICAgICAgICAgICAg ICAgICAgPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSJo dHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6 Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj4KICAgICAgICAgICAgICAgIDwv ZGl2PgogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICA8L2Rpdj4KICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8 YnI+CiAgICAgIDwvZGl2PgogICAgICA8L2Rpdj48L2Rpdj48cHJlPjxmaWVsZHNldD48L2ZpZWxk c2V0PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpzZWFt LWRldiBtYWlsaW5nIGxpc3QKPGRpdj48YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJv c3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPgo8YSBo cmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0 YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9z ZWFtLWRldjwvYT4KPC9kaXY+PC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9k aXY+Cgo8L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rp dj4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdhcmUgRW5naW5lZXIs IFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0ZXJlZCBMaW51eCBV c2VyICMyMzE1OTc8YnI+PGJyPjxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3By b2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29n bGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCgoKPGEgaHJlZj0iaHR0 cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5j b208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0 YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJy PjwvZGl2Pjxicj4KPC9kaXY+CjwvZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8 YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIj5zZWFtLWRldkBsaXN0cy5q Ym9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5v cmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9k aXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVy PGJyPjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+PGEgaHJlZj0i aHR0cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly90 d2l0dGVyLmNvbS9saWdodGd1YXJkanA8L2E+PGJyPgoKPGJyPlNvZnR3YXJlIEVuZ2luZWVyPGJy Pk9wZW4gU291cmNlIEFkdm9jYXRlPGJyPkF1dGhvciBvZiBTZWFtIENhdGNoIC0gTmV4dCBHZW5l cmF0aW9uIEphdmEgRXhjZXB0aW9uIEhhbmRsaW5nPGJyPjxicj5QR1Aga2V5IGlkOiA5MjZDQ0ZG NTxicj5QR1Aga2V5IGF2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL2tleXNlcnZlci5uZXQi IHRhcmdldD0iX2JsYW5rIj5rZXlzZXJ2ZXIubmV0PC9hPiwgPGEgaHJlZj0iaHR0cDovL3BncC5t aXQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+cGdwLm1pdC5lZHU8L2E+PGJyPgoKCg== --===============2632338369237983801==-- From dan.j.allen at gmail.com Wed Sep 21 18:20:28 2011 Content-Type: multipart/mixed; boundary="===============9089709413104304304==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 18:19:56 -0400 Message-ID: In-Reply-To: CAF9TksNnmC1CQD7QLQqyUX=4Hfv3qwAHS6JZhX=ddG_PBT1MyA@mail.gmail.com --===============9089709413104304304== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable True. I don't really see the problem with having an object that extends a base object, even if it has no additional methods. ...and if that is the solution, then the @AutoCrud could be a hint to forge to generate that class if it doesn't yet exist. Now that's an idea :) -Dan On Wed, Sep 21, 2011 at 18:17, Jason Porter wro= te: > That's good at the runtime, but develop time that really doesn't help > because it won't compile and you won't get IDE auto complete. > > > On Wed, Sep 21, 2011 at 16:10, Dan Allen wrote: > >> Stuart, >> >> You also previous mentioned... >> >> With portable extensions we could do something like: >> >> >> @Entity >> @AutoHome >> public class MyEntity .... >> >> >> and have a portable extension that registers a new home bean for every >> entity with the @AutoHome annotation. >> >> I think we all agree that "Home" is a crappy name, so perhaps @Crud or >> @Dao would be a sufficient name. >> >> -Dan >> >> On Tue, Sep 20, 2011 at 22:15, Stuart Douglas > > wrote: >> >>> ** >>> My original plan for EntityQuery was to use the ServiceHandler stuff in >>> solder: >>> >>> @EntityQuery >>> public interface MyQuery { >>> >>> @Query("Select u from User u where type=3D:p1") >>> public List users(String type); >>> >>> } >>> >>> Stuart >>> >>> >>> On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: >>> >>> Yeah, I agree that being declarative is the ideal. >>> let's say no to inheritance with generics! hehehe. >>> >>> On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wro= te: >>> >>>> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas < >>>> joserodolfo.freitas(a)gmail.com> wrote: >>>> >>>>> What I like most in CDI and Seam3 is that it's very easy to keep thin= gs >>>>> simple and that's something I strongly advocate. >>>> >>>> >>>> +1 >>>> >>>> >>>>> Of course there're still boilerplate code, but I think it's minimal >>>>> (compared to the JEE generations before), and that's something forge = can >>>>> create without the need to satisfy a "framework". Yes, I admitedly am= afraid >>>>> of that word. >>>>> >>>> >>>> That's fine, it doesn't have to be a framework. I do think there is >>>> room for having some common scaffolding, though. If we can do that by >>>> extending the programming model (annotations, generic beans or interfa= ces) >>>> so that it's declarative, that's probably ideal. >>>> >>>> I suggest that we brainstorm proposals using gists ( >>>> http://gist.github.com). That will get the ball rolling. We can start >>>> with the idea Jason posted, or feel free to take a different approach. >>>> >>>> -Dan >>>> >>>> -- >>>> Dan Allen >>>> Principal Software Engineer, Red Hat | Author of Seam in Action >>>> Registered Linux User #231597 >>>> >>>> http://www.google.com/profiles/dan.j.allen#about >>>> http://mojavelinux.com >>>> http://mojavelinux.com/seaminaction >>>> >>>> >>> >>> _______________________________________________ >>> seam-dev mailing list >>> seam-dev(a)lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/seam= -dev >>> >>> >>> >> >> >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > > > -- > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============9089709413104304304== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" VHJ1ZS4gSSBkb24mIzM5O3QgcmVhbGx5IHNlZSB0aGUgcHJvYmxlbSB3aXRoIGhhdmluZyBhbiBv YmplY3QgdGhhdCBleHRlbmRzIGEgYmFzZSBvYmplY3QsIGV2ZW4gaWYgaXQgaGFzIG5vIGFkZGl0 aW9uYWwgbWV0aG9kcy48ZGl2Pjxicj48L2Rpdj48ZGl2Pi4uLmFuZCBpZiB0aGF0IGlzIHRoZSBz b2x1dGlvbiwgdGhlbiB0aGUgQEF1dG9DcnVkIGNvdWxkIGJlIGEgaGludCB0byBmb3JnZSB0byBn ZW5lcmF0ZSB0aGF0IGNsYXNzIGlmIGl0IGRvZXNuJiMzOTt0IHlldCBleGlzdC4gTm93IHRoYXQm IzM5O3MgYW4gaWRlYSA6KTxicj4KCjxkaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4tRGFuPGJyPjxi cj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTg6MTcs IEphc29uIFBvcnRlciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpsaWdodGd1 YXJkLmpwQGdtYWlsLmNvbSI+bGlnaHRndWFyZC5qcEBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4g d3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjow IDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij4K ClRoYXQmIzM5O3MgZ29vZCBhdCB0aGUgcnVudGltZSwgYnV0IGRldmVsb3AgdGltZSB0aGF0IHJl YWxseSBkb2VzbiYjMzk7dCBoZWxwIGJlY2F1c2UgaXQgd29uJiMzOTt0IGNvbXBpbGUgYW5kIHlv dSB3b24mIzM5O3QgZ2V0IElERSBhdXRvIGNvbXBsZXRlLjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNs YXNzPSJoNSI+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEs IDIwMTEgYXQgMTY6MTAsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1h aWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5kYW4uai5hbGxlbkBn bWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgoKCgo8YmxvY2txdW90ZSBjbGFzcz0i Z21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2Nj YyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij5TdHVhcnQsPGRpdj48YnI+PC9kaXY+PGRpdj5Zb3Ug YWxzbyBwcmV2aW91cyBtZW50aW9uZWQuLi48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZh bWlseTomIzM5O0x1Y2lkYSBHcmFuZGUmIzM5OywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fu cy1zZXJpZjtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4Ij48YnI+CgoKCgoKPC9zcGFu PjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiYjMzk7THVjaWRhIEdyYW5kZSYj Mzk7LCBHZW5ldmEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2xp bmUtaGVpZ2h0OjE4cHgiPjxmb250IGNvbG9yPSIjMzMzMzMzIj5XaXRoIHBvcnRhYmxlIGV4dGVu c2lvbnMgd2UgY291bGQgZG8gc29tZXRoaW5nIGxpa2U6PC9mb250Pjwvc3Bhbj48L2Rpdj4KCgoK Cgo8ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomIzM5O0x1Y2lkYSBHcmFuZGUmIzM5Oywg R2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweCI+PGZvbnQg Y29sb3I9IiMzMzMzMzMiPjxwcmUgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI0NSwgMjQ1 LCAyNDUpO2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci1yaWdodC13aWR0aDoxcHg7Ym9yZGVy LWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O2JvcmRlci10b3Atc3R5bGU6 c29saWQ7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7 Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMTcwLCAxNzAsIDE3 MCk7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYigxNzAsIDE3MCwgMTcwKTtib3JkZXItYm90dG9tLWNv bG9yOnJnYigxNzAsIDE3MCwgMTcwKTtib3JkZXItbGVmdC1jb2xvcjpyZ2IoMTcwLCAxNzAsIDE3 MCk7cGFkZGluZy10b3A6NXB4O3BhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctYm90dG9tOjVweDtw YWRkaW5nLWxlZnQ6NXB4O21hcmdpbi10b3A6MTBweDttYXJnaW4tcmlnaHQ6MTBweDttYXJnaW4t Ym90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBweDtmb250LWZhbWlseTomIzM5O0FuZGFsZSBNb25v JiMzOTssICYjMzk7Q291cmllciBOZXcmIzM5OywgbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMXB4O292 ZXJmbG93LXg6YXV0bzttYXgtd2lkdGg6OTUwcHgiPgoKQEVudGl0eQpAQXV0b0hvbWUKcHVibGlj IGNsYXNzIE15RW50aXR5IC4uLi4KCjwvcHJlPjwvZm9udD48L3NwYW4+PHNwYW4gc3R5bGU9ImNv bG9yOnJnYig1MSwgNTEsIDUxKTtmb250LWZhbWlseTomIzM5O0x1Y2lkYSBHcmFuZGUmIzM5Oywg R2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtsaW5lLWhl aWdodDoxOHB4Ij5hbmQgaGF2ZSBhIHBvcnRhYmxlIGV4dGVuc2lvbiB0aGF0IHJlZ2lzdGVycyBh IG5ldyBob21lIGJlYW4gZm9yIGV2ZXJ5IGVudGl0eSB3aXRoIHRoZSBAQXV0b0hvbWUgYW5ub3Rh dGlvbi48L3NwYW4+PC9kaXY+CgoKCgoKPGRpdj48YnI+PC9kaXY+PGRpdj5JIHRoaW5rIHdlIGFs bCBhZ3JlZSB0aGF0ICZxdW90O0hvbWUmcXVvdDsgaXMgYSBjcmFwcHkgbmFtZSwgc28gcGVyaGFw cyBAQ3J1ZCBvciBARGFvIHdvdWxkIGJlIGEgc3VmZmljaWVudCBuYW1lLjwvZGl2PjxkaXY+PGJy PjwvZGl2Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48ZGl2Pi1EYW48L2Rpdj48L2ZvbnQ+PGRpdj48 ZGl2PjwvZGl2PjxkaXY+Cgo8ZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVHVl LCBTZXAgMjAsIDIwMTEgYXQgMjI6MTUsIFN0dWFydCBEb3VnbGFzIDxzcGFuIGRpcj0ibHRyIj4m bHQ7PGEgaHJlZj0ibWFpbHRvOnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tIiB0YXJnZXQ9Il9i bGFuayI+c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy PgoKPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44 ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PHU+PC91PgoK ICAKICAgIAogICAgCiAgCiAgPGRpdiB0ZXh0PSIjMDAwMDAwIiBiZ2NvbG9yPSIjZmZmZmZmIj4K ICAgIE15IG9yaWdpbmFsIHBsYW4gZm9yIEVudGl0eVF1ZXJ5IHdhcyB0byB1c2UgdGhlIFNlcnZp Y2VIYW5kbGVyIHN0dWZmCiAgICBpbiBzb2xkZXI6PGJyPgogICAgPGJyPgogICAgQEVudGl0eVF1 ZXJ5PGJyPgogICAgcHVibGljIGludGVyZmFjZSBNeVF1ZXJ5IHs8YnI+CiAgICA8YnI+CiAgICDC oCBAUXVlcnkoJnF1b3Q7U2VsZWN0IHUgZnJvbSBVc2VyIHUgd2hlcmUgdHlwZT06cDEmcXVvdDsp PGJyPgogICAgwqAgcHVibGljIExpc3QmbHQ7VXNlciZndDsgdXNlcnMoU3RyaW5nIHR5cGUpOzxi cj4KICAgIDxicj4KICAgIH08YnI+CiAgICA8YnI+CiAgICBTdHVhcnQ8ZGl2PjxkaXY+PC9kaXY+ PGRpdj48YnI+CiAgICA8YnI+CiAgICBPbiAwOS8yMS8yMDExIDA2OjAwIEFNLCBKb3PDqSBSb2Rv bGZvIEZyZWl0YXMgd3JvdGU6CiAgICA8L2Rpdj48L2Rpdj48YmxvY2txdW90ZSB0eXBlPSJjaXRl Ij48ZGl2PjxkaXY+PC9kaXY+PGRpdj5ZZWFoLCBJIGFncmVlIHRoYXQgYmVpbmcgZGVjbGFyYXRp dmUgaXMgdGhlIGlkZWFsLgogICAgICA8ZGl2PmxldCYjMzk7cyBzYXkgbm8gdG8gaW5oZXJpdGFu Y2Ugd2l0aCBnZW5lcmljcyEgaGVoZWhlLjxicj4KICAgICAgICA8YnI+CiAgICAgICAgPGRpdiBj bGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6NDEgUE0sIERhbgog ICAgICAgICAgQWxsZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmou YWxsZW5AZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9h PiZndDs8L3NwYW4+CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB0IDBwdCAwcHQgMC44ZXg7Ym9yZGVy LWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAg ICAgICAgICAgPGRpdj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCAxNTozNiwgSm9zw6kgUm9kb2xm bwogICAgICAgICAgICAgIEZyZWl0YXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWls dG86am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5qb3Nlcm9k b2xmby5mcmVpdGFzQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgICAgIHdyb3Rl Ojxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1 b3RlIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBwdCAwcHQgMHB0IDAuOGV4O2JvcmRlci1s ZWZ0OjFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAg ICAgICAgICAgICAgIFdoYXQgSSBsaWtlIG1vc3QgaW4gQ0RJIGFuZCBTZWFtMyBpcyB0aGF0IGl0 JiMzOTtzIHZlcnkKICAgICAgICAgICAgICAgICAgZWFzeSB0byBrZWVwIHRoaW5ncyBzaW1wbGUg YW5kIHRoYXQmIzM5O3Mgc29tZXRoaW5nIEkKICAgICAgICAgICAgICAgICAgc3Ryb25nbHkgYWR2 b2NhdGUuwqA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+KzE8 L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdj7CoDwvZGl2Pgog ICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOjBwdCAwcHQgMHB0IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LCAyMDQs IDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgIDxkaXY+T2YgY291cnNl IHRoZXJlJiMzOTtyZSBzdGlsbCBib2lsZXJwbGF0ZSBjb2RlLCBidXQgSQogICAgICAgICAgICAg ICAgICAgIHRoaW5rIGl0JiMzOTtzIG1pbmltYWwgKGNvbXBhcmVkIHRvIHRoZSBKRUUgZ2VuZXJh dGlvbnMKICAgICAgICAgICAgICAgICAgICBiZWZvcmUpLCBhbmQgdGhhdCYjMzk7cyBzb21ldGhp bmcgZm9yZ2UgY2FuIGNyZWF0ZQogICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgdGhlIG5lZWQg dG8gc2F0aXNmeSBhICZxdW90O2ZyYW1ld29yayZxdW90Oy4gWWVzLCBJCiAgICAgICAgICAgICAg ICAgICAgYWRtaXRlZGx5IGFtIGFmcmFpZCBvZiB0aGF0IHdvcmQuPC9kaXY+CiAgICAgICAgICAg ICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+VGhhdCYj Mzk7cyBmaW5lLCBpdCBkb2VzbiYjMzk7dCBoYXZlIHRvIGJlIGEgZnJhbWV3b3JrLiBJIGRvCiAg ICAgICAgICAgICAgICB0aGluayB0aGVyZSBpcyByb29tIGZvciBoYXZpbmcgc29tZSBjb21tb24g c2NhZmZvbGRpbmcsCiAgICAgICAgICAgICAgICB0aG91Z2guIElmIHdlIGNhbiBkbyB0aGF0IGJ5 IGV4dGVuZGluZyB0aGUgcHJvZ3JhbW1pbmcKICAgICAgICAgICAgICAgIG1vZGVsIChhbm5vdGF0 aW9ucywgZ2VuZXJpYyBiZWFucyBvciBpbnRlcmZhY2VzKSBzbyB0aGF0CiAgICAgICAgICAgICAg ICBpdCYjMzk7cyBkZWNsYXJhdGl2ZSwgdGhhdCYjMzk7cyBwcm9iYWJseSBpZGVhbC48L2Rpdj4K ICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICA8ZGl2Pkkgc3VnZ2VzdCB0aGF0IHdlIGJyYWluc3Rvcm0gcHJvcG9zYWxzIHVzaW5nIGdpc3Rz ICg8YSBocmVmPSJodHRwOi8vZ2lzdC5naXRodWIuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L2dpc3QuZ2l0aHViLmNvbTwvYT4pLiBUaGF0IHdpbGwKICAgICAgICAgICAgICAgIGdldCB0aGUg YmFsbCByb2xsaW5nLiBXZSBjYW4gc3RhcnQgd2l0aCB0aGUgaWRlYSBKYXNvbgogICAgICAgICAg ICAgICAgcG9zdGVkLCBvciBmZWVsIGZyZWUgdG8gdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC48 L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgICA8Zm9udCBjb2xvcj0iIzg4ODg4OCI+CiAgICAgICAgICAgICAgICA8ZGl2Pi1EYW48 L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgPC9mb250PjwvZGl2PgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAg IDxkaXY+LS0gPGJyPgogICAgICAgICAgICAgICAgPGRpdj5EYW4gQWxsZW48L2Rpdj4KICAgICAg ICAgICAgICAgIFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBv ZiBTZWFtIGluCiAgICAgICAgICAgICAgICBBY3Rpb248YnI+CiAgICAgICAgICAgICAgICBSZWdp c3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj4KICAgICAgICAgICAgICAgIDxicj4KICAgICAg ICAgICAgICAgIDxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rh bi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUuY29tL3By b2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KICAgICAgICAgICAgICAgICAgPGEgaHJl Zj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVs aW51eC5jb208L2E+PGJyPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbW9qYXZl bGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51 eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICAgICAgPGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnI+CiAgICAgIDwv ZGl2PgogICAgICA8L2Rpdj48L2Rpdj48cHJlPjxmaWVsZHNldD48L2ZpZWxkc2V0PgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpzZWFtLWRldiBtYWlsaW5n IGxpc3QKPGRpdj48YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJn ZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPgo8YSBocmVmPSJodHRwczov L2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFu ayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT4K PC9kaXY+PC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9kaXY+Cgo8L2Jsb2Nr cXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+PGRp dj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdhcmUgRW5naW5lZXIsIFJlZCBIYXQgfCBB dXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8 YnI+PGJyPjxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5q LmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2Zp bGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCgoKCgo8YSBocmVmPSJodHRwOi8vbW9qYXZl bGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48YnI+ PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2Js YW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+PC9kaXY+PGJy Pgo8L2Rpdj4KPC9kaXY+PC9kaXY+PGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1h aWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBs aXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5q Ym9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVv dGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+PC9kaXY+ PC9kaXY+PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij5KYXNvbiBQb3J0ZXI8YnI+PGEg aHJlZj0iaHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxvZ3Nwb3QuY29tIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxvZ3Nwb3QuY29tPC9hPjxicj4KCjxhIGhyZWY9Imh0dHA6 Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanAiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vdHdpdHRl ci5jb20vbGlnaHRndWFyZGpwPC9hPjxicj4KCjxicj5Tb2Z0d2FyZSBFbmdpbmVlcjxicj5PcGVu IFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2YgU2VhbSBDYXRjaCAtIE5leHQgR2VuZXJhdGlv biBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48YnI+UEdQIGtleSBpZDogOTI2Q0NGRjU8YnI+ UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0IiB0YXJn ZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9wZ3AubWl0LmVk dSIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1PC9hPjxicj4KCgoKCjwvZGl2PjwvZGl2Pjwv YmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2Pi0tIDxi cj48ZGl2PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhh dCB8IEF1dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIz MTU5Nzxicj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMv ZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5jb20v cHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDovL21vamF2 ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJy PjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwvZGl2Pjxi cj4KPC9kaXY+PC9kaXY+PC9kaXY+Cg== --===============9089709413104304304==-- From dan.j.allen at gmail.com Wed Sep 21 18:23:04 2011 Content-Type: multipart/mixed; boundary="===============1551998646979134627==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 18:22:33 -0400 Message-ID: In-Reply-To: CAKeHnO46PvJBn4Fir71YO52bz5LcYnsYbWityRYOZn88ViA3cA@mail.gmail.com --===============1551998646979134627== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Here's some additional feedback I received from a community member a while back...to merge it into this thread. (begin feedback) ...from being burned from 3 seam based customers with apps and maintenance. The "Home" or any other name should be just be put into a grave and slowly cast away to sea ;). It is too heavy and complicated and just about anything inherited (extends) truly causes heartache[Favor Composition over inheritance: Effective Java]. The current seam home has a few super classes above the home and when you try to unit test it (the standard definition of unit-testing including isolation) you get the "No Active Application Context Found (if I remember it right). That happens because it is tightly coupled with the application. But not to be hard on Home, I do realize the history of the home object and know it was developed when EL had no parameters. So I have learned a lot since then and I here are some things that I can impart to Seam 3. 1. My "Home" now is a "ServiceBean", and I have one for each "Major" entity, see below. I have really stewed over this over months and months, and the "Home" of "ServiceBean" should be kept small, focused, reusable, tested and untouched. It's only task is to update, persist, possibly remove, or some other functions that are required. In my example below I have custom close action. Notice also that although these beans are stateful that doesn't mean everything should be, so in these methods I have the parameter of what is being needed to be updated, and not a field. In other words I don't have @In private Job job, I opted for public boolean update(job). Mostly because, again, I want to make this service bean reusable so whether I have a #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component of job I need to work on I only need one jobServiceBean to cater to all my jobs, in whatever conversation I am using. I also fire events from here if I need to do that. After this is tested, and what I need I usually don't touch it anymore. If I need to enhance I either use a decorator pattern around it, or enhance it in an @Observer. I'll email about that later. @Name("jobServiceBean") @Scope(ScopeType.CONVERSATION) public class JobServiceBean implements JobService { private EntityManager entityManager; private StatusMessages statusMessages; @In public void setEntityManager(EntityManager entityManager) { this.entityManager =3D entityManager; } @In public void setStatusMessages(StatusMessages statusMessages) { this.statusMessages =3D statusMessages; } public boolean update(Job job) { this.entityManager.flush(); this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully updated job {0}", job.getName()); return true; } public boolean close(Job job) { job.setJobStatus(JobStatus.CLOSED); this.entityManager.flush(); this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully closed job {0}", job.getName()); return true; } } 2. One thing you may have noticed from above that there is no 'instance' field with corresponding getters or setters like the old 'Home'. So the ServiceBean in my case is not a full crud, but CUD + your own business methods. That's because that too should be decoupled because we never know the source of the object is. Is the object created from a factory? from a copy? is it a mapped component, a managed component? Creation of objects or loading of objects, or the manufacturing of objects from factories should be separate from the "home" or in my case the "ServiceBean". (end feedback) -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============1551998646979134627== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" SGVyZSYjMzk7cyBzb21lIGFkZGl0aW9uYWwgZmVlZGJhY2sgSSByZWNlaXZlZCBmcm9tIGEgY29t bXVuaXR5IG1lbWJlciBhIHdoaWxlIGJhY2suLi50byBtZXJnZSBpdCBpbnRvIHRoaXMgdGhyZWFk LjxkaXY+PGJyPjwvZGl2PjxkaXY+KGJlZ2luIGZlZWRiYWNrKTwvZGl2PjxkaXY+PGJyPjwvZGl2 PjxkaXY+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7 IGNoYXJzZXQ9dXRmLTgiPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYm9y ZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgY29sb3I6IHJnYig1MSwgNTEsIDUxKTsgZm9udC1mYW1p bHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7ICI+Li4uZnJvbSBiZWluZyBi dXJuZWQgZnJvbSAzIHNlYW0gYmFzZWQgY3VzdG9tZXJzIHdpdGggYXBwcyBhbmQgbWFpbnRlbmFu Y2UuwqAgVGhlICZxdW90O0hvbWUmcXVvdDsgb3IgYW55IG90aGVyIG5hbWUgc2hvdWxkIGJlIGp1 c3QgYmUgcHV0IGludG8gYSBncmF2ZSBhbmQgc2xvd2x5IGNhc3QgYXdheSB0byBzZWEgOykuwqAg SXQgaXMgdG9vIGhlYXZ5IGFuZCBjb21wbGljYXRlZCBhbmQganVzdCBhYm91dCBhbnl0aGluZyBp bmhlcml0ZWQgKGV4dGVuZHMpIHRydWx5IGNhdXNlcyBoZWFydGFjaGVbRmF2b3IgQ29tcG9zaXRp b24gb3ZlciBpbmhlcml0YW5jZTogRWZmZWN0aXZlIEphdmFdLiBUaGUgY3VycmVudCBzZWFtIGhv bWUgaGFzIGEgZmV3IHN1cGVyIGNsYXNzZXMgYWJvdmUgdGhlIGhvbWUgYW5kIHdoZW4geW91IHRy eSB0byB1bml0IHRlc3QgaXQgKHRoZSBzdGFuZGFyZCBkZWZpbml0aW9uIG9mIHVuaXQtdGVzdGlu ZyBpbmNsdWRpbmcgaXNvbGF0aW9uKSB5b3UgZ2V0IHRoZSAmcXVvdDtObyBBY3RpdmUgQXBwbGlj YXRpb24gQ29udGV4dCBGb3VuZCAoaWYgSSByZW1lbWJlciBpdCByaWdodCkuwqAgVGhhdCBoYXBw ZW5zIGJlY2F1c2UgaXQgaXMgdGlnaHRseSBjb3VwbGVkIHdpdGggdGhlIGFwcGxpY2F0aW9uLsKg IEJ1dCBub3QgdG8gYmUgaGFyZCBvbiBIb21lLCBJIGRvIHJlYWxpemUgdGhlIGhpc3Rvcnkgb2Yg dGhlIGhvbWUgb2JqZWN0IGFuZCBrbm93IGl0IHdhcyBkZXZlbG9wZWQgd2hlbiBFTCBoYWQgbm8g cGFyYW1ldGVycy4gU28gSSBoYXZlIGxlYXJuZWQgYSBsb3Qgc2luY2UgdGhlbiBhbmQgSSBoZXJl IGFyZSBzb21lIHRoaW5ncyB0aGF0IEkgY2FuIGltcGFydCB0byBTZWFtIDMuwqDCoDxicj4KCjxi cj4xLiBNeSAmcXVvdDtIb21lJnF1b3Q7IG5vdyBpcyBhICZxdW90O1NlcnZpY2VCZWFuJnF1b3Q7 LCBhbmQgSSBoYXZlIG9uZSBmb3IgZWFjaCAmcXVvdDtNYWpvciZxdW90O8KgPHNwYW4gY2xhc3M9 ImlsIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogaW5pdGlhbDsgYmFja2dyb3VuZC1hdHRhY2ht ZW50OiBpbml0aWFsOyBiYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgYmFja2dyb3VuZC1jbGlw OiBpbml0aWFsOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDIwNCk7IGNvbG9yOiBy Z2IoMzQsIDM0LCAzNCk7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFj a2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsgIj5lbnRpdHk8L3NwYW4+LCBzZWUgYmVs b3cuwqAgSSBoYXZlIHJlYWxseSBzdGV3ZWQgb3ZlciB0aGlzIG92ZXIgbW9udGhzIGFuZCBtb250 aHMsIGFuZCB0aGUgJnF1b3Q7SG9tZSZxdW90OyBvZiAmcXVvdDtTZXJ2aWNlQmVhbiZxdW90OyBz aG91bGQgYmUga2VwdCBzbWFsbCwgZm9jdXNlZCwgcmV1c2FibGUsIHRlc3RlZCBhbmQgdW50b3Vj aGVkLsKgIEl0JiMzOTtzIG9ubHkgdGFzayBpcyB0byB1cGRhdGUsIHBlcnNpc3QsIHBvc3NpYmx5 IHJlbW92ZSwgb3Igc29tZSBvdGhlciBmdW5jdGlvbnMgdGhhdCBhcmUgcmVxdWlyZWQuwqAgSW4g bXkgZXhhbXBsZSBiZWxvdyBJIGhhdmUgY3VzdG9tIGNsb3NlIGFjdGlvbi7CoCBOb3RpY2UgYWxz byB0aGF0IGFsdGhvdWdoIHRoZXNlIGJlYW5zIGFyZSBzdGF0ZWZ1bCB0aGF0IGRvZXNuJiMzOTt0 IG1lYW4gZXZlcnl0aGluZyBzaG91bGQgYmUsIHNvIGluIHRoZXNlIG1ldGhvZHMgSSBoYXZlIHRo ZSBwYXJhbWV0ZXIgb2Ygd2hhdCBpcyBiZWluZyBuZWVkZWQgdG8gYmUgdXBkYXRlZCwgYW5kIG5v dCBhIGZpZWxkLsKgIEluIG90aGVyIHdvcmRzIEkgZG9uJiMzOTt0IGhhdmUgQEluIHByaXZhdGUg Sm9iIGpvYiwgSSBvcHRlZCBmb3IgcHVibGljIGJvb2xlYW4gdXBkYXRlKGpvYikuwqAgTW9zdGx5 IGJlY2F1c2UsIGFnYWluLCBJIHdhbnQgdG8gbWFrZSB0aGlzIHNlcnZpY2UgYmVhbiByZXVzYWJs ZSBzbyB3aGV0aGVyIEkgaGF2ZSBhICN7bmV3Sm9ifSwgI3tjb3B5T2ZBSm9ifSwgb3IgI3ttYW5h Z2VkSm9ifSBvciB3aGF0ZXZlciBjb21wb25lbnQgb2Ygam9iIEkgbmVlZCB0byB3b3JrIG9uIEkg b25seSBuZWVkIG9uZSBqb2JTZXJ2aWNlQmVhbiB0byBjYXRlciB0byBhbGwgbXkgam9icywgaW4g d2hhdGV2ZXIgY29udmVyc2F0aW9uIEkgYW0gdXNpbmcuwqAgSSBhbHNvIGZpcmUgZXZlbnRzIGZy b20gaGVyZSBpZiBJIG5lZWQgdG8gZG8gdGhhdC7CoMKgIEFmdGVyIHRoaXMgaXMgdGVzdGVkLCBh bmQgd2hhdCBJIG5lZWQgSSB1c3VhbGx5IGRvbiYjMzk7dCB0b3VjaCBpdCBhbnltb3JlLsKgIElm IEkgbmVlZCB0byBlbmhhbmNlIEkgZWl0aGVyIHVzZSBhIGRlY29yYXRvciBwYXR0ZXJuIGFyb3Vu ZCBpdCwgb3IgZW5oYW5jZSBpdCBpbiBhbiBAT2JzZXJ2ZXIuwqAgSSYjMzk7bGwgZW1haWwgYWJv dXQgdGhhdCBsYXRlci48YnI+Cgo8YnI+QE5hbWUoJnF1b3Q7am9iU2VydmljZUJlYW4mcXVvdDsp PGJyPkBTY29wZShTY29wZVR5cGUuQ09OVkVSU0FUSU9OKTxicj5wdWJsaWMgY2xhc3MgSm9iU2Vy dmljZUJlYW4gaW1wbGVtZW50cyBKb2JTZXJ2aWNlIHs8YnI+wqDCoMKgIHByaXZhdGUgRW50aXR5 TWFuYWdlciBlbnRpdHlNYW5hZ2VyOzxicj7CoMKgwqAgcHJpdmF0ZSBTdGF0dXNNZXNzYWdlcyBz dGF0dXNNZXNzYWdlczs8YnI+Cjxicj4KwqDCoMKgIEBJbjxicj7CoMKgwqAgcHVibGljIHZvaWQg c2V0RW50aXR5TWFuYWdlcihFbnRpdHlNYW5hZ2VyIGVudGl0eU1hbmFnZXIpIHs8YnI+wqDCoMKg wqDCoMKgwqAgdGhpcy5lbnRpdHlNYW5hZ2VyID0gZW50aXR5TWFuYWdlcjs8YnI+wqDCoMKgIH08 YnI+PGJyPsKgwqDCoCBASW48YnI+wqDCoMKgIHB1YmxpYyB2b2lkIHNldFN0YXR1c01lc3NhZ2Vz KFN0YXR1c01lc3NhZ2VzIHN0YXR1c01lc3NhZ2VzKSB7PGJyPsKgwqDCoMKgwqDCoMKgIHRoaXMu c3RhdHVzTWVzc2FnZXMgPSBzdGF0dXNNZXNzYWdlczs8YnI+CgrCoMKgwqAgfTxicj48YnI+wqDC oMKgIHB1YmxpYyBib29sZWFuIHVwZGF0ZShKb2Igam9iKSB7PGJyPsKgwqDCoMKgwqDCoMKgIHRo aXMuZW50aXR5TWFuYWdlci5mbHVzaCgpOzxicj7CoMKgwqDCoMKgwqDCoCB0aGlzLnN0YXR1c01l c3NhZ2VzLmFkZCg8YSBocmVmPSJodHRwOi8vc3RhdHVzbWVzc2FnZS5zZXZlcml0eS5pbmZvLyIg dGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJjb2xvcjogcmdiKDYxLCA4NCwgODkpOyAiPlN0YXR1c01l c3NhZ2UuU2V2ZXJpdHkuSU5GTzwvYT4sICZxdW90O1N1Y2Nlc3NmdWxseSB1cGRhdGVkIGpvYiB7 MH0mcXVvdDssIGpvYi5nZXROYW1lKCkpOzxicj4KCsKgwqDCoMKgwqDCoMKgIHJldHVybiB0cnVl Ozxicj7CoMKgwqAgfTxicj48YnI+wqDCoMKgIHB1YmxpYyBib29sZWFuIGNsb3NlKEpvYiBqb2Ip IHs8YnI+wqDCoMKgwqDCoMKgwqAgam9iLnNldEpvYlN0YXR1cyhKb2JTdGF0dXMuQ0xPU0VEKTs8 YnI+wqDCoMKgwqDCoMKgwqAgdGhpcy5lbnRpdHlNYW5hZ2VyLmZsdXNoKCk7PGJyPsKgwqDCoMKg wqDCoMKgIHRoaXMuc3RhdHVzTWVzc2FnZXMuYWRkKDxhIGhyZWY9Imh0dHA6Ly9zdGF0dXNtZXNz YWdlLnNldmVyaXR5LmluZm8vIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImNvbG9yOiByZ2IoNjEs IDg0LCA4OSk7ICI+U3RhdHVzTWVzc2FnZS5TZXZlcml0eS5JTkZPPC9hPiwgJnF1b3Q7U3VjY2Vz c2Z1bGx5IGNsb3NlZCBqb2IgezB9JnF1b3Q7LCBqb2IuZ2V0TmFtZSgpKTs8YnI+CgrCoMKgwqDC oMKgwqDCoCByZXR1cm4gdHJ1ZTs8YnI+wqDCoMKgIH08YnI+fTxicj48YnI+Mi4gT25lIHRoaW5n IHlvdSBtYXkgaGF2ZSBub3RpY2VkIGZyb20gYWJvdmUgdGhhdCB0aGVyZSBpcyBubyAmIzM5O2lu c3RhbmNlJiMzOTsgZmllbGQgd2l0aCBjb3JyZXNwb25kaW5nIGdldHRlcnMgb3Igc2V0dGVycyBs aWtlIHRoZSBvbGQgJiMzOTtIb21lJiMzOTsuIMKgIFNvIHRoZSBTZXJ2aWNlQmVhbiBpbiBteSBj YXNlIGlzIG5vdCBhIGZ1bGwgY3J1ZCwgYnV0IENVRCArIHlvdXIgb3duIGJ1c2luZXNzIG1ldGhv ZHMuIFRoYXQmIzM5O3MgYmVjYXVzZSB0aGF0IHRvbyBzaG91bGQgYmUgZGVjb3VwbGVkIGJlY2F1 c2Ugd2UgbmV2ZXIga25vdyB0aGUgc291cmNlIG9mIHRoZSBvYmplY3QgaXMuwqAgSXMgdGhlIG9i amVjdCBjcmVhdGVkIGZyb20gYSBmYWN0b3J5PyBmcm9tIGEgY29weT8gaXMgaXQgYSBtYXBwZWQg Y29tcG9uZW50LCBhIG1hbmFnZWQgY29tcG9uZW50P8KgIENyZWF0aW9uIG9mIG9iamVjdHMgb3Ig bG9hZGluZyBvZiBvYmplY3RzLCBvciB0aGUgbWFudWZhY3R1cmluZyBvZiBvYmplY3RzIGZyb20g ZmFjdG9yaWVzIHNob3VsZCBiZSBzZXBhcmF0ZSBmcm9tIHRoZSAmcXVvdDtob21lJnF1b3Q7IG9y IGluIG15IGNhc2UgdGhlICZxdW90O1NlcnZpY2VCZWFuJnF1b3Q7Ljwvc3Bhbj48YnI+Cgo8YnI+ PC9kaXY+PGRpdj4oZW5kIGZlZWRiYWNrKTwvZGl2PjxkaXY+PGJyPi0tIDxicj48ZGl2PkRhbiBB bGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBv ZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj48YnI+ PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4j YWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFu LmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIg dGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPjxhIGhyZWY9Imh0 dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwvZGl2Pjxicj4KPC9kaXY+Cg== --===============1551998646979134627==-- From stuart.w.douglas at gmail.com Wed Sep 21 18:30:42 2011 Content-Type: multipart/mixed; boundary="===============6015372166905487177==" MIME-Version: 1.0 From: Stuart Douglas To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 08:30:33 +1000 Message-ID: In-Reply-To: CAKeHnO4Vdb26kh9KcDS2ExEOknk4corUk-Drs_B8iqfAYzVY7A@mail.gmail.com --===============6015372166905487177== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I don't really like that idea, as it means that forge then becomes part of = your build process. = With the @AutoHome it should not really matter about IDE auto completion, t= he idea is to just register a bean that allows you to lookup beans by ID fr= om the EL. The underlying bean would probably look like: public class AutoHomeBean { private ID id; = private T instance; = void setId(ID id) { if(!this.id.equals(id) ) { //need NPE check as well this.instance =3D null; } this.id =3D id; } ID getId() //getter; public T getInstance() { if(instance =3D=3D null && id !=3D null) { instance =3D em.find(...); } return instance = } } Then if you put the AutoHome annotation on MyEntity you would get a MyEntit= yHome bean being registered, and you could then do things like: #{myEntityHome.setId(10)}; #{myEntityHome.instance.name} Not sure how practical / useful it will be in practice, but that was the ba= sic idea. Stuart On 22/09/2011, at 8:19 AM, Dan Allen wrote: > True. I don't really see the problem with having an object that extends a= base object, even if it has no additional methods. > = > ...and if that is the solution, then the @AutoCrud could be a hint to for= ge to generate that class if it doesn't yet exist. Now that's an idea :) > = > -Dan > = > On Wed, Sep 21, 2011 at 18:17, Jason Porter w= rote: > That's good at the runtime, but develop time that really doesn't help bec= ause it won't compile and you won't get IDE auto complete. > = > = > On Wed, Sep 21, 2011 at 16:10, Dan Allen wrote: > Stuart, > = > You also previous mentioned... > = > With portable extensions we could do something like: > = > @Entity > @AutoHome > public class MyEntity .... > = > and have a portable extension that registers a new home bean for every en= tity with the @AutoHome annotation. > = > I think we all agree that "Home" is a crappy name, so perhaps @Crud or @D= ao would be a sufficient name. > = > -Dan > = > On Tue, Sep 20, 2011 at 22:15, Stuart Douglas wrote: > My original plan for EntityQuery was to use the ServiceHandler stuff in s= older: > = > @EntityQuery > public interface MyQuery { > = > @Query("Select u from User u where type=3D:p1") > public List users(String type); > = > } > = > Stuart > = > = > On 09/21/2011 06:00 AM, Jos=C3=A9 Rodolfo Freitas wrote: >> Yeah, I agree that being declarative is the ideal. >> let's say no to inheritance with generics! hehehe. >> = >> On Tue, Sep 20, 2011 at 4:41 PM, Dan Allen wro= te: >> On Tue, Sep 20, 2011 at 15:36, Jos=C3=A9 Rodolfo Freitas wrote: >> What I like most in CDI and Seam3 is that it's very easy to keep things = simple and that's something I strongly advocate. = >> = >> +1 >> = >> Of course there're still boilerplate code, but I think it's minimal (com= pared to the JEE generations before), and that's something forge can create= without the need to satisfy a "framework". Yes, I admitedly am afraid of t= hat word. >> = >> That's fine, it doesn't have to be a framework. I do think there is room= for having some common scaffolding, though. If we can do that by extending= the programming model (annotations, generic beans or interfaces) so that i= t's declarative, that's probably ideal. >> = >> I suggest that we brainstorm proposals using gists (http://gist.github.c= om). That will get the ball rolling. We can start with the idea Jason poste= d, or feel free to take a different approach. >> = >> -Dan >> = >> -- = >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> = >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> = >> = >> = >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > = > -- = > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > = > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > = > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu > = > = > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > = --===============6015372166905487177== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13 ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1z cGFjZTsgIj48ZGl2PkkgZG9uJ3QgcmVhbGx5IGxpa2UgdGhhdCBpZGVhLCBhcyBpdCBtZWFucyB0 aGF0IGZvcmdlIHRoZW4gYmVjb21lcyBwYXJ0IG9mIHlvdXIgYnVpbGQgcHJvY2Vzcy4mbmJzcDs8 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldpdGggdGhlIEBBdXRvSG9tZSBpdCBzaG91bGQgbm90 IHJlYWxseSBtYXR0ZXIgYWJvdXQgSURFIGF1dG8gY29tcGxldGlvbiwgdGhlIGlkZWEgaXMgdG8g anVzdCByZWdpc3RlciBhIGJlYW4gdGhhdCBhbGxvd3MgeW91IHRvIGxvb2t1cCBiZWFucyBieSBJ RCBmcm9tIHRoZSBFTC48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSB1bmRlcmx5aW5nIGJl YW4gd291bGQgcHJvYmFibHkgbG9vayBsaWtlOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+cHVi bGljIGNsYXNzIEF1dG9Ib21lQmVhbiZsdDtULElEJmd0OyB7PC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj4mbmJzcDsgcHJpdmF0ZSBJRCBpZDsmbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOyBwcml2YXRl IFQgaW5zdGFuY2U7Jm5ic3A7PC9kaXY+PGRpdj4mbmJzcDsgdm9pZCBzZXRJZChJRCBpZCkgezwv ZGl2PjxkaXY+Jm5ic3A7IGlmKCF0aGlzLmlkLmVxdWFscyhpZCkgKSB7IC8vbmVlZCBOUEUgY2hl Y2sgYXMgd2VsbDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwO3RoaXMuaW5zdGFuY2UgPSBudWxsOzwv ZGl2PjxkaXY+fTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwO3RoaXMuaWQgPSBpZDs8L2Rpdj48ZGl2 Pjxicj48L2Rpdj48ZGl2PiZuYnNwO308L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZuYnNwO0lE IGdldElkKCkgLy9nZXR0ZXI7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mbmJzcDtwdWJsaWMg VCBnZXRJbnN0YW5jZSgpIHs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDtpZihpbnN0YW5jZSA9PSBu dWxsICZhbXA7JmFtcDsgaWQgIT0gbnVsbCkgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBpbnN0 YW5jZSA9IGVtLmZpbmQoLi4uKTs8L2Rpdj48ZGl2PiZuYnNwOyB9PC9kaXY+PGRpdj4mbmJzcDsg cmV0dXJuIGluc3RhbmNlJm5ic3A7PC9kaXY+PGRpdj4mbmJzcDt9PC9kaXY+PGRpdj59PC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj5UaGVuIGlmIHlvdSBwdXQgdGhlIEF1dG9Ib21lIGFubm90YXRp b24gb24gTXlFbnRpdHkgeW91IHdvdWxkIGdldCBhIE15RW50aXR5SG9tZSBiZWFuIGJlaW5nIHJl Z2lzdGVyZWQsIGFuZCB5b3UgY291bGQgdGhlbiBkbyB0aGluZ3MgbGlrZTo8L2Rpdj48ZGl2Pjxi cj48L2Rpdj48ZGl2PiN7bXlFbnRpdHlIb21lLnNldElkKDEwKX07PC9kaXY+PGRpdj48YnI+PC9k aXY+PGRpdj4je215RW50aXR5SG9tZS5pbnN0YW5jZS5uYW1lfTwvZGl2PjxkaXY+PGJyPjwvZGl2 PjxkaXY+Tm90IHN1cmUgaG93IHByYWN0aWNhbCAvIHVzZWZ1bCBpdCB3aWxsIGJlIGluIHByYWN0 aWNlLCBidXQgdGhhdCB3YXMgdGhlIGJhc2ljIGlkZWEuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj5TdHVhcnQ8L2Rpdj48YnI+PGRpdj48ZGl2Pk9uIDIyLzA5LzIwMTEsIGF0IDg6MTkgQU0sIERh biBBbGxlbiB3cm90ZTo8L2Rpdj48YnIgY2xhc3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUi PjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPlRydWUuIEkgZG9uJ3QgcmVhbGx5IHNlZSB0aGUgcHJv YmxlbSB3aXRoIGhhdmluZyBhbiBvYmplY3QgdGhhdCBleHRlbmRzIGEgYmFzZSBvYmplY3QsIGV2 ZW4gaWYgaXQgaGFzIG5vIGFkZGl0aW9uYWwgbWV0aG9kcy48ZGl2Pjxicj48L2Rpdj48ZGl2Pi4u LmFuZCBpZiB0aGF0IGlzIHRoZSBzb2x1dGlvbiwgdGhlbiB0aGUgQEF1dG9DcnVkIGNvdWxkIGJl IGEgaGludCB0byBmb3JnZSB0byBnZW5lcmF0ZSB0aGF0IGNsYXNzIGlmIGl0IGRvZXNuJ3QgeWV0 IGV4aXN0LiBOb3cgdGhhdCdzIGFuIGlkZWEgOik8YnI+Cgo8ZGl2PjxkaXY+PGJyPjwvZGl2Pjxk aXY+LURhbjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFdlZCwgU2VwIDIxLCAy MDExIGF0IDE4OjE3LCBKYXNvbiBQb3J0ZXIgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJt YWlsdG86bGlnaHRndWFyZC5qcEBnbWFpbC5jb20iPmxpZ2h0Z3VhcmQuanBAZ21haWwuY29tPC9h PiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0 eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5n LWxlZnQ6MWV4OyI+CgpUaGF0J3MgZ29vZCBhdCB0aGUgcnVudGltZSwgYnV0IGRldmVsb3AgdGlt ZSB0aGF0IHJlYWxseSBkb2Vzbid0IGhlbHAgYmVjYXVzZSBpdCB3b24ndCBjb21waWxlIGFuZCB5 b3Ugd29uJ3QgZ2V0IElERSBhdXRvIGNvbXBsZXRlLjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNz PSJoNSI+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEsIDIw MTEgYXQgMTY6MTAsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0 bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5kYW4uai5hbGxlbkBnbWFp bC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgoKCgo8YmxvY2txdW90ZSBjbGFzcz0iZ21h aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBz b2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij5TdHVhcnQsPGRpdj48YnI+PC9kaXY+PGRpdj5Zb3UgYWxz byBwcmV2aW91cyBtZW50aW9uZWQuLi48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTonTHVjaWRhIEdyYW5kZScsIEdlbmV2YSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7Zm9u dC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweCI+PGJyPgoKCgoKCjwvc3Bhbj48L2Rpdj48ZGl2 PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonTHVjaWRhIEdyYW5kZScsIEdlbmV2YSwgVmVyZGFu YSwgQXJpYWwsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweCI+PGZv bnQgY29sb3I9IiMzMzMzMzMiPldpdGggcG9ydGFibGUgZXh0ZW5zaW9ucyB3ZSBjb3VsZCBkbyBz b21ldGhpbmcgbGlrZTo8L2ZvbnQ+PC9zcGFuPjwvZGl2PgoKCgoKCjxkaXY+PHNwYW4gc3R5bGU9 ImZvbnQtZmFtaWx5OidMdWNpZGEgR3JhbmRlJywgR2VuZXZhLCBWZXJkYW5hLCBBcmlhbCwgc2Fu cy1zZXJpZjtmb250LXNpemU6MTJweCI+PGZvbnQgY29sb3I9IiMzMzMzMzMiPjxwcmUgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6cmdiKDI0NSwgMjQ1LCAyNDUpO2JvcmRlci10b3Atd2lkdGg6MXB4 O2JvcmRlci1yaWdodC13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWxl ZnQtd2lkdGg6MXB4O2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNv bGlkO2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9y ZGVyLXRvcC1jb2xvcjpyZ2IoMTcwLCAxNzAsIDE3MCk7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYigx NzAsIDE3MCwgMTcwKTtib3JkZXItYm90dG9tLWNvbG9yOnJnYigxNzAsIDE3MCwgMTcwKTtib3Jk ZXItbGVmdC1jb2xvcjpyZ2IoMTcwLCAxNzAsIDE3MCk7cGFkZGluZy10b3A6NXB4O3BhZGRpbmct cmlnaHQ6NXB4O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLWxlZnQ6NXB4O21hcmdpbi10b3A6 MTBweDttYXJnaW4tcmlnaHQ6MTBweDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWxlZnQ6MTBw eDtmb250LWZhbWlseTonQW5kYWxlIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7Zm9u dC1zaXplOjExcHg7b3ZlcmZsb3cteDphdXRvO21heC13aWR0aDo5NTBweCI+CkBFbnRpdHkKQEF1 dG9Ib21lCnB1YmxpYyBjbGFzcyBNeUVudGl0eSAuLi4uCgo8L3ByZT48L2ZvbnQ+PC9zcGFuPjxz cGFuIHN0eWxlPSJjb2xvcjpyZ2IoNTEsIDUxLCA1MSk7Zm9udC1mYW1pbHk6J0x1Y2lkYSBHcmFu ZGUnLCBHZW5ldmEsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2xp bmUtaGVpZ2h0OjE4cHgiPmFuZCBoYXZlIGEgcG9ydGFibGUgZXh0ZW5zaW9uIHRoYXQgcmVnaXN0 ZXJzIGEgbmV3IGhvbWUgYmVhbiBmb3IgZXZlcnkgZW50aXR5IHdpdGggdGhlIEBBdXRvSG9tZSBh bm5vdGF0aW9uLjwvc3Bhbj48L2Rpdj4KCgoKCgo8ZGl2Pjxicj48L2Rpdj48ZGl2PkkgdGhpbmsg d2UgYWxsIGFncmVlIHRoYXQgIkhvbWUiIGlzIGEgY3JhcHB5IG5hbWUsIHNvIHBlcmhhcHMgQENy dWQgb3IgQERhbyB3b3VsZCBiZSBhIHN1ZmZpY2llbnQgbmFtZS48L2Rpdj48ZGl2Pjxicj48L2Rp dj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+PGRpdj4tRGFuPC9kaXY+PC9mb250PjxkaXY+PGRpdj48 L2Rpdj48ZGl2PgoKPGRpdj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgU2Vw IDIwLCAyMDExIGF0IDIyOjE1LCBTdHVhcnQgRG91Z2xhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0Ozxh IGhyZWY9Im1haWx0bzpzdHVhcnQudy5kb3VnbGFzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsi PnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxi bG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2Jv cmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjx1PjwvdT4KCiAgCiAg ICAKICAgIAogIAogIDxkaXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI2ZmZmZmZiI+CiAgICBN eSBvcmlnaW5hbCBwbGFuIGZvciBFbnRpdHlRdWVyeSB3YXMgdG8gdXNlIHRoZSBTZXJ2aWNlSGFu ZGxlciBzdHVmZgogICAgaW4gc29sZGVyOjxicj4KICAgIDxicj4KICAgIEBFbnRpdHlRdWVyeTxi cj4KICAgIHB1YmxpYyBpbnRlcmZhY2UgTXlRdWVyeSB7PGJyPgogICAgPGJyPgogICAgJm5ic3A7 IEBRdWVyeSgiU2VsZWN0IHUgZnJvbSBVc2VyIHUgd2hlcmUgdHlwZT06cDEiKTxicj4KICAgICZu YnNwOyBwdWJsaWMgTGlzdCZsdDtVc2VyJmd0OyB1c2VycyhTdHJpbmcgdHlwZSk7PGJyPgogICAg PGJyPgogICAgfTxicj4KICAgIDxicj4KICAgIFN0dWFydDxkaXY+PGRpdj48L2Rpdj48ZGl2Pjxi cj4KICAgIDxicj4KICAgIE9uIDA5LzIxLzIwMTEgMDY6MDAgQU0sIEpvc+kgUm9kb2xmbyBGcmVp dGFzIHdyb3RlOgogICAgPC9kaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj48 ZGl2PjwvZGl2PjxkaXY+WWVhaCwgSSBhZ3JlZSB0aGF0IGJlaW5nIGRlY2xhcmF0aXZlIGlzIHRo ZSBpZGVhbC4KICAgICAgPGRpdj5sZXQncyBzYXkgbm8gdG8gaW5oZXJpdGFuY2Ugd2l0aCBnZW5l cmljcyEgaGVoZWhlLjxicj4KICAgICAgICA8YnI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxf cXVvdGUiPk9uIFR1ZSwgU2VwIDIwLCAyMDExIGF0IDQ6NDEgUE0sIERhbgogICAgICAgICAgQWxs ZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5AZ21haWwu Y29tIiB0YXJnZXQ9Il9ibGFuayI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZndDs8L3NwYW4+ CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MHB0IDBwdCAwcHQgMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNv bGlkIHJnYigyMDQsIDIwNCwgMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgPGRp dj5PbiBUdWUsIFNlcCAyMCwgMjAxMSBhdCAxNTozNiwgSm9z6SBSb2RvbGZvCiAgICAgICAgICAg ICAgRnJlaXRhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xm by5mcmVpdGFzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmpvc2Vyb2RvbGZvLmZyZWl0YXNA Z21haWwuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAg ICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPgogICAgICAg ICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVv dGUiIHN0eWxlPSJtYXJnaW46MHB0IDBwdCAwcHQgMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlk IHJnYigyMDQsIDIwNCwgMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAg V2hhdCBJIGxpa2UgbW9zdCBpbiBDREkgYW5kIFNlYW0zIGlzIHRoYXQgaXQncyB2ZXJ5CiAgICAg ICAgICAgICAgICAgIGVhc3kgdG8ga2VlcCB0aGluZ3Mgc2ltcGxlIGFuZCB0aGF0J3Mgc29tZXRo aW5nIEkKICAgICAgICAgICAgICAgICAgc3Ryb25nbHkgYWR2b2NhdGUuJm5ic3A7PC9ibG9ja3F1 b3RlPgogICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PisxPC9kaXY+CiAgICAgICAgICAg ICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXY+Jm5ic3A7PC9kaXY+CiAgICAgICAgICAgICAg ICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB0IDBwdCAw cHQgMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTtwYWRkaW5n LWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAgPGRpdj5PZiBjb3Vyc2UgdGhlcmUncmUgc3Rp bGwgYm9pbGVycGxhdGUgY29kZSwgYnV0IEkKICAgICAgICAgICAgICAgICAgICB0aGluayBpdCdz IG1pbmltYWwgKGNvbXBhcmVkIHRvIHRoZSBKRUUgZ2VuZXJhdGlvbnMKICAgICAgICAgICAgICAg ICAgICBiZWZvcmUpLCBhbmQgdGhhdCdzIHNvbWV0aGluZyBmb3JnZSBjYW4gY3JlYXRlCiAgICAg ICAgICAgICAgICAgICAgd2l0aG91dCB0aGUgbmVlZCB0byBzYXRpc2Z5IGEgImZyYW1ld29yayIu IFllcywgSQogICAgICAgICAgICAgICAgICAgIGFkbWl0ZWRseSBhbSBhZnJhaWQgb2YgdGhhdCB3 b3JkLjwvZGl2PgogICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgICAgICAg PGRpdj48YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgICAgICA8ZGl2PlRoYXQncyBmaW5lLCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgYSBmcmFt ZXdvcmsuIEkgZG8KICAgICAgICAgICAgICAgIHRoaW5rIHRoZXJlIGlzIHJvb20gZm9yIGhhdmlu ZyBzb21lIGNvbW1vbiBzY2FmZm9sZGluZywKICAgICAgICAgICAgICAgIHRob3VnaC4gSWYgd2Ug Y2FuIGRvIHRoYXQgYnkgZXh0ZW5kaW5nIHRoZSBwcm9ncmFtbWluZwogICAgICAgICAgICAgICAg bW9kZWwgKGFubm90YXRpb25zLCBnZW5lcmljIGJlYW5zIG9yIGludGVyZmFjZXMpIHNvIHRoYXQK ICAgICAgICAgICAgICAgIGl0J3MgZGVjbGFyYXRpdmUsIHRoYXQncyBwcm9iYWJseSBpZGVhbC48 L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgICA8ZGl2Pkkgc3VnZ2VzdCB0aGF0IHdlIGJyYWluc3Rvcm0gcHJvcG9zYWxzIHVzaW5n IGdpc3RzICg8YSBocmVmPSJodHRwOi8vZ2lzdC5naXRodWIuY29tLyIgdGFyZ2V0PSJfYmxhbmsi Pmh0dHA6Ly9naXN0LmdpdGh1Yi5jb208L2E+KS4gVGhhdCB3aWxsCiAgICAgICAgICAgICAgICBn ZXQgdGhlIGJhbGwgcm9sbGluZy4gV2UgY2FuIHN0YXJ0IHdpdGggdGhlIGlkZWEgSmFzb24KICAg ICAgICAgICAgICAgIHBvc3RlZCwgb3IgZmVlbCBmcmVlIHRvIHRha2UgYSBkaWZmZXJlbnQgYXBw cm9hY2guPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgPC9kaXY+ CiAgICAgICAgICAgICAgPGZvbnQgY29sb3I9IiM4ODg4ODgiPgogICAgICAgICAgICAgICAgPGRp dj4tRGFuPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICAgIDwv ZGl2PgogICAgICAgICAgICAgIDwvZm9udD48L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAg ICAgICAgICA8ZGl2Pi0tIDxicj4KICAgICAgICAgICAgICAgIDxkaXY+RGFuIEFsbGVuPC9kaXY+ CiAgICAgICAgICAgICAgICBQcmluY2lwYWwgU29mdHdhcmUgRW5naW5lZXIsIFJlZCBIYXQgfCBB dXRob3Igb2YgU2VhbSBpbgogICAgICAgICAgICAgICAgQWN0aW9uPGJyPgogICAgICAgICAgICAg ICAgUmVnaXN0ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8YnI+CiAgICAgICAgICAgICAgICA8YnI+ CiAgICAgICAgICAgICAgICA8ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9m aWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xl LmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+CiAgICAgICAgICAgICAgICAg IDxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L21vamF2ZWxpbnV4LmNvbTwvYT48YnI+CiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6 Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21v amF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPgogICAgICAgICAgICAgICAgPC9kaXY+ CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwv ZGl2PgogICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxicj4K ICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PjwvZGl2PjxwcmU+PGZpZWxkc2V0PjwvZmllbGRzZXQ+ Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnNlYW0tZGV2 IG1haWxpbmcgbGlzdAo8ZGl2PjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5v cmciIHRhcmdldD0iX2JsYW5rIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+CjxhIGhyZWY9 Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdl dD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0t ZGV2PC9hPgo8L2Rpdj48L3ByZT4KICAgIDwvYmxvY2txdW90ZT4KICAgIDxicj4KICA8L2Rpdj4K CjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2Pi0t IDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVk IEhhdCB8IEF1dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIg IzIzMTU5Nzxicj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmls ZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5j b20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKCgoKCjxhIGhyZWY9Imh0dHA6 Ly9tb2phdmVsaW51eC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNv bTwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+ PC9kaXY+PGJyPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PGJyPl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+Cjxh IGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciIHRhcmdldD0iX2JsYW5rIj5z ZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48YnI+Cjxicj48 L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8 YnI+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij5KYXNvbiBQb3J0 ZXI8YnI+PGEgaHJlZj0iaHR0cDovL2xpZ2h0Z3VhcmQtanAuYmxvZ3Nwb3QuY29tLyIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+Cgo8YSBo cmVmPSJodHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwIiB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcDwvYT48YnI+Cgo8YnI+U29mdHdhcmUgRW5naW5l ZXI8YnI+T3BlbiBTb3VyY2UgQWR2b2NhdGU8YnI+QXV0aG9yIG9mIFNlYW0gQ2F0Y2ggLSBOZXh0 IEdlbmVyYXRpb24gSmF2YSBFeGNlcHRpb24gSGFuZGxpbmc8YnI+PGJyPlBHUCBrZXkgaWQ6IDky NkNDRkY1PGJyPlBHUCBrZXkgYXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8va2V5c2VydmVy Lm5ldC8iIHRhcmdldD0iX2JsYW5rIj5rZXlzZXJ2ZXIubmV0PC9hPiwgPGEgaHJlZj0iaHR0cDov L3BncC5taXQuZWR1LyIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1PC9hPjxicj4KCgoKCjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJy PjwvZGl2Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdp bmVlciwgUmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExp bnV4IFVzZXIgIzIzMTU5Nzxicj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5j b20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3 Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0i aHR0cDovL21vamF2ZWxpbnV4LmNvbS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGlu dXguY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlv biIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9h Pjxicj48L2Rpdj48YnI+CjwvZGl2PjwvZGl2PjwvZGl2Pgo8L2Jsb2NrcXVvdGU+PC9kaXY+PGJy PjwvYm9keT48L2h0bWw+ --===============6015372166905487177==-- From dan.j.allen at gmail.com Wed Sep 21 19:33:52 2011 Content-Type: multipart/mixed; boundary="===============6510784939433336496==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 19:33:20 -0400 Message-ID: In-Reply-To: FA02F3F1-0BC1-460C-8B71-BD55205B3400@gmail.com --===============6510784939433336496== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Wed, Sep 21, 2011 at 18:30, Stuart Douglas wrote: > I don't really like that idea, as it means that forge then becomes part of > your build process. > Ah, I was suggesting that you add the annotation, then use Forge as a utility once to create the dao classes. Sort of forward engineering. -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============6510784939433336496== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTg6MzAsIFN0dWFydCBEb3VnbGFzIDxzcGFuIGRpcj0i bHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tIj5zdHVh cnQudy5kb3VnbGFzQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1h cmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDox ZXg7Ij4KCjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj48ZGl2PkkgZG9uJiMzOTt0 IHJlYWxseSBsaWtlIHRoYXQgaWRlYSwgYXMgaXQgbWVhbnMgdGhhdCBmb3JnZSB0aGVuIGJlY29t ZXMgcGFydCBvZiB5b3VyIGJ1aWxkIHByb2Nlc3MuwqA8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+ PGRpdj48YnI+PC9kaXY+PGRpdj5BaCwgSSB3YXMgc3VnZ2VzdGluZyB0aGF0IHlvdSBhZGQgdGhl IGFubm90YXRpb24sIHRoZW4gdXNlIEZvcmdlIGFzIGEgdXRpbGl0eSBvbmNlIHRvIGNyZWF0ZSB0 aGUgZGFvIGNsYXNzZXMuIFNvcnQgb2YgZm9yd2FyZCBlbmdpbmVlcmluZy48L2Rpdj4KCjxkaXY+ wqA8L2Rpdj48L2Rpdj4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdh cmUgRW5naW5lZXIsIFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0 ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8YnI+PGJyPjxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5n b29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCjxh IGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9q YXZlbGludXguY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1p bmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0 aW9uPC9hPjxicj48L2Rpdj48YnI+Cg== --===============6510784939433336496==-- From dan.j.allen at gmail.com Wed Sep 21 19:35:07 2011 Content-Type: multipart/mixed; boundary="===============3938150969121058081==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 19:34:36 -0400 Message-ID: In-Reply-To: CAKeHnO7yhA7WHDOeLF5-bs4ck+kJo7dSc3uZB2D2Mw9nyN7qsw@mail.gmail.com --===============3938150969121058081== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Wed, Sep 21, 2011 at 19:33, Dan Allen wrote: > On Wed, Sep 21, 2011 at 18:30, Stuart Douglas wrote: > >> I don't really like that idea, as it means that forge then becomes part = of >> your build process. >> > > Ah, I was suggesting that you add the annotation, then use Forge as a > utility once to create the dao classes. Sort of forward engineering. > And the reason that's beneficial is because it tells forge which entities should have a dao...instead of it just blindly doing it for all entities. This could also be a hint as to which UI pages to create. -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============3938150969121058081== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTk6MzMsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+ Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdt YWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUi PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4 O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij4KCjxkaXYgY2xh c3M9ImltIj5PbiBXZWQsIFNlcCAyMSwgMjAxMSBhdCAxODozMCwgU3R1YXJ0IERvdWdsYXMgPHNw YW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5j b20iIHRhcmdldD0iX2JsYW5rIj5zdHVhcnQudy5kb3VnbGFzQGdtYWlsLmNvbTwvYT4mZ3Q7PC9z cGFuPiB3cm90ZTo8YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPgoKPGRpdiBjbGFz cz0iaW0iPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAg MCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgo8ZGl2 IHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+PGRpdj5JIGRvbiYjMzk7dCByZWFsbHkgbGlr ZSB0aGF0IGlkZWEsIGFzIGl0IG1lYW5zIHRoYXQgZm9yZ2UgdGhlbiBiZWNvbWVzIHBhcnQgb2Yg eW91ciBidWlsZCBwcm9jZXNzLsKgPC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwv ZGl2PjwvZGl2PjxkaXY+QWgsIEkgd2FzIHN1Z2dlc3RpbmcgdGhhdCB5b3UgYWRkIHRoZSBhbm5v dGF0aW9uLCB0aGVuIHVzZSBGb3JnZSBhcyBhIHV0aWxpdHkgb25jZSB0byBjcmVhdGUgdGhlIGRh byBjbGFzc2VzLiBTb3J0IG9mIGZvcndhcmQgZW5naW5lZXJpbmcuPC9kaXY+Cgo8L2Rpdj48L2Js b2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5BbmQgdGhlIHJlYXNvbiB0aGF0JiMzOTtzIGJl bmVmaWNpYWwgaXMgYmVjYXVzZSBpdCB0ZWxscyBmb3JnZSB3aGljaCBlbnRpdGllcyBzaG91bGQg aGF2ZSBhIGRhby4uLmluc3RlYWQgb2YgaXQganVzdCBibGluZGx5IGRvaW5nIGl0IGZvciBhbGwg ZW50aXRpZXMuIFRoaXMgY291bGQgYWxzbyBiZSBhIGhpbnQgYXMgdG8gd2hpY2ggVUkgcGFnZXMg dG8gY3JlYXRlLjwvZGl2PgoKPGRpdj48YnI+PC9kaXY+PGRpdj4tRGFuPC9kaXY+PGRpdj7CoDwv ZGl2PjwvZGl2Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBF bmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVk IExpbnV4IFVzZXIgIzIzMTU5Nzxicj48YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2ds ZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8v d3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJl Zj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVs aW51eC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0 aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248 L2E+PGJyPjwvZGl2Pjxicj4K --===============3938150969121058081==-- From dan.j.allen at gmail.com Wed Sep 21 19:54:19 2011 Content-Type: multipart/mixed; boundary="===============6914331234878663818==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Wed, 21 Sep 2011 19:53:48 -0400 Message-ID: In-Reply-To: 4E79CA1D.7070509@redhat.com --===============6914331234878663818== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 2011/9/21 Jozef Hartinger > I am for making these types of tests consistent among projects and > @ShouldThrowException(Exception.class) seems to be right approach. AFAIK > the only reason it's not used in Seam Compat and Weld is that is was not > available / reliable enough on different containers at the time the > tests were written. > Exactly. -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============6914331234878663818== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MjAxMS85LzIxIEpvemVmIEhhcnRpbmdlciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1h aWx0bzpqaGFydGluZ0ByZWRoYXQuY29tIj5qaGFydGluZ0ByZWRoYXQuY29tPC9hPiZndDs8L3Nw YW4+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xp ZDtwYWRkaW5nLWxlZnQ6MWV4OyI+CgpJIGFtIGZvciBtYWtpbmcgdGhlc2UgdHlwZXMgb2YgdGVz dHMgY29uc2lzdGVudCBhbW9uZyBwcm9qZWN0cyBhbmQ8YnI+CkBTaG91bGRUaHJvd0V4Y2VwdGlv bihFeGNlcHRpb24uY2xhc3MpIHNlZW1zIHRvIGJlIHJpZ2h0IGFwcHJvYWNoLiBBRkFJSzxicj4K dGhlIG9ubHkgcmVhc29uIGl0JiMzOTtzIG5vdCB1c2VkIGluIFNlYW0gQ29tcGF0IGFuZCBXZWxk IGlzIHRoYXQgaXMgd2FzIG5vdDxicj4KYXZhaWxhYmxlIC8gcmVsaWFibGUgZW5vdWdoIG9uIGRp ZmZlcmVudCBjb250YWluZXJzIGF0IHRoZSB0aW1lIHRoZTxicj4KdGVzdHMgd2VyZSB3cml0dGVu Ljxicj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5FeGFjdGx5LjwvZGl2PjxkaXY+ wqA8L2Rpdj48L2Rpdj4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdh cmUgRW5naW5lZXIsIFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0 ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8YnI+PGJyPjxkaXY+Cgo8YSBocmVmPSJodHRwOi8vd3d3 Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5o dHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPjxh IGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9q YXZlbGludXguY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1p bmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0 aW9uPC9hPjxicj4KCjwvZGl2Pjxicj4K --===============6914331234878663818==-- From dan.j.allen at gmail.com Wed Sep 21 19:55:35 2011 Content-Type: multipart/mixed; boundary="===============6442856027442425116==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: [seam-dev] Solder Testsuite update 2 Date: Wed, 21 Sep 2011 19:55:04 -0400 Message-ID: --===============6442856027442425116== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Fantastic! Good work. -Dan ---------- Forwarded message ---------- From: Marek Schmidt < reply+i-1691451-c32d2a63f3bd03cabdcf4cb6a304e2d5daf15ab9(a)reply.github.com> Date: Tue, Sep 20, 2011 at 16:33 Subject: [solder] Testsuite update 2 (#49) To: Dan Allen Yet another testsuite structure update, now even more simpler. This request includes Ken's changes (rebased) which brings non-arquillian unit tests back into impl/ Working Weld Embedded (default) and AS7 profiles (with one test failure, which I consider a bug in Solder and/or AS7) This patch also removes the hacky MavenArtifactResolver and uses a hard-coded paths, such as ../impl/target/solder-impl.jar to ZipImport Solder Modules. I believe this is now the most robust method for importing artifacts from the same project, for which MavenDependencyResolver cannot be used. That is, until the MavenImporter is ready (which should be Real Soon Now, see SHRINKWRAP-325). The only downside of this is that has been added to solder POMs, so that the build outputs have a reliable file name. You can merge this Pull Request by running: git pull https://github.com/maschmid/solder testsuite-update-2 Or you can view, comment on it, or merge it online at: https://github.com/seam/solder/pull/49 -- Commit Summary -- * yet another testsuite structure * rebase Ken's testsuite updates, moved unit tests back to impl/ -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============6442856027442425116== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" RmFudGFzdGljISBHb29kIHdvcmsuPGRpdj48YnI+PC9kaXY+PGRpdj4tRGFuPGJyPjxicj48ZGl2 IGNsYXNzPSJnbWFpbF9xdW90ZSI+LS0tLS0tLS0tLSBGb3J3YXJkZWQgbWVzc2FnZSAtLS0tLS0t LS0tPGJyPkZyb206IDxiIGNsYXNzPSJnbWFpbF9zZW5kZXJuYW1lIj5NYXJlayBTY2htaWR0PC9i PiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpyZXBseSUyQmktMTY5MTQ1MS1j MzJkMmE2M2YzYmQwM2NhYmRjZjRjYjZhMzA0ZTJkNWRhZjE1YWI5QHJlcGx5LmdpdGh1Yi5jb20i PnJlcGx5K2ktMTY5MTQ1MS1jMzJkMmE2M2YzYmQwM2NhYmRjZjRjYjZhMzA0ZTJkNWRhZjE1YWI5 QHJlcGx5LmdpdGh1Yi5jb208L2E+Jmd0Ozwvc3Bhbj48YnI+CgpEYXRlOiBUdWUsIFNlcCAyMCwg MjAxMSBhdCAxNjozMzxicj5TdWJqZWN0OiBbc29sZGVyXSBUZXN0c3VpdGUgdXBkYXRlIDIgKCM0 OSk8YnI+VG86IERhbiBBbGxlbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmRhbi5qLmFsbGVuQGdtYWls LmNvbSI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZndDs8YnI+PGJyPjxicj5ZZXQgYW5vdGhl ciB0ZXN0c3VpdGUgc3RydWN0dXJlIHVwZGF0ZSwgbm93IGV2ZW4gbW9yZSBzaW1wbGVyLjxicj4K Cgo8YnI+ClRoaXMgcmVxdWVzdCBpbmNsdWRlcyBLZW4mIzM5O3MgY2hhbmdlcyAocmViYXNlZCkg d2hpY2ggYnJpbmdzIG5vbi1hcnF1aWxsaWFuIHVuaXQgdGVzdHMgYmFjayBpbnRvIGltcGwvPGJy Pgo8YnI+CldvcmtpbmcgV2VsZCBFbWJlZGRlZCAoZGVmYXVsdCkgYW5kIEFTNyBwcm9maWxlcyAo d2l0aCBvbmUgdGVzdCBmYWlsdXJlLCB3aGljaCBJIGNvbnNpZGVyIGEgYnVnIGluIFNvbGRlciBh bmQvb3IgQVM3KTxicj4KPGJyPgpUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyB0aGUgaGFja3kgTWF2 ZW5BcnRpZmFjdFJlc29sdmVyIGFuZCB1c2VzIGEgaGFyZC1jb2RlZCBwYXRocywgc3VjaCBhcyAu Li9pbXBsL3RhcmdldC9zb2xkZXItaW1wbC5qYXIgdG8gWmlwSW1wb3J0IFNvbGRlciBNb2R1bGVz LiBJIGJlbGlldmUgdGhpcyBpcyBub3cgdGhlIG1vc3Qgcm9idXN0IG1ldGhvZCBmb3IgaW1wb3J0 aW5nIGFydGlmYWN0cyBmcm9tIHRoZSBzYW1lIHByb2plY3QsIGZvciB3aGljaCBNYXZlbkRlcGVu ZGVuY3lSZXNvbHZlciBjYW5ub3QgYmUgdXNlZC4gVGhhdCBpcywgdW50aWwgdGhlIE1hdmVuSW1w b3J0ZXIgaXMgcmVhZHkgKHdoaWNoIHNob3VsZCBiZSBSZWFsIFNvb24gTm93LCBzZWUgU0hSSU5L V1JBUC0zMjUpLiBUaGUgb25seSBkb3duc2lkZSBvZiB0aGlzIGlzIHRoYXQgJmx0O2ZpbmFsTmFt ZS8mZ3Q7IGhhcyBiZWVuIGFkZGVkIHRvIHNvbGRlciBQT01zLCBzbyB0aGF0IHRoZSBidWlsZCBv dXRwdXRzIGhhdmUgYSByZWxpYWJsZSBmaWxlIG5hbWUuPGJyPgoKCjxicj4KWW91IGNhbiBtZXJn ZSB0aGlzIFB1bGwgUmVxdWVzdCBieSBydW5uaW5nOjxicj4KPGJyPgogwqBnaXQgcHVsbCA8YSBo cmVmPSJodHRwczovL2dpdGh1Yi5jb20vbWFzY2htaWQvc29sZGVyIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cHM6Ly9naXRodWIuY29tL21hc2NobWlkL3NvbGRlcjwvYT4gdGVzdHN1aXRlLXVwZGF0ZS0y PGJyPgo8YnI+Ck9yIHlvdSBjYW4gdmlldywgY29tbWVudCBvbiBpdCwgb3IgbWVyZ2UgaXQgb25s aW5lIGF0Ojxicj4KPGJyPgogwqA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VhbS9zb2xk ZXIvcHVsbC80OSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9zZWFtL3NvbGRl ci9wdWxsLzQ5PC9hPjxicj4KPGJyPgotLSBDb21taXQgU3VtbWFyeSAtLTxicj4KPGJyPgoqIHll dCBhbm90aGVyIHRlc3RzdWl0ZSBzdHJ1Y3R1cmU8YnI+CiogcmViYXNlIEtlbiYjMzk7cyB0ZXN0 c3VpdGUgdXBkYXRlcywgbW92ZWQgdW5pdCB0ZXN0cyBiYWNrIHRvIGltcGwvPGJyPgo8YnI+PC9k aXY+LS0gPGJyPjxkaXY+RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVy LCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXgg VXNlciAjMjMxNTk3PGJyPjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9w cm9maWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29v Z2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRw Oi8vbW9qYXZlbGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNv bTwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+ PC9kaXY+PGJyPgo8L2Rpdj4K --===============6442856027442425116==-- From joserodolfo.freitas at gmail.com Wed Sep 21 22:59:54 2011 Content-Type: multipart/mixed; boundary="===============1762986285266139568==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 23:59:52 -0300 Message-ID: In-Reply-To: CAKeHnO5Eo=bBLF7GFg88M9utHeXk9D-+GLwV6UE-_pxjBYwe3A@mail.gmail.com --===============1762986285266139568== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi guys, I see some problems on using extends for this approach: 1) I tend to follow the principle composition over inheritance aka "Composi= te Reuse Principle", The application design is more flexible when you're not highly tied with "extends". And since we already have something that kinda do some of the boilerplate code we're talking about, the entityManager, AND it works with a simple association (injection), I think that a better way to extend CRUD functionalities would be to wrap the EM up, add what we think is needed and inject in our EntityHandler or Home, or DAO or whatever. Otherwise we're going to create a new class that mostly will delegate calls to entityManager. 2) to keep code simple, I think that organizing classes by use cases (like booking for instance) is a really good approach, instead of having a PersonController, PersonService, PersonDAO and PersonEntity, that accumulates all kind of code related to Person use cases. Very often those classes become bloated. Having a package that handle its own use case, HiringPerson, for instance (dunno if it's a good example, though), seems more natural. The code is more atomic and when maintaining code, you're not swimming at a bunch of code not related to your case, and this in fact gives more value to reuse and code design. than always using the same structure over and over again. IMHO, If we create a genericDAO to be extended, I'm afraid that will encourage that kind of approach (PersonController, PService, PDAO and etc). If we do a more flexible way, we can easier work with both ways as one'd wish. 3) when we force the use of extends to do something that could be done with composition, we're killing other design possibilities. Frequently, we have to do an extends of an extends to workaround that. I mean if we have a class A that extends G and by design it seems logical that A should extends B. People workaround that making B extending G (even though sometimes B has nothing to do with G) so A can use both classes as parents. I really feel intimidated disagreeing with people that know so much like you guys, but I still think it's worth more discussion around that. On Wed, Sep 21, 2011 at 8:34 PM, Dan Allen wrote: > On Wed, Sep 21, 2011 at 19:33, Dan Allen wrote: > >> On Wed, Sep 21, 2011 at 18:30, Stuart Douglas > > wrote: >> >>> I don't really like that idea, as it means that forge then becomes part >>> of your build process. >>> >> >> Ah, I was suggesting that you add the annotation, then use Forge as a >> utility once to create the dao classes. Sort of forward engineering. >> > > And the reason that's beneficial is because it tells forge which entities > should have a dao...instead of it just blindly doing it for all entities. > This could also be a hint as to which UI pages to create. > > -Dan > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > --===============1762986285266139568== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" SGkgZ3V5cyw8ZGl2Pjxicj48L2Rpdj48ZGl2Pkkgc2VlIHNvbWUgcHJvYmxlbXMgb24gdXNpbmcg ZXh0ZW5kcyBmb3IgdGhpcyBhcHByb2FjaDo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjEpIEkg dGVuZCB0byBmb2xsb3cgdGhlIHByaW5jaXBsZSBjb21wb3NpdGlvbiBvdmVyIGluaGVyaXRhbmNl IGFrYSAmcXVvdDs8c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtZmFt aWx5OiBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxOXB4OyBiYWNr Z3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7ICI+Q29tcG9zaXRlIFJldXNlIFByaW5j aXBsZSZxdW90Oyw8L3NwYW4+PC9kaXY+CjxkaXY+VGhlIGFwcGxpY2F0aW9uIGRlc2lnbiBpcyBt b3JlIGZsZXhpYmxlIHdoZW4geW91JiMzOTtyZSBub3QgaGlnaGx5IHRpZWQgd2l0aCAmcXVvdDtl eHRlbmRzJnF1b3Q7LjwvZGl2PjxkaXY+QW5kIHNpbmNlIHdlIGFscmVhZHkgaGF2ZSBzb21ldGhp bmcgdGhhdCBraW5kYSBkbyBzb21lIG9mIHRoZSBib2lsZXJwbGF0ZSBjb2RlIHdlJiMzOTtyZSB0 YWxraW5nIGFib3V0LCB0aGUgZW50aXR5TWFuYWdlciwgQU5EIGl0IHdvcmtzIHdpdGggYSBzaW1w bGUgYXNzb2NpYXRpb24gKGluamVjdGlvbiksIEkgdGhpbmsgdGhhdCBhIGJldHRlciB3YXkgdG8g ZXh0ZW5kIENSVUQgZnVuY3Rpb25hbGl0aWVzIHdvdWxkIGJlIHRvIHdyYXAgdGhlIEVNIHVwLCBh ZGQgd2hhdCB3ZSB0aGluayBpcyBuZWVkZWQgYW5kIGluamVjdCBpbiBvdXIgRW50aXR5SGFuZGxl ciBvciBIb21lLCBvciBEQU8gb3Igd2hhdGV2ZXIuIE90aGVyd2lzZSB3ZSYjMzk7cmUgZ29pbmcg dG8gY3JlYXRlIGEgbmV3IGNsYXNzIHRoYXQgbW9zdGx5IHdpbGwgZGVsZWdhdGUgY2FsbHMgdG8g ZW50aXR5TWFuYWdlci48L2Rpdj4KPGRpdj48YnI+PC9kaXY+PGRpdj4yKSB0byBrZWVwIGNvZGUg c2ltcGxlLCBJIHRoaW5rIHRoYXQgb3JnYW5pemluZyBjbGFzc2VzIGJ5IHVzZSBjYXNlcyAobGlr ZSBib29raW5nIGZvciBpbnN0YW5jZSkgaXMgYSByZWFsbHkgZ29vZCBhcHByb2FjaCwgaW5zdGVh ZCBvZiBoYXZpbmcgYSBQZXJzb25Db250cm9sbGVyLCBQZXJzb25TZXJ2aWNlLKBQZXJzb25EQU8g YW5kIFBlcnNvbkVudGl0eSwgdGhhdCBhY2N1bXVsYXRlcyBhbGwga2luZCBvZiBjb2RlIHJlbGF0 ZWQgdG8gUGVyc29uIHVzZSBjYXNlcy4gVmVyeSBvZnRlbiB0aG9zZSBjbGFzc2VzIGJlY29tZSBi bG9hdGVkLqA8L2Rpdj4KPGRpdj5IYXZpbmcgYSBwYWNrYWdlIHRoYXQgaGFuZGxlIGl0cyBvd24g dXNlIGNhc2UsIEhpcmluZ1BlcnNvbiygZm9yIGluc3RhbmNlIChkdW5ubyBpZiBpdCYjMzk7cyBh IGdvb2QgZXhhbXBsZSwgdGhvdWdoKSwgc2VlbXMgbW9yZSBuYXR1cmFsLiBUaGUgY29kZSBpcyBt b3JlIGF0b21pYyBhbmQgd2hlbiBtYWludGFpbmluZyBjb2RlLCB5b3UmIzM5O3JlIG5vdCBzd2lt bWluZyBhdCBhIGJ1bmNoIG9mIGNvZGUgbm90IHJlbGF0ZWQgdG8geW91ciBjYXNlLCBhbmQgdGhp cyBpbiBmYWN0IGdpdmVzIG1vcmUgdmFsdWUgdG8gcmV1c2UgYW5kIGNvZGUgZGVzaWduLiB0aGFu IGFsd2F5cyB1c2luZyB0aGUgc2FtZSBzdHJ1Y3R1cmUgb3ZlciBhbmQgb3ZlciBhZ2Fpbi48L2Rp dj4KPGRpdj5JTUhPLCBJZiB3ZSBjcmVhdGUgYSBnZW5lcmljREFPJmx0O0VudGl0eSBUJmd0OyB0 byBiZSBleHRlbmRlZCwgSSYjMzk7bSBhZnJhaWQgdGhhdCB3aWxsIGVuY291cmFnZSB0aGF0IGtp bmQgb2YgYXBwcm9hY2ggKFBlcnNvbkNvbnRyb2xsZXIsIFBTZXJ2aWNlLCBQREFPIGFuZCBldGMp LiBJZiB3ZSBkbyBhIG1vcmUgZmxleGlibGUgd2F5LCB3ZSBjYW4gZWFzaWVyIHdvcmsgd2l0aCBi b3RoIHdheXMgYXMgb25lJiMzOTtkIHdpc2guPC9kaXY+CjxkaXY+PGJyPjwvZGl2PjxkaXY+Mykg d2hlbiB3ZSBmb3JjZSB0aGUgdXNlIG9mIGV4dGVuZHMgdG8gZG8gc29tZXRoaW5nIHRoYXQgY291 bGQgYmUgZG9uZSB3aXRoIGNvbXBvc2l0aW9uLCB3ZSYjMzk7cmUga2lsbGluZyBvdGhlciBkZXNp Z24gcG9zc2liaWxpdGllcy4gRnJlcXVlbnRseSwgd2UgaGF2ZSB0byBkbyBhbiBleHRlbmRzIG9m IGFuIGV4dGVuZHMgdG8gd29ya2Fyb3VuZCB0aGF0LiBJIG1lYW4gaWYgd2UgaGF2ZSBhIGNsYXNz IEEgoHRoYXQgZXh0ZW5kcyBHIGFuZCBieSBkZXNpZ24gaXQgc2VlbXMgbG9naWNhbCB0aGF0IEEg c2hvdWxkIGV4dGVuZHMgQi4gUGVvcGxlIHdvcmthcm91bmQgdGhhdCBtYWtpbmcgQiBleHRlbmRp bmcgRyAoZXZlbiB0aG91Z2ggc29tZXRpbWVzIEIgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBHKSBz byBBIGNhbiB1c2UgYm90aCBjbGFzc2VzIGFzIHBhcmVudHMuPC9kaXY+CjxkaXY+PGJyPjwvZGl2 PjxkaXY+SSByZWFsbHkgZmVlbCBpbnRpbWlkYXRlZCBkaXNhZ3JlZWluZyB3aXRoIHBlb3BsZSB0 aGF0IGtub3cgc28gbXVjaCBsaWtlIHlvdSBndXlzLCBidXQgSSBzdGlsbCB0aGluayBpdCYjMzk7 cyB3b3J0aCBtb3JlIGRpc2N1c3Npb24gYXJvdW5kIHRoYXQuPC9kaXY+PGRpdj48YnI+PGJyPjxk aXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBXZWQsIFNlcCAyMSwgMjAxMSBhdCA4OjM0IFBNLCBE YW4gQWxsZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5A Z21haWwuY29tIj5kYW4uai5hbGxlbkBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy Pgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhl eDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+PGRpdiBjbGFz cz0iaW0iPk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDE5OjMzLCBEYW4gQWxsZW4gPHNwYW4gZGly PSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5AZ21haWwuY29tIiB0YXJnZXQ9 Il9ibGFuayI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4K PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgY2xhc3M9ImltIj48YmxvY2txdW90 ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVm dDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KCjxkaXY+T24gV2VkLCBTZXAgMjEs IDIwMTEgYXQgMTg6MzAsIFN0dWFydCBEb3VnbGFzIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJl Zj0ibWFpbHRvOnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+c3R1 YXJ0LncuZG91Z2xhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjwvZGl2Pjxk aXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4KCjxkaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1 b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7 cGFkZGluZy1sZWZ0OjFleCI+CjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj48ZGl2 PkkgZG9uJiMzOTt0IHJlYWxseSBsaWtlIHRoYXQgaWRlYSwgYXMgaXQgbWVhbnMgdGhhdCBmb3Jn ZSB0aGVuIGJlY29tZXMgcGFydCBvZiB5b3VyIGJ1aWxkIHByb2Nlc3MuoDwvZGl2PjwvZGl2Pjwv YmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48L2Rpdj48ZGl2PkFoLCBJIHdhcyBzdWdnZXN0aW5n IHRoYXQgeW91IGFkZCB0aGUgYW5ub3RhdGlvbiwgdGhlbiB1c2UgRm9yZ2UgYXMgYSB1dGlsaXR5 IG9uY2UgdG8gY3JlYXRlIHRoZSBkYW8gY2xhc3Nlcy4gU29ydCBvZiBmb3J3YXJkIGVuZ2luZWVy aW5nLjwvZGl2PgoKCjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48L2Rpdj48ZGl2 PkFuZCB0aGUgcmVhc29uIHRoYXQmIzM5O3MgYmVuZWZpY2lhbCBpcyBiZWNhdXNlIGl0IHRlbGxz IGZvcmdlIHdoaWNoIGVudGl0aWVzIHNob3VsZCBoYXZlIGEgZGFvLi4uaW5zdGVhZCBvZiBpdCBq dXN0IGJsaW5kbHkgZG9pbmcgaXQgZm9yIGFsbCBlbnRpdGllcy4gVGhpcyBjb3VsZCBhbHNvIGJl IGEgaGludCBhcyB0byB3aGljaCBVSSBwYWdlcyB0byBjcmVhdGUuPC9kaXY+CgoKPGRpdj48YnI+ PC9kaXY+PGZvbnQgY29sb3I9IiM4ODg4ODgiPjxkaXY+LURhbjwvZGl2PjxkaXY+oDwvZGl2Pjwv Zm9udD48L2Rpdj48ZGl2PjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPi0tIDxicj48ZGl2PkRh biBBbGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhv ciBvZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj4K PGJyPjxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFs bGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVz L2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5j b20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tPC9hPjxicj48YSBocmVm PSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj48L2Rpdj48YnI+CjwvZGl2 PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZA bGlzdHMuamJvc3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgo8YSBocmVm PSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJn ZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFt LWRldjwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2Pgo= --===============1762986285266139568==-- From joserodolfo.freitas at gmail.com Wed Sep 21 23:04:59 2011 Content-Type: multipart/mixed; boundary="===============9179786490973313226==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 00:04:57 -0300 Message-ID: In-Reply-To: CAK8YEYNn1KmMXbyS0cotcmSjNZbEGvn65uq0FsGQqJZPt5Heug@mail.gmail.com --===============9179786490973313226== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable And if something was written in an unclear English, I'd like to remind you that those were my last minutes of a long day. On Wed, Sep 21, 2011 at 11:59 PM, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > Hi guys, > > I see some problems on using extends for this approach: > > 1) I tend to follow the principle composition over inheritance aka "Compo= site > Reuse Principle", > The application design is more flexible when you're not highly tied with > "extends". > And since we already have something that kinda do some of the boilerplate > code we're talking about, the entityManager, AND it works with a simple > association (injection), I think that a better way to extend CRUD > functionalities would be to wrap the EM up, add what we think is needed a= nd > inject in our EntityHandler or Home, or DAO or whatever. Otherwise we're > going to create a new class that mostly will delegate calls to > entityManager. > > 2) to keep code simple, I think that organizing classes by use cases (like > booking for instance) is a really good approach, instead of having a > PersonController, PersonService, PersonDAO and PersonEntity, that > accumulates all kind of code related to Person use cases. Very often those > classes become bloated. > Having a package that handle its own use case, HiringPerson, for instance > (dunno if it's a good example, though), seems more natural. The code is m= ore > atomic and when maintaining code, you're not swimming at a bunch of code = not > related to your case, and this in fact gives more value to reuse and code > design. than always using the same structure over and over again. > IMHO, If we create a genericDAO to be extended, I'm afraid that > will encourage that kind of approach (PersonController, PService, PDAO and > etc). If we do a more flexible way, we can easier work with both ways as > one'd wish. > > 3) when we force the use of extends to do something that could be done wi= th > composition, we're killing other design possibilities. Frequently, we have > to do an extends of an extends to workaround that. I mean if we have a cl= ass > A that extends G and by design it seems logical that A should extends B. > People workaround that making B extending G (even though sometimes B has > nothing to do with G) so A can use both classes as parents. > > I really feel intimidated disagreeing with people that know so much like > you guys, but I still think it's worth more discussion around that. > > > On Wed, Sep 21, 2011 at 8:34 PM, Dan Allen wrot= e: > >> On Wed, Sep 21, 2011 at 19:33, Dan Allen wrote: >> >>> On Wed, Sep 21, 2011 at 18:30, Stuart Douglas < >>> stuart.w.douglas(a)gmail.com> wrote: >>> >>>> I don't really like that idea, as it means that forge then becomes part >>>> of your build process. >>>> >>> >>> Ah, I was suggesting that you add the annotation, then use Forge as a >>> utility once to create the dao classes. Sort of forward engineering. >>> >> >> And the reason that's beneficial is because it tells forge which entities >> should have a dao...instead of it just blindly doing it for all entities. >> This could also be a hint as to which UI pages to create. >> >> -Dan >> >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> >> >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> >> > --===============9179786490973313226== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QW5kIGlmIHNvbWV0aGluZyB3YXMgd3JpdHRlbiBpbiBhbiB1bmNsZWFyIEVuZ2xpc2gsIEkmIzM5 O2QgbGlrZSB0byByZW1pbmQgeW91IHRoYXQgdGhvc2Ugd2VyZSBteSBsYXN0IG1pbnV0ZXMgb2Yg YSBsb25nIGRheS48ZGl2Pjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFdlZCwg U2VwIDIxLCAyMDExIGF0IDExOjU5IFBNLCBKb3PpIFJvZG9sZm8gRnJlaXRhcyA8c3BhbiBkaXI9 Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+ am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+SGkgZ3V5cyw8ZGl2 Pjxicj48L2Rpdj48ZGl2Pkkgc2VlIHNvbWUgcHJvYmxlbXMgb24gdXNpbmcgZXh0ZW5kcyBmb3Ig dGhpcyBhcHByb2FjaDo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjEpIEkgdGVuZCB0byBmb2xs b3cgdGhlIHByaW5jaXBsZSBjb21wb3NpdGlvbiBvdmVyIGluaGVyaXRhbmNlIGFrYSAmcXVvdDs8 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTNweDtsaW5lLWhl aWdodDoxOXB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwgMjU1LCAyNTUpIj5Db21wb3NpdGUg UmV1c2UgUHJpbmNpcGxlJnF1b3Q7LDwvc3Bhbj48L2Rpdj4KCjxkaXY+VGhlIGFwcGxpY2F0aW9u IGRlc2lnbiBpcyBtb3JlIGZsZXhpYmxlIHdoZW4geW91JiMzOTtyZSBub3QgaGlnaGx5IHRpZWQg d2l0aCAmcXVvdDtleHRlbmRzJnF1b3Q7LjwvZGl2PjxkaXY+QW5kIHNpbmNlIHdlIGFscmVhZHkg aGF2ZSBzb21ldGhpbmcgdGhhdCBraW5kYSBkbyBzb21lIG9mIHRoZSBib2lsZXJwbGF0ZSBjb2Rl IHdlJiMzOTtyZSB0YWxraW5nIGFib3V0LCB0aGUgZW50aXR5TWFuYWdlciwgQU5EIGl0IHdvcmtz IHdpdGggYSBzaW1wbGUgYXNzb2NpYXRpb24gKGluamVjdGlvbiksIEkgdGhpbmsgdGhhdCBhIGJl dHRlciB3YXkgdG8gZXh0ZW5kIENSVUQgZnVuY3Rpb25hbGl0aWVzIHdvdWxkIGJlIHRvIHdyYXAg dGhlIEVNIHVwLCBhZGQgd2hhdCB3ZSB0aGluayBpcyBuZWVkZWQgYW5kIGluamVjdCBpbiBvdXIg RW50aXR5SGFuZGxlciBvciBIb21lLCBvciBEQU8gb3Igd2hhdGV2ZXIuIE90aGVyd2lzZSB3ZSYj Mzk7cmUgZ29pbmcgdG8gY3JlYXRlIGEgbmV3IGNsYXNzIHRoYXQgbW9zdGx5IHdpbGwgZGVsZWdh dGUgY2FsbHMgdG8gZW50aXR5TWFuYWdlci48L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+Mikg dG8ga2VlcCBjb2RlIHNpbXBsZSwgSSB0aGluayB0aGF0IG9yZ2FuaXppbmcgY2xhc3NlcyBieSB1 c2UgY2FzZXMgKGxpa2UgYm9va2luZyBmb3IgaW5zdGFuY2UpIGlzIGEgcmVhbGx5IGdvb2QgYXBw cm9hY2gsIGluc3RlYWQgb2YgaGF2aW5nIGEgUGVyc29uQ29udHJvbGxlciwgUGVyc29uU2Vydmlj ZSygUGVyc29uREFPIGFuZCBQZXJzb25FbnRpdHksIHRoYXQgYWNjdW11bGF0ZXMgYWxsIGtpbmQg b2YgY29kZSByZWxhdGVkIHRvIFBlcnNvbiB1c2UgY2FzZXMuIFZlcnkgb2Z0ZW4gdGhvc2UgY2xh c3NlcyBiZWNvbWUgYmxvYXRlZC6gPC9kaXY+Cgo8ZGl2PkhhdmluZyBhIHBhY2thZ2UgdGhhdCBo YW5kbGUgaXRzIG93biB1c2UgY2FzZSwgSGlyaW5nUGVyc29uLKBmb3IgaW5zdGFuY2UgKGR1bm5v IGlmIGl0JiMzOTtzIGEgZ29vZCBleGFtcGxlLCB0aG91Z2gpLCBzZWVtcyBtb3JlIG5hdHVyYWwu IFRoZSBjb2RlIGlzIG1vcmUgYXRvbWljIGFuZCB3aGVuIG1haW50YWluaW5nIGNvZGUsIHlvdSYj Mzk7cmUgbm90IHN3aW1taW5nIGF0IGEgYnVuY2ggb2YgY29kZSBub3QgcmVsYXRlZCB0byB5b3Vy IGNhc2UsIGFuZCB0aGlzIGluIGZhY3QgZ2l2ZXMgbW9yZSB2YWx1ZSB0byByZXVzZSBhbmQgY29k ZSBkZXNpZ24uIHRoYW4gYWx3YXlzIHVzaW5nIHRoZSBzYW1lIHN0cnVjdHVyZSBvdmVyIGFuZCBv dmVyIGFnYWluLjwvZGl2PgoKPGRpdj5JTUhPLCBJZiB3ZSBjcmVhdGUgYSBnZW5lcmljREFPJmx0 O0VudGl0eSBUJmd0OyB0byBiZSBleHRlbmRlZCwgSSYjMzk7bSBhZnJhaWQgdGhhdCB3aWxsIGVu Y291cmFnZSB0aGF0IGtpbmQgb2YgYXBwcm9hY2ggKFBlcnNvbkNvbnRyb2xsZXIsIFBTZXJ2aWNl LCBQREFPIGFuZCBldGMpLiBJZiB3ZSBkbyBhIG1vcmUgZmxleGlibGUgd2F5LCB3ZSBjYW4gZWFz aWVyIHdvcmsgd2l0aCBib3RoIHdheXMgYXMgb25lJiMzOTtkIHdpc2guPC9kaXY+Cgo8ZGl2Pjxi cj48L2Rpdj48ZGl2PjMpIHdoZW4gd2UgZm9yY2UgdGhlIHVzZSBvZiBleHRlbmRzIHRvIGRvIHNv bWV0aGluZyB0aGF0IGNvdWxkIGJlIGRvbmUgd2l0aCBjb21wb3NpdGlvbiwgd2UmIzM5O3JlIGtp bGxpbmcgb3RoZXIgZGVzaWduIHBvc3NpYmlsaXRpZXMuIEZyZXF1ZW50bHksIHdlIGhhdmUgdG8g ZG8gYW4gZXh0ZW5kcyBvZiBhbiBleHRlbmRzIHRvIHdvcmthcm91bmQgdGhhdC4gSSBtZWFuIGlm IHdlIGhhdmUgYSBjbGFzcyBBIKB0aGF0IGV4dGVuZHMgRyBhbmQgYnkgZGVzaWduIGl0IHNlZW1z IGxvZ2ljYWwgdGhhdCBBIHNob3VsZCBleHRlbmRzIEIuIFBlb3BsZSB3b3JrYXJvdW5kIHRoYXQg bWFraW5nIEIgZXh0ZW5kaW5nIEcgKGV2ZW4gdGhvdWdoIHNvbWV0aW1lcyBCIGhhcyBub3RoaW5n IHRvIGRvIHdpdGggRykgc28gQSBjYW4gdXNlIGJvdGggY2xhc3NlcyBhcyBwYXJlbnRzLjwvZGl2 PgoKPGRpdj48YnI+PC9kaXY+PGRpdj5JIHJlYWxseSBmZWVsIGludGltaWRhdGVkIGRpc2FncmVl aW5nIHdpdGggcGVvcGxlIHRoYXQga25vdyBzbyBtdWNoIGxpa2UgeW91IGd1eXMsIGJ1dCBJIHN0 aWxsIHRoaW5rIGl0JiMzOTtzIHdvcnRoIG1vcmUgZGlzY3Vzc2lvbiBhcm91bmQgdGhhdC48L2Rp dj48ZGl2Pjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXY+PGRpdj48L2Rpdj4K PGRpdiBjbGFzcz0iaDUiPk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDg6MzQgUE0sIERhbiBBbGxl biA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5j b20iIHRhcmdldD0iX2JsYW5rIj5kYW4uai5hbGxlbkBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4g d3JvdGU6PGJyPgo8L2Rpdj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0 eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5n LWxlZnQ6MWV4Ij48ZGl2PjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxkaXY+T24gV2VkLCBT ZXAgMjEsIDIwMTEgYXQgMTk6MzMsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhy ZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5kYW4uai5h bGxlbkBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgoKPC9kaXY+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPjxkaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHls ZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1s ZWZ0OjFleCI+Cgo8ZGl2Pk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDE4OjMwLCBTdHVhcnQgRG91 Z2xhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpzdHVhcnQudy5kb3VnbGFz QGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tPC9h PiZndDs8L3NwYW4+IHdyb3RlOjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+Cgo8 ZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgo8ZGl2IHN0 eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+PGRpdj5JIGRvbiYjMzk7dCByZWFsbHkgbGlrZSB0 aGF0IGlkZWEsIGFzIGl0IG1lYW5zIHRoYXQgZm9yZ2UgdGhlbiBiZWNvbWVzIHBhcnQgb2YgeW91 ciBidWlsZCBwcm9jZXNzLqA8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+ PC9kaXY+PGRpdj5BaCwgSSB3YXMgc3VnZ2VzdGluZyB0aGF0IHlvdSBhZGQgdGhlIGFubm90YXRp b24sIHRoZW4gdXNlIEZvcmdlIGFzIGEgdXRpbGl0eSBvbmNlIHRvIGNyZWF0ZSB0aGUgZGFvIGNs YXNzZXMuIFNvcnQgb2YgZm9yd2FyZCBlbmdpbmVlcmluZy48L2Rpdj4KCgoKPC9kaXY+PC9ibG9j a3F1b3RlPjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+QW5kIHRoZSByZWFzb24gdGhhdCYjMzk7 cyBiZW5lZmljaWFsIGlzIGJlY2F1c2UgaXQgdGVsbHMgZm9yZ2Ugd2hpY2ggZW50aXRpZXMgc2hv dWxkIGhhdmUgYSBkYW8uLi5pbnN0ZWFkIG9mIGl0IGp1c3QgYmxpbmRseSBkb2luZyBpdCBmb3Ig YWxsIGVudGl0aWVzLiBUaGlzIGNvdWxkIGFsc28gYmUgYSBoaW50IGFzIHRvIHdoaWNoIFVJIHBh Z2VzIHRvIGNyZWF0ZS48L2Rpdj4KCgoKPGRpdj48YnI+PC9kaXY+PGZvbnQgY29sb3I9IiM4ODg4 ODgiPjxkaXY+LURhbjwvZGl2PjxkaXY+oDwvZGl2PjwvZm9udD48L2Rpdj48ZGl2PjxkaXY+PC9k aXY+PGRpdj4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdhcmUgRW5n aW5lZXIsIFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0ZXJlZCBM aW51eCBVc2VyICMyMzE1OTc8YnI+Cgo8YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2ds ZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8v d3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJl Zj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVs aW51eC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0 aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248 L2E+PGJyPjwvZGl2Pjxicj4KPC9kaXY+PC9kaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9 ImltIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4K c2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMu amJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxi cj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFt LWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8YnI+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48 L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4K --===============9179786490973313226==-- From lightguard.jp at gmail.com Wed Sep 21 23:29:53 2011 Content-Type: multipart/mixed; boundary="===============2679659993748003459==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 21:29:43 -0600 Message-ID: In-Reply-To: CAK8YEYOwM7tDPsFa3n7twfs0uoSqv=YYKi7h1rSob6NNQ-7d4Q@mail.gmail.com --===============2679659993748003459== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable No need to apologize :) your points are all valid and good design IMO. I th= ink it's worth continuing the discussion. = I've felt the same way about arguing with some of these guys about coding b= efore. We're all equals here, and many times very simple things can be over= looked, don't feel intimidated, we appreciate the discussions. = Sent from my iPhone On Sep 21, 2011, at 21:04, Jos=C3=A9 Rodolfo Freitas wrote: > And if something was written in an unclear English, I'd like to remind yo= u that those were my last minutes of a long day. > = > = > On Wed, Sep 21, 2011 at 11:59 PM, Jos=C3=A9 Rodolfo Freitas wrote: > Hi guys, > = > I see some problems on using extends for this approach: > = > 1) I tend to follow the principle composition over inheritance aka "Compo= site Reuse Principle", > The application design is more flexible when you're not highly tied with = "extends". > And since we already have something that kinda do some of the boilerplate= code we're talking about, the entityManager, AND it works with a simple as= sociation (injection), I think that a better way to extend CRUD functionali= ties would be to wrap the EM up, add what we think is needed and inject in = our EntityHandler or Home, or DAO or whatever. Otherwise we're going to cre= ate a new class that mostly will delegate calls to entityManager. > = > 2) to keep code simple, I think that organizing classes by use cases (lik= e booking for instance) is a really good approach, instead of having a Pers= onController, PersonService, PersonDAO and PersonEntity, that accumulates a= ll kind of code related to Person use cases. Very often those classes becom= e bloated. = > Having a package that handle its own use case, HiringPerson, for instance= (dunno if it's a good example, though), seems more natural. The code is mo= re atomic and when maintaining code, you're not swimming at a bunch of code= not related to your case, and this in fact gives more value to reuse and c= ode design. than always using the same structure over and over again. > IMHO, If we create a genericDAO to be extended, I'm afraid that= will encourage that kind of approach (PersonController, PService, PDAO and= etc). If we do a more flexible way, we can easier work with both ways as o= ne'd wish. > = > 3) when we force the use of extends to do something that could be done wi= th composition, we're killing other design possibilities. Frequently, we ha= ve to do an extends of an extends to workaround that. I mean if we have a c= lass A that extends G and by design it seems logical that A should extends= B. People workaround that making B extending G (even though sometimes B ha= s nothing to do with G) so A can use both classes as parents. > = > I really feel intimidated disagreeing with people that know so much like = you guys, but I still think it's worth more discussion around that. > = > = > On Wed, Sep 21, 2011 at 8:34 PM, Dan Allen wrot= e: > On Wed, Sep 21, 2011 at 19:33, Dan Allen wrote: > On Wed, Sep 21, 2011 at 18:30, Stuart Douglas wrote: > I don't really like that idea, as it means that forge then becomes part o= f your build process. = > = > Ah, I was suggesting that you add the annotation, then use Forge as a uti= lity once to create the dao classes. Sort of forward engineering. > = > And the reason that's beneficial is because it tells forge which entities= should have a dao...instead of it just blindly doing it for all entities. = This could also be a hint as to which UI pages to create. > = > -Dan > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============2679659993748003459== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5ObyBuZWVkIHRvIGFwb2xvZ2l6ZSA6 KSB5b3VyIHBvaW50cyBhcmUgYWxsIHZhbGlkIGFuZCBnb29kIGRlc2lnbiBJTU8uIEkgdGhpbmsg aXQncyB3b3J0aCBjb250aW51aW5nIHRoZSBkaXNjdXNzaW9uLiZuYnNwOzwvZGl2PjxkaXY+PGJy PjwvZGl2PjxkaXY+SSd2ZSBmZWx0IHRoZSBzYW1lIHdheSBhYm91dCBhcmd1aW5nIHdpdGggc29t ZSBvZiB0aGVzZSBndXlzIGFib3V0IGNvZGluZyBiZWZvcmUuIFdlJ3JlIGFsbCBlcXVhbHMgaGVy ZSwgYW5kIG1hbnkgdGltZXMgdmVyeSBzaW1wbGUgdGhpbmdzIGNhbiBiZSBvdmVybG9va2VkLCBk b24ndCBmZWVsIGludGltaWRhdGVkLCB3ZSBhcHByZWNpYXRlIHRoZSBkaXNjdXNzaW9ucy4mbmJz cDs8YnI+PGJyPlNlbnQgZnJvbSBteSBpUGhvbmU8L2Rpdj48ZGl2Pjxicj5PbiBTZXAgMjEsIDIw MTEsIGF0IDIxOjA0LCBKb3PDqSBSb2RvbGZvIEZyZWl0YXMgJmx0OzxhIGhyZWY9Im1haWx0bzpq b3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5j b208L2E+Jmd0OyB3cm90ZTo8YnI+PGJyPjwvZGl2PjxkaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlw ZT0iY2l0ZSI+PGRpdj5BbmQgaWYgc29tZXRoaW5nIHdhcyB3cml0dGVuIGluIGFuIHVuY2xlYXIg RW5nbGlzaCwgSSdkIGxpa2UgdG8gcmVtaW5kIHlvdSB0aGF0IHRob3NlIHdlcmUgbXkgbGFzdCBt aW51dGVzIG9mIGEgbG9uZyBkYXkuPGRpdj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij5PbiBXZWQsIFNlcCAyMSwgMjAxMSBhdCAxMTo1OSBQTSwgSm9zw6kgUm9kb2xmbyBGcmVpdGFz IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc2Vyb2RvbGZvLmZyZWl0YXNA Z21haWwuY29tIj48YSBocmVmPSJtYWlsdG86am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb20i Pmpvc2Vyb2RvbGZvLmZyZWl0YXNAZ21haWwuY29tPC9hPjwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8 YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij5IaSBndXlz LDxkaXY+PGJyPjwvZGl2PjxkaXY+SSBzZWUgc29tZSBwcm9ibGVtcyBvbiB1c2luZyBleHRlbmRz IGZvciB0aGlzIGFwcHJvYWNoOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+MSkgSSB0ZW5kIHRv IGZvbGxvdyB0aGUgcHJpbmNpcGxlIGNvbXBvc2l0aW9uIG92ZXIgaW5oZXJpdGFuY2UgYWthICI8 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTNweDtsaW5lLWhl aWdodDoxOXB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwgMjU1LCAyNTUpIj5Db21wb3NpdGUg UmV1c2UgUHJpbmNpcGxlIiw8L3NwYW4+PC9kaXY+Cgo8ZGl2PlRoZSBhcHBsaWNhdGlvbiBkZXNp Z24gaXMgbW9yZSBmbGV4aWJsZSB3aGVuIHlvdSdyZSBub3QgaGlnaGx5IHRpZWQgd2l0aCAiZXh0 ZW5kcyIuPC9kaXY+PGRpdj5BbmQgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHNvbWV0aGluZyB0aGF0 IGtpbmRhIGRvIHNvbWUgb2YgdGhlIGJvaWxlcnBsYXRlIGNvZGUgd2UncmUgdGFsa2luZyBhYm91 dCwgdGhlIGVudGl0eU1hbmFnZXIsIEFORCBpdCB3b3JrcyB3aXRoIGEgc2ltcGxlIGFzc29jaWF0 aW9uIChpbmplY3Rpb24pLCBJIHRoaW5rIHRoYXQgYSBiZXR0ZXIgd2F5IHRvIGV4dGVuZCBDUlVE IGZ1bmN0aW9uYWxpdGllcyB3b3VsZCBiZSB0byB3cmFwIHRoZSBFTSB1cCwgYWRkIHdoYXQgd2Ug dGhpbmsgaXMgbmVlZGVkIGFuZCBpbmplY3QgaW4gb3VyIEVudGl0eUhhbmRsZXIgb3IgSG9tZSwg b3IgREFPIG9yIHdoYXRldmVyLiBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gY3JlYXRlIGEgbmV3 IGNsYXNzIHRoYXQgbW9zdGx5IHdpbGwgZGVsZWdhdGUgY2FsbHMgdG8gZW50aXR5TWFuYWdlci48 L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+MikgdG8ga2VlcCBjb2RlIHNpbXBsZSwgSSB0aGlu ayB0aGF0IG9yZ2FuaXppbmcgY2xhc3NlcyBieSB1c2UgY2FzZXMgKGxpa2UgYm9va2luZyBmb3Ig aW5zdGFuY2UpIGlzIGEgcmVhbGx5IGdvb2QgYXBwcm9hY2gsIGluc3RlYWQgb2YgaGF2aW5nIGEg UGVyc29uQ29udHJvbGxlciwgUGVyc29uU2VydmljZSwmbmJzcDtQZXJzb25EQU8gYW5kIFBlcnNv bkVudGl0eSwgdGhhdCBhY2N1bXVsYXRlcyBhbGwga2luZCBvZiBjb2RlIHJlbGF0ZWQgdG8gUGVy c29uIHVzZSBjYXNlcy4gVmVyeSBvZnRlbiB0aG9zZSBjbGFzc2VzIGJlY29tZSBibG9hdGVkLiZu YnNwOzwvZGl2PgoKPGRpdj5IYXZpbmcgYSBwYWNrYWdlIHRoYXQgaGFuZGxlIGl0cyBvd24gdXNl IGNhc2UsIEhpcmluZ1BlcnNvbiwmbmJzcDtmb3IgaW5zdGFuY2UgKGR1bm5vIGlmIGl0J3MgYSBn b29kIGV4YW1wbGUsIHRob3VnaCksIHNlZW1zIG1vcmUgbmF0dXJhbC4gVGhlIGNvZGUgaXMgbW9y ZSBhdG9taWMgYW5kIHdoZW4gbWFpbnRhaW5pbmcgY29kZSwgeW91J3JlIG5vdCBzd2ltbWluZyBh dCBhIGJ1bmNoIG9mIGNvZGUgbm90IHJlbGF0ZWQgdG8geW91ciBjYXNlLCBhbmQgdGhpcyBpbiBm YWN0IGdpdmVzIG1vcmUgdmFsdWUgdG8gcmV1c2UgYW5kIGNvZGUgZGVzaWduLiB0aGFuIGFsd2F5 cyB1c2luZyB0aGUgc2FtZSBzdHJ1Y3R1cmUgb3ZlciBhbmQgb3ZlciBhZ2Fpbi48L2Rpdj4KCjxk aXY+SU1ITywgSWYgd2UgY3JlYXRlIGEgZ2VuZXJpY0RBTyZsdDtFbnRpdHkgVCZndDsgdG8gYmUg ZXh0ZW5kZWQsIEknbSBhZnJhaWQgdGhhdCB3aWxsIGVuY291cmFnZSB0aGF0IGtpbmQgb2YgYXBw cm9hY2ggKFBlcnNvbkNvbnRyb2xsZXIsIFBTZXJ2aWNlLCBQREFPIGFuZCBldGMpLiBJZiB3ZSBk byBhIG1vcmUgZmxleGlibGUgd2F5LCB3ZSBjYW4gZWFzaWVyIHdvcmsgd2l0aCBib3RoIHdheXMg YXMgb25lJ2Qgd2lzaC48L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+Mykgd2hlbiB3ZSBmb3Jj ZSB0aGUgdXNlIG9mIGV4dGVuZHMgdG8gZG8gc29tZXRoaW5nIHRoYXQgY291bGQgYmUgZG9uZSB3 aXRoIGNvbXBvc2l0aW9uLCB3ZSdyZSBraWxsaW5nIG90aGVyIGRlc2lnbiBwb3NzaWJpbGl0aWVz LiBGcmVxdWVudGx5LCB3ZSBoYXZlIHRvIGRvIGFuIGV4dGVuZHMgb2YgYW4gZXh0ZW5kcyB0byB3 b3JrYXJvdW5kIHRoYXQuIEkgbWVhbiBpZiB3ZSBoYXZlIGEgY2xhc3MgQSAmbmJzcDt0aGF0IGV4 dGVuZHMgRyBhbmQgYnkgZGVzaWduIGl0IHNlZW1zIGxvZ2ljYWwgdGhhdCBBIHNob3VsZCBleHRl bmRzIEIuIFBlb3BsZSB3b3JrYXJvdW5kIHRoYXQgbWFraW5nIEIgZXh0ZW5kaW5nIEcgKGV2ZW4g dGhvdWdoIHNvbWV0aW1lcyBCIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggRykgc28gQSBjYW4gdXNl IGJvdGggY2xhc3NlcyBhcyBwYXJlbnRzLjwvZGl2PgoKPGRpdj48YnI+PC9kaXY+PGRpdj5JIHJl YWxseSBmZWVsIGludGltaWRhdGVkIGRpc2FncmVlaW5nIHdpdGggcGVvcGxlIHRoYXQga25vdyBz byBtdWNoIGxpa2UgeW91IGd1eXMsIGJ1dCBJIHN0aWxsIHRoaW5rIGl0J3Mgd29ydGggbW9yZSBk aXNjdXNzaW9uIGFyb3VuZCB0aGF0LjwvZGl2PjxkaXY+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFp bF9xdW90ZSI+PGRpdj48ZGl2PjwvZGl2Pgo8ZGl2IGNsYXNzPSJoNSI+T24gV2VkLCBTZXAgMjEs IDIwMTEgYXQgODozNCBQTSwgRGFuIEFsbGVuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0i bWFpbHRvOmRhbi5qLmFsbGVuQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Im1h aWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwvYT48L2E+ Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8L2Rpdj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21h aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBz b2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2PjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxk aXY+T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTk6MzMsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0 ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iIHRhcmdldD0iX2Js YW5rIj48YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5AZ21haWwuY29tIj5kYW4uai5hbGxlbkBn bWFpbC5jb208L2E+PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjwvZGl2PjxkaXYgY2xhc3M9 ImdtYWlsX3F1b3RlIj48ZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9 Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVm dDoxZXgiPgoKPGRpdj5PbiBXZWQsIFNlcCAyMSwgMjAxMSBhdCAxODozMCwgU3R1YXJ0IERvdWds YXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86c3R1YXJ0LncuZG91Z2xhc0Bn bWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJtYWlsdG86c3R1YXJ0LncuZG91Z2xh c0BnbWFpbC5jb20iPnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tPC9hPjwvYT4mZ3Q7PC9zcGFu PiB3cm90ZTo8YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPgoKPGRpdj48YmxvY2tx dW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXIt bGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KPGRpdiBzdHlsZT0id29yZC13 cmFwOmJyZWFrLXdvcmQiPjxkaXY+SSBkb24ndCByZWFsbHkgbGlrZSB0aGF0IGlkZWEsIGFzIGl0 IG1lYW5zIHRoYXQgZm9yZ2UgdGhlbiBiZWNvbWVzIHBhcnQgb2YgeW91ciBidWlsZCBwcm9jZXNz LiZuYnNwOzwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48L2Rpdj48ZGl2 PkFoLCBJIHdhcyBzdWdnZXN0aW5nIHRoYXQgeW91IGFkZCB0aGUgYW5ub3RhdGlvbiwgdGhlbiB1 c2UgRm9yZ2UgYXMgYSB1dGlsaXR5IG9uY2UgdG8gY3JlYXRlIHRoZSBkYW8gY2xhc3Nlcy4gU29y dCBvZiBmb3J3YXJkIGVuZ2luZWVyaW5nLjwvZGl2PgoKCgo8L2Rpdj48L2Jsb2NrcXVvdGU+PGRp dj48YnI+PC9kaXY+PC9kaXY+PGRpdj5BbmQgdGhlIHJlYXNvbiB0aGF0J3MgYmVuZWZpY2lhbCBp cyBiZWNhdXNlIGl0IHRlbGxzIGZvcmdlIHdoaWNoIGVudGl0aWVzIHNob3VsZCBoYXZlIGEgZGFv Li4uaW5zdGVhZCBvZiBpdCBqdXN0IGJsaW5kbHkgZG9pbmcgaXQgZm9yIGFsbCBlbnRpdGllcy4g VGhpcyBjb3VsZCBhbHNvIGJlIGEgaGludCBhcyB0byB3aGljaCBVSSBwYWdlcyB0byBjcmVhdGUu PC9kaXY+CgoKCjxkaXY+PGJyPjwvZGl2Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48ZGl2Pi1EYW48 L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjwvZm9udD48L2Rpdj48ZGl2PjxkaXY+PC9kaXY+PGRpdj4t LSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdhcmUgRW5naW5lZXIsIFJl ZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0ZXJlZCBMaW51eCBVc2Vy ICMyMzE1OTc8YnI+Cgo8YnI+PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJv ZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJodHRwOi8v d3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiPmh0dHA6Ly93d3cuZ29v Z2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48L2E+PGJyPgoKPGEgaHJlZj0i aHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly9t b2phdmVsaW51eC5jb20iPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PC9hPjxicj48YSBocmVm PSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPjxh IGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIj5odHRwOi8vbW9qYXZl bGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48L2E+PGJyPjwvZGl2Pjxicj4KPC9kaXY+PC9kaXY+ PGJyPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImltIj5fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBo cmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+PGEg aHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMuamJv c3Mub3JnPC9hPjwvYT48YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxt YW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2Ij5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2PC9hPjwvYT48YnI+Cjxicj48L2Rpdj48 L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2Pgo8L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2 Pgo8L2Rpdj48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj48c3Bhbj5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzwvc3Bhbj48YnI+ PHNwYW4+c2VhbS1kZXYgbWFpbGluZyBsaXN0PC9zcGFuPjxicj48c3Bhbj48YSBocmVmPSJtYWls dG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+ PC9zcGFuPjxicj48c3Bhbj48YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3NlYW0tZGV2Ij5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3NlYW0tZGV2PC9hPjwvc3Bhbj48YnI+PC9kaXY+PC9ibG9ja3F1b3RlPjwvYm9keT48L2h0 bWw+ --===============2679659993748003459==-- From lincolnbaxter at gmail.com Wed Sep 21 23:30:20 2011 Content-Type: multipart/mixed; boundary="===============3253988358043018254==" MIME-Version: 1.0 From: Lincoln Baxter, III To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 23:30:18 -0400 Message-ID: In-Reply-To: CAK8YEYOwM7tDPsFa3n7twfs0uoSqv=YYKi7h1rSob6NNQ-7d4Q@mail.gmail.com --===============3253988358043018254== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I actually have to agree with Jose. (Don't worry, you are a smart guy, and we are not that smart :) The EntityManager wrapper pattern in Forge is OK, but it's not a very strongly architected solution. I used it because it was easy, and I tend to think that solutions like it are done simply because "even though it smells, nobody has a better idea of what to eat." In fact, the only reason Forge uses "extends" via PersistenceUtil is because I need to inject a properly scoped EntityManager into *something* in order to make sure the correct one is used. That being said, perhaps one solution is to offer multiple producers for EntityManagers: - The stateless EntityManager - The request / conversation / session scoped EntityManagers - The application-scoped entity manager I am also actually very much in favor of Jason's idea: https://issues.jboss.org/browse/SEAMFORGE-280 combined, or paired with something like http://code.google.com/p/lambico/ (More the GORM-style approach) for simpler queries. DAOs are so 2005, and nobody liked them then. These objects could be exposed via @Named in EL, and of course be made injectable. There are also other approaches, like "Active Record," but in my opinion, the EntityManager poses a bit of a problem: It requires that it must already know about the entity. And in my experience that is an inherently difficult problem to overcome when attempting to build truly stateless applications - resulting in duplicate calls to the database to fetch data that you already have (just to sync things up.) While this is good for things like transactionality, it is bad for performance, but before I get too far off topic here, I'm just going to stop :) In a sense, we are fighting against JPA combined with a Strongly Typed language. I think that the lambico approach (annotating interfaces, like what Spring did - yep I said it) is actually the best approach I've seen in a long time. When you can't beat 'em, join 'em. (Then beat 'em) My 2 cents, ~Lincoln On Wed, Sep 21, 2011 at 11:04 PM, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > And if something was written in an unclear English, I'd like to remind you > that those were my last minutes of a long day. > > > On Wed, Sep 21, 2011 at 11:59 PM, Jos=C3=A9 Rodolfo Freitas < > joserodolfo.freitas(a)gmail.com> wrote: > >> Hi guys, >> >> I see some problems on using extends for this approach: >> >> 1) I tend to follow the principle composition over inheritance aka "Comp= osite >> Reuse Principle", >> The application design is more flexible when you're not highly tied with >> "extends". >> And since we already have something that kinda do some of the boilerplate >> code we're talking about, the entityManager, AND it works with a simple >> association (injection), I think that a better way to extend CRUD >> functionalities would be to wrap the EM up, add what we think is needed = and >> inject in our EntityHandler or Home, or DAO or whatever. Otherwise we're >> going to create a new class that mostly will delegate calls to >> entityManager. >> >> 2) to keep code simple, I think that organizing classes by use cases (li= ke >> booking for instance) is a really good approach, instead of having a >> PersonController, PersonService, PersonDAO and PersonEntity, that >> accumulates all kind of code related to Person use cases. Very often tho= se >> classes become bloated. >> Having a package that handle its own use case, HiringPerson, for instance >> (dunno if it's a good example, though), seems more natural. The code is = more >> atomic and when maintaining code, you're not swimming at a bunch of code= not >> related to your case, and this in fact gives more value to reuse and code >> design. than always using the same structure over and over again. >> IMHO, If we create a genericDAO to be extended, I'm afraid that >> will encourage that kind of approach (PersonController, PService, PDAO a= nd >> etc). If we do a more flexible way, we can easier work with both ways as >> one'd wish. >> >> 3) when we force the use of extends to do something that could be done >> with composition, we're killing other design possibilities. Frequently, = we >> have to do an extends of an extends to workaround that. I mean if we hav= e a >> class A that extends G and by design it seems logical that A should ext= ends >> B. People workaround that making B extending G (even though sometimes B = has >> nothing to do with G) so A can use both classes as parents. >> >> I really feel intimidated disagreeing with people that know so much like >> you guys, but I still think it's worth more discussion around that. >> >> >> On Wed, Sep 21, 2011 at 8:34 PM, Dan Allen wro= te: >> >>> On Wed, Sep 21, 2011 at 19:33, Dan Allen wrot= e: >>> >>>> On Wed, Sep 21, 2011 at 18:30, Stuart Douglas < >>>> stuart.w.douglas(a)gmail.com> wrote: >>>> >>>>> I don't really like that idea, as it means that forge then becomes pa= rt >>>>> of your build process. >>>>> >>>> >>>> Ah, I was suggesting that you add the annotation, then use Forge as a >>>> utility once to create the dao classes. Sort of forward engineering. >>>> >>> >>> And the reason that's beneficial is because it tells forge which entiti= es >>> should have a dao...instead of it just blindly doing it for all entitie= s. >>> This could also be a hint as to which UI pages to create. >>> >>> -Dan >>> >>> -- >>> Dan Allen >>> Principal Software Engineer, Red Hat | Author of Seam in Action >>> Registered Linux User #231597 >>> >>> http://www.google.com/profiles/dan.j.allen#about >>> http://mojavelinux.com >>> http://mojavelinux.com/seaminaction >>> >>> >>> _______________________________________________ >>> seam-dev mailing list >>> seam-dev(a)lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/seam-dev >>> >>> >> > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > -- = Lincoln Baxter, III http://ocpsoft.com http://scrumshark.com "Keep it Simple" --===============3253988358043018254== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" SSBhY3R1YWxseSBoYXZlIHRvIGFncmVlIHdpdGggSm9zZS4gKERvbiYjMzk7dCB3b3JyeSwgeW91 IGFyZSBhIHNtYXJ0IGd1eSwgYW5kIHdlIGFyZSBub3QgdGhhdCBzbWFydCA6KTxicj48YnI+VGhl IEVudGl0eU1hbmFnZXIgd3JhcHBlciBwYXR0ZXJuIGluIEZvcmdlIGlzIE9LLCBidXQgaXQmIzM5 O3Mgbm90IGEgdmVyeSBzdHJvbmdseSBhcmNoaXRlY3RlZCBzb2x1dGlvbi4gSSB1c2VkIGl0IGJl Y2F1c2UgaXQgd2FzIGVhc3ksIGFuZCBJIHRlbmQgdG8gdGhpbmsgdGhhdCBzb2x1dGlvbnMgbGlr ZSBpdCBhcmUgZG9uZSBzaW1wbHkgYmVjYXVzZSAmcXVvdDtldmVuIHRob3VnaCBpdCBzbWVsbHMs IG5vYm9keSBoYXMgYSBiZXR0ZXIgaWRlYSBvZiB3aGF0IHRvIGVhdC4mcXVvdDsgSW4gZmFjdCwg dGhlIG9ubHkgcmVhc29uIEZvcmdlIHVzZXMgJnF1b3Q7ZXh0ZW5kcyZxdW90OyB2aWEgUGVyc2lz dGVuY2VVdGlsIGlzIGJlY2F1c2UgSSBuZWVkIHRvIGluamVjdCBhIHByb3Blcmx5IHNjb3BlZCBF bnRpdHlNYW5hZ2VyIGludG8gKnNvbWV0aGluZyogaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoZSBj b3JyZWN0IG9uZSBpcyB1c2VkLiBUaGF0IGJlaW5nIHNhaWQsIHBlcmhhcHMgb25lIHNvbHV0aW9u IGlzIHRvIG9mZmVyIG11bHRpcGxlIHByb2R1Y2VycyBmb3IgRW50aXR5TWFuYWdlcnM6PGJyPgo8 dWw+PGxpPlRoZSBzdGF0ZWxlc3MgRW50aXR5TWFuYWdlcjwvbGk+PGxpPlRoZSByZXF1ZXN0IC8g Y29udmVyc2F0aW9uIC8gc2Vzc2lvbiBzY29wZWQgRW50aXR5TWFuYWdlcnM8L2xpPjxsaT5UaGUg YXBwbGljYXRpb24tc2NvcGVkIGVudGl0eSBtYW5hZ2VyPGJyPjwvbGk+PC91bD5JIGFtIGFsc28g YWN0dWFsbHkgdmVyeSBtdWNoIGluIGZhdm9yIG9mIEphc29uJiMzOTtzIGlkZWE6IDxhIGhyZWY9 Imh0dHBzOi8vaXNzdWVzLmpib3NzLm9yZy9icm93c2UvU0VBTUZPUkdFLTI4MCI+aHR0cHM6Ly9p c3N1ZXMuamJvc3Mub3JnL2Jyb3dzZS9TRUFNRk9SR0UtMjgwPC9hPiBjb21iaW5lZCwgb3IgcGFp cmVkIHdpdGggc29tZXRoaW5nIGxpa2UgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9w L2xhbWJpY28vIj5odHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGFtYmljby88L2E+IChNb3JlIHRo ZSBHT1JNLXN0eWxlIGFwcHJvYWNoKSBmb3Igc2ltcGxlciBxdWVyaWVzLiBEQU9zIGFyZSBzbyAy MDA1LCBhbmQgbm9ib2R5IGxpa2VkIHRoZW0gdGhlbi48YnI+Cgo8YnI+ClRoZXNlIG9iamVjdHMg Y291bGQgYmUgZXhwb3NlZCB2aWEgQE5hbWVkIGluIEVMLCBhbmQgb2YgY291cnNlIGJlIG1hZGUg aW5qZWN0YWJsZS48YnI+PGJyPlRoZXJlIGFyZSBhbHNvIG90aGVyIGFwcHJvYWNoZXMsIGxpa2Ug JnF1b3Q7QWN0aXZlIFJlY29yZCwmcXVvdDsgYnV0IGluIG15IG9waW5pb24sIHRoZSBFbnRpdHlN YW5hZ2VyIHBvc2VzIGEgYml0IG9mIGEgcHJvYmxlbTogSXQgcmVxdWlyZXMgdGhhdCBpdCBtdXN0 IGFscmVhZHkga25vdyBhYm91dCB0aGUgZW50aXR5LiBBbmQgaW4gbXkgZXhwZXJpZW5jZSB0aGF0 IGlzIGFuIGluaGVyZW50bHkgZGlmZmljdWx0IHByb2JsZW0gdG8gb3ZlcmNvbWUgd2hlbiBhdHRl bXB0aW5nIHRvIGJ1aWxkIHRydWx5IHN0YXRlbGVzcyBhcHBsaWNhdGlvbnMgLSByZXN1bHRpbmcg aW4gZHVwbGljYXRlIGNhbGxzIHRvIHRoZSBkYXRhYmFzZSB0byBmZXRjaCBkYXRhIHRoYXQgeW91 IGFscmVhZHkgaGF2ZSAoanVzdCB0byBzeW5jIHRoaW5ncyB1cC4pIFdoaWxlIHRoaXMgaXMgZ29v ZCBmb3IgdGhpbmdzIGxpa2UgdHJhbnNhY3Rpb25hbGl0eSwgaXQgaXMgYmFkIGZvciBwZXJmb3Jt YW5jZSwgYnV0IGJlZm9yZSBJIGdldCB0b28gZmFyIG9mZiB0b3BpYyBoZXJlLCBJJiMzOTttIGp1 c3QgZ29pbmcgdG8gc3RvcCA6KSBJbiBhIHNlbnNlLCB3ZSBhcmUgZmlnaHRpbmcgYWdhaW5zdCBK UEEgY29tYmluZWQgd2l0aCBhIFN0cm9uZ2x5IFR5cGVkIGxhbmd1YWdlLiBJIHRoaW5rIHRoYXQg dGhlIGxhbWJpY28gYXBwcm9hY2ggKGFubm90YXRpbmcgaW50ZXJmYWNlcywgbGlrZSB3aGF0IFNw cmluZyBkaWQgLSB5ZXAgSSBzYWlkIGl0KSBpcyBhY3R1YWxseSB0aGUgYmVzdCBhcHByb2FjaCBJ JiMzOTt2ZSBzZWVuIGluIGEgbG9uZyB0aW1lLjxicj4KPGJyPldoZW4geW91IGNhbiYjMzk7dCBi ZWF0ICYjMzk7ZW0sIGpvaW4gJiMzOTtlbS4gKFRoZW4gYmVhdCAmIzM5O2VtKTxicj48YnI+TXkg MiBjZW50cyw8YnI+fkxpbmNvbG48YnI+PGJyPjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVv dGUiPk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDExOjA0IFBNLCBKb3PpIFJvZG9sZm8gRnJlaXRh cyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFz QGdtYWlsLmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4g d3JvdGU6PGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46 MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+ QW5kIGlmIHNvbWV0aGluZyB3YXMgd3JpdHRlbiBpbiBhbiB1bmNsZWFyIEVuZ2xpc2gsIEkmIzM5 O2QgbGlrZSB0byByZW1pbmQgeW91IHRoYXQgdGhvc2Ugd2VyZSBteSBsYXN0IG1pbnV0ZXMgb2Yg YSBsb25nIGRheS48ZGl2Pgo8ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1Ij48ZGl2Pjxicj48YnI+ PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDExOjU5IFBN LCBKb3PpIFJvZG9sZm8gRnJlaXRhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0 bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmpvc2Vyb2Rv bGZvLmZyZWl0YXNAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1 b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1s ZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPkhpIGd1eXMsPGRpdj48YnI+PC9k aXY+PGRpdj5JIHNlZSBzb21lIHByb2JsZW1zIG9uIHVzaW5nIGV4dGVuZHMgZm9yIHRoaXMgYXBw cm9hY2g6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4xKSBJIHRlbmQgdG8gZm9sbG93IHRoZSBw cmluY2lwbGUgY29tcG9zaXRpb24gb3ZlciBpbmhlcml0YW5jZSBha2EgJnF1b3Q7PHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTlw eDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsIDI1NSwgMjU1KSI+Q29tcG9zaXRlIFJldXNlIFBy aW5jaXBsZSZxdW90Oyw8L3NwYW4+PC9kaXY+CgoKPGRpdj5UaGUgYXBwbGljYXRpb24gZGVzaWdu IGlzIG1vcmUgZmxleGlibGUgd2hlbiB5b3UmIzM5O3JlIG5vdCBoaWdobHkgdGllZCB3aXRoICZx dW90O2V4dGVuZHMmcXVvdDsuPC9kaXY+PGRpdj5BbmQgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHNv bWV0aGluZyB0aGF0IGtpbmRhIGRvIHNvbWUgb2YgdGhlIGJvaWxlcnBsYXRlIGNvZGUgd2UmIzM5 O3JlIHRhbGtpbmcgYWJvdXQsIHRoZSBlbnRpdHlNYW5hZ2VyLCBBTkQgaXQgd29ya3Mgd2l0aCBh IHNpbXBsZSBhc3NvY2lhdGlvbiAoaW5qZWN0aW9uKSwgSSB0aGluayB0aGF0IGEgYmV0dGVyIHdh eSB0byBleHRlbmQgQ1JVRCBmdW5jdGlvbmFsaXRpZXMgd291bGQgYmUgdG8gd3JhcCB0aGUgRU0g dXAsIGFkZCB3aGF0IHdlIHRoaW5rIGlzIG5lZWRlZCBhbmQgaW5qZWN0IGluIG91ciBFbnRpdHlI YW5kbGVyIG9yIEhvbWUsIG9yIERBTyBvciB3aGF0ZXZlci4gT3RoZXJ3aXNlIHdlJiMzOTtyZSBn b2luZyB0byBjcmVhdGUgYSBuZXcgY2xhc3MgdGhhdCBtb3N0bHkgd2lsbCBkZWxlZ2F0ZSBjYWxs cyB0byBlbnRpdHlNYW5hZ2VyLjwvZGl2PgoKCjxkaXY+PGJyPjwvZGl2PjxkaXY+MikgdG8ga2Vl cCBjb2RlIHNpbXBsZSwgSSB0aGluayB0aGF0IG9yZ2FuaXppbmcgY2xhc3NlcyBieSB1c2UgY2Fz ZXMgKGxpa2UgYm9va2luZyBmb3IgaW5zdGFuY2UpIGlzIGEgcmVhbGx5IGdvb2QgYXBwcm9hY2gs IGluc3RlYWQgb2YgaGF2aW5nIGEgUGVyc29uQ29udHJvbGxlciwgUGVyc29uU2VydmljZSygUGVy c29uREFPIGFuZCBQZXJzb25FbnRpdHksIHRoYXQgYWNjdW11bGF0ZXMgYWxsIGtpbmQgb2YgY29k ZSByZWxhdGVkIHRvIFBlcnNvbiB1c2UgY2FzZXMuIFZlcnkgb2Z0ZW4gdGhvc2UgY2xhc3NlcyBi ZWNvbWUgYmxvYXRlZC6gPC9kaXY+CgoKPGRpdj5IYXZpbmcgYSBwYWNrYWdlIHRoYXQgaGFuZGxl IGl0cyBvd24gdXNlIGNhc2UsIEhpcmluZ1BlcnNvbiygZm9yIGluc3RhbmNlIChkdW5ubyBpZiBp dCYjMzk7cyBhIGdvb2QgZXhhbXBsZSwgdGhvdWdoKSwgc2VlbXMgbW9yZSBuYXR1cmFsLiBUaGUg Y29kZSBpcyBtb3JlIGF0b21pYyBhbmQgd2hlbiBtYWludGFpbmluZyBjb2RlLCB5b3UmIzM5O3Jl IG5vdCBzd2ltbWluZyBhdCBhIGJ1bmNoIG9mIGNvZGUgbm90IHJlbGF0ZWQgdG8geW91ciBjYXNl LCBhbmQgdGhpcyBpbiBmYWN0IGdpdmVzIG1vcmUgdmFsdWUgdG8gcmV1c2UgYW5kIGNvZGUgZGVz aWduLiB0aGFuIGFsd2F5cyB1c2luZyB0aGUgc2FtZSBzdHJ1Y3R1cmUgb3ZlciBhbmQgb3ZlciBh Z2Fpbi48L2Rpdj4KCgo8ZGl2PklNSE8sIElmIHdlIGNyZWF0ZSBhIGdlbmVyaWNEQU8mbHQ7RW50 aXR5IFQmZ3Q7IHRvIGJlIGV4dGVuZGVkLCBJJiMzOTttIGFmcmFpZCB0aGF0IHdpbGwgZW5jb3Vy YWdlIHRoYXQga2luZCBvZiBhcHByb2FjaCAoUGVyc29uQ29udHJvbGxlciwgUFNlcnZpY2UsIFBE QU8gYW5kIGV0YykuIElmIHdlIGRvIGEgbW9yZSBmbGV4aWJsZSB3YXksIHdlIGNhbiBlYXNpZXIg d29yayB3aXRoIGJvdGggd2F5cyBhcyBvbmUmIzM5O2Qgd2lzaC48L2Rpdj4KCgo8ZGl2Pjxicj48 L2Rpdj48ZGl2PjMpIHdoZW4gd2UgZm9yY2UgdGhlIHVzZSBvZiBleHRlbmRzIHRvIGRvIHNvbWV0 aGluZyB0aGF0IGNvdWxkIGJlIGRvbmUgd2l0aCBjb21wb3NpdGlvbiwgd2UmIzM5O3JlIGtpbGxp bmcgb3RoZXIgZGVzaWduIHBvc3NpYmlsaXRpZXMuIEZyZXF1ZW50bHksIHdlIGhhdmUgdG8gZG8g YW4gZXh0ZW5kcyBvZiBhbiBleHRlbmRzIHRvIHdvcmthcm91bmQgdGhhdC4gSSBtZWFuIGlmIHdl IGhhdmUgYSBjbGFzcyBBIKB0aGF0IGV4dGVuZHMgRyBhbmQgYnkgZGVzaWduIGl0IHNlZW1zIGxv Z2ljYWwgdGhhdCBBIHNob3VsZCBleHRlbmRzIEIuIFBlb3BsZSB3b3JrYXJvdW5kIHRoYXQgbWFr aW5nIEIgZXh0ZW5kaW5nIEcgKGV2ZW4gdGhvdWdoIHNvbWV0aW1lcyBCIGhhcyBub3RoaW5nIHRv IGRvIHdpdGggRykgc28gQSBjYW4gdXNlIGJvdGggY2xhc3NlcyBhcyBwYXJlbnRzLjwvZGl2PgoK CjxkaXY+PGJyPjwvZGl2PjxkaXY+SSByZWFsbHkgZmVlbCBpbnRpbWlkYXRlZCBkaXNhZ3JlZWlu ZyB3aXRoIHBlb3BsZSB0aGF0IGtub3cgc28gbXVjaCBsaWtlIHlvdSBndXlzLCBidXQgSSBzdGls bCB0aGluayBpdCYjMzk7cyB3b3J0aCBtb3JlIGRpc2N1c3Npb24gYXJvdW5kIHRoYXQuPC9kaXY+ PGRpdj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2PjxkaXY+PC9kaXY+Cgo8 ZGl2Pk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDg6MzQgUE0sIERhbiBBbGxlbiA8c3BhbiBkaXI9 Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iIHRhcmdldD0i X2JsYW5rIj5kYW4uai5hbGxlbkBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8 L2Rpdj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46 MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48 ZGl2PjxkaXY+PC9kaXY+PGRpdj48ZGl2Pk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDE5OjMzLCBE YW4gQWxsZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5A Z21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZndDs8 L3NwYW4+IHdyb3RlOjxicj4KCgo8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdj48 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KCjxkaXY+T24gV2Vk LCBTZXAgMjEsIDIwMTEgYXQgMTg6MzAsIFN0dWFydCBEb3VnbGFzIDxzcGFuIGRpcj0ibHRyIj4m bHQ7PGEgaHJlZj0ibWFpbHRvOnN0dWFydC53LmRvdWdsYXNAZ21haWwuY29tIiB0YXJnZXQ9Il9i bGFuayI+c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy PjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4KCjxkaXY+PGJsb2NrcXVvdGUgY2xhc3M9 ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNj Y2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13 b3JkIj48ZGl2PkkgZG9uJiMzOTt0IHJlYWxseSBsaWtlIHRoYXQgaWRlYSwgYXMgaXQgbWVhbnMg dGhhdCBmb3JnZSB0aGVuIGJlY29tZXMgcGFydCBvZiB5b3VyIGJ1aWxkIHByb2Nlc3MuoDwvZGl2 PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48L2Rpdj48ZGl2PkFoLCBJIHdhcyBz dWdnZXN0aW5nIHRoYXQgeW91IGFkZCB0aGUgYW5ub3RhdGlvbiwgdGhlbiB1c2UgRm9yZ2UgYXMg YSB1dGlsaXR5IG9uY2UgdG8gY3JlYXRlIHRoZSBkYW8gY2xhc3Nlcy4gU29ydCBvZiBmb3J3YXJk IGVuZ2luZWVyaW5nLjwvZGl2PgoKCgoKPC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2 PjwvZGl2PjxkaXY+QW5kIHRoZSByZWFzb24gdGhhdCYjMzk7cyBiZW5lZmljaWFsIGlzIGJlY2F1 c2UgaXQgdGVsbHMgZm9yZ2Ugd2hpY2ggZW50aXRpZXMgc2hvdWxkIGhhdmUgYSBkYW8uLi5pbnN0 ZWFkIG9mIGl0IGp1c3QgYmxpbmRseSBkb2luZyBpdCBmb3IgYWxsIGVudGl0aWVzLiBUaGlzIGNv dWxkIGFsc28gYmUgYSBoaW50IGFzIHRvIHdoaWNoIFVJIHBhZ2VzIHRvIGNyZWF0ZS48L2Rpdj4K CgoKCjxkaXY+PGJyPjwvZGl2Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48ZGl2Pi1EYW48L2Rpdj48 ZGl2PqA8L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48ZGl2PjwvZGl2PjxkaXY+LS0gPGJyPjxkaXY+ RGFuIEFsbGVuPC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0 aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJy PgoKCjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4u ai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9m aWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRwOi8vbW9qYXZlbGlu dXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48YnI+PGEg aHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5r Ij5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+PC9kaXY+PGJyPgo8 L2Rpdj48L2Rpdj48YnI+PC9kaXY+PC9kaXY+PGRpdj5fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXzxicj4Kc2VhbS1kZXYgbWFpbGluZyBsaXN0PGJyPgo8YSBo cmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+c2Vh bS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9z cy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8v bGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8YnI+PC9k aXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48 L2Rpdj4KPC9kaXY+PC9kaXY+PGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0 bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48 YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2Vh bS1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3NlYW0tZGV2PC9hPjxicj4KPGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNs ZWFyPSJhbGwiPjxicj4tLSA8YnI+TGluY29sbiBCYXh0ZXIsIElJSTxicj48YSBocmVmPSJodHRw Oi8vb2Nwc29mdC5jb20iPmh0dHA6Ly9vY3Bzb2Z0LmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0cDov L3NjcnVtc2hhcmsuY29tIj5odHRwOi8vc2NydW1zaGFyay5jb208L2E+PGJyPiZxdW90O0tlZXAg aXQgU2ltcGxlJnF1b3Q7PGJyPgoK --===============3253988358043018254==-- From lightguard.jp at gmail.com Thu Sep 22 00:30:34 2011 Content-Type: multipart/mixed; boundary="===============0478477656670813404==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 22:30:24 -0600 Message-ID: <120DC24C-2EB0-4BFC-8F1E-A5BC0F3B3E3A@gmail.com> In-Reply-To: CAEp_U4Ho09DLmf-7tj=pxwYLi1rrp1mN+dn94uHWJNvF2WcKHA@mail.gmail.com --===============0478477656670813404== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I like what I've heard thus far, but do have a question about the multiple = scoped EM idea. If you were going to do something like that (session and/or= application scoped), wouldn't it make more sense for us to use a more prop= er architecture and help people understand how to use a cache like Infinisp= an or ehcache? Infinispan may be a better idea as it already has CDI integr= ation and it'll scale with their application or cluster / cloud. = I guess what I'm saying is if we're going to be showing off how to use some= thing in an example or have Forge create it, we need to be doing it right f= rom the first step. It'll save everyone time in the long run and will help = educate the mass of less experienced developers that will undoubtably use o= ur software. = Sent from my iPhone On Sep 21, 2011, at 21:30, "Lincoln Baxter, III" wrote: > I actually have to agree with Jose. (Don't worry, you are a smart guy, an= d we are not that smart :) > = > The EntityManager wrapper pattern in Forge is OK, but it's not a very str= ongly architected solution. I used it because it was easy, and I tend to th= ink that solutions like it are done simply because "even though it smells, = nobody has a better idea of what to eat." In fact, the only reason Forge us= es "extends" via PersistenceUtil is because I need to inject a properly sco= ped EntityManager into *something* in order to make sure the correct one is= used. That being said, perhaps one solution is to offer multiple producers= for EntityManagers: > The stateless EntityManager > The request / conversation / session scoped EntityManagers > The application-scoped entity manager > I am also actually very much in favor of Jason's idea: https://issues.jbo= ss.org/browse/SEAMFORGE-280 combined, or paired with something like http://= code.google.com/p/lambico/ (More the GORM-style approach) for simpler queri= es. DAOs are so 2005, and nobody liked them then. > = > These objects could be exposed via @Named in EL, and of course be made in= jectable. > = > There are also other approaches, like "Active Record," but in my opinion,= the EntityManager poses a bit of a problem: It requires that it must alrea= dy know about the entity. And in my experience that is an inherently diffic= ult problem to overcome when attempting to build truly stateless applicatio= ns - resulting in duplicate calls to the database to fetch data that you al= ready have (just to sync things up.) While this is good for things like tra= nsactionality, it is bad for performance, but before I get too far off topi= c here, I'm just going to stop :) In a sense, we are fighting against JPA c= ombined with a Strongly Typed language. I think that the lambico approach (= annotating interfaces, like what Spring did - yep I said it) is actually th= e best approach I've seen in a long time. > = > When you can't beat 'em, join 'em. (Then beat 'em) > = > My 2 cents, > ~Lincoln > = > = > = > On Wed, Sep 21, 2011 at 11:04 PM, Jos=C3=A9 Rodolfo Freitas wrote: > And if something was written in an unclear English, I'd like to remind yo= u that those were my last minutes of a long day. > = > = > On Wed, Sep 21, 2011 at 11:59 PM, Jos=C3=A9 Rodolfo Freitas wrote: > Hi guys, > = > I see some problems on using extends for this approach: > = > 1) I tend to follow the principle composition over inheritance aka "Compo= site Reuse Principle", > The application design is more flexible when you're not highly tied with = "extends". > And since we already have something that kinda do some of the boilerplate= code we're talking about, the entityManager, AND it works with a simple as= sociation (injection), I think that a better way to extend CRUD functionali= ties would be to wrap the EM up, add what we think is needed and inject in = our EntityHandler or Home, or DAO or whatever. Otherwise we're going to cre= ate a new class that mostly will delegate calls to entityManager. > = > 2) to keep code simple, I think that organizing classes by use cases (lik= e booking for instance) is a really good approach, instead of having a Pers= onController, PersonService, PersonDAO and PersonEntity, that accumulates a= ll kind of code related to Person use cases. Very often those classes becom= e bloated. = > Having a package that handle its own use case, HiringPerson, for instance= (dunno if it's a good example, though), seems more natural. The code is mo= re atomic and when maintaining code, you're not swimming at a bunch of code= not related to your case, and this in fact gives more value to reuse and c= ode design. than always using the same structure over and over again. > IMHO, If we create a genericDAO to be extended, I'm afraid that= will encourage that kind of approach (PersonController, PService, PDAO and= etc). If we do a more flexible way, we can easier work with both ways as o= ne'd wish. > = > 3) when we force the use of extends to do something that could be done wi= th composition, we're killing other design possibilities. Frequently, we ha= ve to do an extends of an extends to workaround that. I mean if we have a c= lass A that extends G and by design it seems logical that A should extends= B. People workaround that making B extending G (even though sometimes B ha= s nothing to do with G) so A can use both classes as parents. > = > I really feel intimidated disagreeing with people that know so much like = you guys, but I still think it's worth more discussion around that. > = > = > On Wed, Sep 21, 2011 at 8:34 PM, Dan Allen wrot= e: > On Wed, Sep 21, 2011 at 19:33, Dan Allen wrote: > On Wed, Sep 21, 2011 at 18:30, Stuart Douglas wrote: > I don't really like that idea, as it means that forge then becomes part o= f your build process. = > = > Ah, I was suggesting that you add the annotation, then use Forge as a uti= lity once to create the dao classes. Sort of forward engineering. > = > And the reason that's beneficial is because it tells forge which entities= should have a dao...instead of it just blindly doing it for all entities. = This could also be a hint as to which UI pages to create. > = > -Dan > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > = > = > -- = > Lincoln Baxter, III > http://ocpsoft.com > http://scrumshark.com > "Keep it Simple" > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============0478477656670813404== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5JIGxpa2Ugd2hhdCBJJ3ZlIGhlYXJk IHRodXMgZmFyLCBidXQgZG8gaGF2ZSBhIHF1ZXN0aW9uIGFib3V0IHRoZSBtdWx0aXBsZSBzY29w ZWQgRU0gaWRlYS4gSWYgeW91IHdlcmUgZ29pbmcgdG8gZG8gc29tZXRoaW5nIGxpa2UgdGhhdCAo c2Vzc2lvbiBhbmQvb3IgYXBwbGljYXRpb24gc2NvcGVkKSwgd291bGRuJ3QgaXQgbWFrZSBtb3Jl IHNlbnNlIGZvciB1cyB0byB1c2UgYSBtb3JlIHByb3BlciBhcmNoaXRlY3R1cmUgYW5kIGhlbHAg cGVvcGxlIHVuZGVyc3RhbmQgaG93IHRvIHVzZSBhIGNhY2hlIGxpa2UgSW5maW5pc3BhbiBvciBl aGNhY2hlPyBJbmZpbmlzcGFuIG1heSBiZSBhIGJldHRlciBpZGVhIGFzIGl0IGFscmVhZHkgaGFz IENESSBpbnRlZ3JhdGlvbiBhbmQgaXQnbGwgc2NhbGUgd2l0aCB0aGVpciBhcHBsaWNhdGlvbiBv ciBjbHVzdGVyIC8gY2xvdWQuJm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGd1ZXNz IHdoYXQgSSdtIHNheWluZyBpcyBpZiB3ZSdyZSBnb2luZyB0byBiZSBzaG93aW5nIG9mZiBob3cg dG8gdXNlIHNvbWV0aGluZyBpbiBhbiBleGFtcGxlIG9yIGhhdmUgRm9yZ2UgY3JlYXRlIGl0LCB3 ZSBuZWVkIHRvIGJlIGRvaW5nIGl0IHJpZ2h0IGZyb20gdGhlIGZpcnN0IHN0ZXAuIEl0J2xsIHNh dmUgZXZlcnlvbmUgdGltZSBpbiB0aGUgbG9uZyBydW4gYW5kIHdpbGwgaGVscCBlZHVjYXRlIHRo ZSBtYXNzIG9mIGxlc3MgZXhwZXJpZW5jZWQgZGV2ZWxvcGVycyB0aGF0IHdpbGwgdW5kb3VidGFi bHkgdXNlIG91ciBzb2Z0d2FyZS4mbmJzcDs8YnI+PGJyPlNlbnQgZnJvbSBteSBpUGhvbmU8L2Rp dj48ZGl2Pjxicj5PbiBTZXAgMjEsIDIwMTEsIGF0IDIxOjMwLCAiTGluY29sbiBCYXh0ZXIsIElJ SSIgJmx0OzxhIGhyZWY9Im1haWx0bzpsaW5jb2xuYmF4dGVyQGdtYWlsLmNvbSI+bGluY29sbmJh eHRlckBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+PGJyPjwvZGl2PjxkaXY+PC9kaXY+PGJs b2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGRpdj5JIGFjdHVhbGx5IGhhdmUgdG8gYWdyZWUgd2l0aCBK b3NlLiAoRG9uJ3Qgd29ycnksIHlvdSBhcmUgYSBzbWFydCBndXksIGFuZCB3ZSBhcmUgbm90IHRo YXQgc21hcnQgOik8YnI+PGJyPlRoZSBFbnRpdHlNYW5hZ2VyIHdyYXBwZXIgcGF0dGVybiBpbiBG b3JnZSBpcyBPSywgYnV0IGl0J3Mgbm90IGEgdmVyeSBzdHJvbmdseSBhcmNoaXRlY3RlZCBzb2x1 dGlvbi4gSSB1c2VkIGl0IGJlY2F1c2UgaXQgd2FzIGVhc3ksIGFuZCBJIHRlbmQgdG8gdGhpbmsg dGhhdCBzb2x1dGlvbnMgbGlrZSBpdCBhcmUgZG9uZSBzaW1wbHkgYmVjYXVzZSAiZXZlbiB0aG91 Z2ggaXQgc21lbGxzLCBub2JvZHkgaGFzIGEgYmV0dGVyIGlkZWEgb2Ygd2hhdCB0byBlYXQuIiBJ biBmYWN0LCB0aGUgb25seSByZWFzb24gRm9yZ2UgdXNlcyAiZXh0ZW5kcyIgdmlhIFBlcnNpc3Rl bmNlVXRpbCBpcyBiZWNhdXNlIEkgbmVlZCB0byBpbmplY3QgYSBwcm9wZXJseSBzY29wZWQgRW50 aXR5TWFuYWdlciBpbnRvICpzb21ldGhpbmcqIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSB0aGUgY29y cmVjdCBvbmUgaXMgdXNlZC4gVGhhdCBiZWluZyBzYWlkLCBwZXJoYXBzIG9uZSBzb2x1dGlvbiBp cyB0byBvZmZlciBtdWx0aXBsZSBwcm9kdWNlcnMgZm9yIEVudGl0eU1hbmFnZXJzOjxicj4KPHVs PjxsaT5UaGUgc3RhdGVsZXNzIEVudGl0eU1hbmFnZXI8L2xpPjxsaT5UaGUgcmVxdWVzdCAvIGNv bnZlcnNhdGlvbiAvIHNlc3Npb24gc2NvcGVkIEVudGl0eU1hbmFnZXJzPC9saT48bGk+VGhlIGFw cGxpY2F0aW9uLXNjb3BlZCBlbnRpdHkgbWFuYWdlcjxicj48L2xpPjwvdWw+SSBhbSBhbHNvIGFj dHVhbGx5IHZlcnkgbXVjaCBpbiBmYXZvciBvZiBKYXNvbidzIGlkZWE6IDxhIGhyZWY9Imh0dHBz Oi8vaXNzdWVzLmpib3NzLm9yZy9icm93c2UvU0VBTUZPUkdFLTI4MCI+PGEgaHJlZj0iaHR0cHM6 Ly9pc3N1ZXMuamJvc3Mub3JnL2Jyb3dzZS9TRUFNRk9SR0UtMjgwIj5odHRwczovL2lzc3Vlcy5q Ym9zcy5vcmcvYnJvd3NlL1NFQU1GT1JHRS0yODA8L2E+PC9hPiBjb21iaW5lZCwgb3IgcGFpcmVk IHdpdGggc29tZXRoaW5nIGxpa2UgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2xh bWJpY28vIj48YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGFtYmljby8iPmh0dHA6 Ly9jb2RlLmdvb2dsZS5jb20vcC9sYW1iaWNvLzwvYT48L2E+IChNb3JlIHRoZSBHT1JNLXN0eWxl IGFwcHJvYWNoKSBmb3Igc2ltcGxlciBxdWVyaWVzLiBEQU9zIGFyZSBzbyAyMDA1LCBhbmQgbm9i b2R5IGxpa2VkIHRoZW0gdGhlbi48YnI+Cgo8YnI+ClRoZXNlIG9iamVjdHMgY291bGQgYmUgZXhw b3NlZCB2aWEgQE5hbWVkIGluIEVMLCBhbmQgb2YgY291cnNlIGJlIG1hZGUgaW5qZWN0YWJsZS48 YnI+PGJyPlRoZXJlIGFyZSBhbHNvIG90aGVyIGFwcHJvYWNoZXMsIGxpa2UgIkFjdGl2ZSBSZWNv cmQsIiBidXQgaW4gbXkgb3BpbmlvbiwgdGhlIEVudGl0eU1hbmFnZXIgcG9zZXMgYSBiaXQgb2Yg YSBwcm9ibGVtOiBJdCByZXF1aXJlcyB0aGF0IGl0IG11c3QgYWxyZWFkeSBrbm93IGFib3V0IHRo ZSBlbnRpdHkuIEFuZCBpbiBteSBleHBlcmllbmNlIHRoYXQgaXMgYW4gaW5oZXJlbnRseSBkaWZm aWN1bHQgcHJvYmxlbSB0byBvdmVyY29tZSB3aGVuIGF0dGVtcHRpbmcgdG8gYnVpbGQgdHJ1bHkg c3RhdGVsZXNzIGFwcGxpY2F0aW9ucyAtIHJlc3VsdGluZyBpbiBkdXBsaWNhdGUgY2FsbHMgdG8g dGhlIGRhdGFiYXNlIHRvIGZldGNoIGRhdGEgdGhhdCB5b3UgYWxyZWFkeSBoYXZlIChqdXN0IHRv IHN5bmMgdGhpbmdzIHVwLikgV2hpbGUgdGhpcyBpcyBnb29kIGZvciB0aGluZ3MgbGlrZSB0cmFu c2FjdGlvbmFsaXR5LCBpdCBpcyBiYWQgZm9yIHBlcmZvcm1hbmNlLCBidXQgYmVmb3JlIEkgZ2V0 IHRvbyBmYXIgb2ZmIHRvcGljIGhlcmUsIEknbSBqdXN0IGdvaW5nIHRvIHN0b3AgOikgSW4gYSBz ZW5zZSwgd2UgYXJlIGZpZ2h0aW5nIGFnYWluc3QgSlBBIGNvbWJpbmVkIHdpdGggYSBTdHJvbmds eSBUeXBlZCBsYW5ndWFnZS4gSSB0aGluayB0aGF0IHRoZSBsYW1iaWNvIGFwcHJvYWNoIChhbm5v dGF0aW5nIGludGVyZmFjZXMsIGxpa2Ugd2hhdCBTcHJpbmcgZGlkIC0geWVwIEkgc2FpZCBpdCkg aXMgYWN0dWFsbHkgdGhlIGJlc3QgYXBwcm9hY2ggSSd2ZSBzZWVuIGluIGEgbG9uZyB0aW1lLjxi cj4KPGJyPldoZW4geW91IGNhbid0IGJlYXQgJ2VtLCBqb2luICdlbS4gKFRoZW4gYmVhdCAnZW0p PGJyPjxicj5NeSAyIGNlbnRzLDxicj5+TGluY29sbjxicj48YnI+PGJyPjxicj48ZGl2IGNsYXNz PSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTE6MDQgUE0sIEpvc8OpIFJv ZG9sZm8gRnJlaXRhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9k b2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+PGEgaHJlZj0ibWFpbHRvOmpvc2Vyb2RvbGZvLmZyZWl0 YXNAZ21haWwuY29tIj5qb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbTwvYT48L2E+Jmd0Ozwv c3Bhbj4gd3JvdGU6PGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJt YXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6 MWV4OyI+QW5kIGlmIHNvbWV0aGluZyB3YXMgd3JpdHRlbiBpbiBhbiB1bmNsZWFyIEVuZ2xpc2gs IEknZCBsaWtlIHRvIHJlbWluZCB5b3UgdGhhdCB0aG9zZSB3ZXJlIG15IGxhc3QgbWludXRlcyBv ZiBhIGxvbmcgZGF5LjxkaXY+CjxkaXY+PC9kaXY+PGRpdiBjbGFzcz0iaDUiPjxkaXY+PGJyPjxi cj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMTE6NTkg UE0sIEpvc8OpIFJvZG9sZm8gRnJlaXRhcyA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1h aWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhy ZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+am9zZXJvZG9sZm8uZnJl aXRhc0BnbWFpbC5jb208L2E+PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KCjxibG9ja3F1b3Rl IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0 OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPkhpIGd1eXMsPGRpdj48YnI+PC9kaXY+ PGRpdj5JIHNlZSBzb21lIHByb2JsZW1zIG9uIHVzaW5nIGV4dGVuZHMgZm9yIHRoaXMgYXBwcm9h Y2g6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4xKSBJIHRlbmQgdG8gZm9sbG93IHRoZSBwcmlu Y2lwbGUgY29tcG9zaXRpb24gb3ZlciBpbmhlcml0YW5jZSBha2EgIjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE5cHg7YmFja2dy b3VuZC1jb2xvcjpyZ2IoMjU1LCAyNTUsIDI1NSkiPkNvbXBvc2l0ZSBSZXVzZSBQcmluY2lwbGUi LDwvc3Bhbj48L2Rpdj4KCgo8ZGl2PlRoZSBhcHBsaWNhdGlvbiBkZXNpZ24gaXMgbW9yZSBmbGV4 aWJsZSB3aGVuIHlvdSdyZSBub3QgaGlnaGx5IHRpZWQgd2l0aCAiZXh0ZW5kcyIuPC9kaXY+PGRp dj5BbmQgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHNvbWV0aGluZyB0aGF0IGtpbmRhIGRvIHNvbWUg b2YgdGhlIGJvaWxlcnBsYXRlIGNvZGUgd2UncmUgdGFsa2luZyBhYm91dCwgdGhlIGVudGl0eU1h bmFnZXIsIEFORCBpdCB3b3JrcyB3aXRoIGEgc2ltcGxlIGFzc29jaWF0aW9uIChpbmplY3Rpb24p LCBJIHRoaW5rIHRoYXQgYSBiZXR0ZXIgd2F5IHRvIGV4dGVuZCBDUlVEIGZ1bmN0aW9uYWxpdGll cyB3b3VsZCBiZSB0byB3cmFwIHRoZSBFTSB1cCwgYWRkIHdoYXQgd2UgdGhpbmsgaXMgbmVlZGVk IGFuZCBpbmplY3QgaW4gb3VyIEVudGl0eUhhbmRsZXIgb3IgSG9tZSwgb3IgREFPIG9yIHdoYXRl dmVyLiBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gY3JlYXRlIGEgbmV3IGNsYXNzIHRoYXQgbW9z dGx5IHdpbGwgZGVsZWdhdGUgY2FsbHMgdG8gZW50aXR5TWFuYWdlci48L2Rpdj4KCgo8ZGl2Pjxi cj48L2Rpdj48ZGl2PjIpIHRvIGtlZXAgY29kZSBzaW1wbGUsIEkgdGhpbmsgdGhhdCBvcmdhbml6 aW5nIGNsYXNzZXMgYnkgdXNlIGNhc2VzIChsaWtlIGJvb2tpbmcgZm9yIGluc3RhbmNlKSBpcyBh IHJlYWxseSBnb29kIGFwcHJvYWNoLCBpbnN0ZWFkIG9mIGhhdmluZyBhIFBlcnNvbkNvbnRyb2xs ZXIsIFBlcnNvblNlcnZpY2UsJm5ic3A7UGVyc29uREFPIGFuZCBQZXJzb25FbnRpdHksIHRoYXQg YWNjdW11bGF0ZXMgYWxsIGtpbmQgb2YgY29kZSByZWxhdGVkIHRvIFBlcnNvbiB1c2UgY2FzZXMu IFZlcnkgb2Z0ZW4gdGhvc2UgY2xhc3NlcyBiZWNvbWUgYmxvYXRlZC4mbmJzcDs8L2Rpdj4KCgo8 ZGl2PkhhdmluZyBhIHBhY2thZ2UgdGhhdCBoYW5kbGUgaXRzIG93biB1c2UgY2FzZSwgSGlyaW5n UGVyc29uLCZuYnNwO2ZvciBpbnN0YW5jZSAoZHVubm8gaWYgaXQncyBhIGdvb2QgZXhhbXBsZSwg dGhvdWdoKSwgc2VlbXMgbW9yZSBuYXR1cmFsLiBUaGUgY29kZSBpcyBtb3JlIGF0b21pYyBhbmQg d2hlbiBtYWludGFpbmluZyBjb2RlLCB5b3UncmUgbm90IHN3aW1taW5nIGF0IGEgYnVuY2ggb2Yg Y29kZSBub3QgcmVsYXRlZCB0byB5b3VyIGNhc2UsIGFuZCB0aGlzIGluIGZhY3QgZ2l2ZXMgbW9y ZSB2YWx1ZSB0byByZXVzZSBhbmQgY29kZSBkZXNpZ24uIHRoYW4gYWx3YXlzIHVzaW5nIHRoZSBz YW1lIHN0cnVjdHVyZSBvdmVyIGFuZCBvdmVyIGFnYWluLjwvZGl2PgoKCjxkaXY+SU1ITywgSWYg d2UgY3JlYXRlIGEgZ2VuZXJpY0RBTyZsdDtFbnRpdHkgVCZndDsgdG8gYmUgZXh0ZW5kZWQsIEkn bSBhZnJhaWQgdGhhdCB3aWxsIGVuY291cmFnZSB0aGF0IGtpbmQgb2YgYXBwcm9hY2ggKFBlcnNv bkNvbnRyb2xsZXIsIFBTZXJ2aWNlLCBQREFPIGFuZCBldGMpLiBJZiB3ZSBkbyBhIG1vcmUgZmxl eGlibGUgd2F5LCB3ZSBjYW4gZWFzaWVyIHdvcmsgd2l0aCBib3RoIHdheXMgYXMgb25lJ2Qgd2lz aC48L2Rpdj4KCgo8ZGl2Pjxicj48L2Rpdj48ZGl2PjMpIHdoZW4gd2UgZm9yY2UgdGhlIHVzZSBv ZiBleHRlbmRzIHRvIGRvIHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIGRvbmUgd2l0aCBjb21wb3Np dGlvbiwgd2UncmUga2lsbGluZyBvdGhlciBkZXNpZ24gcG9zc2liaWxpdGllcy4gRnJlcXVlbnRs eSwgd2UgaGF2ZSB0byBkbyBhbiBleHRlbmRzIG9mIGFuIGV4dGVuZHMgdG8gd29ya2Fyb3VuZCB0 aGF0LiBJIG1lYW4gaWYgd2UgaGF2ZSBhIGNsYXNzIEEgJm5ic3A7dGhhdCBleHRlbmRzIEcgYW5k IGJ5IGRlc2lnbiBpdCBzZWVtcyBsb2dpY2FsIHRoYXQgQSBzaG91bGQgZXh0ZW5kcyBCLiBQZW9w bGUgd29ya2Fyb3VuZCB0aGF0IG1ha2luZyBCIGV4dGVuZGluZyBHIChldmVuIHRob3VnaCBzb21l dGltZXMgQiBoYXMgbm90aGluZyB0byBkbyB3aXRoIEcpIHNvIEEgY2FuIHVzZSBib3RoIGNsYXNz ZXMgYXMgcGFyZW50cy48L2Rpdj4KCgo8ZGl2Pjxicj48L2Rpdj48ZGl2PkkgcmVhbGx5IGZlZWwg aW50aW1pZGF0ZWQgZGlzYWdyZWVpbmcgd2l0aCBwZW9wbGUgdGhhdCBrbm93IHNvIG11Y2ggbGlr ZSB5b3UgZ3V5cywgYnV0IEkgc3RpbGwgdGhpbmsgaXQncyB3b3J0aCBtb3JlIGRpc2N1c3Npb24g YXJvdW5kIHRoYXQuPC9kaXY+PGRpdj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48 ZGl2PjxkaXY+PC9kaXY+Cgo8ZGl2Pk9uIFdlZCwgU2VwIDIxLCAyMDExIGF0IDg6MzQgUE0sIERh biBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBn bWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5AZ21h aWwuY29tIj5kYW4uai5hbGxlbkBnbWFpbC5jb208L2E+PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxi cj4KPC9kaXY+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFl eCI+PGRpdj48ZGl2PjwvZGl2PjxkaXY+PGRpdj5PbiBXZWQsIFNlcCAyMSwgMjAxMSBhdCAxOToz MywgRGFuIEFsbGVuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRhbi5qLmFs bGVuQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxl bkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdtYWlsLmNvbTwvYT48L2E+Jmd0Ozwvc3Bhbj4gd3Jv dGU6PGJyPgoKCjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2PjxibG9ja3F1b3Rl IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0 OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgoKPGRpdj5PbiBXZWQsIFNlcCAyMSwg MjAxMSBhdCAxODozMCwgU3R1YXJ0IERvdWdsYXMgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm PSJtYWlsdG86c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj48YSBo cmVmPSJtYWlsdG86c3R1YXJ0LncuZG91Z2xhc0BnbWFpbC5jb20iPnN0dWFydC53LmRvdWdsYXNA Z21haWwuY29tPC9hPjwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PC9kaXY+PGRpdiBjbGFzcz0i Z21haWxfcXVvdGUiPgoKPGRpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxl ZnQ6MWV4Ij4KPGRpdiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPjxkaXY+SSBkb24ndCBy ZWFsbHkgbGlrZSB0aGF0IGlkZWEsIGFzIGl0IG1lYW5zIHRoYXQgZm9yZ2UgdGhlbiBiZWNvbWVz IHBhcnQgb2YgeW91ciBidWlsZCBwcm9jZXNzLiZuYnNwOzwvZGl2PjwvZGl2PjwvYmxvY2txdW90 ZT48ZGl2Pjxicj48L2Rpdj48L2Rpdj48ZGl2PkFoLCBJIHdhcyBzdWdnZXN0aW5nIHRoYXQgeW91 IGFkZCB0aGUgYW5ub3RhdGlvbiwgdGhlbiB1c2UgRm9yZ2UgYXMgYSB1dGlsaXR5IG9uY2UgdG8g Y3JlYXRlIHRoZSBkYW8gY2xhc3Nlcy4gU29ydCBvZiBmb3J3YXJkIGVuZ2luZWVyaW5nLjwvZGl2 PgoKCgoKPC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+QW5kIHRo ZSByZWFzb24gdGhhdCdzIGJlbmVmaWNpYWwgaXMgYmVjYXVzZSBpdCB0ZWxscyBmb3JnZSB3aGlj aCBlbnRpdGllcyBzaG91bGQgaGF2ZSBhIGRhby4uLmluc3RlYWQgb2YgaXQganVzdCBibGluZGx5 IGRvaW5nIGl0IGZvciBhbGwgZW50aXRpZXMuIFRoaXMgY291bGQgYWxzbyBiZSBhIGhpbnQgYXMg dG8gd2hpY2ggVUkgcGFnZXMgdG8gY3JlYXRlLjwvZGl2PgoKCgoKPGRpdj48YnI+PC9kaXY+PGZv bnQgY29sb3I9IiM4ODg4ODgiPjxkaXY+LURhbjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PC9mb250 PjwvZGl2PjxkaXY+PGRpdj48L2Rpdj48ZGl2Pi0tIDxicj48ZGl2PkRhbiBBbGxlbjwvZGl2PlBy aW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBvZiBTZWFtIGluIEFj dGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj4KCgo8YnI+PGRpdj48YSBo cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRh cmdldD0iX2JsYW5rIj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFu LmouYWxsZW4jYWJvdXQiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxl biNhYm91dDwvYT48L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iPmh0dHA6Ly9tb2ph dmVsaW51eC5jb208L2E+PC9hPjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3Nl YW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5j b20vc2VhbWluYWN0aW9uIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48 L2E+PGJyPjwvZGl2Pjxicj4KPC9kaXY+PC9kaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+X19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1h aWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyIg dGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmci PnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xp c3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+ PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRl diI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48 L2E+PGJyPgo8YnI+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4KPC9ibG9ja3F1 b3RlPjwvZGl2Pjxicj48L2Rpdj4KPC9kaXY+PC9kaXY+PGJyPl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpzZWFtLWRldiBtYWlsaW5nIGxpc3Q8YnI+ CjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPjxhIGhyZWY9Im1haWx0 bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48 L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5v cmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2 Pjxicj48YnIgY2xlYXI9ImFsbCI+PGJyPi0tIDxicj5MaW5jb2xuIEJheHRlciwgSUlJPGJyPjxh IGhyZWY9Imh0dHA6Ly9vY3Bzb2Z0LmNvbSI+PGEgaHJlZj0iaHR0cDovL29jcHNvZnQuY29tIj5o dHRwOi8vb2Nwc29mdC5jb208L2E+PC9hPjxicj48YSBocmVmPSJodHRwOi8vc2NydW1zaGFyay5j b20iPjxhIGhyZWY9Imh0dHA6Ly9zY3J1bXNoYXJrLmNvbSI+aHR0cDovL3NjcnVtc2hhcmsuY29t PC9hPjwvYT48YnI+IktlZXAgaXQgU2ltcGxlIjxicj4KCjwvZGl2PjwvYmxvY2txdW90ZT48Ymxv Y2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2PjxzcGFuPl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fPC9zcGFuPjxicj48c3Bhbj5zZWFtLWRldiBtYWlsaW5nIGxp c3Q8L3NwYW4+PGJyPjxzcGFuPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5v cmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48L3NwYW4+PGJyPjxzcGFuPjxhIGhyZWY9 Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiPmh0dHBz Oi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PC9zcGFuPjxi cj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9ib2R5PjwvaHRtbD4= --===============0478477656670813404==-- From dan.j.allen at gmail.com Thu Sep 22 01:02:41 2011 Content-Type: multipart/mixed; boundary="===============8658495506462329782==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 01:02:10 -0400 Message-ID: In-Reply-To: CAK8YEYOwM7tDPsFa3n7twfs0uoSqv=YYKi7h1rSob6NNQ-7d4Q@mail.gmail.com --===============8658495506462329782== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Wed, Sep 21, 2011 at 23:04, Jos=C3=A9 Rodolfo Freitas < joserodolfo.freitas(a)gmail.com> wrote: > And if something was written in an unclear English, I'd like to remind you > that those were my last minutes of a long day. Don't worry, we don't get on people about perfect grammar. We will only ask for clarification if the point is not coming through clearly. -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============8658495506462329782== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMjM6MDQsIEpvc8OpIFJvZG9sZm8gRnJlaXRhcyA8c3Bh biBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWls LmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6 PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVv dGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtw YWRkaW5nLWxlZnQ6MWV4OyI+CgpBbmQgaWYgc29tZXRoaW5nIHdhcyB3cml0dGVuIGluIGFuIHVu Y2xlYXIgRW5nbGlzaCwgSSYjMzk7ZCBsaWtlIHRvIHJlbWluZCB5b3UgdGhhdCB0aG9zZSB3ZXJl IG15IGxhc3QgbWludXRlcyBvZiBhIGxvbmcgZGF5LjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rp dj48ZGl2PkRvbiYjMzk7dCB3b3JyeSwgd2UgZG9uJiMzOTt0IGdldCBvbiBwZW9wbGUgYWJvdXQg cGVyZmVjdCBncmFtbWFyLiBXZSB3aWxsIG9ubHkgYXNrIGZvciBjbGFyaWZpY2F0aW9uIGlmIHRo ZSBwb2ludCBpcyBub3QgY29taW5nIHRocm91Z2ggY2xlYXJseS48L2Rpdj4KCjxkaXY+PGJyPjwv ZGl2PjxkaXY+LURhbjwvZGl2PjxkaXY+PGJyPjwvZGl2PjwvZGl2Pi0tIDxicj48ZGl2PkRhbiBB bGxlbjwvZGl2PlByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1dGhvciBv ZiBTZWFtIGluIEFjdGlvbjxicj5SZWdpc3RlcmVkIExpbnV4IFVzZXIgIzIzMTU5Nzxicj48YnI+ PGRpdj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4j YWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFu LmouYWxsZW4jYWJvdXQ8L2E+PGJyPgoKPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIg dGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPjxhIGhyZWY9Imh0 dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb248L2E+PGJyPjwvZGl2Pjxicj4K --===============8658495506462329782==-- From dan.j.allen at gmail.com Thu Sep 22 01:03:31 2011 Content-Type: multipart/mixed; boundary="===============6139972967322004208==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 01:03:00 -0400 Message-ID: In-Reply-To: CAKeHnO7XWC1TmKNw1f0RtG-zEkC1zCWuArDsSupCJ-BLyv7Vzg@mail.gmail.com --===============6139972967322004208== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, Sep 22, 2011 at 01:02, Dan Allen wrote: > On Wed, Sep 21, 2011 at 23:04, Jos=C3=A9 Rodolfo Freitas < > joserodolfo.freitas(a)gmail.com> wrote: > >> And if something was written in an unclear English, I'd like to remind y= ou >> that those were my last minutes of a long day. > > > Don't worry, we don't get on people about perfect grammar. We will only a= sk > for clarification if the point is not coming through clearly. > ^ I should say "imperfect grammar". But then I'd be breaking my own rule :) -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============6139972967322004208== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gVGh1LCBTZXAgMjIsIDIwMTEgYXQgMDE6MDIsIERhbiBBbGxlbiA8c3BhbiBkaXI9Imx0ciI+ Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRhbi5qLmFsbGVuQGdt YWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUi PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4 O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij4KCjxkaXYgY2xh c3M9ImltIj5PbiBXZWQsIFNlcCAyMSwgMjAxMSBhdCAyMzowNCwgSm9zw6kgUm9kb2xmbyBGcmVp dGFzIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc2Vyb2RvbGZvLmZyZWl0 YXNAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5j b208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij4KCjxkaXYgY2xhc3M9ImltIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxl ZnQ6MWV4Ij4KQW5kIGlmIHNvbWV0aGluZyB3YXMgd3JpdHRlbiBpbiBhbiB1bmNsZWFyIEVuZ2xp c2gsIEkmIzM5O2QgbGlrZSB0byByZW1pbmQgeW91IHRoYXQgdGhvc2Ugd2VyZSBteSBsYXN0IG1p bnV0ZXMgb2YgYSBsb25nIGRheS48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PC9kaXY+PGRp dj5Eb24mIzM5O3Qgd29ycnksIHdlIGRvbiYjMzk7dCBnZXQgb24gcGVvcGxlIGFib3V0IHBlcmZl Y3QgZ3JhbW1hci4gV2Ugd2lsbCBvbmx5IGFzayBmb3IgY2xhcmlmaWNhdGlvbiBpZiB0aGUgcG9p bnQgaXMgbm90IGNvbWluZyB0aHJvdWdoIGNsZWFybHkuPC9kaXY+Cgo8L2Rpdj48L2Jsb2NrcXVv dGU+PGRpdj48YnI+PC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoF4gSSBzaG91bGQgc2F5ICZxdW90O2ltcGVyZmVjdCBncmFtbWFyJnF1b3Q7LiBCdXQgdGhl biBJJiMzOTtkIGJlIGJyZWFraW5nIG15IG93biBydWxlIDopPC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj4tRGFuPC9kaXY+Cgo8ZGl2PsKgPC9kaXY+PC9kaXY+LS0gPGJyPjxkaXY+RGFuIEFsbGVu PC9kaXY+UHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNl YW0gaW4gQWN0aW9uPGJyPlJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPjxicj48ZGl2 PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91 dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5h bGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tIiB0YXJn ZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0cDov L21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9q YXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+PC9kaXY+PGJyPgo= --===============6139972967322004208==-- From dan.j.allen at gmail.com Thu Sep 22 01:13:32 2011 Content-Type: multipart/mixed; boundary="===============2940567331424644700==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 01:13:01 -0400 Message-ID: In-Reply-To: CAEp_U4Ho09DLmf-7tj=pxwYLi1rrp1mN+dn94uHWJNvF2WcKHA@mail.gmail.com --===============2940567331424644700== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Wed, Sep 21, 2011 at 23:30, Lincoln Baxter, III wrote: > There are also other approaches, like "Active Record," but in my opinion, > the EntityManager poses a bit of a problem: It requires that it must alre= ady > know about the entity. And in my experience that is an inherently difficu= lt > problem to overcome when attempting to build truly stateless applications= - > resulting in duplicate calls to the database to fetch data that you alrea= dy > have (just to sync things up.) While this is good for things like > transactionality, it is bad for performance, but before I get too far off > topic here, I'm just going to stop :) In a sense, we are fighting against > JPA combined with a Strongly Typed language. I think that the lambico > approach (annotating interfaces, like what Spring did - yep I said it) is > actually the best approach I've seen in a long time. > > The other point to make here is that the reason we need a class at all is because the EntityManager only gives us part of what we need. It certainly does CRUD. But it does provide transaction boundaries, it does not hold a reference to the active instance and some of it's methods require knowing the context (persist vs merge vs the implicit update). We don't necessarily want to hide the EntityManager, since a philosophy of Seam has always been to keep the native APIs exposed and unwrapped. But we do want to keep the developer's codebase dry. ...with that said, I'm fine with a "smarter" entity manager class that can be used as a delegate. But I do think there is merit in offering a class to extend for rapid development scenarios. Jose, could you make a gist for how you would create a bean for managing an entity instance using the composite pattern? I'm asking so we have something to contrast. (btw, the term EntityHandler sounds reasonable to me. Another approach Jason and I had was EntityInstanceManager, or *Handler. We want to distinguish between the EntityManager which manages all instances and a component that manages just a single instance). -Dan -- = Dan Allen Principal Software Engineer, Red Hat | Author of Seam in Action Registered Linux User #231597 http://www.google.com/profiles/dan.j.allen#about http://mojavelinux.com http://mojavelinux.com/seaminaction --===============2940567331424644700== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T24gV2VkLCBTZXAgMjEsIDIwMTEgYXQgMjM6MzAsIExpbmNvbG4gQmF4dGVyLCBJSUkgPHNwYW4g ZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iPmxp bmNvbG5iYXh0ZXJAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxkaXYgY2xhc3M9Imdt YWlsX3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46 MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4OyI+ CgpUaGVyZSBhcmUgYWxzbyBvdGhlciBhcHByb2FjaGVzLCBsaWtlICZxdW90O0FjdGl2ZSBSZWNv cmQsJnF1b3Q7IGJ1dCBpbiBteSBvcGluaW9uLCB0aGUgRW50aXR5TWFuYWdlciBwb3NlcyBhIGJp dCBvZiBhIHByb2JsZW06IEl0IHJlcXVpcmVzIHRoYXQgaXQgbXVzdCBhbHJlYWR5IGtub3cgYWJv dXQgdGhlIGVudGl0eS4gQW5kIGluIG15IGV4cGVyaWVuY2UgdGhhdCBpcyBhbiBpbmhlcmVudGx5 IGRpZmZpY3VsdCBwcm9ibGVtIHRvIG92ZXJjb21lIHdoZW4gYXR0ZW1wdGluZyB0byBidWlsZCB0 cnVseSBzdGF0ZWxlc3MgYXBwbGljYXRpb25zIC0gcmVzdWx0aW5nIGluIGR1cGxpY2F0ZSBjYWxs cyB0byB0aGUgZGF0YWJhc2UgdG8gZmV0Y2ggZGF0YSB0aGF0IHlvdSBhbHJlYWR5IGhhdmUgKGp1 c3QgdG8gc3luYyB0aGluZ3MgdXAuKSBXaGlsZSB0aGlzIGlzIGdvb2QgZm9yIHRoaW5ncyBsaWtl IHRyYW5zYWN0aW9uYWxpdHksIGl0IGlzIGJhZCBmb3IgcGVyZm9ybWFuY2UsIGJ1dCBiZWZvcmUg SSBnZXQgdG9vIGZhciBvZmYgdG9waWMgaGVyZSwgSSYjMzk7bSBqdXN0IGdvaW5nIHRvIHN0b3Ag OikgSW4gYSBzZW5zZSwgd2UgYXJlIGZpZ2h0aW5nIGFnYWluc3QgSlBBIGNvbWJpbmVkIHdpdGgg YSBTdHJvbmdseSBUeXBlZCBsYW5ndWFnZS4gSSB0aGluayB0aGF0IHRoZSBsYW1iaWNvIGFwcHJv YWNoIChhbm5vdGF0aW5nIGludGVyZmFjZXMsIGxpa2Ugd2hhdCBTcHJpbmcgZGlkIC0geWVwIEkg c2FpZCBpdCkgaXMgYWN0dWFsbHkgdGhlIGJlc3QgYXBwcm9hY2ggSSYjMzk7dmUgc2VlbiBpbiBh IGxvbmcgdGltZS48YnI+Cgo8YnI+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhl IG90aGVyIHBvaW50IHRvIG1ha2UgaGVyZSBpcyB0aGF0IHRoZSByZWFzb24gd2UgbmVlZCBhIGNs YXNzIGF0IGFsbCBpcyBiZWNhdXNlIHRoZSBFbnRpdHlNYW5hZ2VyIG9ubHkgZ2l2ZXMgdXMgcGFy dCBvZiB3aGF0IHdlIG5lZWQuIEl0IGNlcnRhaW5seSBkb2VzIENSVUQuIEJ1dCBpdCBkb2VzIHBy b3ZpZGUgdHJhbnNhY3Rpb24gYm91bmRhcmllcywgaXQgZG9lcyBub3QgaG9sZCBhIHJlZmVyZW5j ZSB0byB0aGUgYWN0aXZlIGluc3RhbmNlIGFuZCBzb21lIG9mIGl0JiMzOTtzIG1ldGhvZHMgcmVx dWlyZSBrbm93aW5nIHRoZSBjb250ZXh0IChwZXJzaXN0IHZzIG1lcmdlIHZzIHRoZSBpbXBsaWNp dCB1cGRhdGUpLiBXZSBkb24mIzM5O3QgbmVjZXNzYXJpbHkgd2FudCB0byBoaWRlIHRoZSBFbnRp dHlNYW5hZ2VyLCBzaW5jZSBhIHBoaWxvc29waHkgb2YgU2VhbSBoYXMgYWx3YXlzIGJlZW4gdG8g a2VlcCB0aGUgbmF0aXZlIEFQSXMgZXhwb3NlZCBhbmQgdW53cmFwcGVkLiBCdXQgd2UgZG8gd2Fu dCB0byBrZWVwIHRoZSBkZXZlbG9wZXImIzM5O3MgY29kZWJhc2UgZHJ5LjwvZGl2PgoKPGRpdj48 YnI+PC9kaXY+PGRpdj4uLi53aXRoIHRoYXQgc2FpZCwgSSYjMzk7bSBmaW5lIHdpdGggYSAmcXVv dDtzbWFydGVyJnF1b3Q7IGVudGl0eSBtYW5hZ2VyIGNsYXNzIHRoYXQgY2FuIGJlIHVzZWQgYXMg YSBkZWxlZ2F0ZS4gQnV0IEkgZG8gdGhpbmsgdGhlcmUgaXMgbWVyaXQgaW4gb2ZmZXJpbmcgYSBj bGFzcyB0byBleHRlbmQgZm9yIHJhcGlkIGRldmVsb3BtZW50IHNjZW5hcmlvcy48L2Rpdj4KCjxk aXY+PGJyPjwvZGl2PjxkaXY+Sm9zZSwgY291bGQgeW91IG1ha2UgYSBnaXN0IGZvciBob3cgeW91 IHdvdWxkIGNyZWF0ZSBhIGJlYW4gZm9yIG1hbmFnaW5nIGFuIGVudGl0eSBpbnN0YW5jZSB1c2lu ZyB0aGUgY29tcG9zaXRlIHBhdHRlcm4/IEkmIzM5O20gYXNraW5nIHNvIHdlIGhhdmUgc29tZXRo aW5nIHRvIGNvbnRyYXN0LjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+KGJ0dywgdGhlIHRlcm0g RW50aXR5SGFuZGxlciBzb3VuZHMgcmVhc29uYWJsZSB0byBtZS4gQW5vdGhlciBhcHByb2FjaCBK YXNvbiBhbmQgSSBoYWQgd2FzIEVudGl0eUluc3RhbmNlTWFuYWdlciwgb3IgKkhhbmRsZXIuIFdl IHdhbnQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgRW50aXR5TWFuYWdlciB3aGljaCBtYW5h Z2VzIGFsbCBpbnN0YW5jZXMgYW5kIGEgY29tcG9uZW50IHRoYXQgbWFuYWdlcyBqdXN0IGEgc2lu Z2xlIGluc3RhbmNlKS48L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+LURhbjwvZGl2PjxkaXY+ wqA8L2Rpdj48L2Rpdj4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdh cmUgRW5naW5lZXIsIFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0 ZXJlZCBMaW51eCBVc2VyICMyMzE1OTc8YnI+PGJyPjxkaXY+PGEgaHJlZj0iaHR0cDovL3d3dy5n b29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KCjxh IGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9q YXZlbGludXguY29tPC9hPjxicj48YSBocmVmPSJodHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1p bmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2phdmVsaW51eC5jb20vc2VhbWluYWN0 aW9uPC9hPjxicj48L2Rpdj48YnI+Cg== --===============2940567331424644700==-- From lagoria at alice.it Thu Sep 22 02:59:04 2011 Content-Type: multipart/mixed; boundary="===============7875196590841079336==" MIME-Version: 1.0 From: agori To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Wed, 21 Sep 2011 23:59:03 -0700 Message-ID: <1316674743887-3832580.post@n4.nabble.com> In-Reply-To: 4E7948B6.604@gmail.com --===============7875196590841079336== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable An interterface is surely a nice choise, but sometimes it would be better an abtract class to insert custom code in the class. Is possible to implement it throught ServerHandler extension? -- View this message in context: http://seam-framework.2283336.n4.nabble.com/S= AF-aka-Entity-Framework-idea-in-Seam-3-tp3825919p3832580.html Sent from the seam-dev mailing list archive at Nabble.com. --===============7875196590841079336==-- From joserodolfo.freitas at gmail.com Thu Sep 22 09:02:58 2011 Content-Type: multipart/mixed; boundary="===============0604461990787789769==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 10:02:56 -0300 Message-ID: In-Reply-To: CAKeHnO7H4St8KyOSQFM+oCh5Jx2W9Oaa+gWfpjuPBkoMiFQ98Q@mail.gmail.com --===============0604461990787789769== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Ok, I'll try to do that today. On Thu, Sep 22, 2011 at 2:13 AM, Dan Allen wrote: > On Wed, Sep 21, 2011 at 23:30, Lincoln Baxter, III < > lincolnbaxter(a)gmail.com> wrote: > >> There are also other approaches, like "Active Record," but in my opinion, >> the EntityManager poses a bit of a problem: It requires that it must alr= eady >> know about the entity. And in my experience that is an inherently diffic= ult >> problem to overcome when attempting to build truly stateless application= s - >> resulting in duplicate calls to the database to fetch data that you alre= ady >> have (just to sync things up.) While this is good for things like >> transactionality, it is bad for performance, but before I get too far off >> topic here, I'm just going to stop :) In a sense, we are fighting against >> JPA combined with a Strongly Typed language. I think that the lambico >> approach (annotating interfaces, like what Spring did - yep I said it) is >> actually the best approach I've seen in a long time. >> >> > The other point to make here is that the reason we need a class at all is > because the EntityManager only gives us part of what we need. It certainly > does CRUD. But it does provide transaction boundaries, it does not hold a > reference to the active instance and some of it's methods require knowing > the context (persist vs merge vs the implicit update). We don't necessari= ly > want to hide the EntityManager, since a philosophy of Seam has always been > to keep the native APIs exposed and unwrapped. But we do want to keep the > developer's codebase dry. > > ...with that said, I'm fine with a "smarter" entity manager class that can > be used as a delegate. But I do think there is merit in offering a class = to > extend for rapid development scenarios. > > Jose, could you make a gist for how you would create a bean for managing = an > entity instance using the composite pattern? I'm asking so we have someth= ing > to contrast. > > (btw, the term EntityHandler sounds reasonable to me. Another approach > Jason and I had was EntityInstanceManager, or *Handler. We want to > distinguish between the EntityManager which manages all instances and a > component that manages just a single instance). > > -Dan > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > > --===============0604461990787789769== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" T2ssIEkmIzM5O2xsIHRyeSB0byBkbyB0aGF0IHRvZGF5Ljxicj48YnI+PGRpdiBjbGFzcz0iZ21h aWxfcXVvdGUiPk9uIFRodSwgU2VwIDIyLCAyMDExIGF0IDI6MTMgQU0sIERhbiBBbGxlbiA8c3Bh biBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkYW4uai5hbGxlbkBnbWFpbC5jb20iPmRh bi5qLmFsbGVuQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUg Y2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6 MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPgo8ZGl2IGNsYXNzPSJpbSI+T24gV2Vk LCBTZXAgMjEsIDIwMTEgYXQgMjM6MzAsIExpbmNvbG4gQmF4dGVyLCBJSUkgPHNwYW4gZGlyPSJs dHIiPiZsdDs8YSBocmVmPSJtYWlsdG86bGluY29sbmJheHRlckBnbWFpbC5jb20iIHRhcmdldD0i X2JsYW5rIj5saW5jb2xuYmF4dGVyQGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8L2Rp dj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBjbGFzcz0iaW0iPgo8YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDox cHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KClRoZXJlIGFyZSBhbHNvIG90aGVyIGFw cHJvYWNoZXMsIGxpa2UgJnF1b3Q7QWN0aXZlIFJlY29yZCwmcXVvdDsgYnV0IGluIG15IG9waW5p b24sIHRoZSBFbnRpdHlNYW5hZ2VyIHBvc2VzIGEgYml0IG9mIGEgcHJvYmxlbTogSXQgcmVxdWly ZXMgdGhhdCBpdCBtdXN0IGFscmVhZHkga25vdyBhYm91dCB0aGUgZW50aXR5LiBBbmQgaW4gbXkg ZXhwZXJpZW5jZSB0aGF0IGlzIGFuIGluaGVyZW50bHkgZGlmZmljdWx0IHByb2JsZW0gdG8gb3Zl cmNvbWUgd2hlbiBhdHRlbXB0aW5nIHRvIGJ1aWxkIHRydWx5IHN0YXRlbGVzcyBhcHBsaWNhdGlv bnMgLSByZXN1bHRpbmcgaW4gZHVwbGljYXRlIGNhbGxzIHRvIHRoZSBkYXRhYmFzZSB0byBmZXRj aCBkYXRhIHRoYXQgeW91IGFscmVhZHkgaGF2ZSAoanVzdCB0byBzeW5jIHRoaW5ncyB1cC4pIFdo aWxlIHRoaXMgaXMgZ29vZCBmb3IgdGhpbmdzIGxpa2UgdHJhbnNhY3Rpb25hbGl0eSwgaXQgaXMg YmFkIGZvciBwZXJmb3JtYW5jZSwgYnV0IGJlZm9yZSBJIGdldCB0b28gZmFyIG9mZiB0b3BpYyBo ZXJlLCBJJiMzOTttIGp1c3QgZ29pbmcgdG8gc3RvcCA6KSBJbiBhIHNlbnNlLCB3ZSBhcmUgZmln aHRpbmcgYWdhaW5zdCBKUEEgY29tYmluZWQgd2l0aCBhIFN0cm9uZ2x5IFR5cGVkIGxhbmd1YWdl LiBJIHRoaW5rIHRoYXQgdGhlIGxhbWJpY28gYXBwcm9hY2ggKGFubm90YXRpbmcgaW50ZXJmYWNl cywgbGlrZSB3aGF0IFNwcmluZyBkaWQgLSB5ZXAgSSBzYWlkIGl0KSBpcyBhY3R1YWxseSB0aGUg YmVzdCBhcHByb2FjaCBJJiMzOTt2ZSBzZWVuIGluIGEgbG9uZyB0aW1lLjxicj4KCgo8YnI+PC9i bG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjwvZGl2PjxkaXY+VGhlIG90aGVyIHBvaW50IHRvIG1h a2UgaGVyZSBpcyB0aGF0IHRoZSByZWFzb24gd2UgbmVlZCBhIGNsYXNzIGF0IGFsbCBpcyBiZWNh dXNlIHRoZSBFbnRpdHlNYW5hZ2VyIG9ubHkgZ2l2ZXMgdXMgcGFydCBvZiB3aGF0IHdlIG5lZWQu IEl0IGNlcnRhaW5seSBkb2VzIENSVUQuIEJ1dCBpdCBkb2VzIHByb3ZpZGUgdHJhbnNhY3Rpb24g Ym91bmRhcmllcywgaXQgZG9lcyBub3QgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgYWN0aXZlIGlu c3RhbmNlIGFuZCBzb21lIG9mIGl0JiMzOTtzIG1ldGhvZHMgcmVxdWlyZSBrbm93aW5nIHRoZSBj b250ZXh0IChwZXJzaXN0IHZzIG1lcmdlIHZzIHRoZSBpbXBsaWNpdCB1cGRhdGUpLiBXZSBkb24m IzM5O3QgbmVjZXNzYXJpbHkgd2FudCB0byBoaWRlIHRoZSBFbnRpdHlNYW5hZ2VyLCBzaW5jZSBh IHBoaWxvc29waHkgb2YgU2VhbSBoYXMgYWx3YXlzIGJlZW4gdG8ga2VlcCB0aGUgbmF0aXZlIEFQ SXMgZXhwb3NlZCBhbmQgdW53cmFwcGVkLiBCdXQgd2UgZG8gd2FudCB0byBrZWVwIHRoZSBkZXZl bG9wZXImIzM5O3MgY29kZWJhc2UgZHJ5LjwvZGl2PgoKCjxkaXY+PGJyPjwvZGl2PjxkaXY+Li4u d2l0aCB0aGF0IHNhaWQsIEkmIzM5O20gZmluZSB3aXRoIGEgJnF1b3Q7c21hcnRlciZxdW90OyBl bnRpdHkgbWFuYWdlciBjbGFzcyB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgZGVsZWdhdGUuIEJ1dCBJ IGRvIHRoaW5rIHRoZXJlIGlzIG1lcml0IGluIG9mZmVyaW5nIGEgY2xhc3MgdG8gZXh0ZW5kIGZv ciByYXBpZCBkZXZlbG9wbWVudCBzY2VuYXJpb3MuPC9kaXY+CgoKPGRpdj48YnI+PC9kaXY+PGRp dj5Kb3NlLCBjb3VsZCB5b3UgbWFrZSBhIGdpc3QgZm9yIGhvdyB5b3Ugd291bGQgY3JlYXRlIGEg YmVhbiBmb3IgbWFuYWdpbmcgYW4gZW50aXR5IGluc3RhbmNlIHVzaW5nIHRoZSBjb21wb3NpdGUg cGF0dGVybj8gSSYjMzk7bSBhc2tpbmcgc28gd2UgaGF2ZSBzb21ldGhpbmcgdG8gY29udHJhc3Qu PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4oYnR3LCB0aGUgdGVybSBFbnRpdHlIYW5kbGVyIHNv dW5kcyByZWFzb25hYmxlIHRvIG1lLiBBbm90aGVyIGFwcHJvYWNoIEphc29uIGFuZCBJIGhhZCB3 YXMgRW50aXR5SW5zdGFuY2VNYW5hZ2VyLCBvciAqSGFuZGxlci4gV2Ugd2FudCB0byBkaXN0aW5n dWlzaCBiZXR3ZWVuIHRoZSBFbnRpdHlNYW5hZ2VyIHdoaWNoIG1hbmFnZXMgYWxsIGluc3RhbmNl cyBhbmQgYSBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIGp1c3QgYSBzaW5nbGUgaW5zdGFuY2UpLjwv ZGl2PgoKCjxkaXY+PGJyPjwvZGl2Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48ZGl2Pi1EYW48L2Rp dj48ZGl2PqA8L2Rpdj48L2ZvbnQ+PC9kaXY+PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9Img1 Ij4tLSA8YnI+PGRpdj5EYW4gQWxsZW48L2Rpdj5QcmluY2lwYWwgU29mdHdhcmUgRW5naW5lZXIs IFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+UmVnaXN0ZXJlZCBMaW51eCBV c2VyICMyMzE1OTc8YnI+Cjxicj48ZGl2PjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9w cm9maWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZ29v Z2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dDwvYT48YnI+Cgo8YSBocmVmPSJodHRw Oi8vbW9qYXZlbGludXguY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL21vamF2ZWxpbnV4LmNv bTwvYT48YnI+PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+ PC9kaXY+PGJyPgo8L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPgo= --===============0604461990787789769==-- From max.andersen at redhat.com Thu Sep 22 11:19:24 2011 Content-Type: multipart/mixed; boundary="===============7868760510202883583==" MIME-Version: 1.0 From: Max Rydahl Andersen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [forge-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 16:52:04 +0200 Message-ID: <9BB1592F-4558-484F-99EF-FD825D56E456@redhat.com> In-Reply-To: CAKeHnO5A-PcBmsTXWNK7DNsqjTxG7V3rvqYBfxsOSAgt=HwVPQ@mail.gmail.com --===============7868760510202883583== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable just one comment: Calling .flush() on every alteration really should not be promoted as a goo= d practice. /max On Sep 22, 2011, at 24:22, Dan Allen wrote: > Here's some additional feedback I received from a community member a whil= e back...to merge it into this thread. > = > (begin feedback) > = > ...from being burned from 3 seam based customers with apps and maintenanc= e. The "Home" or any other name should be just be put into a grave and slo= wly cast away to sea ;). It is too heavy and complicated and just about an= ything inherited (extends) truly causes heartache[Favor Composition over in= heritance: Effective Java]. The current seam home has a few super classes a= bove the home and when you try to unit test it (the standard definition of = unit-testing including isolation) you get the "No Active Application Contex= t Found (if I remember it right). That happens because it is tightly coupl= ed with the application. But not to be hard on Home, I do realize the hist= ory of the home object and know it was developed when EL had no parameters.= So I have learned a lot since then and I here are some things that I can i= mpart to Seam 3. = > = > 1. My "Home" now is a "ServiceBean", and I have one for each "Major" enti= ty, see below. I have really stewed over this over months and months, and = the "Home" of "ServiceBean" should be kept small, focused, reusable, tested= and untouched. It's only task is to update, persist, possibly remove, or = some other functions that are required. In my example below I have custom = close action. Notice also that although these beans are stateful that does= n't mean everything should be, so in these methods I have the parameter of = what is being needed to be updated, and not a field. In other words I don'= t have @In private Job job, I opted for public boolean update(job). Mostly= because, again, I want to make this service bean reusable so whether I hav= e a #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component of job= I need to work on I only need one jobServiceBean to cater to all my jobs, = in whatever conversation I am using. I also fire events from here if I nee= d to do that. After this is tested, and what I need I usually don't touch= it anymore. If I need to enhance I either use a decorator pattern around = it, or enhance it in an @Observer. I'll email about that later. > = > @Name("jobServiceBean") > @Scope(ScopeType.CONVERSATION) > public class JobServiceBean implements JobService { > private EntityManager entityManager; > private StatusMessages statusMessages; > = > @In > public void setEntityManager(EntityManager entityManager) { > this.entityManager =3D entityManager; > } > = > @In > public void setStatusMessages(StatusMessages statusMessages) { > this.statusMessages =3D statusMessages; > } > = > public boolean update(Job job) { > this.entityManager.flush(); > this.statusMessages.add(StatusMessage.Severity.INFO, "Successfull= y updated job {0}", job.getName()); > return true; > } > = > public boolean close(Job job) { > job.setJobStatus(JobStatus.CLOSED); > this.entityManager.flush(); > this.statusMessages.add(StatusMessage.Severity.INFO, "Successfull= y closed job {0}", job.getName()); > return true; > } > } > = > 2. One thing you may have noticed from above that there is no 'instance' = field with corresponding getters or setters like the old 'Home'. So the S= erviceBean in my case is not a full crud, but CUD + your own business metho= ds. That's because that too should be decoupled because we never know the s= ource of the object is. Is the object created from a factory? from a copy?= is it a mapped component, a managed component? Creation of objects or loa= ding of objects, or the manufacturing of objects from factories should be s= eparate from the "home" or in my case the "ServiceBean". > = > (end feedback) > = > -- = > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > = > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > = > _______________________________________________ > forge-dev mailing list > forge-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/forge-dev /max http://about.me/maxandersen --===============7868760510202883583==-- From dan.j.allen at gmail.com Thu Sep 22 13:12:26 2011 Content-Type: multipart/mixed; boundary="===============3935342806470203074==" MIME-Version: 1.0 From: Dan Allen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [forge-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Thu, 22 Sep 2011 13:12:24 -0400 Message-ID: In-Reply-To: 9BB1592F-4558-484F-99EF-FD825D56E456@redhat.com --===============3935342806470203074== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Exactly. flush() has a specific purpose and really doesn't belong in boilerplate code. - Dan Allen Sent from my Android-powered phone: An open platform for carriers, consumers and developers On Sep 22, 2011 11:19 AM, "Max Rydahl Andersen" wrote: > just one comment: > > Calling .flush() on every alteration really should not be promoted as a good practice. > > /max > > On Sep 22, 2011, at 24:22, Dan Allen wrote: > >> Here's some additional feedback I received from a community member a while back...to merge it into this thread. >> >> (begin feedback) >> >> ...from being burned from 3 seam based customers with apps and maintenance. The "Home" or any other name should be just be put into a grave and slowly cast away to sea ;). It is too heavy and complicated and just about anything inherited (extends) truly causes heartache[Favor Composition over inheritance: Effective Java]. The current seam home has a few super classes above the home and when you try to unit test it (the standard definition of unit-testing including isolation) you get the "No Active Application Context Found (if I remember it right). That happens because it is tightly coupled with the application. But not to be hard on Home, I do realize the history of the home object and know it was developed when EL had no parameters. So I have learned a lot since then and I here are some things that I can impart to Seam 3. >> >> 1. My "Home" now is a "ServiceBean", and I have one for each "Major" entity, see below. I have really stewed over this over months and months, and the "Home" of "ServiceBean" should be kept small, focused, reusable, tested and untouched. It's only task is to update, persist, possibly remove, or some other functions that are required. In my example below I have custom close action. Notice also that although these beans are stateful that doesn't mean everything should be, so in these methods I have the parameter of what is being needed to be updated, and not a field. In other words I don't have @In private Job job, I opted for public boolean update(job). Mostly because, again, I want to make this service bean reusable so whether I have a #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component of job I need to work on I only need one jobServiceBean to cater to all my jobs, in whatever conversation I am using. I also fire events from here if I need to do that. ! > After this is tested, and what I need I usually don't touch it anymore. If I need to enhance I either use a decorator pattern around it, or enhance it in an @Observer. I'll email about that later. >> >> @Name("jobServiceBean") >> @Scope(ScopeType.CONVERSATION) >> public class JobServiceBean implements JobService { >> private EntityManager entityManager; >> private StatusMessages statusMessages; >> >> @In >> public void setEntityManager(EntityManager entityManager) { >> this.entityManager =3D entityManager; >> } >> >> @In >> public void setStatusMessages(StatusMessages statusMessages) { >> this.statusMessages =3D statusMessages; >> } >> >> public boolean update(Job job) { >> this.entityManager.flush(); >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully updated job {0}", job.getName()); >> return true; >> } >> >> public boolean close(Job job) { >> job.setJobStatus(JobStatus.CLOSED); >> this.entityManager.flush(); >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully closed job {0}", job.getName()); >> return true; >> } >> } >> >> 2. One thing you may have noticed from above that there is no 'instance' field with corresponding getters or setters like the old 'Home'. So the ServiceBean in my case is not a full crud, but CUD + your own business methods. That's because that too should be decoupled because we never know the source of the object is. Is the object created from a factory? from a copy? is it a mapped component, a managed component? Creation of objects or loading of objects, or the manufacturing of objects from factories should be separate from the "home" or in my case the "ServiceBean". >> >> (end feedback) >> >> -- >> Dan Allen >> Principal Software Engineer, Red Hat | Author of Seam in Action >> Registered Linux User #231597 >> >> http://www.google.com/profiles/dan.j.allen#about >> http://mojavelinux.com >> http://mojavelinux.com/seaminaction >> >> _______________________________________________ >> forge-dev mailing list >> forge-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/forge-dev > > /max > http://about.me/maxandersen > > > > > _______________________________________________ > forge-dev mailing list > forge-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/forge-dev --===============3935342806470203074== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PHA+RXhhY3RseS4gZmx1c2goKSBoYXMgYSBzcGVjaWZpYyBwdXJwb3NlIGFuZCByZWFsbHkgZG9l c24mIzM5O3QgYmVsb25nIGluIGJvaWxlcnBsYXRlIGNvZGUuPC9wPgo8cD4tIERhbiBBbGxlbjwv cD4KPHA+U2VudCBmcm9tIG15IEFuZHJvaWQtcG93ZXJlZCBwaG9uZTo8YnI+CkFuIG9wZW4gcGxh dGZvcm0gZm9yIGNhcnJpZXJzLCBjb25zdW1lcnMgYW5kIGRldmVsb3BlcnM8L3A+CjxkaXYgY2xh c3M9ImdtYWlsX3F1b3RlIj5PbiBTZXAgMjIsIDIwMTEgMTE6MTkgQU0sICZxdW90O01heCBSeWRh aGwgQW5kZXJzZW4mcXVvdDsgJmx0OzxhIGhyZWY9Im1haWx0bzptYXguYW5kZXJzZW5AcmVkaGF0 LmNvbSI+bWF4LmFuZGVyc2VuQHJlZGhhdC5jb208L2E+Jmd0OyB3cm90ZTo8YnIgdHlwZT0iYXR0 cmlidXRpb24iPiZndDsganVzdCBvbmUgY29tbWVudDo8YnI+Jmd0OyA8YnI+CiZndDsgQ2FsbGlu ZyAuZmx1c2goKSBvbiBldmVyeSBhbHRlcmF0aW9uIHJlYWxseSBzaG91bGQgbm90IGJlIHByb21v dGVkIGFzIGEgZ29vZCBwcmFjdGljZS48YnI+Jmd0OyA8YnI+Jmd0OyAvbWF4PGJyPiZndDsgPGJy PiZndDsgT24gU2VwIDIyLCAyMDExLCBhdCAyNDoyMiwgRGFuIEFsbGVuIHdyb3RlOjxicj4mZ3Q7 IDxicj4mZ3Q7Jmd0OyBIZXJlJiMzOTtzIHNvbWUgYWRkaXRpb25hbCBmZWVkYmFjayBJIHJlY2Vp dmVkIGZyb20gYSBjb21tdW5pdHkgbWVtYmVyIGEgd2hpbGUgYmFjay4uLnRvIG1lcmdlIGl0IGlu dG8gdGhpcyB0aHJlYWQuPGJyPgomZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgKGJlZ2luIGZlZWRiYWNr KTxicj4mZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgLi4uZnJvbSBiZWluZyBidXJuZWQgZnJvbSAzIHNl YW0gYmFzZWQgY3VzdG9tZXJzIHdpdGggYXBwcyBhbmQgbWFpbnRlbmFuY2UuICBUaGUgJnF1b3Q7 SG9tZSZxdW90OyBvciBhbnkgb3RoZXIgbmFtZSBzaG91bGQgYmUganVzdCBiZSBwdXQgaW50byBh IGdyYXZlIGFuZCBzbG93bHkgY2FzdCBhd2F5IHRvIHNlYSA7KS4gIEl0IGlzIHRvbyBoZWF2eSBh bmQgY29tcGxpY2F0ZWQgYW5kIGp1c3QgYWJvdXQgYW55dGhpbmcgaW5oZXJpdGVkIChleHRlbmRz KSB0cnVseSBjYXVzZXMgaGVhcnRhY2hlW0Zhdm9yIENvbXBvc2l0aW9uIG92ZXIgaW5oZXJpdGFu Y2U6IEVmZmVjdGl2ZSBKYXZhXS4gVGhlIGN1cnJlbnQgc2VhbSBob21lIGhhcyBhIGZldyBzdXBl ciBjbGFzc2VzIGFib3ZlIHRoZSBob21lIGFuZCB3aGVuIHlvdSB0cnkgdG8gdW5pdCB0ZXN0IGl0 ICh0aGUgc3RhbmRhcmQgZGVmaW5pdGlvbiBvZiB1bml0LXRlc3RpbmcgaW5jbHVkaW5nIGlzb2xh dGlvbikgeW91IGdldCB0aGUgJnF1b3Q7Tm8gQWN0aXZlIEFwcGxpY2F0aW9uIENvbnRleHQgRm91 bmQgKGlmIEkgcmVtZW1iZXIgaXQgcmlnaHQpLiAgVGhhdCBoYXBwZW5zIGJlY2F1c2UgaXQgaXMg dGlnaHRseSBjb3VwbGVkIHdpdGggdGhlIGFwcGxpY2F0aW9uLiAgQnV0IG5vdCB0byBiZSBoYXJk IG9uIEhvbWUsIEkgZG8gcmVhbGl6ZSB0aGUgaGlzdG9yeSBvZiB0aGUgaG9tZSBvYmplY3QgYW5k IGtub3cgaXQgd2FzIGRldmVsb3BlZCB3aGVuIEVMIGhhZCBubyBwYXJhbWV0ZXJzLiBTbyBJIGhh dmUgbGVhcm5lZCBhIGxvdCBzaW5jZSB0aGVuIGFuZCBJIGhlcmUgYXJlIHNvbWUgdGhpbmdzIHRo YXQgSSBjYW4gaW1wYXJ0IHRvIFNlYW0gMy4gIDxicj4KJmd0OyZndDsgPGJyPiZndDsmZ3Q7IDEu IE15ICZxdW90O0hvbWUmcXVvdDsgbm93IGlzIGEgJnF1b3Q7U2VydmljZUJlYW4mcXVvdDssIGFu ZCBJIGhhdmUgb25lIGZvciBlYWNoICZxdW90O01ham9yJnF1b3Q7IGVudGl0eSwgc2VlIGJlbG93 LiAgSSBoYXZlIHJlYWxseSBzdGV3ZWQgb3ZlciB0aGlzIG92ZXIgbW9udGhzIGFuZCBtb250aHMs IGFuZCB0aGUgJnF1b3Q7SG9tZSZxdW90OyBvZiAmcXVvdDtTZXJ2aWNlQmVhbiZxdW90OyBzaG91 bGQgYmUga2VwdCBzbWFsbCwgZm9jdXNlZCwgcmV1c2FibGUsIHRlc3RlZCBhbmQgdW50b3VjaGVk LiAgSXQmIzM5O3Mgb25seSB0YXNrIGlzIHRvIHVwZGF0ZSwgcGVyc2lzdCwgcG9zc2libHkgcmVt b3ZlLCBvciBzb21lIG90aGVyIGZ1bmN0aW9ucyB0aGF0IGFyZSByZXF1aXJlZC4gIEluIG15IGV4 YW1wbGUgYmVsb3cgSSBoYXZlIGN1c3RvbSBjbG9zZSBhY3Rpb24uICBOb3RpY2UgYWxzbyB0aGF0 IGFsdGhvdWdoIHRoZXNlIGJlYW5zIGFyZSBzdGF0ZWZ1bCB0aGF0IGRvZXNuJiMzOTt0IG1lYW4g ZXZlcnl0aGluZyBzaG91bGQgYmUsIHNvIGluIHRoZXNlIG1ldGhvZHMgSSBoYXZlIHRoZSBwYXJh bWV0ZXIgb2Ygd2hhdCBpcyBiZWluZyBuZWVkZWQgdG8gYmUgdXBkYXRlZCwgYW5kIG5vdCBhIGZp ZWxkLiAgSW4gb3RoZXIgd29yZHMgSSBkb24mIzM5O3QgaGF2ZSBASW4gcHJpdmF0ZSBKb2Igam9i LCBJIG9wdGVkIGZvciBwdWJsaWMgYm9vbGVhbiB1cGRhdGUoam9iKS4gIE1vc3RseSBiZWNhdXNl LCBhZ2FpbiwgSSB3YW50IHRvIG1ha2UgdGhpcyBzZXJ2aWNlIGJlYW4gcmV1c2FibGUgc28gd2hl dGhlciBJIGhhdmUgYSAje25ld0pvYn0sICN7Y29weU9mQUpvYn0sIG9yICN7bWFuYWdlZEpvYn0g b3Igd2hhdGV2ZXIgY29tcG9uZW50IG9mIGpvYiBJIG5lZWQgdG8gd29yayBvbiBJIG9ubHkgbmVl ZCBvbmUgam9iU2VydmljZUJlYW4gdG8gY2F0ZXIgdG8gYWxsIG15IGpvYnMsIGluIHdoYXRldmVy IGNvbnZlcnNhdGlvbiBJIGFtIHVzaW5nLiAgSSBhbHNvIGZpcmUgZXZlbnRzIGZyb20gaGVyZSBp ZiBJIG5lZWQgdG8gZG8gdGhhdC4gITxicj4KJmd0OyAgICBBZnRlciB0aGlzIGlzIHRlc3RlZCwg YW5kIHdoYXQgSSBuZWVkIEkgdXN1YWxseSBkb24mIzM5O3QgdG91Y2ggaXQgYW55bW9yZS4gIElm IEkgbmVlZCB0byBlbmhhbmNlIEkgZWl0aGVyIHVzZSBhIGRlY29yYXRvciBwYXR0ZXJuIGFyb3Vu ZCBpdCwgb3IgZW5oYW5jZSBpdCBpbiBhbiBAT2JzZXJ2ZXIuICBJJiMzOTtsbCBlbWFpbCBhYm91 dCB0aGF0IGxhdGVyLjxicj4mZ3Q7Jmd0OyA8YnI+CiZndDsmZ3Q7IEBOYW1lKCZxdW90O2pvYlNl cnZpY2VCZWFuJnF1b3Q7KTxicj4mZ3Q7Jmd0OyBAU2NvcGUoU2NvcGVUeXBlLkNPTlZFUlNBVElP Tik8YnI+Jmd0OyZndDsgcHVibGljIGNsYXNzIEpvYlNlcnZpY2VCZWFuIGltcGxlbWVudHMgSm9i U2VydmljZSB7PGJyPiZndDsmZ3Q7ICAgICBwcml2YXRlIEVudGl0eU1hbmFnZXIgZW50aXR5TWFu YWdlcjs8YnI+Jmd0OyZndDsgICAgIHByaXZhdGUgU3RhdHVzTWVzc2FnZXMgc3RhdHVzTWVzc2Fn ZXM7PGJyPgomZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgICAgIEBJbjxicj4mZ3Q7Jmd0OyAgICAgcHVi bGljIHZvaWQgc2V0RW50aXR5TWFuYWdlcihFbnRpdHlNYW5hZ2VyIGVudGl0eU1hbmFnZXIpIHs8 YnI+Jmd0OyZndDsgICAgICAgICB0aGlzLmVudGl0eU1hbmFnZXIgPSBlbnRpdHlNYW5hZ2VyOzxi cj4mZ3Q7Jmd0OyAgICAgfTxicj4mZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgICAgIEBJbjxicj4mZ3Q7 Jmd0OyAgICAgcHVibGljIHZvaWQgc2V0U3RhdHVzTWVzc2FnZXMoU3RhdHVzTWVzc2FnZXMgc3Rh dHVzTWVzc2FnZXMpIHs8YnI+CiZndDsmZ3Q7ICAgICAgICAgdGhpcy5zdGF0dXNNZXNzYWdlcyA9 IHN0YXR1c01lc3NhZ2VzOzxicj4mZ3Q7Jmd0OyAgICAgfTxicj4mZ3Q7Jmd0OyA8YnI+Jmd0OyZn dDsgICAgIHB1YmxpYyBib29sZWFuIHVwZGF0ZShKb2Igam9iKSB7PGJyPiZndDsmZ3Q7ICAgICAg ICAgdGhpcy5lbnRpdHlNYW5hZ2VyLmZsdXNoKCk7PGJyPiZndDsmZ3Q7ICAgICAgICAgdGhpcy5z dGF0dXNNZXNzYWdlcy5hZGQoPGEgaHJlZj0iaHR0cDovL1N0YXR1c01lc3NhZ2UuU2V2ZXJpdHku SU5GTyI+U3RhdHVzTWVzc2FnZS5TZXZlcml0eS5JTkZPPC9hPiwgJnF1b3Q7U3VjY2Vzc2Z1bGx5 IHVwZGF0ZWQgam9iIHswfSZxdW90Oywgam9iLmdldE5hbWUoKSk7PGJyPgomZ3Q7Jmd0OyAgICAg ICAgIHJldHVybiB0cnVlOzxicj4mZ3Q7Jmd0OyAgICAgfTxicj4mZ3Q7Jmd0OyA8YnI+Jmd0OyZn dDsgICAgIHB1YmxpYyBib29sZWFuIGNsb3NlKEpvYiBqb2IpIHs8YnI+Jmd0OyZndDsgICAgICAg ICBqb2Iuc2V0Sm9iU3RhdHVzKEpvYlN0YXR1cy5DTE9TRUQpOzxicj4mZ3Q7Jmd0OyAgICAgICAg IHRoaXMuZW50aXR5TWFuYWdlci5mbHVzaCgpOzxicj4mZ3Q7Jmd0OyAgICAgICAgIHRoaXMuc3Rh dHVzTWVzc2FnZXMuYWRkKDxhIGhyZWY9Imh0dHA6Ly9TdGF0dXNNZXNzYWdlLlNldmVyaXR5LklO Rk8iPlN0YXR1c01lc3NhZ2UuU2V2ZXJpdHkuSU5GTzwvYT4sICZxdW90O1N1Y2Nlc3NmdWxseSBj bG9zZWQgam9iIHswfSZxdW90Oywgam9iLmdldE5hbWUoKSk7PGJyPgomZ3Q7Jmd0OyAgICAgICAg IHJldHVybiB0cnVlOzxicj4mZ3Q7Jmd0OyAgICAgfTxicj4mZ3Q7Jmd0OyB9PGJyPiZndDsmZ3Q7 IDxicj4mZ3Q7Jmd0OyAyLiBPbmUgdGhpbmcgeW91IG1heSBoYXZlIG5vdGljZWQgZnJvbSBhYm92 ZSB0aGF0IHRoZXJlIGlzIG5vICYjMzk7aW5zdGFuY2UmIzM5OyBmaWVsZCB3aXRoIGNvcnJlc3Bv bmRpbmcgZ2V0dGVycyBvciBzZXR0ZXJzIGxpa2UgdGhlIG9sZCAmIzM5O0hvbWUmIzM5Oy4gICBT byB0aGUgU2VydmljZUJlYW4gaW4gbXkgY2FzZSBpcyBub3QgYSBmdWxsIGNydWQsIGJ1dCBDVUQg KyB5b3VyIG93biBidXNpbmVzcyBtZXRob2RzLiBUaGF0JiMzOTtzIGJlY2F1c2UgdGhhdCB0b28g c2hvdWxkIGJlIGRlY291cGxlZCBiZWNhdXNlIHdlIG5ldmVyIGtub3cgdGhlIHNvdXJjZSBvZiB0 aGUgb2JqZWN0IGlzLiAgSXMgdGhlIG9iamVjdCBjcmVhdGVkIGZyb20gYSBmYWN0b3J5PyBmcm9t IGEgY29weT8gaXMgaXQgYSBtYXBwZWQgY29tcG9uZW50LCBhIG1hbmFnZWQgY29tcG9uZW50PyAg Q3JlYXRpb24gb2Ygb2JqZWN0cyBvciBsb2FkaW5nIG9mIG9iamVjdHMsIG9yIHRoZSBtYW51ZmFj dHVyaW5nIG9mIG9iamVjdHMgZnJvbSBmYWN0b3JpZXMgc2hvdWxkIGJlIHNlcGFyYXRlIGZyb20g dGhlICZxdW90O2hvbWUmcXVvdDsgb3IgaW4gbXkgY2FzZSB0aGUgJnF1b3Q7U2VydmljZUJlYW4m cXVvdDsuPGJyPgomZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgKGVuZCBmZWVkYmFjayk8YnI+Jmd0OyZn dDsgPGJyPiZndDsmZ3Q7IC0tIDxicj4mZ3Q7Jmd0OyBEYW4gQWxsZW48YnI+Jmd0OyZndDsgUHJp bmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBSZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0 aW9uPGJyPiZndDsmZ3Q7IFJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPiZndDsmZ3Q7 IDxicj4KJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rh bi5qLmFsbGVuI2Fib3V0Ij5odHRwOi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxs ZW4jYWJvdXQ8L2E+PGJyPiZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20i Pmh0dHA6Ly9tb2phdmVsaW51eC5jb208L2E+PGJyPiZndDsmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9t b2phdmVsaW51eC5jb20vc2VhbWluYWN0aW9uIj5odHRwOi8vbW9qYXZlbGludXguY29tL3NlYW1p bmFjdGlvbjwvYT48YnI+CiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4mZ3Q7Jmd0OyBmb3JnZS1kZXYgbWFpbGlu ZyBsaXN0PGJyPiZndDsmZ3Q7IDxhIGhyZWY9Im1haWx0bzpmb3JnZS1kZXZAbGlzdHMuamJvc3Mu b3JnIj5mb3JnZS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4mZ3Q7Jmd0OyA8YSBocmVmPSJo dHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZvcmdlLWRldiI+aHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9mb3JnZS1kZXY8L2E+PGJyPgomZ3Q7 IDxicj4mZ3Q7IC9tYXg8YnI+Jmd0OyA8YSBocmVmPSJodHRwOi8vYWJvdXQubWUvbWF4YW5kZXJz ZW4iPmh0dHA6Ly9hYm91dC5tZS9tYXhhbmRlcnNlbjwvYT48YnI+Jmd0OyA8YnI+Jmd0OyA8YnI+ Jmd0OyA8YnI+Jmd0OyA8YnI+Jmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXzxicj4mZ3Q7IGZvcmdlLWRldiBtYWlsaW5nIGxpc3Q8YnI+CiZndDsgPGEg aHJlZj0ibWFpbHRvOmZvcmdlLWRldkBsaXN0cy5qYm9zcy5vcmciPmZvcmdlLWRldkBsaXN0cy5q Ym9zcy5vcmc8L2E+PGJyPiZndDsgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9mb3JnZS1kZXYiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4v bGlzdGluZm8vZm9yZ2UtZGV2PC9hPjxicj48L2Rpdj4K --===============3935342806470203074==-- From mkouba at redhat.com Fri Sep 23 04:46:13 2011 Content-Type: multipart/mixed; boundary="===============5579294199209861791==" MIME-Version: 1.0 From: Martin Kouba To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Fri, 23 Sep 2011 10:46:10 +0200 Message-ID: <4E7C4752.2050907@redhat.com> In-Reply-To: 7F00D9EA-D7FD-46C0-A5D3-44E4B7F10213@gmail.com --===============5579294199209861791== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Very well then we agreed. JIRA issue for Josef: https://issues.jboss.org/browse/SEAM-100 Ales there is one last remaining: = org.jboss.weld.tests.decorators.abstractDecorator.broken.SimpleAbstractDeco= ratorWithInvalidAbstractMethodTest = :-) Martin Dne 21.9.2011 13:33, Ales Justin napsal(a): >> I am for making these types of tests consistent among projects and >> @ShouldThrowException(Exception.class) seems to be right approach. AFAIK >> the only reason it's not used in Seam Compat and Weld is that is was not >> available / reliable enough on different containers at the time the >> tests were written. >> >> If this discussion leads to conclusion that Seam Compat and Weld should >> align, could you file jira tasks please? > Weld master is fully on latest ARQ atm, hence it already uses @STE. > --===============5579294199209861791==-- From ales.justin at gmail.com Fri Sep 23 04:56:48 2011 Content-Type: multipart/mixed; boundary="===============6218852132478751680==" MIME-Version: 1.0 From: Ales Justin To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Fri, 23 Sep 2011 10:56:44 +0200 Message-ID: In-Reply-To: 4E7C4752.2050907@redhat.com --===============6218852132478751680== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > Very well then we agreed. > = > JIRA issue for Josef: https://issues.jboss.org/browse/SEAM-100 > = > Ales there is one last remaining: org.jboss.weld.tests.decorators.abstrac= tDecorator.broken.SimpleAbstractDecoratorWithInvalidAbstractMethodTest :-) Remaining in what way? Not marked with @STE? >>> I am for making these types of tests consistent among projects and >>> @ShouldThrowException(Exception.class) seems to be right approach. AFAIK >>> the only reason it's not used in Seam Compat and Weld is that is was not >>> available / reliable enough on different containers at the time the >>> tests were written. >>> = >>> If this discussion leads to conclusion that Seam Compat and Weld should >>> align, could you file jira tasks please? >> Weld master is fully on latest ARQ atm, hence it already uses @STE. >> = --===============6218852132478751680==-- From mkouba at redhat.com Fri Sep 23 05:02:58 2011 Content-Type: multipart/mixed; boundary="===============6299841883772118605==" MIME-Version: 1.0 From: Martin Kouba To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] cdi/weld/seam - testing failed deployments in arquillian Date: Fri, 23 Sep 2011 11:02:54 +0200 Message-ID: <4E7C4B3E.6050002@redhat.com> In-Reply-To: CE92A767-CB9E-45CC-92BB-B70AC9D06A58@gmail.com --===============6299841883772118605== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Dne 23.9.2011 10:56, Ales Justin napsal(a): >> Very well then we agreed. >> >> JIRA issue for Josef: https://issues.jboss.org/browse/SEAM-100 >> >> Ales there is one last remaining: org.jboss.weld.tests.decorators.abstra= ctDecorator.broken.SimpleAbstractDecoratorWithInvalidAbstractMethodTest :-) > Remaining in what way? > Not marked with @STE? Exactly - not marked with @STE. Sorry for vague expression... >>>> I am for making these types of tests consistent among projects and >>>> @ShouldThrowException(Exception.class) seems to be right approach. AFA= IK >>>> the only reason it's not used in Seam Compat and Weld is that is was n= ot >>>> available / reliable enough on different containers at the time the >>>> tests were written. >>>> >>>> If this discussion leads to conclusion that Seam Compat and Weld should >>>> align, could you file jira tasks please? >>> Weld master is fully on latest ARQ atm, hence it already uses @STE. >>> --===============6299841883772118605==-- From sbryzak at redhat.com Sun Sep 25 20:02:38 2011 Content-Type: multipart/mixed; boundary="===============8248224195309224015==" MIME-Version: 1.0 From: Shane Bryzak To: seam-dev at lists.jboss.org Subject: [seam-dev] Catch, Config and Servlet modules merged with Solder Date: Mon, 26 Sep 2011 10:02:36 +1000 Message-ID: <4E7FC11C.9000000@redhat.com> --===============8248224195309224015== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Just a heads up to everyone, I've merged the catch, config and servlet modules into Solder, so = committers/integrators for these modules should no longer send any pull = requests or merge any changes for these modules, instead they should now = go into Solder. There's still a few additional steps that need to be carried out - 1) documentation still needs to be merged 2) JIRA issues merged and the old modules deleted 3) sfwk.org updated to reflect the change 4) seam-bom updated 5) modules or examples that use catch, config or servlet need to be updated FYI, the new package names are: Seam Catch - org.jboss.solder.exception Seam Config - org.jboss.solder.config Seam Servlet - org.jboss.solder.servlet Any questions or concerns, ask away. We'll be hammering out the = remaining items that I listed above over the next couple of days. Shane --===============8248224195309224015==-- From lightguard.jp at gmail.com Mon Sep 26 18:57:28 2011 Content-Type: multipart/mixed; boundary="===============3324095994611776037==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: [seam-dev] Meeting 2011-09-28 Date: Mon, 26 Sep 2011 16:56:32 -0600 Message-ID: --===============3324095994611776037== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Agenda - Logging (assuming Ken is around) - 10 min - Jenkins - 10 min - What happens after 3.1.0 - 15 min -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============3324095994611776037== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QWdlbmRhPGRpdj48dWw+PGxpPkxvZ2dpbmcgKGFzc3VtaW5nIEtlbiBpcyBhcm91bmQpIC0gMTAg bWluPC9saT48bGk+SmVua2lucyAtIDEwIG1pbjwvbGk+PGxpPldoYXQgaGFwcGVucyBhZnRlciAz LjEuMCAtIDE1IG1pbjwvbGk+PC91bD48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+SmFzb24gUG9ydGVy PGJyPjxhIGhyZWY9Imh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9saWdodGd1YXJkLWpwLmJsb2dzcG90LmNvbTwvYT48YnI+Cgo8YSBocmVm PSJodHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L3R3aXR0ZXIuY29tL2xpZ2h0Z3VhcmRqcDwvYT48YnI+PGJyPlNvZnR3YXJlIEVuZ2luZWVyPGJy Pk9wZW4gU291cmNlIEFkdm9jYXRlPGJyPkF1dGhvciBvZiBTZWFtIENhdGNoIC0gTmV4dCBHZW5l cmF0aW9uIEphdmEgRXhjZXB0aW9uIEhhbmRsaW5nPGJyPjxicj5QR1Aga2V5IGlkOiA5MjZDQ0ZG NTxicj4KClBHUCBrZXkgYXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8va2V5c2VydmVyLm5l dCIgdGFyZ2V0PSJfYmxhbmsiPmtleXNlcnZlci5uZXQ8L2E+LCA8YSBocmVmPSJodHRwOi8vcGdw Lm1pdC5lZHUiIHRhcmdldD0iX2JsYW5rIj5wZ3AubWl0LmVkdTwvYT48YnI+CjwvZGl2Pgo= --===============3324095994611776037==-- From lightguard.jp at gmail.com Mon Sep 26 18:59:05 2011 Content-Type: multipart/mixed; boundary="===============4151087139057549956==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] Meeting 2011-09-28 Date: Mon, 26 Sep 2011 16:58:44 -0600 Message-ID: In-Reply-To: CAF9TksNtEMqoScQ=eAwz2rTdyT+CbS_Sp2e3PC0P_9pz6HShFw@mail.gmail.com --===============4151087139057549956== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Also we need to talk about the next Seam Hack Night On Mon, Sep 26, 2011 at 16:56, Jason Porter wro= te: > Logging (assuming Ken is around) - 10 min > Jenkins - 10 min > What happens after 3.1.0 - 15 min -- = Jason Porter http://lightguard-jp.blogspot.com http://twitter.com/lightguardjp Software Engineer Open Source Advocate Author of Seam Catch - Next Generation Java Exception Handling PGP key id: 926CCFF5 PGP key available at: keyserver.net, pgp.mit.edu --===============4151087139057549956== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" QWxzbyB3ZSBuZWVkIHRvIHRhbGsgYWJvdXQgdGhlIG5leHQgU2VhbSBIYWNrIE5pZ2h0PGJyPjxi cj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gTW9uLCBTZXAgMjYsIDIwMTEgYXQgMTY6NTYs IEphc29uIFBvcnRlciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpsaWdodGd1 YXJkLmpwQGdtYWlsLmNvbSI+bGlnaHRndWFyZC5qcEBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4g d3JvdGU6PGJyPgoKPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2lu OjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsi PjxsaT5Mb2dnaW5nIChhc3N1bWluZyBLZW4gaXMgYXJvdW5kKSAtIDEwIG1pbjwvbGk+PGxpPkpl bmtpbnMgLSAxMCBtaW48L2xpPjxsaT5XaGF0IGhhcHBlbnMgYWZ0ZXIgMy4xLjAgLSAxNSBtaW48 L2xpPgo8L2Jsb2NrcXVvdGU+CjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9k aXY+LS0gPGJyPkphc29uIFBvcnRlcjxicj48YSBocmVmPSJodHRwOi8vbGlnaHRndWFyZC1qcC5i bG9nc3BvdC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlnaHRndWFyZC1qcC5ibG9nc3Bv dC5jb208L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9saWdodGd1YXJkanAiIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vdHdpdHRlci5jb20vbGlnaHRndWFyZGpwPC9hPjxicj4KCjxi cj5Tb2Z0d2FyZSBFbmdpbmVlcjxicj5PcGVuIFNvdXJjZSBBZHZvY2F0ZTxicj5BdXRob3Igb2Yg U2VhbSBDYXRjaCAtIE5leHQgR2VuZXJhdGlvbiBKYXZhIEV4Y2VwdGlvbiBIYW5kbGluZzxicj48 YnI+UEdQIGtleSBpZDogOTI2Q0NGRjU8YnI+UEdQIGtleSBhdmFpbGFibGUgYXQ6IDxhIGhyZWY9 Imh0dHA6Ly9rZXlzZXJ2ZXIubmV0IiB0YXJnZXQ9Il9ibGFuayI+a2V5c2VydmVyLm5ldDwvYT4s IDxhIGhyZWY9Imh0dHA6Ly9wZ3AubWl0LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPnBncC5taXQuZWR1 PC9hPjxicj4KCgo= --===============4151087139057549956==-- From joserodolfo.freitas at gmail.com Tue Sep 27 09:32:52 2011 Content-Type: multipart/mixed; boundary="===============6345967442768162429==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [forge-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 27 Sep 2011 10:32:50 -0300 Message-ID: In-Reply-To: CAKeHnO6F97AOUk0Uib9GfG2--OpuVWWOsAaE-Bon4BKas2TGuw@mail.gmail.com --===============6345967442768162429== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sorry for not being able to post my gist. After writting some "sketches", I realized that I don't have it very clear in my mind yet. just to move from zero I posted something: https://gist.github.com/1245041 It's a really simple example on how we could avoid inheritance, but it's not contemplating a lot of needed features, so I'm not even near to be convinced with that gist. btw, the @AutoHome approach seems very nice. On Thu, Sep 22, 2011 at 2:12 PM, Dan Allen wrote: > Exactly. flush() has a specific purpose and really doesn't belong in > boilerplate code. > > - Dan Allen > > Sent from my Android-powered phone: > An open platform for carriers, consumers and developers > On Sep 22, 2011 11:19 AM, "Max Rydahl Andersen" > wrote: > > just one comment: > > > > Calling .flush() on every alteration really should not be promoted as a > good practice. > > > > /max > > > > On Sep 22, 2011, at 24:22, Dan Allen wrote: > > > >> Here's some additional feedback I received from a community member a > while back...to merge it into this thread. > >> > >> (begin feedback) > >> > >> ...from being burned from 3 seam based customers with apps and > maintenance. The "Home" or any other name should be just be put into a gr= ave > and slowly cast away to sea ;). It is too heavy and complicated and just > about anything inherited (extends) truly causes heartache[Favor Compositi= on > over inheritance: Effective Java]. The current seam home has a few super > classes above the home and when you try to unit test it (the standard > definition of unit-testing including isolation) you get the "No Active > Application Context Found (if I remember it right). That happens because = it > is tightly coupled with the application. But not to be hard on Home, I do > realize the history of the home object and know it was developed when EL = had > no parameters. So I have learned a lot since then and I here are some thi= ngs > that I can impart to Seam 3. > >> > >> 1. My "Home" now is a "ServiceBean", and I have one for each "Major" > entity, see below. I have really stewed over this over months and months, > and the "Home" of "ServiceBean" should be kept small, focused, reusable, > tested and untouched. It's only task is to update, persist, possibly remo= ve, > or some other functions that are required. In my example below I have cus= tom > close action. Notice also that although these beans are stateful that > doesn't mean everything should be, so in these methods I have the paramet= er > of what is being needed to be updated, and not a field. In other words I > don't have @In private Job job, I opted for public boolean update(job). > Mostly because, again, I want to make this service bean reusable so wheth= er > I have a #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component= of > job I need to work on I only need one jobServiceBean to cater to all my > jobs, in whatever conversation I am using. I also fire events from here i= f I > need to do that. ! > > After this is tested, and what I need I usually don't touch it anymore. > If I need to enhance I either use a decorator pattern around it, or enhan= ce > it in an @Observer. I'll email about that later. > >> > >> @Name("jobServiceBean") > >> @Scope(ScopeType.CONVERSATION) > >> public class JobServiceBean implements JobService { > >> private EntityManager entityManager; > >> private StatusMessages statusMessages; > >> > >> @In > >> public void setEntityManager(EntityManager entityManager) { > >> this.entityManager =3D entityManager; > >> } > >> > >> @In > >> public void setStatusMessages(StatusMessages statusMessages) { > >> this.statusMessages =3D statusMessages; > >> } > >> > >> public boolean update(Job job) { > >> this.entityManager.flush(); > >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully > updated job {0}", job.getName()); > >> return true; > >> } > >> > >> public boolean close(Job job) { > >> job.setJobStatus(JobStatus.CLOSED); > >> this.entityManager.flush(); > >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully > closed job {0}", job.getName()); > >> return true; > >> } > >> } > >> > >> 2. One thing you may have noticed from above that there is no 'instanc= e' > field with corresponding getters or setters like the old 'Home'. So the > ServiceBean in my case is not a full crud, but CUD + your own business > methods. That's because that too should be decoupled because we never know > the source of the object is. Is the object created from a factory? from a > copy? is it a mapped component, a managed component? Creation of objects = or > loading of objects, or the manufacturing of objects from factories should= be > separate from the "home" or in my case the "ServiceBean". > >> > >> (end feedback) > >> > >> -- > >> Dan Allen > >> Principal Software Engineer, Red Hat | Author of Seam in Action > >> Registered Linux User #231597 > >> > >> http://www.google.com/profiles/dan.j.allen#about > >> http://mojavelinux.com > >> http://mojavelinux.com/seaminaction > >> > >> _______________________________________________ > >> forge-dev mailing list > >> forge-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/forge-dev > > > > /max > > http://about.me/maxandersen > > > > > > > > > > _______________________________________________ > > forge-dev mailing list > > forge-dev(a)lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/forge-dev > > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > > --===============6345967442768162429== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" U29ycnkgZm9yIG5vdCBiZWluZyBhYmxlIHRvIHBvc3QgbXkgZ2lzdC4gQWZ0ZXIgd3JpdHRpbmcg c29tZSAmcXVvdDtza2V0Y2hlcyZxdW90OywgSSByZWFsaXplZCB0aGF0IEkgZG9uJiMzOTt0IGhh dmUgaXQgdmVyeSBjbGVhciBpbiBteSBtaW5kIHlldC48ZGl2Pjxicj48L2Rpdj48ZGl2Pmp1c3Qg dG8gbW92ZSBmcm9tIHplcm8gSSBwb3N0ZWQgc29tZXRoaW5nOjwvZGl2PjxkaXY+PGJyPgo8L2Rp dj48ZGl2PjxhIGhyZWY9Imh0dHBzOi8vZ2lzdC5naXRodWIuY29tLzEyNDUwNDEiPmh0dHBzOi8v Z2lzdC5naXRodWIuY29tLzEyNDUwNDE8L2E+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JdCYj Mzk7cyBhIHJlYWxseSBzaW1wbGUgZXhhbXBsZSBvbiBob3cgd2UgY291bGQgYXZvaWQgaW5oZXJp dGFuY2UsIKBidXQgaXQmIzM5O3Mgbm90IGNvbnRlbXBsYXRpbmcgYSBsb3Qgb2YgbmVlZGVkIGZl YXR1cmVzLDwvZGl2Pgo8ZGl2PnNvIEkmIzM5O20gbm90IGV2ZW4gbmVhciB0byBiZSBjb252aW5j ZWQgd2l0aCB0aGF0IGdpc3QuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5idHcsIHRoZSBAQXV0 b0hvbWUgYXBwcm9hY2ggc2VlbXMgdmVyeSBuaWNlLjwvZGl2PjxkaXY+PGJyPjxicj48ZGl2IGNs YXNzPSJnbWFpbF9xdW90ZSI+T24gVGh1LCBTZXAgMjIsIDIwMTEgYXQgMjoxMiBQTSwgRGFuIEFs bGVuIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRhbi5qLmFsbGVuQGdtYWls LmNvbSI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4KPGJs b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9y ZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPjxwPkV4YWN0bHkuIGZs dXNoKCkgaGFzIGEgc3BlY2lmaWMgcHVycG9zZSBhbmQgcmVhbGx5IGRvZXNuJiMzOTt0IGJlbG9u ZyBpbiBib2lsZXJwbGF0ZSBjb2RlLjwvcD4KPHA+LSBEYW4gQWxsZW48L3A+CjxwPlNlbnQgZnJv bSBteSBBbmRyb2lkLXBvd2VyZWQgcGhvbmU6PGJyPgpBbiBvcGVuIHBsYXRmb3JtIGZvciBjYXJy aWVycywgY29uc3VtZXJzIGFuZCBkZXZlbG9wZXJzPC9wPjxkaXY+PGRpdj48L2Rpdj48ZGl2IGNs YXNzPSJoNSI+CjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBTZXAgMjIsIDIwMTEgMTE6MTkg QU0sICZxdW90O01heCBSeWRhaGwgQW5kZXJzZW4mcXVvdDsgJmx0OzxhIGhyZWY9Im1haWx0bzpt YXguYW5kZXJzZW5AcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPm1heC5hbmRlcnNlbkByZWRo YXQuY29tPC9hPiZndDsgd3JvdGU6PGJyIHR5cGU9ImF0dHJpYnV0aW9uIj4mZ3Q7IGp1c3Qgb25l IGNvbW1lbnQ6PGJyPgomZ3Q7IDxicj4KJmd0OyBDYWxsaW5nIC5mbHVzaCgpIG9uIGV2ZXJ5IGFs dGVyYXRpb24gcmVhbGx5IHNob3VsZCBub3QgYmUgcHJvbW90ZWQgYXMgYSBnb29kIHByYWN0aWNl Ljxicj4mZ3Q7IDxicj4mZ3Q7IC9tYXg8YnI+Jmd0OyA8YnI+Jmd0OyBPbiBTZXAgMjIsIDIwMTEs IGF0IDI0OjIyLCBEYW4gQWxsZW4gd3JvdGU6PGJyPiZndDsgPGJyPiZndDsmZ3Q7IEhlcmUmIzM5 O3Mgc29tZSBhZGRpdGlvbmFsIGZlZWRiYWNrIEkgcmVjZWl2ZWQgZnJvbSBhIGNvbW11bml0eSBt ZW1iZXIgYSB3aGlsZSBiYWNrLi4udG8gbWVyZ2UgaXQgaW50byB0aGlzIHRocmVhZC48YnI+Cgom Z3Q7Jmd0OyA8YnI+Jmd0OyZndDsgKGJlZ2luIGZlZWRiYWNrKTxicj4mZ3Q7Jmd0OyA8YnI+Jmd0 OyZndDsgLi4uZnJvbSBiZWluZyBidXJuZWQgZnJvbSAzIHNlYW0gYmFzZWQgY3VzdG9tZXJzIHdp dGggYXBwcyBhbmQgbWFpbnRlbmFuY2UuICBUaGUgJnF1b3Q7SG9tZSZxdW90OyBvciBhbnkgb3Ro ZXIgbmFtZSBzaG91bGQgYmUganVzdCBiZSBwdXQgaW50byBhIGdyYXZlIGFuZCBzbG93bHkgY2Fz dCBhd2F5IHRvIHNlYSA7KS4gIEl0IGlzIHRvbyBoZWF2eSBhbmQgY29tcGxpY2F0ZWQgYW5kIGp1 c3QgYWJvdXQgYW55dGhpbmcgaW5oZXJpdGVkIChleHRlbmRzKSB0cnVseSBjYXVzZXMgaGVhcnRh Y2hlW0Zhdm9yIENvbXBvc2l0aW9uIG92ZXIgaW5oZXJpdGFuY2U6IEVmZmVjdGl2ZSBKYXZhXS4g VGhlIGN1cnJlbnQgc2VhbSBob21lIGhhcyBhIGZldyBzdXBlciBjbGFzc2VzIGFib3ZlIHRoZSBo b21lIGFuZCB3aGVuIHlvdSB0cnkgdG8gdW5pdCB0ZXN0IGl0ICh0aGUgc3RhbmRhcmQgZGVmaW5p dGlvbiBvZiB1bml0LXRlc3RpbmcgaW5jbHVkaW5nIGlzb2xhdGlvbikgeW91IGdldCB0aGUgJnF1 b3Q7Tm8gQWN0aXZlIEFwcGxpY2F0aW9uIENvbnRleHQgRm91bmQgKGlmIEkgcmVtZW1iZXIgaXQg cmlnaHQpLiAgVGhhdCBoYXBwZW5zIGJlY2F1c2UgaXQgaXMgdGlnaHRseSBjb3VwbGVkIHdpdGgg dGhlIGFwcGxpY2F0aW9uLiAgQnV0IG5vdCB0byBiZSBoYXJkIG9uIEhvbWUsIEkgZG8gcmVhbGl6 ZSB0aGUgaGlzdG9yeSBvZiB0aGUgaG9tZSBvYmplY3QgYW5kIGtub3cgaXQgd2FzIGRldmVsb3Bl ZCB3aGVuIEVMIGhhZCBubyBwYXJhbWV0ZXJzLiBTbyBJIGhhdmUgbGVhcm5lZCBhIGxvdCBzaW5j ZSB0aGVuIGFuZCBJIGhlcmUgYXJlIHNvbWUgdGhpbmdzIHRoYXQgSSBjYW4gaW1wYXJ0IHRvIFNl YW0gMy4gIDxicj4KCiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyAxLiBNeSAmcXVvdDtIb21lJnF1b3Q7 IG5vdyBpcyBhICZxdW90O1NlcnZpY2VCZWFuJnF1b3Q7LCBhbmQgSSBoYXZlIG9uZSBmb3IgZWFj aCAmcXVvdDtNYWpvciZxdW90OyBlbnRpdHksIHNlZSBiZWxvdy4gIEkgaGF2ZSByZWFsbHkgc3Rl d2VkIG92ZXIgdGhpcyBvdmVyIG1vbnRocyBhbmQgbW9udGhzLCBhbmQgdGhlICZxdW90O0hvbWUm cXVvdDsgb2YgJnF1b3Q7U2VydmljZUJlYW4mcXVvdDsgc2hvdWxkIGJlIGtlcHQgc21hbGwsIGZv Y3VzZWQsIHJldXNhYmxlLCB0ZXN0ZWQgYW5kIHVudG91Y2hlZC4gIEl0JiMzOTtzIG9ubHkgdGFz ayBpcyB0byB1cGRhdGUsIHBlcnNpc3QsIHBvc3NpYmx5IHJlbW92ZSwgb3Igc29tZSBvdGhlciBm dW5jdGlvbnMgdGhhdCBhcmUgcmVxdWlyZWQuICBJbiBteSBleGFtcGxlIGJlbG93IEkgaGF2ZSBj dXN0b20gY2xvc2UgYWN0aW9uLiAgTm90aWNlIGFsc28gdGhhdCBhbHRob3VnaCB0aGVzZSBiZWFu cyBhcmUgc3RhdGVmdWwgdGhhdCBkb2VzbiYjMzk7dCBtZWFuIGV2ZXJ5dGhpbmcgc2hvdWxkIGJl LCBzbyBpbiB0aGVzZSBtZXRob2RzIEkgaGF2ZSB0aGUgcGFyYW1ldGVyIG9mIHdoYXQgaXMgYmVp bmcgbmVlZGVkIHRvIGJlIHVwZGF0ZWQsIGFuZCBub3QgYSBmaWVsZC4gIEluIG90aGVyIHdvcmRz IEkgZG9uJiMzOTt0IGhhdmUgQEluIHByaXZhdGUgSm9iIGpvYiwgSSBvcHRlZCBmb3IgcHVibGlj IGJvb2xlYW4gdXBkYXRlKGpvYikuICBNb3N0bHkgYmVjYXVzZSwgYWdhaW4sIEkgd2FudCB0byBt YWtlIHRoaXMgc2VydmljZSBiZWFuIHJldXNhYmxlIHNvIHdoZXRoZXIgSSBoYXZlIGEgI3tuZXdK b2J9LCAje2NvcHlPZkFKb2J9LCBvciAje21hbmFnZWRKb2J9IG9yIHdoYXRldmVyIGNvbXBvbmVu dCBvZiBqb2IgSSBuZWVkIHRvIHdvcmsgb24gSSBvbmx5IG5lZWQgb25lIGpvYlNlcnZpY2VCZWFu IHRvIGNhdGVyIHRvIGFsbCBteSBqb2JzLCBpbiB3aGF0ZXZlciBjb252ZXJzYXRpb24gSSBhbSB1 c2luZy4gIEkgYWxzbyBmaXJlIGV2ZW50cyBmcm9tIGhlcmUgaWYgSSBuZWVkIHRvIGRvIHRoYXQu ICE8YnI+CgomZ3Q7ICAgIEFmdGVyIHRoaXMgaXMgdGVzdGVkLCBhbmQgd2hhdCBJIG5lZWQgSSB1 c3VhbGx5IGRvbiYjMzk7dCB0b3VjaCBpdCBhbnltb3JlLiAgSWYgSSBuZWVkIHRvIGVuaGFuY2Ug SSBlaXRoZXIgdXNlIGEgZGVjb3JhdG9yIHBhdHRlcm4gYXJvdW5kIGl0LCBvciBlbmhhbmNlIGl0 IGluIGFuIEBPYnNlcnZlci4gIEkmIzM5O2xsIGVtYWlsIGFib3V0IHRoYXQgbGF0ZXIuPGJyPiZn dDsmZ3Q7IDxicj4KCiZndDsmZ3Q7IEBOYW1lKCZxdW90O2pvYlNlcnZpY2VCZWFuJnF1b3Q7KTxi cj4mZ3Q7Jmd0OyBAU2NvcGUoU2NvcGVUeXBlLkNPTlZFUlNBVElPTik8YnI+Jmd0OyZndDsgcHVi bGljIGNsYXNzIEpvYlNlcnZpY2VCZWFuIGltcGxlbWVudHMgSm9iU2VydmljZSB7PGJyPiZndDsm Z3Q7ICAgICBwcml2YXRlIEVudGl0eU1hbmFnZXIgZW50aXR5TWFuYWdlcjs8YnI+Jmd0OyZndDsg ICAgIHByaXZhdGUgU3RhdHVzTWVzc2FnZXMgc3RhdHVzTWVzc2FnZXM7PGJyPgoKJmd0OyZndDsg PGJyPiZndDsmZ3Q7ICAgICBASW48YnI+Jmd0OyZndDsgICAgIHB1YmxpYyB2b2lkIHNldEVudGl0 eU1hbmFnZXIoRW50aXR5TWFuYWdlciBlbnRpdHlNYW5hZ2VyKSB7PGJyPiZndDsmZ3Q7ICAgICAg ICAgdGhpcy5lbnRpdHlNYW5hZ2VyID0gZW50aXR5TWFuYWdlcjs8YnI+Jmd0OyZndDsgICAgIH08 YnI+Jmd0OyZndDsgPGJyPiZndDsmZ3Q7ICAgICBASW48YnI+Jmd0OyZndDsgICAgIHB1YmxpYyB2 b2lkIHNldFN0YXR1c01lc3NhZ2VzKFN0YXR1c01lc3NhZ2VzIHN0YXR1c01lc3NhZ2VzKSB7PGJy PgoKJmd0OyZndDsgICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2VzID0gc3RhdHVzTWVzc2FnZXM7 PGJyPiZndDsmZ3Q7ICAgICB9PGJyPiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyAgICAgcHVibGljIGJv b2xlYW4gdXBkYXRlKEpvYiBqb2IpIHs8YnI+Jmd0OyZndDsgICAgICAgICB0aGlzLmVudGl0eU1h bmFnZXIuZmx1c2goKTs8YnI+Jmd0OyZndDsgICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2VzLmFk ZCg8YSBocmVmPSJodHRwOi8vU3RhdHVzTWVzc2FnZS5TZXZlcml0eS5JTkZPIiB0YXJnZXQ9Il9i bGFuayI+U3RhdHVzTWVzc2FnZS5TZXZlcml0eS5JTkZPPC9hPiwgJnF1b3Q7U3VjY2Vzc2Z1bGx5 IHVwZGF0ZWQgam9iIHswfSZxdW90Oywgam9iLmdldE5hbWUoKSk7PGJyPgoKJmd0OyZndDsgICAg ICAgICByZXR1cm4gdHJ1ZTs8YnI+Jmd0OyZndDsgICAgIH08YnI+Jmd0OyZndDsgPGJyPiZndDsm Z3Q7ICAgICBwdWJsaWMgYm9vbGVhbiBjbG9zZShKb2Igam9iKSB7PGJyPiZndDsmZ3Q7ICAgICAg ICAgam9iLnNldEpvYlN0YXR1cyhKb2JTdGF0dXMuQ0xPU0VEKTs8YnI+Jmd0OyZndDsgICAgICAg ICB0aGlzLmVudGl0eU1hbmFnZXIuZmx1c2goKTs8YnI+Jmd0OyZndDsgICAgICAgICB0aGlzLnN0 YXR1c01lc3NhZ2VzLmFkZCg8YSBocmVmPSJodHRwOi8vU3RhdHVzTWVzc2FnZS5TZXZlcml0eS5J TkZPIiB0YXJnZXQ9Il9ibGFuayI+U3RhdHVzTWVzc2FnZS5TZXZlcml0eS5JTkZPPC9hPiwgJnF1 b3Q7U3VjY2Vzc2Z1bGx5IGNsb3NlZCBqb2IgezB9JnF1b3Q7LCBqb2IuZ2V0TmFtZSgpKTs8YnI+ CgomZ3Q7Jmd0OyAgICAgICAgIHJldHVybiB0cnVlOzxicj4mZ3Q7Jmd0OyAgICAgfTxicj4mZ3Q7 Jmd0OyB9PGJyPiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyAyLiBPbmUgdGhpbmcgeW91IG1heSBoYXZl IG5vdGljZWQgZnJvbSBhYm92ZSB0aGF0IHRoZXJlIGlzIG5vICYjMzk7aW5zdGFuY2UmIzM5OyBm aWVsZCB3aXRoIGNvcnJlc3BvbmRpbmcgZ2V0dGVycyBvciBzZXR0ZXJzIGxpa2UgdGhlIG9sZCAm IzM5O0hvbWUmIzM5Oy4gICBTbyB0aGUgU2VydmljZUJlYW4gaW4gbXkgY2FzZSBpcyBub3QgYSBm dWxsIGNydWQsIGJ1dCBDVUQgKyB5b3VyIG93biBidXNpbmVzcyBtZXRob2RzLiBUaGF0JiMzOTtz IGJlY2F1c2UgdGhhdCB0b28gc2hvdWxkIGJlIGRlY291cGxlZCBiZWNhdXNlIHdlIG5ldmVyIGtu b3cgdGhlIHNvdXJjZSBvZiB0aGUgb2JqZWN0IGlzLiAgSXMgdGhlIG9iamVjdCBjcmVhdGVkIGZy b20gYSBmYWN0b3J5PyBmcm9tIGEgY29weT8gaXMgaXQgYSBtYXBwZWQgY29tcG9uZW50LCBhIG1h bmFnZWQgY29tcG9uZW50PyAgQ3JlYXRpb24gb2Ygb2JqZWN0cyBvciBsb2FkaW5nIG9mIG9iamVj dHMsIG9yIHRoZSBtYW51ZmFjdHVyaW5nIG9mIG9iamVjdHMgZnJvbSBmYWN0b3JpZXMgc2hvdWxk IGJlIHNlcGFyYXRlIGZyb20gdGhlICZxdW90O2hvbWUmcXVvdDsgb3IgaW4gbXkgY2FzZSB0aGUg JnF1b3Q7U2VydmljZUJlYW4mcXVvdDsuPGJyPgoKJmd0OyZndDsgPGJyPiZndDsmZ3Q7IChlbmQg ZmVlZGJhY2spPGJyPiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyAtLSA8YnI+Jmd0OyZndDsgRGFuIEFs bGVuPGJyPiZndDsmZ3Q7IFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdpbmVlciwgUmVkIEhhdCB8IEF1 dGhvciBvZiBTZWFtIGluIEFjdGlvbjxicj4mZ3Q7Jmd0OyBSZWdpc3RlcmVkIExpbnV4IFVzZXIg IzIzMTU5Nzxicj4mZ3Q7Jmd0OyA8YnI+CgomZ3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8vd3d3Lmdv b2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQiIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vd3d3Lmdvb2dsZS5jb20vcHJvZmlsZXMvZGFuLmouYWxsZW4jYWJvdXQ8L2E+PGJyPiZndDsm Z3Q7IDxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vbW9qYXZlbGludXguY29tPC9hPjxicj4KJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL21vamF2 ZWxpbnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbW9qYXZlbGlu dXguY29tL3NlYW1pbmFjdGlvbjwvYT48YnI+CiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4mZ3Q7Jmd0OyBmb3Jn ZS1kZXYgbWFpbGluZyBsaXN0PGJyPiZndDsmZ3Q7IDxhIGhyZWY9Im1haWx0bzpmb3JnZS1kZXZA bGlzdHMuamJvc3Mub3JnIiB0YXJnZXQ9Il9ibGFuayI+Zm9yZ2UtZGV2QGxpc3RzLmpib3NzLm9y ZzwvYT48YnI+Jmd0OyZndDsgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9mb3JnZS1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpib3Nz Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZvcmdlLWRldjwvYT48YnI+CgomZ3Q7IDxicj4mZ3Q7IC9t YXg8YnI+Jmd0OyA8YSBocmVmPSJodHRwOi8vYWJvdXQubWUvbWF4YW5kZXJzZW4iIHRhcmdldD0i X2JsYW5rIj5odHRwOi8vYWJvdXQubWUvbWF4YW5kZXJzZW48L2E+PGJyPiZndDsgPGJyPiZndDsg PGJyPiZndDsgPGJyPiZndDsgPGJyPiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+Jmd0OyBmb3JnZS1kZXYgbWFpbGluZyBsaXN0PGJyPgoKJmd0 OyA8YSBocmVmPSJtYWlsdG86Zm9yZ2UtZGV2QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxh bmsiPmZvcmdlLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPiZndDsgPGEgaHJlZj0iaHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9mb3JnZS1kZXYiIHRhcmdldD0iX2Js YW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZvcmdlLWRldjwv YT48YnI+CjwvZGl2Pgo8L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX188YnI+CnNlYW0tZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJl Zj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mu b3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0 aW5mby9zZWFtLWRldiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21h aWxtYW4vbGlzdGluZm8vc2VhbS1kZXY8L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxi cj48L2Rpdj4K --===============6345967442768162429==-- From lightguard.jp at gmail.com Tue Sep 27 11:57:17 2011 Content-Type: multipart/mixed; boundary="===============1329997931457312644==" MIME-Version: 1.0 From: Jason Porter To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [forge-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 27 Sep 2011 09:57:08 -0600 Message-ID: <4AA8021C-953A-467E-B25C-D9B7E59597B4@gmail.com> In-Reply-To: CAK8YEYMwiyX0FisHvQJKrpQQ7yxJ1SO3WUBNNSGHQcw8vQNT4Q@mail.gmail.com --===============1329997931457312644== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I prefer the idea that there's a class that manages one instance and that's= all it does, and another object (or objects) to handle collections of thos= e objects. I think separating them out makes for better reusability. If we'= d like to have a save method I'm okay with that, but don't really see the n= eed. = Sent from my iPhone On Sep 27, 2011, at 7:32, Jos=C3=A9 Rodolfo Freitas wrote: > Sorry for not being able to post my gist. After writting some "sketches",= I realized that I don't have it very clear in my mind yet. > = > just to move from zero I posted something: > = > https://gist.github.com/1245041 > = > It's a really simple example on how we could avoid inheritance, but it's= not contemplating a lot of needed features, > so I'm not even near to be convinced with that gist. > = > btw, the @AutoHome approach seems very nice. > = > = > On Thu, Sep 22, 2011 at 2:12 PM, Dan Allen wrot= e: > Exactly. flush() has a specific purpose and really doesn't belong in boil= erplate code. > = > - Dan Allen > = > Sent from my Android-powered phone: > An open platform for carriers, consumers and developers > = > On Sep 22, 2011 11:19 AM, "Max Rydahl Andersen" wrote: > > just one comment: > > = > > Calling .flush() on every alteration really should not be promoted as a= good practice. > > = > > /max > > = > > On Sep 22, 2011, at 24:22, Dan Allen wrote: > > = > >> Here's some additional feedback I received from a community member a w= hile back...to merge it into this thread. > >> = > >> (begin feedback) > >> = > >> ...from being burned from 3 seam based customers with apps and mainten= ance. The "Home" or any other name should be just be put into a grave and s= lowly cast away to sea ;). It is too heavy and complicated and just about a= nything inherited (extends) truly causes heartache[Favor Composition over i= nheritance: Effective Java]. The current seam home has a few super classes = above the home and when you try to unit test it (the standard definition of= unit-testing including isolation) you get the "No Active Application Conte= xt Found (if I remember it right). That happens because it is tightly coupl= ed with the application. But not to be hard on Home, I do realize the histo= ry of the home object and know it was developed when EL had no parameters. = So I have learned a lot since then and I here are some things that I can im= part to Seam 3. = > >> = > >> 1. My "Home" now is a "ServiceBean", and I have one for each "Major" e= ntity, see below. I have really stewed over this over months and months, an= d the "Home" of "ServiceBean" should be kept small, focused, reusable, test= ed and untouched. It's only task is to update, persist, possibly remove, or= some other functions that are required. In my example below I have custom = close action. Notice also that although these beans are stateful that doesn= 't mean everything should be, so in these methods I have the parameter of w= hat is being needed to be updated, and not a field. In other words I don't = have @In private Job job, I opted for public boolean update(job). Mostly be= cause, again, I want to make this service bean reusable so whether I have a= #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component of job I = need to work on I only need one jobServiceBean to cater to all my jobs, in = whatever conversation I am using. I also fire events from here if I need to= do that. ! > > After this is tested, and what I need I usually don't touch it anymore.= If I need to enhance I either use a decorator pattern around it, or enhanc= e it in an @Observer. I'll email about that later. > >> = > >> @Name("jobServiceBean") > >> @Scope(ScopeType.CONVERSATION) > >> public class JobServiceBean implements JobService { > >> private EntityManager entityManager; > >> private StatusMessages statusMessages; > >> = > >> @In > >> public void setEntityManager(EntityManager entityManager) { > >> this.entityManager =3D entityManager; > >> } > >> = > >> @In > >> public void setStatusMessages(StatusMessages statusMessages) { > >> this.statusMessages =3D statusMessages; > >> } > >> = > >> public boolean update(Job job) { > >> this.entityManager.flush(); > >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully upd= ated job {0}", job.getName()); > >> return true; > >> } > >> = > >> public boolean close(Job job) { > >> job.setJobStatus(JobStatus.CLOSED); > >> this.entityManager.flush(); > >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully clo= sed job {0}", job.getName()); > >> return true; > >> } > >> } > >> = > >> 2. One thing you may have noticed from above that there is no 'instanc= e' field with corresponding getters or setters like the old 'Home'. So the = ServiceBean in my case is not a full crud, but CUD + your own business meth= ods. That's because that too should be decoupled because we never know the = source of the object is. Is the object created from a factory? from a copy?= is it a mapped component, a managed component? Creation of objects or load= ing of objects, or the manufacturing of objects from factories should be se= parate from the "home" or in my case the "ServiceBean". > >> = > >> (end feedback) > >> = > >> -- = > >> Dan Allen > >> Principal Software Engineer, Red Hat | Author of Seam in Action > >> Registered Linux User #231597 > >> = > >> http://www.google.com/profiles/dan.j.allen#about > >> http://mojavelinux.com > >> http://mojavelinux.com/seaminaction > >> = > >> _______________________________________________ > >> forge-dev mailing list > >> forge-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/forge-dev > > = > > /max > > http://about.me/maxandersen > > = > > = > > = > > = > > _______________________________________________ > > forge-dev mailing list > > forge-dev(a)lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/forge-dev > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev > = > = > _______________________________________________ > seam-dev mailing list > seam-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/seam-dev --===============1329997931457312644== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj5JIHByZWZlciB0aGUgaWRlYSB0aGF0 IHRoZXJlJ3MgYSBjbGFzcyB0aGF0IG1hbmFnZXMgb25lIGluc3RhbmNlIGFuZCB0aGF0J3MgYWxs IGl0IGRvZXMsIGFuZCBhbm90aGVyIG9iamVjdCAob3Igb2JqZWN0cykgdG8gaGFuZGxlIGNvbGxl Y3Rpb25zIG9mIHRob3NlIG9iamVjdHMuIEkgdGhpbmsgc2VwYXJhdGluZyB0aGVtIG91dCBtYWtl cyBmb3IgYmV0dGVyIHJldXNhYmlsaXR5LiBJZiB3ZSdkIGxpa2UgdG8gaGF2ZSBhIHNhdmUgbWV0 aG9kIEknbSBva2F5IHdpdGggdGhhdCwgYnV0IGRvbid0IHJlYWxseSBzZWUgdGhlIG5lZWQuJm5i c3A7PGJyPjxicj5TZW50IGZyb20gbXkgaVBob25lPC9kaXY+PGRpdj48YnI+T24gU2VwIDI3LCAy MDExLCBhdCA3OjMyLCBKb3PDqSBSb2RvbGZvIEZyZWl0YXMgJmx0OzxhIGhyZWY9Im1haWx0bzpq b3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+am9zZXJvZG9sZm8uZnJlaXRhc0BnbWFpbC5j b208L2E+Jmd0OyB3cm90ZTo8YnI+PGJyPjwvZGl2PjxkaXY+PC9kaXY+PGJsb2NrcXVvdGUgdHlw ZT0iY2l0ZSI+PGRpdj5Tb3JyeSBmb3Igbm90IGJlaW5nIGFibGUgdG8gcG9zdCBteSBnaXN0LiBB ZnRlciB3cml0dGluZyBzb21lICJza2V0Y2hlcyIsIEkgcmVhbGl6ZWQgdGhhdCBJIGRvbid0IGhh dmUgaXQgdmVyeSBjbGVhciBpbiBteSBtaW5kIHlldC48ZGl2Pjxicj48L2Rpdj48ZGl2Pmp1c3Qg dG8gbW92ZSBmcm9tIHplcm8gSSBwb3N0ZWQgc29tZXRoaW5nOjwvZGl2PjxkaXY+PGJyPgo8L2Rp dj48ZGl2PjxhIGhyZWY9Imh0dHBzOi8vZ2lzdC5naXRodWIuY29tLzEyNDUwNDEiPjxhIGhyZWY9 Imh0dHBzOi8vZ2lzdC5naXRodWIuY29tLzEyNDUwNDEiPmh0dHBzOi8vZ2lzdC5naXRodWIuY29t LzEyNDUwNDE8L2E+PC9hPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SXQncyBhIHJlYWxseSBz aW1wbGUgZXhhbXBsZSBvbiBob3cgd2UgY291bGQgYXZvaWQgaW5oZXJpdGFuY2UsICZuYnNwO2J1 dCBpdCdzIG5vdCBjb250ZW1wbGF0aW5nIGEgbG90IG9mIG5lZWRlZCBmZWF0dXJlcyw8L2Rpdj4K PGRpdj5zbyBJJ20gbm90IGV2ZW4gbmVhciB0byBiZSBjb252aW5jZWQgd2l0aCB0aGF0IGdpc3Qu PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5idHcsIHRoZSBAQXV0b0hvbWUgYXBwcm9hY2ggc2Vl bXMgdmVyeSBuaWNlLjwvZGl2PjxkaXY+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+ T24gVGh1LCBTZXAgMjIsIDIwMTEgYXQgMjoxMiBQTSwgRGFuIEFsbGVuIDxzcGFuIGRpcj0ibHRy Ij4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRhbi5qLmFsbGVuQGdtYWlsLmNvbSI+PGEgaHJlZj0ibWFp bHRvOmRhbi5qLmFsbGVuQGdtYWlsLmNvbSI+ZGFuLmouYWxsZW5AZ21haWwuY29tPC9hPjwvYT4m Z3Q7PC9zcGFuPiB3cm90ZTo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5 bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct bGVmdDoxZXg7Ij48cD5FeGFjdGx5LiBmbHVzaCgpIGhhcyBhIHNwZWNpZmljIHB1cnBvc2UgYW5k IHJlYWxseSBkb2Vzbid0IGJlbG9uZyBpbiBib2lsZXJwbGF0ZSBjb2RlLjwvcD4KPHA+LSBEYW4g QWxsZW48L3A+CjxwPlNlbnQgZnJvbSBteSBBbmRyb2lkLXBvd2VyZWQgcGhvbmU6PGJyPgpBbiBv cGVuIHBsYXRmb3JtIGZvciBjYXJyaWVycywgY29uc3VtZXJzIGFuZCBkZXZlbG9wZXJzPC9wPjxk aXY+PGRpdj48L2Rpdj48ZGl2IGNsYXNzPSJoNSI+CjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5P biBTZXAgMjIsIDIwMTEgMTE6MTkgQU0sICJNYXggUnlkYWhsIEFuZGVyc2VuIiAmbHQ7PGEgaHJl Zj0ibWFpbHRvOm1heC5hbmRlcnNlbkByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJl Zj0ibWFpbHRvOm1heC5hbmRlcnNlbkByZWRoYXQuY29tIj5tYXguYW5kZXJzZW5AcmVkaGF0LmNv bTwvYT48L2E+Jmd0OyB3cm90ZTo8YnIgdHlwZT0iYXR0cmlidXRpb24iPiZndDsganVzdCBvbmUg Y29tbWVudDo8YnI+CiZndDsgPGJyPgomZ3Q7IENhbGxpbmcgLmZsdXNoKCkgb24gZXZlcnkgYWx0 ZXJhdGlvbiByZWFsbHkgc2hvdWxkIG5vdCBiZSBwcm9tb3RlZCBhcyBhIGdvb2QgcHJhY3RpY2Uu PGJyPiZndDsgPGJyPiZndDsgL21heDxicj4mZ3Q7IDxicj4mZ3Q7IE9uIFNlcCAyMiwgMjAxMSwg YXQgMjQ6MjIsIERhbiBBbGxlbiB3cm90ZTo8YnI+Jmd0OyA8YnI+Jmd0OyZndDsgSGVyZSdzIHNv bWUgYWRkaXRpb25hbCBmZWVkYmFjayBJIHJlY2VpdmVkIGZyb20gYSBjb21tdW5pdHkgbWVtYmVy IGEgd2hpbGUgYmFjay4uLnRvIG1lcmdlIGl0IGludG8gdGhpcyB0aHJlYWQuPGJyPgoKJmd0OyZn dDsgPGJyPiZndDsmZ3Q7IChiZWdpbiBmZWVkYmFjayk8YnI+Jmd0OyZndDsgPGJyPiZndDsmZ3Q7 IC4uLmZyb20gYmVpbmcgYnVybmVkIGZyb20gMyBzZWFtIGJhc2VkIGN1c3RvbWVycyB3aXRoIGFw cHMgYW5kIG1haW50ZW5hbmNlLiAgVGhlICJIb21lIiBvciBhbnkgb3RoZXIgbmFtZSBzaG91bGQg YmUganVzdCBiZSBwdXQgaW50byBhIGdyYXZlIGFuZCBzbG93bHkgY2FzdCBhd2F5IHRvIHNlYSA7 KS4gIEl0IGlzIHRvbyBoZWF2eSBhbmQgY29tcGxpY2F0ZWQgYW5kIGp1c3QgYWJvdXQgYW55dGhp bmcgaW5oZXJpdGVkIChleHRlbmRzKSB0cnVseSBjYXVzZXMgaGVhcnRhY2hlW0Zhdm9yIENvbXBv c2l0aW9uIG92ZXIgaW5oZXJpdGFuY2U6IEVmZmVjdGl2ZSBKYXZhXS4gVGhlIGN1cnJlbnQgc2Vh bSBob21lIGhhcyBhIGZldyBzdXBlciBjbGFzc2VzIGFib3ZlIHRoZSBob21lIGFuZCB3aGVuIHlv dSB0cnkgdG8gdW5pdCB0ZXN0IGl0ICh0aGUgc3RhbmRhcmQgZGVmaW5pdGlvbiBvZiB1bml0LXRl c3RpbmcgaW5jbHVkaW5nIGlzb2xhdGlvbikgeW91IGdldCB0aGUgIk5vIEFjdGl2ZSBBcHBsaWNh dGlvbiBDb250ZXh0IEZvdW5kIChpZiBJIHJlbWVtYmVyIGl0IHJpZ2h0KS4gIFRoYXQgaGFwcGVu cyBiZWNhdXNlIGl0IGlzIHRpZ2h0bHkgY291cGxlZCB3aXRoIHRoZSBhcHBsaWNhdGlvbi4gIEJ1 dCBub3QgdG8gYmUgaGFyZCBvbiBIb21lLCBJIGRvIHJlYWxpemUgdGhlIGhpc3Rvcnkgb2YgdGhl IGhvbWUgb2JqZWN0IGFuZCBrbm93IGl0IHdhcyBkZXZlbG9wZWQgd2hlbiBFTCBoYWQgbm8gcGFy YW1ldGVycy4gU28gSSBoYXZlIGxlYXJuZWQgYSBsb3Qgc2luY2UgdGhlbiBhbmQgSSBoZXJlIGFy ZSBzb21lIHRoaW5ncyB0aGF0IEkgY2FuIGltcGFydCB0byBTZWFtIDMuICA8YnI+CgomZ3Q7Jmd0 OyA8YnI+Jmd0OyZndDsgMS4gTXkgIkhvbWUiIG5vdyBpcyBhICJTZXJ2aWNlQmVhbiIsIGFuZCBJ IGhhdmUgb25lIGZvciBlYWNoICJNYWpvciIgZW50aXR5LCBzZWUgYmVsb3cuICBJIGhhdmUgcmVh bGx5IHN0ZXdlZCBvdmVyIHRoaXMgb3ZlciBtb250aHMgYW5kIG1vbnRocywgYW5kIHRoZSAiSG9t ZSIgb2YgIlNlcnZpY2VCZWFuIiBzaG91bGQgYmUga2VwdCBzbWFsbCwgZm9jdXNlZCwgcmV1c2Fi bGUsIHRlc3RlZCBhbmQgdW50b3VjaGVkLiAgSXQncyBvbmx5IHRhc2sgaXMgdG8gdXBkYXRlLCBw ZXJzaXN0LCBwb3NzaWJseSByZW1vdmUsIG9yIHNvbWUgb3RoZXIgZnVuY3Rpb25zIHRoYXQgYXJl IHJlcXVpcmVkLiAgSW4gbXkgZXhhbXBsZSBiZWxvdyBJIGhhdmUgY3VzdG9tIGNsb3NlIGFjdGlv bi4gIE5vdGljZSBhbHNvIHRoYXQgYWx0aG91Z2ggdGhlc2UgYmVhbnMgYXJlIHN0YXRlZnVsIHRo YXQgZG9lc24ndCBtZWFuIGV2ZXJ5dGhpbmcgc2hvdWxkIGJlLCBzbyBpbiB0aGVzZSBtZXRob2Rz IEkgaGF2ZSB0aGUgcGFyYW1ldGVyIG9mIHdoYXQgaXMgYmVpbmcgbmVlZGVkIHRvIGJlIHVwZGF0 ZWQsIGFuZCBub3QgYSBmaWVsZC4gIEluIG90aGVyIHdvcmRzIEkgZG9uJ3QgaGF2ZSBASW4gcHJp dmF0ZSBKb2Igam9iLCBJIG9wdGVkIGZvciBwdWJsaWMgYm9vbGVhbiB1cGRhdGUoam9iKS4gIE1v c3RseSBiZWNhdXNlLCBhZ2FpbiwgSSB3YW50IHRvIG1ha2UgdGhpcyBzZXJ2aWNlIGJlYW4gcmV1 c2FibGUgc28gd2hldGhlciBJIGhhdmUgYSAje25ld0pvYn0sICN7Y29weU9mQUpvYn0sIG9yICN7 bWFuYWdlZEpvYn0gb3Igd2hhdGV2ZXIgY29tcG9uZW50IG9mIGpvYiBJIG5lZWQgdG8gd29yayBv biBJIG9ubHkgbmVlZCBvbmUgam9iU2VydmljZUJlYW4gdG8gY2F0ZXIgdG8gYWxsIG15IGpvYnMs IGluIHdoYXRldmVyIGNvbnZlcnNhdGlvbiBJIGFtIHVzaW5nLiAgSSBhbHNvIGZpcmUgZXZlbnRz IGZyb20gaGVyZSBpZiBJIG5lZWQgdG8gZG8gdGhhdC4gITxicj4KCiZndDsgICAgQWZ0ZXIgdGhp cyBpcyB0ZXN0ZWQsIGFuZCB3aGF0IEkgbmVlZCBJIHVzdWFsbHkgZG9uJ3QgdG91Y2ggaXQgYW55 bW9yZS4gIElmIEkgbmVlZCB0byBlbmhhbmNlIEkgZWl0aGVyIHVzZSBhIGRlY29yYXRvciBwYXR0 ZXJuIGFyb3VuZCBpdCwgb3IgZW5oYW5jZSBpdCBpbiBhbiBAT2JzZXJ2ZXIuICBJJ2xsIGVtYWls IGFib3V0IHRoYXQgbGF0ZXIuPGJyPiZndDsmZ3Q7IDxicj4KCiZndDsmZ3Q7IEBOYW1lKCJqb2JT ZXJ2aWNlQmVhbiIpPGJyPiZndDsmZ3Q7IEBTY29wZShTY29wZVR5cGUuQ09OVkVSU0FUSU9OKTxi cj4mZ3Q7Jmd0OyBwdWJsaWMgY2xhc3MgSm9iU2VydmljZUJlYW4gaW1wbGVtZW50cyBKb2JTZXJ2 aWNlIHs8YnI+Jmd0OyZndDsgICAgIHByaXZhdGUgRW50aXR5TWFuYWdlciBlbnRpdHlNYW5hZ2Vy Ozxicj4mZ3Q7Jmd0OyAgICAgcHJpdmF0ZSBTdGF0dXNNZXNzYWdlcyBzdGF0dXNNZXNzYWdlczs8 YnI+CgomZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgICAgIEBJbjxicj4mZ3Q7Jmd0OyAgICAgcHVibGlj IHZvaWQgc2V0RW50aXR5TWFuYWdlcihFbnRpdHlNYW5hZ2VyIGVudGl0eU1hbmFnZXIpIHs8YnI+ Jmd0OyZndDsgICAgICAgICB0aGlzLmVudGl0eU1hbmFnZXIgPSBlbnRpdHlNYW5hZ2VyOzxicj4m Z3Q7Jmd0OyAgICAgfTxicj4mZ3Q7Jmd0OyA8YnI+Jmd0OyZndDsgICAgIEBJbjxicj4mZ3Q7Jmd0 OyAgICAgcHVibGljIHZvaWQgc2V0U3RhdHVzTWVzc2FnZXMoU3RhdHVzTWVzc2FnZXMgc3RhdHVz TWVzc2FnZXMpIHs8YnI+CgomZ3Q7Jmd0OyAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZXMgPSBz dGF0dXNNZXNzYWdlczs8YnI+Jmd0OyZndDsgICAgIH08YnI+Jmd0OyZndDsgPGJyPiZndDsmZ3Q7 ICAgICBwdWJsaWMgYm9vbGVhbiB1cGRhdGUoSm9iIGpvYikgezxicj4mZ3Q7Jmd0OyAgICAgICAg IHRoaXMuZW50aXR5TWFuYWdlci5mbHVzaCgpOzxicj4mZ3Q7Jmd0OyAgICAgICAgIHRoaXMuc3Rh dHVzTWVzc2FnZXMuYWRkKDxhIGhyZWY9Imh0dHA6Ly9TdGF0dXNNZXNzYWdlLlNldmVyaXR5LklO Rk8iIHRhcmdldD0iX2JsYW5rIj5TdGF0dXNNZXNzYWdlLlNldmVyaXR5LklORk88L2E+LCAiU3Vj Y2Vzc2Z1bGx5IHVwZGF0ZWQgam9iIHswfSIsIGpvYi5nZXROYW1lKCkpOzxicj4KCiZndDsmZ3Q7 ICAgICAgICAgcmV0dXJuIHRydWU7PGJyPiZndDsmZ3Q7ICAgICB9PGJyPiZndDsmZ3Q7IDxicj4m Z3Q7Jmd0OyAgICAgcHVibGljIGJvb2xlYW4gY2xvc2UoSm9iIGpvYikgezxicj4mZ3Q7Jmd0OyAg ICAgICAgIGpvYi5zZXRKb2JTdGF0dXMoSm9iU3RhdHVzLkNMT1NFRCk7PGJyPiZndDsmZ3Q7ICAg ICAgICAgdGhpcy5lbnRpdHlNYW5hZ2VyLmZsdXNoKCk7PGJyPiZndDsmZ3Q7ICAgICAgICAgdGhp cy5zdGF0dXNNZXNzYWdlcy5hZGQoPGEgaHJlZj0iaHR0cDovL1N0YXR1c01lc3NhZ2UuU2V2ZXJp dHkuSU5GTyIgdGFyZ2V0PSJfYmxhbmsiPlN0YXR1c01lc3NhZ2UuU2V2ZXJpdHkuSU5GTzwvYT4s ICJTdWNjZXNzZnVsbHkgY2xvc2VkIGpvYiB7MH0iLCBqb2IuZ2V0TmFtZSgpKTs8YnI+CgomZ3Q7 Jmd0OyAgICAgICAgIHJldHVybiB0cnVlOzxicj4mZ3Q7Jmd0OyAgICAgfTxicj4mZ3Q7Jmd0OyB9 PGJyPiZndDsmZ3Q7IDxicj4mZ3Q7Jmd0OyAyLiBPbmUgdGhpbmcgeW91IG1heSBoYXZlIG5vdGlj ZWQgZnJvbSBhYm92ZSB0aGF0IHRoZXJlIGlzIG5vICdpbnN0YW5jZScgZmllbGQgd2l0aCBjb3Jy ZXNwb25kaW5nIGdldHRlcnMgb3Igc2V0dGVycyBsaWtlIHRoZSBvbGQgJ0hvbWUnLiAgIFNvIHRo ZSBTZXJ2aWNlQmVhbiBpbiBteSBjYXNlIGlzIG5vdCBhIGZ1bGwgY3J1ZCwgYnV0IENVRCArIHlv dXIgb3duIGJ1c2luZXNzIG1ldGhvZHMuIFRoYXQncyBiZWNhdXNlIHRoYXQgdG9vIHNob3VsZCBi ZSBkZWNvdXBsZWQgYmVjYXVzZSB3ZSBuZXZlciBrbm93IHRoZSBzb3VyY2Ugb2YgdGhlIG9iamVj dCBpcy4gIElzIHRoZSBvYmplY3QgY3JlYXRlZCBmcm9tIGEgZmFjdG9yeT8gZnJvbSBhIGNvcHk/ IGlzIGl0IGEgbWFwcGVkIGNvbXBvbmVudCwgYSBtYW5hZ2VkIGNvbXBvbmVudD8gIENyZWF0aW9u IG9mIG9iamVjdHMgb3IgbG9hZGluZyBvZiBvYmplY3RzLCBvciB0aGUgbWFudWZhY3R1cmluZyBv ZiBvYmplY3RzIGZyb20gZmFjdG9yaWVzIHNob3VsZCBiZSBzZXBhcmF0ZSBmcm9tIHRoZSAiaG9t ZSIgb3IgaW4gbXkgY2FzZSB0aGUgIlNlcnZpY2VCZWFuIi48YnI+CgomZ3Q7Jmd0OyA8YnI+Jmd0 OyZndDsgKGVuZCBmZWVkYmFjayk8YnI+Jmd0OyZndDsgPGJyPiZndDsmZ3Q7IC0tIDxicj4mZ3Q7 Jmd0OyBEYW4gQWxsZW48YnI+Jmd0OyZndDsgUHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyLCBS ZWQgSGF0IHwgQXV0aG9yIG9mIFNlYW0gaW4gQWN0aW9uPGJyPiZndDsmZ3Q7IFJlZ2lzdGVyZWQg TGludXggVXNlciAjMjMxNTk3PGJyPiZndDsmZ3Q7IDxicj4KCiZndDsmZ3Q7IDxhIGhyZWY9Imh0 dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxlbiNhYm91dCIgdGFyZ2V0PSJf YmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9wcm9maWxlcy9kYW4uai5hbGxl biNhYm91dCI+aHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0 PC9hPjwvYT48YnI+Jmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHA6Ly9tb2phdmVsaW51eC5jb20iPmh0dHA6Ly9tb2ph dmVsaW51eC5jb208L2E+PC9hPjxicj4KJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL21vamF2ZWxp bnV4LmNvbS9zZWFtaW5hY3Rpb24iIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJodHRwOi8vbW9q YXZlbGludXguY29tL3NlYW1pbmFjdGlvbiI+aHR0cDovL21vamF2ZWxpbnV4LmNvbS9zZWFtaW5h Y3Rpb248L2E+PC9hPjxicj4KJmd0OyZndDsgPGJyPiZndDsmZ3Q7IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPiZndDsmZ3Q7IGZvcmdlLWRldiBtYWls aW5nIGxpc3Q8YnI+Jmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOmZvcmdlLWRldkBsaXN0cy5qYm9z cy5vcmciIHRhcmdldD0iX2JsYW5rIj48YSBocmVmPSJtYWlsdG86Zm9yZ2UtZGV2QGxpc3RzLmpi b3NzLm9yZyI+Zm9yZ2UtZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48L2E+PGJyPiZndDsmZ3Q7IDxh IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vZm9yZ2UtZGV2 IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1h bi9saXN0aW5mby9mb3JnZS1kZXYiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlz dGluZm8vZm9yZ2UtZGV2PC9hPjwvYT48YnI+CgomZ3Q7IDxicj4mZ3Q7IC9tYXg8YnI+Jmd0OyA8 YSBocmVmPSJodHRwOi8vYWJvdXQubWUvbWF4YW5kZXJzZW4iIHRhcmdldD0iX2JsYW5rIj48YSBo cmVmPSJodHRwOi8vYWJvdXQubWUvbWF4YW5kZXJzZW4iPmh0dHA6Ly9hYm91dC5tZS9tYXhhbmRl cnNlbjwvYT48L2E+PGJyPiZndDsgPGJyPiZndDsgPGJyPiZndDsgPGJyPiZndDsgPGJyPiZndDsg X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+Jmd0OyBm b3JnZS1kZXYgbWFpbGluZyBsaXN0PGJyPgoKJmd0OyA8YSBocmVmPSJtYWlsdG86Zm9yZ2UtZGV2 QGxpc3RzLmpib3NzLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Im1haWx0bzpmb3JnZS1k ZXZAbGlzdHMuamJvc3Mub3JnIj5mb3JnZS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjwvYT48YnI+ Jmd0OyA8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zv cmdlLWRldiIgdGFyZ2V0PSJfYmxhbmsiPjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3Jn L21haWxtYW4vbGlzdGluZm8vZm9yZ2UtZGV2Ij5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZvcmdlLWRldjwvYT48L2E+PGJyPgo8L2Rpdj4KPC9kaXY+PC9kaXY+PGJy Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpzZWFt LWRldiBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9z cy5vcmciPjxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5vcmciPnNlYW0tZGV2 QGxpc3RzLmpib3NzLm9yZzwvYT48L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLmpib3Nz Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0YXJnZXQ9Il9ibGFuayI+PGEgaHJlZj0i aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiI+aHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48L2E+PGJyPgo8 YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4KPC9kaXY+PC9ibG9ja3F1b3RlPjxibG9j a3F1b3RlIHR5cGU9ImNpdGUiPjxkaXY+PHNwYW4+X19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX188L3NwYW4+PGJyPjxzcGFuPnNlYW0tZGV2IG1haWxpbmcgbGlz dDwvc3Bhbj48YnI+PHNwYW4+PGEgaHJlZj0ibWFpbHRvOnNlYW0tZGV2QGxpc3RzLmpib3NzLm9y ZyI+c2VhbS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjwvc3Bhbj48YnI+PHNwYW4+PGEgaHJlZj0i aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldiI+aHR0cHM6 Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9zZWFtLWRldjwvYT48L3NwYW4+PGJy PjwvZGl2PjwvYmxvY2txdW90ZT48L2JvZHk+PC9odG1sPg== --===============1329997931457312644==-- From max.andersen at redhat.com Tue Sep 27 12:56:05 2011 Content-Type: multipart/mixed; boundary="===============3054320180043658611==" MIME-Version: 1.0 From: Max Rydahl Andersen To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [forge-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 27 Sep 2011 18:55:58 +0200 Message-ID: In-Reply-To: 4AA8021C-953A-467E-B25C-D9B7E59597B4@gmail.com --===============3054320180043658611== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable don't use save or saveOrUpdate - those are old Hibernate API methods which = doesn't do the same as what update/persist does. The semantics are similar but different enough to not overload the words si= nce it requires a different usage of the API. My 2 cents ;) /max = On Sep 27, 2011, at 17:57, Jason Porter wrote: > I prefer the idea that there's a class that manages one instance and that= 's all it does, and another object (or objects) to handle collections of th= ose objects. I think separating them out makes for better reusability. If w= e'd like to have a save method I'm okay with that, but don't really see the= need. = > = > Sent from my iPhone > = > On Sep 27, 2011, at 7:32, Jos=C3=A9 Rodolfo Freitas wrote: > = >> Sorry for not being able to post my gist. After writting some "sketches"= , I realized that I don't have it very clear in my mind yet. >> = >> just to move from zero I posted something: >> = >> https://gist.github.com/1245041 >> = >> It's a really simple example on how we could avoid inheritance, but it'= s not contemplating a lot of needed features, >> so I'm not even near to be convinced with that gist. >> = >> btw, the @AutoHome approach seems very nice. >> = >> = >> On Thu, Sep 22, 2011 at 2:12 PM, Dan Allen wro= te: >> Exactly. flush() has a specific purpose and really doesn't belong in boi= lerplate code. >> = >> - Dan Allen >> = >> Sent from my Android-powered phone: >> An open platform for carriers, consumers and developers >> = >> On Sep 22, 2011 11:19 AM, "Max Rydahl Andersen" wrote: >> > just one comment: >> > = >> > Calling .flush() on every alteration really should not be promoted as = a good practice. >> > = >> > /max >> > = >> > On Sep 22, 2011, at 24:22, Dan Allen wrote: >> > = >> >> Here's some additional feedback I received from a community member a = while back...to merge it into this thread. >> >> = >> >> (begin feedback) >> >> = >> >> ...from being burned from 3 seam based customers with apps and mainte= nance. The "Home" or any other name should be just be put into a grave and = slowly cast away to sea ;). It is too heavy and complicated and just about = anything inherited (extends) truly causes heartache[Favor Composition over = inheritance: Effective Java]. The current seam home has a few super classes= above the home and when you try to unit test it (the standard definition o= f unit-testing including isolation) you get the "No Active Application Cont= ext Found (if I remember it right). That happens because it is tightly coup= led with the application. But not to be hard on Home, I do realize the hist= ory of the home object and know it was developed when EL had no parameters.= So I have learned a lot since then and I here are some things that I can i= mpart to Seam 3. = >> >> = >> >> 1. My "Home" now is a "ServiceBean", and I have one for each "Major" = entity, see below. I have really stewed over this over months and months, a= nd the "Home" of "ServiceBean" should be kept small, focused, reusable, tes= ted and untouched. It's only task is to update, persist, possibly remove, o= r some other functions that are required. In my example below I have custom= close action. Notice also that although these beans are stateful that does= n't mean everything should be, so in these methods I have the parameter of = what is being needed to be updated, and not a field. In other words I don't= have @In private Job job, I opted for public boolean update(job). Mostly b= ecause, again, I want to make this service bean reusable so whether I have = a #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component of job I= need to work on I only need one jobServiceBean to cater to all my jobs, in= whatever conversation I am using. I also fire events from here if I need t= o do that. ! >> > After this is tested, and what I need I usually don't touch it anymore= . If I need to enhance I either use a decorator pattern around it, or enhan= ce it in an @Observer. I'll email about that later. >> >> = >> >> @Name("jobServiceBean") >> >> @Scope(ScopeType.CONVERSATION) >> >> public class JobServiceBean implements JobService { >> >> private EntityManager entityManager; >> >> private StatusMessages statusMessages; >> >> = >> >> @In >> >> public void setEntityManager(EntityManager entityManager) { >> >> this.entityManager =3D entityManager; >> >> } >> >> = >> >> @In >> >> public void setStatusMessages(StatusMessages statusMessages) { >> >> this.statusMessages =3D statusMessages; >> >> } >> >> = >> >> public boolean update(Job job) { >> >> this.entityManager.flush(); >> >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully up= dated job {0}", job.getName()); >> >> return true; >> >> } >> >> = >> >> public boolean close(Job job) { >> >> job.setJobStatus(JobStatus.CLOSED); >> >> this.entityManager.flush(); >> >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully cl= osed job {0}", job.getName()); >> >> return true; >> >> } >> >> } >> >> = >> >> 2. One thing you may have noticed from above that there is no 'instan= ce' field with corresponding getters or setters like the old 'Home'. So the= ServiceBean in my case is not a full crud, but CUD + your own business met= hods. That's because that too should be decoupled because we never know the= source of the object is. Is the object created from a factory? from a copy= ? is it a mapped component, a managed component? Creation of objects or loa= ding of objects, or the manufacturing of objects from factories should be s= eparate from the "home" or in my case the "ServiceBean". >> >> = >> >> (end feedback) >> >> = >> >> -- = >> >> Dan Allen >> >> Principal Software Engineer, Red Hat | Author of Seam in Action >> >> Registered Linux User #231597 >> >> = >> >> http://www.google.com/profiles/dan.j.allen#about >> >> http://mojavelinux.com >> >> http://mojavelinux.com/seaminaction >> >> = >> >> _______________________________________________ >> >> forge-dev mailing list >> >> forge-dev(a)lists.jboss.org >> >> https://lists.jboss.org/mailman/listinfo/forge-dev >> > = >> > /max >> > http://about.me/maxandersen >> > = >> > = >> > = >> > = >> > _______________________________________________ >> > forge-dev mailing list >> > forge-dev(a)lists.jboss.org >> > https://lists.jboss.org/mailman/listinfo/forge-dev >> = >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev >> = >> = >> _______________________________________________ >> seam-dev mailing list >> seam-dev(a)lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/seam-dev > _______________________________________________ > forge-dev mailing list > forge-dev(a)lists.jboss.org > https://lists.jboss.org/mailman/listinfo/forge-dev /max http://about.me/maxandersen --===============3054320180043658611==-- From joserodolfo.freitas at gmail.com Tue Sep 27 12:59:45 2011 Content-Type: multipart/mixed; boundary="===============0335604788527533164==" MIME-Version: 1.0 From: =?utf-8?q?Jos=C3=A9_Rodolfo_Freitas_=3Cjoserodolfo=2Efreitas_at_gmail=2Ec?= =?utf-8?q?om=3E?= To: seam-dev at lists.jboss.org Subject: Re: [seam-dev] [forge-dev] SAF (aka Entity Framework) idea in Seam 3 Date: Tue, 27 Sep 2011 13:59:43 -0300 Message-ID: In-Reply-To: CA2CF985-7CD4-4B37-B407-A17A69F5D696@redhat.com --===============0335604788527533164== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable good point. Naming was not my focus here though, it was just a quick example. On Tue, Sep 27, 2011 at 1:55 PM, Max Rydahl Andersen < max.andersen(a)redhat.com> wrote: > don't use save or saveOrUpdate - those are old Hibernate API methods which > doesn't do the same as what update/persist does. > > The semantics are similar but different enough to not overload the words > since it requires a different usage of the API. > > My 2 cents ;) > > /max > > On Sep 27, 2011, at 17:57, Jason Porter wrote: > > > I prefer the idea that there's a class that manages one instance and > that's all it does, and another object (or objects) to handle collections= of > those objects. I think separating them out makes for better reusability. = If > we'd like to have a save method I'm okay with that, but don't really see = the > need. > > > > Sent from my iPhone > > > > On Sep 27, 2011, at 7:32, Jos=C3=A9 Rodolfo Freitas < > joserodolfo.freitas(a)gmail.com> wrote: > > > >> Sorry for not being able to post my gist. After writting some > "sketches", I realized that I don't have it very clear in my mind yet. > >> > >> just to move from zero I posted something: > >> > >> https://gist.github.com/1245041 > >> > >> It's a really simple example on how we could avoid inheritance, but > it's not contemplating a lot of needed features, > >> so I'm not even near to be convinced with that gist. > >> > >> btw, the @AutoHome approach seems very nice. > >> > >> > >> On Thu, Sep 22, 2011 at 2:12 PM, Dan Allen > wrote: > >> Exactly. flush() has a specific purpose and really doesn't belong in > boilerplate code. > >> > >> - Dan Allen > >> > >> Sent from my Android-powered phone: > >> An open platform for carriers, consumers and developers > >> > >> On Sep 22, 2011 11:19 AM, "Max Rydahl Andersen" < > max.andersen(a)redhat.com> wrote: > >> > just one comment: > >> > > >> > Calling .flush() on every alteration really should not be promoted as > a good practice. > >> > > >> > /max > >> > > >> > On Sep 22, 2011, at 24:22, Dan Allen wrote: > >> > > >> >> Here's some additional feedback I received from a community member a > while back...to merge it into this thread. > >> >> > >> >> (begin feedback) > >> >> > >> >> ...from being burned from 3 seam based customers with apps and > maintenance. The "Home" or any other name should be just be put into a gr= ave > and slowly cast away to sea ;). It is too heavy and complicated and just > about anything inherited (extends) truly causes heartache[Favor Compositi= on > over inheritance: Effective Java]. The current seam home has a few super > classes above the home and when you try to unit test it (the standard > definition of unit-testing including isolation) you get the "No Active > Application Context Found (if I remember it right). That happens because = it > is tightly coupled with the application. But not to be hard on Home, I do > realize the history of the home object and know it was developed when EL = had > no parameters. So I have learned a lot since then and I here are some thi= ngs > that I can impart to Seam 3. > >> >> > >> >> 1. My "Home" now is a "ServiceBean", and I have one for each "Major" > entity, see below. I have really stewed over this over months and months, > and the "Home" of "ServiceBean" should be kept small, focused, reusable, > tested and untouched. It's only task is to update, persist, possibly remo= ve, > or some other functions that are required. In my example below I have cus= tom > close action. Notice also that although these beans are stateful that > doesn't mean everything should be, so in these methods I have the paramet= er > of what is being needed to be updated, and not a field. In other words I > don't have @In private Job job, I opted for public boolean update(job). > Mostly because, again, I want to make this service bean reusable so wheth= er > I have a #{newJob}, #{copyOfAJob}, or #{managedJob} or whatever component= of > job I need to work on I only need one jobServiceBean to cater to all my > jobs, in whatever conversation I am using. I also fire events from here i= f I > need to do that. ! > >> > After this is tested, and what I need I usually don't touch it > anymore. If I need to enhance I either use a decorator pattern around it,= or > enhance it in an @Observer. I'll email about that later. > >> >> > >> >> @Name("jobServiceBean") > >> >> @Scope(ScopeType.CONVERSATION) > >> >> public class JobServiceBean implements JobService { > >> >> private EntityManager entityManager; > >> >> private StatusMessages statusMessages; > >> >> > >> >> @In > >> >> public void setEntityManager(EntityManager entityManager) { > >> >> this.entityManager =3D entityManager; > >> >> } > >> >> > >> >> @In > >> >> public void setStatusMessages(StatusMessages statusMessages) { > >> >> this.statusMessages =3D statusMessages; > >> >> } > >> >> > >> >> public boolean update(Job job) { > >> >> this.entityManager.flush(); > >> >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully > updated job {0}", job.getName()); > >> >> return true; > >> >> } > >> >> > >> >> public boolean close(Job job) { > >> >> job.setJobStatus(JobStatus.CLOSED); > >> >> this.entityManager.flush(); > >> >> this.statusMessages.add(StatusMessage.Severity.INFO, "Successfully > closed job {0}", job.getName()); > >> >> return true; > >> >> } > >> >> } > >> >> > >> >> 2. One thing you may have noticed from above that there is no > 'instance' field with corresponding getters or setters like the old 'Home= '. > So the ServiceBean in my case is not a full crud, but CUD + your own > business methods. That's because that too should be decoupled because we > never know the source of the object is. Is the object created from a > factory? from a copy? is it a mapped component, a managed component? > Creation of objects or loading of objects, or the manufacturing of objects > from factories should be separate from the "home" or in my case the > "ServiceBean". > >> >> > >> >> (end feedback) > >> >> > >> >> -- > >> >> Dan Allen > >> >> Principal Software Engineer, Red Hat | Author of Seam in Action > >> >> Registered Linux User #231597 > >> >> > >> >> http://www.google.com/profiles/dan.j.allen#about > >> >> http://mojavelinux.com > >> >> http://mojavelinux.com/seaminaction > >> >> > >> >> _______________________________________________ > >> >> forge-dev mailing list > >> >> forge-dev(a)lists.jboss.org > >> >> https://lists.jboss.org/mailman/listinfo/forge-dev > >> > > >> > /max > >> > http://about.me/maxandersen > >> > > >> > > >> > > >> > > >> > _______________________________________________ > >> > forge-dev mailing list > >> > forge-dev(a)lists.jboss.org > >> > https://lists.jboss.org/mailman/listinfo/forge-dev > >> > >> _______________________________________________ > >> seam-dev mailing list > >> seam-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/seam-dev > >> > >> > >> _______________________________________________ > >> seam-dev mailing list > >> seam-dev(a)lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/seam-dev > > _______________________________________________ > > forge-dev mailing list > > forge-dev(a)lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/forge-dev > > /max > http://about.me/maxandersen > > > > --===============0335604788527533164== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" Z29vZCBwb2ludC48ZGl2Pk5hbWluZyB3YXMgbm90IG15IGZvY3VzIGhlcmUgdGhvdWdoLCBpdCB3 YXMganVzdCBhIHF1aWNrIGV4YW1wbGUuPC9kaXY+PGRpdj48YnI+PGRpdiBjbGFzcz0iZ21haWxf cXVvdGUiPk9uIFR1ZSwgU2VwIDI3LCAyMDExIGF0IDE6NTUgUE0sIE1heCBSeWRhaGwgQW5kZXJz ZW4gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86bWF4LmFuZGVyc2VuQHJlZGhh dC5jb20iPm1heC5hbmRlcnNlbkByZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4K PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7 Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleDsiPmRvbiYjMzk7dCB1 c2Ugc2F2ZSBvciBzYXZlT3JVcGRhdGUgLSB0aG9zZSBhcmUgb2xkIEhpYmVybmF0ZSBBUEkgbWV0 aG9kcyB3aGljaCBkb2VzbiYjMzk7dCBkbyB0aGUgc2FtZSBhcyB3aGF0IHVwZGF0ZS9wZXJzaXN0 IGRvZXMuPGJyPgoKPGJyPgpUaGUgc2VtYW50aWNzIGFyZSBzaW1pbGFyIGJ1dCBkaWZmZXJlbnQg ZW5vdWdoIHRvIG5vdCBvdmVybG9hZCB0aGUgd29yZHMgc2luY2UgaXQgcmVxdWlyZXMgYSBkaWZm ZXJlbnQgdXNhZ2Ugb2YgdGhlIEFQSS48YnI+Cjxicj4KTXkgMiBjZW50cyA7KTxicj4KPGZvbnQg Y29sb3I9IiM4ODg4ODgiPjxicj4KL21heDxicj4KPC9mb250PjxkaXY+PGRpdj48L2Rpdj48ZGl2 IGNsYXNzPSJoNSI+PGJyPgpPbiBTZXAgMjcsIDIwMTEsIGF0IDE3OjU3LCBKYXNvbiBQb3J0ZXIg d3JvdGU6PGJyPgo8YnI+CiZndDsgSSBwcmVmZXIgdGhlIGlkZWEgdGhhdCB0aGVyZSYjMzk7cyBh IGNsYXNzIHRoYXQgbWFuYWdlcyBvbmUgaW5zdGFuY2UgYW5kIHRoYXQmIzM5O3MgYWxsIGl0IGRv ZXMsIGFuZCBhbm90aGVyIG9iamVjdCAob3Igb2JqZWN0cykgdG8gaGFuZGxlIGNvbGxlY3Rpb25z IG9mIHRob3NlIG9iamVjdHMuIEkgdGhpbmsgc2VwYXJhdGluZyB0aGVtIG91dCBtYWtlcyBmb3Ig YmV0dGVyIHJldXNhYmlsaXR5LiBJZiB3ZSYjMzk7ZCBsaWtlIHRvIGhhdmUgYSBzYXZlIG1ldGhv ZCBJJiMzOTttIG9rYXkgd2l0aCB0aGF0LCBidXQgZG9uJiMzOTt0IHJlYWxseSBzZWUgdGhlIG5l ZWQuPGJyPgoKJmd0Ozxicj4KJmd0OyBTZW50IGZyb20gbXkgaVBob25lPGJyPgomZ3Q7PGJyPgom Z3Q7IE9uIFNlcCAyNywgMjAxMSwgYXQgNzozMiwgSm9z6SBSb2RvbGZvIEZyZWl0YXMgJmx0Ozxh IGhyZWY9Im1haWx0bzpqb3Nlcm9kb2xmby5mcmVpdGFzQGdtYWlsLmNvbSI+am9zZXJvZG9sZm8u ZnJlaXRhc0BnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+CiZndDs8YnI+CiZndDsmZ3Q7IFNv cnJ5IGZvciBub3QgYmVpbmcgYWJsZSB0byBwb3N0IG15IGdpc3QuIEFmdGVyIHdyaXR0aW5nIHNv bWUgJnF1b3Q7c2tldGNoZXMmcXVvdDssIEkgcmVhbGl6ZWQgdGhhdCBJIGRvbiYjMzk7dCBoYXZl IGl0IHZlcnkgY2xlYXIgaW4gbXkgbWluZCB5ZXQuPGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsg anVzdCB0byBtb3ZlIGZyb20gemVybyBJIHBvc3RlZCBzb21ldGhpbmc6PGJyPgomZ3Q7Jmd0Ozxi cj4KJmd0OyZndDsgPGEgaHJlZj0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vMTI0NTA0MSIgdGFy Z2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2lzdC5naXRodWIuY29tLzEyNDUwNDE8L2E+PGJyPgomZ3Q7 Jmd0Ozxicj4KJmd0OyZndDsgSXQmIzM5O3MgYSByZWFsbHkgc2ltcGxlIGV4YW1wbGUgb24gaG93 IHdlIGNvdWxkIGF2b2lkIGluaGVyaXRhbmNlLCCgYnV0IGl0JiMzOTtzIG5vdCBjb250ZW1wbGF0 aW5nIGEgbG90IG9mIG5lZWRlZCBmZWF0dXJlcyw8YnI+CiZndDsmZ3Q7IHNvIEkmIzM5O20gbm90 IGV2ZW4gbmVhciB0byBiZSBjb252aW5jZWQgd2l0aCB0aGF0IGdpc3QuPGJyPgomZ3Q7Jmd0Ozxi cj4KJmd0OyZndDsgYnR3LCB0aGUgQEF1dG9Ib21lIGFwcHJvYWNoIHNlZW1zIHZlcnkgbmljZS48 YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgT24gVGh1LCBTZXAgMjIsIDIw MTEgYXQgMjoxMiBQTSwgRGFuIEFsbGVuICZsdDs8YSBocmVmPSJtYWlsdG86ZGFuLmouYWxsZW5A Z21haWwuY29tIj5kYW4uai5hbGxlbkBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+CiZndDsm Z3Q7IEV4YWN0bHkuIGZsdXNoKCkgaGFzIGEgc3BlY2lmaWMgcHVycG9zZSBhbmQgcmVhbGx5IGRv ZXNuJiMzOTt0IGJlbG9uZyBpbiBib2lsZXJwbGF0ZSBjb2RlLjxicj4KJmd0OyZndDs8YnI+CiZn dDsmZ3Q7IC0gRGFuIEFsbGVuPGJyPgomZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgU2VudCBmcm9tIG15 IEFuZHJvaWQtcG93ZXJlZCBwaG9uZTo8YnI+CiZndDsmZ3Q7IEFuIG9wZW4gcGxhdGZvcm0gZm9y IGNhcnJpZXJzLCBjb25zdW1lcnMgYW5kIGRldmVsb3BlcnM8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7 Jmd0OyBPbiBTZXAgMjIsIDIwMTEgMTE6MTkgQU0sICZxdW90O01heCBSeWRhaGwgQW5kZXJzZW4m cXVvdDsgJmx0OzxhIGhyZWY9Im1haWx0bzptYXguYW5kZXJzZW5AcmVkaGF0LmNvbSI+bWF4LmFu ZGVyc2VuQHJlZGhhdC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+CiZndDsmZ3Q7ICZndDsganVzdCBv bmUgY29tbWVudDo8YnI+CiZndDsmZ3Q7ICZndDs8YnI+CiZndDsmZ3Q7ICZndDsgQ2FsbGluZyAu Zmx1c2goKSBvbiBldmVyeSBhbHRlcmF0aW9uIHJlYWxseSBzaG91bGQgbm90IGJlIHByb21vdGVk IGFzIGEgZ29vZCBwcmFjdGljZS48YnI+CiZndDsmZ3Q7ICZndDs8YnI+CiZndDsmZ3Q7ICZndDsg L21heDxicj4KJmd0OyZndDsgJmd0Ozxicj4KJmd0OyZndDsgJmd0OyBPbiBTZXAgMjIsIDIwMTEs IGF0IDI0OjIyLCBEYW4gQWxsZW4gd3JvdGU6PGJyPgomZ3Q7Jmd0OyAmZ3Q7PGJyPgomZ3Q7Jmd0 OyAmZ3Q7Jmd0OyBIZXJlJiMzOTtzIHNvbWUgYWRkaXRpb25hbCBmZWVkYmFjayBJIHJlY2VpdmVk IGZyb20gYSBjb21tdW5pdHkgbWVtYmVyIGEgd2hpbGUgYmFjay4uLnRvIG1lcmdlIGl0IGludG8g dGhpcyB0aHJlYWQuPGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZndDsg KGJlZ2luIGZlZWRiYWNrKTxicj4KJmd0OyZndDsgJmd0OyZndDs8YnI+CiZndDsmZ3Q7ICZndDsm Z3Q7IC4uLmZyb20gYmVpbmcgYnVybmVkIGZyb20gMyBzZWFtIGJhc2VkIGN1c3RvbWVycyB3aXRo IGFwcHMgYW5kIG1haW50ZW5hbmNlLiBUaGUgJnF1b3Q7SG9tZSZxdW90OyBvciBhbnkgb3RoZXIg bmFtZSBzaG91bGQgYmUganVzdCBiZSBwdXQgaW50byBhIGdyYXZlIGFuZCBzbG93bHkgY2FzdCBh d2F5IHRvIHNlYSA7KS4gSXQgaXMgdG9vIGhlYXZ5IGFuZCBjb21wbGljYXRlZCBhbmQganVzdCBh Ym91dCBhbnl0aGluZyBpbmhlcml0ZWQgKGV4dGVuZHMpIHRydWx5IGNhdXNlcyBoZWFydGFjaGVb RmF2b3IgQ29tcG9zaXRpb24gb3ZlciBpbmhlcml0YW5jZTogRWZmZWN0aXZlIEphdmFdLiBUaGUg Y3VycmVudCBzZWFtIGhvbWUgaGFzIGEgZmV3IHN1cGVyIGNsYXNzZXMgYWJvdmUgdGhlIGhvbWUg YW5kIHdoZW4geW91IHRyeSB0byB1bml0IHRlc3QgaXQgKHRoZSBzdGFuZGFyZCBkZWZpbml0aW9u IG9mIHVuaXQtdGVzdGluZyBpbmNsdWRpbmcgaXNvbGF0aW9uKSB5b3UgZ2V0IHRoZSAmcXVvdDtO byBBY3RpdmUgQXBwbGljYXRpb24gQ29udGV4dCBGb3VuZCAoaWYgSSByZW1lbWJlciBpdCByaWdo dCkuIFRoYXQgaGFwcGVucyBiZWNhdXNlIGl0IGlzIHRpZ2h0bHkgY291cGxlZCB3aXRoIHRoZSBh cHBsaWNhdGlvbi4gQnV0IG5vdCB0byBiZSBoYXJkIG9uIEhvbWUsIEkgZG8gcmVhbGl6ZSB0aGUg aGlzdG9yeSBvZiB0aGUgaG9tZSBvYmplY3QgYW5kIGtub3cgaXQgd2FzIGRldmVsb3BlZCB3aGVu IEVMIGhhZCBubyBwYXJhbWV0ZXJzLiBTbyBJIGhhdmUgbGVhcm5lZCBhIGxvdCBzaW5jZSB0aGVu IGFuZCBJIGhlcmUgYXJlIHNvbWUgdGhpbmdzIHRoYXQgSSBjYW4gaW1wYXJ0IHRvIFNlYW0gMy48 YnI+CgomZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZndDsgMS4gTXkgJnF1b3Q7 SG9tZSZxdW90OyBub3cgaXMgYSAmcXVvdDtTZXJ2aWNlQmVhbiZxdW90OywgYW5kIEkgaGF2ZSBv bmUgZm9yIGVhY2ggJnF1b3Q7TWFqb3ImcXVvdDsgZW50aXR5LCBzZWUgYmVsb3cuIEkgaGF2ZSBy ZWFsbHkgc3Rld2VkIG92ZXIgdGhpcyBvdmVyIG1vbnRocyBhbmQgbW9udGhzLCBhbmQgdGhlICZx dW90O0hvbWUmcXVvdDsgb2YgJnF1b3Q7U2VydmljZUJlYW4mcXVvdDsgc2hvdWxkIGJlIGtlcHQg c21hbGwsIGZvY3VzZWQsIHJldXNhYmxlLCB0ZXN0ZWQgYW5kIHVudG91Y2hlZC4gSXQmIzM5O3Mg b25seSB0YXNrIGlzIHRvIHVwZGF0ZSwgcGVyc2lzdCwgcG9zc2libHkgcmVtb3ZlLCBvciBzb21l IG90aGVyIGZ1bmN0aW9ucyB0aGF0IGFyZSByZXF1aXJlZC4gSW4gbXkgZXhhbXBsZSBiZWxvdyBJ IGhhdmUgY3VzdG9tIGNsb3NlIGFjdGlvbi4gTm90aWNlIGFsc28gdGhhdCBhbHRob3VnaCB0aGVz ZSBiZWFucyBhcmUgc3RhdGVmdWwgdGhhdCBkb2VzbiYjMzk7dCBtZWFuIGV2ZXJ5dGhpbmcgc2hv dWxkIGJlLCBzbyBpbiB0aGVzZSBtZXRob2RzIEkgaGF2ZSB0aGUgcGFyYW1ldGVyIG9mIHdoYXQg aXMgYmVpbmcgbmVlZGVkIHRvIGJlIHVwZGF0ZWQsIGFuZCBub3QgYSBmaWVsZC4gSW4gb3RoZXIg d29yZHMgSSBkb24mIzM5O3QgaGF2ZSBASW4gcHJpdmF0ZSBKb2Igam9iLCBJIG9wdGVkIGZvciBw dWJsaWMgYm9vbGVhbiB1cGRhdGUoam9iKS4gTW9zdGx5IGJlY2F1c2UsIGFnYWluLCBJIHdhbnQg dG8gbWFrZSB0aGlzIHNlcnZpY2UgYmVhbiByZXVzYWJsZSBzbyB3aGV0aGVyIEkgaGF2ZSBhICN7 bmV3Sm9ifSwgI3tjb3B5T2ZBSm9ifSwgb3IgI3ttYW5hZ2VkSm9ifSBvciB3aGF0ZXZlciBjb21w b25lbnQgb2Ygam9iIEkgbmVlZCB0byB3b3JrIG9uIEkgb25seSBuZWVkIG9uZSBqb2JTZXJ2aWNl QmVhbiB0byBjYXRlciB0byBhbGwgbXkgam9icywgaW4gd2hhdGV2ZXIgY29udmVyc2F0aW9uIEkg YW0gdXNpbmcuIEkgYWxzbyBmaXJlIGV2ZW50cyBmcm9tIGhlcmUgaWYgSSBuZWVkIHRvIGRvIHRo YXQuICE8YnI+CgomZ3Q7Jmd0OyAmZ3Q7IEFmdGVyIHRoaXMgaXMgdGVzdGVkLCBhbmQgd2hhdCBJ IG5lZWQgSSB1c3VhbGx5IGRvbiYjMzk7dCB0b3VjaCBpdCBhbnltb3JlLiBJZiBJIG5lZWQgdG8g ZW5oYW5jZSBJIGVpdGhlciB1c2UgYSBkZWNvcmF0b3IgcGF0dGVybiBhcm91bmQgaXQsIG9yIGVu aGFuY2UgaXQgaW4gYW4gQE9ic2VydmVyLiBJJiMzOTtsbCBlbWFpbCBhYm91dCB0aGF0IGxhdGVy Ljxicj4KCiZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyBATmFtZSgmcXVv dDtqb2JTZXJ2aWNlQmVhbiZxdW90Oyk8YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7IEBTY29wZShTY29w ZVR5cGUuQ09OVkVSU0FUSU9OKTxicj4KJmd0OyZndDsgJmd0OyZndDsgcHVibGljIGNsYXNzIEpv YlNlcnZpY2VCZWFuIGltcGxlbWVudHMgSm9iU2VydmljZSB7PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0 OyBwcml2YXRlIEVudGl0eU1hbmFnZXIgZW50aXR5TWFuYWdlcjs8YnI+CiZndDsmZ3Q7ICZndDsm Z3Q7IHByaXZhdGUgU3RhdHVzTWVzc2FnZXMgc3RhdHVzTWVzc2FnZXM7PGJyPgomZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZndDsgQEluPGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyBw dWJsaWMgdm9pZCBzZXRFbnRpdHlNYW5hZ2VyKEVudGl0eU1hbmFnZXIgZW50aXR5TWFuYWdlcikg ezxicj4KJmd0OyZndDsgJmd0OyZndDsgdGhpcy5lbnRpdHlNYW5hZ2VyID0gZW50aXR5TWFuYWdl cjs8YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7IH08YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgomZ3Q7 Jmd0OyAmZ3Q7Jmd0OyBASW48YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7IHB1YmxpYyB2b2lkIHNldFN0 YXR1c01lc3NhZ2VzKFN0YXR1c01lc3NhZ2VzIHN0YXR1c01lc3NhZ2VzKSB7PGJyPgomZ3Q7Jmd0 OyAmZ3Q7Jmd0OyB0aGlzLnN0YXR1c01lc3NhZ2VzID0gc3RhdHVzTWVzc2FnZXM7PGJyPgomZ3Q7 Jmd0OyAmZ3Q7Jmd0OyB9PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZn dDsgcHVibGljIGJvb2xlYW4gdXBkYXRlKEpvYiBqb2IpIHs8YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7 IHRoaXMuZW50aXR5TWFuYWdlci5mbHVzaCgpOzxicj4KJmd0OyZndDsgJmd0OyZndDsgdGhpcy5z dGF0dXNNZXNzYWdlcy5hZGQoPGEgaHJlZj0iaHR0cDovL1N0YXR1c01lc3NhZ2UuU2V2ZXJpdHku SU5GTyIgdGFyZ2V0PSJfYmxhbmsiPlN0YXR1c01lc3NhZ2UuU2V2ZXJpdHkuSU5GTzwvYT4sICZx dW90O1N1Y2Nlc3NmdWxseSB1cGRhdGVkIGpvYiB7MH0mcXVvdDssIGpvYi5nZXROYW1lKCkpOzxi cj4KJmd0OyZndDsgJmd0OyZndDsgcmV0dXJuIHRydWU7PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyB9 PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZndDsgcHVibGljIGJvb2xl YW4gY2xvc2UoSm9iIGpvYikgezxicj4KJmd0OyZndDsgJmd0OyZndDsgam9iLnNldEpvYlN0YXR1 cyhKb2JTdGF0dXMuQ0xPU0VEKTs8YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7IHRoaXMuZW50aXR5TWFu YWdlci5mbHVzaCgpOzxicj4KJmd0OyZndDsgJmd0OyZndDsgdGhpcy5zdGF0dXNNZXNzYWdlcy5h ZGQoPGEgaHJlZj0iaHR0cDovL1N0YXR1c01lc3NhZ2UuU2V2ZXJpdHkuSU5GTyIgdGFyZ2V0PSJf YmxhbmsiPlN0YXR1c01lc3NhZ2UuU2V2ZXJpdHkuSU5GTzwvYT4sICZxdW90O1N1Y2Nlc3NmdWxs eSBjbG9zZWQgam9iIHswfSZxdW90Oywgam9iLmdldE5hbWUoKSk7PGJyPgomZ3Q7Jmd0OyAmZ3Q7 Jmd0OyByZXR1cm4gdHJ1ZTs8YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7IH08YnI+CiZndDsmZ3Q7ICZn dDsmZ3Q7IH08YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyAyLiBP bmUgdGhpbmcgeW91IG1heSBoYXZlIG5vdGljZWQgZnJvbSBhYm92ZSB0aGF0IHRoZXJlIGlzIG5v ICYjMzk7aW5zdGFuY2UmIzM5OyBmaWVsZCB3aXRoIGNvcnJlc3BvbmRpbmcgZ2V0dGVycyBvciBz ZXR0ZXJzIGxpa2UgdGhlIG9sZCAmIzM5O0hvbWUmIzM5Oy4gU28gdGhlIFNlcnZpY2VCZWFuIGlu IG15IGNhc2UgaXMgbm90IGEgZnVsbCBjcnVkLCBidXQgQ1VEICsgeW91ciBvd24gYnVzaW5lc3Mg bWV0aG9kcy4gVGhhdCYjMzk7cyBiZWNhdXNlIHRoYXQgdG9vIHNob3VsZCBiZSBkZWNvdXBsZWQg YmVjYXVzZSB3ZSBuZXZlciBrbm93IHRoZSBzb3VyY2Ugb2YgdGhlIG9iamVjdCBpcy4gSXMgdGhl IG9iamVjdCBjcmVhdGVkIGZyb20gYSBmYWN0b3J5PyBmcm9tIGEgY29weT8gaXMgaXQgYSBtYXBw ZWQgY29tcG9uZW50LCBhIG1hbmFnZWQgY29tcG9uZW50PyBDcmVhdGlvbiBvZiBvYmplY3RzIG9y IGxvYWRpbmcgb2Ygb2JqZWN0cywgb3IgdGhlIG1hbnVmYWN0dXJpbmcgb2Ygb2JqZWN0cyBmcm9t IGZhY3RvcmllcyBzaG91bGQgYmUgc2VwYXJhdGUgZnJvbSB0aGUgJnF1b3Q7aG9tZSZxdW90OyBv ciBpbiBteSBjYXNlIHRoZSAmcXVvdDtTZXJ2aWNlQmVhbiZxdW90Oy48YnI+CgomZ3Q7Jmd0OyAm Z3Q7Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyZndDsgKGVuZCBmZWVkYmFjayk8YnI+CiZndDsmZ3Q7 ICZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyAtLTxicj4KJmd0OyZndDsgJmd0OyZndDsg RGFuIEFsbGVuPGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyBQcmluY2lwYWwgU29mdHdhcmUgRW5naW5l ZXIsIFJlZCBIYXQgfCBBdXRob3Igb2YgU2VhbSBpbiBBY3Rpb248YnI+CiZndDsmZ3Q7ICZndDsm Z3Q7IFJlZ2lzdGVyZWQgTGludXggVXNlciAjMjMxNTk3PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0Ozxi cj4KJmd0OyZndDsgJmd0OyZndDsgPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tL3Byb2Zp bGVzL2Rhbi5qLmFsbGVuI2Fib3V0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nb29nbGUu Y29tL3Byb2ZpbGVzL2Rhbi5qLmFsbGVuI2Fib3V0PC9hPjxicj4KJmd0OyZndDsgJmd0OyZndDsg PGEgaHJlZj0iaHR0cDovL21vamF2ZWxpbnV4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9t b2phdmVsaW51eC5jb208L2E+PGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVmPSJodHRwOi8v bW9qYXZlbGludXguY29tL3NlYW1pbmFjdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9tb2ph dmVsaW51eC5jb20vc2VhbWluYWN0aW9uPC9hPjxicj4KJmd0OyZndDsgJmd0OyZndDs8YnI+CiZn dDsmZ3Q7ICZndDsmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fPGJyPgomZ3Q7Jmd0OyAmZ3Q7Jmd0OyBmb3JnZS1kZXYgbWFpbGluZyBsaXN0PGJyPgom Z3Q7Jmd0OyAmZ3Q7Jmd0OyA8YSBocmVmPSJtYWlsdG86Zm9yZ2UtZGV2QGxpc3RzLmpib3NzLm9y ZyI+Zm9yZ2UtZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+CiZndDsmZ3Q7ICZndDsmZ3Q7IDxh IGhyZWY9Imh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vZm9yZ2UtZGV2 IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5m by9mb3JnZS1kZXY8L2E+PGJyPgomZ3Q7Jmd0OyAmZ3Q7PGJyPgomZ3Q7Jmd0OyAmZ3Q7IC9tYXg8 YnI+CiZndDsmZ3Q7ICZndDsgPGEgaHJlZj0iaHR0cDovL2Fib3V0Lm1lL21heGFuZGVyc2VuIiB0 YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Fib3V0Lm1lL21heGFuZGVyc2VuPC9hPjxicj4KJmd0OyZn dDsgJmd0Ozxicj4KJmd0OyZndDsgJmd0Ozxicj4KJmd0OyZndDsgJmd0Ozxicj4KJmd0OyZndDsg Jmd0Ozxicj4KJmd0OyZndDsgJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXzxicj4KJmd0OyZndDsgJmd0OyBmb3JnZS1kZXYgbWFpbGluZyBsaXN0PGJy PgomZ3Q7Jmd0OyAmZ3Q7IDxhIGhyZWY9Im1haWx0bzpmb3JnZS1kZXZAbGlzdHMuamJvc3Mub3Jn Ij5mb3JnZS1kZXZAbGlzdHMuamJvc3Mub3JnPC9hPjxicj4KJmd0OyZndDsgJmd0OyA8YSBocmVm PSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZvcmdlLWRldiIgdGFy Z2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vZm9y Z2UtZGV2PC9hPjxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7Jmd0OyBzZWFtLWRldiBtYWlsaW5n IGxpc3Q8YnI+CiZndDsmZ3Q7IDxhIGhyZWY9Im1haWx0bzpzZWFtLWRldkBsaXN0cy5qYm9zcy5v cmciPnNlYW0tZGV2QGxpc3RzLmpib3NzLm9yZzwvYT48YnI+CiZndDsmZ3Q7IDxhIGhyZWY9Imh0 dHBzOi8vbGlzdHMuamJvc3Mub3JnL21haWxtYW4vbGlzdGluZm8vc2VhbS1kZXYiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2 PC9hPjxicj4KJmd0OyZndDs8YnI+CiZndDsmZ3Q7PGJyPgomZ3Q7Jmd0OyBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KJmd0OyZndDsgc2VhbS1kZXYg bWFpbGluZyBsaXN0PGJyPgomZ3Q7Jmd0OyA8YSBocmVmPSJtYWlsdG86c2VhbS1kZXZAbGlzdHMu amJvc3Mub3JnIj5zZWFtLWRldkBsaXN0cy5qYm9zcy5vcmc8L2E+PGJyPgomZ3Q7Jmd0OyA8YSBo cmVmPSJodHRwczovL2xpc3RzLmpib3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NlYW0tZGV2IiB0 YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFpbG1hbi9saXN0aW5mby9z ZWFtLWRldjwvYT48YnI+CiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX188YnI+CiZndDsgZm9yZ2UtZGV2IG1haWxpbmcgbGlzdDxicj4KJmd0OyA8YSBo cmVmPSJtYWlsdG86Zm9yZ2UtZGV2QGxpc3RzLmpib3NzLm9yZyI+Zm9yZ2UtZGV2QGxpc3RzLmpi b3NzLm9yZzwvYT48YnI+CiZndDsgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5qYm9zcy5vcmcvbWFp bG1hbi9saXN0aW5mby9mb3JnZS1kZXYiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmpi b3NzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZvcmdlLWRldjwvYT48YnI+Cjxicj4KL21heDxicj4K PGEgaHJlZj0iaHR0cDovL2Fib3V0Lm1lL21heGFuZGVyc2VuIiB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL2Fib3V0Lm1lL21heGFuZGVyc2VuPC9hPjxicj4KPGJyPgo8YnI+Cjxicj4KPC9kaXY+PC9k aXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4K --===============0335604788527533164==--