Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.services.users;

import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.SessionObject;
import pt.estgp.estgweb.domain.dao.impl.UserSessionDao;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import org.apache.log4j.Logger;
import org.hibernate.LockMode;
import jomm.dao.impl.AbstractDao;

import java.util.List;
import java.util.Set;
import java.util.Iterator;

/*
 * @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
 *
 *
 * Created at 17/Out/2003 , 23:45:24
 *
 */

/**
 * @author Jorge Machado
 *
 *
 * Created at 17/Out/2003 , 23:45:24
 *
 */

public class UpdateUserSessionService implements IService
{
    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(UpdateUserSessionService.class);

    public void run(UserSession userSession, Set<SessionObject> removeList) throws ServiceException
    {
        DaoFactory.getUserSessionDaoImpl().reattach(userSession);
        if(removeList != null)
        {
            if(userSession.getObjects() != null)
            {
                Iterator<SessionObject> iter = userSession.getObjects().iterator();
                while (iter.hasNext())
                {
                    SessionObject uO = iter.next();
                    for(SessionObject rO: removeList)
                    {
                        if(uO.getId().getKeyId().equals(rO.getId().getKeyId()))
                            iter.remove();
                    }
                }
            }
            DaoFactory.getSessionObjectDaoImpl().evictAndDelete(removeList);
        }
//        if(userSession.getObjects() != null)
//        for(SessionObject o:  userSession.getObjects())
//        {
//            DaoFactory.getSessionObjectDaoImpl().saveOrUpdate(o);
//        }
    }


}