Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
jar
Table.jar 6.6 kB 10 06-Nov-2008 22:40 Dirk Frederickx Reset to v0.3
java
Table.java 15.6 kB 11 06-Nov-2008 22:41 Dirk Frederickx Reset to v0.3
gif
anchorLightBG.gif 0.1 kB 1 21-Feb-2006 17:59 206.17.172.5

This page (revision-121) was last changed on 11-Jun-2012 12:01 by 194.168.223.147  

This page was created on 15-Feb-2005 21:09 by DirkFrederickx

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added one line
||Col ||Col2 ||< ||C ||<
At line 133 added one line
%%strike
At line 135 added one line
/%
At line 134 removed one line
At line 364 added 9 lines
%%information
Please use this tab for any discussion, reporting of bugs (if possible with suggested fixes), new ideas, contributions etc.
Your contributions are very much appreciated. I will continue to update this plugin, and possibly incorporate your suggestions.
However, please do NOT update the plugin yourself. Cause that way reported bugs will be harder to fix.
-[DF|DirkFrederickx]
/%
At line 911 added 2 lines
;:Dirk, I can confirm the findings of Candid Dauth. It seems the plugin needs an extra character on all but the last lines that define a row (using multiple line editing) - adding a blank solves the problem... I noticed the problem while editing a simple table with headers like AA, BB, CC and seeing just single characters A and B displayed! Could it be a CR/LF problem? -- [Wouter]
At line 1,000 added one line
----
At line 988 removed 4 lines
%%
%%
At line 1,025 added 89 lines
----
I dropped the latest Table.java into my JSPWiki 2.6.4 installation and had some issues with CSS formatting in tables. After digging through the source I tracked down the culprit.
It looks like the {{registerStart()}} method sets {{cssBracket}} equal to 1 when the opening brace is detected. It does this by checking the NEXT character in the buffer. When the next character is processed (which is the opening brace for the css markup), {{cssBracket}} is then incremented again to a value of 2. Because of this, the rest of the markup for that table row is considered css markup and is simply displayed on the screen. If you remove/comment the line (listed below), the css markup works as expected and the table is rendered properly.
{{{
if (aCursor + 1 < sb.length())
{
char c = sb.charAt(aCursor + 1);
if (c == '<') {
colspan = true;
aCursor++;
}
else if (c == '^') {
rowspan = true;
aCursor++;
}
else if (c == '(') {
cssStyle = true;
cssBracket = 1; // this statement needs to be removed
aCursor++;
}
}
}}}
-- [Joseph Hobbs|jhobbs] November 4th, 2008
;:The cssBracket variable counts the number of open (brackets) to find the end of the css definition. So putting it at 1 in this part of the code is ok. At least, this is working properly at my installation. Could you please share the markup which is given you an error. --[DF|DirkFrederickx]
In this case, I pulled the markup directly off the examples tab of this Wiki page. Example 1 is the first place I noticed the issue. After tossing in some debug statements I came across the scenario. This is what I see
*The plugin detects a pipe and fires registerStart.
*Register start checks current position + 1 and detects open parenthesis and sets cssBracket to 1
*when next character is processed, it's the opening parenthesis registerStart just looked at, but fires handleCss anyways.
*handleCss increments cssBracket by 1, setting it to 2.
*eventually the closing parenthesis is detected, but the sum of decrements gets cssBracket down to 1 only. Therefore the rest of the content is identified as css and not table markup.
I do see where the code increments aCursor. If this increment would apply to the original position variable (i) then the code would work fine because the parenthesis would not be processed causing the increment. But since it's being passed by value, the increment doesn't change the original integer. It looks like the new integer is being returned to the calling method as well, but it's not being assigned to i. Maybe this was the original intention?
Not sure if the J2EE container has any influence here... I'm running in WebSphere Application Server 6.1.0.15 at the moment.
-- [Joseph Hobbs|jhobbs] 11/5/2008
;:Can you please test with v8 of the TablePlugin.jar. I noticed that the latest version of this plugin has been changed; the original version seems not to have this bug. --[DF|DirkFrederickx]
I took a look at v8 of Table.java and it looks like it's setting the counter {{i}} to the returned cursor value, which would avoid the issue of processing the open parenthesis twice. You can see this on lines 141, 234, and 245 of the source. With v9 of Table.java, it looks like the {{i =}} have been removed (lines 218 and 250). Due to this, the master counter {{i}} doesn't know it has been incremented.
-- [Joseph Hobbs|jhobbs] 11/6/2008
I reviewed the differences between Dirk's v8 and John's v9 in more detail. It looks like v9 was completely refactored (code style and all) which makes it extremely difficult to determine exactly what funtional changes were made. When modifying someone elses code, please practice a little code etiquette. Don't refactor someones code because it doesn't match your style. Work within the confines of their style and make only necessary changes. If code does need to be refactored, don't add functionality at the same time!
v9 has also introduced at least one bug regarding css handling where the updated counter isn't being assigned back to {{i}}. I don't think v9 is ready for prime-time yet. I recommend v9 be removed from the site and revert back to v8 as the latest. The posted Table.java plugin should be a proven copy that has been fully tested.
With that said, I think the functional changes in v9 are valuable and should be revisited in a more controlled edit.
-- [Joseph Hobbs|jhobbs] 11/6/2008
I've found the problem with %~%table-filter combined with TablePlugin. May be the problem is in %~%table-filter style, I'm not sure. Please, look to the sample below:
{{{
%%table-filter
[{Table
||A ||B ||C
|group1 |name1 |v1
|^ |name2 |v2
|group2 |name3 |v3
}]
}}}
If you look to the result you will see that filter for the first column contains values ''group1'', ''group2'', and ''name2'' which is not correct. So merged cells seems to be incorrectly interpreted by %~%table-filter.
-- Matvey Kazakov, 2009-02-20
;: This is correct. The table-filter assumes all rows of the table have the same number of cells. --[DF|DirkFrederickx]
Anyone know which JSPWIKI versions work with latest version of TablePlugin (v0.3)?
-- Bruce Rosenquist, 2009-06-24
;:The plugin is compatible with v2.4.xx, v2.6.xx and v2.8.xx. --[DF|DirkFrederickx]
-- Neil, 11 Jun 2012
Does this work? I can't get it working on my JSPWiki and there doesn't seem to be a "how to install" section... Thanks
%%
%%
Version Date Modified Size Author Changes ... Change note
121 11-Jun-2012 12:01 41.001 kB 194.168.223.147 to previous
« This page (revision-121) was last changed on 11-Jun-2012 12:01 by 194.168.223.147