<?xml version="1.0" encoding="iso8859-15"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Groovy- und Grails-Forum</title>
    <subtitle>Das deutsche Forum für &lt;a href=&quot;http://groovy.codehaus.org&quot;&gt;Groovy&lt;/a&gt;- und &lt;a href=&quot;http://grails.org&quot;&gt;Grails&lt;/a&gt;-Programmierer.</subtitle>
    <link rel="self" href="http://groovy-forum.de/feed.php?0,replies=1,type=atom" />
    <id>http://groovy-forum.de/index.php</id>
    <updated>2010-09-07T20:11:52+02:00</updated>
    <generator>Phorum 5.2.13</generator>
    <entry>
        <title type="html">Re: glossy-templates 2.0</title>
        <link href="http://groovy-forum.de/read.php?3,8089,8139#msg-8139" />
        <category term="Grails" />
        <published>2010-09-07T18:52:28+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8089,8139#msg-8139</id>
        <author>
            <name>saurier</name>
        </author>
        <summary type="html"><![CDATA[ Hallo Horst,<br />
<br />
jetzt wollte ich endlich mal deine Templates mit einem neuen Projekt ausprobieren, aber<br />
das Plugin lässt sich nicht installieren. Im Zip-File sehe ich auch keinen Plugin Descriptor.<br />
Habe ich da jetzt was übersehen, oder hast du was vergessen?<br />
<br />
Gruß,<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Criteria Frage</title>
        <link href="http://groovy-forum.de/read.php?3,8132,8138#msg-8138" />
        <category term="Grails" />
        <published>2010-09-07T17:22:24+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8132,8138#msg-8138</id>
        <author>
            <name>milkyman</name>
        </author>
        <summary type="html"><![CDATA[ Ich denke deine Frage war schon ausreichend klar formuliert. Ich kann dir die nur leider nicht als Criteria beantworten, sondern nur als HQL (siehe vorheriger Post).<br />
<br />
Das Prinzip ist, dass man sich erst alle As sucht, die min. 1 B mit isOk haben. Die gewünschte Ergebnismenge ist dann die Komplementärmenge der gefundenen As. Das habe ich mit dem &quot;not in Subselect&quot; nachgebaut.<br />
<br />
Wenn sich jetzt noch jemand findet, der das als Criteria formulieren kann, bist du am Ziel. :-)]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Criteria Frage</title>
        <link href="http://groovy-forum.de/read.php?3,8132,8137#msg-8137" />
        <category term="Grails" />
        <published>2010-09-07T15:29:55+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8132,8137#msg-8137</id>
        <author>
            <name>koeberle</name>
        </author>
        <summary type="html"><![CDATA[ Ich glaube mein Frage war überhaupt nicht richtig formuliert.<br />
Eigentlich will ich alle As haben, die kein B mit isOk == true haben. Die dürfen aber Bs mit isOk == false haben.<br />
Vielleicht mal ein bisschen konkreter.<br />
<br />
<pre class="bbcode">
class A {
  static hasMany = [bList: B]

  static namedQueries = {
//Das funktioniert (ist trivial)
      withOkBs = {
          bList{eq('isOk', true)}
      }
//Darum gehts
      withOnlyNotOkBs = {
          bList{ne('isOk', true)} //funktioniert nicht *
      }
  }
}

class B {
   A a
   boolean isOk
}</pre>
<br />
* bList{ne('isOk', true)}  das liefert mir  alle As die mindestens ein B kennen mit isOk == false, das war es dann wohl nicht.<br />
alternativ dazu not{bList{eq('isOk', true)}} liefert das gleiche.<br />
<br />
Es muss im übrigen namedQueries sein, da das nur ein kleiner Teil der Abfrage ist, die ich in verschiedenen Kombinationen verwende. Das ist wirklich praktisch. Und wenn man sich an die Abfragen noch schreibt, dass die aus der Domainklasse kommen, dann kann man sogar später noch verstehen was man da eigentlich gemacht hat (habe letzten erst mal über dem Code gegrübelt warum der eigentlich funktioniert).  <br />
<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Criteria Frage</title>
        <link href="http://groovy-forum.de/read.php?3,8132,8136#msg-8136" />
        <category term="Grails" />
        <published>2010-09-07T15:08:11+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8132,8136#msg-8136</id>
        <author>
            <name>milkyman</name>
        </author>
        <summary type="html"><![CDATA[ Das macht es ja nur einfacher. :-)<br />
<br />
Denk dir einfach den OR-Teil am Ende weg.]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Criteria Frage</title>
        <link href="http://groovy-forum.de/read.php?3,8132,8135#msg-8135" />
        <category term="Grails" />
        <published>2010-09-07T14:12:44+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8132,8135#msg-8135</id>
        <author>
            <name>koeberle</name>
        </author>
        <summary type="html"><![CDATA[ Da habe ich mich wohl falsch ausgedrückt es ist einen one-to-many Relation zwisch A und B]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Criteria Frage</title>
        <link href="http://groovy-forum.de/read.php?3,8132,8134#msg-8134" />
        <category term="Grails" />
        <published>2010-09-07T13:53:53+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8132,8134#msg-8134</id>
        <author>
            <name>milkyman</name>
        </author>
        <summary type="html"><![CDATA[ Eine Bedingung über &quot;beliebig viele&quot; Relationen wird es vermutlich nicht geben. Da musst du schon jede beim Namen benennen. <br />
<br />
Ich würds dann in etwa so versuchen:<br />
<pre class="bbcode">
select a from As where a not in (select a1 from As where (b1 in elements(a1.b1relation) and b1.isOk=true) or (b2 in elements(a1.b2relation) and b2.isOk=true))</pre>
<br />
Nicht technisch gesprochen: Suche alle As außer den As die ein B haben, das OK ist.]]></summary>
    </entry>
    <entry>
        <title type="html">Re: glossy-templates 2.0</title>
        <link href="http://groovy-forum.de/read.php?3,8089,8133#msg-8133" />
        <category term="Grails" />
        <published>2010-09-07T13:43:15+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8089,8133#msg-8133</id>
        <author>
            <name>milkyman</name>
        </author>
        <summary type="html"><![CDATA[ Sodele, jetzt hab ich endlich mal das plugin zip erstellt:<br />
<a href="http://glossy-templates.googlecode.com/files/grails-glossy-templates-2.0.0.zip" rel="nofollow" >glossy-template 2.0.0 plugin</a><br />
<br />
Downloaden und &quot;grails install-plugin path/to/the/zip/filename.zip&quot;]]></summary>
    </entry>
    <entry>
        <title type="html">Criteria Frage</title>
        <link href="http://groovy-forum.de/read.php?3,8132,8132#msg-8132" />
        <category term="Grails" />
        <published>2010-09-07T13:39:08+02:00</published>
        <updated>2010-09-07T17:22:24+02:00</updated>
        <id>http://groovy-forum.de/read.php?3,8132,8132#msg-8132</id>
        <author>
            <name>koeberle</name>
        </author>
        <summary type="html"><![CDATA[ Ich habe eine Domainklasse A die kann beliebig viele Relationen zu einer Domainklasse B haben. B hat eine Attribut isOk vom Typ boolean.<br />
Wie muss ich eine Criteria-Anfrage stricken wenn ich alle As haben will wo alle Bs die dazugehören isOk gleich false sind.<br />
<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">Re: submitToRemote-Tag überschreiben</title>
        <link href="http://groovy-forum.de/read.php?3,8130,8131#msg-8131" />
        <category term="Grails" />
        <published>2010-09-07T11:14:17+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8130,8131#msg-8131</id>
        <author>
            <name>koeberle</name>
        </author>
        <summary type="html"><![CDATA[ Habe mich mal durch das Plugin und das generierte HTML gewühlt und glaube das da irgendwas nicht richtig geladen wird.<br />
<br />
In dem Plugin befindet sich die Datei MootoolsGrailsPlugin.groovy<br />
<pre class="groovy bbcode_geshi"><div class="head">Language: Groovy</div><a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20import"><span class="kw2">import</span></a> <span class="co2">grails.util.GrailsUtil</span><span class="sy0">;</span>
<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20import"><span class="kw2">import</span></a> <span class="co2">org.codehaus.groovy.grails.plugins.web.taglib.*</span>
<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20import"><span class="kw2">import</span></a> <span class="co2">org.codehaus.groovy.grails.plugins.mootools.Mootools</span>
&nbsp;
<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20class"><span class="kw2">class</span></a> MootoolsGrailsPlugin <span class="br0">&#123;</span>
  <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> version <span class="sy0">=</span> <span class="st0">&quot;0.1.3&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> dependsOn <span class="sy0">=</span> <span class="br0">&#91;</span>:<span class="br0">&#93;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> author <span class="sy0">=</span> <span class="st0">&quot;Ford Guo&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> authorEmail <span class="sy0">=</span> <span class="st0">&quot;agile.guo at gmail.com&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> title <span class="sy0">=</span> <span class="st0">&quot;Provides integration with the Mootools toolkit http://mootools.net, a light OO javascript framework.&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> description <span class="sy0">=</span> <span class="st0">'''<span class="es0">\</span>
Provides integration with the Mootools toolkit http://mootools.net, a light OO javascript framework.
'''</span>
&nbsp;
    <span class="co1">// URL to the plugin's documentation</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> documentation <span class="sy0">=</span> <span class="st0">&quot;http://grails.org/Mootools+Plugin&quot;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> doWithSpring <span class="sy0">=</span> <span class="br0">&#123;</span>
        <span class="co1">// TODO Implement runtime spring config (optional)</span>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> doWithApplicationContext <span class="sy0">=</span> <span class="br0">&#123;</span> applicationContext <span class="sy0">-&gt;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>GrailsUtil.<span class="me1">isDevelopmentEnv</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        JavascriptTagLib.<span class="me1">LIBRARY_MAPPINGS</span>.<span class="me1">mootools</span> <span class="sy0">=</span> <span class="br0">&#91;</span><span class="st0">&quot;mootools/mootools-${Mootools.version}-core-nc&quot;</span><span class="br0">&#93;</span>
      <span class="br0">&#125;</span><a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <span class="br0">&#123;</span>
        JavascriptTagLib.<span class="me1">LIBRARY_MAPPINGS</span>.<span class="me1">mootools</span> <span class="sy0">=</span> <span class="br0">&#91;</span><span class="st0">&quot;mootools/mootools-${Mootools.version}-core-yc&quot;</span><span class="br0">&#93;</span>
      <span class="br0">&#125;</span>
      JavascriptTagLib.<span class="me1">PROVIDER_MAPPINGS</span>.<span class="me1">mootools</span> <span class="sy0">=</span> MootoolsProvider.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20class"><span class="kw2">class</span></a>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> doWithWebDescriptor <span class="sy0">=</span> <span class="br0">&#123;</span> xml <span class="sy0">-&gt;</span>
        <span class="co1">// TODO Implement additions to web.xml (optional)</span>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> doWithDynamicMethods <span class="sy0">=</span> <span class="br0">&#123;</span> ctx <span class="sy0">-&gt;</span>
        <span class="co1">// TODO Implement registering dynamic methods to classes (optional)</span>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> onChange <span class="sy0">=</span> <span class="br0">&#123;</span> event <span class="sy0">-&gt;</span>
        <span class="co1">// TODO Implement code that is executed when any artefact that this plugin is</span>
        <span class="co1">// watching is modified and reloaded. The event contains: event.source,</span>
        <span class="co1">// event.application, event.manager, event.ctx, and event.plugin.</span>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> onConfigChange <span class="sy0">=</span> <span class="br0">&#123;</span> event <span class="sy0">-&gt;</span>
        <span class="co1">// TODO Implement code that is executed when the project configuration changes.</span>
        <span class="co1">// The event is the same as for 'onChange'.</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre>
Wenn ich in meinen Code &lt;g:javascript library=&quot;mootools&quot;/&gt; aufrufe wird im HTML auch das mootools.js geladen<br />
Nur ob der JavascripProvider benutzt wird, da habe ich so meine Zweifel. <br />
Mein Code:<br />
<pre class="bbcode">
&lt;g:remoteLink controller=&quot;addComment&quot; update=&quot;commentList&quot; onSuccess=&quot;clearInput('inputCommentText')&quot;&gt;Test&lt;/g:remoteLink&gt;</pre>
Im HTML finde ich da immer so was:<br />
<pre class="html4strict bbcode_geshi"><div class="head">Language: HTML</div><span class="sc2">&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">onclick</span><span class="sy0">=</span><span class="st0">&quot;new Ajax.Updater('commentList','/addComment',{asynchronous:true,evalScripts:true,onSuccess:function(e){clearInput('inputCommentText')}});return false;&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;/addComment&quot;</span>&gt;</span>Test<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a>&gt;</span></pre>
Erwarten würde ich etwas wo das JS mit 'new Request.HTML(' beginnt.<br />
<br />
hier noch die Klasse MootoolsProvider<br />
<pre class="groovy bbcode_geshi"><div class="head">Language: Groovy</div><a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20class"><span class="kw2">class</span></a> MootoolsProvider <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20implements"><span class="kw2">implements</span></a> JavascriptProvider <span class="br0">&#123;</span>
&nbsp;
  <span class="co1">//TODO how to process the onLoaded event??</span>
  <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> doRemoteFunction<span class="br0">&#40;</span>taglib,attrs, out<span class="br0">&#41;</span> <span class="br0">&#123;</span> 
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">onLoading</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${attrs.remove('onLoading')};&quot;</span>
    <span class="br0">&#125;</span>		
    out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;new Request.HTML({&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> url
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> jsParams <span class="sy0">=</span> attrs.<span class="me1">params</span><span class="sy0">?</span>.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20findAll"><span class="kw5">findAll</span></a> <span class="br0">&#123;</span> it.<span class="me1">value</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> JavascriptValue <span class="br0">&#125;</span>
&nbsp;
    jsParams<span class="sy0">?</span>.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20each"><span class="kw5">each</span></a> <span class="br0">&#123;</span> attrs.<span class="me1">params</span><span class="sy0">?</span>.<span class="me1">remove</span><span class="br0">&#40;</span>it.<span class="me1">key</span><span class="br0">&#41;</span> <span class="br0">&#125;</span>    
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">url</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      url <span class="sy0">=</span> taglib.<span class="me1">createLink</span><span class="br0">&#40;</span>attrs.<span class="me1">url</span><span class="br0">&#41;</span>
    <span class="br0">&#125;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <span class="br0">&#123;</span>
      url <span class="sy0">=</span> taglib.<span class="me1">createLink</span><span class="br0">&#40;</span>attrs<span class="br0">&#41;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span><span class="sy0">!</span>attrs.<span class="me1">params</span><span class="br0">&#41;</span> attrs.<span class="me1">params</span> <span class="sy0">=</span> <span class="br0">&#91;</span>:<span class="br0">&#93;</span>
    jsParams<span class="sy0">?</span>.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20each"><span class="kw5">each</span></a> <span class="br0">&#123;</span> attrs.<span class="me1">params</span><span class="br0">&#91;</span>it.<span class="me1">key</span><span class="br0">&#93;</span> <span class="sy0">=</span> it.<span class="me1">value</span> <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> i <span class="sy0">=</span> url<span class="sy0">?</span>.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">'?'</span><span class="br0">&#41;</span>
    out<span class="sy0">&lt;&lt;</span><span class="st0">&quot;url:'&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>i <span class="sy0">&gt;-</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">params</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> <a href="http://www.google.de/search?as_q=String&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">String</span></a><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        attrs.<span class="me1">params</span> <span class="sy0">+=</span> <span class="st0">&quot;+'&amp;${url[i+1..-1].encodeAsJavaScript()}'&quot;</span>                
      <span class="br0">&#125;</span><a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">params</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> <a href="http://www.google.de/search?as_q=Map&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Map</span></a><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> params <span class="sy0">=</span> createQueryString<span class="br0">&#40;</span>attrs.<span class="me1">params</span><span class="br0">&#41;</span>
        attrs.<span class="me1">params</span> <span class="sy0">=</span> <span class="st0">&quot;'${params}${params ? '&amp;' : ''}${url[i+1..-1].encodeAsJavaScript()}'&quot;</span>
      <span class="br0">&#125;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <span class="br0">&#123;</span>
        attrs.<span class="me1">params</span> <span class="sy0">=</span> <span class="st0">&quot;'${url[i+1..-1].encodeAsJavaScript()}'&quot;</span>
      <span class="br0">&#125;</span>
      out <span class="sy0">&lt;&lt;</span> url<span class="br0">&#91;</span><span class="nu0">0</span>..<span class="me1">i</span><span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#93;</span>
    <span class="br0">&#125;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <span class="br0">&#123;</span>
      out <span class="sy0">&lt;&lt;</span> url
    <span class="br0">&#125;</span>
    out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;'&quot;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">update</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;,update:'&quot;</span>
      out <span class="sy0">&lt;&lt;</span><span class="br0">&#40;</span>attrs.<span class="me1">update</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> <a href="http://www.google.de/search?as_q=Map&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Map</span></a> <span class="sy0">?</span> attrs.<span class="me1">update</span>.<span class="me1">success</span> : attrs.<span class="me1">update</span><span class="br0">&#41;</span>
      out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;'&quot;</span>       
    <span class="br0">&#125;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">onSuccess</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;,onSuccess: function(responseText, responseXML) {${attrs.remove('onSuccess')};}&quot;</span>
    <span class="br0">&#125;</span>
	<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">onComplete</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;,onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript){${attrs.remove('onComplete')};}&quot;</span>
    <span class="br0">&#125;</span>
  	<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>attrs.<span class="me1">onFailure</span> <span class="sy0">||</span>
       <span class="br0">&#40;</span>attrs.<span class="me1">update</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> <a href="http://www.google.de/search?as_q=Map&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Map</span></a> <span class="sy0">&amp;&amp;</span> attrs.<span class="me1">update</span>.<span class="me1">failure</span> <span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;,onFailure: function(xmlHttpRequest){&quot;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a> <span class="br0">&#40;</span>attrs.<span class="me1">onFailure</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> 
        out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${attrs.remove('onFailure')} ;&quot;</span>
      <span class="br0">&#125;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a> <span class="br0">&#40;</span>attrs.<span class="me1">update</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> <a href="http://www.google.de/search?as_q=Map&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Map</span></a> <span class="sy0">&amp;&amp;</span> attrs.<span class="me1">update</span>.<span class="me1">failure</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;<span class="es0">\$</span>('&quot;</span> <span class="sy0">&lt;&lt;</span><span class="br0">&#40;</span>attrs.<span class="me1">update</span>.<span class="me1">failure</span><span class="br0">&#41;</span><span class="sy0">&lt;&lt;</span><span class="st0">&quot;').set('text',xmlHttpRequest.responseText) ;&quot;</span>
      <span class="br0">&#125;</span> 
      out<span class="sy0">&lt;&lt;</span> <span class="st0">&quot;}&quot;</span>
    <span class="br0">&#125;</span>
    attrs.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">&quot;update&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span class="co1">// process options</span>
    out <span class="sy0">&lt;&lt;</span> getAjaxOptions<span class="br0">&#40;</span>attrs<span class="br0">&#41;</span>
    <span class="co1">// close</span>
    out <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;}).send();&quot;</span>
    attrs.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">'params'</span><span class="br0">&#41;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20private"><span class="kw2">private</span></a> <a href="http://www.google.de/search?as_q=String&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">String</span></a> createQueryString<span class="br0">&#40;</span>params<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> allParams <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20for"><span class="kw1">for</span></a> <span class="br0">&#40;</span>entry <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20in"><span class="kw1">in</span></a> params<span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> value <span class="sy0">=</span> entry.<span class="me1">value</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> key <span class="sy0">=</span> entry.<span class="me1">key</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a> <span class="br0">&#40;</span>value <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> JavascriptValue<span class="br0">&#41;</span> <span class="br0">&#123;</span>
          allParams <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${key.encodeAsURL()}='+${value.value}+'&quot;</span>
        <span class="br0">&#125;</span><a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <span class="br0">&#123;</span>
          allParams <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${key.encodeAsURL()}=${value.encodeAsURL()}&quot;</span>.<span class="me1">encodeAsJavaScript</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>allParams.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20size"><span class="kw5">size</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20return"><span class="kw2">return</span></a> allParams<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>
    <span class="br0">&#125;</span><a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a> <span class="br0">&#123;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20return"><span class="kw2">return</span></a> allParams.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20join"><span class="kw5">join</span></a><span class="br0">&#40;</span><span class="st0">'&amp;'</span><span class="br0">&#41;</span>
    <span class="br0">&#125;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co1">// helper function to build ajax options</span>
  <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> getAjaxOptions<span class="br0">&#40;</span>options<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> ajaxOptions <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span>
&nbsp;
    <span class="co1">// necessary defaults</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> optionsAttr <span class="sy0">=</span> options.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">'options'</span><span class="br0">&#41;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> async <span class="sy0">=</span> optionsAttr<span class="sy0">?</span>.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">'asynchronous'</span><span class="br0">&#41;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span> async <span class="sy0">!=</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20null"><span class="kw2">null</span></a><span class="br0">&#41;</span>
    ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;async:${async}&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a>
    ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;async:true&quot;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> eval <span class="sy0">=</span> optionsAttr<span class="sy0">?</span>.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">'evalScripts'</span><span class="br0">&#41;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>eval <span class="sy0">!=</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20null"><span class="kw2">null</span></a><span class="br0">&#41;</span>
    ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;evalScripts:${eval}&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a>
    ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;evalScripts:true&quot;</span> 
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> method <span class="sy0">=</span> optionsAttr<span class="sy0">?</span>.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">'mothod'</span><span class="br0">&#41;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>method <span class="sy0">!=</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20null"><span class="kw2">null</span></a><span class="br0">&#41;</span>
    ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;method:'${method}'&quot;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20else"><span class="kw1">else</span></a>
    ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;method:'post'&quot;</span> 
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>options<span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>options.<span class="me1">params</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> params <span class="sy0">=</span> options.<span class="me1">remove</span><span class="br0">&#40;</span><span class="st0">'params'</span><span class="br0">&#41;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a> <span class="br0">&#40;</span>params <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20instanceof"><span class="kw2">instanceof</span></a> <a href="http://www.google.de/search?as_q=Map&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Map</span></a><span class="br0">&#41;</span> <span class="br0">&#123;</span>
          params <span class="sy0">=</span> createQueryString<span class="br0">&#40;</span>params<span class="br0">&#41;</span>
        <span class="br0">&#125;</span>
        ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;data:${params}&quot;</span>
      <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    <span class="co1">// remaining options</span>
    optionsAttr<span class="sy0">?</span>.<a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20each"><span class="kw5">each</span></a> <span class="br0">&#123;</span> k, v <span class="sy0">-&gt;</span>
      <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span>k<span class="sy0">!=</span><span class="st0">'url'</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20switch"><span class="kw1">switch</span></a><span class="br0">&#40;</span>v<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20case"><span class="kw1">case</span></a> <span class="st0">'true'</span>: ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${k}:${v}&quot;</span><span class="sy0">;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20break"><span class="kw2">break</span></a><span class="sy0">;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20case"><span class="kw1">case</span></a> <span class="st0">'false'</span>: ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${k}:${v}&quot;</span><span class="sy0">;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20break"><span class="kw2">break</span></a><span class="sy0">;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20case"><span class="kw1">case</span></a> ~/\s<span class="sy0">*</span>function<span class="br0">&#40;</span>\w<span class="sy0">*</span><span class="br0">&#41;</span>\s<span class="sy0">*</span>/: ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${k}:${v}&quot;</span><span class="sy0">;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20break"><span class="kw2">break</span></a><span class="sy0">;</span>
        <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20default"><span class="kw2">default</span></a>:ajaxOptions <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;${k}:'${v}'&quot;</span><span class="sy0">;</span> <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20break"><span class="kw2">break</span></a><span class="sy0">;</span>
        <span class="br0">&#125;</span>
      <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20return"><span class="kw2">return</span></a> <span class="st0">&quot;,${ajaxOptions.join(',')}&quot;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20def"><span class="kw2">def</span></a> prepareAjaxForm<span class="br0">&#40;</span>attrs<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <a href="http://www.google.de/search?q=site%3Adocs.codehaus.org/%20if"><span class="kw1">if</span></a><span class="br0">&#40;</span><span class="sy0">!</span>attrs.<span class="me1">forSubmitTag</span><span class="br0">&#41;</span> attrs.<span class="me1">forSubmitTag</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span>
    attrs.<span class="me1">params</span> <span class="sy0">=</span> <span class="st0">&quot;<span class="es0">\$</span>(this${attrs.remove('forSubmitTag')})&quot;</span>
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre>
<br />
Vielleicht sieht ja einer oder eine von euch was hier Fehlt.<br />
<br />
Vielen Dank schon mal Christian]]></summary>
    </entry>
    <entry>
        <title type="html">submitToRemote-Tag überschreiben</title>
        <link href="http://groovy-forum.de/read.php?3,8130,8130#msg-8130" />
        <category term="Grails" />
        <published>2010-09-07T09:24:22+02:00</published>
        <updated>2010-09-07T11:14:17+02:00</updated>
        <id>http://groovy-forum.de/read.php?3,8130,8130#msg-8130</id>
        <author>
            <name>koeberle</name>
        </author>
        <summary type="html"><![CDATA[ Hallo zusammen,<br />
<br />
ich benutze das Mootools-Plugin, leider wurde dort das  submitToRemote-Tag  nicht implementiert. Was muss ich tun um das Tag selber in den Katalog aufzunehmen?<br />
<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">SwingBuilder / Binding of ComboBox items bleiben leer</title>
        <link href="http://groovy-forum.de/read.php?2,8129,8129#msg-8129" />
        <category term="Groovy" />
        <published>2010-09-06T22:31:10+02:00</published>
        <updated>2010-09-06T22:31:10+02:00</updated>
        <id>http://groovy-forum.de/read.php?2,8129,8129#msg-8129</id>
        <author>
            <name>eugeis</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
ich verwende groovy 1.7.3. Das Binding von 'items' in comboBox funtioniert nicht, die comboBox bleibt leer.<br />
<br />
Hier Beispiel, welches das Problem reproduziert<br />
- die erste comboBox ist leer und <br />
- die zweite comboBox hat die Daten<br />
<br />
<i>import groovy.beans.Bindable;<br />
import groovy.swing.SwingBuilder<br />
import javax.swing.WindowConstants as WC<br />
import java.awt.BorderLayout as BL<br />
<br />
@Bindable class Model{<br />
  List comboBoxValues = ['1','2','3']<br />
}<br />
<br />
Model m=new Model()<br />
swing = new SwingBuilder()<br />
frame = swing.frame(size:[200, 100],title:'Enviroment Helper',defaultCloseOperation:WC.EXIT_ON_CLOSE) {<br />
  borderLayout()<br />
  comboBox(items:bind(source:m, sourceProperty: 'comboBoxValues'),actionPerformed: {println it}, constraints: BL.NORTH)<br />
  comboBox(items:m.comboBoxValues,actionPerformed: {println it}, constraints: BL.SOUTH)<br />
}<br />
frame.show()</i><br />
<br />
<br />
Es scheint das gleiche Problem zu sein, wie hier:<br />
<br />
[<a href="http://www.nabble.com/SwingBuilder-Griffon-how-to-bind-items-model-to-combobox--td24233452.html#a24257140" rel="nofollow" >www.nabble.com</a>]<br />
<br />
[<a href="http://jira.codehaus.org/browse/GRIFFON-67" rel="nofollow" >jira.codehaus.org</a>]]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Shiro - Authentifizierungsinformationen auslesen</title>
        <link href="http://groovy-forum.de/read.php?3,8127,8128#msg-8128" />
        <category term="Grails" />
        <published>2010-09-06T19:15:32+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8127,8128#msg-8128</id>
        <author>
            <name>saurier</name>
        </author>
        <summary type="html"><![CDATA[ Hallo Yves,<br />
<br />
<blockquote class="bbcode"><div><small>Zitat<br/></small><strong></strong><br/>
In einer gsp-Seite würde ich mit dem Tag &quot;&lt;shiro:principal /&gt;&quot; auf den Usernamen zugreifen. Wie mache ich das in einem Controller? </div></blockquote>
so:<br />
<pre class="bbcode">
import org.apache.shiro.SecurityUtils
...
SecurityUtils.subject.principal</pre>
<br />
<br />
Gruß,<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">Shiro - Authentifizierungsinformationen auslesen</title>
        <link href="http://groovy-forum.de/read.php?3,8127,8127#msg-8127" />
        <category term="Grails" />
        <published>2010-09-06T17:50:07+02:00</published>
        <updated>2010-09-06T19:15:32+02:00</updated>
        <id>http://groovy-forum.de/read.php?3,8127,8127#msg-8127</id>
        <author>
            <name>everd</name>
        </author>
        <summary type="html"><![CDATA[ Hallo zusammen<br />
<br />
Nun habe ich Shiro dank Hilfe aus dem Forum zum Laufen gebracht :-)<br />
<br />
Ein Punkt gibt mir allerdings noch immer ein Rätsel auf:<br />
Wie kann ich, nachdem ein User sich eingeloggt hat, auf seine Informationen, wie z.B. den Usernamen zugreiffen?<br />
Und welche Informationen über den eingeloggten User sind verfügbar und wo sind sie gespeichert (Session?)?<br />
<br />
Hintergrund der Frage:<br />
Ich möchte einem User alle Objekte, welche auf ihn referenzieren, anzeigen (z.B. alle Projekte, bei denen der eingeloggte User Projektleiter ist).<br />
<br />
In einer gsp-Seite würde ich mit dem Tag &quot;&lt;shiro:principal /&gt;&quot; auf den Usernamen zugreifen. Wie mache ich das in einem Controller?<br />
<br />
<br />
<br />
Danke und Gruss<br />
Yves]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8126#msg-8126" />
        <category term="Groovy" />
        <published>2010-09-06T14:12:57+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8126#msg-8126</id>
        <author>
            <name>mabu</name>
        </author>
        <summary type="html"><![CDATA[ Perfekt, genau das hab ich gesucht!<br />
Danke für die schnelle Antwort, dann werd ich mich jetzt mal wieder<br />
fleißig ans Coden machen ;-) <br />
Viele Grüße]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8125#msg-8125" />
        <category term="Groovy" />
        <published>2010-09-06T14:01:15+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8125#msg-8125</id>
        <author>
            <name>manfred</name>
        </author>
        <summary type="html"><![CDATA[ Für Windows gibts verschiedene freie und kostenpflichtige Tools, die aus einer oder mehrerer Jars eine .exe machen können. Zum Teil ist das auch Scriptbar und damit mit Ant oder einem anderen Build-Tool automatisierbar.<br />
Für Mac OS X gibts das Tool &quot;Jar Bundler&quot;. Das ist beim Xcode developer packet dabei und erstellt ein App Bundle framework. App bundles unter Mac OS X sind ja quasi nur Verzeichnisse die speziell gehandhabt werden.<br />
<br />
<br />
Manfred]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8124#msg-8124" />
        <category term="Groovy" />
        <published>2010-09-06T13:52:24+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8124#msg-8124</id>
        <author>
            <name>mabu</name>
        </author>
        <summary type="html"><![CDATA[ Hey, ich nochmal,<br />
das hat super geklappt, danke für den Hinweis.<br />
Hab inzwischen auch mal NetBeans getestet, das läuft auch einwandfrei. Hätt mir auch gleich einfallen können <br />
naja, hinterher ist man immer schlauer, aber hat noch was gelernt dabei.<br />
<br />
Jetzt hab ich ja eine ausführbare jar-File und brauch ja auch noch die Bibliothek dazu. NetBeans hat sie in einen <br />
neckischen Ordner namens &quot;lib&quot; abgelegt, damit man das ausführen kann. Macht ja auch Sinn, die Bibliothek mitzuliefern,<br />
da nicht zwangsläufig jeder Groovy installiert hat.<br />
<br />
Chic wäre es jetzt noch, das ganze Geraffel in &quot;eine Anwendung&quot; zu packen. Unter Windows wäre das dann vergleichbar<br />
mit einer *.exe oder unter Mac einem *.app. <br />
<br />
Meine Frage dazu: Weiss da jmd. Bescheid, ob man das noch kapseln kann? Dass man praktisch nur ein ausführbares<br />
Programm hat, das man einfach ausführen kann, ohne dass man noch sieht dass da Bibliotheken und Krams drin stecken?<br />
<br />
Grüße]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8123#msg-8123" />
        <category term="Groovy" />
        <published>2010-09-06T07:56:06+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8123#msg-8123</id>
        <author>
            <name>mabu</name>
        </author>
        <summary type="html"><![CDATA[ Danke für den Tip, <br />
die groovy-Bibliothek hatte ich bisher außer Acht gelassen. Dann werd ich das<br />
mal so versuchen, wenn's nicht klappt meld ich mich nochmal ;-)<br />
<br />
Grüße]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Log4J and Groovy</title>
        <link href="http://groovy-forum.de/read.php?2,8091,8122#msg-8122" />
        <category term="Groovy" />
        <published>2010-09-05T11:03:36+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8091,8122#msg-8122</id>
        <author>
            <name>whett</name>
        </author>
        <summary type="html"><![CDATA[ Danke für den Tipp! Das war's - es läuft!]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8121#msg-8121" />
        <category term="Groovy" />
        <published>2010-09-04T19:59:19+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8121#msg-8121</id>
        <author>
            <name>Wicki</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
hier ein Beispiel für die <u>manifest.mf</u>:<br />
<pre class="bbcode">
Manifest-Version: 1.0
Created-By: Me
Built-By: Me
Main-Class: parameters
Class-Path: embeddable/groovy-all-1.7.3.jar</pre>
 Der Class-Path muß natürlich angepasst werden, er zeigt auf Groovys allumfassende jar-Datei.<br />
Mit Ant ist das anfangs etwas umständlich, aber wenn Du erstmal ein passendes build-File hast, ist das eine bequeme Sache. Wenn Du eine passende IDE (Netbeans,Eclipse) nutzt, wird das jar-File automatisch anwendungsreif für Java erstellt.<br />
<br />
Gruß Wicki]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8120#msg-8120" />
        <category term="Groovy" />
        <published>2010-09-04T15:32:59+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8120#msg-8120</id>
        <author>
            <name>mabu</name>
        </author>
        <summary type="html"><![CDATA[ Hmm... ok danke für den Hinweis,<br />
viel weiter hat es mich leider nicht gebracht... Wie machst du da mit &quot;ant&quot; genau? Gibt es dazu irgendwo eine passende Anleitung?<br />
<br />
Vielleicht hab ich mich auch zu allgemein ausgedrückt. Machen wir mal ein konkretes Beispiel:<br />
Zum Üben für das Erstellen von Jar-Files nehmen wir mal ein einfaches Script:<br />
<pre class="bbcode">def parameters = []
if(args.length&gt;0){
   args.each{ parameters &lt;&lt; it}
   println &quot;Given parameters&quot; + parameter
}
else{
   println &quot;No parameters given&quot;
}</pre>
Sooo, das gibt die Parameter aus, wenn welche übergeben wurden. Mit<br />
<pre class="bbcode">groovyc parameters.groovy</pre>
erhalte ich zwei Class-Files: parameters.class und parameters$_run_closure1.class<br />
Das alles packe ich dann in ein jar-File mit<br />
<pre class="bbcode">jar -cvf parameters.jar parameters.class parameters$_run_closure1.class</pre>
Wenn ich dann im Anschluss das Programm aufrufe<br />
<pre class="bbcode">java -jar parameters.jar</pre>
dann kommt eine Fehlermeldung: <br />
<pre class="bbcode">Failed to load Main-Class manifest attribute from paramters.jar</pre>
Also ist wohl die Manifest-Datei schuld. Ok, ich hab ja auch noch keine gemacht. Aber wie müsste das dann aussehen?<br />
Testweise hab ich nun schon ettliches probiert, aber nichts hat zu einem Ergebnis geführt. Meine Manifest  sieht dann so aus:<br />
<pre class="bbcode">Manifest-Version: 1.0
Created-By: Me
Built-By: Me
Main-Class: parameters</pre>
Das resultiert aber praktisch immer in einem &quot;NoClassDefFoundError&quot;...<br />
Was ein Mist... <br />
Weiß da jmd weiter? Oder wie ich das mit &quot;ant&quot; lösen kann? Wie muss dann die build.xml aussehen?<br />
Vielen Dank schon mal,<br />
Grüße]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Log4J and Groovy</title>
        <link href="http://groovy-forum.de/read.php?2,8091,8119#msg-8119" />
        <category term="Groovy" />
        <published>2010-09-04T12:26:33+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8091,8119#msg-8119</id>
        <author>
            <name>Wicki</name>
        </author>
        <summary type="html"><![CDATA[ Noch ein Tip zu Deinem Problem:<br />
Wenn ich eine Datei <u>log4j.properties</u>, in der die Console als Ausgabe definiert ist, bspw. ins aktuelle Verzeichnis stelle, dann funktioniert die Ausgabe. Der <u>BasicConfigurator</u>, der das ja nehme ich an eigentlich bewirken sollte, ist dann nicht mehr notwendig.<br />
<br />
Gruß Wicki]]></summary>
    </entry>
    <entry>
        <title type="html">Re: jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8118#msg-8118" />
        <category term="Groovy" />
        <published>2010-09-04T12:15:24+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8118#msg-8118</id>
        <author>
            <name>Wicki</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
Jedes Skript wird zu einer java-Klasse umgewandelt und hat auch eine main-Methode. Guck doch einfach mal in den class-Code rein. Jar-Files lasse ich immer mit <u>Ant</u> und einem geeigneten buil.xml-File erzeugen. Da sind alle erforderlichen oder von Dir gewünschten Klassen drin und die manifest-Datei wird ebenfalls generiert, i.a. ohne Angabe der main-Klasse, was auch nicht erforderlich ist.]]></summary>
    </entry>
    <entry>
        <title type="html">GoogleAppEngine wieder zurückdrehen</title>
        <link href="http://groovy-forum.de/read.php?3,8117,8117#msg-8117" />
        <category term="Grails" />
        <published>2010-09-04T11:16:07+02:00</published>
        <updated>2010-09-04T11:16:07+02:00</updated>
        <id>http://groovy-forum.de/read.php?3,8117,8117#msg-8117</id>
        <author>
            <name>duser32</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
ich habe für ein bestehendes Projekt versucht dieses zu Google App Engine zu portieren und<br />
hierzu die entsprechenden Plugins installiert. Nun benötige ich doch kein App Engine mehr <br />
und stellte nach dem entfernen der Plugins fest, dass alle mit &quot;scaffolding&quot; generierten Views<br />
nicht erzeugt werden bzw. entsprechende Methoden der Controller nicht gefunden werden.<br />
<br />
Da ja App Engine nicht Hibernate nutzt ist meine Vermutung, dass Hibernate nicht mehr richtig<br />
eingebunden ist/funktioniert. Kann mir jemand weiterhelfen, wie man dies prüfen/testen/reaktivieren<br />
kann ohne gleich das Projekt neu aufzusetzen?<br />
<br />
Gruß<br />
<br />
Daniel]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Spring Secure und Datasources-Plugin</title>
        <link href="http://groovy-forum.de/read.php?3,7585,8116#msg-8116" />
        <category term="Grails" />
        <published>2010-09-03T23:34:46+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,7585,8116#msg-8116</id>
        <author>
            <name>thomasbee</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
ich hab jetzt wohl ein aehnliches Problem, allerdings nicht mit dem ACEGI, sondern mit dem neueren Spring Security Core Plugin. Ich versuche, das Plugin zusammen mit dem Datasources Plugin zu verwenden. Nachdem ich nachvollzogen hab, dass auch im neuen Plugin wohl ein Bug ist, der es nicht erlaubt, die Klassen User, Role, UserRole auf die sekundaeren DB zu mappen, versuche ich es andersrum, also User, Role, UserRole auf die primaere DB die in DataSource.groovy konfiguriert ist.<br />
<br />
Dies klappt auch alles, ich kann mich einloggen und alles funktioniert bestens.<br />
<br />
Wenn ich jetzt das Datasources Plugin installiere, kann ich mich - allein durch die Installation und das Anlegen einer primitiven Datasources.groovy config, welche ein simple domain class ohne relations auf die zweite DB mappt - NICHT MEHR einloggen. Am Ende des Einloggens bekomme ich eine lange SessionException, siehe unten.<br />
<br />
Hat jemand es geschafft, die beiden Plugins zusammen ans laufen zu bringen?<br />
<br />
Vielen Dank<br />
<br />
Thomas<br />
<br />
<pre class="groovy bbcode_geshi"><div class="head">Language: Groovy</div>org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">mapping</span>.<span class="me1">exceptions</span>.<span class="me1">UrlMappingException</span>: <a href="http://www.google.de/search?as_q=Error&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Error</span></a> mapping onto view <span class="br0">&#91;</span>/index<span class="br0">&#93;</span>: Session is closed<span class="sy0">!</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">mapping</span>.<span class="me1">filter</span>.<span class="me1">UrlMappingsFilter</span>.<span class="me1">renderViewForUrlMappingInfo</span><span class="br0">&#40;</span>UrlMappingsFilter.<span class="me1">java</span>:<span class="nu0">263</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">mapping</span>.<span class="me1">filter</span>.<span class="me1">UrlMappingsFilter</span>.<span class="me1">doFilterInternal</span><span class="br0">&#40;</span>UrlMappingsFilter.<span class="me1">java</span>:<span class="nu0">189</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">OncePerRequestFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>OncePerRequestFilter.<span class="me1">java</span>:<span class="nu0">76</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">sitemesh</span>.<span class="me1">GrailsPageFilter</span>.<span class="me1">obtainContent</span><span class="br0">&#40;</span>GrailsPageFilter.<span class="me1">java</span>:<span class="nu0">245</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">sitemesh</span>.<span class="me1">GrailsPageFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>GrailsPageFilter.<span class="me1">java</span>:<span class="nu0">134</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">343</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">access</span>.<span class="me1">intercept</span>.<span class="me1">FilterSecurityInterceptor</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>FilterSecurityInterceptor.<span class="me1">java</span>:<span class="nu0">109</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">access</span>.<span class="me1">intercept</span>.<span class="me1">FilterSecurityInterceptor</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterSecurityInterceptor.<span class="me1">java</span>:<span class="nu0">83</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">access</span>.<span class="me1">ExceptionTranslationFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ExceptionTranslationFilter.<span class="me1">java</span>:<span class="nu0">97</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">authentication</span>.<span class="me1">AnonymousAuthenticationFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>AnonymousAuthenticationFilter.<span class="me1">java</span>:<span class="nu0">78</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">authentication</span>.<span class="me1">rememberme</span>.<span class="me1">RememberMeAuthenticationFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>RememberMeAuthenticationFilter.<span class="me1">java</span>:<span class="nu0">119</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">servletapi</span>.<span class="me1">SecurityContextHolderAwareRequestFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>SecurityContextHolderAwareRequestFilter.<span class="me1">java</span>:<span class="nu0">54</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">authentication</span>.<span class="me1">AbstractAuthenticationProcessingFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>AbstractAuthenticationProcessingFilter.<span class="me1">java</span>:<span class="nu0">187</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">plugins</span>.<span class="me1">springsecurity</span>.<span class="me1">RequestHolderAuthenticationFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>RequestHolderAuthenticationFilter.<span class="me1">java</span>:<span class="nu0">40</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">plugins</span>.<span class="me1">springsecurity</span>.<span class="me1">MutableLogoutFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>MutableLogoutFilter.<span class="me1">java</span>:<span class="nu0">79</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">context</span>.<span class="me1">SecurityContextPersistenceFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>SecurityContextPersistenceFilter.<span class="me1">java</span>:<span class="nu0">79</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>$VirtualFilterChain.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">355</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">security</span>.<span class="me1">web</span>.<span class="me1">FilterChainProxy</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>FilterChainProxy.<span class="me1">java</span>:<span class="nu0">149</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">DelegatingFilterProxy</span>.<span class="me1">invokeDelegate</span><span class="br0">&#40;</span>DelegatingFilterProxy.<span class="me1">java</span>:<span class="nu0">237</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">DelegatingFilterProxy</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>DelegatingFilterProxy.<span class="me1">java</span>:<span class="nu0">167</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">servlet</span>.<span class="me1">filter</span>.<span class="me1">GrailsReloadServletFilter</span>.<span class="me1">doFilterInternal</span><span class="br0">&#40;</span>GrailsReloadServletFilter.<span class="me1">java</span>:<span class="nu0">104</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">OncePerRequestFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>OncePerRequestFilter.<span class="me1">java</span>:<span class="nu0">76</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">servlet</span>.<span class="me1">mvc</span>.<span class="me1">GrailsWebRequestFilter</span>.<span class="me1">doFilterInternal</span><span class="br0">&#40;</span>GrailsWebRequestFilter.<span class="me1">java</span>:<span class="nu0">67</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">OncePerRequestFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>OncePerRequestFilter.<span class="me1">java</span>:<span class="nu0">76</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">codehaus</span>.<span class="me1">groovy</span>.<span class="me1">grails</span>.<span class="me1">web</span>.<span class="me1">filters</span>.<span class="me1">HiddenHttpMethodFilter</span>.<span class="me1">doFilterInternal</span><span class="br0">&#40;</span>HiddenHttpMethodFilter.<span class="me1">java</span>:<span class="nu0">69</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">OncePerRequestFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>OncePerRequestFilter.<span class="me1">java</span>:<span class="nu0">76</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">CharacterEncodingFilter</span>.<span class="me1">doFilterInternal</span><span class="br0">&#40;</span>CharacterEncodingFilter.<span class="me1">java</span>:<span class="nu0">88</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">OncePerRequestFilter</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>OncePerRequestFilter.<span class="me1">java</span>:<span class="nu0">76</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">DelegatingFilterProxy</span>.<span class="me1">invokeDelegate</span><span class="br0">&#40;</span>DelegatingFilterProxy.<span class="me1">java</span>:<span class="nu0">237</span><span class="br0">&#41;</span>
	at org.<span class="me1">springframework</span>.<span class="me1">web</span>.<span class="me1">filter</span>.<span class="me1">DelegatingFilterProxy</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>DelegatingFilterProxy.<span class="me1">java</span>:<span class="nu0">167</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">internalDoFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">235</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">ApplicationFilterChain</span>.<span class="me1">doFilter</span><span class="br0">&#40;</span>ApplicationFilterChain.<span class="me1">java</span>:<span class="nu0">206</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardWrapperValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>StandardWrapperValve.<span class="me1">java</span>:<span class="nu0">233</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardContextValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>StandardContextValve.<span class="me1">java</span>:<span class="nu0">191</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardHostValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>StandardHostValve.<span class="me1">java</span>:<span class="nu0">128</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">valves</span>.<span class="me1">ErrorReportValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>ErrorReportValve.<span class="me1">java</span>:<span class="nu0">102</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardEngineValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>StandardEngineValve.<span class="me1">java</span>:<span class="nu0">109</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">connector</span>.<span class="me1">CoyoteAdapter</span>.<span class="me1">service</span><span class="br0">&#40;</span>CoyoteAdapter.<span class="me1">java</span>:<span class="nu0">293</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">coyote</span>.<span class="me1">http11</span>.<span class="me1">Http11Processor</span>.<span class="me1">process</span><span class="br0">&#40;</span>Http11Processor.<span class="me1">java</span>:<span class="nu0">849</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">coyote</span>.<span class="me1">http11</span>.<span class="me1">Http11Protocol</span>$Http11ConnectionHandler.<span class="me1">process</span><span class="br0">&#40;</span>Http11Protocol.<span class="me1">java</span>:<span class="nu0">583</span><span class="br0">&#41;</span>
	at org.<span class="me1">apache</span>.<span class="me1">tomcat</span>.<span class="me1">util</span>.<span class="me1">net</span>.<span class="me1">JIoEndpoint</span>$Worker.<span class="me1">run</span><span class="br0">&#40;</span>JIoEndpoint.<span class="me1">java</span>:<span class="nu0">454</span><span class="br0">&#41;</span>
	at java.<span class="me1">lang</span>.<a href="http://www.google.de/search?as_q=Thread&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Thread</span></a>.<span class="me1">run</span><span class="br0">&#40;</span><a href="http://www.google.de/search?as_q=Thread&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F"><span class="kw3">Thread</span></a>.<span class="me1">java</span>:<span class="nu0">637</span><span class="br0">&#41;</span>
Caused by: org.<span class="me1">hibernate</span>.<span class="me1">SessionException</span>: Session is closed<span class="sy0">!</span></pre>]]></summary>
    </entry>
    <entry>
        <title type="html">jar aus groovy erzeugen - manifest datei</title>
        <link href="http://groovy-forum.de/read.php?2,8115,8115#msg-8115" />
        <category term="Groovy" />
        <published>2010-09-03T20:26:31+02:00</published>
        <updated>2010-09-06T14:12:57+02:00</updated>
        <id>http://groovy-forum.de/read.php?2,8115,8115#msg-8115</id>
        <author>
            <name>mabu</name>
        </author>
        <summary type="html"><![CDATA[ Hallo beisammen,<br />
<br />
derzeit beschäftige ich mich damit, aus groovy-Skripts eigenständige Programme zu machen. Die praktischste Variante ist,<br />
sie in ein &quot;jar&quot; zu packen, da man *.jar Dateien in der Regel immer mit Java ausführen kann.<br />
<br />
mit groovyc kann man ja wunderbar class-Files erstellen. So weit so gut.<br />
es gibt auch dieses praktische Tool &quot;jar&quot; um &quot;jar&quot;-Files zu machen (&quot;jar -cvf MeinProg.jar MeineKlasse.class&quot;)<br />
<br />
Aber: Man braucht dafür eine manifest-Datei. Hat da jmd. schon Erfahrung mit gemacht? Ich hab oft gelesen, dass man <br />
in der manifest-Datei angeben muss, welche Klasse die main-Methode enthält. Mein Script hat aber eigentlich gar keine<br />
Klassen o.ä. (ist halt ein richtiges Skript ;-) )<br />
Geht das trotzdem?<br />
<br />
Grüße]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Deployment-Problem</title>
        <link href="http://groovy-forum.de/read.php?3,8113,8114#msg-8114" />
        <category term="Grails" />
        <published>2010-09-03T16:03:56+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8113,8114#msg-8114</id>
        <author>
            <name>saurier</name>
        </author>
        <summary type="html"><![CDATA[ Also ich würde im Projekt mal eine Textsuche nach LTarifService machen. Wahrscheinlich<br />
ein simpler Schreibfehler.<br />
Den PluginManager kannst du bei dieser Meldung ignorieren.<br />
<br />
Gruß,<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">Deployment-Problem</title>
        <link href="http://groovy-forum.de/read.php?3,8113,8113#msg-8113" />
        <category term="Grails" />
        <published>2010-09-03T15:48:03+02:00</published>
        <updated>2010-09-03T16:03:56+02:00</updated>
        <id>http://groovy-forum.de/read.php?3,8113,8113#msg-8113</id>
        <author>
            <name>Charx</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
in unserem Grails-Projekt hat bislang immer alles funktioniert, doch heute kam diese kryptische Fehlermeldung beim Deployment:<br />
<br />
2010-09-03 15:18:03,681 INFO  [STDOUT] read properties from file:/opt/jboss/gras/app-config/tpa/web.properties<br />
2010-09-03 15:18:07,843 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed<br />
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: LTarifService;<br />
        at java.security.AccessController.doPrivileged(Native Method)<br />
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)<br />
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)<br />
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)<br />
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)<br />
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)<br />
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)<br />
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)<br />
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)<br />
        at org.apache.catalina.core.StandardContext.init(StandardContext.java:5312)<br />
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)<br />
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)<br />
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)<br />
        at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)<br />
        at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)<br />
        at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)<br />
        at org.jboss.web.WebModule.startModule(WebModule.java:83)<br />
        at org.jboss.web.WebModule.startService(WebModule.java:61)<br />
        at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)<br />
        at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)<br />
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)<br />
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)<br />
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)<br />
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)<br />
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)<br />
        at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)<br />
        at $Proxy0.start(Unknown Source)<br />
        at org.jboss.system.ServiceController.start(ServiceController.java:417)<br />
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)<br />
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)<br />
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)<br />
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)<br />
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)<br />
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)<br />
        at $Proxy45.start(Unknown Source)<br />
        at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)<br />
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)<br />
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)<br />
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)<br />
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)<br />
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)<br />
        at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)<br />
        at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)<br />
        at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)<br />
        at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)<br />
        at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)<br />
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)<br />
...<br />
Caused by: java.lang.NoClassDefFoundError: LTarifService;<br />
        at java.lang.Class.getDeclaredFields0(Native Method)<br />
        at java.lang.Class.privateGetDeclaredFields(Class.java:2259)<br />
        at java.lang.Class.getDeclaredField(Class.java:1852)<br />
        ... 106 more<br />
<br />
Wir haben in unserem Projekt keine Klasse &quot;LTarifService&quot;, sondern nur eine &quot;TarifService&quot;, und diese ist im .war-Archiv vorhanden... außerdem wüsste ich nicht, was das mit dem PluginManager zu tun haben soll.<br />
<br />
Kann mir irgendjemand helfen diese Exception zu deuten?<br />
<br />
Danke!]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Testdaten generieren</title>
        <link href="http://groovy-forum.de/read.php?3,8106,8112#msg-8112" />
        <category term="Grails" />
        <published>2010-09-03T11:30:07+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?3,8106,8112#msg-8112</id>
        <author>
            <name>saurier</name>
        </author>
        <summary type="html"><![CDATA[ Hallo Horst,<br />
<br />
ich hänge das Plugin hier einfach mal an. Vielleicht kannst Du, oder jemand anders, ja was<br />
damit anfangen. Nach meiner Erfahrung findet man viele Fehler erst mit einer ausreichenden<br />
Anzahl halbwegs realistischer Testdaten. Und dafür finde ich das äußerst praktisch.<br />
<br />
Hier die Beschreibung, und das Plugin im Anhang:<br />
<br />
Die Installation geht wie üblich mit:<br />
<pre class="bbcode">
grails install-plugin PfadZumZip/grails-sdata-0.1.zip</pre>
<br />
Bevor man den Service nutzen kann, muss dieser normal injiziert werden<br />
<br />
<pre class="bbcode">
def sdataService</pre>
<br />
Wer jetzt z.B. einen zufälligen Vornamen braucht bekommt diesen so:<br />
<br />
<pre class="bbcode">
def vorname = sdataService.pick(&quot;first&quot;)</pre>
<br />
Will man einen bestimmten Eintrag haben, etwa um immer genau definierte<br />
Daten zu bekommen, kann man einfach einen Index mit angeben. Der Index darf<br />
größer sein, als die Liste, da hier Modulo benutzt wird um einfacher mit<br />
Schleifen arbeiten zu können:<br />
<br />
<pre class="bbcode">
def vorname = sdataService.pick(&quot;first&quot;,4)</pre>
<br />
Der erste Parameter von pick(), in diesem Fall &quot;first&quot;, ist der Schlüssel zu<br />
einer Liste von Daten, aus denen dann ein Wert zufällig gewählt wird.<br />
Es gibt folgende vordefinierte Listen:<br />
<br />
first   -   Vornamen international<br />
last    -   Pseudo-Nachnamen, die es wahrscheinlich nicht gibt.<br />
phone   -   Telefon-Nummern in verschiedenen Formaten<br />
city    -   Städte, international<br />
ort     -   Städte, deutsch<br />
street - Straßen<br />
mail - Mail-Adressen<br />
blind   -   Blindtext-Schnipsel (lorem ipsum...)<br />
<br />
Eigene Daten anzulegen ist ganz einfach. Wer z.B. ein paar bunte Autos<br />
braucht, schreibt einfach:<br />
<br />
<pre class="bbcode">
sdataService.datamap[&quot;farbe&quot;] = ['Rot','Gelb','Grün','Blau']
sdataService.datamap[&quot;automarke&quot;] = ['Volvo','Fiat','Opel','BMW','VW','Honda']

def range = [1..20]
range.each { n -&gt;
    // für feste Reihenfolge
    new Car(color:sdataService.pick(&quot;farbe&quot;,n),marke:sdataService.pick(&quot;automarke&quot;,n)).save()
    // für zufällige Reihenfolge
    new Car(color:sdataService.pick(&quot;farbe&quot;),marke:sdataService.pick(&quot;automarke&quot;)).save()
}</pre>
<br />
Wer sich den Quellcode ansieht, wird feststellen, dass das Ganze extrem simpel ist.<br />
<br />
Bei Fragen, einfach fragen :-)<br />
<br />
Gruß,<br />
Christian]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Log4J and Groovy</title>
        <link href="http://groovy-forum.de/read.php?2,8091,8111#msg-8111" />
        <category term="Groovy" />
        <published>2010-09-03T09:06:06+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8091,8111#msg-8111</id>
        <author>
            <name>whett</name>
        </author>
        <summary type="html"><![CDATA[ Danke für deinen Vorschlag. Ich glaube schon, dass Logging mit java.util.logging funktioniert; so stehts ja auch in der Groovy Dokumentation. Ich wollte aber speziell Log4J verwenden, da dieses System einen reichhaltigeren Funktionsumfang haben soll.]]></summary>
    </entry>
    <entry>
        <title type="html">Re: Prüfen der Syntax</title>
        <link href="http://groovy-forum.de/read.php?2,8108,8110#msg-8110" />
        <category term="Groovy" />
        <published>2010-09-03T08:25:58+02:00</published>
        <updated>1970-01-01T01:00:00+01:00</updated>
        <id>http://groovy-forum.de/read.php?2,8108,8110#msg-8110</id>
        <author>
            <name>Wicki</name>
        </author>
        <summary type="html"><![CDATA[ Hallo,<br />
<br />
vielleicht solltest Du die Callsites per invokeMethod aufrufen und evtl. Exceptions abfangen.<br />
Apropos Callsites, zeig doch bitte mal wie Du an diese Callsites rankommst.<br />
<br />
Gruß Wicki]]></summary>
    </entry>
</feed>
