Subversion Repositories bacoAlunos

Rev

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
}