package pt.estgp.estgweb.domain;
import jomm.dao.utils.HibernateUtils;
import jomm.utils.PdfUtils;
import org.apache.fop.apps.FOPException;
import org.dom4j.*;
import org.hibernate.Session;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.estgp.estgweb.utils.DatesUtils;
import pt.estgp.estgweb.utils.Dom4jUtil;
import javax.xml.transform.TransformerException;
import javax.xml.transform.dom.DOMSource;
import java.io.*;
import java.net.MalformedURLException;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static pt.
estgp.
estgweb.
utils.
Dom4jUtil.
parse;
/**
* @author Jorge Machado
* @date 8/Jul/2008
* @see pt.estgp.estgweb.domain
*/
public class CourseUnitProgramImpl
extends CourseUnitProgram
{
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
()
{
return getId
();
}
public static class CourseUnitInputLine
{
1.5.0/docs/api/java/lang/String.html">String codigoCurso
;
1.5.0/docs/api/java/lang/String.html">String codigoSIGESUnidade
;
1.5.0/docs/api/java/lang/String.html">String ano
;
1.5.0/docs/api/java/lang/String.html">String semestre
;
1.5.0/docs/api/java/lang/String.html">String nomeUnidadeCurricular
;
1.5.0/docs/api/java/lang/String.html">String codSIGESDocenteResponsavel
;
1.5.0/docs/api/java/lang/String.html">String nomeDocenteResponsavel
;
1.5.0/docs/api/java/lang/String.html">String emailDocenteResponsavel
;
1.5.0/docs/api/java/lang/String.html">String codigoSIGESDocente1
;
1.5.0/docs/api/java/lang/String.html">String outroDocente1
;
1.5.0/docs/api/java/lang/String.html">String docenteEmail1
;
1.5.0/docs/api/java/lang/String.html">String codigoSIGESDocente2
;
1.5.0/docs/api/java/lang/String.html">String outroDocente2
;
1.5.0/docs/api/java/lang/String.html">String docenteEmail2
;
1.5.0/docs/api/java/lang/String.html">String codigoSIGESDocente3
;
1.5.0/docs/api/java/lang/String.html">String outroDocente3
;
1.5.0/docs/api/java/lang/String.html">String docenteEmail3
;
1.5.0/docs/api/java/lang/String.html">String codigoSIGESDocente4
;
1.5.0/docs/api/java/lang/String.html">String outroDocente4
;
1.5.0/docs/api/java/lang/String.html">String docenteEmail4
;
1.5.0/docs/api/java/lang/String.html">String objetivosDaAprendizagem
;
1.5.0/docs/api/java/lang/String.html">String conteudosProgramaticos
;
1.5.0/docs/api/java/lang/String.html">String demonstracaoCoerenciaConteudosObjectivos
;
1.5.0/docs/api/java/lang/String.html">String metodologiasEnsino
;
1.5.0/docs/api/java/lang/String.html">String alunosOrdinariosPorFrequencia
;
1.5.0/docs/api/java/lang/String.html">String alunosOrdinariosPorExame
;
1.5.0/docs/api/java/lang/String.html">String alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia
;
1.5.0/docs/api/java/lang/String.html">String alunosMobilidadeAlunosComEstatutoEspecialPorExame
;
1.5.0/docs/api/java/lang/String.html">String demonstracaoDaCoerenciaMetodologiasObjectivos
;
1.5.0/docs/api/java/lang/String.html">String bibliografiaPrincipal
;
1.5.0/docs/api/java/lang/String.html">String bibliografiaComplementar
;
1.5.0/docs/api/java/lang/String.html">String adaptacaoMetodologiasObjectivos
;
1.5.0/docs/api/java/lang/String.html">String verificacaoCargaECTS
;
1.5.0/docs/api/java/lang/String.html">String avaliacaoFuncaoObjectivos
;
1.5.0/docs/api/java/lang/String.html">String metodologiasFacilitamParticipacaoCientificas
;
1.5.0/docs/api/java/lang/String.html">String ects
;
1.5.0/docs/api/java/lang/String.html">String preRequisitos
;
1.5.0/docs/api/java/lang/String.html">String obrigatoria
;
1.5.0/docs/api/java/lang/String.html">String lingua1
;
1.5.0/docs/api/java/lang/String.html">String lingua2
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaT
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaTP
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaPL
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaS
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaTC
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaO
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaOT
;
1.5.0/docs/api/java/lang/String.html">String cargaHorariaTotal
;
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/lang/String.html">String toString
() {
return "CourseUnitInputLine{" +
"codigoCurso='" + codigoCurso +
'\'' +
", codigoSIGESUnidade='" + codigoSIGESUnidade +
'\'' +
", ano='" + ano +
'\'' +
", semestre='" + semestre +
'\'' +
", nomeUnidadeCurricular='" + nomeUnidadeCurricular +
'\'' +
", codSIGESDocenteResponsavel='" + codSIGESDocenteResponsavel +
'\'' +
", nomeDocenteResponsavel='" + nomeDocenteResponsavel +
'\'' +
", emailDocenteResponsavel='" + emailDocenteResponsavel +
'\'' +
", codigoSIGESDocente1='" + codigoSIGESDocente1 +
'\'' +
", outroDocente1='" + outroDocente1 +
'\'' +
", docenteEmail1='" + docenteEmail1 +
'\'' +
", codigoSIGESDocente2='" + codigoSIGESDocente2 +
'\'' +
", outroDocente2='" + outroDocente2 +
'\'' +
", docenteEmail2='" + docenteEmail2 +
'\'' +
", codigoSIGESDocente3='" + codigoSIGESDocente3 +
'\'' +
", outroDocente3='" + outroDocente3 +
'\'' +
", docenteEmail3='" + docenteEmail3 +
'\'' +
", codigoSIGESDocente4='" + codigoSIGESDocente4 +
'\'' +
", outroDocente4='" + outroDocente4 +
'\'' +
", docenteEmail4='" + docenteEmail4 +
'\'' +
", objetivosDaAprendizagem='" + objetivosDaAprendizagem +
'\'' +
", conteudosProgramaticos='" + conteudosProgramaticos +
'\'' +
", demonstracaoCoerenciaConteudosObjectivos='" + demonstracaoCoerenciaConteudosObjectivos +
'\'' +
", metodologiasEnsino='" + metodologiasEnsino +
'\'' +
", alunosOrdinariosPorFrequencia='" + alunosOrdinariosPorFrequencia +
'\'' +
", alunosOrdinariosPorExame='" + alunosOrdinariosPorExame +
'\'' +
", alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia='" + alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia +
'\'' +
", alunosMobilidadeAlunosComEstatutoEspecialPorExame='" + alunosMobilidadeAlunosComEstatutoEspecialPorExame +
'\'' +
", demonstracaoDaCoerenciaMetodologiasObjectivos='" + demonstracaoDaCoerenciaMetodologiasObjectivos +
'\'' +
", bibliografiaPrincipal='" + bibliografiaPrincipal +
'\'' +
", bibliografiaCompletmentar='" + bibliografiaComplementar +
'\'' +
", adaptacaoMetodologiasObjectivos='" + adaptacaoMetodologiasObjectivos +
'\'' +
", verificacaoCargaECTS='" + verificacaoCargaECTS +
'\'' +
", avaliacaoFuncaoObjectivos='" + avaliacaoFuncaoObjectivos +
'\'' +
", metodologiasFacilitamParticipacaoCientificas='" + metodologiasFacilitamParticipacaoCientificas +
'\'' +
", ects='" + ects +
'\'' +
", preRequisitos='" + preRequisitos +
'\'' +
", obrigatoria='" + obrigatoria +
'\'' +
", lingua1='" + lingua1 +
'\'' +
", lingua2='" + lingua2 +
'\'' +
", cargaHorariaT='" + cargaHorariaT +
'\'' +
", cargaHorariaTP='" + cargaHorariaTP +
'\'' +
", cargaHorariaPL='" + cargaHorariaPL +
'\'' +
", cargaHorariaS='" + cargaHorariaS +
'\'' +
", cargaHorariaTC='" + cargaHorariaTC +
'\'' +
", cargaHorariaOT='" + cargaHorariaOT +
'\'' +
", cargaHorariaOT='" + cargaHorariaOT +
'\'' +
", cargaHorariaTotal='" + cargaHorariaTotal +
'\'' +
'}';
}
}
public static void main
(1.5.0/docs/api/java/lang/String.html">String[] args
) throws 1.5.0/docs/api/java/io/IOException.html">IOException,
1.5.0/docs/api/java/net/MalformedURLException.html">MalformedURLException, DocumentException,
1.5.0/docs/api/java/sql/SQLException.html">SQLException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException
{
List
<CourseUnitInputLine
> unitsLines =
new ArrayList
<CourseUnitInputLine
>();
1.5.0/docs/api/java/lang/String.html">String file =
"D:\\Jorge\\Documents\\estg\\projectos\\Fichas Curriculares Baco\\APM.20.dez.12.xml";
if(args.
length > 0
)
file = args
[0
];
5+0%2Fdocs%2Fapi+Document">Document dom = parse
(new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(new 1.5.0/docs/api/java/io/File.html">File(file
)));
Dom4jUtil.
writeSout(dom
);
List
<String
>[] lista =
new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList[56
];
Map
<String,String
> namespaces =
new HashMap
<String,String
>();
namespaces.
put("m",
"urn:schemas-microsoft-com:office:spreadsheet");
1.5.0/docs/api/javax/xml/xpath/XPath.html">XPath xPath = dom.
createXPath("//m:Row");
xPath.
setNamespaceURIs(namespaces
);
List
<Element
> rows = xPath.
selectNodes(dom.
getRootElement());
for(int r =
3; r
< 56; r++
)
{
lista
[r - 3
] =
new ArrayList
<String
>();
5+0%2Fdocs%2Fapi+Element">Element row = rows.
get(r
);
1.5.0/docs/api/javax/xml/xpath/XPath.html">XPath xPathCells = dom.
createXPath("m:Cell");
xPathCells.
setNamespaceURIs(namespaces
);
List
<Element
> cells = xPathCells.
selectNodes(row
);
for(int i =
6; i
< cells.
size();i++
)
{
5+0%2Fdocs%2Fapi+Element">Element cell = cells.
get(i
);
1.5.0/docs/api/javax/xml/xpath/XPath.html">XPath xPathData = dom.
createXPath("m:Data");
xPathData.
setNamespaceURIs(namespaces
);
5+0%2Fdocs%2Fapi+Element">Element data =
(5+0%2Fdocs%2Fapi+Element">Element) xPathData.
selectSingleNode(cell
);
if(data
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String text = data.
getText();
lista
[r-3
].
add(text
);
}
else
lista
[r-
3].
add("");
}
}
int maxUnits = lista
[0
].
size();
for(int unit =
0; unit
< maxUnits
; unit++
)
{
CourseUnitInputLine courseUnitInputLine =
new CourseUnitInputLine
();
courseUnitInputLine.
codigoCurso = lista
[0
].
get(unit
);
courseUnitInputLine.
codigoSIGESUnidade = lista
[2
].
get(unit
);
courseUnitInputLine.
ano = lista
[3
].
get(unit
);
courseUnitInputLine.
semestre = lista
[4
].
get(unit
);
courseUnitInputLine.
nomeUnidadeCurricular = lista
[5
].
get(unit
);
courseUnitInputLine.
codSIGESDocenteResponsavel = lista
[7
].
get(unit
);
courseUnitInputLine.
nomeDocenteResponsavel = lista
[8
].
get(unit
);
courseUnitInputLine.
emailDocenteResponsavel = lista
[9
].
get(unit
);
courseUnitInputLine.
codigoSIGESDocente1 = lista
[10
].
get(unit
);
courseUnitInputLine.
outroDocente1 = lista
[11
].
get(unit
);
courseUnitInputLine.
docenteEmail1 = lista
[12
].
get(unit
);
courseUnitInputLine.
codigoSIGESDocente2 = lista
[13
].
get(unit
);
courseUnitInputLine.
outroDocente2 = lista
[14
].
get(unit
);
courseUnitInputLine.
docenteEmail2 = lista
[15
].
get(unit
);
courseUnitInputLine.
codigoSIGESDocente3 = lista
[16
].
get(unit
);
courseUnitInputLine.
outroDocente3 = lista
[17
].
get(unit
);
courseUnitInputLine.
docenteEmail3 = lista
[18
].
get(unit
);
courseUnitInputLine.
codigoSIGESDocente4 = lista
[19
].
get(unit
);
courseUnitInputLine.
outroDocente4 = lista
[20
].
get(unit
);
courseUnitInputLine.
docenteEmail4 = lista
[21
].
get(unit
);
courseUnitInputLine.
objetivosDaAprendizagem = lista
[22
].
get(unit
);
courseUnitInputLine.
conteudosProgramaticos = lista
[23
].
get(unit
);
courseUnitInputLine.
demonstracaoCoerenciaConteudosObjectivos = lista
[24
].
get(unit
);
courseUnitInputLine.
metodologiasEnsino = lista
[25
].
get(unit
);
courseUnitInputLine.
alunosOrdinariosPorFrequencia = lista
[26
].
get(unit
);
courseUnitInputLine.
alunosOrdinariosPorExame = lista
[27
].
get(unit
);
courseUnitInputLine.
alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia = lista
[28
].
get(unit
);
courseUnitInputLine.
alunosMobilidadeAlunosComEstatutoEspecialPorExame = lista
[29
].
get(unit
);
courseUnitInputLine.
demonstracaoDaCoerenciaMetodologiasObjectivos = lista
[30
].
get(unit
);
courseUnitInputLine.
bibliografiaPrincipal = lista
[31
].
get(unit
);
courseUnitInputLine.
bibliografiaComplementar = lista
[32
].
get(unit
);
courseUnitInputLine.
adaptacaoMetodologiasObjectivos = lista
[34
].
get(unit
);
courseUnitInputLine.
verificacaoCargaECTS = lista
[35
].
get(unit
);
courseUnitInputLine.
avaliacaoFuncaoObjectivos = lista
[36
].
get(unit
);
courseUnitInputLine.
metodologiasFacilitamParticipacaoCientificas = lista
[37
].
get(unit
);
courseUnitInputLine.
ects = lista
[39
].
get(unit
);
courseUnitInputLine.
preRequisitos = lista
[40
].
get(unit
);
courseUnitInputLine.
obrigatoria = lista
[41
].
get(unit
);
courseUnitInputLine.
lingua1 = lista
[42
].
get(unit
);
courseUnitInputLine.
lingua2 = lista
[43
].
get(unit
);
courseUnitInputLine.
cargaHorariaT = lista
[45
].
get(unit
);
courseUnitInputLine.
cargaHorariaTP = lista
[46
].
get(unit
);
courseUnitInputLine.
cargaHorariaPL = lista
[47
].
get(unit
);
courseUnitInputLine.
cargaHorariaS = lista
[48
].
get(unit
);
courseUnitInputLine.
cargaHorariaTC = lista
[49
].
get(unit
);
courseUnitInputLine.
cargaHorariaO = lista
[50
].
get(unit
);
courseUnitInputLine.
cargaHorariaOT = lista
[51
].
get(unit
);
courseUnitInputLine.
cargaHorariaTotal = lista
[52
].
get(unit
);
if(courseUnitInputLine.
semestre.
equals("S1") || courseUnitInputLine.
semestre.
equals("S2") || courseUnitInputLine.
semestre.
equals("A"))
unitsLines.
add(courseUnitInputLine
);
else
1.5.0/docs/api/java/lang/System.html">System.
out.
println("Unidade curricular " + courseUnitInputLine.
nomeUnidadeCurricular +
" ( " + courseUnitInputLine.
codigoSIGESUnidade +
" ) tem o semestre mal definido ");
}
for(CourseUnitInputLine line: unitsLines
)
{
// System.out.println(line.toString());
HibernateUtils.
getCurrentSession().
beginTransaction();
HibernateUtils.
getCurrentSession().
connection().
setAutoCommit(false);
importCourseUnit
(line,importYear
);
HibernateUtils.
getCurrentSession().
getTransaction().
commit();
}
}
static 1.5.0/docs/api/java/lang/String.html">String importYear =
"201213";
private static void importCourseUnit
(CourseUnitInputLine line,
1.5.0/docs/api/java/lang/String.html">String importYear
) throws 1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException,
1.5.0/docs/api/java/io/IOException.html">IOException, FOPException
{
CourseUnit cu = DaoFactory.
getCourseUnitDaoImpl().
loadBySigesCodeUnique(line.
codigoSIGESUnidade,line.
codigoCurso,line.
semestre, importYear
);
if(cu
!=
null)
{
setCourse
(cu, line
);
}
else
{
cu = createNewCourseUnit
(cu,line,importYear
);
}
persistCourseUnitProgram
(cu,line
);
setTeachers
(cu,line
);
createPdf
(line,cu
);
}
private static void createPdf
(CourseUnitInputLine line, CourseUnit cu
) throws 1.5.0/docs/api/java/io/IOException.html">IOException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException
{
5+0%2Fdocs%2Fapi+Document">Document responseDoc = DocumentHelper.
createDocument();
Namespace namespace =
new Namespace
("uc",
"http://baco.estgp.pt/schemas/courseunits/program/");
responseDoc.
setXMLEncoding("ISO-8859-1");
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");
5+0%2Fdocs%2Fapi+Element">Element curriculum = responseDoc.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("UnidadeCurricular", namespace
));
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()));
5+0%2Fdocs%2Fapi+Element">Element curso = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("curso",namespace
));
curso.
setText(cu.
getCourseName());
5+0%2Fdocs%2Fapi+Element">Element anoLectivo = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("anoLectivo",namespace
));
anoLectivo.
setText(DatesUtils.
getImportYearPrograms(cu.
getImportYear()));
5+0%2Fdocs%2Fapi+Element">Element unidadeCurricular = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("unidadeCurricular",namespace
));
unidadeCurricular.
setText(cu.
getName());
5+0%2Fdocs%2Fapi+Element">Element responsavel = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("responsavel",namespace
));
responsavel.
setText(line.
nomeDocenteResponsavel);
5+0%2Fdocs%2Fapi+Element">Element responsavelEmail = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("responsavelEmail",namespace
));
responsavelEmail.
setText(line.
emailDocenteResponsavel);
5+0%2Fdocs%2Fapi+Element">Element apresentacaoObjectivos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("objetivosDaAprendizagem",namespace
));
apresentacaoObjectivos.
setText(line.
objetivosDaAprendizagem);
5+0%2Fdocs%2Fapi+Element">Element codigoSIGESDocente1 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("codigoSIGESDocente1",namespace
));
codigoSIGESDocente1.
setText(line.
codigoSIGESDocente1);
5+0%2Fdocs%2Fapi+Element">Element outroDocente1 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("outroDocente1",namespace
));
outroDocente1.
setText(line.
outroDocente1);
5+0%2Fdocs%2Fapi+Element">Element docenteEmail1 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("docenteEmail1",namespace
));
docenteEmail1.
setText(line.
docenteEmail1);
5+0%2Fdocs%2Fapi+Element">Element codigoSIGESDocente2 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("codigoSIGESDocente2",namespace
));
codigoSIGESDocente2.
setText(line.
codigoSIGESDocente2);
5+0%2Fdocs%2Fapi+Element">Element outroDocente2 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("outroDocente2",namespace
));
outroDocente2.
setText(line.
outroDocente2);
5+0%2Fdocs%2Fapi+Element">Element docenteEmail2 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("docenteEmail2",namespace
));
docenteEmail2.
setText(line.
docenteEmail2);
5+0%2Fdocs%2Fapi+Element">Element codigoSIGESDocente3 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("codigoSIGESDocente3",namespace
));
codigoSIGESDocente3.
setText(line.
codigoSIGESDocente2);
5+0%2Fdocs%2Fapi+Element">Element outroDocente3 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("outroDocente3",namespace
));
outroDocente3.
setText(line.
outroDocente3);
5+0%2Fdocs%2Fapi+Element">Element docenteEmail3 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("docenteEmail3",namespace
));
docenteEmail3.
setText(line.
docenteEmail3);
5+0%2Fdocs%2Fapi+Element">Element codigoSIGESDocente4 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("codigoSIGESDocente4",namespace
));
codigoSIGESDocente4.
setText(line.
codigoSIGESDocente4);
5+0%2Fdocs%2Fapi+Element">Element outroDocente4 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("outroDocente4",namespace
));
outroDocente4.
setText(line.
outroDocente4);
5+0%2Fdocs%2Fapi+Element">Element docenteEmail4 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("docenteEmail4",namespace
));
docenteEmail4.
setText(line.
docenteEmail4);
5+0%2Fdocs%2Fapi+Element">Element conteudosProgramaticos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("conteudosProgramaticos",namespace
));
conteudosProgramaticos.
setText(line.
conteudosProgramaticos);
5+0%2Fdocs%2Fapi+Element">Element demonstracaoCoerenciaConteudosObjectivos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("demonstracaoCoerenciaConteudosObjectivos",namespace
));
demonstracaoCoerenciaConteudosObjectivos.
setText(line.
demonstracaoCoerenciaConteudosObjectivos);
5+0%2Fdocs%2Fapi+Element">Element metodologiasEnsino = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("metodologiasEnsino",namespace
));
metodologiasEnsino.
setText(line.
metodologiasEnsino);
5+0%2Fdocs%2Fapi+Element">Element alunosOrdinariosPorFrequencia = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosOrdinariosPorFrequencia",namespace
));
alunosOrdinariosPorFrequencia.
setText(line.
alunosOrdinariosPorFrequencia);
5+0%2Fdocs%2Fapi+Element">Element alunosOrdinariosPorExame = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosOrdinariosPorExame",namespace
));
alunosOrdinariosPorExame.
setText(line.
alunosOrdinariosPorExame);
5+0%2Fdocs%2Fapi+Element">Element alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia",namespace
));
alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia.
setText(line.
alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia);
5+0%2Fdocs%2Fapi+Element">Element alunosMobilidadeAlunosComEstatutoEspecialPorExame = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("alunosMobilidadeAlunosComEstatutoEspecialPorExame",namespace
));
alunosMobilidadeAlunosComEstatutoEspecialPorExame.
setText(line.
alunosMobilidadeAlunosComEstatutoEspecialPorExame);
5+0%2Fdocs%2Fapi+Element">Element demonstracaoDaCoerenciaMetodologiasObjectivos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("demonstracaoDaCoerenciaMetodologiasObjectivos",namespace
));
demonstracaoDaCoerenciaMetodologiasObjectivos.
setText(line.
demonstracaoDaCoerenciaMetodologiasObjectivos);
5+0%2Fdocs%2Fapi+Element">Element bibliografiaPrincipal = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("bibliografiaPrincipal",namespace
));
bibliografiaPrincipal.
setText(line.
bibliografiaPrincipal);
5+0%2Fdocs%2Fapi+Element">Element bibliografiaComplementar = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("bibliografiaComplementar",namespace
));
bibliografiaComplementar.
setText(line.
bibliografiaComplementar);
5+0%2Fdocs%2Fapi+Element">Element adaptacaoMetodologiasObjectivos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("adaptacaoMetodologiasObjectivos",namespace
));
adaptacaoMetodologiasObjectivos.
setText(line.
adaptacaoMetodologiasObjectivos);
5+0%2Fdocs%2Fapi+Element">Element verificacaoCargaECTS = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("verificacaoCargaECTS",namespace
));
verificacaoCargaECTS.
setText(line.
verificacaoCargaECTS);
5+0%2Fdocs%2Fapi+Element">Element avaliacaoFuncaoObjectivos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("avaliacaoFuncaoObjectivos",namespace
));
avaliacaoFuncaoObjectivos.
setText(line.
avaliacaoFuncaoObjectivos);
5+0%2Fdocs%2Fapi+Element">Element metodologiasFacilitamParticipacaoCientificas = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("metodologiasFacilitamParticipacaoCientificas",namespace
));
metodologiasFacilitamParticipacaoCientificas.
setText(line.
metodologiasFacilitamParticipacaoCientificas);
5+0%2Fdocs%2Fapi+Element">Element ects = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("ects",namespace
));
ects.
setText(line.
ects);
5+0%2Fdocs%2Fapi+Element">Element preRequisitos = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("preRequisitos",namespace
));
preRequisitos.
setText(line.
preRequisitos);
5+0%2Fdocs%2Fapi+Element">Element obrigatoria = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("obrigatoria",namespace
));
obrigatoria.
setText(line.
obrigatoria);
5+0%2Fdocs%2Fapi+Element">Element lingua1 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("lingua1",namespace
));
lingua1.
setText(line.
lingua1);
5+0%2Fdocs%2Fapi+Element">Element lingua2 = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("lingua2",namespace
));
lingua2.
setText(line.
lingua2);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaT = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaT",namespace
));
cargaHorariaT.
setText(line.
cargaHorariaT);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaTP = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaTP",namespace
));
cargaHorariaTP.
setText(line.
cargaHorariaTP);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaPL = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaPL",namespace
));
cargaHorariaPL.
setText(line.
cargaHorariaPL);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaS = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaS",namespace
));
cargaHorariaS.
setText(line.
cargaHorariaS);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaTC = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaTC",namespace
));
cargaHorariaTC.
setText(line.
cargaHorariaTC);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaO = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaO",namespace
));
cargaHorariaO.
setText(line.
cargaHorariaO);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaOT = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaOT",namespace
));
cargaHorariaOT.
setText(line.
cargaHorariaOT);
5+0%2Fdocs%2Fapi+Element">Element cargaHorariaTotal = curriculum.
addElement(new 1.5.0/docs/api/javax/xml/namespace/QName.html">QName("cargaHorariaTotal",namespace
));
cargaHorariaTotal.
setText(line.
cargaHorariaTotal);
Dom4jUtil.
writeSout(responseDoc
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println("");
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.pdf";
1.5.0/docs/api/java/io/FileOutputStream.html">FileOutputStream teste =
new 1.5.0/docs/api/java/io/FileOutputStream.html">FileOutputStream(path
);
Map
<String,Object
> params =
new HashMap
<String,Object
>();
params.
put("site", Globals.
SITE_URL);
PdfUtils.
createPdfFromXml(new 1.5.0/docs/api/javax/xml/transform/dom/DOMSource.html">DOMSource(Dom4jUtil.
toW3c(responseDoc
)),
"pt/estgp/estgweb/services/courseunits/courseunitprogram.fo.xsl", teste,params
);
teste.
flush();
teste.
close();
RepositoryService repositoryService =
new RepositoryService
();
User owner =
null;
if(cu.
getTeachers() !=
null && cu.
getTeachers().
size() > 0
)
owner = cu.
getTeachers().
iterator().
next();
else
owner = DaoFactory.
getUserDaoImpl().
load(1
);
if(cu.
getProgramStreamId() ==
null)
{
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
);
cu.
setProgramStreamId(identifier
);
}
else
{
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);
}
//Obrigar a ser falso
cu.
setValidProgram(false);
}
private static void setTeachers
(CourseUnit cu, CourseUnitInputLine line
)
{
if(line.
codSIGESDocenteResponsavel !=
null && line.
codSIGESDocenteResponsavel.
trim().
length() > 0
)
{
checkTeacher
(cu, line.
codSIGESDocenteResponsavel,line.
nomeDocenteResponsavel,line.
emailDocenteResponsavel);
}
else
1.5.0/docs/api/java/lang/System.html">System.
out.
println("Nao existe docente responsavel para a unidade " + cu.
getCode());
if(line.
codigoSIGESDocente1 !=
null && line.
codigoSIGESDocente1.
trim().
length() > 0
)
checkTeacher
(cu, line.
codigoSIGESDocente1,line.
outroDocente1,line.
docenteEmail1);
if(line.
codigoSIGESDocente2 !=
null && line.
codigoSIGESDocente2.
trim().
length() > 0
)
checkTeacher
(cu, line.
codigoSIGESDocente2,line.
outroDocente2,line.
docenteEmail2);
if(line.
codigoSIGESDocente3 !=
null && line.
codigoSIGESDocente3.
trim().
length() > 0
)
checkTeacher
(cu, line.
codigoSIGESDocente3,line.
outroDocente3,line.
docenteEmail3);
if(line.
codigoSIGESDocente4 !=
null && line.
codigoSIGESDocente4.
trim().
length() > 0
)
checkTeacher
(cu, line.
codigoSIGESDocente4,line.
outroDocente4,line.
docenteEmail4);
}
private static void checkTeacher
(CourseUnit cu,
1.5.0/docs/api/java/lang/String.html">String codSIGESDocenteResponsavel,
1.5.0/docs/api/java/lang/String.html">String nomeDocenteResponsavel,
1.5.0/docs/api/java/lang/String.html">String emailDocenteResponsavel
) {
try{
Teacher t = DaoFactory.
getTeacherDaoImpl().
loadBySigesCode(1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(codSIGESDocenteResponsavel
));
boolean found =
false;
for(Teacher ts : cu.
getTeachers())
{
if(ts.
getId() == t.
getId())
{
found =
true;
break;
}
}
if(!found
)
cu.
getTeachers().
add((TeacherImpl
) t
);
}catch(1.5.0/docs/api/java/lang/Exception.html">Exception e
)
{
}
}
private static CourseUnit createNewCourseUnit
(CourseUnit cu, CourseUnitInputLine line,
1.5.0/docs/api/java/lang/String.html">String importYear
)
{
cu = DomainObjectFactory.
createCourseUnitImpl();
cu.
setSemestre(line.
semestre);
cu.
setImportYear(importYear
);
cu.
setCode(line.
codigoSIGESUnidade);
cu.
setCourseCode(line.
codigoCurso);
cu.
setName(line.
nomeUnidadeCurricular);
cu.
setInstitutionCode("" + Globals.
SIGES_INSTITUTION_CODE);
setCourse
(cu, line
);
DaoFactory.
getCourseUnitDaoImpl().
save(cu
);
return cu
;
}
private static void setCourse
(CourseUnit cu, CourseUnitInputLine line
) {
Course c = DaoFactory.
getCourseDaoImpl().
findCourseByCode(line.
codigoCurso);
if(c ==
null)
1.5.0/docs/api/java/lang/System.html">System.
out.
println("Curso " + line.
codigoCurso +
" nao existe por favor crie e importe novamente");
cu.
setCourse(c
);
}
private static void persistCourseUnitProgram
(CourseUnit cu, CourseUnitInputLine line
) throws 1.5.0/docs/api/java/io/IOException.html">IOException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException
{
Session sess = HibernateUtils.
getCurrentSession();
CourseUnitProgram program = cu.
getCourseUnitProgram();
if(program ==
null)
{
program =
new CourseUnitProgramImpl
();
program.
setSaveDate(new java.
util.
5+0%2Fdocs%2Fapi+Date">Date());
sess.
save(program
);
cu.
setCourseUnitProgram(program
);
}
program.
setAdaptacaoObjectivosMetodologia(line.
adaptacaoMetodologiasObjectivos);
program.
setAvaliacaoEspeciaisFrequencia(line.
alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia);
program.
setAvaliacaoEspeciaissExame(line.
alunosMobilidadeAlunosComEstatutoEspecialPorExame);
program.
setAvaliacaoOrdinariosFrequencia(line.
alunosOrdinariosPorFrequencia);
program.
setAvaliacaoOrdinariosExame(line.
alunosOrdinariosPorExame);
program.
setBibliografia(line.
bibliografiaPrincipal);
program.
setBibliografiaComplementar(line.
bibliografiaComplementar);
program.
setConteudos(line.
conteudosProgramaticos);
program.
setDemonstracaoCargaEcts(line.
verificacaoCargaECTS);
program.
setDemonstracaoObjectivosMetodologia(line.
demonstracaoDaCoerenciaMetodologiasObjectivos);
program.
setEcts(line.
ects);
program.
setGarantiaAvaliacaoFuncaObjectivos(line.
avaliacaoFuncaoObjectivos);
program.
setLingua1(line.
lingua1);
program.
setLingua2(line.
lingua2);
program.
setMetodologiasActividadeCientifica(line.
metodologiasFacilitamParticipacaoCientificas);
program.
setMetodologiasEnsino(line.
metodologiasEnsino);
program.
setDemonstracaoCoerenciaConteudos(line.
demonstracaoCoerenciaConteudosObjectivos);
program.
setObjectivos(line.
objetivosDaAprendizagem);
program.
setObrigatoria(line.
obrigatoria);
program.
setPrerequisitos(line.
preRequisitos);
}
}