package ro.nextreports.server.web.analysis.model; import org.apache.wicket.injection.Injector; import org.apache.wicket.model.LoadableDetachableModel; import org.apache.wicket.spring.injection.annot.SpringBean; import ro.nextreports.server.domain.Analysis; import ro.nextreports.server.exception.NotFoundException; import ro.nextreports.server.service.StorageService; import ro.nextreports.server.web.NextServerSession; import ro.nextreports.server.web.analysis.AnalysisSection; import ro.nextreports.server.web.core.section.SectionContext; import ro.nextreports.server.web.core.section.SectionContextConstants; public class SelectedAnalysisModel extends LoadableDetachableModel<Analysis> { private static final long serialVersionUID = 1L; @SpringBean private StorageService storageService; public SelectedAnalysisModel() { Injector.get().inject(this); } @Override protected Analysis load() { SectionContext sectionContext = NextServerSession.get().getSectionContext(AnalysisSection.ID); String id = sectionContext.getData().getString(SectionContextConstants.SELECTED_ANALYSIS_ID); if (id == null) { return null; } try { return (Analysis)storageService.getEntityById(id); } catch (NotFoundException e) { return null; } } }