<div dir="ltr"><div><div>Hey!</div><div><br></div><div>I think that I didn&#39;t have attention.. I&#39;m seeing the project, it has a WebAppCommonDescriptor. NICE! :D</div><div>But, I would like to suggest: ErrorPageType.getOrCreateErrorPage(String erroCode). </div><div>I&#39;ll suggest. </div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 28, 2014 at 9:23 PM, Daniel Cunha <span dir="ltr">&lt;<a href="mailto:danielsoro@gmail.com" target="_blank">danielsoro@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><p style="margin:1.2em 0px!important">Hi folks,</p>
<p style="margin:1.2em 0px!important">About FORGE-2072.</p>
<p style="margin:1.2em 0px!important">The problem is:<br>We have this method: ErrorPageType getOrCreateErrorPage();<br>I’ll propose create a ErrorPageType getOrCreateErrorPage(String erroCode);</p>
<p style="margin:1.2em 0px!important">The getOrCreteErroPage only check if web.xml has an error-page. This case, if I want do that:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">String errorLocation = getAccessStrategy().getWebPaths(web.getWebResource(ERROR_XHTML)).get(1);
servletConfig.getOrCreateErrorPage().errorCode(&quot;404&quot;).location(errorLocation);
servletConfig.getOrCreateErrorPage().errorCode(&quot;500&quot;).location(errorLocation);
</code></pre><p style="margin:1.2em 0px!important">The shrinkwrap only put an error-page. This case, only 404. :)</p>
<p style="margin:1.2em 0px!important">I fixed the  FORGE-2072 with 2 methods because we need specify the WebAppDescriptor for servelet-api version, but this case erro-page is a common feature for two version of the api. No make sense sense to have two interface to this method. </p>
<p style="margin:1.2em 0px!important">Look this: <a href="https://github.com/danielsoro/core/blob/FORGE-2072/javaee/faces/src/main/java/org/jboss/forge/addon/scaffold/faces/FacesScaffoldProvider.java#L1044-L1062" target="_blank">https://github.com/danielsoro/core/blob/FORGE-2072/javaee/faces/src/main/java/org/jboss/forge/addon/scaffold/faces/FacesScaffoldProvider.java#L1044-L1062</a></p>
<p style="margin:1.2em 0px!important">I think better to have:<br>WebAppDescriptorCommons</p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">getOrCreateErrorPage()</li>
<li style="margin:0.5em 0px">createErroPage()</li>
<li style="margin:0.5em 0px">etc..</li>
</ul>
<p style="margin:1.2em 0px!important">WebAppDescriptor30 extends WebAppDescriptorCommons</p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">methodETC()…</li>
</ul>
<p style="margin:1.2em 0px!important">WebAppDescritptor31 extends WebAppDescriptorCommons</p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">methodETC()..</li>
</ul>
<p style="margin:1.2em 0px!important">I don’t think a valid idea create a descriptor in forge if we have the shrinkwrap for that.<br>IMHO.</p>
<p style="margin:1.2em 0px!important">If it is a good suggestion, please.. open an issue in shrinkwrap. :)</p>
<div title="MDH:PGRpdj48ZGl2PjxkaXY+SGkgZm9sa3MsPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BYm91dCBG
T1JHRS0yMDcyLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhlIHByb2JsZW0gaXM6PC9kaXY+
PGRpdj5XZSBoYXZlIHRoaXMgbWV0aG9kOiBFcnJvclBhZ2VUeXBlJmx0O1dlYkFwcERlc2NyaXB0
b3ImZ3Q7IGdldE9yQ3JlYXRlRXJyb3JQYWdlKCk7PC9kaXY+PGRpdj5JJ2xsIHByb3Bvc2UgY3Jl
YXRlIGEgRXJyb3JQYWdlVHlwZSZsdDtXZWJBcHBEZXNjcmlwdG9yJmd0OyBnZXRPckNyZWF0ZUVy
cm9yUGFnZShTdHJpbmcgZXJyb0NvZGUpOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhlIGdl
dE9yQ3JldGVFcnJvUGFnZSBvbmx5IGNoZWNrIGlmIHdlYi54bWwgaGFzIGFuIGVycm9yLXBhZ2Uu
IFRoaXMgY2FzZSwgaWYgSSB3YW50IGRvIHRoYXQ6PC9kaXY+PGRpdj5gYGA8L2Rpdj48ZGl2PlN0
cmluZyBlcnJvckxvY2F0aW9uID0gZ2V0QWNjZXNzU3RyYXRlZ3koKS5nZXRXZWJQYXRocyh3ZWIu
Z2V0V2ViUmVzb3VyY2UoRVJST1JfWEhUTUwpKS5nZXQoMSk7PC9kaXY+PGRpdj5zZXJ2bGV0Q29u
ZmlnLmdldE9yQ3JlYXRlRXJyb3JQYWdlKCkuZXJyb3JDb2RlKCI0MDQiKS5sb2NhdGlvbihlcnJv
ckxvY2F0aW9uKTs8L2Rpdj48ZGl2PnNlcnZsZXRDb25maWcuZ2V0T3JDcmVhdGVFcnJvclBhZ2Uo
KS5lcnJvckNvZGUoIjUwMCIpLmxvY2F0aW9uKGVycm9yTG9jYXRpb24pOzwvZGl2PjxkaXY+YGBg
PC9kaXY+PGRpdj5UaGUgc2hyaW5rd3JhcCBvbmx5IHB1dCBhbiBlcnJvci1wYWdlLiBUaGlzIGNh
c2UsIG9ubHkgNDA0LiA6KTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBmaXhlZCB0aGUgJm5i
c3A7Rk9SR0UtMjA3MiB3aXRoIDIgbWV0aG9kcyBiZWNhdXNlIHdlIG5lZWQgc3BlY2lmeSB0aGUg
V2ViQXBwRGVzY3JpcHRvciBmb3Igc2VydmVsZXQtYXBpIHZlcnNpb24sIGJ1dCB0aGlzIGNhc2Ug
ZXJyby1wYWdlIGlzIGEgY29tbW9uIGZlYXR1cmUgZm9yIHR3byB2ZXJzaW9uIG9mIHRoZSBhcGku
IE5vIG1ha2Ugc2Vuc2Ugc2Vuc2UgdG8gaGF2ZSB0d28gaW50ZXJmYWNlIHRvIHRoaXMgbWV0aG9k
LiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TG9vayB0aGlzOiBodHRwczovL2dpdGh1
Yi5jb20vZGFuaWVsc29yby9jb3JlL2Jsb2IvRk9SR0UtMjA3Mi9qYXZhZWUvZmFjZXMvc3JjL21h
aW4vamF2YS9vcmcvamJvc3MvZm9yZ2UvYWRkb24vc2NhZmZvbGQvZmFjZXMvRmFjZXNTY2FmZm9s
ZFByb3ZpZGVyLmphdmEjTDEwNDQtTDEwNjI8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgdGhp
bmsgYmV0dGVyIHRvIGhhdmU6PC9kaXY+PGRpdj5XZWJBcHBEZXNjcmlwdG9yQ29tbW9uczwvZGl2
PjxkaXY+Jm5ic3A7IC0gZ2V0T3JDcmVhdGVFcnJvclBhZ2UoKTwvZGl2PjxkaXY+Jm5ic3A7IC0g
Y3JlYXRlRXJyb1BhZ2UoKTwvZGl2PjxkaXY+Jm5ic3A7IC0gZXRjLi48L2Rpdj48ZGl2Pjxicj48
L2Rpdj48ZGl2PldlYkFwcERlc2NyaXB0b3IzMCBleHRlbmRzIFdlYkFwcERlc2NyaXB0b3JDb21t
b25zPC9kaXY+PGRpdj4mbmJzcDsgLSBtZXRob2RFVEMoKS4uLjwvZGl2PjxkaXY+PGJyPjwvZGl2
PjxkaXY+V2ViQXBwRGVzY3JpdHB0b3IzMSBleHRlbmRzIFdlYkFwcERlc2NyaXB0b3JDb21tb25z
PC9kaXY+PGRpdj4mbmJzcDstIG1ldGhvZEVUQygpLi48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2
PkkgZG9uJ3QgdGhpbmsgYSB2YWxpZCBpZGVhIGNyZWF0ZSBhIGRlc2NyaXB0b3IgaW4gZm9yZ2Ug
aWYgd2UgaGF2ZSB0aGUgc2hyaW5rd3JhcCBmb3IgdGhhdC48L2Rpdj48ZGl2PklNSE8uPC9kaXY+
PGRpdj48YnI+PC9kaXY+PGRpdj5JZiBpdCBpcyBhIGdvb2Qgc3VnZ2VzdGlvbiwgcGxlYXNlLi4g
b3BlbiBhbiBpc3N1ZSBpbiBzaHJpbmt3cmFwLiA6KTwvZGl2PjwvZGl2Pjxicj48L2Rpdj48ZGl2
PjxkaXY+PGJyPjwvZGl2PjwvZGl2Pg==" style="min-height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div><span class="HOEnZb"><font color="#888888"><div>-- <br><div><div dir="ltr"><div><div dir="ltr"><div><span style="font-size:12px;color:rgb(0,0,0)">Daniel Cunha (soro)</span></div></div></div></div></div>
</div></font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><span style="font-size:12px;color:rgb(0,0,0)">Daniel Cunha (soro)</span></div></div></div></div></div>
</div>