<?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-36297483</id><updated>2012-02-16T12:42:39.970+02:00</updated><category term='pluggins'/><category term='Visual Composition'/><category term='Oracle'/><category term='Java'/><category term='eLiberatica'/><category term='Look and Feel'/><category term='Linux'/><category term='java pitfalls'/><category term='UIManager'/><category term='RTFM'/><category term='Eclipse'/><title type='text'>About Java Programming</title><subtitle type='html'>General, and not only, concepts, techniques, issues about Java programming. 
J2SE, J2EE, EJB, Struts, Servlets, JDBC and so on...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36297483.post-7602844888196749191</id><published>2009-10-08T10:42:00.006+02:00</published><updated>2011-04-07T17:21:25.643+02:00</updated><title type='text'>The  right way to call an external process in Java</title><content type='html'>He it is... (one way to be sure  everything goes well with your process)&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: auto; width: 510px; height: 150px;"&gt;&lt;pre&gt;Runtime currentRuntime = Runtime.getRuntime();&lt;br /&gt;Process process = currentRuntime.exec(&lt;what_to_execute&gt;);&lt;br /&gt;// always handle the process output/error streams (java uses a small&lt;br /&gt;// buffer to read the output of a process; if this buffer gets&lt;br /&gt;// filled, the process waitFor() hangs)&lt;br /&gt;// catch any potential error message from the process&lt;br /&gt;StreamConsumer errorConsumer = new StreamConsumer(process.getErrorStream(), OutputType.ERR);&lt;br /&gt;// catch any potential output&lt;br /&gt;StreamConsumer outputConsumer = new StreamConsumer(process.getInputStream(), OutputType.OUT);&lt;br /&gt;// start consuming...&lt;br /&gt;errorConsumer.start();&lt;br /&gt;outputConsumer.start();&lt;br /&gt;int exitValue = process.waitFor();&lt;br /&gt;// assume everything is okay...&lt;br /&gt;assert exitValue == 0 : "Process returned " + exitValue;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And the code for StreamConsumer &lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: auto; width: 510px; height: 150px;"&gt;&lt;pre&gt;static class StreamConsumer extends Thread {&lt;br /&gt;InputStream is;&lt;br /&gt;OutputType type;&lt;br /&gt;&lt;br /&gt;StreamConsumer(InputStream is, OutputType type) {&lt;br /&gt;this.is = is;&lt;br /&gt;this.type = type;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void run() {&lt;br /&gt;try {&lt;br /&gt;InputStreamReader isr = new InputStreamReader(is);&lt;br /&gt;BufferedReader br = new BufferedReader(isr);&lt;br /&gt;String line = null;&lt;br /&gt;while ((line = br.readLine()) != null) {&lt;br /&gt;switch (type) {&lt;br /&gt;case ERR:&lt;br /&gt;System.err.println(line);&lt;br /&gt;break;&lt;br /&gt;case OUT:&lt;br /&gt;System.out.println(line);&lt;br /&gt;break;&lt;br /&gt;default:&lt;br /&gt;assert false : type;&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;} catch (IOException ioe) {&lt;br /&gt;ioe.printStackTrace();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-7602844888196749191?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/7602844888196749191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=7602844888196749191' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/7602844888196749191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/7602844888196749191'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2009/10/right-way-to-call-external-process-in.html' title='The  right way to call an external process in Java'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-6914333949114949684</id><published>2007-11-30T09:09:00.000+02:00</published><updated>2007-11-30T09:18:29.511+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>A great java debugger</title><content type='html'>I was stuck fro more than two days with an extremely annoying problem that only happened on client’s side. Obviously there are no development tools located on the client's server and obviously I can't force the customer to buy licenses for any commercial software that I might need to solve the problem. I knew although that the answer was somewhere... on ... Google. And here is what I found: "JSwat is a graphical Java debugger front-end, written to use the &lt;a href="http://java.sun.com/products/jpda/"&gt;Java Platform Debugger architecture&lt;/a&gt; and based on the &lt;a href="http://www.netbeans.org/products/platform/"&gt;NetBeans Platform&lt;/a&gt;. JSwat is open-source software and is freely available in both binary and source code form. Its features include sophisticated breakpoints; colorized source code display with code navigator; byte code viewer; movable display panels showing threads, call stack, visible variables, and loaded classes; command interface for more advanced features; and Java-like expression evaluation, including method invocation." I've just installed it and now I'm setting the class paths to the application I plan to debug. It looks like a great tool 'till now and is quite intuitive. Enjoy it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-6914333949114949684?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='' href='http://jswat.sourceforge.net/' length='0'/><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/6914333949114949684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=6914333949114949684' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/6914333949114949684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/6914333949114949684'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/11/great-java-debuger.html' title='A great java debugger'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-4571613145906279199</id><published>2007-11-19T10:12:00.001+02:00</published><updated>2007-11-19T10:14:03.939+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eLiberatica'/><title type='text'>eLiberatica second edition</title><content type='html'>30th - 31st May 2008 (Friday-Saturday), Sofitel Hotel - Bucharest, Romania&lt;br /&gt;Following the huge public success the first edition of eLiberatica gained in 2007, the second edition will continue in the same tradition: to gather community and business leaders around the world to talk about the hottest Open and Free Technologies topics.&lt;br /&gt;eLiberatica has its unique spirit and identity; you will learn and discover new things, meet international IT personalities, business people, high-tech professionals, you will make new friends, new partners, celebrate and truly enjoy a live event.&lt;br /&gt;eLiberatica 2008 is intended to focus on these main concepts:&lt;br /&gt;• Business adoption - how to make/save money and gain profit using Open and Free Technologies;&lt;br /&gt;• Government, administration and public schools - the importance of Open and Free Technologies;&lt;br /&gt;• Professional growth participating in the FLOSS (Free/Libre/Open Source Software) community;&lt;br /&gt;• Break the code - tips and tricks, things you will not find in IT books.&lt;br /&gt;For more information you can check &lt;a href="http://eliberatica.ro/" target="_blank"&gt;http://eliberatica.ro/&lt;/a&gt; website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-4571613145906279199?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.eliberatica.ro/2008' title='eLiberatica second edition'/><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/4571613145906279199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=4571613145906279199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4571613145906279199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4571613145906279199'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/11/eliberatica-second-edition.html' title='eLiberatica second edition'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-8270792474008089004</id><published>2007-10-11T12:41:00.001+02:00</published><updated>2011-04-07T17:22:22.740+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java pitfalls'/><title type='text'>BigDecimal problems: Rounding error in BigDecimal.setScale</title><content type='html'>According to SUN’s documentation :&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html#ROUND_HALF_UP"&gt;http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html#ROUND_HALF_UP&lt;/a&gt; this should be “the rounding mode that most of us were taught in grade school.” Surprisingly… it is not (or maybe I went to a different school). Check the examples:&lt;br /&gt;&lt;br /&gt;&lt;div style="OVERFLOW: auto; WIDTH: 510px; HEIGHT: 150px"&gt;&lt;pre&gt;import java.math.*;&lt;br /&gt;public class BigTest {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;BigDecimal bd = new BigDecimal(0.115);&lt;br /&gt;bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);&lt;br /&gt;System.out.println("? 0.12 = " + bd);&lt;br /&gt;&lt;br /&gt;bd = new BigDecimal(1.115);&lt;br /&gt;bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);&lt;br /&gt;System.out.println("? 1.12 = " + bd);&lt;br /&gt;&lt;br /&gt;bd = new BigDecimal(2.115);&lt;br /&gt;bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);&lt;br /&gt;&lt;br /&gt;System.out.println("? 2.12 = " + bd);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The issue was reported as a bug on SUN’s web site (4508009) and it was closed back in 2001 with the following comment:&lt;br /&gt;“A side-effect of floating-point decimal -&gt; binary conversion is being seen. The value indicated by the decimal string is not exactly representable. Using the string constructor instead avoids this particular issue.”&lt;br /&gt;Although the workaround works this is still a bug.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-8270792474008089004?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html' title='BigDecimal problems: Rounding error in BigDecimal.setScale'/><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/8270792474008089004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=8270792474008089004' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/8270792474008089004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/8270792474008089004'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/10/bigdecimal-problems-rounding-error-in.html' title='BigDecimal problems: Rounding error in BigDecimal.setScale'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-3770593044273390695</id><published>2007-08-22T12:56:00.000+03:00</published><updated>2007-08-22T13:03:28.921+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Shortest manual for creating servlets</title><content type='html'>&lt;strong&gt;Step 1.&lt;/strong&gt;&lt;br /&gt;In order to create a servlet for a Web application, you will most often begin by extending &lt;em&gt;HttpServlet&lt;/em&gt; and overriding one of the service methods. If you want to respond to the GET method, you will override &lt;em&gt;doGet()&lt;/em&gt;. Similarly, if you want to respond to the POST method, you will override &lt;em&gt;doPost()&lt;/em&gt;.&lt;br /&gt;&lt;strong&gt;Step 2.&lt;/strong&gt;&lt;br /&gt;You can process requests using methods defined in &lt;em&gt;HttpServletRequest&lt;/em&gt; and related classes and interfaces. This enables you to use information included in the header that you don't see as well as information included in the URL. You can determine the HTTP method used to make the request and the cookies that the client has sent as well as information about the user, session, and path.&lt;br /&gt;&lt;strong&gt;Step 3.&lt;/strong&gt;&lt;br /&gt;You can generate responses using methods defined in &lt;em&gt;HttpServletResponse&lt;/em&gt; and related classes and interfaces. You can use these methods to create a cookie, send error messages, and set status codes. You can rewrite the URL and manipulate the contents of the buffer. Also, &lt;em&gt;HttpServletResponse&lt;/em&gt; inherits from &lt;em&gt;ServletResponse&lt;/em&gt; which contains the &lt;em&gt;getWriter()&lt;/em&gt; and &lt;em&gt;setContentType()&lt;/em&gt; methods that enable you to set the type of the content you are returning to the client and provide you with a handle to the &lt;em&gt;PrintWriter&lt;/em&gt; that you use to do it.&lt;br /&gt;&lt;strong&gt;Step 4.&lt;/strong&gt;&lt;br /&gt;You can pass information among servlets within the same context by setting and getting attributes. You can also write information to a file or database that can be accessed by other servlets. &lt;br /&gt;&lt;strong&gt;Step 5.&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Filters&lt;/em&gt; are new with the Servlet API 2.3. They enable you to pre− and post−process servlets. You can change a request before the servlet handles it or change the response (just not the body) after the servlet generates it. You can also include content from another resource using include() and forward the results of one servlet to another resource using forward().&lt;br /&gt;&lt;br /&gt;Source: &lt;strong&gt;Java 2 Bible Enterprise Edition &lt;/strong&gt;(read the book, is one of the best)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-3770593044273390695?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/3770593044273390695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=3770593044273390695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/3770593044273390695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/3770593044273390695'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/08/shortest-manual-for-creating-servlets.html' title='Shortest manual for creating servlets'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-1677611511284761397</id><published>2007-06-21T13:35:00.001+03:00</published><updated>2011-04-07T17:22:45.517+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java pitfalls'/><title type='text'>Showing Modal Dialogs from Applets</title><content type='html'>&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;In order to access a JDialog component in any environment including the Applet specific environment you need to have access to a so called parent frame (java.awt.Frame) which is passed to the JDialog constructor and becomes the dialog owner. If this is never a problem in a desktop application where the application window itself is a frame, is quite annoying in an Applet specific environment.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution proposed by most java books:&lt;/strong&gt;&lt;br /&gt;Create a dummy frame.&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;JFrame f = new JFrame();&lt;br /&gt;JDialog d = new JDialog(f);……..&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Problems with the proposed solution:&lt;br /&gt;&lt;/strong&gt;Well, first of all it looks a little bit silly and I don’t see a point in creating frames all over the place. Second and way more important, when closing the dialog this tends to give the focus back to its owner and… surprise!. Since is owner is a brand new frame, nowhere to be found in the browser window the browser looses focus and it gets minimized.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Better solution:&lt;br /&gt;&lt;/strong&gt;Get the top level frame for the applet (yes, there is one, a Window, Frame or Dialog and the applet always returns a frame). Below is the piece of code that searched for the top level frame:&lt;br /&gt;&lt;br /&gt;&lt;div style="OVERFLOW: auto; WIDTH: 510px; HEIGHT: 150px"&gt;&lt;br /&gt;&lt;pre&gt;private Frame findParentFrame(){&lt;br /&gt;Container container = this;&lt;br /&gt;while(container != null){&lt;br /&gt;if (container instanceof Frame)&lt;br /&gt;return (Frame) container;&lt;br /&gt;&lt;br /&gt;container = container.getParent();&lt;br /&gt;}&lt;br /&gt;return (Frame)null;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Obs. : Although it might seem so, getTopLevelAncestor method invoked on the Applet does not give the correct result.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-1677611511284761397?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/1677611511284761397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=1677611511284761397' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/1677611511284761397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/1677611511284761397'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/06/showing-modal-dialogs-from-applets.html' title='Showing Modal Dialogs from Applets'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-5987577080919756222</id><published>2007-06-08T14:44:00.000+03:00</published><updated>2007-06-08T14:45:22.753+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java pitfalls'/><title type='text'>AXIS and LOG4J performance issues</title><content type='html'>I’m working at a problem for couple of days. I have a web service (C#) installed on IIS and I’m calling it from a java servlet (on IB.M. Websphere 6.1). Everything works perfect on my side but hangs for about 30 minutes on client’s server.&lt;br /&gt;&lt;br /&gt;After consuming all the possible causes for the problem that I could’ve think about:&lt;br /&gt;-         IIS installation issues;&lt;br /&gt;-         Web service installation&lt;br /&gt;-         Servlet / war installation&lt;br /&gt;-         and so on….&lt;br /&gt;The problem was still there.&lt;br /&gt;&lt;br /&gt;…and it would have been there forever but, by mistake, I noticed that the size of the logs folder is increasing dramatically with every call to the service. I checked my lig4j.properties and noticed that it had a DEBUGG level set for AXIS classes. This is creating Mbytes of log files !!! and is slowing the application in such a way that my websphere connections expire. During my last tests (with DEBUG level set for the entire AXIX module I stopped the process whet the log files size exceeded 25Mbytes. I’ve adjusted the configuration to:&lt;br /&gt;·                log4j.logger.org.apache.axis=DEBUG&lt;br /&gt;·                log4j.logger.org.apache.axis.encoding=INFO&lt;br /&gt;·                log4j.logger.org.apache.axis.utils=INFO&lt;br /&gt;·                log4j.logger.org.apache.axis.message=INFO&lt;br /&gt;and the log files grew to a total of  2.4Mbytes (10 times smaller).&lt;br /&gt;The actual transferred XML file is written in the logs (lol – had no idea).&lt;br /&gt;&lt;br /&gt;I finally changed the log4j.properties to INFO for the entire AXIS module:&lt;br /&gt;·                log4j.logger.org.apache.axis=INFO&lt;br /&gt;and everything works perfect.&lt;br /&gt;&lt;br /&gt;I’m still wondering although why the big performance leak on DEBUGG mode ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-5987577080919756222?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/5987577080919756222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=5987577080919756222' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/5987577080919756222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/5987577080919756222'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/06/axis-and-log4j-performance-issues.html' title='AXIS and LOG4J performance issues'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-4249425357885560235</id><published>2007-04-26T18:57:00.000+02:00</published><updated>2007-04-27T10:28:22.215+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java pitfalls'/><category scheme='http://www.blogger.com/atom/ns#' term='RTFM'/><title type='text'>Java Pitfalls and RTFM</title><content type='html'>I'm planning to start a sequence of post regarding some of the potential java pitfalls and how can they be avoided by applying the best programming technique ever: RTFM.&lt;br /&gt;&lt;br /&gt;Since this is the first post in the series I will start by defining the terms (for those who might not know them - if you are a programmer and never heard of pitfalls or RTFM you are either extremely good at what you're doing or in a great danger :D)&lt;br /&gt;&lt;br /&gt;A programming pitfall (also known as anti-pattern) is a class of common bad solutions to problems. They are treated as a separate subject in order to achieve a better knowledge of how can they be avoided since the early phase of conception. A pitfall in computer programming can emerge either from a design error (wrong level of abstraction, misunderstood complexity, incomplete facilities etc.) or an implementation error (haste, insufficient API knowledge, unawareness of alternatives etc.)...&lt;a href="http://en.wikipedia.org/wiki/Anti-pattern"&gt;details&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No need to explain &lt;a href="http://en.wikipedia.org/wiki/RTFM"&gt;RTFM&lt;/a&gt;. Just DO IT !!!&lt;br /&gt;&lt;br /&gt;..to be continued&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-4249425357885560235?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/4249425357885560235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=4249425357885560235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4249425357885560235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4249425357885560235'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/04/java-pitfalls-and-rtfm.html' title='Java Pitfalls and RTFM'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-6137419285056767008</id><published>2007-04-06T13:43:00.000+02:00</published><updated>2007-04-24T12:41:37.709+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Look and Feel'/><category scheme='http://www.blogger.com/atom/ns#' term='UIManager'/><title type='text'>How to display all the UIManager properties</title><content type='html'>Here is some code that will display all the UIManager properties and the default values.&lt;br /&gt;&lt;br /&gt;&lt;div style="OVERFLOW: auto; WIDTH: 650px; HEIGHT: 200px"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;import java.util.*;&lt;br /&gt; &lt;br /&gt;public class UIManagerList {&lt;br /&gt; &lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        UIDefaults defaults = UIManager.getDefaults();&lt;br /&gt;        System.out.println(defaults.size()+ " properties deffined !");&lt;br /&gt;        String[ ] colName = {"Key", "Value"};&lt;br /&gt;        String[ ][ ] rowData = new String[ defaults.size() ][ 2 ];&lt;br /&gt;        int i = 0;&lt;br /&gt;        for(Enumeration e = defaults.keys(); e.hasMoreElements(); i++){&lt;br /&gt;            Object key = e.nextElement();&lt;br /&gt;            rowData[ i ] [ 0 ] = key.toString();&lt;br /&gt;            rowData[ i ] [ 1 ] = ""+defaults.get(key);&lt;br /&gt;            System.out.println(rowData[i][0]+" ,, "+rowData[i][1]);&lt;br /&gt;        }&lt;br /&gt;        JFrame f = new JFrame("UIManager properties default values");&lt;br /&gt;        JTable t = new JTable(rowData, colName);&lt;br /&gt;        f.setContentPane(new JScrollPane(t));&lt;br /&gt;        //f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;        f.pack();&lt;br /&gt;        f.setVisible(true);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-6137419285056767008?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/6137419285056767008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=6137419285056767008' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/6137419285056767008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/6137419285056767008'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/04/how-to-display-all-uimanager-properties.html' title='How to display all the UIManager properties'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-2483927974472162478</id><published>2007-04-04T09:37:00.000+02:00</published><updated>2008-12-10T15:06:09.165+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>FREE Oracle Unbreakable Linux 2-disc Kit.</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_tlr9p8nDDxw/RhNWaMubBxI/AAAAAAAAAAk/FxRF8-q7ei4/s1600-h/untitled.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_tlr9p8nDDxw/RhNWaMubBxI/AAAAAAAAAAk/FxRF8-q7ei4/s320/untitled.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5049474615304980242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oracle is delivering a FREE linux intalation for some of their products. If you're not especially interested in ORACLE is although a good thing to have in your software collection.&lt;br /&gt;&lt;br /&gt;N.B: The image in almost sure protected by Copyright and I think it belongs to Oracle. I hope I broke no law by listing it here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-2483927974472162478?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.oracle.com/webapps/dialogue/dlgpage.jsp?p_dlg_id=5458700&amp;src=5129481&amp;Act=120&amp;msgid=5535210' title='FREE Oracle Unbreakable Linux 2-disc Kit.'/><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/2483927974472162478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=2483927974472162478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/2483927974472162478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/2483927974472162478'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/04/free-oracle-unbreakable-linux-2-disc.html' title='FREE Oracle Unbreakable Linux 2-disc Kit.'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_tlr9p8nDDxw/RhNWaMubBxI/AAAAAAAAAAk/FxRF8-q7ei4/s72-c/untitled.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-8680264045713334963</id><published>2007-03-15T15:19:00.000+02:00</published><updated>2007-03-15T15:28:31.422+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pluggins'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Composition'/><title type='text'>Jigloo Eclipse Windows Builder ?</title><content type='html'>Tired of using the classical Visual Editor for Eclipse ? Tired of getting your custom JFrame stuck in I.B.M Rational Developer or Websphere Studio ?&lt;br /&gt;Well, it seems that I.B.M. did nothing in the Visual Composition area since Visual Age for Java. This is, although, not the case for some other less known guys like the people from Cloudgarden.&lt;br /&gt;&lt;br /&gt;Cloudgarden's Jigloo GUI Builder creates and manages code for all the parts of Swing or SWT GUIs as well as code to handle events, and shows you the GUIs as they are being built. Jigloo parses java class files to construct the form that you use when designing your GUI (round-tripping), so it can work on classes that were generated by other GUI builders or IDEs, or hand-coded classes. It can also convert from a Swing GUI to a SWT GUI and vice-versa. Also, the SWT_AWT class is supported so that SWT controls can be embedded inside Swing components, and vice-versa. Jigloo is straightforward, fast, powerful, easy to use and fully integrated with Eclipse. It can lead to substantial time-savings for GUI development and maintenance tasks.Jigloo is very fast at parsing the java code and constructing the GUI form. It's advanced parsing capabilities enable it to render even complex hand-generated code correctly, and it allows quick and intuitive navigation between GUI elements in the form and their associated code, allowing quick manual modifications to specific parts of the code.&lt;br /&gt;(source: &lt;a href="http://www.eclipse-plugins.info/eclipse/plugin_details.jsp?id=472"&gt;Eclipse pluggins&lt;/a&gt; )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-8680264045713334963?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/8680264045713334963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=8680264045713334963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/8680264045713334963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/8680264045713334963'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/03/jigloo-eclipse-windows-builder.html' title='Jigloo Eclipse Windows Builder ?'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-1606296247436135428</id><published>2007-02-25T11:05:00.000+02:00</published><updated>2007-02-25T11:13:21.549+02:00</updated><title type='text'>Daylight Savings Time alert 2007</title><content type='html'>&lt;p class="MsoNormal"&gt;Daylight Savings Time alert&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;U.S decided since this year to change their D.S.T. (Daylight Savings Time ) policy. This might have some influence on your java applications. Some of the new versions of java already know how to handle the issue… some don’t. In order to make sure your applications are up to date you will, most probably, have to install a fixpack (update) for the used JRE (Java Runtime Environment). &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;a href="http://www2.blogger.com/%3Ca"&gt;  &lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;More details can be fount at:&lt;a href="http://java.sun.com/developer/technicalArticles/Intl/USDST/"&gt;&lt;br /&gt;I.B.M. JRE&lt;br /&gt;Sun JRE&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/Intl/USDST/"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-1606296247436135428?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wwp.greenwichmeantime.com/time-zone/rules/usa.htm' title='Daylight Savings Time alert 2007'/><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/1606296247436135428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=1606296247436135428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/1606296247436135428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/1606296247436135428'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/02/daylight-savings-time-alert-2007.html' title='Daylight Savings Time alert 2007'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-8695365458133778631</id><published>2007-02-23T15:08:00.000+02:00</published><updated>2007-02-23T15:13:32.906+02:00</updated><title type='text'>java.io.IOException: CreateProcess: ... error=193</title><content type='html'>Most common cause for this error is caused my a missing &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;extension&lt;/span&gt;. If you do not specify an &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;extension&lt;/span&gt; for the called file (Ex: C:/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;cvs&lt;/span&gt; instead of C:/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;cvs&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;exe&lt;/span&gt;), assuming the executable will be called then you;re in trouble. Why ? Because often &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;enough&lt;/span&gt; the called program creates a log file that has the same name with the called executable and Boom java.io.IOException: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;CreateProcess&lt;/span&gt;: ... error=193 !!!&lt;br /&gt;&lt;br /&gt;So:&lt;br /&gt;Rule 1: Always specify the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;extension&lt;/span&gt;, better &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;safe&lt;/span&gt; than sorry.&lt;br /&gt;Rule 2. If you break rule one and you get error193, check for files with the same name as the one you intend to call. (error 193 &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;actually&lt;/span&gt; means that &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;what&lt;/span&gt; you are trying to execute is not a valid Win32 process)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-8695365458133778631?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/8695365458133778631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=8695365458133778631' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/8695365458133778631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/8695365458133778631'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/02/javaioioexception-createprocess.html' title='java.io.IOException: CreateProcess: ... error=193'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-4446174870537048790</id><published>2007-02-23T13:09:00.000+02:00</published><updated>2007-02-23T13:12:06.934+02:00</updated><title type='text'>How to .. Change CVS comment</title><content type='html'>To change the comment typed at commit level, do the following:&lt;br /&gt;verify the release version for which you want to change the comment: $ cvs log -h&lt;br /&gt;...............&lt;br /&gt;Working file: Test/cvs.test&lt;br /&gt;head: 1.1&lt;br /&gt;...........&lt;br /&gt;then change the comment using cvs admin: $ cvs admin -m 1.1:"New comment" Test/cvs.test&lt;br /&gt;&lt;br /&gt;That's all! Easy isn't it ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-4446174870537048790?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/4446174870537048790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=4446174870537048790' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4446174870537048790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4446174870537048790'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/02/how-to-change-cvs-comment.html' title='How to .. Change CVS comment'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36297483.post-4209478848446889206</id><published>2007-01-16T09:27:00.001+02:00</published><updated>2007-01-16T09:27:22.653+02:00</updated><title type='text'>Blog rebirth</title><content type='html'>I’ve always thought about taking blogging more serious but never managed to do it. Mostly because of the extreme lack of time and partly because my life :D is far from being interesting lately.&lt;br /&gt;It seems, although, that since eLiberatica appeared things tend to change slightly and my blog is for the first time in its life on eleventh place on google. So.. I kind of try to make a commitment to myself to update it at least weekley.&lt;br /&gt;&lt;br /&gt;Till next time.&lt;br /&gt;Ady&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36297483-4209478848446889206?l=about-java-programming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://about-java-programming.blogspot.com/feeds/4209478848446889206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36297483&amp;postID=4209478848446889206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4209478848446889206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36297483/posts/default/4209478848446889206'/><link rel='alternate' type='text/html' href='http://about-java-programming.blogspot.com/2007/01/blog-rebirth.html' title='Blog rebirth'/><author><name>Adrian Florea</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
