History log of /external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
589cc78019a41fa293d7583a3c1b6dfca42da41b 28-May-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Code cleanup
Whitespace fixes, and addition of newlines at end of some files.
Use StringBuilder.append() rather than String += in loops.
Add equals() and hashCode() for class that implements Comparable.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4567 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.java
758bd7c5b61a6e29853cfd97383ba1fce43f17f2 12-Apr-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Fix display of metahost jobs

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4406 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.java
ea3b3bed4739807f65ce69ee5a9f244acca6bf06 09-Apr-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Fix display of hostless jobs on AFE View Job tab

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4390 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.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/JobStatusDataSource.java
21baa459ea14f96e06212f1f35fcddab9442b3fc 21-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add options to control reboots before and after a job.

-add reboot_before and reboot_after fields to Job, along with enums for each
-add options to create_job RPC for reboot_before and reboot_after
-add options to job create CLI for these fields, and made job stat -v display them
-add widgets to job create page in AFE for these fields and made job detail view display them

-add dirty field to Hosts, defaulting to True, and set to True when a host is locked
-made scheduler set this field when a job runs and clear it when a host is rebooted

-updated scheduler's PidfileRunMonitor to read a new three-line .autoserv_execute format, where the third line contains the number of tests that failed
-made scheduler Job.run() include a RebootTask before the verify task according to the reboot_before option
-made QueueTask.epilog() launch a RebootTask for each host according to the reboot_after option

-updated autoserv to write out a third line to .autoserv_execute containing the number of failed tests.

Other changes:
-added support for displaying Job.run_verify in the CLI (job stat -v) and job detail page on AFE
-updated ModelExtensions to convert BooleanField values to actual booleans. The MySQL Django backend just leaves them as ints (as they are represented in the DB), and it's stupid and annoying (Yes, bool is a subclass of int, so it's often not a problem. But yes, it can be.).
-get rid of use of Job.synch_count since we don't actually support it. I think this was meant for inclusion in a previous change and got left out.
-made the scheduler use the new setup_django_environment stuff to import and use the django models. It doesn't *really* use the models yet -- it just uses the Job.Reboot{Before,After} enum objects -- but this shows we could easily start using the models, and that's definitely the direction I want to go long term.
-refactored PidfileRunMonitor generally and made it a bit more robust by having it email errors for corrupt pidfiles and continue gracefully, instead of just crashing the scheduler
-changed the way Agent.tick() works. now, it basically runs through as much work as it can in a single call. for example, if there's a RebootTask and a VerifyTask, and the RebootTask has just finished, in a single call it will finish up the RebootTask and start the VerifyTask. this used to take two cycles and that was problematic for cases like this one -- the RebootTask would like to set host.status=Ready, but then the host could get snatched up on the next scheduling round, before the VerifyTask got started. This was sort of solved previously by keeping the HostQueueEntry active, and we could apply that approach here by making a new status for HostQueueEntries like "Rebooting". But I prefer this approach as I think it's more efficient, more powerful and easier to work with.

Risk: extremely high
Visibility: new reboot options for jobs, skip verify now displayed in AFE + CLI

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2308 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.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/JobStatusDataSource.java
8ac29b478ab364b28573791e5f22c73830dda95a 17-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add code to perform a translation on the status field to provide a more informative string for the UI.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1863 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.java
58ea6ae3d686ead56eb0459eadafb6f32a39487a 03-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Small performance tweak. Replaced a keySet iterator followed by a
Map.get with an entrySet iterator.

Risk: low
Visibility: low


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1770 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/afe/JobStatusDataSource.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/JobStatusDataSource.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/JobStatusDataSource.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/JobStatusDataSource.java