package pt.estgp.estgweb.services.courses;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.CourseDepartment;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.dao.impl.CourseDepartmentDaoImpl;
import pt.estgp.estgweb.utils.ConfigProperties;
/**
* Created by jorgemachado on 15/09/16.
*
* to be called from ANT tasks
*
*
* UPDATE DO MYSQL PARA OS DEPARTAMENTOS
*
* 1 - FAZER O UPDATE HIBERNATE SQL - Ira criar a tabela de departamentos
* As chaves estrangeiras não poderão ser criadas porque existem falhas de linkagem
* 2 - Correr esta tarefa - Irá criar os departamentos ant -f inportRoutines.xml updateCourseDepartments
* 3 - Correr novamente o update hibernate sql e a chave será atualizada
*/
public class UpdateDepartmentsTask
{
public static void main
(1.5.0/docs/api/java/lang/String.html">String [] args
)
{
AbstractDao.
getCurrentSession().
beginTransaction();
new UpdateDepartmentsTask
().
updateDepartmentsDefault();
AbstractDao.
getCurrentSession().
getTransaction().
commit();
}
/**
* Check default departments if they already exist in database
* ESECS
* a) Comunicação, Artes e Tecnologias; CAT
* b) Educação e Formação; EF
* c) Intervenção e Desenvolvimento Social. IDS
*
* ESTG
* a) Tecnologias e Design TD
* b) Ciências Empresariais, Sociais e Humanas”. CESH
*
* ESAE
* a) Agricultura e Recursos Naturais ARN
* b) Ciência e Tecnologia Animal CTA
*
* ESSP
*
* a) Ciências e Tecnologias da Saúde
*
* Properties
* institution.code.prefix.inverse.ESTG=1
institution.code.prefix.inverse.ESAE=2
institution.code.prefix.inverse.ESECS=3
institution.code.prefix.inverse.ESS=4
*/
public void updateDepartmentsDefault
()
{
CourseDepartmentDaoImpl dao = DaoFactory.
getCourseDepartmentDaoImpl();
/*
* ESECS
* */
1.5.0/docs/api/java/lang/String.html">String sigla =
"cat";
1.5.0/docs/api/java/lang/String.html">String nome =
"Comunicação, Artes e Tecnologias";
1.5.0/docs/api/java/lang/String.html">String nomeEn =
"Comunication Arts and Technology";
1.5.0/docs/api/java/lang/String.html">String nomeEs =
"Comunicación, Artes y Tecnologías";
1.5.0/docs/api/java/lang/String.html">String nomeFr =
"Communication, Arts et Technologies";
1.5.0/docs/api/java/lang/String.html">String institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESECS");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
sigla =
"ef";
nome =
"Educação e Formação";
nomeEn =
"Education and training";
nomeEs =
"Educación y formación";
nomeFr =
"Éducation et formation";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESECS");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
sigla =
"ids";
nome =
"Intervenção e Desenvolvimento Social";
nomeEn =
"Intervention and Social Development";
nomeEs =
"Intervención y Desarrollo Social";
nomeFr =
"Intervention et du Développement social";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESECS");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
/**
* ESTG
*/
sigla =
"td";
nome =
"Tecnologias e Design";
nomeEn =
"Technology and Design";
nomeEs =
"Tecnología y Diseño";
nomeFr =
"Technologie et Design";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESTG");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
sigla =
"cesh";
nome =
"Ciências Empresariais, Sociais e Humanas";
nomeEn =
"Business Sciences, Social and Human";
nomeEs =
"Ciencias empresariales, Social y Humano";
nomeFr =
"Entreprise Sciences, Sciences sociales et humaines";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESTG");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
/**
* ESAE
*/
sigla =
"arn";
nome =
"Agricultura e Recursos Naturais";
nomeEn =
"Agriculture and Natural Resources";
nomeEs =
"Agricultura y Recursos Naturales";
nomeFr =
"Agriculture et ressources naturelles";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESAE");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
sigla =
"cta";
nome =
"Ciência e Tecnologia Animal";
nomeEn =
"Animal Science and Technology";
nomeEs =
"Ciencia y Tecnología Animal";
nomeFr =
"Animal Science et technologie";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESAE");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
/**
* ESSP
*/
sigla =
"cts";
nome =
"Ciências e Tecnologias da Saúde";
nomeEn =
"Science and Health Technologies";
nomeEs =
"Ciencia y Salud Tecnologías";
nomeFr =
"Sciences et technologies de la santé";
institutionalCode = ConfigProperties.
getProperty("institution.code.prefix.inverse.ESS");
createDepartment
(dao, sigla, nome, nomeEn, nomeEs, nomeFr, institutionalCode
);
}
private void createDepartment
(CourseDepartmentDaoImpl dao,
1.5.0/docs/api/java/lang/String.html">String sigla,
1.5.0/docs/api/java/lang/String.html">String nome,
1.5.0/docs/api/java/lang/String.html">String nomeEn,
1.5.0/docs/api/java/lang/String.html">String nomeEs,
1.5.0/docs/api/java/lang/String.html">String nomeFr,
1.5.0/docs/api/java/lang/String.html">String institutionalCode
) {
CourseDepartment courseDepartment = dao.
findBySigla(sigla
);
if(courseDepartment ==
null)
{
courseDepartment = DomainObjectFactory.
createCourseDepartmentImpl();
courseDepartment.
setSigla(sigla
);
courseDepartment.
setInstitutionalCode(institutionalCode
);
courseDepartment.
setName(nome
);
courseDepartment.
setNameEn(nomeEn
);
courseDepartment.
setNameEs(nomeEs
);
courseDepartment.
setNameFr(nomeFr
);
courseDepartment.
setActive(true);
dao.
save(courseDepartment
);
}
}
}