<?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"
	>

<channel>
	<title>Brass Rat Development</title>
	<atom:link href="http://www.brassratdev.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brassratdev.com/blog</link>
	<description>Busy like beavers</description>
	<pubDate>Mon, 27 Oct 2008 18:52:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Configuring Maven&#8217;s maven-assembly-plugin</title>
		<link>http://www.brassratdev.com/blog/2008/10/27/configuring-mavens-maven-assembly-plugin/</link>
		<comments>http://www.brassratdev.com/blog/2008/10/27/configuring-mavens-maven-assembly-plugin/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 18:43:14 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[jar]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[maven]]></category>

		<category><![CDATA[maven-assembly-plugin]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=15</guid>
		<description><![CDATA[Maven provides an excellent plugin for packaging your application into a binary file called the maven-assembly-plugin.  The latest version is 2.3-beta, and should be used to avoid any issues with missing manifest settings in the pom.xml.  In my case, i needed to create an executable jar file from my eclipse project that is [...]]]></description>
			<content:encoded><![CDATA[<p>Maven provides an excellent plugin for packaging your application into a binary file called the <a href="http://maven.apache.org/plugins/maven-assembly-plugin/">maven-assembly-plugin</a>.  The latest version is 2.3-beta, and should be used to avoid <a href="http://jira.codehaus.org/browse/MASSEMBLY-358">any issues with missing manifest settings in the pom.xml</a>.  In my case, i needed to create an executable jar file from my eclipse project that is manage by <a href="http://www.brassratdev.com/wordpress/wp-admin/m2eclipse.codehaus.org">m2eclipse</a></p>
<p>To use the <code>maven-assemlby-plugin</code> to create a jar, your <code>pom.xml</code> file should look like so.  Note that i&#8217;ve commented out the <code>&lt;descriptorRef&gt;</code> element because I am defining a <em>descriptor file</em> that the plugin will reference using the more versatile <code>&lt;descriptors&gt;</code> element.  The <code>assembly-descriptor.xml</code> file it needs to understand how to execute my desired <strong>jar-with-dependencies</strong> task is referenced as <code>&lt;descriptor&gt;</code> child element:</p>
<p><code>&lt;plugin&gt;<br />
				&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;<br />
				&lt;artifactId&gt;maven-assembly-plugin&lt;/artifactId&gt;<br />
				&lt;version&gt;2.2-beta-3-SNAPSHOT&lt;/version&gt;<br />
				&lt;configuration&gt;<br />
					<!-- <descriptorRefs><br />
						<descriptorRef><br />
							jar-with-dependencies<br />
						</descriptorRef><br />
					</descriptorRefs><br />
					--><br />
					&lt;descriptors&gt;<br />
						&lt;descriptor&gt;/assembly-descriptor.xml&lt;/descriptor&gt;<br />
					&lt;/descriptors&gt;<br />
					&lt;archive&gt;<br />
						&lt;manifest&gt;<br />
							&lt;addClasspath&gt;false&lt;/addClasspath&gt;<br />
							&lt;mainClass&gt;<br />
								com.voyager.VCATApplication<br />
							&lt;/mainClass&gt;<br />
						&lt;/manifest&gt;<br />
						&lt;manifestEntries&gt;<br />
							&lt;mode&gt;development&lt;/mode&gt;<br />
							&lt;SplashScreen-Image&gt;<br />
								vcat-splash.jpg<br />
							&lt;/SplashScreen-Image&gt;<br />
						&lt;/manifestEntries&gt;<br />
					&lt;/archive&gt;<br />
				&lt;/configuration&gt;<br />
			&lt;/plugin&gt;</code></p>
<p>I then create the <em>assembly descriptor file</em>, placing it in the root path (<code>/vcat</code>) alongside the <code>pom.xml</code>.  As long as you provide the correct path in the <code>&lt;descriptor&gt;</code> element, the plugin will find the descriptor file and use the settings defined in it.  Since i wanted to exclude certain files in the final jar, i have to use the <code>&lt;directory&gt;</code> element to define the directory in which my <code>&lt;fileSet&gt;</code> will be valid.  In this case, the files i want to exclude reside in the <code>target/classes</code> directory, and i want to exclude specifically certain some <code>.properties</code> files, which i name explicitly using the <code>&lt;exclude&gt;</code> element, and then <em>all </em> <code>.sql, .csv</code> files using wildcard characters.  Note that this syntax will exclude the files defined in the <code>/target/classes</code> file from being output to the root path of the jar, which is what i want - i explicitly tell this to the plugin using the <code>&lt;outputDirectory&gt;</code> element with the root path (<code>/</code>) as the argument.  </p>
<p><code>&lt;assembly&gt;<br />
	&lt;id&gt;jar-with-dependencies&lt;/id&gt;<br />
	&lt;formats&gt;<br />
		&lt;format&gt;jar&lt;/format&gt;<br />
	&lt;/formats&gt;<br />
	&lt;includeBaseDirectory&gt;false&lt;/includeBaseDirectory&gt;<br />
	&lt;fileSets&gt;<br />
		&lt;fileSet&gt;<br />
			&lt;directory&gt;/target/classes&lt;/directory&gt;<br />
			&lt;outputDirectory&gt;/&lt;/outputDirectory&gt;<br />
			&lt;excludes&gt;<br />
				&lt;exclude&gt;encryptable.properties&lt;/exclude&gt;<br />
				&lt;exclude&gt;hibernate.properties&lt;/exclude&gt;<br />
				&lt;exclude&gt;hibernate.cfg.xml&lt;/exclude&gt;<br />
				&lt;exclude&gt;market-data-securities.properties&lt;/exclude&gt;<br />
				&lt;exclude&gt;*.csv&lt;/exclude&gt;<br />
				&lt;exclude&gt;*.sql&lt;/exclude&gt;<br />
			&lt;/excludes&gt;<br />
		&lt;/fileSet&gt;<br />
	&lt;/fileSets&gt;<br />
	&lt;dependencySets&gt;<br />
		&lt;dependencySet&gt;<br />
			&lt;outputDirectory&gt;/&lt;/outputDirectory&gt;<br />
			&lt;unpack&gt;true&lt;/unpack&gt;<br />
			&lt;scope&gt;runtime&lt;/scope&gt;<br />
		&lt;/dependencySet&gt;<br />
	&lt;/dependencySets&gt;<br />
&lt;/assembly&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/10/27/configuring-mavens-maven-assembly-plugin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eclipse XML editor</title>
		<link>http://www.brassratdev.com/blog/2008/06/26/eclipse-xml-editor/</link>
		<comments>http://www.brassratdev.com/blog/2008/06/26/eclipse-xml-editor/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 16:34:54 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[spring]]></category>

		<category><![CDATA[wtp]]></category>

		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=11</guid>
		<description><![CDATA[The default Eclipse XML editor is quite useful, especially its ability to import schemas and then strongly type an XML file&#8230;
I&#8217;ve also installed the Rinzo XML editor, which has great auto-completion assist for DTD, but i was unable to see the same capability using a schema, when i switched my Spring configuration over from DTD [...]]]></description>
			<content:encoded><![CDATA[<p>The default <a href="http://eclipse.org">Eclipse </a>XML editor is quite useful, especially its ability to import schemas and then strongly type an XML file&#8230;</p>
<p>I&#8217;ve also installed the <a href="http://editorxml.sourceforge.net/features.html">Rinzo XML editor</a>, which has great auto-completion assist for DTD, but i was unable to see the same capability using a schema, when i <a href="http://static.springframework.org/spring/docs/2.0.x/reference/xsd-config.html">switched my Spring configuration over from DTD to XSD</a></p>
<p>Hear that the <a href="http://www.eclipse.org/webtools/">Web Tools Platform&#8217;s</a> XML editor is the shizzle&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/06/26/eclipse-xml-editor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spring - Original must not be null</title>
		<link>http://www.brassratdev.com/blog/2008/06/26/spring-original-must-not-be-null/</link>
		<comments>http://www.brassratdev.com/blog/2008/06/26/spring-original-must-not-be-null/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 16:22:41 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=10</guid>
		<description><![CDATA[Was getting this during the Bean init of Spring:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name...nested exception is
java.lang.IllegalArgumentException: Original must not be null
so, this post in the Spring forum describes the issue when using &#8220;fluent interface&#8221;, which is not supported by the JavaBean spec.  I was getting the problem because i was missing a setter.  Lesson: [...]]]></description>
			<content:encoded><![CDATA[<p>Was getting this during the Bean init of Spring:</p>
<pre>org.springframework.beans.factory.BeanCreationException:
Error creating bean with name...nested exception is
java.lang.IllegalArgumentException: Original must not be null</pre>
<p>so, <a href="http://forum.springframework.org/showthread.php?t=54791">this post in the Spring forum</a> describes the issue when using &#8220;fluent interface&#8221;, which is not supported by the JavaBean spec.  I was getting the problem because i was missing a setter.  Lesson: always make sure your properties have their setter/getters, otherwise Spring will toss this exception en route to wiring your beans&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/06/26/spring-original-must-not-be-null/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JXStatusBar</title>
		<link>http://www.brassratdev.com/blog/2008/06/26/jxstatusbar/</link>
		<comments>http://www.brassratdev.com/blog/2008/06/26/jxstatusbar/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 16:18:18 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[gui]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[swinglabs]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=9</guid>
		<description><![CDATA[Using JFormDesigner to design a GUI, and am interested in the JXStatusBar, from SwingX offered by Swinglabs&#8230;this article discusses its use, and shortfalls.  nifty component.  seems limited&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Using JFormDesigner to design a GUI, and am interested in the JXStatusBar, from <a href="https://swingx.dev.java.net/">SwingX </a>offered by <a href="http://swinglabs.org/">Swinglabs</a>&#8230;<a href="http://www.javalobby.org/java/forums/t18979.html">this </a>article discusses its use, and shortfalls.  nifty component.  seems limited&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/06/26/jxstatusbar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Java 5 Enums as Keys in a Map or in a List with Spring</title>
		<link>http://www.brassratdev.com/blog/2008/06/26/using-java-5-enums-as-keys-in-a-map-or-in-a-list-with-spring/</link>
		<comments>http://www.brassratdev.com/blog/2008/06/26/using-java-5-enums-as-keys-in-a-map-or-in-a-list-with-spring/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 17:00:44 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[enum]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=12</guid>
		<description><![CDATA[Here&#8217;s the list of references i&#8217;ve found relating to this topic:
Use Enums as Map keys
Injecting Enums with Spring
talking about Java 5 Enums and Spring
Excellent example for Enums with Spring
My solution can be seen in the following snippets.  What we&#8217;re doing is using Spring to inject values into a Java Generics Map, paramaterized by an [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the list of references i&#8217;ve found relating to this topic:</p>
<li><a href="http://forum.springframework.org/showthread.php?t=30296">Use Enums as Map keys</a>
<li><a href="http://deepthoughts.orsomethinglikethat.com/2006/10/19/13/">Injecting Enums with Spring</a>
<li><a href="http://www.jroller.com/kdonald/">talking about Java 5 Enums and Spring</a>
<li><a href="http://nonrational.org/b/?tag=enum-spring-collection-injection-java">Excellent example for Enums with Spring</a>
<p>My solution can be seen in the following snippets.  What we&#8217;re doing is using Spring to inject values into a Java Generics Map, paramaterized by an <code>Enum</code> as the key; the Map&#8217;s value points at a generified strategy class, <code>Calculation&lt;T&gt;</code>:</p>
<p>I&#8217;ve created a class, <code>ViewCalculationMap</code>, which is a <code>LinkedHashMap</code> wrapper.  The Map property that we&#8217;ll populate with Spring, <code>calculations</code>, is defined in the following snippet:</p>
<pre>
<code>public class ViewCalculationMap {
	LinkedHashMap&lt;ViewProperty,Calculation&lt;TabularViewModel&gt;&gt; calculations;
	public ViewCalculationMap(){}
...
}
public enum ViewProperty {
	Sector("Sector"),
	Weighting("Weighting"),
	Amount("Amount"),
	Return("Expected Return"),
	Appreciation("Capital Appreciation"),
	AfterTax("After Tax"),
	CategoryWeighting("Category Weighting");

	String description;
	ViewProperty(String description){
		this.description = description;
	}

	public String toString(){
		return this.description;
	}
}</code>
</pre>
<p>and this is configured in Spring like so, noting that the <code>key</code> values are the Enum literals from the <code>ViewProperty</code> Enum.  This shortcut works because the Map we&#8217;re populating is a Java Generics Map, so we know the type of the key at compile-time.</p>
<pre>
<code>&lt;bean id="viewCalculationsMap" class="com.voyager.util.ViewCalculationMap"&gt;
		&lt;property name="calculations"&gt;
			&lt;map&gt;
				&lt;entry key="Weighting" value-ref="calcSectorWeighting"/&gt;
				&lt;entry key="Amount" value-ref="calcAmount"/&gt;
				&lt;entry key="Return" value-ref="calcExpectedReturn"/&gt;
				&lt;entry key="Appreciation" value-ref="calcCapitalAppreciation"/&gt;
				&lt;entry key="AfterTax" value-ref="calcAfterTax"/&gt;
				&lt;entry key="CategoryWeighting" value-ref="calcCategoryWeighting"/&gt;
			&lt;/map&gt;
		&lt;/property&gt;
	&lt;/bean&gt;</code>
</pre>
<p>I also use a List of Enums in my application.  These Enums are of type <code>AssetCategory</code>, which has a similar definition as the <code>ViewProperty</code> Enum defined above.  The question is: how to configure Spring to place the Enum values in a list.  This can be accomplished using the <code>&lt;util:list&gt;</code> schema, defined in the <a href="http://www.springframework.org/schema/util/spring-util-2.0.xsd">Spring 2.5 xsd uri</a></p>
<pre>
<code>&lt;util:list id="securityAssetCategories" list-class="java.util.ArrayList"&gt;
		&lt;util:constant static-field="com.voyager.model.AssetCategory.Cash"/&gt;
		&lt;util:constant static-field="com.voyager.model.AssetCategory.FixedIncome"/&gt;
		&lt;util:constant static-field="com.voyager.model.AssetCategory.HedgeFund"/&gt;
	&lt;/util:list&gt;</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/06/26/using-java-5-enums-as-keys-in-a-map-or-in-a-list-with-spring/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Generate *.hbm.xml files from Annotated Java POJOs</title>
		<link>http://www.brassratdev.com/blog/2008/05/22/generate-hbmxml-files-from-annotated-java-pojos/</link>
		<comments>http://www.brassratdev.com/blog/2008/05/22/generate-hbmxml-files-from-annotated-java-pojos/#comments</comments>
		<pubDate>Fri, 23 May 2008 01:39:53 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[annotations]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[hibernate]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=8</guid>
		<description><![CDATA[Maven, Eclipse, Hibernate and Annotations&#8230;

Despite my earlier thinking, you don&#8217;t use the HibernateTools, rather what you want to do (if your project is configured with Maven) is use the Maven plugin for Hibernate3


If you&#8217;re using Ant, then this guide is what you want to follow.

For Maven, I&#8217;m using the org.codehaus.mojo plugin, hibernate3-maven-plugin, to reverse engineer [...]]]></description>
			<content:encoded><![CDATA[<p>Maven, Eclipse, Hibernate and Annotations&#8230;</p>
<ul>
<li>Despite my earlier thinking, you don&#8217;t use the HibernateTools, rather what you want to do (if your project is configured with Maven) is use the <a href="http://mojo.codehaus.org/maven-hibernate3/hibernate3-maven-plugin/index.html">Maven plugin for Hibernate3</a></li>
</ul>
<ul>
<li>If you&#8217;re using Ant, then this <a href="http://www.hibernate.org/hib_docs/tools/reference/en/html_single/#ant">guide</a> is what you want to follow.</li>
</ul>
<p style="text-align: left;">For Maven, I&#8217;m using the <em>org.codehaus.mojo</em> plugin, <em>hibernate3-maven-plugin</em>, to reverse engineer POJOs into <em>hbm.xml</em> files, and to also generate schema files for my MySQL 5.x db.  I setup the plugin with the following configuration block, which lives within the <em>pom.xml</em>:</p>
<blockquote>
<pre>&lt;project&gt;</pre>
<pre>...</pre>
<pre>&lt;build&gt;</pre>
<pre>&lt;plugins&gt;</pre>
<pre>&lt;plugin&gt;</pre>
<pre>&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;</pre>
<pre>&lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;</pre>
<pre>&lt;version&gt;2.0.2&lt;/version&gt;</pre>
<pre>&lt;configuration&gt;</pre>
<pre>&lt;source&gt;1.6&lt;/source&gt;</pre>
<pre>&lt;target&gt;1.6&lt;/target&gt;</pre>
<pre>&lt;/configuration&gt;</pre>
<pre>&lt;/plugin&gt;</pre>
<pre>&lt;plugin&gt;</pre>
<pre>&lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;</pre>
<pre>&lt;artifactId&gt;hibernate3-maven-plugin&lt;/artifactId&gt;</pre>
<pre>&lt;version&gt;2.1&lt;/version&gt;</pre>
<pre>&lt;extensions&gt;true&lt;/extensions&gt;</pre>
<pre>&lt;configuration&gt;</pre>
<pre>&lt;components&gt;</pre>
<pre>&lt;component&gt;</pre>
<pre>&lt;name&gt;hbm2ddl&lt;/name&gt;</pre>
<pre>&lt;outputDirectory&gt;src/main/resources&lt;/outputDirectory&gt;</pre>
<pre>&lt;implementation&gt;annotationconfiguration&lt;/implementation&gt;</pre>
<pre>&lt;/component&gt;</pre>
<pre>&lt;/components&gt;</pre>
<pre>&lt;componentProperties&gt;</pre>
<pre>&lt;configurationfile&gt;/src/main/resources/hibernate.cfg.xml&lt;/configurationfile&gt;</pre>
<pre>&lt;outputfilename&gt;schema.sql&lt;/outputfilename&gt;</pre>
<pre>&lt;propertyfile&gt;/src/main/resources/hibernate.properties&lt;/propertyfile&gt;</pre>
<pre>&lt;jdk5&gt;true&lt;/jdk5&gt;</pre>
<pre>&lt;export&gt;true&lt;/export&gt;</pre>
<pre>&lt;drop&gt;true&lt;/drop&gt;</pre>
<pre>&lt;/componentProperties&gt;</pre>
<pre>&lt;/configuration&gt;</pre>
<pre>&lt;dependencies&gt;</pre>
<pre>&lt;!-- Necessary to be able to connect to db --&gt;</pre>
<pre>&lt;dependency&gt;</pre>
<pre>&lt;groupId&gt;mysql&lt;/groupId&gt;</pre>
<pre>&lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;</pre>
<pre>&lt;version&gt;5.1.6&lt;/version&gt;</pre>
<pre>&lt;/dependency&gt;</pre>
<pre>&lt;/dependencies&gt;</pre>
<pre>&lt;/plugin&gt;</pre>
<pre>&lt;/plugins&gt;</pre>
<pre>&lt;extensions&gt;</pre>
<pre>&lt;extension&gt;</pre>
<pre>&lt;groupId&gt;mysql&lt;/groupId&gt;</pre>
<pre>&lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;</pre>
<pre>&lt;version&gt;5.1.6&lt;/version&gt;</pre>
<pre>&lt;/extension&gt;</pre>
<pre>&lt;/extensions&gt;</pre>
<pre>&lt;/build&gt;</pre>
<pre>...</pre>
<pre>&lt;/project&gt;</pre>
</blockquote>
<p style="text-align: left;">Search the Ant documentation to figure out what the different properties that are accepted by the different components, <strong>&lt;hbm2ddl&gt;, &lt;hbm2hbmxml&gt;</strong><em> </em> Also look [<a href="http://mojo.codehaus.org/maven-hibernate3/hibernate3-maven-plugin/componentproperties.html">here</a>] to see the various componentproperty settings for the components; these are settings that will be passed to each component</p>
<p>You <strong>must add the following</strong> to the <em>hibernate.cfg.xml</em> file in order to get the plugin to search your classpath for POJOs that it will infer the schema from:</p>
<blockquote><p>&lt;mapping class=&#8221;com.voyager.model.Asset&#8221;/&gt;<br />
&lt;mapping class=&#8221;com.voyager.model.AssetHolding&#8221;/&gt;</p></blockquote>
<p>And if you want this to be able to generate <strong>and </strong>export the schema to the db, you <strong>have to include a &lt;dependency&gt;</strong> section within the <strong>&lt;plugin/&gt;</strong> element!!!!  I found that out [<a href="http://famvdploeg.com/blog/?p=20">here</a>].  Otherwise, you will get this gem:</p>
<blockquote><p>java.sql.SQLException: No suitable driver found for jdbc:</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/05/22/generate-hbmxml-files-from-annotated-java-pojos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bloomberg Market Data Feeds</title>
		<link>http://www.brassratdev.com/blog/2008/05/13/bloomberg-market-data-feeds/</link>
		<comments>http://www.brassratdev.com/blog/2008/05/13/bloomberg-market-data-feeds/#comments</comments>
		<pubDate>Tue, 13 May 2008 23:00:34 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[bloomberg]]></category>

		<category><![CDATA[finance]]></category>

		<category><![CDATA[market data feeds]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=7</guid>
		<description><![CDATA[Scarce info exists on the web about accessing market data feeds of securities data through Bloomberg&#8230;However, it is possible!!!  See the synopsis of the following products.  Naturally, they are quite private about their data access methods, and they have strict guidelines about using the data, accessing it, etc&#8230; oh, and their fees are [...]]]></description>
			<content:encoded><![CDATA[<p>Scarce info exists on the web about accessing market data feeds of securities data through Bloomberg&#8230;However, it is possible!!!  See the synopsis of the following products.  Naturally, they are quite private about their data access methods, and they have strict guidelines about using the data, accessing it, etc&#8230; oh, and their fees are not designed at the typical developer:</p>
<ul>
<li><strong>Desktop API</strong> - this api is available for interacting with Bloomberg data while logged on at your Bloomberg Terminal.  There is a C, COM, and .NET api.  Primarily used for getting data into Excel, or apps that reside on the Terminal</li>
<li><strong>Data License</strong> - this api is more general and allows you to connect to a Bloomberg data feed server from anywhere.  you are given an ftp login and can then send requests to the server.  the server populates a delimited ascii file and sends it back to you.  it is your responsibility to parse this data.  not cheap in comparison to market feeds like <a href="http://www.opentick.com/index.php?app=content&amp;event=market_data" target="_blank">opentick</a> and <a href="http://www.dtniq.com/template.cfm?navgroup=trynowlist&amp;urlcode=21&amp;view=1">IQFeed</a></li>
<li><strong>Server API</strong> - this api wraps the Desktop API so that you can present services offered by the Bloomberg Terminal to any clients in your workplace.  Must be logged on to the Bloomberg Terminal for authentication.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/05/13/bloomberg-market-data-feeds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Market Data Feed APIs</title>
		<link>http://www.brassratdev.com/blog/2008/05/09/market-data-feed-apis/</link>
		<comments>http://www.brassratdev.com/blog/2008/05/09/market-data-feed-apis/#comments</comments>
		<pubDate>Fri, 09 May 2008 19:57:24 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[finance]]></category>

		<category><![CDATA[market data feeds]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=6</guid>
		<description><![CDATA[    


Tool
Language
Pros
Cons
 Price 


opentick
Java
open-source
api is a good data model
access to numerous Exchanges
cheap
includes access to Level I,II, NYSE, OPRA, AMEX, CBOT, ECN

$435


DTN NxCore






Reuters
Java/C++
SIAC,   NASDAQ, OPRA, NYSE OpenBook, NYSE ARCA ECN, NASDAQ Market Makers, INET ECN   and others
might   be too much



Strike Iron
Web Service
AMEX,   NYSE, NASDAQ
end-of-day  [...]]]></description>
			<content:encoded><![CDATA[<table style="border-collapse: collapse; height: 444px;" border="0" cellspacing="0" cellpadding="5" width="538"><col style="width: 65pt;" width="86"></col> <col style="width: 60pt;" width="80"></col> <col style="width: 119pt;" width="158"></col> <col style="width: 101pt;" width="135"></col> <col style="width: 64pt;" width="85"></col></p>
<tbody>
<tr style="height: 12.75pt;" height="17">
<td class="xl38" style="height: 12.75pt; width: 65pt;" width="86" height="17"><strong>Tool</strong></td>
<td class="xl24" style="border-left: medium none; width: 60pt;" width="80"><strong>Language</strong></td>
<td class="xl25" style="border-left: medium none; width: 119pt;" width="158"><strong>Pros</strong></td>
<td class="xl25" style="border-left: medium none; width: 101pt;" width="135"><strong>Cons</strong></td>
<td class="xl30" style="border-left: medium none; width: 64pt;" width="85"><strong><span> </span>Price<span> </span></strong></td>
</tr>
<tr style="height: 102pt;" height="136">
<td class="xl39" style="border-top: medium none; height: 102pt; width: 65pt;" width="86" height="136"><a href="http://www.opentick.com/index.php?app=content&amp;event=market_data">opentick</a></td>
<td class="xl28" style="border-top: medium none; border-left: medium none;">Java</td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158">open-source<br />
api is a good data model<br />
access to numerous Exchanges<br />
cheap<br />
includes access to Level I,II, NYSE, OPRA, AMEX, CBOT, ECN</td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135"></td>
<td class="xl41" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85">$435</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl40" style="border-top: medium none; height: 12.75pt; width: 65pt;" width="86" height="17"><a href="http://www.dtn.com/trading.cfm?sidenav=sn_trading&amp;content=pr_nxcore">DTN NxCore</a></td>
<td class="xl29" style="border-top: medium none; border-left: medium none;"></td>
<td class="xl36" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158"></td>
<td class="xl36" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135"></td>
<td class="xl42" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"></td>
</tr>
<tr style="height: 63.75pt;" height="85">
<td class="xl39" style="border-top: medium none; height: 63.75pt; width: 65pt;" width="86" height="85"><a href="https://customers.reuters.com/developer/apis_tech.aspx">Reuters</a></td>
<td class="xl28" style="border-top: medium none; border-left: medium none;">Java/C++</td>
<td class="xl37" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158">SIAC,   NASDAQ, OPRA, NYSE OpenBook, NYSE ARCA ECN, NASDAQ Market Makers, INET ECN   and others</td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">might   be too much</td>
<td class="xl43" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"></td>
</tr>
<tr style="height: 25.5pt;" height="34">
<td class="xl40" style="border-top: medium none; height: 25.5pt; width: 65pt;" width="86" height="34"><a href="http://www.strikeiron.com/ProductDetail.aspx?p=113">Strike Iron</a></td>
<td class="xl29" style="border-top: medium none; border-left: medium none;">Web Service</td>
<td class="xl27" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158">AMEX,   NYSE, NASDAQ</td>
<td class="xl27" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">end-of-day   pricing on equities</td>
<td class="xl44" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"><span> </span>$1439-$4319<span> </span></td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl39" style="border-top: medium none; height: 12.75pt; width: 65pt;" width="86" height="17">Bloomberg</td>
<td class="xl28" style="border-top: medium none; border-left: medium none;">C++/COM</td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158"></td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">not   java-ready?</td>
<td class="xl43" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"></td>
</tr>
<tr style="height: 38.25pt;" height="51">
<td class="xl40" style="border-top: medium none; height: 38.25pt; width: 65pt;" width="86" height="51"><a href="http://www.brassratdev.com/wordpress/wp-admin/www.quotemedia.com/data_feeds/datafeed_software.php">Feed Relay</a></td>
<td class="xl29" style="border-top: medium none; border-left: medium none;"></td>
<td class="xl27" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158">real-time<br />
persistence-layer option</td>
<td class="xl27" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">seems   very high end</td>
<td class="xl44" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"></td>
</tr>
<tr style="height: 25.5pt;" height="34">
<td class="xl39" style="border-top: medium none; height: 25.5pt; width: 65pt;" width="86" height="34"><a href="http://www.dtniq.com/template.cfm?navgroup=trynowlist&amp;urlcode=21&amp;view=1">IQFeed</a></td>
<td class="xl28" style="border-top: medium none; border-left: medium none;">C++/Java</td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158">api   available</td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">max   500 symbols simultaneous update</td>
<td class="xl41" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85">$700</td>
</tr>
<tr style="height: 25.5pt;" height="34">
<td class="xl40" style="border-top: medium none; height: 25.5pt; width: 65pt;" width="86" height="34">JForex FIX API</td>
<td class="xl29" style="border-top: medium none; border-left: medium none;">Java</td>
<td class="xl27" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158"></td>
<td class="xl27" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">only   access to Swiss Forex Marketplace</td>
<td class="xl44" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"><span> </span>$100 dev fee<span> </span></td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl39" style="border-top: medium none; height: 12.75pt; width: 65pt;" width="86" height="17"><a href="http://www.interactivedata-rts.com/xpressfeed.shtml">PlusFeed</a></td>
<td class="xl28" style="border-top: medium none; border-left: medium none;"></td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 119pt;" width="158"></td>
<td class="xl26" style="border-top: medium none; border-left: medium none; width: 101pt;" width="135">institutional</td>
<td class="xl43" style="border-top: medium none; border-left: medium none; width: 64pt;" width="85"></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/05/09/market-data-feed-apis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Financial Data Acquisition</title>
		<link>http://www.brassratdev.com/blog/2008/05/08/financial-data-acquisition/</link>
		<comments>http://www.brassratdev.com/blog/2008/05/08/financial-data-acquisition/#comments</comments>
		<pubDate>Thu, 08 May 2008 23:38:04 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[coding]]></category>

		<category><![CDATA[finance]]></category>

		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/blog/?p=5</guid>
		<description><![CDATA[
Yahoo!

Java Developer Center
Yahoo! Web Services REST requests using Java
but there&#8217;s NO WAY to get financial quotes, only rss feeds about companies!  crap


Google

Google Finance API Intro
Financial Gadgets - JavaScript only :-(




This guy knows about different data feeds and supporting them
Gissing seems to have data feed handlers for BBG, but it looks like their system is [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Yahoo!
<ul>
<li><a class="external text" title="http://developer.yahoo.com/java/" rel="nofollow" href="http://developer.yahoo.com/java/">Java Developer Center</a></li>
<li><a class="external text" title="http://developer.yahoo.com/java/howto-reqRestJava.html" rel="nofollow" href="http://developer.yahoo.com/java/howto-reqRestJava.html">Yahoo! Web Services REST requests using Java</a></li>
<li>but there&#8217;s NO WAY to get financial quotes, only rss feeds about companies!  crap</li>
</ul>
</li>
<li>Google
<ul>
<li><a class="external text" title="http://googlified.com/introducing-the-google-finance-api/" rel="nofollow" href="http://googlified.com/introducing-the-google-finance-api/">Google Finance API Intro</a></li>
<li><a class="external text" title="http://code.google.com/apis/gadgets/docs/finance.html" rel="nofollow" href="http://code.google.com/apis/gadgets/docs/finance.html">Financial Gadgets</a> - JavaScript only :-(</li>
</ul>
</li>
</ul>
<ul style="text-align: justify;">
<li>This <a class="external text" title="http://www.jpassoc.co.uk/Datafeeds.htm" rel="nofollow" href="http://www.jpassoc.co.uk/Datafeeds.htm">guy</a> knows about different data feeds and supporting them</li>
<li><a class="external text" title="http://www.gissing.com/" rel="nofollow" href="http://www.gissing.com/">Gissing</a> seems to have data feed handlers for BBG, but it looks like their system is way too powerful? - you have to use their <a class="external text" title="http://www.gissing.com/contex-mcs.htm" rel="nofollow" href="http://www.gissing.com/contex-mcs.htm">ConteX</a> product
<ul>
<li><a class="external text" title="http://www.gissing.com/news/news-2007-09-ctxhandlers.htm" rel="nofollow" href="http://www.gissing.com/news/news-2007-09-ctxhandlers.htm">ConteX Supported Handlers</a></li>
</ul>
</li>
<li><a class="external text" title="http://interactivebrokers.com" rel="nofollow" href="http://interactivebrokers.com/">Interactive Brokers</a> offers the IBGateway for FIX CTCI connections to IB over the Internet
<ul>
<li>see <a class="external autonumber" title="http://institutions.interactivebrokers.com/en/p.php?f=programInterface&amp;ib_entity=inst" rel="nofollow" href="http://institutions.interactivebrokers.com/en/p.php?f=programInterface&amp;ib_entity=inst">[1]</a></li>
<li>They also make the <a class="external text" title="http://en.wikipedia.org/wiki/Trader_Workstation" rel="nofollow" href="http://en.wikipedia.org/wiki/Trader_Workstation">Java Trader Workstation</a></li>
<li>Fees for real-time streaming market data <a class="external text" title="http://institutions.interactivebrokers.com/en/accounts/fees/marketData.php?ib_entity=inst" rel="nofollow" href="http://institutions.interactivebrokers.com/en/accounts/fees/marketData.php?ib_entity=inst">here</a></li>
<li><a class="external text" title="http://institutions.interactivebrokers.com/en/p.php?f=exchanges&amp;ib_entity=inst" rel="nofollow" href="http://institutions.interactivebrokers.com/en/p.php?f=exchanges&amp;ib_entity=inst">List</a> of Exchanges</li>
</ul>
</li>
<li>seems like <a title="opentick" href="http://www.opentick.com/" target="_blank">opentick</a> is a cheap, open-source means of getting
<ul>
<li><a href="http://www.opentick.com/index.php?app=content&amp;event=product_details&amp;PHPSESSID=q6itkvj8cl2gfaimo5naq2r4m0">Level 1, Level 2, OPRA, AMEX, NYSE, etc</a></li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/05/08/financial-data-acquisition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Up and Runnin</title>
		<link>http://www.brassratdev.com/blog/2008/05/07/up-and-runnin/</link>
		<comments>http://www.brassratdev.com/blog/2008/05/07/up-and-runnin/#comments</comments>
		<pubDate>Wed, 07 May 2008 18:25:48 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brassratdev.com/wordpress/?p=4</guid>
		<description><![CDATA[yeehaw, i gots me a wiki, blog, and soon a software development lifecycle manager thingie&#8230;sweet
]]></description>
			<content:encoded><![CDATA[<p>yeehaw, i gots me a wiki, blog, and soon a software development lifecycle manager thingie&#8230;sweet</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brassratdev.com/blog/2008/05/07/up-and-runnin/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

