Emptypanel on null

Change-Id: I895f1591c623640e03ed0855b1f439de16510046
This commit is contained in:
joha-asc 2011-07-20 15:01:19 +02:00
parent af01fdce23
commit bab761de8f

@ -9,6 +9,7 @@ import java.util.Set;
import org.apache.wicket.PageParameters;
import org.apache.wicket.RequestCycle;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.protocol.http.RequestUtils;
@ -33,7 +34,7 @@ import se.su.dsv.scipro.security.auth.roles.Roles;
* @author Johan Aschan <aschan@dsv.su.se>
*
*/
@Authorization(authorizedRoles={Roles.SYSADMIN})
@Authorization(authorizedRoles = { Roles.SYSADMIN })
public class ProjectConferencePage extends ProjectPage {
@SpringBean
@ -50,61 +51,69 @@ public class ProjectConferencePage extends ProjectPage {
if (projectId == null) {
projectId = String.valueOf(SciProSession.get().getActiveProject().getId());
}
final Project project = projectDao.load(Long.valueOf(projectId));
if (project == null || !projectDao.isPartOf(SciProSession.get().getUser(), project)) {
failAndRedirect();
} else {
projectModel = new LoadableDetachableModel<Project>() {
if (projectId == null) {
final Project project = projectDao.load(Long.valueOf(projectId));
if (project == null || !projectDao.isPartOf(SciProSession.get().getUser(), project)) {
failAndRedirect();
} else {
projectModel = new LoadableDetachableModel<Project>() {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
@Override
protected Project load() {
return projectDao.reLoad(project);
}
};
@Override
protected Project load() {
return projectDao.reLoad(project);
}
};
Set<SubscriberModel> subscriberModel = new HashSet<SubscriberModel>();
User user = projectModel.getObject().getHeadSupervisor().getUser();
subscriberModel.add(new SubscriberModel(user,
SupervisorConferencePage.getAbsoluteForSupervisorConferenceURL(projectModel.getObject().getId()),
NotificationPriority.LOW));
for (ProjectFollower projectFollower : projectModel.getObject().getProjectFollowers()) {
subscriberModel.add(new SubscriberModel(projectFollower.getFollower().getUser(),
SupervisorConferencePage.getAbsoluteForSupervisorConferenceURL(projectModel.getObject().getId()),
Set<SubscriberModel> subscriberModel = new HashSet<SubscriberModel>();
User user = projectModel.getObject().getHeadSupervisor().getUser();
subscriberModel.add(new SubscriberModel(user, SupervisorConferencePage
.getAbsoluteForSupervisorConferenceURL(projectModel.getObject().getId()),
NotificationPriority.LOW));
}
for (ProjectFollower projectFollower : projectModel.getObject()
.getProjectFollowers()) {
subscriberModel.add(new SubscriberModel(
projectFollower.getFollower().getUser(), SupervisorConferencePage
.getAbsoluteForSupervisorConferenceURL(projectModel.getObject()
.getId()), NotificationPriority.LOW));
for (Student student : projectModel.getObject().getProjectParticipants()) {
//Prod-kod
if (!student.getUser().equals(SciProSession.get().getUser()))
subscriberModel.add(new SubscriberModel(student.getUser(),
getAbsoluteForProjectConferenceURL(projectModel.getObject().getId()),
NotificationPriority.LOW));
//Test-kod
// subscriberModel.add(new SubscriberModel(student.getUser(),
// getAbsoluteForProjectConferenceURL(projectModel.getObject().getId()),
// NotificationPriority.LOW));
}
messageBoard = messageBoardDao.getMessageBoard(projectModel.getObject());
if (messageBoard == null) {
messageBoard = new MessageBoard(projectModel.getObject());
messageBoard.setTitle(projectModel.getObject().getTitle());
messageBoard = messageBoardDao.save(messageBoard);
}
messageBoardModel = new LoadableDetachableModel<MessageBoard>() {
private static final long serialVersionUID = 1L;
@Override
protected MessageBoard load() {
return messageBoardDao.reLoad(messageBoard);
}
};
add(new ConferencePanel("conferencePanel", messageBoardModel, subscriberModel));
for (Student student : projectModel.getObject().getProjectParticipants()) {
// Prod-kod
if (!student.getUser().equals(SciProSession.get().getUser()))
subscriberModel
.add(new SubscriberModel(student.getUser(),
getAbsoluteForProjectConferenceURL(projectModel.getObject()
.getId()), NotificationPriority.LOW));
// Test-kod
// subscriberModel.add(new
// SubscriberModel(student.getUser(),
// getAbsoluteForProjectConferenceURL(projectModel.getObject().getId()),
// NotificationPriority.LOW));
}
messageBoard = messageBoardDao.getMessageBoard(projectModel.getObject());
if (messageBoard == null) {
messageBoard = new MessageBoard(projectModel.getObject());
messageBoard.setTitle(projectModel.getObject().getTitle());
messageBoard = messageBoardDao.save(messageBoard);
}
messageBoardModel = new LoadableDetachableModel<MessageBoard>() {
private static final long serialVersionUID = 1L;
@Override
protected MessageBoard load() {
return messageBoardDao.reLoad(messageBoard);
}
};
add(new ConferencePanel("conferencePanel", messageBoardModel, subscriberModel));
}
}else{
add(new EmptyPanel("conferencePanel"));
}
}
@ -114,13 +123,11 @@ public class ProjectConferencePage extends ProjectPage {
.getAccessDeniedPage());
}
public static String getAbsoluteForProjectConferenceURL(Long id) {
PageParameters pageParameters = new PageParameters();
pageParameters.add(PROJECTID, id.toString());
return RequestUtils.toAbsolutePath(RequestCycle.get().urlFor(ProjectConferencePage.class, pageParameters)
.toString());
return RequestUtils.toAbsolutePath(RequestCycle.get()
.urlFor(ProjectConferencePage.class, pageParameters).toString());
}
}