3133 Move URKUND specific logic behind the plagiarism control abstraction

This commit is contained in:
Andreas Svanberg 2023-10-20 12:08:52 +02:00
parent ba848835c9
commit c0902a8cad
2 changed files with 10 additions and 10 deletions
core/src/main/java/se/su/dsv/scipro/plagiarism
view/src/main/java/se/su/dsv/scipro/plagiarism

@ -47,7 +47,7 @@ public class PlagiarismControlImpl implements PlagiarismControl {
if (optionalUrkundSubmission.isPresent()) {
UrkundSubmission urkundSubmission = optionalUrkundSubmission.get();
return switch (urkundSubmission.getState()) {
case SUBMISSION_FAILED, REJECTED, ERROR -> new Status.Error(urkundSubmission.getMessage());
case SUBMISSION_FAILED, REJECTED, ERROR -> new Status.Error(improveUrkundMessage(urkundSubmission.getMessage()));
case SUBMITTED, ACCEPTED -> new Status.Submitted();
case ANALYZED -> new Status.Analysed(urkundSubmission.getReportUrl(), urkundSubmission.getSignificance());
};
@ -61,6 +61,14 @@ public class PlagiarismControlImpl implements PlagiarismControl {
return new Status.NotSubmitted();
}
private String improveUrkundMessage(String originalMessage) {
return switch (originalMessage) {
case "?wsRequestEntityIsTooLargeException" ->
"The document is too large to send automatically. Please log in to URKUND and upload the document manually.";
default -> originalMessage;
};
}
@Override
@Transactional
public void resubmit(final FileDescription file, final User receiver) {

@ -54,7 +54,7 @@ public class UrkundSubmissionPanel extends GenericPanel<FileDescription> {
final IModel<Status.Analysed> analysed = PolyModel.of(submission, Status.Analysed.class);
final IModel<Status.Error> error = PolyModel.of(submission, Status.Error.class);
add(new Label("message", error.map(Status.Error::message).map(this::improveUrkundMessage)) {
add(new Label("message", error.map(Status.Error::message)) {
@Override
protected void onConfigure() {
super.onConfigure();
@ -89,14 +89,6 @@ public class UrkundSubmissionPanel extends GenericPanel<FileDescription> {
});
}
private String improveUrkundMessage(String originalMessage) {
return switch (originalMessage) {
case "?wsRequestEntityIsTooLargeException" ->
"The document is too large to send automatically. Please log in to URKUND and upload the document manually.";
default -> originalMessage;
};
}
@Override
protected void onConfigure() {
super.onConfigure();