<?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>schwobeseggl.de &#187; Java</title>
	<atom:link href="http://schwobeseggl.de/category/programmiersprachen/java-programmiersprachen/feed/" rel="self" type="application/rss+xml" />
	<link>http://schwobeseggl.de</link>
	<description>ein Neigschmecktr in Baden</description>
	<lastBuildDate>Wed, 18 Apr 2012 15:48:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Parallele jUnit-Tests ausführen</title>
		<link>http://schwobeseggl.de/2012/01/05/parallele-junit-tests-ausfuhren/</link>
		<comments>http://schwobeseggl.de/2012/01/05/parallele-junit-tests-ausfuhren/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 08:02:18 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=3110</guid>
		<description><![CDATA[Hatte ich gestern mal gesucht und folgendes gefunden: Scheduling Junit tests with RunnerScheduler for a concurrent execution &#124; junit.org]]></description>
			<content:encoded><![CDATA[<p>Hatte ich gestern mal gesucht und folgendes gefunden:</p>
<p><a  title="Scheduling Junit tests with RunnerScheduler for a concurrent execution" href="http://www.junit.org/node/589">Scheduling Junit tests with RunnerScheduler for a concurrent execution | junit.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2012/01/05/parallele-junit-tests-ausfuhren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fehlermeldung des Tages</title>
		<link>http://schwobeseggl.de/2010/06/07/fehlermeldung-des-tages/</link>
		<comments>http://schwobeseggl.de/2010/06/07/fehlermeldung-des-tages/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 16:42:39 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Sonstiges]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2712</guid>
		<description><![CDATA[svn: Cannot create new file '/home/myuser/programs/eclipse/workspace-java/someservice/somemodule/src/test/config/default/datasets/.svn/tmp/prop-base/toller.langer.package.name.deutlich.laenger.als.hier.angegben.xml.svn-base.76854713-2901-0010-b32d-edbcf3a145b9.tmp': File name too long Super.]]></description>
			<content:encoded><![CDATA[<p>svn: Cannot create new file '/home/myuser/programs/eclipse/workspace-java/someservice/somemodule/src/test/config/default/datasets/.svn/tmp/prop-base/toller.langer.package.name.deutlich.laenger.als.hier.angegben.xml.svn-base.76854713-2901-0010-b32d-edbcf3a145b9.tmp': File name too long</p>
<p>Super.</p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2010/06/07/fehlermeldung-des-tages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fast schon Weihnachten</title>
		<link>http://schwobeseggl.de/2009/12/21/fast-schon-weihnachten/</link>
		<comments>http://schwobeseggl.de/2009/12/21/fast-schon-weihnachten/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 10:16:43 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Spass]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2599</guid>
		<description><![CDATA[Jaja, wie die Zeit rumgeht. Schon wieder über einen Monat her das ich was geschrieben habe. Nunja, was kann ich erzählen ... nicht soviel und das auch erstmal nur in Kurzform: SCJP: Ich  hab mal angefangen da das Buch durchzulesen und werd das dann mit Marc und Stephan auch durchziehen, inkl. Prüfung. Mein Chef hat [...]]]></description>
			<content:encoded><![CDATA[<p>Jaja, wie die Zeit rumgeht. Schon wieder über einen Monat her das ich was geschrieben habe. Nunja, was kann ich erzählen ... nicht soviel und das auch erstmal nur in Kurzform:</p>
<ul>
<li><a  href="http://de.sun.com/training/certification/java/scjp.xml" class="broken_link">SCJP</a>: Ich  hab mal angefangen da das Buch durchzulesen und werd das dann mit Marc und Stephan auch durchziehen, inkl. Prüfung. Mein Chef hat mir dann noch <a  href="http://www.javablackbelt.com/">BlackBelt</a> empfohlen.</li>
<li>SingStar: Ich bin ja stolzer Besitzer einer Playstation und wir (d.h. meine Arbeitskollegen und ich) haben schon eine Party veranstaltet. Morgen findet die nächste Iteration statt und, so wie es aussieht, werden wir das alle zwei Wochen durchziehen <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Code Review: Haben wir jetzt schon zweimal durchgeführt. Gibt immer wieder spannende Diskussionen, manchmal auf Quellcode-Ebene, manchmal eher auf Prozess-Ebene. Aber immer gut und hitzig <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Speeddating: Einmal durchgeführt. Mal schauen wie es sich entwickelt <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Das wars auch schon. Da ich vermutlich bis Weihnachten nichts Neues schreiben werden, wünsche ich einfach mal:</p>
<p>FROHE WEIHNACHTEN</p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/12/21/fast-schon-weihnachten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>W-Jax 2009: Donnerstag</title>
		<link>http://schwobeseggl.de/2009/11/19/w-jax-2009-donnerstag/</link>
		<comments>http://schwobeseggl.de/2009/11/19/w-jax-2009-donnerstag/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 12:58:07 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2575</guid>
		<description><![CDATA[Historisch gewachsen? Architekturen dokumentieren und kommunizieren Prinzipiell ein interessanter Vortrag, wie man Architekturen dokumentieren kann. Verweist ziemlich häuft wieder auf arc42-Template, aber das macht ja nichts. Sonst halt viel UML und BlaBla, wobei UML hier nur gewählt wurde, weil sich der Vortragende damit auskennt (kommt ja von Oose) Details des Java-Memory-Modells: volatile-, final- und atomic-Felder [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Historisch gewachsen? Architekturen dokumentieren und kommunizieren</strong><br />
Prinzipiell ein interessanter Vortrag, wie man Architekturen dokumentieren kann. Verweist ziemlich häuft wieder auf <a  href="http://www.arc42.de/template/template.html">arc42-Template</a>, aber das macht ja nichts. Sonst halt viel UML und BlaBla, wobei UML hier nur gewählt wurde, weil sich der Vortragende damit auskennt (kommt ja von <a  href="http://www.oose.de/">Oose</a>)</p>
<p><strong>Details des Java-Memory-Modells: volatile-, final- und atomic-Felder - Angelika Langer</strong><br />
Das war ein spannender Vortrag. Was genau bewirken eigentlich diese Felder? Inwiefern geben sie Garantien ab? Was können Sie leisten und was nicht? Welche kann man in manchen Fällen als synchronised-Ersatz verwenden? Da ich diese drei Felderbezeichner bisher noch nie wirklich verwendet hatte (ausser final), fand ich es unglaublich faszinierend mal ein bißchen stärker in Thread-/Parallelprogrammierung reinzuschnuppern. Ich empfehle als Lektüre da auch mal</p>
<ul>
<li><a  href="http://www.torsten-horn.de/techdocs/java-concurrency.htm#Irrtuemer">http://www.torsten-horn.de/techdocs/java-concurrency.htm#Irrtuemer</a></li>
<li><a  href="http://www.java-blog-buch.de/0407-weitere-modifizierer/">http://www.java-blog-buch.de/0407-weitere-modifizierer/</a></li>
</ul>
<p><strong>WJAX-Challenge</strong><br />
<a  href="http://it-republik.de/jaxenter/wjax09/challenge"> http://it-republik.de/jaxenter/wjax09/challenge</a></p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/11/19/w-jax-2009-donnerstag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>W-Jax 2009: Dienstag</title>
		<link>http://schwobeseggl.de/2009/11/10/w-jax-2009-dienstag/</link>
		<comments>http://schwobeseggl.de/2009/11/10/w-jax-2009-dienstag/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:15:36 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[W-Jax 2009]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2562</guid>
		<description><![CDATA[Die W-Jax ist meine erste Konferenz, dementsprechend faszinierend finde ich die. Lauter Leute, alles Entwickler, bekannte Gesichter der Branche und fast nur gute Vorträge. Ich bin begeistert. Aber jetzt komm ich mal gleich zu den gehörten Vorträgen: Why the next five years will be about languages - Ted Neward Sehr witziger Vortrag über Sprachen an [...]]]></description>
			<content:encoded><![CDATA[<p>Die W-Jax ist meine erste Konferenz, dementsprechend faszinierend finde ich die. Lauter Leute, alles Entwickler, bekannte Gesichter der Branche und fast nur gute Vorträge. Ich bin begeistert. Aber jetzt komm ich mal gleich zu den gehörten Vorträgen:</p>
<p><strong>Why the next five years will be about languages - Ted Neward</strong></p>
<p>Sehr witziger Vortrag über Sprachen an sich. Natürlich auch über den Hype namens DSL (Domain Specific Languages), aber prinzipiell darüber das nicht jede Sprache die Endlösung ist, das viele Sprachen überleben werden, obwohl sie keiner will und das es neue Sprachen geben wird, die jetzt noch keiner kennt. Quintessenz am Ende: Wer sich jetzt nicht um Sprachen kümmert, brauch später auch nur noch einen Satz: "Would you like fries with that".</p>
<p><strong>Back to the Basics: Anwendungen auf Basis von EJB 3.1 - Dirk Well</strong></p>
<p>Ein kleiner Einführungskurs in EJB 3 mit Hinweisen was in EJB 3.1 noch dazu kommen wird. Im Prinzip nichts besonderes, da kann man auch einfach die Spezifikation lesen (wie fast immer <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), allerdings war es ganz nett mal eine Zusammenfassung zu sehen. Interessant könnte das @Asychnronous sein, das dann mit Future-Objekten arbeiten. Muss ich mir nochmal genauer anschauen. Weiterhin dazu kommt dann noch @Singleton, wobei diese leider nur Clusternode-eindeutig sind, bzw. JVM-eindeutig. Bißchen doof, wenn man fast nur mit Clustern arbeitet. Muss man halt schauen wie man die synchronisiert.<br />
Weiterhin wurden cronjobs neu entdeckt. Nennt sich in EJB 3.1 dann Timer und lässt sich (fast) beliebig steuern. Find ich halt faszinierend wie man alten Wein einfach in neue Schläuche packt und das dann als "Feature" verpackt. Wow. Timer <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>42 für Softwarearchitekten - Dr. Gernot Starke</strong><br />
Da verweis ich grad einfach mal auf <a  href="http://arc42.de/">http://arc42.de/</a>. Im Prinzip ein sehr interessanter Vortrag über Projektdokumentation (also nicht nur das Benutzerhandbuch, sondern alles inkl. Requirements und Technische Konzepte). Da gibt's ein Template zum Runterladen, das gerade mal 30 Seiten (oder so) hat, das einem eine Struktur vorgibt wie man ein Projekt beschreiben kann. In der Theorie eine super Sache, allerdings glaube ich nicht, das man irgendeinen Vorgesetzten davon überzeugen kann, dass man erstmal eine Woche lang ein Template ausfüllt um dann (weil agil und so), nochmals pro Woche einen Tag zu verbraten um das auf den neusten Stand zu bringen. Chefs wollen schnell was und das so billig wie möglich.</p>
<p><strong>The Future of Enterprise Java - Adam Bien</strong><br />
Lange Keynote. Muss ich mir nochmal genau Gedanken machen was da alles gesagt wurde. Im Prinzip nix Überwältigendes, meist nette trends.google.com-Graphiken, gepaart mit ein paar Fakten "aus der Wirtschaft". Klingt jetzt viel abfälliger als es war. An eine Sache erinnere ich mich noch: Single Vendor wird wohl (leider) kommen. Also, Cloud und so: Application Server, JPA-Implementation und/oder andere Libraries von einem Hersteller. Ich nenne hier einfach mal Red Hat aka Jboss.</p>
<p><strong>Hibernate Search: Full-text search for Hibernate Applications - Emmanuel Bernard</strong><br />
Ein Hibernate Interface für Lucene. 'nough said. <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Ne, ernsthaft: Eigentlich eine sehr abgefahrene Sache, weil es die Lucene-Machine einfach komplett wegkapselt. Man kann das quasi als normale DataSource sehen, die dann per EntityManager angesprochen wird und auch Query und ResultLists nutzt. Faszinierend. Ausserdem wird dann auch bei einem Datenbankupdate automatisch die Änderung in den Lucene-Index propagiert.</p>
<p><strong>JCR: Java Content Repositories - Carsten Ziegeler</strong><br />
Da der Marc da bissle seine DA drüber geschrieben hat (oder so ähnlich), hab ich mir das auch mal angeguggt. Ist jetzt keine besondere Präsentation gewesen, eigentlich nur eine Beschreibung WAS ein Content Repository ist und das JCR 2.0 relativ frisch raus ist. Schaunmermal.</p>
<p><strong>CouchDB, die REST-basierte Datenbankalternative fürs WEB 2.0 - Frank Pientka</strong><br />
Was ein komisches Ding. Eine JSON-Datenbank. Man erstellt einfach ein JSON-Dokument und packt das dann in die CouchDB. Nutzt das Map&amp;Reduce das irgendwie wohl Google entwickelt hat. Das ist jetzt grobes Halbwissen, müsste man mal genauer recherchieren. Ich finds aber irgendwie komisch, weil das "eigentlich" nur eine JSON-Datenbank ist, mit REST-Interface. Ein GET ist also ein SELECT, ein POST ist ein INSERT usw. Ohne Sicherheitsmechanismus, Login oder sonstirgendwas. Wer die URL kennt, darf alles machen. Doofes Konzept irgendwie.</p>
<p>NACHTRAG: Es gibt wohl doch ein Sicherheitsmodell. Es gibt Admin-Accounts, einen Lese- und einen Schreibzugriff. Allerdings wurde davon, soweit ich mich erinnere, nichts im Vortrag erwähnt. Nur das man halt einen HTTP-Proxy davor schalten sollte, um Sicherheitsfeatures reinzubringen. Quelle: <a  href="http://couchdb.apache.org/docs/overview.html"> http://couchdb.apache.org/docs/overview.html</a></p>
<p><strong>Was schafft man in 60 Minuten - Live "on stage" hacking for Java EE 6 - Adam Bien</strong><br />
Geile Sache. In 60 Minuten einfach mal EJB 3.1, JPA 2.0, JSF 2.0, JMS einen Junit-Test mit EJBContainer-Mockup und ein JSF-Redirect. Und das ganze dann noch per REST und Webservice erreichbar. Damit gewinnt dieser Beitrag das Bullshit-Bingo des Tages <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Das wars dann erstmal für heute, ich geh mal mein Bier auffüllen <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/11/10/w-jax-2009-dienstag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fatjar-Plugin für Eclipse</title>
		<link>http://schwobeseggl.de/2009/10/14/fatjar-plugin-fur-eclipse/</link>
		<comments>http://schwobeseggl.de/2009/10/14/fatjar-plugin-fur-eclipse/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 17:27:14 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[fatjar]]></category>
		<category><![CDATA[filesource]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[nested]]></category>
		<category><![CDATA[taks]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2516</guid>
		<description><![CDATA[Nun, ich hab das Plugin in meinem Eclipse gefunden und benutzt. Funktioniert prima. Gibt sogar nen Export, damit man das über einen Ant-Task aufrufen kann. Sieht dann ungefähr so aus: Schön und gut, das geht aber nur innerhalb von Eclipse. Auch wenn man obigen Hinweis folgt und die Zeilen einkommentiert, klappt es nicht, es kommt [...]]]></description>
			<content:encoded><![CDATA[<p>Nun, ich hab das Plugin in meinem Eclipse gefunden und benutzt. Funktioniert prima. Gibt sogar nen Export, damit man das über einen Ant-Task aufrufen kann. Sieht dann ungefähr so aus:</p>
<pre class="brush: xml; title: ; notranslate">&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;project name=&quot;FatJar MySuperDuperClass.jar (experimental)&quot; default=&quot;main&quot; basedir=&quot;.&quot;&gt;
    &lt;!-- this file was created by Fat-Jar Eclipse Plug-in --&gt;
    &lt;!-- the ANT-Export is in a very early stage, so this --&gt;
    &lt;!-- is only experimental, ANT 1.6 or above is        --&gt;
    &lt;!-- required, feedback is always welcome:            --&gt;
    &lt;!--       http://sourceforge.net/projects/fjep       --&gt;
    &lt;!-- uncomment the following lines if using ANT outside Eclipse --&gt;
    &lt;!--
        &lt;property name=&quot;fjepPath&quot; value=&quot;plugins/net.sf.fjep.fatjar_0.0.31/fatjar.jar&quot;/&gt;
        &lt;taskdef name=&quot;fatjar.build&quot; classname=&quot;net.sf.fjep.anttask.FJBuildTask&quot; classpath=&quot;${fjepPath}&quot;/&gt;
        &lt;typedef name=&quot;fatjar.manifest&quot; classname=&quot;net.sf.fjep.anttask.FJManifestType&quot; classpath=&quot;${fjepPath}&quot;/&gt;
        &lt;typedef name=&quot;fatjar.exclude&quot; classname=&quot;net.sf.fjep.anttask.FJExcludeType&quot; classpath=&quot;${fjepPath}&quot;/&gt;
        &lt;typedef name=&quot;fatjar.jarsource&quot; classname=&quot;net.sf.fjep.anttask.FJJarSourceType&quot; classpath=&quot;${fjepPath}&quot;/&gt;
        &lt;typedef name=&quot;fatjar.filesource&quot; classname=&quot;net.sf.fjep.anttask.FJFileSourceType&quot; classpath=&quot;${fjepPath}&quot;/&gt;
    --&gt;
    &lt;!-- uncomment the above lines to use ANT outside of Eclipse --&gt;
    &lt;target name=&quot;main&quot;&gt;
      &lt;fatjar.build output=&quot;MySuperDuperClass.jar&quot;&gt;
        &lt;fatjar.manifest mainclass=&quot;de.schwobeseggl.test.MySuperDuperClass&quot;/&gt;
        &lt;fatjar.filesource path=&quot;bin&quot; relpath=&quot;&quot;/&gt;
        &lt;fatjar.jarsource file=&quot;lib/commons-cli.jar&quot; relpath=&quot;&quot;/&gt;
        &lt;fatjar.jarsource file=&quot;lib/jbossall-client.jar&quot; relpath=&quot;&quot;/&gt;
        &lt;fatjar.jarsource file=&quot;lib/junit.jar&quot; relpath=&quot;&quot;/&gt;
        &lt;fatjar.jarsource file=&quot;lib/log4j.jar&quot; relpath=&quot;&quot;/&gt;
        &lt;fatjar.jarsource file=&quot;lib/jdom.jar&quot; relpath=&quot;&quot;/&gt;
       &lt;/fatjar.build&gt;
    &lt;/target&gt;
&lt;/project&gt;</pre>
<p>Schön und gut, das geht aber nur innerhalb von Eclipse. Auch wenn man obigen Hinweis folgt und die Zeilen einkommentiert, klappt es nicht, es kommt die Fehlermeldung:</p>
<pre class="brush: plain; title: ; notranslate">BUILD FAILED
/my/path/MySuperDuperClass/build.xml:42: fatjar.build doesn't support the nested &quot;fatjar.filesource&quot; element.</pre>
<p>Doof. Die Lösung ist relativ einfach, aber erst nach langer Suche hab ich sie gefunden: Einfach ein <em>loaderref="${fjepPath}"</em> in jedes <em>typedef</em> rein. Somit wird aus:</p>
<pre class="brush: xml; title: ; notranslate">&lt;typedef name=&quot;fatjar.manifest&quot; classname=&quot;net.sf.fjep.anttask.FJManifestType&quot; classpath=&quot;${fjepPath}&quot;/&gt;</pre>
<p>ein</p>
<pre class="brush: xml; title: ; notranslate">&lt;typedef name=&quot;fatjar.manifest&quot; classname=&quot;net.sf.fjep.anttask.FJManifestType&quot; classpath=&quot;${fjepPath}&quot; loaderref=&quot;${fjepPath}&quot; /&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/10/14/fatjar-plugin-fur-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Statische Maps</title>
		<link>http://schwobeseggl.de/2009/07/23/statische-maps/</link>
		<comments>http://schwobeseggl.de/2009/07/23/statische-maps/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 14:09:29 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2222</guid>
		<description><![CDATA[Wieder was gelernt. Arrays kann man ja wie folgt initialisieren: Aber was ist mit Maps? Find ich gut. Endlich weiß ich sowas auch. Noch schneller gehts mit:]]></description>
			<content:encoded><![CDATA[<p>Wieder was gelernt. Arrays kann man ja wie folgt initialisieren:</p>
<pre>
<pre class="brush: java; title: ; notranslate">String[] allowed = new String[] {&quot;text/html&quot;, &quot;text/json&quot;};</pre>
</pre>
<p>Aber was ist mit Maps?</p>
<pre>
<pre class="brush: java; title: ; notranslate">public class Router {
  public static final Map&lt;String, Handler&gt; routes;

  static {
    Map&lt;String, Handler&gt; map = new HashMap&lt;String, Handler&gt;();
    map.put(&quot;/account&quot;, new AccountHandler());
    map.put(&quot;/feed&quot;, new FeedHandler());
    map.put(&quot;/opml&quot;, new OpmlHandler());
    routes = Collections.unmodifiableMap(map);
  }
}</pre>
</pre>
<p>Find ich gut. Endlich weiß ich sowas auch. Noch schneller gehts mit:</p>
<pre>
<pre class="brush: java; title: ; notranslate">public static final Map&lt;String , Handler&gt; routes =
           new HashMap&lt;String , Handler&gt;() {{
    put(&quot;/account&quot;, new AccountHandler());
    put(&quot;/feed&quot;, new FeedHandler());
    put(&quot;/opml&quot;, new OpmlHandler());
}};</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/07/23/statische-maps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calender.roll() vs. Calendar.add()</title>
		<link>http://schwobeseggl.de/2009/07/17/calender-roll-vs-calendar-add/</link>
		<comments>http://schwobeseggl.de/2009/07/17/calender-roll-vs-calendar-add/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 13:06:15 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programmiersprachen]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2207</guid>
		<description><![CDATA[Die Klasse java.util.Calendar ist scheiße mächtig. Gerade beschäftige ich mich wieder ein bißchen damit und bin auf folgendes gestoßen add(int, int) roll(int, int) Was ist der Unterschied? Letztendlich machen beide etwas Ähnliches, nämlich das Erhöhen/Erniedrigen eines Datums um einen Wert. Bei roll() werden nur die "größeren" Einheiten so gelassen wie sie sind. D.h. (laut API) [...]]]></description>
			<content:encoded><![CDATA[<p>Die Klasse <a  href="http://java.sun.com/javase/6/docs/api/java/util/Calendar.html"><em>java.util.Calendar</em></a> ist <span style="text-decoration: line-through;">scheiße</span> mächtig. Gerade beschäftige ich mich wieder ein bißchen damit und bin auf folgendes gestoßen</p>
<ul>
<li><a  href="http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#add%28int,%20int%29">add(int, int)</a></li>
<li><a  href="http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#roll%28int,%20int%29">roll(int, int)</a></li>
</ul>
<p>Was ist der Unterschied? Letztendlich machen beide etwas Ähnliches, nämlich das Erhöhen/Erniedrigen eines Datums um einen Wert. Bei <em>roll()</em> werden nur die "größeren" Einheiten so gelassen wie sie sind. D.h. (laut API) das beim 31. August 1999 ein <em>roll(Calendar.MONTH, 8 ) </em>im 30. April 1999 endet (weil die Jahres-Einheit "größer" ist als die Monats-Einheit). Der Tag wird nur deshalb verändert, weil der 31. April nicht existiert und so das Nächstbeste genommen wird.</p>
<p>Ein <em>add(Calender.MONTH, 8 )</em> führt allerdings dazu, dass die nächst größere Einheit bei Bedarf angepasst wird, d.h. aus dem 31. August 1999 wird dann der 30. April 2000.</p>
<p>Ein Kollege merkt sich den Unterschied so: Wie beim Zahlenschloß. Das hilft nicht bei <em>add()</em>, aber bei <em>roll()</em> wird ja auch jeweils nur der eine Ring des Zahlenschloß weiterge"roll"t und der Rest bleibt unbeeinflußt.</p>
<p>Zusätzlich noch ein Hinweis: Calendar.MONTH ist null-basiert, d.h. geht von 0-11 und 2 ist der März. Ein Calendar.getInstance().getTime().toLocaleString() passt das allerdings "intern" an und bei der Ausgabe ist dann der März wieder der 3. Monat des Jahres.</p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/07/17/calender-roll-vs-calendar-add/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Galileo (aka 3.5)</title>
		<link>http://schwobeseggl.de/2009/06/25/eclipse-galileo-aka-3-5/</link>
		<comments>http://schwobeseggl.de/2009/06/25/eclipse-galileo-aka-3-5/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 07:31:00 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2089</guid>
		<description><![CDATA[... ist frisch draußen. Javathreads.de hat schon 'ne schöne Übersicht über die Verbesserungen. Gleich mal ausprobieren]]></description>
			<content:encoded><![CDATA[<p>... ist frisch draußen. Javathreads.de hat schon 'ne <a  href="http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/">schöne Übersicht</a> über die Verbesserungen. Gleich mal ausprobieren <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/06/25/eclipse-galileo-aka-3-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JUnit und Eclipse</title>
		<link>http://schwobeseggl.de/2009/06/02/junit-und-eclipse/</link>
		<comments>http://schwobeseggl.de/2009/06/02/junit-und-eclipse/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 08:34:52 +0000</pubDate>
		<dc:creator>pennywise</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[junit]]></category>

		<guid isPermaLink="false">http://schwobeseggl.de/?p=2010</guid>
		<description><![CDATA[Ich nehm immer gerne die neuste Version einer Software. Vor allem wenn ich diese zum ersten Mal richtig benutze So geschehen mit Eclipse und JUnit. Eclipse nutz ich in Version 3.4.2 und JUnit in 4.3.1. So weit so gut. Eclipse hat jetzt eine wunderbare Integration von JUnit. Man kann, in der Theorie, sowohl alle Tests [...]]]></description>
			<content:encoded><![CDATA[<p>Ich nehm immer gerne die neuste Version einer Software. Vor allem wenn ich diese zum ersten Mal richtig benutze <img src='http://schwobeseggl.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So geschehen mit Eclipse und JUnit. Eclipse nutz ich in Version 3.4.2 und JUnit in 4.3.1. So weit so gut. Eclipse hat jetzt eine wunderbare Integration von JUnit. Man kann, in der Theorie, sowohl alle Tests einer Suite ausführen, oder auch nur einen. Ausser man macht das so wie ich:</p>
<pre>
<pre class="brush: java; title: ; notranslate">public class TestClient {
  public static junit.framework.Test suite() {
    return new JUnit4TestAdapter(RMITestClient.class);
}

  public static void main(String[] args) {
    junit.textui.TestRunner.run(suite());
  }

  @Test
  public void someTest {
    Value value = getSomeAction();
    assertTrue(&quot;should be true&quot;, value);
  }

  @Test
  public void someOtherTest {
    Value value = getSomeAction();
    assertTrue(&quot;should be true&quot;, value);
  }
}</pre>
</pre>
<p>So, wie man sieht, habe ich zwei Tests (mit der @Test-Annotation) und zwei Funktionen die die Abwärtskompatibiliät für JUnit <4.0 geben soll. Irgendwo ausm Internet[tm]. Nunja, mit diesen beiden Abwärtskompatibilitätsfunktionen kann die Eclipse-UI nicht mehr nur einzelne Tests ausführen, sondern führt den einen Test den man markiert aus, und dann den Rest trotzdem. Suboptimal. Deswegen einfach die Funktionen sich schenken, die Abwärtskompatibilität ebenso und dann klappt's auch mit den Nachbarn.</p>
]]></content:encoded>
			<wfw:commentRss>http://schwobeseggl.de/2009/06/02/junit-und-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

