<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/echopoint/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/echopoint/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Thu, 27 Sep 2007 11:08:37 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/echopoint/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>Tree crashes after server restart</title><link>https://sourceforge.net/p/echopoint/bugs/49/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When the webserver restarts while an echo2 application is active with an active Tree, the Echo2 application crashes when the page is reloaded. This is caused by a nullPointerException in Tree, because the expandedStack and expandedState fields in echopointng.Tree are transient, and thus not set when the Tree is deserialized.&lt;/p&gt;
&lt;p&gt;Stack trace is:&lt;br /&gt;
java.lang.NullPointerException&lt;br /&gt;
at echopointng.Tree.isExpanded(Tree.java:945)&lt;br /&gt;
at echopointng.ui.syncpeer.TreeRenderer.renderExpandoCell(TreeRenderer.java:499)&lt;br /&gt;
at echopointng.ui.syncpeer.TreeRenderer.renderTreeRow(TreeRenderer.java:754)&lt;br /&gt;
at echopointng.ui.syncpeer.TreeRenderer.renderTreeRecursive(TreeRenderer.java:691)&lt;br /&gt;
at echopointng.ui.syncpeer.TreeRenderer.renderTree(TreeRenderer.java:708)&lt;br /&gt;
at echopointng.ui.syncpeer.TreePeer.renderHtml(TreePeer.java:311)&lt;br /&gt;
at echopointng.ui.syncpeer.AbstractEchoPointPeer.renderHtml(AbstractEchoPointPeer.java:298)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.ContentPanePeer.renderChild(ContentPanePeer.java:236)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.ContentPanePeer.renderHtml(ContentPanePeer.java:302)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.ContentPanePeer.renderAdd(ContentPanePeer.java:165)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderChild(SplitPanePeer.java:341)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderAdd(SplitPanePeer.java:288)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderChild(SplitPanePeer.java:341)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderAdd(SplitPanePeer.java:288)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderChild(SplitPanePeer.java:341)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderAdd(SplitPanePeer.java:288)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderChild(SplitPanePeer.java:341)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.SplitPanePeer.renderAdd(SplitPanePeer.java:288)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.ContentPanePeer.renderChild(ContentPanePeer.java:238)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.ContentPanePeer.renderHtml(ContentPanePeer.java:302)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.ContentPanePeer.renderAdd(ContentPanePeer.java:165)&lt;br /&gt;
at nextapp.echo2.webcontainer.syncpeer.WindowPeer.renderRefresh(WindowPeer.java:124)&lt;br /&gt;
at nextapp.echo2.webcontainer.ContainerSynchronizeService.renderInit(ContainerSynchronizeService.java:427)&lt;br /&gt;
at nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:269)&lt;br /&gt;
at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273)&lt;br /&gt;
at nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)&lt;br /&gt;
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)&lt;br /&gt;
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)&lt;br /&gt;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)&lt;br /&gt;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)&lt;br /&gt;
at com.aci.hibernate.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:45)&lt;br /&gt;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)&lt;br /&gt;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)&lt;br /&gt;
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)&lt;br /&gt;
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)&lt;br /&gt;
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)&lt;br /&gt;
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)&lt;br /&gt;
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)&lt;br /&gt;
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)&lt;br /&gt;
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)&lt;br /&gt;
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)&lt;br /&gt;
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)&lt;br /&gt;
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)&lt;br /&gt;
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)&lt;br /&gt;
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)&lt;br /&gt;
at java.lang.Thread.run(Unknown Source)&lt;/p&gt;
&lt;p&gt;One solution is to check for if transient fields are null in methods like Tree.isExpanded() and Tree.setExpandedState() and if they are null, initialize them.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bas Velthuizen</dc:creator><pubDate>Thu, 27 Sep 2007 11:08:37 -0000</pubDate><guid>https://sourceforge.netbca4ee0261b8d26118026cf890e33e298148a185</guid></item><item><title>TreeTable doesn't update (EchoPointNG)</title><link>https://sourceforge.net/p/echopoint/bugs/48/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The TreeTable component doesn't update when DefaultTreeTableModel's nodesChanged, nodesWereRemoved or nodesWereInserted is called. The TreeTable won't refresh until the user clicks any of the collapse buttons or browser's reload-button.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">theNTR</dc:creator><pubDate>Mon, 19 Feb 2007 16:11:58 -0000</pubDate><guid>https://sourceforge.netb219ddc2c4c7b7ad39573a81bed28b7594240ab8</guid></item><item><title>empty style break style inheritance</title><link>https://sourceforge.net/p/echopoint/bugs/47/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In this example MyPane.button inherits background&lt;br /&gt;
property and have own foreground. If second style&lt;br /&gt;
is empty - it lost background property from base style!&lt;/p&gt;
&lt;p&gt;It is very uncomfortable.&lt;/p&gt;
&lt;p&gt;I cannot make empty style for changing later.&lt;/p&gt;
&lt;p&gt;example:&lt;/p&gt;
&lt;p&gt;nextapp.echo2.app.button.AbstractButton#default&lt;br /&gt;
{&lt;br /&gt;
background : #DDE9FF;&lt;br /&gt;
foreground : #000000;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;nextapp.echo2.app.button.AbstractButton#MyPane.button extends default&lt;br /&gt;
{&lt;br /&gt;
/* if you remove this property - lost inheritence */&lt;br /&gt;
foreground : #FF0000;&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 10 Jan 2007 11:12:38 -0000</pubDate><guid>https://sourceforge.net0edd197a0cbaa9e9e103565c892e31f11c423532</guid></item><item><title>DefaultProgressBarRenderer - Property Name Mismatch</title><link>https://sourceforge.net/p/echopoint/bugs/46/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The following code in&lt;br /&gt;
'echopointng.progressbar.DefaultProgressBarRenderer'&lt;br /&gt;
results in a ClassCastException:&lt;/p&gt;
&lt;p&gt;boolean isPainted =&lt;br /&gt;
Boolean.TRUE.equals(getRP(pb,ProgressBar.PROPERTY_PROGRESS_STRING_PAINTED,fallbackStyle));&lt;br /&gt;
if (isPainted) {&lt;br /&gt;
String text = (String)&lt;br /&gt;
getRP(pb,ProgressBar.PROPERTY_PROGRESS_STRING_PAINTED,fallbackStyle);&lt;br /&gt;
_drawText(g, width, height, text, clrForeGround);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;I think this code should be written as:&lt;/p&gt;
&lt;p&gt;boolean isPainted =&lt;br /&gt;
Boolean.TRUE.equals(getRP(pb,ProgressBar.PROPERTY_PROGRESS_STRING_PAINTED,fallbackStyle));&lt;br /&gt;
if (isPainted) {&lt;br /&gt;
String text = (String)&lt;br /&gt;
getRP(pb,ProgressBar.PROPERTY_PROGRESS_STRING,fallbackStyle);&lt;br /&gt;
_drawText(g, width, height, text, clrForeGround);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;Attached is a patch file.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Benjamin Schmaus</dc:creator><pubDate>Fri, 23 Jun 2006 18:53:21 -0000</pubDate><guid>https://sourceforge.net3d20e6a374b510c692d98dfb11554b7928d5021f</guid></item><item><title>EchopiontNG: PageableTableNavig locks when added in evt hndl</title><link>https://sourceforge.net/p/echopoint/bugs/45/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In NG fresh from CVS with the echo2 jars as supplied&lt;br /&gt;
the PageableTableNavigation seems to trigger the please&lt;br /&gt;
wait dialog to appear and lock up. It seems that moving&lt;br /&gt;
the init code into the constructor solves this problem&lt;br /&gt;
and leaves things working.&lt;/p&gt;
&lt;p&gt;So if you delete the init method and change the&lt;br /&gt;
constructor to:&lt;/p&gt;
&lt;p&gt;public PageableTableNavigation(Table table){&lt;br /&gt;
this.model = (PageableTableModel)table.getModel();&lt;br /&gt;
doLayout();&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;everything becomes happy.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gabriel Lawrence</dc:creator><pubDate>Wed, 19 Oct 2005 04:25:39 -0000</pubDate><guid>https://sourceforge.net1a003290729561bc0a6ec0e2cbb3800d34c684c2</guid></item><item><title>PageableTableNavigation does not Update </title><link>https://sourceforge.net/p/echopoint/bugs/44/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;PageableTableNavigation does not update its page count&lt;br /&gt;
when the model has data added. It does update the count&lt;br /&gt;
if the "next &amp;gt;" button is pushed.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 29 Sep 2005 16:12:29 -0000</pubDate><guid>https://sourceforge.netd8eb176d1a84376441a62ad3a0b4accc8637ed92</guid></item><item><title>EchopointNG: PushButton CSS bug</title><link>https://sourceforge.net/p/echopoint/bugs/43/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;adding a style name to PushButton prevents it being &lt;br /&gt;
formatted correctly when using CSS. For example, &lt;br /&gt;
using the code below:&lt;/p&gt;
&lt;p&gt;button1 = new PushButton("Button 1");     &lt;br /&gt;
button2 = new PushButton("Button 2");&lt;br /&gt;
button1.setStyleName("button1");&lt;/p&gt;
&lt;p&gt;and a CSS like this:&lt;/p&gt;
&lt;p&gt;nextapp.echo2.app.Component &lt;br /&gt;
{&lt;br /&gt;
font: font(arial,plain,8);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;button1 will have the correct font, button2 won't.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
&lt;p&gt;Jon&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon Iles</dc:creator><pubDate>Wed, 07 Sep 2005 12:46:36 -0000</pubDate><guid>https://sourceforge.netde552ee45c34b8c5fbd98587c3f54ced199d2b95</guid></item><item><title>EchopointNG: Fix for DefaultTreeCellRenderer CSS problem</title><link>https://sourceforge.net/p/echopoint/bugs/42/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I understand that you should be able to apply CSS &lt;br /&gt;
styles to the properties of the DefaultTreeCellRenderer &lt;br /&gt;
class. This does not appear to work for the current &lt;br /&gt;
EchopointNG code in CVS. In order to fix this, two minor &lt;br /&gt;
code changes are required:&lt;/p&gt;
&lt;p&gt;1. In the Tree.validate method, the statment:&lt;/p&gt;
&lt;p&gt;if(!referenceMap.containsKey(child))&lt;br /&gt;
this.remove(child);&lt;/p&gt;
&lt;p&gt;should be modified to read:&lt;/p&gt;
&lt;p&gt;if(!referenceMap.containsKey(child) &amp;amp;&amp;amp; child != renderer)&lt;br /&gt;
this.remove(child);&lt;/p&gt;
&lt;p&gt;to avoid the tree cell renderer from being removed from &lt;br /&gt;
the component hierarchy.&lt;/p&gt;
&lt;p&gt;2. The DefaultTreeCellRenderer constructor is re-written &lt;br /&gt;
as:&lt;/p&gt;
&lt;p&gt;public ReportEditorTreeCellRenderer() {&lt;br /&gt;
super();&lt;/p&gt;
&lt;p&gt;saveBackground = super.getBackground();&lt;br /&gt;
saveForeground = super.getForeground();&lt;br /&gt;
saveFont = super.getFont();    &lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;And the &lt;br /&gt;
DefaultTreeCellRenderer.getTreeCellRendererText &lt;br /&gt;
method is updated to use getRenderProperty to retrieve &lt;br /&gt;
the selected foreground, background and font properties. &lt;br /&gt;
So the code below:&lt;/p&gt;
&lt;p&gt;if (sel) {&lt;br /&gt;
super.setForeground(getSelectedForeground());&lt;br /&gt;
super.setBackground(getSelectedBackground());&lt;br /&gt;
if (getSelectedFont() == null)&lt;br /&gt;
super.setFont(tree.getFont());&lt;br /&gt;
else&lt;br /&gt;
super.setFont(getSelectedFont());&lt;/p&gt;
&lt;p&gt;is replaced with the following:&lt;/p&gt;
&lt;p&gt;if (sel) {&lt;br /&gt;
super.setForeground((Color)getRenderProperty&lt;br /&gt;
("selectedForeground"));&lt;br /&gt;
super.setBackground((Color)getRenderProperty&lt;br /&gt;
("selectedBackground"));&lt;br /&gt;
Font selectedFont = (Font)getRenderProperty&lt;br /&gt;
("selectedFont");&lt;br /&gt;
if (selectedFont == null)&lt;br /&gt;
super.setFont(tree.getFont());&lt;br /&gt;
else&lt;br /&gt;
super.setFont(selectedFont);&lt;/p&gt;
&lt;p&gt;With these changes in place, I am now able to add &lt;br /&gt;
something like this to my css file:&lt;/p&gt;
&lt;p&gt;echopointng.tree.DefaultTreeCellRenderer&lt;br /&gt;
{&lt;br /&gt;
selectedBackground: white;&lt;br /&gt;
selectedForeground: red;&lt;br /&gt;
selectedFont: font(arial,bold,10);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;which now works as expected.&lt;/p&gt;
&lt;p&gt;Hope that helps!&lt;/p&gt;
&lt;p&gt;Jon&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jon Iles</dc:creator><pubDate>Mon, 05 Sep 2005 15:10:08 -0000</pubDate><guid>https://sourceforge.net085d5420d1c819cf67a7dc152467f4a16be7f01d</guid></item><item><title>Hourglass.setDelay(int) must be in miliseconds</title><link>https://sourceforge.net/p/echopoint/bugs/41/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;If you read the echopoint API it says that&lt;br /&gt;
setDelay(int) has to be specified in miliseconds. But&lt;br /&gt;
if you code it, then you realize that the delay amount&lt;br /&gt;
is actually treated as miliseconds. &lt;/p&gt;
&lt;p&gt;This bug is intented for the API comment to be fixed.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eduardo Millan</dc:creator><pubDate>Tue, 21 Jun 2005 15:04:48 -0000</pubDate><guid>https://sourceforge.net596d052ba7f13a522fadbc0f33b25fa5a99a438a</guid></item><item><title>Double-Checked Locking Trouble with SGMLParser Singleton</title><link>https://sourceforge.net/p/echopoint/bugs/40/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I have trouble with HTMLTemplatePanel. After on 1 of 10&lt;br /&gt;
restarts of my application i get strange HTML output,&lt;br /&gt;
mostly the HTML TemplatePanels are "unparsed" so that&lt;br /&gt;
&amp;lt;component&amp;gt; Tags arent replaced.&lt;/p&gt;
&lt;p&gt;I guess that an nasty multithread bug exists in the&lt;br /&gt;
SGMLPageParser.getInstance() Method: &lt;/p&gt;
&lt;p&gt;public static SGMLPageParser getInstance() {&lt;br /&gt;
if (sharedInstance == null) {&lt;br /&gt;
synchronized (SGMLPageParser.class) {&lt;br /&gt;
if (sharedInstance == null)&lt;br /&gt;
sharedInstance = new SGMLPageParser();&lt;br /&gt;
......&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;Thats look like an Double-Checked Locking bug. For more&lt;br /&gt;
information consider:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html" rel="nofollow"&gt;http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As workaoround i extend HtmlTemplateLayoutManager and&lt;br /&gt;
HtmlTemplateLayoutManagerUI and synchronized the&lt;br /&gt;
.compileDataSource() + .render(...) Methodes.&lt;/p&gt;
&lt;p&gt;OS: Windows 2000&lt;br /&gt;
java version "1.4.2_05"&lt;br /&gt;
Java(TM) 2 Runtime Environment, Standard Edition (build&lt;br /&gt;
1.4.2_05-b04)&lt;br /&gt;
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 03 Mar 2005 15:34:44 -0000</pubDate><guid>https://sourceforge.net1983c89b6ac06ceec9ea114a9835ca698b0b2be9</guid></item></channel></rss>