History log of /external/autotest/frontend/client/src/autotest/afe/HostSelector.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6f27d4f22a1ba5063968b8c322fa0845f3279ade 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch3

Merge to trunk@4817

BUG=
TEST=

Review URL: http://codereview.chromium.org/3554003

Change-Id: I83376bc7d28104ec2678e157eadbe7df7c05c0e0
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
517d95a1ef4edb04da427763f86068a447d45ec7 29-Sep-2010 Benson Leung <bleung@chromium.org> Revert "Merge remote branch 'cros/upstream' into tempbranch2"

This reverts commit 25fc6d1f28e54c46689f12d3b93c2540ef45323a.

TBR=ericli@chromium.org

Review URL: http://codereview.chromium.org/3541002

Change-Id: Ib0165b19bfdf02264f8a6a74ddf3ae74c8c0f7df
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
25fc6d1f28e54c46689f12d3b93c2540ef45323a 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch2

Merged to trunk@4816.

BUG=
TEST=we will build a new autotest server instance, and keep cautotest running and then later do a cname switch.

Review URL: http://codereview.chromium.org/3511003

Change-Id: Iee5f52f45f28f84927d6c6f9a74edc370d40288a
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
8a7f36583afe076a7198d1b34fe109aa491dc277 06-May-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Remove SimpleHyperlink and replace with Anchor, which is a built-in class that
does the same thing.

Signed-off-by: James Ren <jamesren@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4480 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
2275ef1f0f92093cd9bb406acf5c3fbc0bd47b6b 12-Apr-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Implement creation and cloning of hostless jobs from AFE Create Job tab

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4405 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
3386534fd1e2d354cf983efb3a3ae9d9b4cd4540 12-Feb-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Change the "exclude only if needed labels" selector in AFE host tables to "exclude atomic groups". The "only if needed" labels feature is entirely deprecated, and there's demand for this new atomic groups filter.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4234 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
4879914c122f4ed97eae3b08c5af1930fd75b39d 13-Nov-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a bug where hosts in a cloned job weren't removed when deselecting the host from the "browse hosts" table. This again turned out to be a relatively large change for the size of the problem, because I chose to make some refactorings to attack some of the design problems the were behind the issue in the first place.

The core issue was that the ArrayDataSource was using a plain SortedSet<JSONObject> to hold the selected hosts. This is good because we want to keep them sorted, but it's bad because it uses the default object equality for JSONObjects, but we want to use a special equality based on ID or hostname. We normally accomplish that with JSONObjectSet, but that doesn't get us the sorting. JSONObjectSet is sort of a hack in the first place; the proper solution is to use custom objects that override equality.

As a first step towards that approach, I created a Host class under the models autotest.afe.models package. In order to minimize the scope of this change, I made it override JSONObject, so that we can move incrementally. I made it override equality and made HostDataSource convert the results to Host objects before returning them.

Unfortunately, I ran into a second problem. DataSource passes back results in a JSONArray. Since JSONArrays use native JS objects for storage, the objects you get out of them are always real JSONObjects, constructed on the fly -- not just declared type, but actual type. Even if you put Hosts in, they'll effectively be converted back to plain JSONObjects when you take them out. This is a reflection of a second design problem -- we shouldn't use JSONArrays to pass data around within the program. So I changed DataSource to convert results to List<JSONObject> and pass the data back that way. This required minor changes across many files, but nothing drastic anywhere.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3943 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
b9c6617bdc063b3b4aa760a0a45190ee069139fd 13-Nov-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Modify DynamicTableSelectionListener so that when select "none" is clicked, only deselect items matching the current filters. This turned out to be considerably trickier than i thought, because in order to do this properly and efficiently, it has to work like this: when "none" is clicked, make an RPC call for all the currently filtered items that fall within the currently selected set. We do this by making a new request to the table's active DataSource with the current filtering params plus a list of selected item IDs. There are two problems here:

1) Not all tables show DB objects -- in particular, the host detail view table when "show verifies/repairs/cleanups" is selected, and the TKO table view when grouping is active. For these tables, there's no way to filter on selected items by ID. Fortunately, these tables also happen to not be prone to the original issue, because they can't be filtered. So I added some code to only apply this new logic to tables that have active user-controlled filters. This is pretty ugly from a design point of view, but I had to take a practical approach -- it works, the code is clean, and I couldn't think of any workable alternatives.

