Subversion Repositories bacoAlunos

Rev

Rev 1945 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.examples;

import jomm.dao.impl.AbstractDao;
import org.apache.commons.io.output.ByteArrayOutputStream;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.impl.SessionObjectDao;
import pt.estgp.estgweb.domain.dao.impl.UserDao;
import pt.estgp.estgweb.domain.dao.impl.UserSessionDao;
import pt.estgp.estgweb.domain.dao.DaoFactory;

import java.beans.XMLEncoder;
import java.beans.XMLDecoder;
import java.io.IOException;
import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;

/**
 * @author Jorge Machado
 * @date 27/Fev/2008
 * @time 0:30:59
 * @see pt.estgp.estgweb.examples
 */

public class TestSession {
    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
    {
        AbstractDao.getCurrentSession().beginTransaction();
        //Saving a user
        User user = DomainObjectFactory.createUserImpl();
        user.setName("jorge machado");
        UserDao.getInstance().save(user);

        //Saving a User Session
        UserSession sess = DomainObjectFactory.createUserSessionImpl();
       
        sess.setUser(user);
        sess.setCookie(new 5+0%2Fdocs%2Fapi+Date">Date().getTime() + "");
        sess.setSaveDate(new 5+0%2Fdocs%2Fapi+Date">Date());
        UserSessionDao.getInstance().save(sess);

        //flushing database;
        AbstractDao.getCurrentSession().getTransaction().commit();
        AbstractDao.getCurrentSession().beginTransaction();


        ArrayList<Course> l = new ArrayList<Course>();
        Course c1 = DomainObjectFactory.createCourseImpl();
        c1.setName("EI");
//        CourseDao.getInstance().save(c1);
//        c1.setCoordinator(user);
        l.add(c1);
        Course c2 = DomainObjectFactory.createCourseImpl();
        c2.setName("CA");
//        CourseDao.getInstance().save(c2);
        l.add(c2);


        //flushing database;
        AbstractDao.getCurrentSession().getTransaction().commit();
        AbstractDao.getCurrentSession().beginTransaction();


        1.5.0/docs/api/java/io/ByteArrayOutputStream.html">ByteArrayOutputStream os = new 1.5.0/docs/api/java/io/ByteArrayOutputStream.html">ByteArrayOutputStream();
        // Create XML encoder.
        1.5.0/docs/api/java/beans/XMLEncoder.html">XMLEncoder xenc = new 1.5.0/docs/api/java/beans/XMLEncoder.html">XMLEncoder(os);
        // Write object.
        SessionObject sessionObject = DomainObjectFactory.createSessionObjectImpl();
//        sessionObject.setCookieId(sess.getCookie());
        SessionObjectId sessionObjectId = DomainObjectFactory.createSessionObjectIdImpl();
        sessionObjectId.setKeyId("list");
        sessionObjectId.setUserSession(sess);
        sess.setObjects(new HashSet<SessionObject>());
        sess.getObjects().add(sessionObject);
        sessionObject.setId(sessionObjectId);

        UserSessionDao.getInstance().reattach(sess);
       

        1.5.0/docs/api/java/util/ArrayList.html">ArrayList l2 = new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList();
        l2.add("String1");
        l2.add("String2");
        // Write object.
        xenc.writeObject(l);
        xenc.close();

        sessionObject.setObject(os.toString());

        SessionObjectDao.getInstance().save(sessionObject);

         //flushing database;
        AbstractDao.getCurrentSession().getTransaction().commit();


        // Create output stream.

//        XMLDecoder xmlDecoder = new XMLDecoder(new ByteArrayInputStream(sessionObject.getXmlObject().getBytes()));
//        ArrayList<Course> l3 = (ArrayList<Course>) xmlDecoder.readObject();
//        System.out.println(l3);
//
//        System.out.println("");
//
//        AbstractDao.getCurrentSession().beginTransaction();
//
//        AnnouncementImpl announcement = new AnnouncementImpl();
//        announcement.setOwner(user);
//        DaoFactory.getAnnouncementDaoImpl().save(announcement);
//
//
//        AbstractDao.getCurrentSession().getTransaction().commit();

    }
}