package org.aperteworkflow.editor.processeditor.tab.permission;
import com.vaadin.ui.VerticalLayout;
import org.aperteworkflow.editor.domain.ProcessConfig;
import org.aperteworkflow.editor.ui.permission.PermissionEditor;
import org.aperteworkflow.editor.vaadin.DataHandler;
import java.util.Collection;
public class ProcessPermissionTab extends VerticalLayout implements DataHandler {
private ProcessConfig processConfig;
private PermissionEditor permissionEditor;
private ProcessPermissionProvider permissionProvider;
public ProcessPermissionTab() {
initComponent();
}
private void initComponent() {
permissionProvider = new ProcessPermissionProvider();
permissionEditor = new PermissionEditor();
permissionEditor.setProvider(permissionProvider);
setMargin(true);
addComponent(permissionEditor);
}
@Override
public void loadData() {
// load the permissions
permissionProvider.setPermissions(processConfig.getProcessPermissions());
// load the editor
permissionEditor.loadData();
}
@Override
public void saveData() {
// save the editor
permissionEditor.saveData();
// save permissions
processConfig.setProcessPermissions(permissionEditor.getPermissions());
}
@Override
public Collection<String> validateData() {
return permissionEditor.validateData();
}
public ProcessConfig getProcessConfig() {
return processConfig;
}
public void setProcessConfig(ProcessConfig processConfig) {
this.processConfig = processConfig;
}
}