Clover Coverage Report - Kuali Student 1.3.0-SNAPSHOT (Aggregated)
Coverage timestamp: Thu Apr 28 2011 05:03:32 EDT
../../../../../../../../img/srcFileCovDistChart0.png 2% of files have more coverage
29   96   11   3.62
6   79   0.38   8
8     1.38  
1    
 
  CredentialViewController       Line # 26 29 0% 11 43 0% 0.0
 
No Tests
 
1    package org.kuali.student.lum.program.client.credential.view;
2   
3    import com.google.gwt.core.client.GWT;
4    import com.google.gwt.event.dom.client.ChangeEvent;
5    import com.google.gwt.event.dom.client.ChangeHandler;
6    import com.google.gwt.event.shared.HandlerManager;
7    import org.kuali.student.common.ui.client.application.KSAsyncCallback;
8    import org.kuali.student.common.ui.client.application.ViewContext;
9    import org.kuali.student.common.ui.client.mvc.DataModel;
10    import org.kuali.student.common.ui.client.mvc.history.HistoryManager;
11    import org.kuali.student.common.ui.shared.IdAttributes.IdType;
12    import org.kuali.student.lum.common.client.widgets.AppLocations;
13    import org.kuali.student.lum.common.client.widgets.DropdownList;
14    import org.kuali.student.lum.program.client.ProgramConstants;
15    import org.kuali.student.lum.program.client.ProgramRegistry;
16    import org.kuali.student.lum.program.client.ProgramSections;
17    import org.kuali.student.lum.program.client.ProgramStatus;
18    import org.kuali.student.lum.program.client.credential.CredentialController;
19    import org.kuali.student.lum.program.client.events.ModelLoadedEvent;
20    import org.kuali.student.lum.program.client.events.ProgramViewEvent;
21    import org.kuali.student.lum.program.client.major.ActionType;
22   
23    /**
24    * @author Igor
25    */
 
26    public class CredentialViewController extends CredentialController {
27   
28    private final DropdownList actionBox = new DropdownList(ActionType.getValues());
29   
30    /**
31    * Constructor.
32    *
33    * @param programModel
34    */
 
35  0 toggle public CredentialViewController(DataModel programModel, ViewContext viewContext, HandlerManager eventBus) {
36  0 super(programModel, viewContext, eventBus);
37  0 configurer = GWT.create(CredentialViewConfigurer.class);
38  0 bind();
39    }
40   
 
41  0 toggle private void bind() {
42  0 actionBox.addChangeHandler(new ChangeHandler() {
 
43  0 toggle @Override
44    public void onChange(ChangeEvent event) {
45  0 ActionType actionType = ActionType.of(actionBox.getSelectedValue());
46  0 ViewContext viewContext = getViewContext();
47  0 if (actionType == ActionType.MODIFY) {
48  0 ProgramRegistry.setSection(ProgramSections.getEditSection(getCurrentViewEnum()));
49  0 HistoryManager.navigate(AppLocations.Locations.EDIT_BACC_PROGRAM.getLocation(), getViewContext());
50  0 } else if (actionType == ActionType.MODIFY_VERSION) {
51  0 String versionIndId = getStringProperty(ProgramConstants.VERSION_IND_ID);
52  0 viewContext.setId(versionIndId);
53  0 viewContext.setIdType(IdType.COPY_OF_OBJECT_ID);
54  0 HistoryManager.navigate(AppLocations.Locations.EDIT_BACC_PROGRAM.getLocation(), viewContext);
55    }
56    }
57    });
58  0 eventBus.addHandler(ProgramViewEvent.TYPE, new ProgramViewEvent.Handler() {
 
59  0 toggle @Override
60    public void onEvent(ProgramViewEvent event) {
61  0 actionBox.setSelectedIndex(0);
62    }
63    });
64  0 eventBus.addHandler(ModelLoadedEvent.TYPE, new ModelLoadedEvent.Handler() {
 
65  0 toggle @Override
66    public void onEvent(ModelLoadedEvent event) {
67  0 resetActionList();
68    }
69    });
70    }
71   
 
72  0 toggle @Override
73    protected void configureView() {
74  0 super.configureView();
75  0 addContentWidget(actionBox);
76  0 initialized = true;
77    }
78   
 
79  0 toggle protected void resetActionList() {
80    //Only allow modify with version option for an active course that id also the latest version
81  0 ProgramStatus status = ProgramStatus.of(programModel);
82  0 String versionIndId = getStringProperty(ProgramConstants.VERSION_IND_ID);
83  0 Long sequenceNumber = programModel.get(ProgramConstants.VERSION_SEQUENCE_NUMBER);
84   
85  0 actionBox.clear();
86  0 if (status == ProgramStatus.ACTIVE) {
87  0 programRemoteService.isLatestVersion(versionIndId, sequenceNumber, new KSAsyncCallback<Boolean>() {
 
88  0 toggle public void onSuccess(Boolean isLatest) {
89  0 actionBox.setList(ActionType.getValues(isLatest));
90    }
91    });
92    } else {
93  0 actionBox.setList(ActionType.getValues(false));
94    }
95    }
96    }