private void createViewsMap() { List<View> viewList = getViewList(); m_viewsMap = new HashMap<String, View>(viewList.size()); for (View view : viewList) { m_viewsMap.put(view.getName(), view); } }
public Object generateCell(Table source, final Object itemId, Object columnId) { final Optional<RowDef> rowDef = view.getRowDef((String) itemId); final Optional<ColumnDef> columnDef = view.getColumnDef((String) columnId); int rowIndex = view.getRows().indexOf(rowDef.orElse(null)); int colIndex = view.getColumns().indexOf(columnDef.orElse(null)); SurveillanceStatus surveillanceStatus = m_cells[rowIndex][colIndex]; Label label = new Label(surveillanceStatus.getDownEntityCount() + " of " + surveillanceStatus.getTotalEntityCount()); label.setSizeFull(); label.addStyleName(surveillanceStatus.getStatus().toLowerCase()); return label; } });
/** {@inheritDoc} */ @Override public Integer getHeaderRefreshSeconds(final String viewName) { return m_surveillanceConfigDao.getView(viewName == null ? m_surveillanceConfigDao.getDefaultView().getName() : viewName).getRefreshSeconds(); }
@Override public SurveillanceStatus[][] doInTransaction(TransactionStatus transactionStatus) { final SurveillanceStatus[][] cellStatus = new SurveillanceStatus[view.getRows().size()][view.getColumns().size()]; for (int rowIndex = 0; rowIndex < view.getRows().size(); rowIndex++) { for (int colIndex = 0; colIndex < view.getColumns().size(); colIndex++) { final Collection<OnmsCategory> rowCategories = getOnmsCategoriesFromViewCategories(view.getRows().get(rowIndex).getCategories()); final Collection<OnmsCategory> columnCategories = getOnmsCategoriesFromViewCategories(view.getColumns().get(colIndex).getCategories()); final SurveillanceStatus status = m_nodeDao.findSurveillanceStatusByCategoryLists(rowCategories, columnCategories); cellStatus[rowIndex][colIndex] = status; } } return cellStatus; } });
titleField.setValue(view.getName()); titleField.setImmediate(true); titleField.setCaption("Title"); refreshSecondsField.setValue(String.valueOf(view.getRefreshSeconds())); refreshSecondsField.setImmediate(true); refreshSecondsField.setCaption("Refresh seconds"); columnsTable.setWidth(25, Unit.PERCENTAGE); final BeanItemContainer<ColumnDef> columns = new BeanItemContainer<ColumnDef>(ColumnDef.class, view.getColumns()); for (ColumnDef columnDef : view.getColumns()) { columnOrder.put(columnDef, c++); rowsTable.setWidth(25, Unit.PERCENTAGE); final BeanItemContainer<RowDef> rows = new BeanItemContainer<RowDef>(RowDef.class, view.getRows()); for (RowDef rowDef : view.getRows()) { rowOrder.put(rowDef, r++);
@Override public void buttonClick(Button.ClickEvent event) { if (!titleField.isValid()) { ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Error", "Please use an unique title", Notification.Type.ERROR_MESSAGE); return; } if (!refreshSecondsField.isValid()) { ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Error", "Please enter a valid number in the \"Refresh seconds\" field", Notification.Type.ERROR_MESSAGE); return; } if (columns.getItemIds().isEmpty() || rows.getItemIds().isEmpty()) { ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Error", "You must define at least one row category and one column category", Notification.Type.ERROR_MESSAGE); return; } View finalView = new View(); for (ColumnDef columnDef : columns.getItemIds()) { finalView.getColumns().add(columnDef); } for (RowDef rowDef : rows.getItemIds()) { finalView.getRows().add(rowDef); } finalView.setName(titleField.getValue()); finalView.setRefreshSeconds(Integer.parseInt(refreshSecondsField.getValue())); saveActionListener.save(finalView); close(); } });
setColumnHeader("", view.getName()); setColumnExpandRatio("", 1.0f); for (ColumnDef columnDef : view.getColumns()) { m_allColumnCategories.addAll(getOnmsCategoriesForNames(columnDef.getCategoryNames())); for (RowDef rowDef : view.getRows()) { m_allRowCategories.addAll(getOnmsCategoriesForNames(rowDef.getCategoryNames()));
private ColumnDef getColumnDef(final int colIndex) { return m_view.getColumns().get(colIndex); }
public int getRowCount() { return m_view.getRows().size(); }
/** * {@inheritDoc} */ @Override public void poll(UIEvents.PollEvent pollEvent) { if (m_refreshEnabled) { m_countdown--; } if (m_countdown < 0) { m_countdown = m_view.getRefreshSeconds(); m_surveillanceViewTable.refresh(); } }
@Override public void buttonClick(Button.ClickEvent clickEvent) { String newName; int i = 0; do { i++; newName = "Untitled #" + i; } while (SurveillanceViewProvider.getInstance().containsView(newName)); View view = new View(); view.setName(newName); getUI().addWindow(new SurveillanceViewConfigurationWindow(m_surveillanceViewService, view, new SurveillanceViewConfigurationWindow.SaveActionListener() { @Override public void save(View view) { m_beanItemContainer.addItem(view); SurveillanceViewProvider.getInstance().getSurveillanceViewConfiguration().getViews().add(view); SurveillanceViewProvider.getInstance().save(); ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Data saved", "Surveillance View"); m_table.refreshRowCache(); m_table.sort(new Object[]{"name"}, new boolean[]{true}); } })); } });
@Override public void itemClick(ItemClickEvent itemClickEvent) { String selectedColumn = (String) itemClickEvent.getPropertyId(); final Optional<ColumnDef> columnDef = view.getColumnDef((String) itemClickEvent.getPropertyId()); final Optional<RowDef> rowDef = view.getRowDef((String) itemClickEvent.getItemId()); if (!"".equals(selectedColumn)) { /** * this handles cell clicks */ m_selectedItemId = itemClickEvent.getItemId(); m_selectedPropertyId = itemClickEvent.getPropertyId(); Notification.show(m_selectedItemId + "/" + m_selectedPropertyId + " selected"); if (columnDef.isPresent()) m_selectedRowCategories = getOnmsCategoriesForNames(rowDef.get().getCategoryNames()); if (rowDef.isPresent()) m_selectedColumnCategories = getOnmsCategoriesForNames(columnDef.get().getCategoryNames()); } else { /** * this handles row clicks */ m_selectedItemId = itemClickEvent.getItemId(); m_selectedPropertyId = null; Notification.show(m_selectedItemId + " selected"); if (rowDef.isPresent()) m_selectedRowCategories = getOnmsCategoriesForNames(rowDef.get().getCategoryNames()); m_selectedColumnCategories = m_allColumnCategories; } updateDetailsTable(); markAsDirtyRecursive(); } });
@Override public void headerClick(HeaderClickEvent headerClickEvent) { if ("".equals(headerClickEvent.getPropertyId())) { /** * this handles the upper-left cell */ m_selectedRowCategories = m_allRowCategories; m_selectedColumnCategories = m_allColumnCategories; m_selectedItemId = null; m_selectedPropertyId = null; Notification.show("All entries selected"); } else { /** * this handles the rest of the header cells */ m_selectedItemId = null; m_selectedPropertyId = headerClickEvent.getPropertyId(); m_selectedRowCategories = m_allRowCategories; final Optional<ColumnDef> columnDef = view.getColumnDef((String) headerClickEvent.getPropertyId()); if (columnDef.isPresent()) m_selectedColumnCategories = getOnmsCategoriesForNames(columnDef.get().getCategoryNames()); Notification.show(m_selectedPropertyId + " selected"); } updateDetailsTable(); markAsDirtyRecursive(); } });
titleField.setValue(view.getName()); titleField.setImmediate(true); titleField.setCaption("Title"); refreshSecondsField.setValue(String.valueOf(view.getRefreshSeconds())); refreshSecondsField.setImmediate(true); refreshSecondsField.setCaption("Refresh seconds"); columnsTable.setWidth(25, Unit.PERCENTAGE); final BeanItemContainer<ColumnDef> columns = new BeanItemContainer<ColumnDef>(ColumnDef.class, view.getColumns()); for (ColumnDef columnDef : view.getColumns()) { columnOrder.put(columnDef, c++); rowsTable.setWidth(25, Unit.PERCENTAGE); final BeanItemContainer<RowDef> rows = new BeanItemContainer<RowDef>(RowDef.class, view.getRows()); for (RowDef rowDef : view.getRows()) { rowOrder.put(rowDef, r++);
@Override public void buttonClick(Button.ClickEvent event) { if (!titleField.isValid()) { ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Error", "Please use an unique title", Notification.Type.ERROR_MESSAGE); return; } if (!refreshSecondsField.isValid()) { ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Error", "Please enter a valid number in the \"Refresh seconds\" field", Notification.Type.ERROR_MESSAGE); return; } if (columns.getItemIds().isEmpty() || rows.getItemIds().isEmpty()) { ((SurveillanceViewsConfigUI) getUI()).notifyMessage("Error", "You must define at least one row category and one column category", Notification.Type.ERROR_MESSAGE); return; } View finalView = new View(); for (ColumnDef columnDef : columns.getItemIds()) { finalView.getColumns().add(columnDef); } for (RowDef rowDef : rows.getItemIds()) { finalView.getRows().add(rowDef); } finalView.setName(titleField.getValue()); finalView.setRefreshSeconds(Integer.parseInt(refreshSecondsField.getValue())); saveActionListener.save(finalView); close(); } });
setColumnHeader("", view.getName()); setColumnExpandRatio("", 1.0f); for (ColumnDef columnDef : view.getColumns()) { m_allColumnCategories.addAll(getOnmsCategoriesForNames(columnDef.getCategoryNames())); for (RowDef rowDef : view.getRows()) { m_allRowCategories.addAll(getOnmsCategoriesForNames(rowDef.getCategoryNames()));
@Override public SurveillanceStatus[][] doInTransaction(TransactionStatus transactionStatus) { final SurveillanceStatus[][] cellStatus = new SurveillanceStatus[view.getRows().size()][view.getColumns().size()]; for (int rowIndex = 0; rowIndex < view.getRows().size(); rowIndex++) { for (int colIndex = 0; colIndex < view.getColumns().size(); colIndex++) { final Collection<OnmsCategory> rowCategories = getOnmsCategoriesFromViewCategories(view.getRows().get(rowIndex).getCategories()); final Collection<OnmsCategory> columnCategories = getOnmsCategoriesFromViewCategories(view.getColumns().get(colIndex).getCategories()); final SurveillanceStatus status = m_nodeDao.findSurveillanceStatusByCategoryLists(rowCategories, columnCategories); cellStatus[rowIndex][colIndex] = status; } } return cellStatus; } });
public int getColumnCount() { return m_view.getColumns().size(); }
public int getRowCount() { return m_view.getRows().size(); }
/** * {@inheritDoc} */ @Override public void poll(UIEvents.PollEvent pollEvent) { if (m_refreshEnabled) { m_countdown--; } if (m_countdown < 0) { m_countdown = m_view.getRefreshSeconds(); m_surveillanceViewTable.refresh(); } }