87: Reformat code
This commit is contained in:
parent
6526dc1fd9
commit
0e261fc85e
core/src/main/java/se/su/dsv/scipro
view/src/main/java/se/su/dsv/scipro/admin/pages
@ -815,8 +815,8 @@ public class CoreConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public SplitOrRestartProjectServiceImpl SplitOrRestartProjectService(
|
public SplitOrRestartProjectServiceImpl SplitOrRestartProjectService(
|
||||||
ProjectService projectService,
|
ProjectService projectService,
|
||||||
FinalSeminarService finalSeminarService
|
FinalSeminarService finalSeminarService
|
||||||
) {
|
) {
|
||||||
return new SplitOrRestartProjectServiceImpl(projectService, finalSeminarService);
|
return new SplitOrRestartProjectServiceImpl(projectService, finalSeminarService);
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import se.su.dsv.scipro.project.Project;
|
|||||||
import se.su.dsv.scipro.util.Pair;
|
import se.su.dsv.scipro.util.Pair;
|
||||||
|
|
||||||
public interface SplitOrRestartProjectService {
|
public interface SplitOrRestartProjectService {
|
||||||
|
|
||||||
enum SplittableStatus {
|
enum SplittableStatus {
|
||||||
NOT_EXIST("Project does not exist."),
|
NOT_EXIST("Project does not exist."),
|
||||||
NOT_ACTIVE("Only active project can be split."),
|
NOT_ACTIVE("Only active project can be split."),
|
||||||
|
@ -2,6 +2,7 @@ package se.su.dsv.scipro.project.split;
|
|||||||
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
|
import java.util.List;
|
||||||
import se.su.dsv.scipro.finalseminar.FinalSeminarService;
|
import se.su.dsv.scipro.finalseminar.FinalSeminarService;
|
||||||
import se.su.dsv.scipro.project.Project;
|
import se.su.dsv.scipro.project.Project;
|
||||||
import se.su.dsv.scipro.project.ProjectService;
|
import se.su.dsv.scipro.project.ProjectService;
|
||||||
@ -9,8 +10,6 @@ import se.su.dsv.scipro.project.ProjectStatus;
|
|||||||
import se.su.dsv.scipro.system.User;
|
import se.su.dsv.scipro.system.User;
|
||||||
import se.su.dsv.scipro.util.Pair;
|
import se.su.dsv.scipro.util.Pair;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class SplitOrRestartProjectServiceImpl implements SplitOrRestartProjectService {
|
public class SplitOrRestartProjectServiceImpl implements SplitOrRestartProjectService {
|
||||||
|
|
||||||
private final ProjectService projectService;
|
private final ProjectService projectService;
|
||||||
@ -26,8 +25,7 @@ public class SplitOrRestartProjectServiceImpl implements SplitOrRestartProjectSe
|
|||||||
@Transactional
|
@Transactional
|
||||||
public Pair<SplittableStatus, Project> getSplittableStatus(long projectId) {
|
public Pair<SplittableStatus, Project> getSplittableStatus(long projectId) {
|
||||||
Project project = projectService.findOne(projectId);
|
Project project = projectService.findOne(projectId);
|
||||||
if (project == null)
|
if (project == null) return new Pair<>(SplittableStatus.NOT_EXIST, null);
|
||||||
return new Pair<>(SplittableStatus.NOT_EXIST, null);
|
|
||||||
|
|
||||||
if (project.getProjectStatus() != ProjectStatus.ACTIVE) {
|
if (project.getProjectStatus() != ProjectStatus.ACTIVE) {
|
||||||
return new Pair<>(SplittableStatus.NOT_ACTIVE, project);
|
return new Pair<>(SplittableStatus.NOT_ACTIVE, project);
|
||||||
@ -49,8 +47,9 @@ public class SplitOrRestartProjectServiceImpl implements SplitOrRestartProjectSe
|
|||||||
public void splitProject(long projectId) {
|
public void splitProject(long projectId) {
|
||||||
Pair<SplittableStatus, Project> result = getSplittableStatus(projectId);
|
Pair<SplittableStatus, Project> result = getSplittableStatus(projectId);
|
||||||
if (result.getHead() != SplittableStatus.OK) {
|
if (result.getHead() != SplittableStatus.OK) {
|
||||||
throw new IllegalStateException("Project must to be verified to be able to split " +
|
throw new IllegalStateException(
|
||||||
"before this method can be called.");
|
"Project must to be verified to be able to split " + "before this method can be called."
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Project project = result.getTail();
|
Project project = result.getTail();
|
||||||
@ -75,11 +74,11 @@ public class SplitOrRestartProjectServiceImpl implements SplitOrRestartProjectSe
|
|||||||
childProject.setReviewers(project.getReviewers());
|
childProject.setReviewers(project.getReviewers());
|
||||||
|
|
||||||
childProject.setParentProjectId(project.getId());
|
childProject.setParentProjectId(project.getId());
|
||||||
childProject.setRootProjectId(project.getRootProjectId() != null ? project.getRootProjectId() :
|
childProject.setRootProjectId(
|
||||||
project.getId());
|
project.getRootProjectId() != null ? project.getRootProjectId() : project.getId()
|
||||||
|
);
|
||||||
|
|
||||||
childProject = projectService.save(childProject);
|
childProject = projectService.save(childProject);
|
||||||
|
|
||||||
// Todo: Send event to eventBus to synchronize eventual Phase Two Approval
|
// Todo: Send event to eventBus to synchronize eventual Phase Two Approval
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,11 @@ package se.su.dsv.scipro.admin.pages;
|
|||||||
|
|
||||||
import com.google.common.eventbus.EventBus;
|
import com.google.common.eventbus.EventBus;
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.TreeSet;
|
||||||
import org.apache.wicket.RestartResponseException;
|
import org.apache.wicket.RestartResponseException;
|
||||||
import org.apache.wicket.markup.html.form.DropDownChoice;
|
import org.apache.wicket.markup.html.form.DropDownChoice;
|
||||||
import org.apache.wicket.markup.html.form.Form;
|
import org.apache.wicket.markup.html.form.Form;
|
||||||
@ -44,12 +49,6 @@ import se.su.dsv.scipro.system.UserSearchService;
|
|||||||
import se.su.dsv.scipro.system.UserService;
|
import se.su.dsv.scipro.system.UserService;
|
||||||
import se.su.dsv.scipro.util.PageParameterKeys;
|
import se.su.dsv.scipro.util.PageParameterKeys;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.EnumSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.TreeSet;
|
|
||||||
|
|
||||||
@Authorization(authorizedRoles = { Roles.SYSADMIN })
|
@Authorization(authorizedRoles = { Roles.SYSADMIN })
|
||||||
public class AdminEditProjectPage extends AbstractAdminProjectPage implements MenuHighlightAdminProjectManagement {
|
public class AdminEditProjectPage extends AbstractAdminProjectPage implements MenuHighlightAdminProjectManagement {
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package se.su.dsv.scipro.admin.pages;
|
package se.su.dsv.scipro.admin.pages;
|
||||||
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
|
import java.util.ArrayList;
|
||||||
import org.apache.wicket.RestartResponseException;
|
import org.apache.wicket.RestartResponseException;
|
||||||
import org.apache.wicket.markup.html.basic.Label;
|
import org.apache.wicket.markup.html.basic.Label;
|
||||||
import org.apache.wicket.markup.html.form.Form;
|
import org.apache.wicket.markup.html.form.Form;
|
||||||
@ -20,8 +21,6 @@ import se.su.dsv.scipro.security.auth.roles.Roles;
|
|||||||
import se.su.dsv.scipro.system.User;
|
import se.su.dsv.scipro.system.User;
|
||||||
import se.su.dsv.scipro.util.PageParameterKeys;
|
import se.su.dsv.scipro.util.PageParameterKeys;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
@Authorization(authorizedRoles = { Roles.SYSADMIN })
|
@Authorization(authorizedRoles = { Roles.SYSADMIN })
|
||||||
public class AdminSplitProjectPage extends AbstractAdminProjectPage implements MenuHighlightAdminProjectManagement {
|
public class AdminSplitProjectPage extends AbstractAdminProjectPage implements MenuHighlightAdminProjectManagement {
|
||||||
|
|
||||||
@ -41,7 +40,8 @@ public class AdminSplitProjectPage extends AbstractAdminProjectPage implements M
|
|||||||
|
|
||||||
add(new Label("projectTitle", dsModel.map(Project::getTitle)));
|
add(new Label("projectTitle", dsModel.map(Project::getTitle)));
|
||||||
|
|
||||||
add(new Label("errorInfo", Model.of("error Info!!")) {
|
add(
|
||||||
|
new Label("errorInfo", Model.of("error Info!!")) {
|
||||||
@Override
|
@Override
|
||||||
protected void onConfigure() {
|
protected void onConfigure() {
|
||||||
super.onConfigure();
|
super.onConfigure();
|
||||||
@ -56,15 +56,17 @@ public class AdminSplitProjectPage extends AbstractAdminProjectPage implements M
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class SplitProjectForm extends Form<Project> {
|
private class SplitProjectForm extends Form<Project> {
|
||||||
|
|
||||||
public SplitProjectForm(String id, final IModel<Project> model) {
|
public SplitProjectForm(String id, final IModel<Project> model) {
|
||||||
super(id, model);
|
super(id, model);
|
||||||
|
add(
|
||||||
add(new ListView<>("authorList", model.map(Project::getProjectParticipants).map(ArrayList::new)) {
|
new ListView<>("authorList", model.map(Project::getProjectParticipants).map(ArrayList::new)) {
|
||||||
@Override
|
@Override
|
||||||
protected void populateItem(ListItem<User> item) {
|
protected void populateItem(ListItem<User> item) {
|
||||||
item.add(new Label("author", item.getModel().map(User::getFullName)));
|
item.add(new Label("author", item.getModel().map(User::getFullName)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package se.su.dsv.scipro.admin.pages;
|
package se.su.dsv.scipro.admin.pages;
|
||||||
|
|
||||||
|
import static se.su.dsv.scipro.project.split.SplitOrRestartProjectService.SplittableStatus;
|
||||||
|
|
||||||
import jakarta.inject.Inject;
|
import jakarta.inject.Inject;
|
||||||
import org.apache.wicket.behavior.AttributeAppender;
|
import org.apache.wicket.behavior.AttributeAppender;
|
||||||
import org.apache.wicket.markup.html.basic.Label;
|
import org.apache.wicket.markup.html.basic.Label;
|
||||||
@ -17,8 +19,6 @@ import se.su.dsv.scipro.session.SciProSession;
|
|||||||
import se.su.dsv.scipro.util.PageParameterKeys;
|
import se.su.dsv.scipro.util.PageParameterKeys;
|
||||||
import se.su.dsv.scipro.util.Pair;
|
import se.su.dsv.scipro.util.Pair;
|
||||||
|
|
||||||
import static se.su.dsv.scipro.project.split.SplitOrRestartProjectService.SplittableStatus;
|
|
||||||
|
|
||||||
public class AdminSplitProjectPanel extends Panel {
|
public class AdminSplitProjectPanel extends Panel {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@ -26,20 +26,21 @@ public class AdminSplitProjectPanel extends Panel {
|
|||||||
|
|
||||||
public AdminSplitProjectPanel(String id, final IModel<Project> projectModel) {
|
public AdminSplitProjectPanel(String id, final IModel<Project> projectModel) {
|
||||||
super(id, projectModel);
|
super(id, projectModel);
|
||||||
|
|
||||||
Project project = projectModel.getObject();
|
Project project = projectModel.getObject();
|
||||||
|
|
||||||
LoadableDetachableModel<SplittableStatus> ldModel = LoadableDetachableModel.of(
|
LoadableDetachableModel<SplittableStatus> ldModel = LoadableDetachableModel.of(() -> {
|
||||||
() -> {
|
Pair<SplittableStatus, Project> pair = splitOrRestartProjectService.getSplittableStatus(project.getId());
|
||||||
Pair<SplittableStatus, Project > pair = splitOrRestartProjectService.getSplittableStatus(project.getId());
|
return pair.getHead();
|
||||||
return pair.getHead();
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
final PageParameters pp = new PageParameters();
|
final PageParameters pp = new PageParameters();
|
||||||
pp.set(PageParameterKeys.MAP.get(Project.class), project.getId());
|
pp.set(PageParameterKeys.MAP.get(Project.class), project.getId());
|
||||||
|
|
||||||
AbstractLink splitProjectLink = new BookmarkablePageLink<Void>("splitProjectLink", AdminSplitProjectPage.class, pp) {
|
AbstractLink splitProjectLink = new BookmarkablePageLink<Void>(
|
||||||
|
"splitProjectLink",
|
||||||
|
AdminSplitProjectPage.class,
|
||||||
|
pp
|
||||||
|
) {
|
||||||
@Override
|
@Override
|
||||||
protected void onConfigure() {
|
protected void onConfigure() {
|
||||||
super.onConfigure();
|
super.onConfigure();
|
||||||
@ -55,8 +56,12 @@ public class AdminSplitProjectPanel extends Panel {
|
|||||||
};
|
};
|
||||||
add(splitProjectLink);
|
add(splitProjectLink);
|
||||||
|
|
||||||
add(new Label("splitInfo", Model.of(ldModel.getObject() == SplittableStatus.OK ? "" :
|
add(
|
||||||
ldModel.getObject().getMessage())));
|
new Label(
|
||||||
|
"splitInfo",
|
||||||
|
Model.of(ldModel.getObject() == SplittableStatus.OK ? "" : ldModel.getObject().getMessage())
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -7,12 +7,11 @@ import se.su.dsv.scipro.security.auth.Authorization;
|
|||||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||||
|
|
||||||
@Authorization(authorizedRoles = { Roles.SYSADMIN })
|
@Authorization(authorizedRoles = { Roles.SYSADMIN })
|
||||||
public class AdminViewParentProjectPage extends AbstractAdminProjectPage implements MenuHighlightAdminProjectManagement {
|
public class AdminViewParentProjectPage
|
||||||
|
extends AbstractAdminProjectPage
|
||||||
|
implements MenuHighlightAdminProjectManagement {
|
||||||
|
|
||||||
public AdminViewParentProjectPage(PageParameters pp) {
|
public AdminViewParentProjectPage(PageParameters pp) {
|
||||||
|
|
||||||
add(new BookmarkablePageLink<Void>("link", ProjectManagementPage.class));
|
add(new BookmarkablePageLink<Void>("link", ProjectManagementPage.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user