Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#474 closed (fixed)

Configuring filter for Hits report does not work

Reported by: gregory Owned by: olle
Milestone: Proteios SE 2.4.1 Keywords:
Cc:

Description

When I try to show additional columns in the hits report by selecting them in the table configuration popup and then clicking apply, the still do not show up. Feels like some kind of default filter always sets in.

Change History (14)

comment:1 Changed 9 years ago by gregory

  • Milestone changed from Proteios 2.5 to Proteios SE 2.4.1

comment:2 Changed 9 years ago by gregory

This affects Samples as well, looks like a global issue when using ConfigureTableFactory2

comment:3 Changed 9 years ago by olle

  • Status changed from new to assigned

Ticket accepted.

comment:4 Changed 9 years ago by olle

Preliminary error analysis.

Tests for Proteios v. 2.4 indicate that user selection of columns does not work using the popup window available for !TableFactory2-based tables like Files, MyProjects, Jobs, and Hits Report. Neither display of additional columns or hiding already visible ones work. However, selecting a list order for a column in the popup window works, as well as filtering of the table by entering a filter condition in the filter field at the top of a column.

Results of the tests are therefore consistent with user selection of column visibility for !TableFactory2-based tables being deactivated, while other !TableFactory2 functionality is OK.

Preliminary code analysis indicate that the problem occurred after changeset [2875] for Ticket #469 (Listing jobs after a step in the Hits import wizard is missing the status column) was added 2008-09-16 14:22:26, but the problem may be the result of a combination of this and other recent changes.

comment:5 Changed 9 years ago by olle

Error analysis.

Tests followed by inspection of debug output in log files indicate that the value of optional valid parameter VBoolean VUSEDEFAULT is always true or null when entering public method

void setVisibility(ProteiosAction context, List<Column> header, AttributeFilter attributeFilter)

in class/file action/ConfigureTableFactory2.java in client/servlet/, and since the default value is true, both values lead to a default visibility list being used instead of any user selection.

comment:6 Changed 9 years ago by olle

(In [2886]) Refs #474. Quick fix for problem with missing user selection of table columns: 1. Class/file action/ConfigureTableFactory2.java in client/servlet/ updated with new optional valid parameter VBoolean VRESETCOLUMNORDER with default value '. If its value is , the column order list will be reset to null, to avoid erroneous use of a column order set by an earlier action for a table for another class. User column selection is reverted to being triggered by the existence of a column order list. 2. Class/file action/job/ListJobs.java in client/servlet/ updated to set value of valid parameter VBoolean ConfigureTableFactory2.VRESETCOLUMNORDER to if no table exists.

comment:7 Changed 9 years ago by olle

Clarification of subversion commit message for changeset [2886] added 2008-09-25 10:57:32:

(In [2886]) Refs #474. Quick fix for problem with missing user selection of table columns:

  1. Class/file action/ConfigureTableFactory2.java in client/servlet/ updated with new optional

valid parameter VBoolean VRESETCOLUMNORDER with default value 'false'. If its value is 'true', the column order list will be reset to null, to avoid erroneous use of a column order set by an earlier action for a table for another class. User column selection is reverted to being triggered by the existence of a column order list.

  1. Class/file action/job/ListJobs.java in client/servlet/ updated to set value of

valid parameter VBoolean ConfigureTableFactory2.VRESETCOLUMNORDER to 'true' if no table exists.

comment:8 Changed 9 years ago by olle

Note that changeset [2886] added 2008-09-25 10:57:32 was committed to subversion branch 2.4.1 instead of the trunk, as it was intended for a release 2.4.1 of Proteios.

comment:9 Changed 9 years ago by olle

Discussion of the original and later problems related to Ticket #469 (Listing jobs after a step in the Hits import wizard is missing the status column):

  • Class/file action/ConfigureTableFactory2.java in client/servlet/ used the existence of a column order list retrieved from optional valid parameter VString VCOLUMNORDER, to determine if a user selected list of columns or a default column list should be used. This worked fine in most cases, but when one or more files had been selected as input for a plugin via class/file action/directory/ViewActiveDirectory.java in client/servlet/, and the action was forwarded to class/file action/job/ListJobs.java in client/servlet/ to display a job table, VCOLUMNORDER might have been set to columns appropriate for the File.class, but not for the Job.class. Since all desired columns for the Job class, but the "Status" column, were present in the list for the File class, the result was that the "Status" column was not shown in the Job table.

To fix this problem, the following fix was added in changeset [2875]:

  • A new optional valid parameter VBoolean VUSEDEFAULT was added and action ListJobs was updated to set its value to 'true' when no table existed, indicating that the action was entered for the first time. Class/file action/ConfigureTableFactory2.java in client/servlet/ was updated to rely on the retrieved value of this valid parameter to determine if a default column list should be used. However, since the parameter VUSEDEFAULT had default value 'true', this erroneously lead to the default order always being used (hence the current ticket).

The idea behind a Boolean flag in action ListJobs to trigger use of a default column list is sound, but just changing its default value in class !ConfigureTableFactory2 from 'true' to 'false' is undesirable, among other things because a variable with name VUSEDEFAULT is not expected to have a default value of 'false', meaning that the default is to not use the default! For clarity, and with the desire to introduce as few new changes as possible in order to avoid more problems, the fix of reverting to the previously used way of determining if a user selected column list should be used, but controlled by a new Boolean flag, was chosen for changeset [2886].

comment:10 Changed 9 years ago by olle

  • severity changed from 16 to 4

Severity set to 4, since the problem was not straight forward to find a solution to.

comment:11 Changed 9 years ago by olle

  • Resolution set to fixed
  • Status changed from assigned to closed

Ticket closed as the added fix hopefully solves the problem. However, the code could probably be simplified further.

comment:12 Changed 9 years ago by olle

(In [3]) Note on not being able to select table columns in Proteios 2.4 added to wiki page Known Issues.

comment:13 Changed 9 years ago by olle

(In [2891]) Refs #474. Class/file action/ConfigureTableFactory2.java in client/servlet/ in subversion trunk updated in code layout to simplify merge of subversion 2.4.1 into trunk.

comment:14 Changed 9 years ago by olle

(In [2892]) Refs #474. Changes to subversion branch 2.4.1 merged into subversion trunk 2.5:

  1. Class/file action/ConfigureTableFactory2.java in client/servlet/

updated with new optional valid parameter VBoolean VRESETCOLUMNORDER with default value 'false'. If its value is 'true', the column order list will be reset to null, to avoid erroneous use of a column order set by an earlier action for a table for another class. User column selection is reverted to being triggered by the existence of a column order list.

  1. Class/file action/job/ListJobs.java in client/servlet/ updated to

set value of valid parameter VBoolean ConfigureTableFactory2.VRESETCOLUMNORDER to 'true' if no table exists.

  1. Added methods for retrieving the MICRO_VERSION from Application.
Note: See TracTickets for help on using tickets.