package pt.estgp.estgweb.domain;
import jomm.dao.utils.HibernateUtils;
import org.apache.fop.apps.FOPException;
import org.dom4j.*;
import org.hibernate.NonUniqueResultException;
import org.hibernate.Session;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram;
import javax.xml.transform.TransformerException;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.sql.SQLException;
import java.util.*;
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 CourseUnitProgramImpl
() {
setBibliografia
("");
setBibliografiaComplementar
("");
setAdaptacaoObjectivosMetodologia
("");
setDemonstracaoCargaEcts
("");
setGarantiaAvaliacaoFuncaObjectivos
("");
setMetodologiasActividadeCientifica
("");
setEcts
("");
setPrerequisitos
("");
setObrigatoria
("");
setLingua1
("");
setLingua2
("");
setCargaHorariaTotal
("");
setCargaHorariaT
("");
setCargaHorariaTP
("");
setCargaHorariaPL
("");
setCargaHorariaS
("");
setCargaHorariaTC
("");
setCargaHorariaO
("");
setCargaHorariaOT
("");
}
public void consistNullValues
()
{
if(getBibliografia
() ==
null)
setBibliografia
("");
if(getBibliografiaComplementar
() ==
null)
setBibliografiaComplementar
("");
if(getAdaptacaoObjectivosMetodologia
() ==
null)
setAdaptacaoObjectivosMetodologia
("");
if(getDemonstracaoCargaEcts
() ==
null)
setDemonstracaoCargaEcts
("");
if(getGarantiaAvaliacaoFuncaObjectivos
() ==
null)
setGarantiaAvaliacaoFuncaObjectivos
("");
if(getMetodologiasActividadeCientifica
() ==
null)
setMetodologiasActividadeCientifica
("");
if(getEcts
() ==
null)
setEcts
("");
if(getPrerequisitos
() ==
null)
setPrerequisitos
("");
if(getObrigatoria
() ==
null)
setObrigatoria
("");
if(getLingua1
() ==
null)
setLingua1
("");
if(getLingua2
() ==
null)
setLingua2
("");
if(getCargaHorariaTotal
() ==
null)
setCargaHorariaTotal
("");
if(getCargaHorariaT
() ==
null)
setCargaHorariaT
("");
if(getCargaHorariaTP
() ==
null)
setCargaHorariaTP
("");
if(getCargaHorariaPL
() ==
null)
setCargaHorariaPL
("");
if(getCargaHorariaS
() ==
null)
setCargaHorariaS
("");
if(getCargaHorariaTC
() ==
null)
setCargaHorariaTC
("");
if(getCargaHorariaO
() ==
null)
setCargaHorariaO
("");
if(getCargaHorariaOT
() ==
null)
setCargaHorariaOT
("");
if(getCourseUnitProgramPart2
() !=
null)
{
((CourseUnitProgramPart2Impl
)getCourseUnitProgramPart2
()).
consistNullValues();
}
}
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 +
'\'' +
'}';
}
}
static boolean valiPrograms =
true;
static int contaProgramas =
0;
static boolean considerProblems =
false;
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, DocumentException,
1.5.0/docs/api/java/sql/SQLException.html">SQLException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println("CONSISTING COURSE IDS in units:");
HibernateUtils.
getCurrentSession().
beginTransaction();
DaoFactory.
getCourseUnitDaoImpl().
consistCourseUnitCourseCodes(DaoFactory.
getConfigurationDaoImpl().
getInterfaceImportYear());
HibernateUtils.
getCurrentSession().
getTransaction().
commit();
1.5.0/docs/api/java/lang/System.html">System.
out.
println("Done");
1.5.0/docs/api/java/lang/String.html">String file =
"D:\\Jorge\\Documents\\estg\\projectos\\Fichas Curriculares Baco\\FICHAS_CORRIGIDAS\\DC - 10.jan.13.xml";
if(args.
length > 0
)
file = args
[0
];
if(args.
length > 1
)
valiPrograms =
1.5.0/docs/api/java/lang/Boolean.html">Boolean.
parseBoolean(args
[1
]);
if(args.
length > 2
)
considerProblems =
1.5.0/docs/api/java/lang/Boolean.html">Boolean.
parseBoolean(args
[2
]);
1.5.0/docs/api/java/io/File.html">File f =
new 1.5.0/docs/api/java/io/File.html">File(file
);
1.5.0/docs/api/java/io/File.html">File f2 = f
;
try{
if(f.
isDirectory())
{
for(1.5.0/docs/api/java/io/File.html">File f3 : f.
listFiles())
{
f2 = f3
;
if(f3.
getName().
endsWith("xml"))
{
contaProgramas++
;
1.5.0/docs/api/java/lang/System.html">System.
out.
println("TOTAL Programas: " + contaProgramas
);
importFile
(f3
);
}
}
}
else
{
importFile
(f
);
}
}catch(1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println(e.
toString());
e.
printStackTrace();
1.5.0/docs/api/java/lang/System.html">System.
out.
println("Falhou a importar o ficheiro: " + f2.
getName());
}
for(1.5.0/docs/api/java/lang/String.html">String error: errors
)
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println("ERRO:" + error
);
}
1.5.0/docs/api/java/lang/System.html">System.
out.
println("INFOS:" + infos.
size() +
"#############################################");
for(1.5.0/docs/api/java/lang/String.html">String info: infos
)
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println(info
);
}
1.5.0/docs/api/java/lang/System.html">System.
out.
println("ERROS:" + errors.
size() +
"#############################################");
for(1.5.0/docs/api/java/lang/String.html">String error: errors
)
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println(error
);
}
}
public static void importFile
(1.5.0/docs/api/java/io/File.html">File f
) 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
>();
5+0%2Fdocs%2Fapi+Document">Document dom = parse
(new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(f
));
// 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");
namespaces.
put("ss",
"urn:schemas-microsoft-com:office:spreadsheet");
1.5.0/docs/api/javax/xml/xpath/XPath.html">XPath xPath = dom.
createXPath("//m:Worksheet");
xPath.
setNamespaceURIs(namespaces
);
List
<Element
> worksheets = xPath.
selectNodes(dom.
getRootElement());
Map
<Integer,String
> affectedRows =
new HashMap
<Integer,String
>();
for(5+0%2Fdocs%2Fapi+Element">Element worksheet:worksheets
)
{
xPath = worksheet.
createXPath(".//m:Row");
xPath.
setNamespaceURIs(namespaces
);
List
<Element
> rows = xPath.
selectNodes(worksheet
);
for(int r =
3; r
< 56; r++
)
{
if(lista
[r-3
] ==
null)
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
);
5+0%2Fdocs%2Fapi+Attribute">Attribute attr = cell.
attribute("Index");
1.5.0/docs/api/java/lang/System.html">System.
out.
println("###############################" + attr
);
if(attr
!=
null)
{
if(attr.
getValue() !=
null && attr.
getValue().
length() > 0
)
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println("###############################");
int index =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(attr.
getValue());
affectedRows.
put((r-
3),
"AFFECTED");
if(index
> i+1
)
{
int indexHoles = index - 1 - i
; //porque o Index come�a em 1
for(int j=
0; j
< indexHoles
;j++
)
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println("SPACES ###############################");
lista
[r-
3].
add("");
}
}
}
}
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("");
}
}
}
if(!considerProblems || affectedRows.
size() > 0)
{
errors.
add("IMPORTING AGAIN COURSE: " + f.
getName());
}
else
{
errors.
add("COURSE " + f.
getName() +
"no problems found");
return;
}
int maxUnits = lista
[0
].
size();
for(int unit =
0; unit
< maxUnits
; unit++
)
{
CourseUnitInputLine courseUnitInputLine =
new CourseUnitInputLine
();
if(lista
[0
].
size() > unit
)
courseUnitInputLine.
codigoCurso = lista
[0
].
get(unit
);
if(lista
[2
].
size() > unit
)
courseUnitInputLine.
codigoSIGESUnidade = lista
[2
].
get(unit
);
if(lista
[3
].
size() > unit
)
courseUnitInputLine.
ano = lista
[3
].
get(unit
);
if(lista
[4
].
size() > unit
)
courseUnitInputLine.
semestre = lista
[4
].
get(unit
);
if(lista
[5
].
size() > unit
)
courseUnitInputLine.
nomeUnidadeCurricular = lista
[5
].
get(unit
);
if(lista
[7
].
size() > unit
)
courseUnitInputLine.
codSIGESDocenteResponsavel = lista
[7
].
get(unit
);
if(lista
[8
].
size() > unit
)
courseUnitInputLine.
nomeDocenteResponsavel = lista
[8
].
get(unit
);
if(lista
[9
].
size() > unit
)
courseUnitInputLine.
emailDocenteResponsavel = lista
[9
].
get(unit
);
if(lista
[10
].
size() > unit
)
courseUnitInputLine.
codigoSIGESDocente1 = lista
[10
].
get(unit
);
if(lista
[11
].
size() > unit
)
courseUnitInputLine.
outroDocente1 = lista
[11
].
get(unit
);
if(lista
[12
].
size() > unit
)
courseUnitInputLine.
docenteEmail1 = lista
[12
].
get(unit
);
if(lista
[13
].
size() > unit
)
courseUnitInputLine.
codigoSIGESDocente2 = lista
[13
].
get(unit
);
if(lista
[14
].
size() > unit
)
courseUnitInputLine.
outroDocente2 = lista
[14
].
get(unit
);
if(lista
[15
].
size() > unit
)
courseUnitInputLine.
docenteEmail2 = lista
[15
].
get(unit
);
if(lista
[16
].
size() > unit
)
courseUnitInputLine.
codigoSIGESDocente3 = lista
[16
].
get(unit
);
if(lista
[17
].
size() > unit
)
courseUnitInputLine.
outroDocente3 = lista
[17
].
get(unit
);
if(lista
[18
].
size() > unit
)
courseUnitInputLine.
docenteEmail3 = lista
[18
].
get(unit
);
if(lista
[19
].
size() > unit
)
courseUnitInputLine.
codigoSIGESDocente4 = lista
[19
].
get(unit
);
if(lista
[20
].
size() > unit
)
courseUnitInputLine.
outroDocente4 = lista
[20
].
get(unit
);
if(lista
[21
].
size() > unit
)
courseUnitInputLine.
docenteEmail4 = lista
[21
].
get(unit
);
if(lista
[22
].
size() > unit
)
courseUnitInputLine.
objetivosDaAprendizagem = lista
[22
].
get(unit
);
if(lista
[23
].
size() > unit
)
courseUnitInputLine.
conteudosProgramaticos = lista
[23
].
get(unit
);
if(lista
[24
].
size() > unit
)
courseUnitInputLine.
demonstracaoCoerenciaConteudosObjectivos = lista
[24
].
get(unit
);
if(lista
[25
].
size() > unit
)
courseUnitInputLine.
metodologiasEnsino = lista
[25
].
get(unit
);
if(lista
[26
].
size() > unit
)
courseUnitInputLine.
alunosOrdinariosPorFrequencia = lista
[26
].
get(unit
);
if(lista
[27
].
size() > unit
)
courseUnitInputLine.
alunosOrdinariosPorExame = lista
[27
].
get(unit
);
if(lista
[28
].
size() > unit
)
courseUnitInputLine.
alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia = lista
[28
].
get(unit
);
if(lista
[29
].
size() > unit
)
courseUnitInputLine.
alunosMobilidadeAlunosComEstatutoEspecialPorExame = lista
[29
].
get(unit
);
if(lista
[30
].
size() > unit
)
courseUnitInputLine.
demonstracaoDaCoerenciaMetodologiasObjectivos = lista
[30
].
get(unit
);
if(lista
[31
].
size() > unit
)
courseUnitInputLine.
bibliografiaPrincipal = lista
[31
].
get(unit
);
if(lista
[32
].
size() > unit
)
courseUnitInputLine.
bibliografiaComplementar = lista
[32
].
get(unit
);
if(lista
[34
].
size() > unit
)
courseUnitInputLine.
adaptacaoMetodologiasObjectivos = lista
[34
].
get(unit
);
if(lista
[35
].
size() > unit
)
courseUnitInputLine.
verificacaoCargaECTS = lista
[35
].
get(unit
);
if(lista
[36
].
size() > unit
)
courseUnitInputLine.
avaliacaoFuncaoObjectivos = lista
[36
].
get(unit
);
if(lista
[37
].
size() > unit
)
courseUnitInputLine.
metodologiasFacilitamParticipacaoCientificas = lista
[37
].
get(unit
);
if(lista
[39
].
size() > unit
)
courseUnitInputLine.
ects = lista
[39
].
get(unit
);
if(lista
[40
].
size() > unit
)
courseUnitInputLine.
preRequisitos = lista
[40
].
get(unit
);
if(lista
[41
].
size() > unit
)
courseUnitInputLine.
obrigatoria = lista
[41
].
get(unit
);
if(lista
[42
].
size() > unit
)
courseUnitInputLine.
lingua1 = lista
[42
].
get(unit
);
if(lista
[43
].
size() > unit
)
courseUnitInputLine.
lingua2 = lista
[43
].
get(unit
);
if(lista
[45
].
size() > unit
)
courseUnitInputLine.
cargaHorariaT = lista
[45
].
get(unit
);
if(lista
[46
].
size() > unit
)
courseUnitInputLine.
cargaHorariaTP = lista
[46
].
get(unit
);
if(lista
[47
].
size() > unit
)
courseUnitInputLine.
cargaHorariaPL = lista
[47
].
get(unit
);
if(lista
[48
].
size() > unit
)
courseUnitInputLine.
cargaHorariaS = lista
[48
].
get(unit
);
if(lista
[49
].
size() > unit
)
courseUnitInputLine.
cargaHorariaTC = lista
[49
].
get(unit
);
if(lista
[50
].
size() > unit
)
courseUnitInputLine.
cargaHorariaO = lista
[50
].
get(unit
);
if(lista
[51
].
size() > unit
)
courseUnitInputLine.
cargaHorariaOT = lista
[51
].
get(unit
);
if(lista
[52
].
size() > 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);
1.5.0/docs/api/java/lang/System.html">System.
out.
println("Unidade curricular " + line.
codigoSIGESUnidade +
" " + line.
nomeUnidadeCurricular);
importCourseUnit
(line,importYear
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println(line.
alunosOrdinariosPorFrequencia);
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 =
null;
try{
//todo revisao necessaria
1.5.0/docs/api/java/lang/System.html">System.
out.
println("######FRAGMENTO DE CODIGO DESATUALIZADO, NESTE MOMENTO UMA CADEIRA AQUI NAO E UNICA (FALTA ID DE TURMA) -> NECESSITA DE REVISAO");
List
<CourseUnit
> cs = DaoFactory.
getCourseUnitDaoImpl().
loadBySigesCode(line.
codigoSIGESUnidade,line.
codigoCurso,line.
semestre, importYear
);
if(cs
!=
null && cs.
size() > 0
)
cu=cs.
get(0
);
}catch(NonUniqueResultException e
)
{
errors.
add("unidade nao unica: " + line.
codigoSIGESUnidade +
":" + line.
codigoCurso +
":" + line.
semestre +
":" + importYear
);
return;
}
if(cu
!=
null)
{
if(!setCourse
(cu, line
))
{
errors.
add("Curso n�o encontrada: line.codigoSIGESUnidade,line.codigoCurso,line.semestre, importYear: " + line.
codigoSIGESUnidade +
":" + line.
codigoCurso +
":" + line.
semestre +
":" + importYear
);
return;
}
}
else
{
errors.
add("Unidade n�o encontrada: line.codigoSIGESUnidade,line.codigoCurso,line.semestre, importYear: " + line.
codigoSIGESUnidade +
":" + line.
codigoCurso +
":" + line.
semestre +
":" + importYear
);
// cu = createNewCourseUnit(cu,line,importYear);
return;
}
persistCourseUnitProgram
(cu,line
);
setTeachers
(cu,line
);
new SaveCourseUnitProgram
().
createPdf(cu,errors
);
cu.
setValidProgram(valiPrograms
);
}
private static void setTeachers
(CourseUnit cu, CourseUnitInputLine line
)
{
if(line.
codSIGESDocenteResponsavel !=
null && line.
codSIGESDocenteResponsavel.
trim().
length() > 0
)
{
checkTeacherResponsable
(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);
}
static List
<String
> errors =
new ArrayList
<String
>();
static List
<String
> infos =
new ArrayList
<String
>();
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
&& t
!=
null)
cu.
getTeachers().
add((TeacherImpl
) t
);
else if(!found
&& t ==
null)
{
errors.
add("Teacher: " + codSIGESDocenteResponsavel +
" not found in courseUnit " + cu.
getName() +
"(" + cu.
getCode() +
") no curso " + cu.
getCourseName());
}
}catch(1.5.0/docs/api/java/lang/Exception.html">Exception e
)
{
}
}
private static void checkTeacherResponsable
(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
));
if(t
!=
null)
{
cu.
setResponsableTeacher(t
);
if(cu.
getTeachers().
contains(t
))
{
infos.
add("Docente Responsavel removido da lista de docentes da unidade: " + t.
getName()+
" - unit(" + cu.
getId() +
") " + cu.
getName());
cu.
getTeachers().
remove(t
);
}
}
else
{
errors.
add("Teacher: " + codSIGESDocenteResponsavel +
" not found in courseUnit " + cu.
getName() +
"(" + cu.
getCode() +
") no curso " + cu.
getCourseName());
}
}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("" + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode());
setCourse
(cu, line
);
DaoFactory.
getCourseUnitDaoImpl().
save(cu
);
return cu
;
}
private static boolean 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");
return false;
}
cu.
setCourse(c
);
return true;
}
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();
CourseUnitProgramPart2 program2
;
if(program ==
null)
{
program =
new CourseUnitProgramImpl
();
program2 =
new CourseUnitProgramPart2Impl
();
program.
setSaveDate(new java.
util.
5+0%2Fdocs%2Fapi+Date">Date());
program2.
setSaveDate(new java.
util.
5+0%2Fdocs%2Fapi+Date">Date());
program.
setCourseUnitProgramPart2(program2
);
sess.
save(program
);
sess.
save(program2
);
cu.
setCourseUnitProgram(program
);
}
else
program2 = program.
getCourseUnitProgramPart2();
program.
setAdaptacaoObjectivosMetodologia(line.
adaptacaoMetodologiasObjectivos);
program2.
setAvaliacaoEspeciaisFrequencia(line.
alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia);
program2.
setAvaliacaoEspeciaissExame(line.
alunosMobilidadeAlunosComEstatutoEspecialPorExame);
program2.
setAvaliacaoOrdinariosFrequencia(line.
alunosOrdinariosPorFrequencia);
program2.
setAvaliacaoOrdinariosExame(line.
alunosOrdinariosPorExame);
program.
setBibliografia(line.
bibliografiaPrincipal);
program.
setBibliografiaComplementar(line.
bibliografiaComplementar);
program2.
setConteudos(line.
conteudosProgramaticos);
program.
setDemonstracaoCargaEcts(line.
verificacaoCargaECTS);
program2.
setDemonstracaoObjectivosMetodologia(line.
demonstracaoDaCoerenciaMetodologiasObjectivos);
program.
setEcts(line.
ects);
program.
setGarantiaAvaliacaoFuncaObjectivos(line.
avaliacaoFuncaoObjectivos);
program.
setLingua1(line.
lingua1);
program.
setLingua2(line.
lingua2);
program.
setMetodologiasActividadeCientifica(line.
metodologiasFacilitamParticipacaoCientificas);
program2.
setMetodologiasEnsino(line.
metodologiasEnsino);
program2.
setDemonstracaoCoerenciaConteudos(line.
demonstracaoCoerenciaConteudosObjectivos);
program2.
setObjectivos(line.
objetivosDaAprendizagem);
program.
setObrigatoria(line.
obrigatoria);
program.
setPrerequisitos(line.
preRequisitos);
program.
setCargaHorariaTotal(line.
cargaHorariaTotal);
program.
setCargaHorariaT(line.
cargaHorariaT);
program.
setCargaHorariaTP(line.
cargaHorariaTP);
program.
setCargaHorariaPL(line.
cargaHorariaPL);
program.
setCargaHorariaS(line.
cargaHorariaS);
program.
setCargaHorariaTC(line.
cargaHorariaTC);
program.
setCargaHorariaO(line.
cargaHorariaO);
program.
setCargaHorariaOT(line.
cargaHorariaOT);
}
// private static void createPdf(CourseUnitInputLine line, CourseUnit cu) throws IOException, TransformerException, FOPException {
// Document responseDoc = DocumentHelper.createDocument();
// Namespace namespace = new Namespace("uc", "http://baco.estgp.pt/schemas/courseunits/program/");
// responseDoc.setXMLEncoding("ISO-8859-1");
//
// SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
// Element curriculum = responseDoc.addElement(new QName("UnidadeCurricular", namespace));
// curriculum.addAttribute(new QName("data",namespace),sdf.format(new java.util.Date()));
//
// Element curso = curriculum.addElement(new QName("curso",namespace));
// if(cu.getCourseName() == null)
// {
// if(cu.getCourse() == null)
// {
// System.out.println("Unidade nao tem curso");
// curso.setText("Desactualizado");
// }
// else
// {
// System.out.println("Unidade nao tem nome no curso a actualizar com " + cu.getCourse().getName());
// curso.setText(cu.getCourse().getName());
// cu.setCourseName(cu.getCourse().getName());
// }
// }
// else
// curso.setText(cu.getCourseName());
//
// Element anoLectivo = curriculum.addElement(new QName("anoLectivo",namespace));
// anoLectivo.setText(DatesUtils.getImportYearPrograms(cu.getImportYear()));
//
// Element unidadeCurricular = curriculum.addElement(new QName("unidadeCurricular",namespace));
// unidadeCurricular.setText(cu.getName());
//
// Element responsavel = curriculum.addElement(new QName("responsavel",namespace));
// responsavel.setText(line.nomeDocenteResponsavel);
//
// Element responsavelEmail = curriculum.addElement(new QName("responsavelEmail",namespace));
// responsavelEmail.setText(line.emailDocenteResponsavel);
//
//
//
// Element apresentacaoObjectivos = curriculum.addElement(new QName("objetivosDaAprendizagem",namespace));
// apresentacaoObjectivos.setText(line.objetivosDaAprendizagem);
//
//
//
// Element codigoSIGESDocente1 = curriculum.addElement(new QName("codigoSIGESDocente1",namespace));
// codigoSIGESDocente1.setText(line.codigoSIGESDocente1);
// Element outroDocente1 = curriculum.addElement(new QName("outroDocente1",namespace));
// outroDocente1.setText(line.outroDocente1);
// Element docenteEmail1 = curriculum.addElement(new QName("docenteEmail1",namespace));
// docenteEmail1.setText(line.docenteEmail1);
//
//
// Element codigoSIGESDocente2 = curriculum.addElement(new QName("codigoSIGESDocente2",namespace));
// codigoSIGESDocente2.setText(line.codigoSIGESDocente2);
// Element outroDocente2 = curriculum.addElement(new QName("outroDocente2",namespace));
// outroDocente2.setText(line.outroDocente2);
// Element docenteEmail2 = curriculum.addElement(new QName("docenteEmail2",namespace));
// docenteEmail2.setText(line.docenteEmail2);
//
// Element codigoSIGESDocente3 = curriculum.addElement(new QName("codigoSIGESDocente3",namespace));
// codigoSIGESDocente3.setText(line.codigoSIGESDocente2);
// Element outroDocente3 = curriculum.addElement(new QName("outroDocente3",namespace));
// outroDocente3.setText(line.outroDocente3);
// Element docenteEmail3 = curriculum.addElement(new QName("docenteEmail3",namespace));
// docenteEmail3.setText(line.docenteEmail3);
//
//
// Element codigoSIGESDocente4 = curriculum.addElement(new QName("codigoSIGESDocente4",namespace));
// codigoSIGESDocente4.setText(line.codigoSIGESDocente4);
// Element outroDocente4 = curriculum.addElement(new QName("outroDocente4",namespace));
// outroDocente4.setText(line.outroDocente4);
// Element docenteEmail4 = curriculum.addElement(new QName("docenteEmail4",namespace));
// docenteEmail4.setText(line.docenteEmail4);
//
//
// Element conteudosProgramaticos = curriculum.addElement(new QName("conteudosProgramaticos",namespace));
// conteudosProgramaticos.setText(line.conteudosProgramaticos);
//
// Element demonstracaoCoerenciaConteudosObjectivos = curriculum.addElement(new QName("demonstracaoCoerenciaConteudosObjectivos",namespace));
// demonstracaoCoerenciaConteudosObjectivos.setText(line.demonstracaoCoerenciaConteudosObjectivos);
//
// Element metodologiasEnsino = curriculum.addElement(new QName("metodologiasEnsino",namespace));
// metodologiasEnsino.setText(line.metodologiasEnsino);
//
// Element alunosOrdinariosPorFrequencia = curriculum.addElement(new QName("alunosOrdinariosPorFrequencia",namespace));
// alunosOrdinariosPorFrequencia.setText(line.alunosOrdinariosPorFrequencia);
//
// Element alunosOrdinariosPorExame = curriculum.addElement(new QName("alunosOrdinariosPorExame",namespace));
// alunosOrdinariosPorExame.setText(line.alunosOrdinariosPorExame);
//
// Element alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia = curriculum.addElement(new QName("alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia",namespace));
// alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia.setText(line.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia);
//
// Element alunosMobilidadeAlunosComEstatutoEspecialPorExame = curriculum.addElement(new QName("alunosMobilidadeAlunosComEstatutoEspecialPorExame",namespace));
// alunosMobilidadeAlunosComEstatutoEspecialPorExame.setText(line.alunosMobilidadeAlunosComEstatutoEspecialPorExame);
//
//
// Element demonstracaoDaCoerenciaMetodologiasObjectivos = curriculum.addElement(new QName("demonstracaoDaCoerenciaMetodologiasObjectivos",namespace));
// demonstracaoDaCoerenciaMetodologiasObjectivos.setText(line.demonstracaoDaCoerenciaMetodologiasObjectivos);
//
//
// Element bibliografiaPrincipal = curriculum.addElement(new QName("bibliografiaPrincipal",namespace));
// bibliografiaPrincipal.setText(line.bibliografiaPrincipal);
//
// Element bibliografiaComplementar = curriculum.addElement(new QName("bibliografiaComplementar",namespace));
// bibliografiaComplementar.setText(line.bibliografiaComplementar);
//
// Element adaptacaoMetodologiasObjectivos = curriculum.addElement(new QName("adaptacaoMetodologiasObjectivos",namespace));
// adaptacaoMetodologiasObjectivos.setText(line.adaptacaoMetodologiasObjectivos);
//
// Element verificacaoCargaECTS = curriculum.addElement(new QName("verificacaoCargaECTS",namespace));
// verificacaoCargaECTS.setText(line.verificacaoCargaECTS);
//
// Element avaliacaoFuncaoObjectivos = curriculum.addElement(new QName("avaliacaoFuncaoObjectivos",namespace));
// avaliacaoFuncaoObjectivos.setText(line.avaliacaoFuncaoObjectivos);
//
// Element metodologiasFacilitamParticipacaoCientificas = curriculum.addElement(new QName("metodologiasFacilitamParticipacaoCientificas",namespace));
// metodologiasFacilitamParticipacaoCientificas.setText(line.metodologiasFacilitamParticipacaoCientificas);
//
// Element ects = curriculum.addElement(new QName("ects",namespace));
// ects.setText(line.ects);
//
//
// Element preRequisitos = curriculum.addElement(new QName("preRequisitos",namespace));
// preRequisitos.setText(line.preRequisitos);
//
// Element obrigatoria = curriculum.addElement(new QName("obrigatoria",namespace));
// obrigatoria.setText(line.obrigatoria);
//
// Element lingua1 = curriculum.addElement(new QName("lingua1",namespace));
// lingua1.setText(line.lingua1);
//
// Element lingua2 = curriculum.addElement(new QName("lingua2",namespace));
// lingua2.setText(line.lingua2);
//
// Element cargaHorariaT = curriculum.addElement(new QName("cargaHorariaT",namespace));
// cargaHorariaT.setText(line.cargaHorariaT);
// Element cargaHorariaTP = curriculum.addElement(new QName("cargaHorariaTP",namespace));
// cargaHorariaTP.setText(line.cargaHorariaTP);
// Element cargaHorariaPL = curriculum.addElement(new QName("cargaHorariaPL",namespace));
// cargaHorariaPL.setText(line.cargaHorariaPL);
// Element cargaHorariaS = curriculum.addElement(new QName("cargaHorariaS",namespace));
// cargaHorariaS.setText(line.cargaHorariaS);
// Element cargaHorariaTC = curriculum.addElement(new QName("cargaHorariaTC",namespace));
// cargaHorariaTC.setText(line.cargaHorariaTC);
// Element cargaHorariaO = curriculum.addElement(new QName("cargaHorariaO",namespace));
// cargaHorariaO.setText(line.cargaHorariaO);
// Element cargaHorariaOT = curriculum.addElement(new QName("cargaHorariaOT",namespace));
// cargaHorariaOT.setText(line.cargaHorariaOT);
//
// Element cargaHorariaTotal = curriculum.addElement(new QName("cargaHorariaTotal",namespace));
// cargaHorariaTotal.setText(line.cargaHorariaTotal);
//
//
//
//
//
//
//
//
//
//
//
//// Dom4jUtil.writeSout(responseDoc);
// System.out.println("");
//
// String path = Globals.TMP_DIR + File.separator + cu.getName() + ".pdf";
// FileOutputStream teste = new FileOutputStream(path);
// Map<String,Object> params = new HashMap<String,Object>();
// params.put("site", Globals.SITE_URL);
// PdfUtils.createPdfFromXml(new DOMSource(Dom4jUtil.toW3c(responseDoc)), "pt/estgp/estgweb/services/courseunits/courseunitprogram.fo.xsl", teste,params);
// teste.flush();
// teste.close();
//
//
// RepositoryService repositoryService = new RepositoryService();
// User owner;
// if(cu.getTeachers() != null && cu.getTeachers().size() > 0)
// owner = cu.getTeachers().iterator().next();
// else
// owner = DaoFactory.getUserDaoImpl().load(new Long(1));
// if(owner.getUsername() == null)
// {
// errors.add("Docente: " + owner.getName() + " ( " + owner.getId() + " ) don't have username check that situation");
//// owner.setUsername("UKNOWN");
// }
// if(cu.getProgramStreamId() == null)
// {
// String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + ".pdf", "courseunit.program.description" + cu.getName(), ResourceAccessControlEnum.publicDomain,owner);
// cu.setProgramStreamId(identifier);
// }
// else
// {
// repositoryService.updateRepositoryFile(cu.getProgramStreamId(), new FileInputStream(path), "application/pdf", "pdf", ((int)new File(path).length()),cu.getCode() + ".pdf", "courseunit.program.description " + cu.getName(), ResourceAccessControlEnum.publicDomain);
// }
// cu.setObjectives(line.objetivosDaAprendizagem);
// //Obrigar a ser falso
// cu.setValidProgram(valiPrograms);
// }
/**
*
* Este metodo de clonagem apenas copia valores ddo proprio programa para o programa a clonar
*
* @param toClone
*/
public void cloneFrom
(CourseUnitProgram toClone
)
{
setAdaptacaoObjectivosMetodologia
(toClone.
getAdaptacaoObjectivosMetodologia());
setBibliografia
(toClone.
getBibliografia());
setBibliografiaComplementar
(toClone.
getBibliografiaComplementar());
setCargaHorariaO
(toClone.
getCargaHorariaO());
setCargaHorariaOT
(toClone.
getCargaHorariaOT());
setCargaHorariaPL
(toClone.
getCargaHorariaPL());
setCargaHorariaS
(toClone.
getCargaHorariaS());
setCargaHorariaT
(toClone.
getCargaHorariaT());
setCargaHorariaTC
(toClone.
getCargaHorariaTC());
setCargaHorariaTotal
(toClone.
getCargaHorariaTotal());
setCargaHorariaTP
(toClone.
getCargaHorariaTP());
setDemonstracaoCargaEcts
(toClone.
getDemonstracaoCargaEcts());
setEcts
(toClone.
getEcts());
setGarantiaAvaliacaoFuncaObjectivos
(toClone.
getGarantiaAvaliacaoFuncaObjectivos());
setLingua1
(toClone.
getLingua1());
setLingua2
(toClone.
getLingua2());
setMetodologiasActividadeCientifica
(toClone.
getMetodologiasActividadeCientifica());
setObrigatoria
(toClone.
getObrigatoria());
setPrerequisitos
(toClone.
getPrerequisitos());
if(getSaveDate
() ==
null)
setSaveDate
(new 5+0%2Fdocs%2Fapi+Date">Date());
setUpdateDate
(new 5+0%2Fdocs%2Fapi+Date">Date());
getCourseUnitProgramPart2
().
setAvaliacaoEspeciaisFrequencia(toClone.
getCourseUnitProgramPart2().
getAvaliacaoEspeciaisFrequencia());
getCourseUnitProgramPart2
().
setAvaliacaoEspeciaissExame(toClone.
getCourseUnitProgramPart2().
getAvaliacaoEspeciaissExame());
getCourseUnitProgramPart2
().
setAvaliacaoOrdinariosExame(toClone.
getCourseUnitProgramPart2().
getAvaliacaoOrdinariosExame());
getCourseUnitProgramPart2
().
setAvaliacaoOrdinariosFrequencia(toClone.
getCourseUnitProgramPart2().
getAvaliacaoOrdinariosFrequencia());
getCourseUnitProgramPart2
().
setConteudos(toClone.
getCourseUnitProgramPart2().
getConteudos());
getCourseUnitProgramPart2
().
setDemonstracaoCoerenciaConteudos(toClone.
getCourseUnitProgramPart2().
getDemonstracaoCoerenciaConteudos());
getCourseUnitProgramPart2
().
setDemonstracaoObjectivosMetodologia(toClone.
getCourseUnitProgramPart2().
getDemonstracaoObjectivosMetodologia());
getCourseUnitProgramPart2
().
setMetodologiasEnsino(toClone.
getCourseUnitProgramPart2().
getMetodologiasEnsino());
getCourseUnitProgramPart2
().
setObjectivos(toClone.
getCourseUnitProgramPart2().
getObjectivos());
if(getCourseUnitProgramPart2
().
getSaveDate() ==
null)
getCourseUnitProgramPart2
().
setSaveDate(new 5+0%2Fdocs%2Fapi+Date">Date());
getCourseUnitProgramPart2
().
setUpdateDate(new 5+0%2Fdocs%2Fapi+Date">Date());
}
}