catching exception when trying to export, and printing an error message if not succesful

This commit is contained in:
fred-fri 2012-08-03 11:24:19 +09:00
parent 97a3c1be96
commit 51ee7cbffa
3 changed files with 26 additions and 5 deletions
src/main/java/se/su/dsv/scipro

@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dataobjects.*;
import se.su.dsv.scipro.data.enums.ProjectStatus;
import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
import se.su.dsv.scipro.io.exceptions.ExternalExportException;
import se.su.dsv.scipro.io.facade.ExporterFacade;
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
import se.su.dsv.scipro.springdata.repos.*;
@ -185,8 +186,12 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
p = projectRepo.save(p);
}
exporterFacade.exportProject(p, p.getHeadSupervisor().getUnit());
return p;
try {
exporterFacade.exportProject(p, p.getHeadSupervisor().getUnit());
return p;
} catch (ExternalExportException eee){
throw eee;
}
}
else return null;
}

@ -6,7 +6,7 @@
</head>
<body>
<wicket:panel>
<div wicket:id="feedbackPanel"></div>
<div><button wicket:id="export">Create project and export to Daisy</button></div>
<br>

@ -8,6 +8,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;
@ -15,6 +16,7 @@ import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.data.dataobjects.Employee;
import se.su.dsv.scipro.data.dataobjects.GeneralSystemSettings;
import se.su.dsv.scipro.data.dataobjects.Student;
import se.su.dsv.scipro.io.exceptions.ExternalExportException;
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
import se.su.dsv.scipro.match.dataobject.*;
import se.su.dsv.scipro.security.auth.roles.Roles;
@ -39,9 +41,15 @@ public class WatsonInfoPanel extends Panel {
@SpringBean
private GeneralSystemSettingsService generalSystemSettingsService;
private FeedbackPanel feedbackPanel;
public WatsonInfoPanel(String id, final ProjectIdea projectIdea) {
super(id);
feedbackPanel = new FeedbackPanel("feedbackPanel");
feedbackPanel.setOutputMarkupId(true);
add(feedbackPanel);
add(new Label("level", projectIdea.getProjectClass().getName()));
// add(new Label("authors", getAuthors(projectIdea.getAuthors())));
@ -62,10 +70,18 @@ public class WatsonInfoPanel extends Panel {
projectIdea.getMatch().getSupervisor().getUnit() != null &&
projectIdea.getProject() == null &&
generalSystemSettings.isRemoteExport();
add(new AjaxLink("export") {
@Override
public void onClick(AjaxRequestTarget target) {
projectService.createAndExportProjectFromProjectIdea(projectIdea);
try {
projectService.createAndExportProjectFromProjectIdea(projectIdea);
} catch (ExternalExportException eee){
target.addComponent(feedbackPanel);
error("This project idea could not exported to Daisy. Try creating a thesis in Daisy manually.");
}
target.addComponent(this);
this.setEnabled(false);
this.setVisible(false);