Author: mattmann
Date: Thu Nov 10 07:06:39 2011
New Revision: 1200195

URL: http://svn.apache.org/viewvc?rev=1200195&view=rev
Log:
- OODT-157: refactor HealthMonitor component into the webapp/components package
            reflow webapp in OPSUI to take advantage of now componentized 
HealthMonitor widget. Yay.

Removed:
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/VisibilityAndSortToggler.java
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/VisibilityToggler.java
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/icon_arrow_down.gif
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/icon_arrow_up.gif
Modified:
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.html
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.java

Modified: 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.html
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.html?rev=1200195&r1=1200194&r2=1200195&view=diff
==============================================================================
--- 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.html
 (original)
+++ 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.html
 Thu Nov 10 07:06:39 2011
@@ -3,176 +3,6 @@
 <link rel="stylesheet" type="text/css" href="StatusPage.css"/>
 </wicket:link>
 
-<table id="widenoborder">
-       <tr>
-               <td><font style="font-size:16px;font-weight:bold;">PCS 
Status</font></td>
-               <td>
-               <table style="text-align:right:">
-                       <tr>
-                               <td style="text-align:right:">Current 
Information as of:</td>
-                       </tr>
-                       <tr>
-                               <td style="text-align:right:" 
wicket:id="report_date" id="report_date">2011-01-01T00:00:00.000Z</td>
-                       </tr>
-               </table>
-               </td>
-       </tr>
-       <tr style="vertical-align:top;">
-               <td>
-               <table>
-                       <tr>
-                               <td><font class="heading">Server 
Status:</font></td>
-                       </tr>
-                       <tr>
-                               <td>
-                               <div class="roundtable">
-                               <table style="width:100px;">
-                                       <tr>
-                                               <td class="nowrap" 
id="fm_status">File Manager&nbsp;(<span 
wicket:id="fmurl">http://localhost:9000</span>)</td>
-                                               <td><img 
wicket:id="fmstatus_icon" src="icon_arrow_up.gif"/></td>
-                                       </tr>
-                                       <tr>
-                                               <td class="nowrap" 
id="wm_status">Wokflow Manager&nbsp;(<span 
wicket:id="wmurl">http://localhost:9001</span>)</td>
-                                               <td><img 
wicket:id="wmstatus_icon" src="icon_arrow_down.gif"></td>
-                                       </tr>
-                                       <tr>
-                                               <td class="nowrap" 
id="rm_status">Resource Manager&nbsp;(<span 
wicket:id="rmurl">http://localhost:9002</span>)</td>
-                                               <td><img 
wicket:id="rmstatus_icon" src="icon_arrow_down.gif"></td>
-                                       </tr>
-                               </table>
-                               </div>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td><font class="heading">Crawler 
Status:</font></td>
-                       </tr>
-                       <tr>
-                               <td>
-                               <div class="roundtable">
-                               <table>
-                                  <tr wicket:id="crawler_status_list">
-                                    <td wicket:id="crawler_name_and_url" 
class="crawler_name_and_url">Local File Crawler (http://localhost:9091)</td>
-                                    <td><img wicket:id="crawler_status_icon" 
src="icon_arrow_up.gif" /></td>
-                                  </tr>        
-                                  <wicket:container 
wicket:id="crawler_toggler">
-                                  <wicket:enclosure 
child="crawler_status_more">                          
-                    <tr>
-                      <td wicket:id="crawler_status_more" colspan="2">... 
...</td>
-                                       </tr>
-                                       </wicket:enclosure>
-                                   <tr id="crawler_status_options">
-                                          <td><a 
wicket:id="crawler_status_showall" href="#">See All</a></td>
-                                          <td><a 
wicket:id="crawler_status_hide" "href="#">Hide</a></td>
-                                          <td><a 
wicket:id="crawler_status_sort" href="#">Sorting By Status</a></td>
-                                          <td><a 
wicket:id="crawler_status_unsort" href="#">Unsort</a></td>
-                                       </tr>
-                                       </wicket:container>
-                               </table>
-                               </div>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td><font class="heading">Batch Stub 
Status:</font></td>
-                       </tr>
-                       <tr>
-                               <td>
-                               <div class="roundtable">
-                               <table>
-                                       <tr wicket:id="batch_stub_list">
-                                               <td class="nowrap"><span 
wicket:id="batch_stub_url" 
class="batch_stub_url">http://compute-0-1:2001</span></td>
-                                               <td><img 
wicket:id="batch_stub_status_icon" src="icon_arrow_down.gif" /></td>
-                                   </tr>
-                                   <wicket:container 
wicket:id="batch_stub_toggler">
-                                   <wicket:enclosure child="batch_stub_more">
-                                   <tr>
-                                               <td wicket:id="batch_stub_more" 
colspan="2">... ...</td></tr><tr>                                    
-                                   </tr>
-                                   </wicket:enclosure>
-                                       <tr id="batch_stub_options">
-                                               <td><a 
wicket:id="batch_stub_showall" href="#">See All</a></td>
-                                               <td><a 
wicket:id="batch_stub_hide" href="#">Hide</a></td>
-                                               <td><a 
wicket:id="batch_stub_sort" href="#">Sorting By Status</a></td>
-                        <td><a wicket:id="batch_stub_unsort" 
href="#">Unsort</a></td>
-                                       </tr>
-                                       </wicket:container>
-                               </table>
-                               </div>
-                               </td>
-                       </tr>
-               </table>
-               </td>
-               <td>
-               <table>
-                       <tr>
-                               <td><font class="heading">Job Processing 
Status:</font></td>
-                       </tr>
-                       <tr>
-                               <td>
-                               <div class="roundtable">
-                               <table style="width:100px;">
-                                       <tr wicket:id="jobstatus_list">
-                                         <td class="nowrap">
-                                               <span wicket:id="status_name" 
class="status_name">QUEUED</span> pipelines
-                                     </td>
-                                         <td style="text-align:right"> 
-                                               <a href="#" 
wicket:id="jobstatus_count_link"><span id="status_num_jobs" 
wicket:id="status_num_jobs">250</span></a>
-                                         </td> 
-                                       </tr>
-                                               <wicket:remove>
-                                                <tr><td class="nowrap"><span 
class="status_name">STARTED</span> pipelines</td><td 
style="text-align:right"><a href="#">3</a></td></tr>
-                                                <tr><td class="nowrap"><span 
class="status_name">RSUBMIT</span> pipelines</td><td 
style="text-align:right"><a href="#">45</a></td></tr>
-                                                <tr><td class="nowrap"><span 
class="status_name">PGE_EXEC</span> pipelines</td><td 
style="text-align:right"><a href="#">1000</a></td></tr>
-                                                <tr><td class="nowrap"><span 
class="status_name">CRAWLING</span> pipelines</td><td 
style="text-align:right"><a href="#">4</a></td></tr>
-                                                <tr><td class="nowrap"><span 
class="status_name">FINISHED</span> pipelines</td><td 
style="text-align:right"><a href="#">10000</a></td></tr>
-                                               </wicket:remove>                
                                
-                               </table>
-                               </div>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td><font class="heading">Latest Files 
Ingested:</font></td>
-                       </tr>
-                       <tr>
-                               <td>
-                               <div class="roundtable">
-                               <table>
-                     <tr wicket:id="file_health_list">
-                       <td>
-                                               <a href="#" 
wicket:id="view_product_link"><span wicket:id="file_path" 
class="file_path">/data/archive/products/file1.txt</span></a> at <span 
wicket:id="file_ingest_datetime" 
class="file_ingest_datetime">2011-01-01T00:01:01.001Z</span>
-                                          </td>
-                                        </tr>
-                               </table>
-                               </div>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td><font class="heading">Crawler 
Statistics:</font></td>
-                       </tr>
-                       <tr>
-                               <td>
-                               <div class="roundtable">
-                               <table>
-                                        <tr wicket:id="crawler_health_list">
-                                               <td class="nowrap" 
colspan="2"><span wicket:id="crawler_name" class="crawler_name">Local File 
Crawler</span> Number of Crawls: <span wicket:id="num_crawls" 
class="num_crawls">32</span> Avg Time: <span wicket:id="avg_crawl_time" 
class="avg_crawl_time">5</span> sec
-                                               </td>
-                                          </tr>
-                                       <wicket:container 
wicket:id="crawler_health_toggler">
-                                       <wicket:enclosure 
child="crawler_health_more">
-                                   <tr>
-                                               <td colspan="2" 
wicket:id="crawler_health_more">... ...</td>
-                                   </tr>
-                                   </wicket:enclosure>
-                                   <tr>
-                                               <td><a 
wicket:id="crawler_health_showall" href="#">See All</a></td>
-                                               <td><a 
wicket:id="crawler_health_hide" href="#">Hide</a></td>
-                                       </tr>
-                                       </wicket:container>
-                               </table>
-                               </div>
-                               </td>
-                       </tr>
-               </table>
-               </td>
-       </tr>
-</table>
+<div wicket:id="health_monitor" id="health_monitor"/>
+
 </wicket:extend>
\ No newline at end of file

Modified: 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.java
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.java?rev=1200195&r1=1200194&r2=1200195&view=diff
==============================================================================
--- 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.java
 (original)
+++ 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/status/StatusPage.java
 Thu Nov 10 07:06:39 2011
@@ -17,40 +17,21 @@
 
 package org.apache.oodt.pcs.opsui.status;
 
-//JDK imports
-import java.util.List;
-
 //OODT imports
-import org.apache.oodt.cas.filemgr.metadata.CoreMetKeys;
-import org.apache.oodt.cas.filemgr.structs.Product;
 import org.apache.oodt.pcs.opsui.ProductBrowserPage;
-import org.apache.oodt.cas.metadata.Metadata;
-import org.apache.oodt.pcs.health.CrawlerHealth;
-import org.apache.oodt.pcs.health.CrawlerStatus;
-import org.apache.oodt.pcs.health.JobHealthStatus;
-import org.apache.oodt.pcs.health.PCSDaemonStatus;
-import org.apache.oodt.pcs.health.PCSHealthMonitorReport;
 import org.apache.oodt.pcs.opsui.BasePage;
 import org.apache.oodt.pcs.opsui.OpsuiApp;
 import org.apache.oodt.pcs.opsui.WorkflowInstanceViewerPage;
 import org.apache.oodt.pcs.tools.PCSHealthMonitor;
-import org.apache.oodt.pcs.util.FileManagerUtils;
+import org.apache.oodt.pcs.webcomponents.health.HealthMonitor;
 
 //Wicket imports
 import org.apache.wicket.PageParameters;
-import org.apache.wicket.ResourceReference;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.image.Image;
-import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.ListModel;
 
 /**
  * 
- * A wicket controller for exposing the super awesome power of 
- * the {@link PCSHealthMonitor}.
+ * A wicket controller for exposing the super awesome power of the
+ * {@link PCSHealthMonitor}.
  * 
  * @author mattmann
  * @version $Revision$
@@ -71,167 +52,9 @@ public class StatusPage extends BasePage
     String rmUrlStr = app.getRmUrlStr();
     String crawlerConfFilePath = app.getCrawlerConfFilePath();
     String statesFilePath = app.getStatesFilePath();
-    PCSHealthMonitor mon = new PCSHealthMonitor(fmUrlStr, wmUrlStr, rmUrlStr,
-        crawlerConfFilePath, statesFilePath);
-    final PCSHealthMonitorReport report = mon.getReport();
-
-    add(new Label("report_date", report.getCreateDateIsoFormat()));
-    add(new Label("fmurl", report.getFmStatus().getUrlStr()));
-    add(new Label("wmurl", report.getWmStatus().getUrlStr()));
-    add(new Label("rmurl", report.getRmStatus().getUrlStr()));
-
-    add(new Image("fmstatus_icon", getUpOrDownArrowRef(report.getFmStatus()
-        .getStatus())));
-    add(new Image("wmstatus_icon", getUpOrDownArrowRef(report.getWmStatus()
-        .getStatus())));
-    add(new Image("rmstatus_icon", getUpOrDownArrowRef(report.getRmStatus()
-        .getStatus())));
-
-    ListModel crawlerStatusListModel = new 
ListModel(report.getCrawlerStatus());
-    add(new VisibilityAndSortToggler("crawler_toggler",
-        "crawler_status_showall", "crawler_status_hide", "crawler_status_sort",
-        "crawler_status_unsort", "crawler_status_more", 
crawlerStatusListModel));
-
-    add(new ListView<CrawlerStatus>("crawler_status_list",
-        crawlerStatusListModel) {
-      /*
-       * (non-Javadoc)
-       * 
-       * @see
-       * org.apache.wicket.markup.html.list.ListView#populateItem(org.apache
-       * .wicket.markup.html.list.ListItem)
-       */
-      @Override
-      protected void populateItem(ListItem<CrawlerStatus> statusItem) {
-        CrawlerStatus status = statusItem.getModelObject();
-        String statusString = status.getInfo().getCrawlerName() + " ("
-            + status.getCrawlHost() + ":" + status.getInfo().getCrawlerPort()
-            + ")";
-        statusItem.add(new Label("crawler_name_and_url", statusString));
-        statusItem.add(new Image("crawler_status_icon",
-            getUpOrDownArrowRef(status.getStatus())));
-      }
-    });
-
-    ListModel batchStubStatusListModel = new ListModel(
-        report.getBatchStubStatus());
-    add(new VisibilityAndSortToggler("batch_stub_toggler",
-        "batch_stub_showall", "batch_stub_hide", "batch_stub_sort",
-        "batch_stub_unsort", "batch_stub_more", batchStubStatusListModel));
-
-    add(new ListView<PCSDaemonStatus>("batch_stub_list",
-        batchStubStatusListModel) {
-
-      @Override
-      protected void populateItem(ListItem<PCSDaemonStatus> item) {
-        item.add(new Label("batch_stub_url", 
item.getModelObject().getUrlStr()));
-        item.add(new Image("batch_stub_status_icon", getUpOrDownArrowRef(item
-            .getModelObject().getStatus())));
-
-      }
-    });
-
-    List<JobHealthStatus> jobHealthStatusList = report.getJobHealthStatus();
-    add(new ListView<JobHealthStatus>("jobstatus_list", jobHealthStatusList) {
-      /*
-       * (non-Javadoc)
-       * 
-       * @see
-       * org.apache.wicket.markup.html.list.ListView#populateItem(org.apache
-       * .wicket.markup.html.list.ListItem)
-       */
-      @Override
-      protected void populateItem(final ListItem<JobHealthStatus> item) {
-        item.add(new Label("status_name", item.getModelObject().getStatus()));
-        Link<String> countLink = new Link<String>("jobstatus_count_link",
-            new Model<String>(item.getModelObject().getStatus())) {
-
-          @Override
-          public void onClick() {
-            PageParameters params = new PageParameters();
-            params.add("pageNum", "1");
-            params.add("status", getModelObject());
-            setResponsePage(WorkflowInstanceViewerPage.class, params);
-          }
-        };
-        countLink.add(new Label("status_num_jobs", String.valueOf(item
-            .getModelObject().getNumPipelines())));
-        item.add(countLink);
-      }
-    });
-
-    List<Product> prodList = report.getLatestProductsIngested();
-    final FileManagerUtils fm = new FileManagerUtils(fmUrlStr);
-
-    add(new ListView<Product>("file_health_list", prodList) {
-      /*
-       * (non-Javadoc)
-       * 
-       * @see
-       * org.apache.wicket.markup.html.list.ListView#populateItem(org.apache
-       * .wicket.markup.html.list.ListItem)
-       */
-      @Override
-      protected void populateItem(ListItem<Product> item) {
-        final Product product = item.getModelObject();
-        product.setProductType(fm.safeGetProductTypeById(product
-            .getProductType().getProductTypeId()));
-        product.setProductReferences(fm.safeGetProductReferences(product));
-        final Metadata prodMet = fm.safeGetMetadata(product);
-        final String filePath = fm.getFilePath(product);
-
-        Link link = new Link("view_product_link") {
-          /*
-           * (non-Javadoc)
-           * 
-           * @see org.apache.wicket.markup.html.link.Link#onClick()
-           */
-          @Override
-          public void onClick() {
-            PageParameters params = new PageParameters();
-            params.add("id", product.getProductId());
-            setResponsePage(ProductBrowserPage.class, params);
-          }
-        };
-
-        link.add(new Label("file_path", filePath));
-        item.add(link);
-        item.add(new Label("file_ingest_datetime", prodMet.getMetadata("CAS."
-            + CoreMetKeys.PRODUCT_RECEVIED_TIME)));
-
-      }
-    });
-
-    ListModel crawlerHealthListModel = new ListModel(
-        report.getCrawlerHealthStatus());
-    add(new VisibilityToggler("crawler_health_toggler",
-        "crawler_health_showall", "crawler_health_hide", "crawler_health_more",
-        crawlerHealthListModel));
-
-    add(new ListView<CrawlerHealth>("crawler_health_list",
-        crawlerHealthListModel) {
-      /*
-       * (non-Javadoc)
-       * 
-       * @see
-       * org.apache.wicket.markup.html.list.ListView#populateItem(org.apache
-       * .wicket.markup.html.list.ListItem)
-       */
-      @Override
-      protected void populateItem(ListItem<CrawlerHealth> item) {
-        CrawlerHealth health = item.getModelObject();
-        item.add(new Label("crawler_name", health.getCrawlerName()));
-        item.add(new Label("num_crawls", 
String.valueOf(health.getNumCrawls())));
-        item.add(new Label("avg_crawl_time", String.valueOf(health
-            .getAvgCrawlTime())));
-      }
-    });
-
-  }
-
-  private ResourceReference getUpOrDownArrowRef(String status) {
-    return new ResourceReference(StatusPage.class, "icon_arrow_"
-        + status.toLowerCase() + ".gif");
+    add(new HealthMonitor("health_monitor", fmUrlStr, wmUrlStr, rmUrlStr,
+        crawlerConfFilePath, statesFilePath, ProductBrowserPage.class,
+        WorkflowInstanceViewerPage.class));
   }
 
 }


Reply via email to