head	1.19;
access;
symbols;
locks; strict;
comment	@# @;


1.19
date	2001.08.21.17.26.45;	author leonardr;	state Exp;
branches;
next	1.18;

1.18
date	2001.08.21.17.11.05;	author leonardr;	state Exp;
branches;
next	1.17;

1.17
date	2001.08.21.16.34.12;	author leonardr;	state Exp;
branches;
next	1.16;

1.16
date	2001.08.21.01.14.22;	author leonardr;	state Exp;
branches;
next	1.15;

1.15
date	2001.08.20.22.29.22;	author tfahrner;	state Exp;
branches;
next	1.14;

1.14
date	2001.08.20.19.09.12;	author leonardr;	state Exp;
branches;
next	1.13;

1.13
date	2001.08.03.05.45.07;	author tfahrner;	state Exp;
branches;
next	1.12;

1.12
date	2001.08.03.04.44.24;	author tfahrner;	state Exp;
branches;
next	1.11;

1.11
date	2001.07.31.01.18.39;	author tfahrner;	state Exp;
branches;
next	1.10;

1.10
date	2001.07.31.00.01.56;	author tfahrner;	state Exp;
branches;
next	1.9;

1.9
date	2001.07.30.21.59.23;	author tfahrner;	state Exp;
branches;
next	1.8;

1.8
date	2001.07.30.19.29.58;	author leonardr;	state Exp;
branches;
next	1.7;

1.7
date	2001.06.19.18.41.02;	author jefflove;	state Exp;
branches;
next	1.6;

1.6
date	2001.06.12.04.53.43;	author dlr;	state Exp;
branches;
next	1.5;

1.5
date	2001.06.12.00.26.29;	author leonardr;	state Exp;
branches;
next	1.4;

1.4
date	2001.06.08.21.25.49;	author beril;	state Exp;
branches;
next	1.3;

1.3
date	2001.06.01.17.06.33;	author leonardr;	state Exp;
branches;
next	1.2;

1.2
date	2001.05.24.18.48.46;	author dlr;	state Exp;
branches;
next	1.1;

1.1
date	2001.05.23.02.03.12;	author dlr;	state Exp;
branches;
next	;


desc
@@


1.19
log
@Added convenience method for ease in displaying an event's objects.
@
text
@
<div id="tasklist" class="app">

 <h3>Task List</h3>

#if( $eventQueue.isEmpty() )
 <p>No tool events are currently queued.</p>
#else
 #if( $eventQueue.size() == 1 )
  <p>1 tool event is currently queued.</p>
 #else
  <p>$eventQueue.size() tool events are currently queued.</p>
 #end 

 <table border="1" cellspacing="2" cellpadding="3" width="100%">
  <tr>
   <th>ID</th>
   <th>Timestamp</th>
   <th>Tool</th>
   <th>Command</th>
   <th>Objects</th>
   <th>Failures</th>
  </tr>

  #set ($rowClass="a")
  #foreach( $event in $eventQueue )
   <tr class="$rowClass">
    <td>$event.getID()</td>
    <td>$event.getTimestamp()</td>
    <td>$event.getTool()</td>
    <td>$event.getName()</td>
    <td>
     #set ($counter = 0)
     #foreach ($object in $event.getObjects())
      $object
      #if ($counter % 2 == 1)<br>#end
      #set ($counter = $counter + 1)
     #end
    </td>
    <td>
     #set($list = $failures.get($event.getID()))
     #if ($list.size() > 1)
      <b>First failure:</b> $list.get(0) 
      <blockquote>$list.get(1)</blockquote>
     #end
     #if ($list.size() > 3)
      <p><b>Most recent failure:</b> $list.get(2) 
      <blockquote>$list.get(3)</blockquote>
     #end
    </td>
   </tr>
   #if ($rowClass.equals("a"))
     #set ($rowClass="b")
   #else 
     #set ($rowClass="a")
   #end
  #end
 </table>
#end

#if( $tasks.isEmpty() )
 <p>No tasks are currently queued.</p>
#else
 #if( $tasks.size() == 1 )
 <p>1 task is currently queued.</p>
 #else
 <p>$tasks.size() tasks are currently queued.</p>
 #end

 <table border="1" cellspacing="2" cellpadding="3" width="100%">
  <tr>
   <th>ID</th>
   <th>Timestamp</th>
   <th>Component</th>
   <th>On Behalf Of</th>
   <th>Affected Object ID</th>
   <th>Command</th>
   <th>Arguments</th>
  </tr>
