Project

General

Profile

1
package eu.dnetlib.repo.manager.client.validator.test.wizard;
2

    
3
import com.google.gwt.core.client.GWT;
4
import com.google.gwt.user.client.rpc.AsyncCallback;
5
import com.google.gwt.user.client.ui.FlowPanel;
6
import com.google.gwt.user.client.ui.Widget;
7
import eu.dnetlib.domain.functionality.validator.JobForValidation;
8
import eu.dnetlib.domain.functionality.validator.RuleSet;
9
import eu.dnetlib.repo.manager.client.services.ValidationService;
10
import eu.dnetlib.repo.manager.client.services.ValidationServiceAsync;
11
import eu.dnetlib.repo.manager.client.validator.test.SelectGuidelinesWidget;
12
import eu.dnetlib.repo.manager.client.widgets.wizard.WizardStepWidget;
13
import eu.dnetlib.repo.manager.shared.ValidationState;
14
import eu.dnetlib.repo.manager.shared.WizardState;
15
import org.gwtbootstrap3.client.ui.Alert;
16
import org.gwtbootstrap3.client.ui.constants.AlertType;
17

    
18
import java.util.List;
19

    
20
/**
21
 * Created by stefania on 2/12/16.
22
 */
23
public class SelectGuidelinesStepWidget extends WizardStepWidget {
24

    
25
    private FlowPanel selectGuidelinesStepPanel = new FlowPanel();
26

    
27
    private Alert errorAlert = new Alert();
28

    
29
    private SelectGuidelinesWidget selectGuidelinesWidget;
30

    
31
    private ValidationServiceAsync validationService = GWT.create(ValidationService.class);
32

    
33
    public SelectGuidelinesStepWidget(String id, String title, String mode) {
34

    
35
        super(id, title, mode);
36

    
37
        errorAlert.addStyleName("stepContent");
38
        errorAlert.setType(AlertType.DANGER);
39
        errorAlert.setDismissable(false);
40
        errorAlert.setVisible(false);
41

    
42
        selectGuidelinesStepPanel.add(errorAlert);
43

    
44
//        selectGuidelinesStepPanel.addStyleName("animated fadeInRight stepContent");
45

    
46
        validationService.getRuleSets(mode, new AsyncCallback<List<RuleSet>>() {
47

    
48
            @Override
49
            public void onFailure(Throwable caught) {
50

    
51
                errorAlert.setText("System error retrieving rule sets");
52
                errorAlert.setVisible(true);
53
            }
54

    
55
            @Override
56
            public void onSuccess(List<RuleSet> ruleSets) {
57

    
58
                selectGuidelinesWidget = new SelectGuidelinesWidget(ruleSets);
59
                selectGuidelinesStepPanel.add(selectGuidelinesWidget.asWidget());
60
            }
61
        });
62
    }
63

    
64
    @Override
65
    public void clear() {
66

    
67
    }
68

    
69
    @Override
70
    public void updateState(WizardState wizardState) {
71

    
72
        ValidationState validationState = (ValidationState) wizardState;
73
        JobForValidation jobForValidation = validationState.getJobForValidation();
74

    
75
        jobForValidation.setDesiredCompatibilityLevel(selectGuidelinesWidget.getDesiredCompatibilityLevel());
76
        jobForValidation.setSelectedContentRules(selectGuidelinesWidget.getSelectedRules().getFirst());
77
        jobForValidation.setSelectedUsageRules(selectGuidelinesWidget.getSelectedRules().getSecond());
78
    }
79

    
80
    @Override
81
    public void loadContent(WizardState wizardState) {
82

    
83
    }
84

    
85
    @Override
86
    public void completeStep() {
87

    
88
        if(selectGuidelinesWidget!=null &&
89
                (!selectGuidelinesWidget.getSelectedRules().getFirst().isEmpty()
90
                        || !selectGuidelinesWidget.getSelectedRules().getSecond().isEmpty())) {
91

    
92
            if(getWizardStepCompletedListener()!=null)
93
                getWizardStepCompletedListener().setStepCompleted();
94

    
95
        }
96
    }
97

    
98
    @Override
99
    public Widget asWidget() {
100
        return selectGuidelinesStepPanel;
101
    }
102
}
(3-3/6)