<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-23465071</id><updated>2012-02-16T10:35:26.455+01:00</updated><category term='remotefs'/><category term='jnetwalk'/><category term='nb-svuid-generator'/><category term='java'/><category term='personal'/><category term='dictionary'/><category term='photoalbum'/><category term='xdxf'/><category term='CLIENT'/><category term='fun'/><category term='WEBSERVICE'/><category term='native2ascii'/><category term='utility'/><category term='netbeans'/><title type='text'>hlavki's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default?start-index=26&amp;max-results=25'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23465071.post-160012175473690786</id><published>2011-12-12T10:15:00.005+01:00</published><updated>2011-12-12T10:19:32.802+01:00</updated><title type='text'>Cisco vpn client on OpenSuse 12.1</title><content type='html'>&lt;pre name="code" class="brush: bash"&gt;wget http://hlavki.eu/download/vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz&lt;br /&gt;tar -xvzf ./vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz&lt;br /&gt;cd ./vpnclient&lt;br /&gt;&lt;br /&gt;wget http://www.fseitz.de/download/vpnclient.patch-2.6.38&lt;br /&gt;wget https://nowhere.dk/files/vpnclient_linux3.0.diff&lt;br /&gt;&lt;br /&gt;patch &lt; vpnclient.patch-2.6.38&lt;br /&gt;patch &lt; vpnclient_linux3.0.diff&lt;br /&gt;&lt;br /&gt;./vpn_install&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-160012175473690786?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/160012175473690786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=160012175473690786' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/160012175473690786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/160012175473690786'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2011/12/cisco-vpn-client-on-opensuse-121.html' title='Cisco vpn client on OpenSuse 12.1'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-6979778692385344138</id><published>2011-01-19T09:52:00.001+01:00</published><updated>2011-11-14T01:29:09.291+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Guttenberghaus na Dachstein</title><content type='html'>&lt;a href="http://www.snowmagazin.sk/2011/01/ked-prsi-treba-sliapat-vyssie-skialp-v-ramsau/"&gt;Cely článok si môžeš prečítať tu.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-6979778692385344138?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/6979778692385344138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/6979778692385344138'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2011/01/guttenberghaus-na-dachstein.html' title='Guttenberghaus na Dachstein'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-1902865770361324534</id><published>2010-05-18T22:42:00.002+02:00</published><updated>2010-05-18T22:44:59.647+02:00</updated><title type='text'>v1.9.6 serialVersionUID generator for dev build of netbeans 6.9 released</title><content type='html'>Changelog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;no changes!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Download &lt;a href="http://kenai.com/projects/nb-svuid-generator/downloads/directory/nbms/nb6.9-dev"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-1902865770361324534?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/1902865770361324534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=1902865770361324534' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/1902865770361324534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/1902865770361324534'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2010/05/v196-serialversionuid-generator-for-dev.html' title='v1.9.6 serialVersionUID generator for dev build of netbeans 6.9 released'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-5271323517571270573</id><published>2009-12-13T15:15:00.004+01:00</published><updated>2009-12-13T15:25:59.976+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WEBSERVICE'/><category scheme='http://www.blogger.com/atom/ns#' term='CLIENT'/><title type='text'>Consume Web Service client in EJB</title><content type='html'>See &lt;a href="http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/twbs_devwbsjaxwsclient.html"&gt;this article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;pre class="brush: java;"/&gt;&lt;br /&gt;@Stateless(mappedName = "ejb/eisAccountingService")&lt;br /&gt;public class EisAccountingServiceBean implements EisAccountingServiceLocal, EisAccountingServiceRemote {&lt;br /&gt;&lt;br /&gt;    @WebServiceRef(name = "DipexExImServiceSoap", value = DipexExImService.class)&lt;br /&gt;    private DipexExImServiceSoap wsService;&lt;br /&gt;&lt;br /&gt;    public void addReceiptCard(ReceiptCard receiptCard) {&lt;br /&gt;        MaterialPrijemka mr = new MaterialPrijemka();&lt;br /&gt;        // set mr here&lt;br /&gt;        wsService.materialPrijem(mr);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-5271323517571270573?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/5271323517571270573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=5271323517571270573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/5271323517571270573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/5271323517571270573'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/12/consume-web-service-client-in-ejb.html' title='Consume Web Service client in EJB'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-2755473104612019236</id><published>2009-11-06T00:46:00.001+01:00</published><updated>2009-11-06T00:48:10.455+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Fuckin' pig flu</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_ET801K7GnrI/SvNkMEijvYI/AAAAAAAAA-0/uXG3Oh_IA-o/s1600-h/pig-flu.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://1.bp.blogspot.com/_ET801K7GnrI/SvNkMEijvYI/AAAAAAAAA-0/uXG3Oh_IA-o/s400/pig-flu.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5400770536687254914" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-2755473104612019236?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/2755473104612019236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=2755473104612019236' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/2755473104612019236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/2755473104612019236'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/11/fuckin-pig-flu.html' title='Fuckin&apos; pig flu'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET801K7GnrI/SvNkMEijvYI/AAAAAAAAA-0/uXG3Oh_IA-o/s72-c/pig-flu.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-970566468424532569</id><published>2009-10-26T00:24:00.003+01:00</published><updated>2009-10-26T00:27:17.295+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>v1.9.6 serialVersionUID generator for netbeans 6.7 &amp; 6.8 released</title><content type='html'>Changelog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;fixed &lt;a href="http://kenai.com/jira/browse/NB_SVUID_GENERATOR-6"&gt;NB_SVUID_GENERATOR-6&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Download &lt;a href="http://kenai.com/projects/nb-svuid-generator/downloads/directory/nbms/nb6.7"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-970566468424532569?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/970566468424532569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=970566468424532569' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/970566468424532569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/970566468424532569'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/10/v196-serialversionuid-generator-for.html' title='v1.9.6 serialVersionUID generator for netbeans 6.7 &amp; 6.8 released'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-8209770118580220784</id><published>2009-10-26T00:04:00.002+01:00</published><updated>2009-10-26T00:06:08.490+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='native2ascii'/><title type='text'>Update of plugins for netbeans 6.8 is not needed</title><content type='html'>You can download and install plug-ins in netbeans 6.8 built for netbeans 6.7&lt;br /&gt;&lt;a href="http://kenai.com/projects/nb-svuid-generator/downloads/directory/nbms%252Fnb6.7"&gt;Serial version UID generator&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kenai.com/projects/nb-native2ascii/downloads/directory/nbms%252F6.7"&gt;Native2ASCII&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-8209770118580220784?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/8209770118580220784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=8209770118580220784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8209770118580220784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8209770118580220784'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/10/update-of-plugins-for-netbeans-68-is.html' title='Update of plugins for netbeans 6.8 is not needed'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-8495766033171384668</id><published>2009-10-15T00:10:00.009+02:00</published><updated>2009-12-13T15:26:57.288+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='utility'/><title type='text'>How to simply write bean objects to String</title><content type='html'>This utility provide ability to write objects to string. Example says everything:&lt;br /&gt;&lt;pre class="brush: java;"/&gt;&lt;br /&gt;public class Person {&lt;br /&gt;&lt;br /&gt;    private PersonName name;&lt;br /&gt;    private Integer age;&lt;br /&gt;&lt;br /&gt;    public static class PersonName {&lt;br /&gt;&lt;br /&gt;        private String firstName;&lt;br /&gt;        private String lastName;&lt;br /&gt;&lt;br /&gt;        public PersonName(String firstName, String lastName) {&lt;br /&gt;            this.firstName = firstName;&lt;br /&gt;            this.lastName = lastName;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public String getFirstName() {&lt;br /&gt;            return firstName;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void setFirstName(String firstName) {&lt;br /&gt;            this.firstName = firstName;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public String getLastName() {&lt;br /&gt;            return lastName;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void setLastName(String lastName) {&lt;br /&gt;            this.lastName = lastName;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Person(PersonName name, Integer age) {&lt;br /&gt;        this.name = name;&lt;br /&gt;        this.age = age;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Integer getAge() {&lt;br /&gt;        return age;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setAge(Integer age) {&lt;br /&gt;        this.age = age;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public PersonName getName() {&lt;br /&gt;        return name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setName(PersonName name) {&lt;br /&gt;        this.name = name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public String toString() {&lt;br /&gt;        return StringUtils.objectToString("person", this);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then we call:&lt;br /&gt;&lt;pre class="brush: java;"/&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        System.out.println(new Person(new PersonName("Astar", "Sheran"), 2009));&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and output is:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;person.age = 2009&lt;br /&gt;person.name = new Person$PersonName()&lt;br /&gt;person.name.firstName = Astar&lt;br /&gt;person.name.lastName = Sheran&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Utility implementation:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java;"/&gt;&lt;br /&gt;import java.beans.BeanInfo;&lt;br /&gt;import java.beans.Introspector;&lt;br /&gt;import java.beans.PropertyDescriptor;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.Collection;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.logging.Level;&lt;br /&gt;import java.util.logging.Logger;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author Michal Hlavac&lt;br /&gt; */&lt;br /&gt;public class StringUtils {&lt;br /&gt;&lt;br /&gt;    private static final Logger log = Logger.getLogger(StringUtils.class.getName());&lt;br /&gt;&lt;br /&gt;    private static final void toString(String alias, Object obj, StringBuffer sb, List&amp;lt;Object&amp;gt; objects) {&lt;br /&gt;        if (obj == null) {&lt;br /&gt;            return;&lt;br /&gt;        }&lt;br /&gt;        if (objects.contains(obj)) {&lt;br /&gt;            return;&lt;br /&gt;        }&lt;br /&gt;        objects.add(obj);&lt;br /&gt;        try {&lt;br /&gt;            BeanInfo info = Introspector.getBeanInfo(obj.getClass());&lt;br /&gt;            PropertyDescriptor[] descriptors = info.getPropertyDescriptors();&lt;br /&gt;            for (int i = 0; i &amp;lt; descriptors.length; i++) {&lt;br /&gt;                PropertyDescriptor descriptor = descriptors[i];&lt;br /&gt;                if (descriptor.getReadMethod().getDeclaringClass().equals(Object.class)) {&lt;br /&gt;                    log.fine(&amp;quot;property defined on Object class: skipping: &amp;quot; + descriptor.getName());&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                Object value = null;&lt;br /&gt;                try {&lt;br /&gt;                    value = descriptor.getReadMethod().invoke(obj, (Object[]) null);&lt;br /&gt;                } catch (Throwable ex) {&lt;br /&gt;                    log.fine(&amp;quot;Can't read value of attribute &amp;quot; + obj.getClass().getName() + &amp;quot;.&amp;quot; + descriptor.getName());&lt;br /&gt;                }&lt;br /&gt;                if (value == null) {&lt;br /&gt;                    log.fine(&amp;quot;property value is null: skipping: &amp;quot; + descriptor.getName());&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                Class&amp;lt;?&amp;gt; returnType = descriptor.getReadMethod().getReturnType();&lt;br /&gt;                if (!returnType.isPrimitive() &amp;amp;&amp;amp; !returnType.isArray() &amp;amp;&amp;amp; !returnType.getName().startsWith(&amp;quot;java.&amp;quot;) &amp;amp;&amp;amp;&lt;br /&gt;                        !returnType.isEnum()) {&lt;br /&gt;                    log.fine(&amp;quot;property is unknown type or not primitive [&amp;quot; + returnType.getName() + &amp;quot;]&amp;quot;);&lt;br /&gt;                    String simpleName = value.getClass().getName().substring(returnType.getName().lastIndexOf('.') + 1);&lt;br /&gt;                    sb.append(alias).append(&amp;quot;.&amp;quot;).append(descriptor.getName()).append(&amp;quot; = new &amp;quot;).append(simpleName).append(&amp;quot;()\n&amp;quot;);&lt;br /&gt;                    toString(alias + &amp;quot;.&amp;quot; + descriptor.getName(), value, sb, objects);&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                if (value instanceof java.util.Collection&amp;lt;?&amp;gt;) {&lt;br /&gt;                    try {&lt;br /&gt;                        Iterator&amp;lt;?&amp;gt; iter = ((Collection&amp;lt;?&amp;gt;)  value).iterator();                        int num = 0;&lt;br /&gt;                        while (iter.hasNext()) {&lt;br /&gt;                            Object item = iter.next();&lt;br /&gt;                            toString(alias + &amp;quot;.&amp;quot; + descriptor.getName() + &amp;quot;[&amp;quot; + num + &amp;quot;]&amp;quot;, item, sb, objects);&lt;br /&gt;                            num++;&lt;br /&gt;                        }&lt;br /&gt;                    } catch (Throwable t) {&lt;br /&gt;                        log.fine(&amp;quot;Can't read value of attribute: &amp;quot; + alias + &amp;quot;.&amp;quot; + descriptor.getName());&lt;br /&gt;                    }&lt;br /&gt;                    continue;&lt;br /&gt;                } else if (value.getClass().isArray()) {&lt;br /&gt;                    try {&lt;br /&gt;                        Object[] valueArray = (Object[]) value;&lt;br /&gt;                        for (int idx = 0; idx &amp;lt; valueArray.length; idx++) {&lt;br /&gt;                            toString(alias + &amp;quot;.&amp;quot; + descriptor.getName() + &amp;quot;[&amp;quot; + idx + &amp;quot;]&amp;quot;, valueArray[idx], sb, objects);&lt;br /&gt;                        }&lt;br /&gt;                    } catch (Throwable t) {&lt;br /&gt;                        log.fine(&amp;quot;Can't read value of attribute: &amp;quot; + alias + &amp;quot;.&amp;quot; + descriptor.getName());&lt;br /&gt;                    }&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                sb.append(alias).append(&amp;quot;.&amp;quot;).append(descriptor.getName()).append(&amp;quot; = &amp;quot;).append(value.toString()).append('\n');&lt;br /&gt;            }&lt;br /&gt;        } catch (Exception e) {&lt;br /&gt;            log.log(Level.SEVERE, &amp;quot;hql example criterion building error&amp;quot;, e);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static final String objectToString(String alias, Object obj) {&lt;br /&gt;        StringBuffer buff = new StringBuffer();&lt;br /&gt;        toString(alias, obj, buff, new ArrayList&amp;lt;Object&amp;gt;());&lt;br /&gt;        return buff.toString();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static final String collectionToString(String alias, Collection&amp;lt;?&amp;gt; collection) {&lt;br /&gt;        StringBuffer buff = new StringBuffer();&lt;br /&gt;        int idx = 0;&lt;br /&gt;        for (Object obj : collection) {&lt;br /&gt;            toString(alias + &amp;quot;[&amp;quot; + idx++ + &amp;quot;]&amp;quot;, obj, buff, new ArrayList&amp;lt;Object&amp;gt;());&lt;br /&gt;        }&lt;br /&gt;        return buff.toString();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static final String toStringLine(Object obj) {&lt;br /&gt;        if (obj == null) {&lt;br /&gt;            return &amp;quot;&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        String clazz = obj.getClass().getName();&lt;br /&gt;        String simpleClazz = clazz.substring(clazz.lastIndexOf('.') + 1);&lt;br /&gt;        StringBuffer sb = new StringBuffer(simpleClazz).append(&amp;quot;[&amp;quot;);&lt;br /&gt;        try {&lt;br /&gt;            BeanInfo info = Introspector.getBeanInfo(obj.getClass());&lt;br /&gt;            PropertyDescriptor[] descriptors = info.getPropertyDescriptors();&lt;br /&gt;            for (int i = 0; i &amp;lt; descriptors.length; i++) {&lt;br /&gt;                PropertyDescriptor descriptor = descriptors[i];&lt;br /&gt;                if (descriptor.getPropertyType() == null &amp;#124;&amp;#124;&lt;br /&gt;                        Collection.class.isAssignableFrom(descriptor.getPropertyType())) {&lt;br /&gt;                    log.fine(&amp;quot;collection handling not supported: skipping property: &amp;quot; + descriptor.getName());&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                if (descriptor.getReadMethod().getDeclaringClass().equals(Object.class)) {&lt;br /&gt;                    log.fine(&amp;quot;property defined on Object class: skipping: &amp;quot; + descriptor.getName());&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                Object value = descriptor.getReadMethod().invoke(obj, (Object[]) null);&lt;br /&gt;                if (value == null) {&lt;br /&gt;                    log.fine(&amp;quot;property value is null: skipping: &amp;quot; + descriptor.getName());&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                Class&amp;lt;?&amp;gt; returnType = descriptor.getReadMethod().getReturnType();&lt;br /&gt;                if (!returnType.isPrimitive() &amp;amp;&amp;amp; !returnType.getName().startsWith(&amp;quot;java.&amp;quot;) &amp;amp;&amp;amp; !returnType.isEnum()) {&lt;br /&gt;                    log.fine(&amp;quot;property is unknown type or not primitive [&amp;quot; + returnType.getName() + &amp;quot;]&amp;quot;);&lt;br /&gt;                    continue;&lt;br /&gt;                }&lt;br /&gt;                sb.append(descriptor.getName()).append(&amp;quot; = &amp;quot;).append(value).append(&amp;quot; &amp;#124; &amp;quot;);&lt;br /&gt;            }&lt;br /&gt;        } catch (Exception e) {&lt;br /&gt;            log.log(Level.SEVERE, &amp;quot;hql example criterion building error&amp;quot;, e);&lt;br /&gt;            return null;&lt;br /&gt;        }&lt;br /&gt;        sb.append(&amp;quot;]&amp;quot;);&lt;br /&gt;        return sb.toString();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-8495766033171384668?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/8495766033171384668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=8495766033171384668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8495766033171384668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8495766033171384668'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/10/how-to-simply-write-object-to-string.html' title='How to simply write bean objects to String'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-5316736787332507151</id><published>2009-08-11T15:45:00.002+02:00</published><updated>2009-08-11T15:47:14.530+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='native2ascii'/><title type='text'>Native2Ascii plugin for netbeans 6.7</title><content type='html'>You can download version for netbeans 6.7 from &lt;a href="http://kenai.com/projects/nb-native2ascii/downloads/directory/nbms/6.7"&gt;kenai page&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-5316736787332507151?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/5316736787332507151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=5316736787332507151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/5316736787332507151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/5316736787332507151'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/08/native2ascii-plugin-for-netbeans-67.html' title='Native2Ascii plugin for netbeans 6.7'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-6126943234243469527</id><published>2009-08-08T19:40:00.017+02:00</published><updated>2009-12-13T15:27:47.866+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='xdxf'/><title type='text'>XDXF Parser Library &amp; Maven</title><content type='html'>Now you can use latest snapshot of xdxf parser library in maven projects. You need to add new repository and dependency to library.&lt;br /&gt;1. Add repository&lt;br /&gt;&lt;pre class="brush: xml;"/&gt;&lt;br /&gt;&amp;lt;repositories&amp;gt;&lt;br /&gt;  &amp;lt;repository&amp;gt;&lt;br /&gt;      &amp;lt;id&amp;gt;xdxf-snapshots&amp;lt;/id&amp;gt;&lt;br /&gt;      &amp;lt;name&amp;gt;XDXF Snapshots&amp;lt;/name&amp;gt;&lt;br /&gt;      &amp;lt;layout&amp;gt;default&amp;lt;/layout&amp;gt;&lt;br /&gt;      &amp;lt;url&amp;gt;https://mvn.datalan.sk/artifactory/libs-releases-snapshots/&amp;lt;/url&amp;gt;&lt;br /&gt;      &amp;lt;snapshots&amp;gt;&lt;br /&gt;          &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;      &amp;lt;/snapshots&amp;gt;&lt;br /&gt;  &amp;lt;/repository&amp;gt;&lt;br /&gt;&amp;lt;/repositories&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. Add dependency&lt;br /&gt;&lt;pre class="brush: xml;"/&gt;&lt;br /&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;  &amp;lt;groupid&amp;gt;eu.hlavki.xdxf&amp;lt;/groupid&amp;gt;&lt;br /&gt;  &amp;lt;artifactid&amp;gt;xdxf-parser&amp;lt;/artifactid&amp;gt;&lt;br /&gt;  &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-6126943234243469527?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/6126943234243469527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=6126943234243469527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/6126943234243469527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/6126943234243469527'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/08/xdxf-parser-library-maven.html' title='XDXF Parser Library &amp; Maven'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-8069565000715745963</id><published>2009-08-08T19:22:00.007+02:00</published><updated>2009-08-08T19:27:05.804+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>v1.9.5 serialVersionUID generator for netbeans 6.7 released</title><content type='html'>Changelog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;fixed &lt;a href="http://kenai.com/jira/browse/NB_SVUID_GENERATOR-3"&gt;NB_SVUID_GENERATOR-3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;fixed &lt;a href="http://kenai.com/jira/browse/NB_SVUID_GENERATOR-4"&gt;NB_SVUID_GENERATOR-4&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Download &lt;a href="http://kenai.com/projects/nb-svuid-generator/downloads/directory/nbms/nb6.7"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-8069565000715745963?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/8069565000715745963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=8069565000715745963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8069565000715745963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8069565000715745963'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/08/v195-serialversionuid-generator-for.html' title='v1.9.5 serialVersionUID generator for netbeans 6.7 released'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-8510039113709079046</id><published>2009-06-15T16:32:00.017+02:00</published><updated>2009-12-13T15:30:15.463+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='xdxf'/><title type='text'>XDXF Parser library</title><content type='html'>I created small library to parse dictionaries stored in &lt;a href="http://en.wikipedia.org/wiki/XDXF"&gt;XDXF&lt;/a&gt; format. API is event based and you can listen to events (dictionary, article) while parser is parsing.&lt;br /&gt;Whole dictiary is not loaded to memory by default, so you can parse large dictionary with small memory footprint. Project is hosted on &lt;a href="http://kenai.com/projects/xdxf-parser"&gt;kenai.com&lt;/a&gt;. Binary packages will be available soon, but source code is available in &lt;a href="http://kenai.com/projects/xdxf-parser/sources/mercurial/show"&gt;kenai browser&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;API usage example:&lt;br /&gt;&lt;pre class="brush: java;"/&gt;&lt;br /&gt;import eu.hlavki.xdxf.parser.DefaultXDXFParser;&lt;br /&gt;import eu.hlavki.xdxf.parser.ParseException;&lt;br /&gt;import eu.hlavki.xdxf.parser.XDXFParser;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStream;&lt;br /&gt;&lt;br /&gt;public class Sample {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        InputStream in = null;&lt;br /&gt;        try {&lt;br /&gt;            XDXFParser parser = new DefaultXDXFParser();&lt;br /&gt;            DictionaryListener listener = new DictionaryListener();&lt;br /&gt;            parser.addXDXFEventListener(listener);&lt;br /&gt;            in = Sample.class.getResourceAsStream("/test-dict.xdxf");&lt;br /&gt;            long startTime = System.currentTimeMillis();&lt;br /&gt;            parser.parse(in);&lt;br /&gt;            long endTime = System.currentTimeMillis();&lt;br /&gt;            System.out.println("Dictionary: " + listener.getDictionary());&lt;br /&gt;            System.out.println("Word Count: " + listener.getArticleCount());&lt;br /&gt;            System.out.println("Parse time: " + (endTime - startTime) + " ms");&lt;br /&gt;        } catch (ParseException e) {&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        } finally {&lt;br /&gt;            try {&lt;br /&gt;                if (in != null) in.close();&lt;br /&gt;            } catch (IOException e) {&lt;br /&gt;                // should never happened&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Listener sample code:&lt;br /&gt;&lt;pre class="brush: java;"/&gt;&lt;br /&gt;import eu.hlavki.xdxf.parser.event.XDXFArticleEvent;&lt;br /&gt;import eu.hlavki.xdxf.parser.event.XDXFDictionaryEvent;&lt;br /&gt;import eu.hlavki.xdxf.parser.event.XDXFEventListener;&lt;br /&gt;import eu.hlavki.xdxf.parser.model.XDXFDictionary;&lt;br /&gt;&lt;br /&gt;public class DictionaryListener implements XDXFEventListener {&lt;br /&gt;&lt;br /&gt;    private int articleCount = 0;&lt;br /&gt;    private XDXFDictionary dictionary;&lt;br /&gt;&lt;br /&gt;    public void onDictionary(XDXFDictionaryEvent evt) {&lt;br /&gt;        this.dictionary = evt.getSource();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void onDictionaryChange(XDXFDictionaryEvent evt) {&lt;br /&gt;        this.dictionary = evt.getSource();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void onArticle(XDXFArticleEvent evt) {&lt;br /&gt;        articleCount++;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public int getArticleCount() {&lt;br /&gt;        return articleCount;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public XDXFDictionary getDictionary() {&lt;br /&gt;        return dictionary;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-8510039113709079046?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/8510039113709079046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=8510039113709079046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8510039113709079046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8510039113709079046'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/06/xdxf-parser-library.html' title='XDXF Parser library'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-8111683538530254735</id><published>2009-05-15T09:25:00.005+02:00</published><updated>2009-06-04T15:43:47.605+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>v1.9.4 serialVersionUID generator for netbeans 6.7 released</title><content type='html'>Changelog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;project moved to &lt;a href="http://kenai.com/projects/nb-svuid-generator"&gt;Kenai&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;changes to work with Netbeans 6.7&lt;/li&gt;   &lt;li&gt;fixes in svuid generator&lt;/li&gt;&lt;li&gt;new SuppressWarning("serial") hint&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Download from &lt;a href="http://kenai.com/projects/nb-svuid-generator/downloads/directory/nbms"&gt;plugin site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-8111683538530254735?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/8111683538530254735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=8111683538530254735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8111683538530254735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8111683538530254735'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/05/v194-serialversionuid-generator-for.html' title='v1.9.4 serialVersionUID generator for netbeans 6.7 released'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-7973228964917789797</id><published>2009-02-21T23:22:00.016+01:00</published><updated>2009-02-24T20:00:26.282+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='native2ascii'/><title type='text'>Native2Ascii plugin for netbeans 6.5</title><content type='html'>After some time of finding myself I am back... 2 days ago my friend and colleague ask me if I know about netbeans feature to convert native characters to ASCII. Same as native2ascii command line but integrated in netbeans editor. Quick answer in my mind: There has to be some plugin, so &lt;a href="http://www.utfg.net/"&gt;UTFG&lt;/a&gt;... After googling by myself I found only &lt;a href="https://native2ascii.dev.java.net/"&gt;this one&lt;/a&gt;. It looks well, but there is no integration with netbeans editor.&lt;br /&gt;So what I did? I wrote plug-in according to my vision. I know it's not good approach to use native characters in java source at all. Better idea is using properties bundles. But sometimes it's OK, when you want to write some small piece of code which is used only by yourself.&lt;br /&gt;Some screenshots:&lt;br /&gt;&lt;br /&gt;1. You can use java editor hint:&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ET801K7GnrI/SaCDsVI-ZEI/AAAAAAAAAKM/_9xuQP2QUos/s1600-h/native2ascii1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 84px;" src="http://2.bp.blogspot.com/_ET801K7GnrI/SaCDsVI-ZEI/AAAAAAAAAKM/_9xuQP2QUos/s320/native2ascii1.png" alt="" id="BLOGGER_PHOTO_ID_5305385158654714946" border="0" /&gt; &lt;/a&gt;&lt;br /&gt;&lt;/div&gt;2. Or just press CTRL+SHIFT+A or right mouse click on selected text:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ET801K7GnrI/SaCDza_D-bI/AAAAAAAAAKU/wfFiqnj-adQ/s1600-h/native2ascii3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 155px;" src="http://3.bp.blogspot.com/_ET801K7GnrI/SaCDza_D-bI/AAAAAAAAAKU/wfFiqnj-adQ/s320/native2ascii3.png" alt="" id="BLOGGER_PHOTO_ID_5305385280482834866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3. and result is:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ET801K7GnrI/SaCD8w3qZOI/AAAAAAAAAKc/Lfk7pOQDpLI/s1600-h/native2ascii2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 46px;" src="http://4.bp.blogspot.com/_ET801K7GnrI/SaCD8w3qZOI/AAAAAAAAAKc/Lfk7pOQDpLI/s320/native2ascii2.png" alt="" id="BLOGGER_PHOTO_ID_5305385440976200930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can download this plugin &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=16254"&gt;here&lt;/a&gt;. Sources can be found in &lt;a href="http://kenai.com/projects/nb-native2ascii"&gt;project site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-7973228964917789797?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/7973228964917789797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=7973228964917789797' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/7973228964917789797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/7973228964917789797'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/02/native2ascii-plug-in-for-netbeans-65.html' title='Native2Ascii plugin for netbeans 6.5'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET801K7GnrI/SaCDsVI-ZEI/AAAAAAAAAKM/_9xuQP2QUos/s72-c/native2ascii1.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-4898651480122771108</id><published>2009-02-06T22:27:00.005+01:00</published><updated>2009-02-22T08:30:33.013+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='photoalbum'/><title type='text'>Dolomity Super Skiing weekend</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos.hlavki.eu/dolomiti09"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos.hlavki.eu/dolomiti09/thumbs/IMG_0582.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Exhausting 6 days skiing marathon in &lt;a href="http://www.dolomitisuperski.com/"&gt;Dolomiti SuperSki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-4898651480122771108?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/4898651480122771108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=4898651480122771108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/4898651480122771108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/4898651480122771108'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2009/02/dolomity-super-skiing-weekend.html' title='Dolomity Super Skiing weekend'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-4774517023113107836</id><published>2008-12-30T11:24:00.006+01:00</published><updated>2008-12-30T15:12:17.046+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remotefs'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>New RemoteFS project site</title><content type='html'>Because I receive some comments on my blog about remotefs plug-in, I decided to create google project where you can create issues about this plug-in. So when you find some bug or feature request, please create issue on project site.&lt;br /&gt;&lt;br /&gt;Link for project is:&lt;br /&gt;&lt;a href="http://code.google.com/p/nb-remotefs"&gt;http://code.google.com/p/nb-remotefs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Issues list:&lt;br /&gt;&lt;a href="http://code.google.com/p/nb-remotefs/issues/list"&gt;http://code.google.com/p/nb-remotefs/issues/list&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-4774517023113107836?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/4774517023113107836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=4774517023113107836' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/4774517023113107836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/4774517023113107836'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/12/new-project-site.html' title='New RemoteFS project site'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-2007865469594505993</id><published>2008-10-30T22:56:00.004+01:00</published><updated>2008-10-30T23:01:21.762+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>serialVersionUID generator for netbeans 6.5 released</title><content type='html'>Changelog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;API changes to work with Netbeans 6.5&lt;/li&gt;   &lt;li&gt;works with JFrame and JPanel in Matisse since issue &lt;a href="http://www.netbeans.org/issues/show_bug.cgi?id=140653"&gt;#140653&lt;/a&gt; fixed&lt;/li&gt;&lt;/ul&gt;Download from &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=13974"&gt;plugin site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-2007865469594505993?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/2007865469594505993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=2007865469594505993' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/2007865469594505993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/2007865469594505993'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/10/serialversionuid-generator-for-netbeans.html' title='serialVersionUID generator for netbeans 6.5 released'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-8781821763644504567</id><published>2008-09-27T22:21:00.003+02:00</published><updated>2008-09-27T22:25:38.394+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='photoalbum'/><title type='text'>Rohace in latest summer days 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos.hlavki.eu/rohace08"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos.hlavki.eu/rohace08/thumbs/IMG_0444.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Trip to West Tatras during nice weekend in village &lt;a href="http://maps.google.com/maps?f=q&amp;hl=sk&amp;geocode=&amp;q=velicna,+slovakia&amp;ie=UTF8&amp;ll=49.224773,19.2453&amp;spn=0.205387,0.4422&amp;z=11&amp;iwloc=addr"&gt;Veličná&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-8781821763644504567?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/8781821763644504567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=8781821763644504567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8781821763644504567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/8781821763644504567'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/09/rohace-in-latest-summer-days-2008.html' title='Rohace in latest summer days 2008'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-1814097974534875492</id><published>2008-09-08T23:27:00.006+02:00</published><updated>2008-09-09T21:12:33.292+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remotefs'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>I am a netbeans fan, so what...</title><content type='html'>Time ago I read some blogs about ftp support for php projects in netbeans. I was thinking... Why ftp only? Where's support for SFTP and other protocols? It should be great to have an abstract API for remote file systems and lot of implementations for other protocols. So I started to look into netbeans sources. I found &lt;a href="http://hg.netbeans.org/main/contrib/file/tip/remotefs"&gt;remotefs&lt;/a&gt; project in contrib repository. I was thinking: "it's great to see this. Netbeans for PHP must use this". So I started implementation of SFTP protocol. When I was in half of my work I looked into sources of netbeans php modules.&lt;br /&gt;And what I discover? It uses own implementation of FTP protocol. Hmmm, so what now???&lt;br /&gt;&lt;br /&gt;Because my primary targer was php module, I didn't know why should I continue write this plug-in.  So I decided to rewrite remotefs API and it's implementation to more abstract level because it looks like it's tightly coupled with FTP protocol implementation.&lt;br /&gt;&lt;br /&gt;Now I am releasing first alpha quality release. Maybe this is good starting point for integration of this plug-in into existing netbeans features...&lt;br /&gt;&lt;br /&gt;You can download it &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=13195"&gt;here&lt;/a&gt;.&lt;br /&gt;If you are interested in sources are available via &lt;a href="http://www.hlavki.eu/hg/remotefs"&gt;mercurial repository&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PS: These modules uses same namespace (package) as mentioned project remotefs in main/contrib. So don't install this modules when you already have it installed.&lt;br /&gt;&lt;br /&gt;Screenshots:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ET801K7GnrI/SMbKMAG4i4I/AAAAAAAAAGI/KFKD-4Wj6cw/s1600-h/remotefs2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ET801K7GnrI/SMbKMAG4i4I/AAAAAAAAAGI/KFKD-4Wj6cw/s320/remotefs2.png" alt="" id="BLOGGER_PHOTO_ID_5244101123655633794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://plugins.netbeans.org/nbpluginportal/files/images/1220982228486_remotefs.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://plugins.netbeans.org/nbpluginportal/files/images/1220982228486_remotefs.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-1814097974534875492?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/1814097974534875492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=1814097974534875492' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/1814097974534875492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/1814097974534875492'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/09/i-am-netbeans-fan-so-what.html' title='I am a netbeans fan, so what...'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET801K7GnrI/SMbKMAG4i4I/AAAAAAAAAGI/KFKD-4Wj6cw/s72-c/remotefs2.png' height='72' width='72'/><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-7554120194059936251</id><published>2008-08-21T15:03:00.006+02:00</published><updated>2008-09-09T20:53:48.958+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Aliens Exist</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos.hlavki.eu/alien08"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos.hlavki.eu/alien08/alien-thumb.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This alien was seen near Banska Stiavnica. Look at its brilliant body...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-7554120194059936251?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/7554120194059936251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=7554120194059936251' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/7554120194059936251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/7554120194059936251'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/08/aliens-exist.html' title='Aliens Exist'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-1368379082411475642</id><published>2008-07-13T14:58:00.004+02:00</published><updated>2008-07-13T15:17:39.493+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='photoalbum'/><title type='text'>Holiday in Slovenia and Croatia</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos.hlavki.eu/holiday08"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos.hlavki.eu/holiday08/thumbs/IMG_0270.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This year holiday was trip including hiking in Julian Alps (Slovenia) and sea in Croatia. Enjoy &lt;a href="http://photos.hlavki.eu/holiday08"&gt;photos&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-1368379082411475642?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/1368379082411475642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=1368379082411475642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/1368379082411475642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/1368379082411475642'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/07/holiday-in-slovenia-and-croatia.html' title='Holiday in Slovenia and Croatia'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-6310602104613556768</id><published>2008-07-13T14:54:00.003+02:00</published><updated>2008-07-13T15:08:51.099+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>serialVersionUID generator for netbeans v1.5 released</title><content type='html'>Changelog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  hint configuration was moved to "general" group&lt;br /&gt;&lt;/li&gt;&lt;li&gt;refactoring in Descriptor class&lt;/li&gt;&lt;li&gt;support for SuppressWarrning("serial") annotation&lt;br /&gt;&lt;/li&gt;&lt;li&gt;abstract classes are excluded from generator and hint&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Download from &lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=6887"&gt;plugin site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-6310602104613556768?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/6310602104613556768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=6310602104613556768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/6310602104613556768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/6310602104613556768'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/07/serialversionuid-generator-for-netbeans.html' title='serialVersionUID generator for netbeans v1.5 released'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-740136056960043521</id><published>2008-05-28T23:36:00.003+02:00</published><updated>2008-07-13T14:53:54.578+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>SerialVersionUID generator v1.9 for Netbeans 6.5 nightly builds</title><content type='html'>As I &lt;a href="http://hlavki.blogspot.com/2008/05/serialversionuid-generator-v13-for.html"&gt; mentioned&lt;/a&gt; generator v1.3 is not compatible with api changes in 6.5 dev builds. So I created serialVersionUID generator v1.9 that supports 6.5 nightly builds... You can download nbm &lt;a href="http://hlavki.eu/download/svuid-generator/eu-easyedu-netbeans-svuid-1.9.nbm"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-740136056960043521?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/740136056960043521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=740136056960043521' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/740136056960043521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/740136056960043521'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/05/serialversionuid-generator-v19-for.html' title='SerialVersionUID generator v1.9 for Netbeans 6.5 nightly builds'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-5725414625493707812</id><published>2008-05-27T21:56:00.006+02:00</published><updated>2008-12-11T02:23:10.169+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nb-svuid-generator'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>SerialVersionUID generator v1.3 for Netbeans 6.1</title><content type='html'>Today I updated new version of generator for serialVersionUID field. It generates default value (1L) or generated value from source code. You can use it as java editor hint or code generator.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ET801K7GnrI/SDxoF_KKnDI/AAAAAAAAAD4/k0b-_yHA3PE/s1600-h/svuid.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_ET801K7GnrI/SDxoF_KKnDI/AAAAAAAAAD4/k0b-_yHA3PE/s320/svuid.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5205149721396157490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Iteresting is that it generates uid in correct way only for some cases. Correct way I mean sun's javac. Algorithm uses uses this &lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/serialization/spec/class.html#4100"&gt;directions&lt;/a&gt; to calculate value. Maybe there is problem with descriptors of fields, methods and constructors. I'll investigate it to create patch. But if you want to participate sources are in &lt;a href="http://hlavki.eu/hg/svuid-generator"&gt;this mercurial repository&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=6887"&gt;Download plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This version doesn't work with 6.5 nightly builds. See &lt;a href="http://hlavki.blogspot.com/2008/05/serialversionuid-generator-v19-for.html"&gt;this post&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-5725414625493707812?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/5725414625493707812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=5725414625493707812' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/5725414625493707812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/5725414625493707812'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/05/serialversionuid-generator-v13-for.html' title='SerialVersionUID generator v1.3 for Netbeans 6.1'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET801K7GnrI/SDxoF_KKnDI/AAAAAAAAAD4/k0b-_yHA3PE/s72-c/svuid.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23465071.post-4772571270581372450</id><published>2008-04-06T22:00:00.011+02:00</published><updated>2008-04-06T22:54:19.935+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>I am JavaFX fan</title><content type='html'>Joshua Marinacci wrote really &lt;a href="http://weblogs.java.net/blog/joshy/archive/2008/04/at_the_speed_of.html"&gt;interesting post&lt;/a&gt; about speed of JavaFX. I have to try it. So I installed jdk 1.6.0_10 beta on my dual core Lenovo R60 with openSuse linux 10.3 and run &lt;a href="http://bubblemark.com/"&gt;bubblemark&lt;/a&gt;. Result shows the best fps results in first 15 seconds of run with 32 bubbles:&lt;br /&gt;&lt;br /&gt;Java (Swing) - 71 fps&lt;br /&gt;Java (Swing, optimized) - 131 fps&lt;br /&gt;JavaFX (optimized version by Chris Oliver) - 27 fps&lt;br /&gt;&lt;strong&gt;JavaFX - 6 fps !!!&lt;/strong&gt;&lt;br /&gt;Flash (Flex) - 31 fps&lt;br /&gt;Flash (Flex) with cacheAsBitmap - 81 fps&lt;br /&gt;&lt;br /&gt;Swing really rocks but javaFX doesn't. I don't know, may be it's only some linux issue but 6 fps is really slow.  And I have to say, disabling comments on this post was really smart move (no offence). Articles like this can turn to flame war.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img291.imageshack.us/img291/7553/zoomvj1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px;" src="http://img291.imageshack.us/img291/7553/zoomvj1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23465071-4772571270581372450?l=blog.hlavki.eu' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.hlavki.eu/feeds/4772571270581372450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23465071&amp;postID=4772571270581372450' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/4772571270581372450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23465071/posts/default/4772571270581372450'/><link rel='alternate' type='text/html' href='http://blog.hlavki.eu/2008/04/i-am-javafx-fan.html' title='I am JavaFX fan'/><author><name>Michal Hlaváč</name><uri>http://www.blogger.com/profile/05045611385045630065</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ET801K7GnrI/SSdQT7y8CsI/AAAAAAAAAII/ABOWPBjAGhE/S220/vasalius-skeleton.png'/></author><thr:total>2</thr:total></entry></feed>
