click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James P Brown (JIRA)" <>
Subject [JIRA] Updated: (CLK-497) FieldSet isDisabled and isReadonly methods broken
Date Fri, 27 Feb 2009 23:12:55 GMT


James P Brown updated CLK-497:


I am attaching source code changes I made to the Field and FieldSet classes to address this
defect (and the svn patch files for a project level diff), and modified FieldSetTest and FormTest
unit test classes to test bug and fix.

I do not believe this to be the best way to address the problem, as I turned the private inner
class into a public one, and added two methods to expose the isDisabled and isReadonly data
of the outer class FieldSet. However, this is a drastic measure that clearly breaks the intended
design of the inner class. I believe someone more familiar with this code will have to sort
this out.

Nonetheless, I believe my changes to the unit test classes to be of value going forward, regardless
of the true solution.

> FieldSet isDisabled and isReadonly methods broken
> -------------------------------------------------
>                 Key: CLK-497
>                 URL:
>             Project: Click
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.0.1
>         Environment: Windows XP, Java 6
>            Reporter: James P Brown
>         Attachments:
> The FieldSet is supposed to force its child components to be disabled/readonly when it
is set to disabled/readonly. I did not observe this when I attempted to create a FieldSet
with a child component.
> I believe the code to support this is not working as anticipated. The Field class has
modified methods for isDisabled/isReadonly that specifically check if the parent component
(i.e. container) is an instanceof FieldSet (or Form, which is working AFAIK). The problem
is that the design of FieldSet relies on an instance of its private inner class FieldSet.InnerContainerField
for managing those child elements. When I step through the code in debug mode, the class instance
is of this inner class type (InnerContainerField) not FieldSet. Since InnerContainerField
is not a type of FieldSet, the subsequent logic is ignored.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message