2) The DataSource interface was poorly designed such that an RpcDataSource was stateful (and mutated every time a new request was made), so there was no way to make a new request on a DataSource without messing up its state and therefore potentially messing up the table using it. To get around this, I redesigned the interface to use a separate Query objects. Now, both the DataSource and the Query objects are immutable, and making a separate query for the "select none" operation is easy. (This actually also encouraged a change to DynamicTable to be much more efficient by avoiding many unnecessary get_num_*() calls.)

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3941 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
4cd4763a855d8eb7d25fd4963babc432eb4d25e6 12-Oct-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Remove deprecated uses of TableListener, and implement proper
oncontextmenu handling

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3828 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
14444e7ca7923ead8fc52ae98cdb9dee416ab6c5 23-Sep-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Minor updates to new Create Job host selection UI
* make Browse Hosts the default view
* under Specify hostnames, add a checkbox "Allow hosts not in Autotest" to explicitly enable one-time hosts, deselected by default

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3762 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
a5e4d84c9616b0a987e904d3b1d1d3fd9ca1be86 11-Sep-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Removed deprecated ClickListener uses.

Mostly trivial changes. The only significant change was in
autotest.common.ui.SimpleHyperlink.

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3709 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
02ed4bd47471fe77270e5507a7f9759955b3753c 09-Sep-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Reorganization of the host selection UI in the AFE create job view.
* refactor HostSelector into view/presenter (except for tables, which will need to be separately refactored)
* reorganize view into a tabbed format with a unified hostname input tab, a metahost tab and a browse hosts tab, with the selected hosts table alongside as before

