History log of /external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
227a7a1d0484dcfa4c6d996a1c10e95437d059ef 18-Sep-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> OK, one more refactoring -- this time, make TableView use HeaderFields (something I've wanted to do for a long time, there has been a TODO at the top of TableView for ages) and consolidate a lot more logic. Part of this was in the introduction of a new HeaderFieldCollection class, the rest was simple consolidation due to common use of HeaderField.

TableView and HeaderSelect still duplicate a lot of logic, sadly, although it's not immediately obvious from the code at this point. Eventually I'll fully consolidate those, but at this point I think I'm ready to implement the iteration view feature that I've been working towards the whole time.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3753 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
f6348c999bc60ee048510c8e28f74f944a32d97c 05-May-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> When the user performs a whole-table action in TKO spreadsheet view, make sure we obey the "show only latest test per cell" checkbox. This isn't an issue for actions on particular cells, because we already use the test IDs since the cells are single-test cells. But whole table actions use a different code path.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3090 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
f248952e42ea33c34e41a49817e50f98c65c2716 24-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add feature to make spreadsheet header fields from combinations of machine labels. The user can create as many different machine-label-based fields as she wishes. For each field, she can enter a list of labels to be included. The field will then group on each combination of those labels.

-added new HeaderField abstract class with two implementations - SimpleHeaderField for normal fields and MachineLabelField for the new machine label fields
-made HeaderSelect capable of creating MachineLabelFields. In single header mode, selecting "Machine labels..." creates one, and deselecting it destroys it. In multiple header mode, each time "Machine labels..." is selected a new machine labels field is created, and deselecting one destroys it.
-made HeaderSelect display text boxes for each MachineLabelField for the user to input the label list.
-created HeaderSelect.addQueryParameters, moved fixed value logic into it (from SpreadsheetView.java), and put logic for machine label header in it.
-made TestGroupDataSource accept raw query parameters, and updated SpreadsheetDataProcessor to pass it through.
-modified SpreadsheetView to use HeaderFields throughout. Eventually other code (such as TableView) should be made to use them.
-added capability for ConditionTestSet to accept raw condition pieces. Eventually it will only work this way and I'll get rid of the field setting logic, since that's been moved to SimpleHeaderField.
-added ExtendedListBox class containing a bunch of utilities for ListBoxes that I've wanted for a long time. Several other parts of the code (DoubleListSelector, some of the graphing stuff) should be changes to use these utilities eventually.
-added ChangeListener support to DoubleListSelector
-made rpc interface accept a new "machine_label_headers" parameters, and added logic to tko_rpc_utils.py to construct SQL for machine label headers
-modified TestView manager to support a join into host labels



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2331 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
7c199df48dbc7a8200c8a80a163be4613c405cb8 03-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a couple of little bugs in TKO.
-make sure selected fields get properly referenced by their table to avoid ambiguity errors
-centralize functionality for escaping user SQL - I did this because I was messing around with the code, but ended up leaving it unmodified. But it's better centralized.
-change the way extra_select_fields are passed, to use a dictionary mapping alias to SQL instead of just passing the plain SQL with AS included. This is how Django does it, and it's more safe and correct (in this case, it helps us automatically quote field names properly).
-clean up SQL for completed test count a bit
-replace "escapeQuotes" on client with "escapeSqlValue", which actually does the right thing, and get rid of TODO to this effect. This was causing a bug when trying to drilldown on complex values (like long reasons)



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2235 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
8a6eb0cf5777dded2354408e8007d9223e813c92 01-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> add support for showing only the latest test run per cell in spreadsheet mode. this involved some extensive refactorings on both the client and server which then made the actual change quite simple.

Refactorings:
-refactored group querying code in TempManager to be much more general (it's no longer oriented around fetching COUNT(*)). it also now returns dicts instead of raw rows.
-refactored much of the logic from the group-related RPCs into GroupDataProcessor, which now handles almost all the work, again in a more general fashion
-made group RPCs always return a sample test index with each group; this allows the client to drill down to single-test groups without having to make an extra query to get the test index (it also makes the latest test feature easier to implement)
-refactor TestSet to support a new getTestIndex method for single test sets
-added new SingleTestSet class for single test sets, and made TestSet creation code use this instead of ConditionTestSet
-made ConditionTestSet always be for multiple tests
-changed drilldown code to use TestSet.getTestIndex() to avoid making an extra RPC call (in both spreadsheet and table views)
-got rid fo TkoUtils.getTestId, which is no longer needed since test IDs are passed down with the groups

New features:
-added get_latest_tests RPC to get the latest test per group, but still return information in the same format as get_status_counts
-added "show only latest test per cell" to spreadsheet view, made it control the RPC that gets called, and added history support for it

About the get_latest_tests RPC - it uses two rather simple SQL queries and some processing in Python. I tried six different ways of computing this information, some using a single SQL query to do everything and some doing everything in Python, and this approach was by far the fastest.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2216 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
64aeecdec485192241e5377b3fa5ac7cf57a0c12 19-Sep-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> -add feature to filter on test attributes in TKO
-new server arguments "include_attributes_where" and "exclude_attributes_where" for filtering on test attributes
-refactor joining code in TKO models.py to support test attributes joining
-add new UI to CommonPanel.java to filter on test attributes. some of the UI code was written in a general way so that in the future it could be merged with some of the graphing UI code.
-modified TestSets and code that uses them to fix two bugs - first, TestSets didn't contain all the relevant filtering information (only the SQL clause), and second, the SQL clause would build up incorrectly during drilldown



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2177 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
d50ffb4b0ef514fb969d53b82e23ab41d4d3812e 04-Sep-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> -add easy invalidation functionality
-add "show invalidated tests" option to common panel, disabled by default
-made client submit "exclude_labels" option to exclude invalid tests. this required somewhat widespread changes because it means the global condition is no longer just a SQL string but now a collection of parameters
-add "invalidate tests" option to spreadsheet/table context menu, and button to test detail view. it's really just a shortcut to add the "invalidated" label.
-added logic to the server to handle "exclude_labels" option. it was done in this generic way because in the future i plan to add a UI to exclude any label or labels.
-force test label names to be unique
-fix a bug in logic to determine all labels assigned to a set of tests
-got rid of auto-refresh when changing between spreadsheet and table after the condition had changed

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2099 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
21085f22a3c616ff12bf80b997187a00e44f851b 19-Aug-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> -fix bug with drilldown on null headers
-make spreadsheet view ignore TEST_NA entries

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2012 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
109c915cd87db289bb100559793c72902832815c 15-Aug-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> -fix bug in spreadsheet view where columns would be misaligned in certain cases. We need to fill the window before matching column widths, because in Firefox filling the window can cause columns to change width.
-fix bug in TKO condition building that would cause a lot of duplication in the condition



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1996 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java
35444864c7b6f49865a7e17aa0052987b72e4728 08-Aug-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Initial checkin of new TKO interface.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1959 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/ConditionTestSet.java