<?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>Java User Group Berlin Brandenburg &#187; Jan Lolling</title>
	<atom:link href="http://www.jug-bb.de/author/jan/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jug-bb.de</link>
	<description>Der Blog der JUG-BB</description>
	<lastBuildDate>Tue, 24 Jan 2012 07:16:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>JDK in Mac OS X Lion</title>
		<link>http://www.jug-bb.de/2011/08/jdk-in-mac-os-x-lion/</link>
		<comments>http://www.jug-bb.de/2011/08/jdk-in-mac-os-x-lion/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 22:06:19 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac Fan Club]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=735</guid>
		<description><![CDATA[Apple hat leider bei Java JDK in Lion ein etwas eigenwilliges Deployment angewendet. Wenn mein sein System von Snow Leopard auf Lion aktualisiert wird man erstmal damit konfrontiert, dass Java verschwunden ist. Man muss es &#8211; am besten aus der DeveloperConnection &#8211; nach installieren. Der neue Ablageort ist: /Library/Java/JavaVirtualMachines/ Darunter liegen aber leider nun keine [...]]]></description>
			<content:encoded><![CDATA[<p>Apple hat leider bei Java JDK in Lion ein etwas eigenwilliges Deployment angewendet. Wenn mein sein System von Snow Leopard auf Lion aktualisiert wird man erstmal damit konfrontiert, dass Java verschwunden ist. Man muss es &#8211; am besten aus der DeveloperConnection &#8211; nach installieren.<br />
Der neue Ablageort ist:<br />
<code>/Library/Java/JavaVirtualMachines/</code><br />
Darunter liegen aber leider nun keine simplen Verzeichnisse mehr sondern bundles. In diese kann man mit normalen Dateiauswahldialogen (z.B. von Eclipse) nicht eintauchen. Bundels sind aber trotzdem nicht wirklich viel mehr als Verzeichnisse mit besonderen Attributen.<br />
Deshalb macht es Sinn &#8211; auch unter dem Aspekt der Kompatibilität symbolische Links zu setzen:<br />
Im Verzeichnis /System/Library/Frameworks/JavaVM.framework legt man einen Link:<br />
<code>sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home/ CurrentJDK</code><br />
Und nun kann man mit in Eclipse dieses verlinkte Verzeichnis auswählen und man hat sein JDK am Start.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2011/08/jdk-in-mac-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JUG Ant Task und SQLRunner haben neues Zuhause</title>
		<link>http://www.jug-bb.de/2011/04/jug-ant-task-und-sqlrunner-haben-neues-zuhause/</link>
		<comments>http://www.jug-bb.de/2011/04/jug-ant-task-und-sqlrunner-haben-neues-zuhause/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 21:03:02 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=654</guid>
		<description><![CDATA[Die ANT Tasks und der SQLRunner sind nun unter dieser URL zu erreichen: http://www.jan-lolling.de/ Alle Komponenten stehen nach wie vor unter der LGPL zur freien Verwendung. Der Code der ANT-Task liegt im download Bereich. Der Code des SQLRunners ist verfügbar auf Github.]]></description>
			<content:encoded><![CDATA[<p>Die ANT Tasks und der SQLRunner sind nun unter dieser URL zu erreichen:<br />
<a href="http://www.jan-lolling.de/" target="new">http://www.jan-lolling.de/</a><br />
Alle Komponenten stehen nach wie vor unter der LGPL zur freien Verwendung.<br />
Der Code der ANT-Task liegt im download Bereich.<br />
Der Code des SQLRunners ist verfügbar auf  <a href="https://github.com/jlolling/SQLRunner" target="new">Github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2011/04/jug-ant-task-und-sqlrunner-haben-neues-zuhause/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Aktualisierung für Mac OS X [update]</title>
		<link>http://www.jug-bb.de/2010/10/java-aktualisierung-fur-mac-os-x/</link>
		<comments>http://www.jug-bb.de/2010/10/java-aktualisierung-fur-mac-os-x/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 21:59:38 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac Fan Club]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=535</guid>
		<description><![CDATA[Seit heute ist die Version 1.6.0_22 für OSX verfügbar. Soweit nichts spektakuläres aber&#8230;. Die API für die Integration von Java Apps in OSX hat sich auch geändert und zeigt deutlich die Vorboten des neuen Betriebssystems Lion (10.7). Insbesondere die neuen Interfaces (alles SubClasses von com.apple.eawt.AppEventListener) zeigen wo es hin geht: AppHiddenListener, AppReOpenedListener, ScreenSleepListener, UserSessionListener, SystemSleepListener [...]]]></description>
			<content:encoded><![CDATA[<p>Seit heute ist die Version 1.6.0_22 für OSX verfügbar. Soweit nichts spektakuläres aber&#8230;.</p>
<p>Die API für die Integration von Java Apps in OSX hat sich auch geändert und zeigt deutlich die Vorboten des neuen Betriebssystems Lion (10.7).</p>
<p>Insbesondere die neuen Interfaces (alles SubClasses von com.apple.eawt.AppEventListener) zeigen wo es hin geht:</p>
<ul>
<li>AppHiddenListener,</li>
<li>AppReOpenedListener,</li>
<li>ScreenSleepListener,</li>
<li>UserSessionListener,</li>
<li>SystemSleepListener</li>
</ul>
<p>sind ganz auf die Bedürfnisse der neuen Funktionen von OSX ausgerichtet und zeigen, dass Apple Java nicht links liegen lässt sondern weiter entwickelt.</p>
<p><strong>[Update] Apple überträgt seinen Java-VM Code und die Komponenten zur Kopplung mit dem OS an das OpenJDK-Projekt. Damit wird sicher gestellt dass diese Komponenten auch zeitnah Aktualisierungen erfahren &#8211; anders als jetzt wo auf OSX doch erheblich später die Updates kamen.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2010/10/java-aktualisierung-fur-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ANT tasks der Java User Group</title>
		<link>http://www.jug-bb.de/2010/06/ant-task-der-java-user-group-bb/</link>
		<comments>http://www.jug-bb.de/2010/06/ant-task-der-java-user-group-bb/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 20:20:21 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java Code Beispiele]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=515</guid>
		<description><![CDATA[Ant ist ein überaus mächtiges Werkzeug für die Automatisierung und Sicherstellung des build-Prozesses in immer gleicher Qualität. Zudem ist es sehr leicht anpassbar und erweiterbar. Hier ein paar Beispiele aus der Java User Group: Task zum Generieren von Java Code für den Zugriff auf Icons Task zum Erstellen eines Java web Start Deployment descriptors (jnlp [...]]]></description>
			<content:encoded><![CDATA[<p>Ant ist ein überaus mächtiges Werkzeug für die Automatisierung und Sicherstellung des build-Prozesses in immer gleicher Qualität. Zudem ist es sehr leicht anpassbar und erweiterbar.<br />
Hier ein paar Beispiele aus der Java User Group:</p>
<ul>
<li><a href="http://web.me.com/jan.lolling/ant/iconCodeGenTask.html" target="_new">Task zum Generieren von Java Code für den Zugriff auf Icons</a></li>
<li><a href="http://web.me.com/jan.lolling/ant/jnlpTask.html" target="_new">Task zum Erstellen eines Java web Start Deployment descriptors (jnlp file)</a></li>
<li><a href="http://web.me.com/jan.lolling/ant/propertyMergeTask.html" target="_new">Task zum Zusammenfuehren von Property files</a></li>
</ul>
<p>Diese Task sind als Binaries und Source code verfügbar und stehen unter der GPL. Da diese Libs nicht in Produkte integriert werden stellt die GPL auch kein Problem für den kommerziellen Einsatz dieser Task dar.</p>
<p>Diese Task sind bereits im produktiven Einsatz in aktuell 3 Projekten (1 Open Source Projekt und 2 Individual Projekte für kommerzielle Zwecke).</p>
<p>Viel Spass beim Ausprobieren.</p>
<p>Wir freuen uns über Anregungen und Kommetare: jan dot lolling at googlemail dot com.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2010/06/ant-task-der-java-user-group-bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDBC Metadaten für Oracle stored procedures</title>
		<link>http://www.jug-bb.de/2010/04/jdbc-metadaten-fur-oracle-stored-procedures/</link>
		<comments>http://www.jug-bb.de/2010/04/jdbc-metadaten-fur-oracle-stored-procedures/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 20:12:48 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java Code Beispiele]]></category>
		<category><![CDATA[Oracle JDBC Meta data]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=479</guid>
		<description><![CDATA[Das Konstrukt der Packages wird durch JDBC nicht wirklich gut unterstützt. JDBC geht leider auch von eindeutigen Namen für functions und procedures aus. Somit hat man ein Problem mit überladenen procedures. Diese unterscheiden sich nicht im Namen sondern in der Anzahl und Typen der Parameter. Der Oracle-JDBC-Treiber gibt alle Informationen raus, es erfordert nur etwas [...]]]></description>
			<content:encoded><![CDATA[<p>Das Konstrukt der Packages wird durch JDBC nicht wirklich gut unterstützt. JDBC geht leider auch von eindeutigen Namen für functions und procedures aus. Somit hat man ein Problem mit überladenen procedures. Diese unterscheiden sich nicht im Namen sondern in der Anzahl und Typen der Parameter.<br />
Der Oracle-JDBC-Treiber gibt alle Informationen raus, es erfordert nur etwas Geschick diese Informationen einzusammeln.<br />
1. Die Name der packages werden als CATALOG ausgegeben.<br />
2. Die Parameter kennen ihren Index. Wenn ein Parameter für scheinbar die selbe procedure erscheint mit dem gleichen Index, dann ist das ein Zeichen für eine überladene procedure.</p>
<p>Der folgende Beispielcode geht davon aus, dass die procedures und functions in speziellen Objekten gehalten werden und die Parameter besitzen auch ihre eigene Transferklasse.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * load procedure and functions
	 * 
	 * @param schema
	 *            object that represent a schema
	 * @return true if everything went well
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> loadProcedures<span style="color: #009900;">&#40;</span>SQLSchema schema<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>logger.<span style="color: #006633;">isDebugEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			logger.<span style="color: #006633;">debug</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;loadProcedures schema=&quot;</span> <span style="color: #339933;">+</span> schema<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #666666; font-style: italic;">// makes this thread save</span>
		inRefreshCycle <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">boolean</span> ok <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">// don' worry about that, we use our own database pool</span>
		<span style="color: #000000; font-weight: bold;">final</span> DatabaseSession session <span style="color: #339933;">=</span> DatabaseSessionPool.<span style="color: #006633;">getDatabaseSession</span><span style="color: #009900;">&#40;</span>cd.<span style="color: #006633;">getUniqueId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>session <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// return if no connection to database avialable</span>
			<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">Connection</span> conn <span style="color: #339933;">=</span> session.<span style="color: #006633;">getConnection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">DatabaseMetaData</span> dbmd <span style="color: #339933;">=</span> conn.<span style="color: #006633;">getMetaData</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			schema.<span style="color: #006633;">clearProcedures</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// remove any previously loaded procedures</span>
			<span style="color: #003399;">ResultSet</span> rs <span style="color: #339933;">=</span> dbmd.<span style="color: #006633;">getProcedures</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>, schema.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rs <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// loading all procedures and functions</span>
				<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>rs.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #666666; font-style: italic;">// PROCEDURE_CAT contains the package name</span>
					<span style="color: #003399;">String</span> catalogName <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PROCEDURE_CAT&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #003399;">String</span> name <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PROCEDURE_NAME&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>catalogName <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> catalogName.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						name <span style="color: #339933;">=</span> catalogName <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;.&quot;</span> <span style="color: #339933;">+</span> name<span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #666666; font-style: italic;">// create an new one</span>
					SQLProcedure procedure <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SQLProcedure<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>, schema,	name<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #666666; font-style: italic;">// decide if it is a function</span>
					<span style="color: #000066; font-weight: bold;">short</span> pType <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getShort</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PROCEDURE_TYPE&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					procedure.<span style="color: #006633;">setFunction</span><span style="color: #009900;">&#40;</span>pType <span style="color: #339933;">==</span> <span style="color: #003399;">DatabaseMetaData</span>.<span style="color: #006633;">procedureReturnsResult</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					schema.<span style="color: #006633;">addProcedure</span><span style="color: #009900;">&#40;</span>procedure<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					objectMap.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span>name, procedure<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				rs.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #666666; font-style: italic;">// loading procedure/function parameters</span>
			rs <span style="color: #339933;">=</span> dbmd.<span style="color: #006633;">getProcedureColumns</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>, schema.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rs <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// an index for overloaded procedures</span>
				<span style="color: #000066; font-weight: bold;">int</span> procedureIndex <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">String</span> prevProcedureName <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;noprocedurehere_xx&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>rs.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #666666; font-style: italic;">// PROCEDURE_CAT contains the package name</span>
					<span style="color: #003399;">String</span> catalogName <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PROCEDURE_CAT&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #003399;">String</span> name <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PROCEDURE_NAME&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>catalogName <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> catalogName.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #666666; font-style: italic;">// add the catalog name as package name</span>
						name <span style="color: #339933;">=</span> catalogName <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;.&quot;</span> <span style="color: #339933;">+</span> name<span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #000066; font-weight: bold;">int</span> pos <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #666666; font-style: italic;">// position of this parameter in the procedure parameter</span>
						<span style="color: #666666; font-style: italic;">// list</span>
						pos <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ORDINAL_POSITION&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #666666; font-style: italic;">// perhaps this column is not defined in every database</span>
						<span style="color: #666666; font-style: italic;">// type</span>
						pos <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>prevProcedureName.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span>name<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pos <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #666666; font-style: italic;">// if we get the same procedure name and a parameter</span>
							<span style="color: #666666; font-style: italic;">// with position zero increase the procedure index</span>
							<span style="color: #666666; font-style: italic;">// that means point to the next procedure with the</span>
							<span style="color: #666666; font-style: italic;">// same name</span>
							procedureIndex<span style="color: #339933;">++;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
						procedureIndex <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #003399;">String</span> columnName <span style="color: #339933;">=</span> rs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COLUMN_NAME&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #003399;">List</span> list <span style="color: #339933;">=</span> schema.<span style="color: #006633;">getProcedures</span><span style="color: #009900;">&#40;</span>name<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					SQLProcedure procedure <span style="color: #339933;">=</span> list.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>procedureIndex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>procedure <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						procedure.<span style="color: #006633;">addParameter</span><span style="color: #009900;">&#40;</span>columnName, <span style="color: #666666; font-style: italic;">// parameter name</span>
								rs.<span style="color: #006633;">getShort</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;DATA_TYPE&quot;</span><span style="color: #009900;">&#41;</span>,  <span style="color: #666666; font-style: italic;">// parameter type as</span>
														   <span style="color: #666666; font-style: italic;">// integer defined</span>
														   <span style="color: #666666; font-style: italic;">// in class</span>
														   <span style="color: #666666; font-style: italic;">// java.sql.Type</span>
								rs.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;TYPE_NAME&quot;</span><span style="color: #009900;">&#41;</span>, <span style="color: #666666; font-style: italic;">// parameter type as</span>
														   <span style="color: #666666; font-style: italic;">// string</span>
								rs.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;LENGTH&quot;</span><span style="color: #009900;">&#41;</span>,    <span style="color: #666666; font-style: italic;">// length of the parameter</span>
														<span style="color: #666666; font-style: italic;">// if parameter is</span>
														<span style="color: #666666; font-style: italic;">// string or number type</span>
								rs.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PRECISION&quot;</span><span style="color: #009900;">&#41;</span>, <span style="color: #666666; font-style: italic;">// precision of the</span>
														<span style="color: #666666; font-style: italic;">// parameter if the</span>
														<span style="color: #666666; font-style: italic;">// parameter is a number</span>
														<span style="color: #666666; font-style: italic;">// type</span>
								rs.<span style="color: #006633;">getShort</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COLUMN_TYPE&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// input or output</span>
														     <span style="color: #666666; font-style: italic;">// parameter as</span>
														     <span style="color: #666666; font-style: italic;">// integer:</span>
															 <span style="color: #666666; font-style: italic;">// refer</span>
															 <span style="color: #666666; font-style: italic;">// DatabaseMetaData.procedureColumnReturn</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #666666; font-style: italic;">// keep the name of the last procedure to detect overloaded</span>
					<span style="color: #666666; font-style: italic;">// procedures</span>
					prevProcedureName <span style="color: #339933;">=</span> name<span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				rs.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			schema.<span style="color: #006633;">setProcedureLoaded</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			ok <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">SQLException</span> sqle<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// creates a error message to show it in GUI</span>
			errorMessage <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;loadProcedures schema=&quot;</span> <span style="color: #339933;">+</span> schema <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; failed: &quot;</span>
					<span style="color: #339933;">+</span> sqle.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// put the session back in the pool</span>
			DatabaseSessionPool.<span style="color: #006633;">release</span><span style="color: #009900;">&#40;</span>session<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		inRefreshCycle <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> ok<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2010/04/jdbc-metadaten-fur-oracle-stored-procedures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10 Beta &#8211; erster Eindruck</title>
		<link>http://www.jug-bb.de/2009/10/ubuntu-9-10-beta-erster-eindruck/</link>
		<comments>http://www.jug-bb.de/2009/10/ubuntu-9-10-beta-erster-eindruck/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:04:12 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=455</guid>
		<description><![CDATA[Ubuntu 9.10 ist als Beta-Version raus. Im Bezug auf Java ist es wie alle Linux-Distribution nicht auf dem neuesten Stand. Java 1.6.0_15 ist ok, Sun hat aber bereits 1.6.0_16 am Start. Die Open-JDK-Installation ist wie fast überall einfach nur Schrott. Ich kann derzeit nicht zu OpenJDK raten. Ich nutze nur die bisherige Sun-Version die noch [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 9.10 ist als Beta-Version raus.<br />
Im Bezug auf Java ist es wie alle Linux-Distribution nicht auf dem neuesten Stand. Java 1.6.0_15 ist ok, Sun hat aber bereits 1.6.0_16 am Start.<br />
Die Open-JDK-Installation ist wie fast überall einfach nur Schrott. Ich kann derzeit nicht zu OpenJDK raten. Ich nutze nur die bisherige Sun-Version die noch nicht OpenSource ist.<br />
Aber auch hier sind kleinere Fehler in der Installation vorhanden. Beispiel ist Java-Web-Start. Der dafür vorgesehen Menüpunkt versucht javaws ohne Parameter aufzurufen, was (leider) seit Java 5 fehlschlägt. javaws braucht um den Manager anzuzeigen den Parameter -viewer. Das lässt sich aber leicht in der entsprechenden .desktop-Datei anpassen und schon funktioniert es.<br />
Ubuntu 9.10 an sich ist sehr angenehm schnell geworden, was vermutlich an der kompletten Umstellung auf den neuen Boot-prozess liegt.<br />
Ich hätte mich gefreut, wenn Java als default-Installation sofort eingerichtet würde (wenigstens die Laufzeitkomponenten) so wie es für Mono gemacht wird. Das Nachinstallieren ist zwar kein Akt, aber für unerfahrene User eben doch eine Hürde. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2009/10/ubuntu-9-10-beta-erster-eindruck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erster Blick auf Snow-Leopard als Java Entwickler</title>
		<link>http://www.jug-bb.de/2009/08/erster-blick-auf-snow-leopard-als-java-entwickler/</link>
		<comments>http://www.jug-bb.de/2009/08/erster-blick-auf-snow-leopard-als-java-entwickler/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 14:21:43 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac Fan Club]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=452</guid>
		<description><![CDATA[Java ist mit der Version 1.6.0_15 integriert. Maven (ja Maven wird mitgeliefert) ist nicht aktuell und hat die Version 2.0.9 ANT liegt auch unverändert in der Version 1.7.0 vor. Eclipse 3.5 und auch Netbeans 6.7 laufen einwandfrei. Soweit alles OK in der Java-Welt für Apple.]]></description>
			<content:encoded><![CDATA[<p>Java ist mit der Version 1.6.0_15 integriert.<br />
Maven (ja Maven wird mitgeliefert) ist nicht aktuell und hat die Version 2.0.9<br />
ANT liegt auch unverändert in der Version 1.7.0 vor.<br />
Eclipse 3.5 und auch Netbeans 6.7 laufen einwandfrei.</p>
<p>Soweit alles OK in der Java-Welt für Apple. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2009/08/erster-blick-auf-snow-leopard-als-java-entwickler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaSE 6 in upcoming Snow-Leopard</title>
		<link>http://www.jug-bb.de/2009/08/javase-6-in-snow-leopard/</link>
		<comments>http://www.jug-bb.de/2009/08/javase-6-in-snow-leopard/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 18:35:00 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac Fan Club]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=446</guid>
		<description><![CDATA[Da Snow-Leopard vor der Tür steht hier noch eine Beruhigung an alle Java+Mac-Fans (wie mich In der WWDC gab es speziell zu Java eine Session: Java 6 on Snow leopard Mann beruhigt mich doch etwas, Apple hat in Sachen Java ja immer eine sehr zögerliche Haltung angenommen. Das liest sich hier erfreulicherweise etwas anders !]]></description>
			<content:encoded><![CDATA[<p>
Da Snow-Leopard vor der Tür steht hier noch eine Beruhigung an alle Java+Mac-Fans (wie mich <img src='http://www.jug-bb.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
In der WWDC gab es speziell zu Java eine Session:<br />
<a href="http://developer.apple.com/wwdc/sessions/#session=405" target="new">Java 6 on Snow leopard</a>
</p>
<p>
Mann beruhigt mich doch etwas, Apple hat in Sachen Java ja immer eine sehr zögerliche Haltung angenommen. Das liest sich hier erfreulicherweise etwas anders !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2009/08/javase-6-in-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Update for Mac OS X</title>
		<link>http://www.jug-bb.de/2009/06/java-update-for-mac-os-x/</link>
		<comments>http://www.jug-bb.de/2009/06/java-update-for-mac-os-x/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 22:16:19 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac Fan Club]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=427</guid>
		<description><![CDATA[Endlich hat Apple ein Einsehen und aktualisiert die Java 6 Installation auf Java 6.0.13 &#8211; also den aktuellen Stand von Java 6. Wieso hat das solange gedauert ? Trotzdem ist es gut.]]></description>
			<content:encoded><![CDATA[<p>Endlich hat Apple ein Einsehen und aktualisiert die Java 6 Installation auf Java 6.0.13 &#8211; also den aktuellen Stand von Java 6.<br />
Wieso hat das solange gedauert ? Trotzdem ist es gut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2009/06/java-update-for-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLRunner aktualisiert und als deb-package</title>
		<link>http://www.jug-bb.de/2009/05/sqlrunner-aktualisiert-und-als-deb-package/</link>
		<comments>http://www.jug-bb.de/2009/05/sqlrunner-aktualisiert-und-als-deb-package/#comments</comments>
		<pubDate>Fri, 22 May 2009 10:04:13 +0000</pubDate>
		<dc:creator>Jan Lolling</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jug-bb.de/?p=422</guid>
		<description><![CDATA[Seit 2007 steht der SQLRunner unter der GPL als Open-Source-Anwendung zur Verfügung. Der SQLRunner ist nun auch als Debian-Package verfügbar. Distributionen für Mac OSX, Linux (Debian/Ubuntu), oder als mit Script zu startende Anwendung (z.B. für Windows und den Rest der Welt) liegen auf SourceForge. Man kann auch gern Java-Web-Start verwenden erreichbar über die Home-Page.]]></description>
			<content:encoded><![CDATA[<p><!--:de-->Seit 2007 steht der SQLRunner unter der GPL als Open-Source-Anwendung zur Verfügung.<br />
Der SQLRunner ist nun auch als Debian-Package verfügbar.<br />
Distributionen für Mac OSX, Linux (Debian/Ubuntu), oder als mit Script zu startende Anwendung (z.B. für Windows und den Rest der Welt) liegen auf<br />
<a href="http://sourceforge.net/projects/jugbbsqlrunner/" target="new">SourceForge</a>.<br />
Man kann auch gern Java-Web-Start verwenden erreichbar über die<br />
<a href="http://web.me.com/jan.lolling/sqlrunner/SQLRunner.html" target="new">Home-Page</a>.<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jug-bb.de/2009/05/sqlrunner-aktualisiert-und-als-deb-package/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

