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 (<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 (<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 (<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));
}
}