import new daisy title will now also change the name of the notifications

This commit is contained in:
fred-fri 2012-05-01 13:11:32 +09:00
parent 0433cb86d0
commit 153ff306b6

@ -10,6 +10,7 @@ import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.apache.log4j.Logger;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -23,17 +24,7 @@ import se.su.dsv.scipro.data.dao.interfaces.ProjectFollowerDao;
import se.su.dsv.scipro.data.dao.interfaces.RoleDao;
import se.su.dsv.scipro.data.dao.interfaces.UserDao;
import se.su.dsv.scipro.data.dao.interfaces.UsernameDao;
import se.su.dsv.scipro.data.dataobjects.Employee;
import se.su.dsv.scipro.data.dataobjects.FinalSeminar;
import se.su.dsv.scipro.data.dataobjects.FinalSeminarActiveParticipation;
import se.su.dsv.scipro.data.dataobjects.FinalSeminarOpposition;
import se.su.dsv.scipro.data.dataobjects.Member;
import se.su.dsv.scipro.data.dataobjects.Project;
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
import se.su.dsv.scipro.data.dataobjects.ProjectFollower;
import se.su.dsv.scipro.data.dataobjects.Student;
import se.su.dsv.scipro.data.dataobjects.User;
import se.su.dsv.scipro.data.dataobjects.Username;
import se.su.dsv.scipro.data.dataobjects.*;
import se.su.dsv.scipro.data.dataobjects.interfaces.FinalSeminarParticipation;
import se.su.dsv.scipro.data.enums.ProjectStatus;
import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
@ -52,6 +43,7 @@ import se.su.dsv.scipro.match.dao.interfaces.KeywordDao;
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao;
import se.su.dsv.scipro.match.dataobject.Keyword;
import se.su.dsv.scipro.springdata.services.MessageBoardService;
/**
* Main service facade for all importing operations.
@ -85,6 +77,8 @@ public class ImporterFacade {
private FinalSeminarActiveParticipationDao finalSeminarActiveParticipationDao;
@Autowired
private FinalSeminarOppositionDao finalSeminarOppositionDao;
@SpringBean
MessageBoardService messageBoardService;
@PersistenceContext
private EntityManager entityManager;
private transient Logger logger = Logger.getLogger(ImporterFacade.class);
@ -201,8 +195,28 @@ public class ImporterFacade {
logger.debug("Using project class: "+ externalProjectClass+" to import project: "+projectDTO);
project.setProjectClass(externalProjectClass);
//Putting this here to trick the persistence api, the above assignments are mandatory, but the project is not allowed to be transient for the following to work
if(!entityManager.contains(project))
project = projectDao.save(project);
if(!entityManager.contains(project)){
boolean newProject = (project.getId() == null);
project = projectDao.save(project);
if (newProject){
MessageBoard messageBoard = new MessageBoard(project);
messageBoard.setTitle(project.getTitle());
messageBoard = messageBoardService.save(messageBoard);
}
else {
MessageBoard messageBoard = messageBoardService.getMessageBoard(project);
messageBoard.setTitle(project.getTitle());
messageBoard = messageBoardService.save(messageBoard);
}
}
//Loop over all participants and assign roles
if(mergeLinkedEntities){
checkForRemovedMembers(project, projectDTO.participants);