Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.services.profile;

import org.apache.log4j.Logger;
import org.hibernate.Query;
import pt.estgp.estgweb.services.courses.SetUserArea;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.Student;
import pt.estgp.estgweb.domain.Course;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.utils.AreasBelongUtils;
import pt.estgp.estgweb.Globals;

import java.util.List;
import java.io.*;

import jomm.dao.impl.AbstractDao;

/**
 * @author Jorge
 * @date 16/Jan/2009
 * @time 15:17:12
 */

public class SetUserAreaOfficeExtFromCSV
{
    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(SetUserAreaOfficeExtFromCSV.class);

    public void run() throws 1.5.0/docs/api/java/io/IOException.html">IOException
    {

        5+0%2Fdocs%2Fapi+InputStream">InputStream s = 1.5.0/docs/api/java/lang/Thread.html">Thread.currentThread().getContextClassLoader().getResourceAsStream("pt/estgp/estgweb/services/profile/docentes.csv");
        1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader reader = new 1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader(new 1.5.0/docs/api/java/io/InputStreamReader.html">InputStreamReader(s));
        1.5.0/docs/api/java/lang/String.html">String line;
        while((line = reader.readLine())!= null)
        {
            1.5.0/docs/api/java/lang/String.html">String[] fields = line.split(";");
            1.5.0/docs/api/java/lang/String.html">String area = fields[0];
            1.5.0/docs/api/java/lang/String.html">String office = fields[1];
            1.5.0/docs/api/java/lang/String.html">String ext = fields[2];
            1.5.0/docs/api/java/lang/String.html">String mail = fields[3];
            List<Teacher> teachers = DaoFactory.getTeacherDaoImpl().findByEmail(mail);
            if(teachers == null || teachers.size() == 0)
            {
                logger.error("Teacher Not Found for email: "+mail);
            }
            else if(teachers.size()>1)
            {
                logger.error("Multiple Teachers Found for email: "+mail);
            }
            else
            {
                Teacher t = teachers.get(0);
                logger.info("Teacher " + t.getName() + " found");
                t.setOffice(office);
                t.setExt(ext);
                if(area.equals("C. Empresariais"))
                {
                    t.setMainArea("ce");
                }
                else if(area.equals("Design"))
                {
                    t.setMainArea("dg");
                }
                else if(area.equals("Engenharia"))
                {
                    t.setMainArea("eg");
                }
                else if(area.equals("C. Humanas"))
                {
                    t.setMainArea("ch");
                }
                else
                {
                    logger.error("Area not found: " + mail + "->" + area);
                }
            }
        }
        reader.close();
        s.close();
    }

    public static void main(1.5.0/docs/api/java/lang/String.html">String[] args) throws ServiceException, 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        AbstractDao.getCurrentSession().beginTransaction();
        new SetUserAreaOfficeExtFromCSV().run();
        AbstractDao.getCurrentSession().getTransaction().commit();
    }
}