Minor changes:
* extracted SimplifiedList interface from MultiListSelectPresenter to a top-level entity
* made ExtendedListBox implement the SimplifiedList interface and got rid of the SimplifiedListWrapper decorator class
* rewrote ArrayDataSource to use a TreeSet so it's actually efficient. this should speed up working with large host selections.
* edited JSONObjectComparator to be consistent with equals() for safety when using with TreeSet
* small change to how widths get set on TabPanels in AFE. rather than setting 100% width on all tab panels' contents using CSS, set it explicitly in CustomTabPanel. there's a quirk with browser layout where a 100% width div inside a table cell will have it's width set larger than the cell containing it. it happens on IE6, FF3 and Chrome so it's probably not something that's going to change. It does go away with the "border box" model, which can be enabled with nonstandard CSS attributes, but it's easy enough to work around here that that's not worth it.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3673 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
9e494cc00c53f9dd0fabec3ef675cb874a9130ad 31-Aug-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Change how we construct the basic page layout in AFE and TKO. The TabView class was sneaking around with RootPanels and DOM elements, effectively doing what HTMLPanel was intended to do in a naughty way. GWT 1.5 was naive enough to let that go on behind its back (although it wasn't safe), but GWT 1.6 won't have any of it (read: assertion errors). So change TabView to use an HTMLPanel properly, and change all the views to construct their layouts the new, nice way.

More info, in an old email from Joel Webber: http://markmail.org/message/xliklhgn5vvuibm4#query:%22A%20widget%20that%20has%20an%20existing%20parent%20widget%20may%20not%20be%20added%20to%20the%20detach%20list%22+page:1+mid:xliklhgn5vvuibm4+state:results

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3630 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
43a3d26e49662d06e145ed94a0c2dfb2b455126f 12-Nov-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add a checkbox 'exclude "only if needed" labels' to host lists in AFE, checked by default in the create job view.
-add exclude_only_if_needed_labels argument to get_hosts() and get_num_hosts() RPCs
-move some code from tko.models.TestViewManager up into model_logic, since AFE now needs it to create a custom join for doing many-valued exclusion



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2405 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.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/afe/HostSelector.java
9dbdcda5104991cbf344ea5cba1aa58e1af444f3 14-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add feature to abort individual host queue entries the job detail and host detail pages. Performed a few other cleanups along the way.
-refactor TableActionsPanel, extract separate TableSelectionPanel
-make TableDecorator support a SelectionManager and a TableActionsPanel (or selection panel or other such control) just above the paginator. this makes it really easy to add selection capability, selection checkboxes, and an actions menu to any table.
-refactor TableDecorator in general since it kinda sucked
-change all existing code that does table selection to use the new TableDecorator support. this include job list view, the create job host selector (which now uses the common selection links instead of its old buttons), and tko.TableView.
-add selection support + a bulk abort action to the tables in job detail view and host detail view. this itself was easy given the above refactorings.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2283 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
8c9b839c2f5073a755952a8a865a04db3b2d4547 30-Sep-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> add primitive support for fixed header values. fixed headers can be given as a comma- or whitespace-separated list of values. they will serve to both limit to results to the given values (something that could just as well be done with the WHERE clause, but I figured people would want this behavior) + force all given values to be included, even if it causes empty rows.
* add support to GroupDataProcessor + relevant RPCs in Django to support fixed header values, but *only* for single headers (i.e. no composite header support)
* add text box to GWT spreadsheet UI, accessible only in single-header mode. box accepts comma- or whitespace-separated list of values.
* add necessary code to process fixed headers + pass them to server, and to store in history URL



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2204 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
0dc911ab62ab6cca016ad5c28b0c35e86895f588 03-Sep-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Prevent adding of blank one-time host. Blank entry or entry preceded
with whitespace will no longer add an empty one-time host.

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2086 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
76d9739461e614e04120383294974cc300fafa9d 08-Aug-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fixing removing metahosts from the selected hosts in Create Job.
Removing metahosts should now work properly.

Risk: low
Visibility: medium (UI bug fix)

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1961 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
2f3facb29e220f88cf7b4c4d75f8e272967c21e7 31-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> One-time host control in Create Job now supports comma- and whitespace-
separated lists of hosts.

Risk: low
Visibility: medium (UI functionality change)

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1936 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
c3afc99304e4d6ada6eaaaa0a1513e408ecca6eb 28-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> -move "select visible" logic into SelectionManager from HostSelector
-make JobListView "select all" link only select visible



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1918 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
6eefdea631039525bd76ddda605ccd3a4cb97c5f 24-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed bug in Create Job that did not allow user to deselect a one-time
host after it had been added to the host list.

Risk: low
Visbility: medium (bug fix)

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1889 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
5524adf7fc9d923ac3b6f7e7fa72158a5625460b 21-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> -unified code for table actions (select all/none and table-wide actions menu) between AFE and new TKO
-extracted non-TKO-specific code for ContextMenu into common.ui.ContextMenu
-moved TableActionsPanel to common.ui
-made JobListView use TableActionsPanel instead of its old private version of it
-made AfeClient module use standard.css stylesheet, since TableActionsPanel depends on it
-added checkbox to host tables to enable/disable filtering on ACL-accessible hosts, and got rid of now-unnecessary RpcHostTable class



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1873 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
9f8a27b21824eb4a0f1c977ead46aea269b66e53 14-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> change DataSource (and subclasses) and DynamicTable to support multi-level sorting (sorting on multiple fields)


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1830 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
9d821ab7d97c677a63589e6d71ee3c9da46f7077 11-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Made use of the new Widget functionality in DataTable and added checkboxes to
JobTable. JobListView now makes use of the SelectionManager and its checkboxes
to allow mulitple persistent selection of entries. This required some small
change to the behvavior of SelectionManager -- namely that it no longer
subscribes to the table itsef. This required some change to HostSelector which
acts on HostTable (it now does the listening to the table and calls the
SelectionManager methods directly). Added hyperlinks for "Select All" "DeSelect
All" and "Abort Selected" to the JobListView. Added a new rpc call "abort_jobs"
which takes a list of ids of jobs to abort.

Signed-off-by: Travis Miller <raphtee@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1809 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
b8471e33ed22512001ec4cec8c33fdf01f32eb62 03-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Added a new input that allows used to specify a one-time host when
creating a job. The job will be run against that host once, and the
host will not appear in the "Available hosts" selector.

Risk: medium (deleting records from database)
Visibility: medium (adding an input field)


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1768 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
a8709c5d47fa6a2dfed0604c187afe86a72587a0 03-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Changing the Requeue Job button to redirect and populate the Create Job
interface so that the user can modify the cloned job.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1766 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
6bc47015cce0ebc2fc255d3950bfeaf4851f36fd 03-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Refactoring to eliminate warnings and (slightly) improve performance.
Added @Override annotations, and added parameterizations for generic
collections. Made small performance tweaks.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1761 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
e3f6868dac3b4c4714637d12b93d97823011a35c 05-Jun-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> GWT reorg part 3


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1614 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/HostSelector.java
ee4baa6495590c14c933f1fafa37d1843bbee996 05-Jun-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> GWT reorg step 1. This is just too difficult to do in one step. This temporarily breaks GWT but we'll just have to accept that. It'll be fixed soon.


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