#set ($rowClass="a")
#foreach( $task in $tasks )
  <tr class="$rowClass">
   <td>$task.getID()</td>
   <td>$task.getTimestamp()</td>
   <td>$task.getComponent()</td>
   <td>$task.getUser().getLoginName()</td>
   <td>$task.getAffectedObjectId()</td>
   <td>$task.getCommand()</td>
   <td>$task.getArgumentsHumanReadable()</td>
  </tr>
  #if ($rowClass.equals("a"))
    #set ($rowClass="b")
  #else 
    #set ($rowClass="a")
  #end

 #end
 </table>
#end

</div>
@


1.18
log
@Use a List instead of an array for easier use in templates.
@
text
@d32 7
a38 14
    #set ($classes = $event.getPeers())
    #set ($ids = $event.getKeys())
    <td><table>
     <tr>
      #foreach ($a in $classes)
       <td>$a</td>
      #end
     </tr>
     <tr>
      #foreach ($a in $ids)
       <td>$a</td>
      #end
     </tr>
    </table>
a41 1
     #set($counter = 0)
d52 5
a56 4
  #if ($rowClass.equals("a"))
    #set ($rowClass="b")
  #else 
    #set ($rowClass="a")
a57 2

 #end
@


1.17
log
@Added failure logging to events. The ToolEventPropagationService keeps track of the first and the most recent failure for each event.
@
text
@d50 7
a56 10
     #foreach ($i in $list)
      #if ($counter == 0)
       <b>First failure:</b>
      #elseif ($counter == 2) 
       <p><b>Most recent failure:</b>      
      #end
      #if ($counter == 1 || $counter == 3)<blockquote>#end    
      $i
      #if ($counter == 1 || $counter == 3)</blockquote>#else<br>#end
      #set($counter = $counter+1)
@


1.16
log
@Tool events are now retried indefinitely. Generic tool events are rebroadcast to the specific tools which had failures.
@
text
@d22 1
d46 15
@


1.15
log
@first wave of ui revisions. expect minor breakage. working on it.
@
text
@d19 1
d29 1
@


1.14
log
@Tool event propagation now has singleton failover (but not persistence over restarts).
@
text
@a0 1
#parse( "Admin_Nav.vm" )
a2 3
<h2>
 #parse( "Nomen.vm" )
</h2>
@


1.13
log
@getting rid of "tasks" nav; backing out of earlier ill-considered commit
@
text
@d10 49
@


1.12
log
@restoring admin options nav, fixing html in ProjectAdd
@
text
@a6 3
#if( !$loginUser.isAnonymous() && $servletTaskBar.available($servletName))
#parse("$servletTaskBar.getPath($servletName)")
#end
@


1.11
log
@included "task nav" below headlines
@
text
@d1 1
@


1.10
log
@pulled admin options, added headlines
@
text
@d6 4
@


1.9
log
@html usage revision to synch with scarab
@
text
@a0 1
#parse( "Admin_Nav.vm" )
d3 3
@


1.8
log
@Stop coddling IZ in terms of user accounts; assume that IZ can get its permissions from Helm through the XML-RPC interface.
@
text
@d3 1
a3 1
<div id="tasklist">
d15 1
a15 1
 <table border="0" cellspacing="0" cellpadding="2" width="100%">
@


1.7
log
@html usage revision
@
text
@a5 50
#set($numberOfUnrebuiltProjects = $unrebuiltProjects.size())
#if($numberOfUnrebuiltProjects == 0)
 <p>There are currently no unfulfilled issue tracking rebuild requests.</p>
#elseif($numberOfUnrebuiltProjects == 1)
 <p>There is currently 1 unfulfilled issue tracking rebuild request.</p>
#else
 <p>There are currently $numberOfUnrebuiltProjects unfulfilled issue tracking rebuild requests.</p>
#end

#if($numberOfUnrebuiltProjects > 0)
 <table border="0" cellspacing="0" cellpadding="2" width="100%">
  <tr>
   <th>Project ID</th>
   <th>Request Date</th>
  </tr>
#set ($rowClass="a")
 #foreach ($project in $unrebuiltProjects)
  <tr class="$rowClass">
   <td>$project.getDescriptor()</td>
   <td>$project.getStamp()</td>
  </tr>
  #if ($rowClass.equals("a"))
    #set ($rowClass="b")
  #else 
    #set ($rowClass="a")
  #end

 #end
 </table>
