Subversion Repositories bacoAlunos

Rev

Rev 1507 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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);
            dao.save(courseDepartment);
        }
    }
}