protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 2; composite.setLayout(gridLayout); Work work = (Work) getValue(); Label nameLabel = new Label(composite, SWT.NONE); nameLabel.setText("Name: "); Text nameText = new Text(composite, SWT.NONE); nameText.setEditable(false); GridData gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.horizontalAlignment = GridData.FILL; nameText.setLayoutData(gridData); String name = work.getName(); nameText.setText(name == null ? "" : name); Set<ParameterDefinition> parameters = workDefinition.getParameters(); for (ParameterDefinition param : parameters) { Label label = new Label(composite, SWT.NONE); label.setText(param.getName() + ": "); Text text = new Text(composite, SWT.NONE); gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.horizontalAlignment = GridData.FILL; text.setLayoutData(gridData); texts.put(param.getName(), text); Object value = work.getParameter(param.getName()); text.setText(value == null ? "" : value.toString()); } return composite; }
protected Work updateValue(Work value) { Work work = new WorkImpl(); work.setName(value.getName()); for (Map.Entry<String, Text> entry : texts.entrySet()) { String text = entry.getValue().getText(); work.setParameter(entry.getKey(), "".equals(text) ? null : text); } work.setParameterDefinitions(value.getParameterDefinitions()); return work; }
public Work getWork() { if (work == null) { work = new WorkImpl(); Work sourceWork = getDefinition().getWork(); work.setName(sourceWork.getName()); for (ParameterDefinition pd : sourceWork.getParameterDefinitions()) { work.addParameterDefinition(new ParameterDefinitionImpl(pd.getName(), pd.getType())); } for (Entry<String, Object> entry : sourceWork.getParameters().entrySet()) { work.setParameter(entry.getKey(), entry.getValue()); } work.setParameter("NodeName", getName()); work.setParameter( PeopleAssignmentHelper.BUSINESSADMINISTRATOR_ID, TableItem.getPlannerRoles(this)); } return work; }