Clover Coverage Report - KS LUM 1.2.1-SNAPSHOT (Aggregated)
Coverage timestamp: Wed Nov 2 2011 05:59:10 EST
../../../../../../../img/srcFileCovDistChart9.png 31% of files have more coverage
35   104   11   8.75
10   63   0.31   4
4     2.75  
1    
 
  ActivityAssembler       Line # 33 35 0% 11 9 81.6% 0.81632656
 
  (14)
 
1    /*
2    * Copyright 2008 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 1.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl1.php
9    *
10    * Unless required by applicable law or agreed to in writing, software
11    * distributed under the License is distributed on an "AS IS" BASIS,
12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13    * See the License for the specific language governing permissions and
14    * limitations under the License.
15    */
16    package org.kuali.student.lum.course.service.assembler;
17   
18    import org.kuali.student.common.assembly.BOAssembler;
19    import org.kuali.student.common.assembly.BaseDTOAssemblyNode;
20    import org.kuali.student.common.assembly.BaseDTOAssemblyNode.NodeOperation;
21    import org.kuali.student.common.assembly.data.AssemblyException;
22    import org.kuali.student.common.util.UUIDHelper;
23    import org.kuali.student.lum.course.dto.ActivityInfo;
24    import org.kuali.student.lum.lu.dto.CluInfo;
25    import org.kuali.student.lum.lu.service.LuService;
26   
27    /**
28    * Assembles/Disassembles ActivityInfo DTO from/To CluInfo
29    *
30    * @author Kuali Student Team
31    *
32    */
 
33    public class ActivityAssembler implements BOAssembler<ActivityInfo, CluInfo> {
34   
35    private LuService luService;
36   
 
37  146 toggle @Override
38    public ActivityInfo assemble(CluInfo clu, ActivityInfo activity, boolean shallowBuild) {
39  146 if(clu == null){
40  0 return null;
41    }
42   
43  146 ActivityInfo activityInfo = (null != activity) ? activity : new ActivityInfo();
44   
45  146 activityInfo.setId(clu.getId());
46  146 activityInfo.setActivityType(clu.getType());
47  146 activityInfo.setState(clu.getState());
48  146 activityInfo.setDefaultEnrollmentEstimate(clu.getDefaultEnrollmentEstimate());
49  146 activityInfo.setDuration(clu.getStdDuration());
50  146 activityInfo.setContactHours(clu.getIntensity());
51  146 activityInfo.setMetaInfo(clu.getMetaInfo());
52  146 activityInfo.setAttributes(clu.getAttributes());
53  146 return activityInfo;
54    }
55   
 
56  98 toggle @Override
57    public BaseDTOAssemblyNode<ActivityInfo,CluInfo> disassemble(
58    ActivityInfo activity, NodeOperation operation) throws AssemblyException {
59  98 if (activity==null) {
60    //FIXME Unsure now if this is an exception or just return null or empty assemblyNode
61  0 throw new AssemblyException("Activity can not be null");
62    }
63  98 if (NodeOperation.CREATE != operation && null == activity.getId()) {
64  0 throw new AssemblyException("Activity's id can not be null");
65    }
66   
67  98 BaseDTOAssemblyNode<ActivityInfo,CluInfo> result = new BaseDTOAssemblyNode<ActivityInfo,CluInfo>(this);
68   
69  98 CluInfo clu;
70  98 try {
71  98 clu = (NodeOperation.UPDATE == operation) ? luService.getClu(activity.getId()) : new CluInfo();
72    } catch (Exception e) {
73  0 throw new AssemblyException("Error retrieving activity learning unit during update", e);
74    }
75   
76    //Copy all fields
77  98 clu.setId(UUIDHelper.genStringUUID(activity.getId()));//Create the id if it's not there already(important for creating relations)
78  98 clu.setType(activity.getActivityType());
79  98 clu.setState(activity.getState());
80  98 clu.setDefaultEnrollmentEstimate(activity.getDefaultEnrollmentEstimate());
81  98 clu.setStdDuration(activity.getDuration());
82  98 clu.setIntensity(activity.getContactHours());
83  98 clu.setMetaInfo(activity.getMetaInfo());
84  98 clu.setAttributes(activity.getAttributes());
85   
86    //Add the Clu to the result
87  98 result.setNodeData(clu);
88   
89    // Add refernce to Activity
90  98 result.setBusinessDTORef(activity);
91   
92  98 result.setOperation(operation);
93   
94  98 return result;
95    }
96   
 
97  1 toggle public void setLuService(LuService luService) {
98  1 this.luService = luService;
99    }
100   
 
101  0 toggle public LuService getLuService() {
102  0 return luService;
103    }
104    }