@Override public Panel getTaskPanel(Task task, String wicketPanelId) throws TaskboxException { List<PanelRegistryEntry> panels = persistence.query(new PanelRegistryEntry(task.getTaskType())); Class<? extends Panel> panelClass; if (panels.size() > 0) { panelClass = panels.get(0).getPanelClass(); } else { panelClass = TaskPanel.class; } try { Constructor<? extends Panel> panelConstructor = panelClass.getConstructor(String.class, Task.class); return panelConstructor.newInstance(wicketPanelId, task); } catch (Exception e) { throw new TaskboxException(e); } }
public UserActionsPanel(String id, Task t) { super(id); task = t; Link<Task> link = new Link<Task>("taskLink") { @Override public void onClick() { try { Panel newPanel = webtaskboxService.getTaskPanel(task, "taskPanel"); newPanel.setOutputMarkupId(true); panel.replaceWith(newPanel); panel = newPanel; } catch (TaskboxException e) { LOGGER.error("Taskbox panel could not be started", e); } } }; link.add(new Label("linkLabel", String.format("%s (%s)", task == null ? "null" : task.getName(), task == null ? "null" : task.getTaskType()))); add(link); }
@Override public int compare(Task arg0, Task arg1) { int ret = 0; try { if (sp.getProperty().equals("taskId")) { ret = arg0.getTaskId().compareTo(arg1.getTaskId()); } else if (sp.getProperty().equals("taskType")) { ret = arg0.getTaskType().compareTo(arg1.getTaskType()); } else if (sp.getProperty().equals("description")) { ret = arg0.getDescription().compareTo(arg1.getDescription()); } else if (sp.getProperty().equals("taskCreationTimestamp")) { ret = arg0.getTaskCreationTimestamp().compareTo(arg1.getTaskCreationTimestamp()); } } catch (NullPointerException ex) { ret = -1; } if (!sp.isAscending()) { return ret * -1; } return ret; }
public boolean match(Task task) { if (getTaskId() != null) { if (!task.getTaskId().startsWith(getTaskId())) { return false; } } if (getTaskType() != null) { if (!task.getTaskType().startsWith(getTaskType())) { return false; } } if (getDescription() != null) { if (!(task.getDescription().toLowerCase().indexOf(getDescription().toLowerCase()) > -1)) { return false; } } return true; } }
add(new Label("tasktype", task.getTaskType() != null ? task.getTaskType() : "N/A"));