Rev 847 | Rev 915 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
203 | jmachado | 1 | package pt.estgp.estgweb.services.courseunits; |
2 | |||
749 | jmachado | 3 | import jomm.utils.PdfUtils; |
4 | import org.apache.fop.apps.FOPException; |
||
5 | import org.apache.log4j.Logger; |
||
6 | import org.dom4j.*; |
||
7 | import pt.estgp.estgweb.Globals; |
||
204 | jmachado | 8 | import pt.estgp.estgweb.domain.*; |
203 | jmachado | 9 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
749 | jmachado | 10 | import pt.estgp.estgweb.domain.views.CourseUnitProgramView; |
11 | import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum; |
||
12 | import pt.estgp.estgweb.services.data.RepositoryService; |
||
13 | import pt.estgp.estgweb.services.expceptions.ServiceException; |
||
14 | import pt.estgp.estgweb.utils.DatesUtils; |
||
15 | import pt.estgp.estgweb.utils.Dom4jUtil; |
||
751 | jmachado | 16 | import pt.estgp.estgweb.utils.StringsUtils; |
749 | jmachado | 17 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
203 | jmachado | 18 | |
749 | jmachado | 19 | import javax.xml.transform.TransformerException; |
20 | import javax.xml.transform.dom.DOMSource; |
||
21 | import java.io.File; |
||
22 | import java.io.FileInputStream; |
||
23 | import java.io.FileOutputStream; |
||
24 | import java.io.IOException; |
||
25 | import java.text.SimpleDateFormat; |
||
26 | import java.util.ArrayList; |
||
27 | import java.util.HashMap; |
||
203 | jmachado | 28 | import java.util.List; |
749 | jmachado | 29 | import java.util.Map; |
203 | jmachado | 30 | |
31 | /* |
||
32 | * @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
||
33 | * |
||
34 | * |
||
35 | * Created at 17/Out/2003 , 23:45:24 |
||
36 | * |
||
37 | */ |
||
749 | jmachado | 38 | |
203 | jmachado | 39 | /** |
40 | * @author Jorge Machado |
||
41 | * |
||
42 | * |
||
43 | * Created at 17/Out/2003 , 23:45:24 |
||
44 | * |
||
45 | */ |
||
749 | jmachado | 46 | public class SaveCourseUnitProgram implements IService |
203 | jmachado | 47 | { |
48 | |||
204 | jmachado | 49 | RepositoryService repositoryService = new RepositoryService(); |
209 | jmachado | 50 | LoadCourseUnitAnnouncements loadCourseUnitAnnouncements = new LoadCourseUnitAnnouncements(); |
204 | jmachado | 51 | |
749 | jmachado | 52 | private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(SaveCourseUnitProgram.class); |
203 | jmachado | 53 | |
749 | jmachado | 54 | public CourseUnitProgramView run(CourseUnitProgramView cupv, 1.5.0/docs/api/java/lang/Long.html">Long coursUnitId, UserSession usession) throws ServiceException, 1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, 1.5.0/docs/api/java/io/IOException.html">IOException, FOPException { |
757 | jmachado | 55 | |
749 | jmachado | 56 | CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(coursUnitId); |
206 | jmachado | 57 | |
749 | jmachado | 58 | CourseUnitProgram program = c.getCourseUnitProgram(); |
59 | if(program == null) |
||
60 | { |
||
61 | program = new CourseUnitProgramImpl(); |
||
62 | DaoFactory.getCourseUnitProgramDaoImpl().save(program); |
||
63 | program.setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
||
64 | DaoFactory.getCourseUnitProgramPart2DaoImpl().save(program.getCourseUnitProgramPart2()); |
||
65 | c.setCourseUnitProgram(program); |
||
66 | } |
||
67 | // |
||
68 | if(usession.getUser().isSuperuserOrAdmin()) |
||
69 | { |
||
70 | cupv.persistViewInObjectAdministrator(program); |
||
71 | cupv.persistViewInObjectCoordinator(program); |
||
72 | cupv.persistViewInObjectTeacher(program); |
||
847 | jmachado | 73 | setResponsableTeacher(cupv, c); |
749 | jmachado | 74 | } |
75 | if(usession.getUser() instanceof Teacher && (((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true))) |
||
76 | { |
||
77 | cupv.persistViewInObjectTeacher(program); |
||
78 | } |
||
79 | if(usession.getUser() instanceof Teacher |
||
80 | && (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
||
750 | jmachado | 81 | || |
82 | ((usession.getUser()) == c.getCourse().getCoordinator())) |
||
83 | ) |
||
749 | jmachado | 84 | { |
85 | cupv.persistViewInObjectCoordinator(program); |
||
847 | jmachado | 86 | setResponsableTeacher(cupv, c); |
749 | jmachado | 87 | } |
88 | List<String> errors = new ArrayList<String>(); |
||
751 | jmachado | 89 | createPdf(c,errors,usession); |
90 | |||
91 | if(usession.getUser() instanceof Teacher) |
||
92 | DirectedCoordinatedUnitsService.sendNotificationsEditedInterestedPeople(c,usession); |
||
93 | else |
||
94 | { |
||
95 | logger.info("Nao vai informar docentes"); |
||
96 | } |
||
97 | |||
749 | jmachado | 98 | return cupv; |
99 | } |
||
358 | jmachado | 100 | |
847 | jmachado | 101 | private void setResponsableTeacher(CourseUnitProgramView cupv, CourseUnit c) { |
102 | if(cupv.getResponsableId() > 0) |
||
103 | { |
||
104 | Teacher t = DaoFactory.getTeacherDaoImpl().load(cupv.getResponsableId()); |
||
105 | c.setResponsableTeacher(t); |
||
106 | } |
||
107 | } |
||
206 | jmachado | 108 | |
749 | jmachado | 109 | |
110 | public void createPdf(CourseUnit cu, List<String> errors) throws 1.5.0/docs/api/java/io/IOException.html">IOException, 1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException { |
||
751 | jmachado | 111 | createPdf(cu,errors,null); |
112 | } |
||
113 | public void createPdf(CourseUnit cu, List<String> errors,UserSession u) throws 1.5.0/docs/api/java/io/IOException.html">IOException, 1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException { |
||
749 | jmachado | 114 | |
780 | jmachado | 115 | |
750 | jmachado | 116 | ((CourseUnitProgramImpl)cu.getCourseUnitProgram()).consistNullValues(); |
749 | jmachado | 117 | 5+0%2Fdocs%2Fapi+Document">Document responseDoc = DocumentHelper.createDocument(); |
118 | Namespace namespace = new Namespace("uc", "http://baco.estgp.pt/schemas/courseunits/program/"); |
||
119 | responseDoc.setXMLEncoding("ISO-8859-1"); |
||
120 | |||
121 | 1.5.0/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat sdf = new 1.5.0/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat("dd-MM-yyyy"); |
||
122 | 5+0%2Fdocs%2Fapi+Element">Element curriculum = responseDoc.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("UnidadeCurricular", namespace)); |
||
123 | curriculum.addAttribute(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("data",namespace),sdf.format(new java.util.5+0%2Fdocs%2Fapi+Date">Date())); |
||
124 | |||
125 | 5+0%2Fdocs%2Fapi+Element">Element curso = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("curso",namespace)); |
||
126 | if(cu.getCourseName() == null) |
||
204 | jmachado | 127 | { |
749 | jmachado | 128 | if(cu.getCourse() == null) |
204 | jmachado | 129 | { |
749 | jmachado | 130 | 1.5.0/docs/api/java/lang/System.html">System.out.println("Unidade nao tem curso"); |
131 | curso.setText("Desactualizado"); |
||
204 | jmachado | 132 | } |
749 | jmachado | 133 | else |
134 | { |
||
135 | 1.5.0/docs/api/java/lang/System.html">System.out.println("Unidade nao tem nome no curso a actualizar com " + cu.getCourse().getName()); |
||
136 | curso.setText(cu.getCourse().getName()); |
||
137 | cu.setCourseName(cu.getCourse().getName()); |
||
138 | } |
||
204 | jmachado | 139 | } |
749 | jmachado | 140 | else |
141 | curso.setText(cu.getCourseName()); |
||
209 | jmachado | 142 | |
749 | jmachado | 143 | 5+0%2Fdocs%2Fapi+Element">Element anoLectivo = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("anoLectivo",namespace)); |
144 | anoLectivo.setText(DatesUtils.getImportYearPrograms(cu.getImportYear())); |
||
145 | |||
146 | 5+0%2Fdocs%2Fapi+Element">Element unidadeCurricular = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("unidadeCurricular",namespace)); |
||
147 | unidadeCurricular.setText(cu.getName()); |
||
148 | |||
149 | if(cu.getResponsableTeacher() != null) |
||
209 | jmachado | 150 | { |
749 | jmachado | 151 | 5+0%2Fdocs%2Fapi+Element">Element responsavel = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("responsavel",namespace)); |
358 | jmachado | 152 | |
754 | jmachado | 153 | if(cu.getResponsableTeacher().getName()==null) |
154 | { |
||
155 | errors.add("Erro a carregar docente responsavel da unidade " + cu.getCode()); |
||
156 | responsavel.setText("erro"); |
||
157 | } |
||
158 | else |
||
159 | responsavel.setText(StringsUtils.getNormalizedName(cu.getResponsableTeacher().getName())); |
||
160 | |||
749 | jmachado | 161 | 5+0%2Fdocs%2Fapi+Element">Element responsavelEmail = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("responsavelEmail",namespace)); |
750 | jmachado | 162 | if(cu.getResponsableTeacher().getEmail()==null) |
163 | { |
||
164 | logger.warn("Teacher don't has email: " + cu.getResponsableTeacher().getSigesCode() + " - " + cu.getResponsableTeacher().getName()); |
||
165 | try { |
||
166 | 1.5.0/docs/api/java/lang/Thread.html">Thread.sleep(3000); |
||
167 | } catch (1.5.0/docs/api/java/lang/InterruptedException.html">InterruptedException e) { |
||
168 | e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. |
||
169 | } |
||
170 | responsavelEmail.setText(""); |
||
171 | } |
||
172 | else |
||
173 | responsavelEmail.setText(cu.getResponsableTeacher().getEmail()); |
||
209 | jmachado | 174 | } |
749 | jmachado | 175 | |
176 | |||
177 | |||
178 | 5+0%2Fdocs%2Fapi+Element">Element apresentacaoObjectivos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("objetivosDaAprendizagem",namespace)); |
||
179 | apresentacaoObjectivos.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getObjectivos()); |
||
180 | |||
181 | |||
182 | int docenteNumber = 1; |
||
183 | for(Teacher t : cu.getTeachers()) |
||
184 | { |
||
185 | 5+0%2Fdocs%2Fapi+Element">Element codigoSIGESDocente1 = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("codigoSIGESDocente" + docenteNumber,namespace)); |
||
186 | codigoSIGESDocente1.setText(t.getSigesCode()+""); |
||
187 | 5+0%2Fdocs%2Fapi+Element">Element outroDocente1 = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("outroDocente" + docenteNumber,namespace)); |
||
753 | jmachado | 188 | if(t.getName()==null) |
752 | jmachado | 189 | { |
190 | errors.add("Erro a carregar docente da unidade " + cu.getCode()); |
||
191 | outroDocente1.setText("erro"); |
||
192 | } |
||
193 | else |
||
194 | outroDocente1.setText(StringsUtils.getNormalizedName(t.getName())); |
||
749 | jmachado | 195 | 5+0%2Fdocs%2Fapi+Element">Element docenteEmail1 = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("docenteEmail" + docenteNumber,namespace)); |
750 | jmachado | 196 | |
197 | if(t.getEmail()==null) |
||
198 | { |
||
199 | logger.warn("Teacher don't has email: " + t.getSigesCode() + " - " + t.getName()); |
||
200 | try { |
||
201 | 1.5.0/docs/api/java/lang/Thread.html">Thread.sleep(3000); |
||
202 | } catch (1.5.0/docs/api/java/lang/InterruptedException.html">InterruptedException e) { |
||
203 | e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. |
||
204 | } |
||
205 | docenteEmail1.setText(""); |
||
206 | } |
||
207 | else |
||
208 | docenteEmail1.setText(t.getEmail()); |
||
751 | jmachado | 209 | |
210 | docenteNumber++; |
||
749 | jmachado | 211 | } |
212 | |||
213 | |||
214 | 5+0%2Fdocs%2Fapi+Element">Element conteudosProgramaticos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("conteudosProgramaticos",namespace)); |
||
215 | conteudosProgramaticos.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getConteudos()); |
||
216 | |||
217 | 5+0%2Fdocs%2Fapi+Element">Element demonstracaoCoerenciaConteudosObjectivos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("demonstracaoCoerenciaConteudosObjectivos",namespace)); |
||
218 | demonstracaoCoerenciaConteudosObjectivos.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getDemonstracaoCoerenciaConteudos()); |
||
219 | |||
220 | 5+0%2Fdocs%2Fapi+Element">Element metodologiasEnsino = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("metodologiasEnsino",namespace)); |
||
221 | metodologiasEnsino.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getMetodologiasEnsino()); |
||
222 | |||
223 | 5+0%2Fdocs%2Fapi+Element">Element alunosOrdinariosPorFrequencia = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosOrdinariosPorFrequencia",namespace)); |
||
224 | alunosOrdinariosPorFrequencia.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getAvaliacaoOrdinariosFrequencia()); |
||
225 | |||
226 | 5+0%2Fdocs%2Fapi+Element">Element alunosOrdinariosPorExame = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosOrdinariosPorExame",namespace)); |
||
227 | alunosOrdinariosPorExame.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getAvaliacaoOrdinariosExame()); |
||
228 | |||
229 | 5+0%2Fdocs%2Fapi+Element">Element alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia",namespace)); |
||
230 | alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getAvaliacaoEspeciaisFrequencia()); |
||
231 | |||
232 | 5+0%2Fdocs%2Fapi+Element">Element alunosMobilidadeAlunosComEstatutoEspecialPorExame = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosMobilidadeAlunosComEstatutoEspecialPorExame",namespace)); |
||
233 | alunosMobilidadeAlunosComEstatutoEspecialPorExame.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getAvaliacaoEspeciaissExame()); |
||
234 | |||
235 | |||
236 | 5+0%2Fdocs%2Fapi+Element">Element demonstracaoDaCoerenciaMetodologiasObjectivos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("demonstracaoDaCoerenciaMetodologiasObjectivos",namespace)); |
||
237 | demonstracaoDaCoerenciaMetodologiasObjectivos.setText(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getDemonstracaoObjectivosMetodologia()); |
||
238 | |||
239 | |||
240 | 5+0%2Fdocs%2Fapi+Element">Element bibliografiaPrincipal = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("bibliografiaPrincipal",namespace)); |
||
241 | bibliografiaPrincipal.setText(cu.getCourseUnitProgram().getBibliografia()); |
||
242 | |||
243 | 5+0%2Fdocs%2Fapi+Element">Element bibliografiaComplementar = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("bibliografiaComplementar",namespace)); |
||
244 | bibliografiaComplementar.setText(cu.getCourseUnitProgram().getBibliografiaComplementar()); |
||
245 | |||
246 | 5+0%2Fdocs%2Fapi+Element">Element adaptacaoMetodologiasObjectivos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("adaptacaoMetodologiasObjectivos",namespace)); |
||
247 | adaptacaoMetodologiasObjectivos.setText(cu.getCourseUnitProgram().getAdaptacaoObjectivosMetodologia()); |
||
248 | |||
249 | 5+0%2Fdocs%2Fapi+Element">Element verificacaoCargaECTS = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("verificacaoCargaECTS",namespace)); |
||
250 | verificacaoCargaECTS.setText(cu.getCourseUnitProgram().getDemonstracaoCargaEcts()); |
||
251 | |||
252 | 5+0%2Fdocs%2Fapi+Element">Element avaliacaoFuncaoObjectivos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("avaliacaoFuncaoObjectivos",namespace)); |
||
253 | avaliacaoFuncaoObjectivos.setText(cu.getCourseUnitProgram().getGarantiaAvaliacaoFuncaObjectivos()); |
||
254 | |||
255 | 5+0%2Fdocs%2Fapi+Element">Element metodologiasFacilitamParticipacaoCientificas = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("metodologiasFacilitamParticipacaoCientificas",namespace)); |
||
256 | metodologiasFacilitamParticipacaoCientificas.setText(cu.getCourseUnitProgram().getMetodologiasActividadeCientifica()); |
||
257 | |||
258 | 5+0%2Fdocs%2Fapi+Element">Element ects = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("ects",namespace)); |
||
259 | ects.setText(cu.getCourseUnitProgram().getEcts()); |
||
260 | |||
261 | |||
262 | 5+0%2Fdocs%2Fapi+Element">Element preRequisitos = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("preRequisitos",namespace)); |
||
263 | preRequisitos.setText(cu.getCourseUnitProgram().getPrerequisitos()); |
||
264 | |||
265 | 5+0%2Fdocs%2Fapi+Element">Element obrigatoria = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("obrigatoria",namespace)); |
||
266 | obrigatoria.setText(cu.getCourseUnitProgram().getObrigatoria()); |
||
267 | |||
268 | 5+0%2Fdocs%2Fapi+Element">Element lingua1 = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("lingua1",namespace)); |
||
269 | lingua1.setText(cu.getCourseUnitProgram().getLingua1()); |
||
270 | |||
271 | 5+0%2Fdocs%2Fapi+Element">Element lingua2 = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("lingua2",namespace)); |
||
763 | jmachado | 272 | lingua2.setText(cu.getCourseUnitProgram().getLingua2()); |
749 | jmachado | 273 | |
274 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaT = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaT",namespace)); |
||
275 | cargaHorariaT.setText(cu.getCourseUnitProgram().getCargaHorariaT()); |
||
276 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaTP = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaTP",namespace)); |
||
277 | cargaHorariaTP.setText(cu.getCourseUnitProgram().getCargaHorariaTP()); |
||
278 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaPL = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaPL",namespace)); |
||
279 | cargaHorariaPL.setText(cu.getCourseUnitProgram().getCargaHorariaPL()); |
||
280 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaS = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaS",namespace)); |
||
281 | cargaHorariaS.setText(cu.getCourseUnitProgram().getCargaHorariaS()); |
||
282 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaTC = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaTC",namespace)); |
||
283 | cargaHorariaTC.setText(cu.getCourseUnitProgram().getCargaHorariaTC()); |
||
284 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaO = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaO",namespace)); |
||
285 | cargaHorariaO.setText(cu.getCourseUnitProgram().getCargaHorariaO()); |
||
286 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaOT = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaOT",namespace)); |
||
287 | cargaHorariaOT.setText(cu.getCourseUnitProgram().getCargaHorariaOT()); |
||
288 | |||
289 | 5+0%2Fdocs%2Fapi+Element">Element cargaHorariaTotal = curriculum.addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaTotal",namespace)); |
||
290 | cargaHorariaTotal.setText(cu.getCourseUnitProgram().getCargaHorariaTotal()); |
||
291 | |||
292 | |||
293 | |||
294 | |||
295 | |||
296 | |||
297 | |||
298 | |||
299 | |||
300 | // Dom4jUtil.writeSout(responseDoc); |
||
301 | |||
780 | jmachado | 302 | |
751 | jmachado | 303 | 1.5.0/docs/api/java/lang/String.html">String path = Globals.TMP_DIR + 1.5.0/docs/api/java/io/File.html">File.separator + cu.getCode() + "-" + cu.getName() + ".pdf"; |
749 | jmachado | 304 | 1.5.0/docs/api/java/io/FileOutputStream.html">FileOutputStream teste = new 1.5.0/docs/api/java/io/FileOutputStream.html">FileOutputStream(path); |
305 | Map<String,Object> params = new HashMap<String,Object>(); |
||
306 | params.put("site", Globals.SITE_URL); |
||
751 | jmachado | 307 | if(cu.isValidProgram()) |
308 | params.put("validadoCC", "true"); |
||
309 | else |
||
310 | params.put("validadoCC", "false"); |
||
311 | if(u != null && u.getUser() != null) |
||
312 | params.put("revisor", u.getUser().getName()); |
||
313 | |||
780 | jmachado | 314 | |
778 | jmachado | 315 | org.w3c.dom.5+0%2Fdocs%2Fapi+Document">Document dd = Dom4jUtil.toW3c(responseDoc); |
780 | jmachado | 316 | |
778 | jmachado | 317 | PdfUtils.createPdfFromXml(new 1.5.0/docs/api/javax/xml/transform/dom/DOMSource.html">DOMSource(dd), "pt/estgp/estgweb/services/courseunits/courseunitprogram.fo.xsl", teste,params); |
749 | jmachado | 318 | teste.flush(); |
319 | teste.close(); |
||
320 | |||
780 | jmachado | 321 | |
749 | jmachado | 322 | RepositoryService repositoryService = new RepositoryService(); |
323 | User owner; |
||
324 | if(cu.getTeachers() != null && cu.getTeachers().size() > 0) |
||
325 | owner = cu.getTeachers().iterator().next(); |
||
326 | else |
||
327 | owner = DaoFactory.getUserDaoImpl().load(new 1.5.0/docs/api/java/lang/Long.html">Long(1)); |
||
328 | if(owner.getUsername() == null) |
||
329 | { |
||
330 | errors.add("Docente: " + owner.getName() + " ( " + owner.getId() + " ) don't have username check that situation"); |
||
331 | // owner.setUsername("UKNOWN"); |
||
332 | } |
||
333 | if(cu.getProgramStreamId() == null) |
||
334 | { |
||
335 | 1.5.0/docs/api/java/lang/String.html">String identifier = repositoryService.storeRepositoryFile(new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(path), "application/pdf", "pdf",((int) new 1.5.0/docs/api/java/io/File.html">File(path).length()), cu.getCode() + ".pdf", "courseunit.program.description" + cu.getName(), ResourceAccessControlEnum.publicDomain,owner); |
||
336 | cu.setProgramStreamId(identifier); |
||
337 | } |
||
338 | else |
||
339 | { |
||
340 | repositoryService.updateRepositoryFile(cu.getProgramStreamId(), new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(path), "application/pdf", "pdf", ((int)new 1.5.0/docs/api/java/io/File.html">File(path).length()),cu.getCode() + ".pdf", "courseunit.program.description " + cu.getName(), ResourceAccessControlEnum.publicDomain); |
||
341 | } |
||
342 | cu.setObjectives(cu.getCourseUnitProgram().getCourseUnitProgramPart2().getObjectivos()); |
||
343 | //Obrigar a ser falso |
||
344 | |||
780 | jmachado | 345 | |
203 | jmachado | 346 | } |
347 | } |