Class MonitoringRequest
java.lang.Object
ecmwf.ecpds.master.plugin.http.controller.monitoring.MonitoringRequest
The Class MonitoringRequest.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intThe Constant DESTINATIONS_PER_PAGE_OR_COLUMN. -
Constructor Summary
ConstructorsConstructorDescriptionSimplified constructors that only creates a basic unparametrised "productWindow".MonitoringRequest(javax.servlet.http.HttpServletRequest req, MonitoringSessionActionForm ses) Instantiates a new monitoring request. -
Method Summary
Modifier and TypeMethodDescriptionGets the distinct, sorted list of all known product names, regardless of the current product-name filter.Gets the contacts.Gets the destinations.Gets the filtered.static intgetNearestToScheduleIndex(Collection<ProductStatus> productStatuses) Gets the nearest to schedule index.Collection<ecmwf.web.util.bean.StringPair> Gets the network options.getPage()Gets the page.getPages()Gets the pages.Gets the product window.Gets the product window header.ecmwf.ecpds.master.plugin.http.controller.monitoring.MonitoringRequest.StatusGets the status.Collection<ecmwf.web.util.bean.StringPair> Gets the status options.intGets the steps per column.Collection<ecmwf.web.util.bean.StringPair> Gets the type options.Gets the updated.static ProductStatusmergeProductStatuses(String product, List<ProductStatus> cycles) Merges several cycles/times of the same product into a single syntheticProductStatus: the worst (highest severity) status among its non-"none" cycles is used for the color/label (falling back to "none" only if every cycle is "none"), the earliest scheduledTime is kept (so the merged pill sorts alongside its most urgent cycle, consistent withProductStatusComparator), and the most recent lastUpdate/productTime are kept.static voidrefreshContactsList(Map<String, String> contactsPerDestinations) Refresh contacts list.voidSets the page.
-
Field Details
-
DESTINATIONS_PER_PAGE_OR_COLUMN
protected static final int DESTINATIONS_PER_PAGE_OR_COLUMNThe Constant DESTINATIONS_PER_PAGE_OR_COLUMN.
-
-
Constructor Details
-
MonitoringRequest
public MonitoringRequest(javax.servlet.http.HttpServletRequest req, MonitoringSessionActionForm ses) throws TransferException, MonitoringException Instantiates a new monitoring request.- Parameters:
req- the reqses- the ses- Throws:
TransferException- the transfer exceptionMonitoringException- the monitoring exception
-
MonitoringRequest
Simplified constructors that only creates a basic unparametrised "productWindow".- Throws:
TransferException- the transfer exceptionMonitoringException- the monitoring exception
-
-
Method Details
-
refreshContactsList
-
getDestinations
-
getTypeOptions
Gets the type options.- Returns:
- the type options
-
getNetworkOptions
Gets the network options.- Returns:
- the network options
-
getStatusOptions
Gets the status options.- Returns:
- the status options
-
getProductWindow
Gets the product window.- Returns:
- the product window
-
getProductWindowHeader
Gets the product window header.- Returns:
- the product window header
-
getAllProductNames
Gets the distinct, sorted list of all known product names, regardless of the current product-name filter. Used to populate the "Products" picker panel, so that products currently hidden by the filter can still be listed (and re-enabled) from it.- Returns:
- the all product names
-
getStatus
public ecmwf.ecpds.master.plugin.http.controller.monitoring.MonitoringRequest.Status getStatus()Gets the status.- Returns:
- the status
-
getContacts
-
getPage
-
setPage
-
getPages
-
getFiltered
-
mergeProductStatuses
Merges several cycles/times of the same product into a single syntheticProductStatus: the worst (highest severity) status among its non-"none" cycles is used for the color/label (falling back to "none" only if every cycle is "none"), the earliest scheduledTime is kept (so the merged pill sorts alongside its most urgent cycle, consistent withProductStatusComparator), and the most recent lastUpdate/productTime are kept. The number of cycles being merged is stashed in the (otherwise unused, for this kind of entry) "buffer" field, so JSPs can show it (e.g.${pro.buffer}) without needing a new interface method.- Parameters:
product- the product namecycles- the individual per-time entries for this product (non-empty)- Returns:
- the merged, synthetic entry, with an empty "time"
-
getNearestToScheduleIndex
Gets the nearest to schedule index.- Parameters:
productStatuses- the product statuses- Returns:
- The position within the where the product to sent next is.
-
getUpdated
-
getStepsPerColumn
public int getStepsPerColumn()Gets the steps per column.- Returns:
- the steps per column
-