<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OlliN&#039;s &#187; groovy</title>
	<atom:link href="http://www.nautsch.net/category/groovy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nautsch.net</link>
	<description>Notizen über Software und Anderes von Oliver Nautsch</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:12:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Groovy &#8211; Process#pipeTo und Operator Overloading</title>
		<link>http://www.nautsch.net/2008/03/10/groovy-processpipeto-und-operator-overloading/</link>
		<comments>http://www.nautsch.net/2008/03/10/groovy-processpipeto-und-operator-overloading/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 15:13:11 +0000</pubDate>
		<dc:creator>ollin</dc:creator>
				<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://www.nautsch.net/?p=105</guid>
		<description><![CDATA[<p><a href="http://groovy.codehaus.org/Operator+Overloading">Operator Overloading</a> ist eine feine Sache. Groovy erweitert z.B. die Klasse java.lang.Process um die Methode &#8220;or(Process right)&#8221;. &#8220;or&#8221; wird in Groovy auf den Operator &#8220;&#124;&#8221; gemappt. Dadurch kann man die Ausgabe eines Prozesses zu einem anderen &#8220;pipen&#8221;</p> <p>test.groovy:</p> #!/usr/bin/env groovy def p1 = "ls -al".<a href="http://groovy.codehaus.org/groovy-jdk/java/lang/String.html#execute()">execute</a>() def p2 = "grep test".execute() p1 &#124; p2 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://groovy.codehaus.org/Operator+Overloading">Operator Overloading</a> ist eine feine Sache.  Groovy erweitert z.B. die Klasse java.lang.Process um die Methode &#8220;or(Process right)&#8221;. &#8220;or&#8221; wird in Groovy auf den Operator &#8220;|&#8221; gemappt. Dadurch kann man die Ausgabe eines Prozesses zu einem anderen &#8220;pipen&#8221;</p>
<p>test.groovy:</p>
<blockquote>
<pre>#!/usr/bin/env groovy
def p1 = "ls -al".<a href="http://groovy.codehaus.org/groovy-jdk/java/lang/String.html#execute()">execute</a>()
def p2 = "grep test".execute()
<strong>p1 | p2</strong>
p2.<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html#waitFor()">waitFor</a>()
println p2.<a href="http://groovy.codehaus.org/groovy-jdk/java/lang/Process.html#getText()">text</a></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.nautsch.net/2008/03/10/groovy-processpipeto-und-operator-overloading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Groovy als Javaentwickler</title>
		<link>http://www.nautsch.net/2007/06/03/groovy-als-javaentwickler/</link>
		<comments>http://www.nautsch.net/2007/06/03/groovy-als-javaentwickler/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 18:08:32 +0000</pubDate>
		<dc:creator>ollin</dc:creator>
				<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://www.nautsch.net/?p=58</guid>
		<description><![CDATA[<p>Inzwischen sind ein paar Tage ins Land gegangen seit ich über <a href="http://www.nautsch.net/?p=52">Groovy berichtet</a> habe. Was wirklich toll ist, dass man als Java-Entwickler &#8220;fast&#8221; einfach so loslegen kann. Man braucht auf keine seiner Lieblings-lib&#8217;s verzichten und syntaktisch sind sich Groovy und Java auch recht nah. So habe ich auch das <a href="http://www.nautsch.net/?p=54">Nümmerlitiger-Tool</a> geschrieben &#8211; just [...]]]></description>
			<content:encoded><![CDATA[<p>Inzwischen sind ein paar Tage ins Land gegangen seit ich über <a href="http://www.nautsch.net/?p=52">Groovy berichtet</a> habe. Was wirklich toll ist, dass man als Java-Entwickler &#8220;fast&#8221; einfach so loslegen kann. Man braucht auf keine seiner Lieblings-lib&#8217;s verzichten und syntaktisch sind sich Groovy und Java auch recht nah. So habe ich auch das <a href="http://www.nautsch.net/?p=54">Nümmerlitiger-Tool</a> geschrieben &#8211; just do it. Es ist fertig und funktioniert.</p>
<p>Damals war ich ca auf Seite 150 von &#8220;Groovy in Action&#8221;. Jetzt bin ich um die Seite 300. Sozusagen um das Doppelte schlauer <img src='http://www.nautsch.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Die Hälfte vom Code könnte ich wahrscheinlich schon wegwerfen &#8211; weil unnötig. Da gibt es ja so schöne Sachen in Groovy &#8211; z.B die Builder oder GPath. Allein wegen des <a href="http://groovy.codehaus.org/Ant+Scripting">AntBuilder</a> ist, z.B. für alle die die sich mit Build-Automatisierung auseinandersetzen, Groovy einen Blick wert.<br />
Und wie sagt schon <a href="http://www.amazon.de/Pragmatische-Programmierer-Andrew-Hunt/dp/3446223096">Der Pragmatische Programmierer</a>: Jedes Jahr eine Sprache lernen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nautsch.net/2007/06/03/groovy-als-javaentwickler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Talk to Snipplr with Groovy</title>
		<link>http://www.nautsch.net/2007/05/11/access-snipplr-with-groovy/</link>
		<comments>http://www.nautsch.net/2007/05/11/access-snipplr-with-groovy/#comments</comments>
		<pubDate>Fri, 11 May 2007 11:16:07 +0000</pubDate>
		<dc:creator>ollin</dc:creator>
				<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://www.nautsch.net/?p=54</guid>
		<description><![CDATA[<p>Wie ich schon geschrieben habe, bin ich derzeit dabei in Groovy einzuarbeiten. Dazu schreibe ich ein kleinen Command Line Tool, welches wir zum Eclipse-RCP-Release-bauen verwenden können. Es gibt da einen Job den nennen wir &#8220;Nümmerlitiger&#8221; (jeder Entwickler darf mal). Eine Eclipseapplikation besteht aus Plugins und sind alle in separaten Eclipseprojekten. Wenn man nun die Version [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich schon geschrieben habe, bin ich derzeit dabei in Groovy einzuarbeiten. Dazu schreibe ich ein kleinen Command Line Tool, welches wir zum Eclipse-RCP-Release-bauen verwenden können. Es gibt da einen Job den nennen wir &#8220;Nümmerlitiger&#8221; (jeder Entwickler darf mal). Eine Eclipseapplikation besteht aus Plugins und sind alle in separaten Eclipseprojekten. Wenn man nun die Version zu einem Plugin baut, so müssen wir pro Plugin an dem entwickelt wurde (diff in subversion) wurde die Bundle-Version-Nummer im MANIFEST.MF des Plugins hochsetzen, dann die Datei ins Subversion einchecken und dann noch unsere MAP-Datei auf die Versionsnummer aktualisieren. Die MAP-Datei (Siehe dazu <a href="http://www.inventage.com/neutral/download/chopen_2006_10_10.pdf">Präsentation</a> von meinen Kollegen Edwin und Löti) ist unsere Steuerdatei für den automatischen Build. Diese muss natürlich zum Schluss auch eingecheckt werden. Ausserdem darf man das Taggen des Plugins nicht vergessen. Der Prozess ist nicht nur Fehleranfällig, nein er ist auch langweilig und dauert schon mal 30min wenn man wie wir ca. 20 Plugins in einem Projekt hat.</p>
<p>Gestern bin ich beim Suchen nach Beispielen auf <a href="http://snipplr.com/">snipplr</a> gestossen und habe am Abend gleich mal probiert mit Groovy auf die XML-RPC Schnittstelle zuzugreifen.</p>
<p>[snippet=2624]</p>
<p>Das ist wirklich einfach. (Übrigens wird der Code via einem <a href="http://snipplr.com/extras/wordpress/">Snipplr-Wordpress-Plugin</a> von snipplr geholt und dargestellt. Die Buchstaben &#8220;URL&#8221; z.B. sind ein Link auf Google.) Als XML-RPC-Implementierung habe ich die von <a href="http://ws.apache.org/xmlrpc/">ws.apache.org</a> benutzt.</p>
<p>&#8212;</p>
<p>Update 2008-03-03: Das Plugin funktioniert nicht mehr mit neueren WordPress-Versionen. Deshalb der Code hier:</p>
<blockquote>
<pre>package net.nautsch.snipplr;import org.apache.xmlrpc.client.XmlRpcClient;

import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

class SnipplrRunner {

static void main(args) {

        XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl()

    config.setServerURL(new URL("http://snipplr.com/xml-rpc.php"))

XmlRpcClient client = new XmlRpcClient()

        client.setConfig(config)

        Object[] params = ["insert your id here"]

def boolean result = client.execute("user.checkkey", params)

    println result

  }

}</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.nautsch.net/2007/05/11/access-snipplr-with-groovy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

