public void buttonClick(ClickEvent event) { try { if (event.getButton().equals(saveBtn)) { save(); close(); } else if (event.getButton().equals(addBtn)) { LightProcessDefinition lpd = (LightProcessDefinition) processesComboBox.getValue(); addTableRow(lpd); processesComboBox.removeItem(lpd); } else if (event.getButton().equals(deleteBtn)) { delete(); close(); } else if (event.getButton() instanceof TableLinkButton) { LightProcessDefinition lpd = (LightProcessDefinition) ((TableLinkButton) event.getButton()).getTableValue(); table.removeItem(lpd); processesComboBox.addItem(lpd); processesComboBox.setItemCaption( lpd, lpd.getLabel() + " (version " + lpd.getVersion() + ")"); } else { close(); } } catch (Exception ex) { ex.printStackTrace(); showError(ex.getMessage()); } }
private void addTableRow(LightProcessDefinition pd) { Item woItem = table.addItem(pd); woItem.getItemProperty("name").setValue(pd.getLabel()); woItem.getItemProperty("version").setValue(pd.getVersion()); woItem.getItemProperty("deployedBy").setValue(pd.getDeployedBy()); TableLinkButton tlb = new TableLinkButton( ProcessbaseApplication.getCurrent().getPbMessages().getString("btnRemove"), "icons/cancel.png", pd, this); woItem.getItemProperty("actions").setValue(tlb); }
public void refreshTable() { try { table.removeAllItems(); Collection<LightProcessDefinition> processes = ProcessbaseApplication.getCurrent() .getBpmModule() .getLightProcessDefinitions(ProcessState.ENABLED); for (LightProcessDefinition pd : processes) { if (pd.getCategoryNames().contains(category.getName())) { addTableRow(pd); } else { Item woItem = processesComboBox.addItem(pd); String caption = pd.getLabel() != null ? pd.getLabel() : pd.getName(); processesComboBox.setItemCaption(pd, caption + " (version " + pd.getVersion() + ")"); } } table.setSortContainerPropertyId("name"); table.setSortAscending(true); table.sort(); } catch (Exception ex) { ex.printStackTrace(); showError(ex.getMessage()); } }
private void save() throws Exception { for (Object object : table.getContainerDataSource().getItemIds()) { LightProcessDefinition lpd = (LightProcessDefinition) object; Set<String> cats = lpd.getCategoryNames(); cats.add(category.getName()); ProcessbaseApplication.getCurrent().getBpmModule().setProcessCategories(lpd.getUUID(), cats); } for (Object object : processesComboBox.getItemIds()) { LightProcessDefinition lpd = (LightProcessDefinition) object; Set<String> cats2 = lpd.getCategoryNames(); cats2.remove(category.getName()); ProcessbaseApplication.getCurrent().getBpmModule().setProcessCategories(lpd.getUUID(), cats2); } }