1 package uk.ac.cam.spectra.spectrasub.pages;
2
3 import org.apache.log4j.Logger;
4 import org.apache.tapestry.IPage;
5 import org.apache.tapestry.IRequestCycle;
6 import org.apache.tapestry.annotations.InjectPage;
7 import org.apache.tapestry.event.PageBeginRenderListener;
8 import org.apache.tapestry.event.PageEvent;
9
10 import uk.ac.cam.spectra.spectrasub.DataFile;
11 import uk.ac.cam.spectra.spectrasub.DataPackage;
12 import uk.ac.cam.spectra.spectrasub.NotFoundException;
13 import uk.ac.cam.spectra.spectrasub.components.UploadMessage.UploadInfo;
14
15 public abstract class DataWarning extends BaseSubmissionPage implements
16 PageBeginRenderListener {
17 @SuppressWarnings("unused")
18 private static final Logger LOG = Logger.getLogger(DataWarning.class);
19
20 public void pageBeginRender(PageEvent event) {
21 if (getRequestCycle().isRewinding()) {
22
23 } else {
24 loadPackage();
25 }
26 }
27
28 public IPage doSubmit(IRequestCycle cycl) throws NotFoundException {
29 if (getCancelled()) {
30 return getUpload();
31 }
32 DataPackage pkg = loadPackage();
33 if (pkg.getRemainingDataFiles().isEmpty()) {
34 AddMetadata am = getAddMetadata();
35 am.setPackageId(getPackageId());
36 return am;
37 } else {
38 Upload h = getUpload();
39 h.setPackageId(getPackageId());
40 return h;
41 }
42 }
43
44 public abstract boolean getCancelled();
45
46 public void cancel() {
47 setCancelled(true);
48 }
49
50 public abstract void setCancelled(boolean b);
51
52 @InjectPage("AddMetadata")
53 public abstract AddMetadata getAddMetadata();
54
55 @InjectPage("Upload")
56 public abstract Upload getUpload();
57
58 public abstract String getWarning();
59
60 public abstract void setDataFile(DataFile df);
61
62 public abstract DataFile getDataFile();
63
64 public abstract UploadInfo getUploadInfo();
65
66 public abstract void setUploadInfo(UploadInfo info);
67
68 public boolean getDisplayNoCMLWarning() {
69 return getDataFile().getConvertOnWarning();
70 }
71
72 public boolean getDisplayNoInChIWarning() {
73 return getDataFile().getCreateInChIOnWarning();
74 }
75 }