https://dev.e-taxonomy.eu/redmine/https://dev.e-taxonomy.eu/redmine/redmine/favicon.ico?14691914852018-02-02T14:03:23ZEDIT Project ManagementEDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=345362018-02-02T14:03:23ZAndreas Müller
<ul><li><strong>Target version</strong> changed from <i>Unassigned CDM tickets</i> to <i>Release 4.14</i></li></ul> EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=345372018-02-02T14:28:42ZAndreas Kohlbecker
<ul></ul><p>vaddin allows setting an <code>com.vaadin.server.ErrorHandler</code> for UIs and components. The caveat with this builtin appraoch is that there is only one <code>com.vaadin.server.ErrorHandler</code> for any type of errors. Therefore it would make sense to implement a <code>DelegatingErrorHandler</code> to which handlers for specific types of errors can be registered:</p>
<pre><code class="java syntaxhl">
<span class="kd">class</span> <span class="nc">DelegatingErrorHandler</span> <span class="kd">implements</span> <span class="nc">ErrorHandler</span> <span class="o">{</span>
<span class="nc">Map</span><span class="o"><<?</span> <span class="kd">extends</span> <span class="nc">Exception</span><span class="o">>,</span> <span class="nc">ErrorTypeHandler</span><span class="o"><?</span> <span class="kd">extends</span> <span class="nc">Exception</span><span class="o">>></span> <span class="n">handlerMap</span><span class="o">;</span>
<span class="nc">ErrorHandler</span> <span class="n">defaultHandler</span><span class="o">;</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">error</span><span class="o">(</span><span class="nc">ErrorEvent</span> <span class="n">event</span><span class="o">){</span>
<span class="k">if</span><span class="o">(</span><span class="n">handlerMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">type</span><span class="o">)</span> <span class="o">=</span> <span class="kc">null</span><span class="o">){</span>
<span class="n">handlerMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">type</span><span class="o">).</span><span class="na">handleError</span><span class="o">(</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="n">defaultHandler</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="o"><</span><span class="no">E</span> <span class="kd">extends</span> <span class="nc">Exception</span><span class="o">></span> <span class="kt">void</span> <span class="nf">registerHandler</span><span class="o">(</span><span class="nc">Class</span><span class="o"><</span><span class="no">E</span><span class="o">></span> <span class="n">type</span><span class="o">,</span> <span class="nc">ErrorTypeHandler</span><span class="o"><</span><span class="no">E</span><span class="o">></span> <span class="n">handler</span><span class="o">){</span>
<span class="n">handlerMap</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">type</span><span class="o">,</span> <span class="n">handler</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="kd">class</span> <span class="nc">abstract</span> <span class="nc">ErrorTypeHandler</span><span class="o"><</span><span class="no">E</span> <span class="kd">extends</span> <span class="nc">Exception</span><span class="o">></span> <span class="kd">implements</span> <span class="nc">ErrorHandler</span> <span class="o">{</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kt">void</span> <span class="nf">error</span><span class="o">(</span><span class="nc">ErrorEvent</span> <span class="n">event</span><span class="o">){</span>
<span class="n">handleError</span><span class="o">((</span><span class="no">E</span><span class="o">)</span><span class="n">event</span><span class="o">);</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="kd">abstract</span> <span class="kt">void</span> <span class="nf">handleError</span><span class="o">(<</span><span class="no">E</span><span class="o">></span> <span class="n">event</span><span class="o">);</span>
<span class="o">}</span>
</code></pre>
<p>something like this.</p>
EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=349372018-02-15T14:22:14ZAndreas Müller
<ul><li><strong>Target version</strong> changed from <i>Release 4.14</i> to <i>Release 5.0</i></li></ul> EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=353162018-02-27T10:32:50ZFabian Reimeier
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>70</i></li></ul> EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=353262018-02-27T11:20:00ZFabian Reimeier
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>Assignee</strong> changed from <i>Fabian Reimeier</i> to <i>Andreas Müller</i></li></ul> EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=354932018-03-19T10:41:42ZAndreas Kohlbecker
<ul><li><strong>Assignee</strong> changed from <i>Andreas Müller</i> to <i>Fabian Reimeier</i></li></ul><p>I modified the DelegatingErrorHandler and ErrorTypeHandler a bit in order to allow using it generically in more contexts.</p>
<p>@Fabian. Please review my changes and check if everything still works for your UI.</p>
EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=356782018-04-05T08:42:45ZFabian Reimeier
<ul><li><strong>Assignee</strong> changed from <i>Fabian Reimeier</i> to <i>Andreas Kohlbecker</i></li></ul><p>Andreas Kohlbecker wrote:</p>
<blockquote>
<p>I modified the DelegatingErrorHandler and ErrorTypeHandler a bit in order to allow using it generically in more contexts.</p>
<p>@Fabian. Please review my changes and check if everything still works for your UI.</p>
</blockquote>
<p>I made some modifications and everything seems to work right now.</p>
EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=356792018-04-05T08:51:04ZAndreas Kohlbecker
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>Closed</i></li></ul> EDIT - bug #7241: Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is neededhttps://dev.e-taxonomy.eu/redmine/issues/7241?journal_id=444592019-02-19T15:03:34ZAndreas Kohlbecker
<ul><li><strong>Subject</strong> changed from <i>Missing rights are not correctly indicated in Vaadin distribution editor</i> to <i>Missing rights are not correctly indicated in Vaadin distribution editor - flexible vaadin errorhandler is needed</i></li></ul>