#end

#set($numberOfFailures = $failures.size())
<p>
#if($numberOfFailures == 0)
There are currently no unresolved issue tracking rebuild failures.
#elseif($numberOfFailures == 1)
There is currently 1 unresolved issue tracking rebuild failure: 
#else
There are currently $numberOfFailures unresolved issue tracking rebuild failures:
#end
</p>

#if($numberOfFailures != 0)
<ul>
#foreach ($failedProject in $failures)
 <li>$failedProject.getName()</li>
#end
</ul>
#end

@


1.6
log
@Added spacing.
@
text
@d38 1
d40 1
a40 1
 <p>There are currently no unresolved issue tracking rebuild failures.
d42 1
a42 1
 <p>There is currently 1 unresolved issue tracking rebuild failure: 
d44 1
a44 1
 <p>There are currently $numberOfFailures unresolved issue tracking rebuild failures:
d46 1
d48 2
d51 3
a53 1
 $failedProject.getName() &nbsp;
a54 1
</p>
d75 2
a76 1
 #foreach( $task in $tasks )
@


1.5
log
@Added information about persistent rebuild failures.
@
text
@d47 1
a47 1
 $failedProject.getName()
d90 1
a90 1
</div>@


1.4
log
@recoded the html according to new css/html standards
@
text
@d37 14
@


1.3
log
@Added section to TaskList to display currently unfulfilled issue tracking rebuild requests.
@
text
@d3 2
a4 5
<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="2" BORDER="0" WIDTH="100%">
 <TR>
  <TD CLASS="Header" COLSPAN="2">Task List</TD>
 </TR>
</TABLE>
a5 2

<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="3" BORDER="0" width="100%">
d8 1
a8 5
 <TR>
  <TD colspan=7 class="PlainText">
   <i>There are currently no unfulfilled issue tracking rebuild requests.</i>
  </TD>
 </TR>
d10 1
a10 1
   <i>There is currently 1 unfulfilled issue tracking rebuild request.</i>
d12 1
a12 1
   <i>There are currently $numberOfUnrebuiltProjects unfulfilled issue tracking rebuild requests.</i>
a13 1
</TABLE>
d16 15
a30 4
 <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="3" BORDER="0" width="100%">
  <TR><TD>Project ID</TD><TD>Request date</TD></TR>
  #foreach ($project in $unrebuiltProjects)
   <TR><TD>$project.getDescriptor()</TD><TD>$project.getStamp()</TD></TR>
d32 3
a34 1
 </TABLE>
a36 1
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="3" BORDER="0" width="100%">
d38 1
a38 1
<TR><TD colspan=7 class="PlainText"><i>No tasks are currently queued.</i></TD></TR>
a39 1
 <TR><TD colspan=7 class="PlainText">
d41 1
a41 1
  1 task is currently queued.
d43 1
a43 1
  $tasks.size() tasks are currently queued.
d45 11
a55 10
 </TD></TR>
 <TR>  
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">ID</TD>
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">Timestamp</TD>
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">Component</TD>
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">On Behalf Of</TD>
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">Affected Object ID</TD>
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">Command</TD>
  <TD class="ProjectDownloadHeader" valign="top" bgcolor="#efefef">Arguments</TD>
 </TR>
d57 15
a71 9
  <TR>
   <TD class="PlainText" valign="top">$task.getID()</TD>
   <TD class="PlainText" valign="top">$task.getTimestamp()</TD>
   <TD class="PlainText" valign="top">$task.getComponent()</TD>
   <TD class="PlainText" valign="top">$task.getUser().getLoginName()</TD>
   <TD class="PlainText" valign="top">$task.getAffectedObjectId()</TD>
   <TD class="PlainText" valign="top">$task.getCommand()</TD>
   <TD class="PlainText" valign="top">$task.getArgumentsHumanReadable()</TD>
  </TR>
d73 1
a74 11
</TABLE>

</FORM>








d76 1
@


1.2
log
@Removed BRAND_TEMPLATE_ROOT, SERVLET_TEMPLATE_ROOT, and SANDBOX from use in #include and #parse directives (deprecated by multiple template paths).
@
text
@d11 13
d25 10
@


1.1
log
@Adding Velocity templates.
@
text
@d1 1
a1 1
#parse( "$BRAND_TEMPLATE_ROOT/Admin_Nav.vm" )
@

