Mercurial > hg > LGDataverses
comparison src/main/java/edu/harvard/iq/dataverse/ManageGuestbooksPage.java @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Tue, 08 Sep 2015 17:00:21 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 9:5926d6419569 | 10:a50cf11e5178 |
|---|---|
| 1 /* | |
| 2 * To change this license header, choose License Headers in Project Properties. | |
| 3 * To change this template file, choose Tools | Templates | |
| 4 * and open the template in the editor. | |
| 5 */ | |
| 6 package edu.harvard.iq.dataverse; | |
| 7 | |
| 8 import edu.harvard.iq.dataverse.engine.command.exception.CommandException; | |
| 9 import edu.harvard.iq.dataverse.engine.command.impl.CreateGuestbookCommand; | |
| 10 import edu.harvard.iq.dataverse.engine.command.impl.DeleteGuestbookCommand; | |
| 11 import edu.harvard.iq.dataverse.engine.command.impl.UpdateDataverseCommand; | |
| 12 import edu.harvard.iq.dataverse.engine.command.impl.UpdateDataverseGuestbookCommand; | |
| 13 import edu.harvard.iq.dataverse.engine.command.impl.UpdateDataverseGuestbookRootCommand; | |
| 14 import edu.harvard.iq.dataverse.util.JsfHelper; | |
| 15 import static edu.harvard.iq.dataverse.util.JsfHelper.JH; | |
| 16 import java.sql.Timestamp; | |
| 17 import java.util.Date; | |
| 18 import java.util.LinkedList; | |
| 19 import java.util.List; | |
| 20 import java.util.logging.Level; | |
| 21 import java.util.logging.Logger; | |
| 22 import javax.ejb.EJB; | |
| 23 import javax.faces.application.FacesMessage; | |
| 24 import javax.faces.event.ActionEvent; | |
| 25 import javax.faces.view.ViewScoped; | |
| 26 import javax.inject.Inject; | |
| 27 import javax.inject.Named; | |
| 28 import javax.persistence.EntityManager; | |
| 29 import javax.persistence.PersistenceContext; | |
| 30 | |
| 31 /** | |
| 32 * | |
| 33 * @author skraffmiller | |
| 34 */ | |
| 35 @ViewScoped | |
| 36 @Named | |
| 37 public class ManageGuestbooksPage implements java.io.Serializable { | |
| 38 | |
| 39 @EJB | |
| 40 DataverseServiceBean dvService; | |
| 41 | |
| 42 @EJB | |
| 43 GuestbookResponseServiceBean guestbookResponseService; | |
| 44 | |
| 45 @EJB | |
| 46 GuestbookServiceBean guestbookService; | |
| 47 | |
| 48 @EJB | |
| 49 EjbDataverseEngine engineService; | |
| 50 | |
| 51 @PersistenceContext(unitName = "VDCNet-ejbPU") | |
| 52 EntityManager em; | |
| 53 | |
| 54 @Inject | |
| 55 DataversePage dvpage; | |
| 56 | |
| 57 @Inject | |
| 58 GuestbookPage guestbookPage; | |
| 59 | |
| 60 @Inject | |
| 61 DataverseSession session; | |
| 62 | |
| 63 private List<Guestbook> guestbooks; | |
| 64 private List<GuestbookResponse> responses; | |
| 65 private Dataverse dataverse; | |
| 66 private Long dataverseId; | |
| 67 private boolean inheritGuestbooksValue; | |
| 68 | |
| 69 private Guestbook selectedGuestbook = null; | |
| 70 | |
| 71 public void init() { | |
| 72 dataverse = dvService.find(dataverseId); | |
| 73 dvpage.setDataverse(dataverse); | |
| 74 | |
| 75 guestbooks = new LinkedList<>(); | |
| 76 setInheritGuestbooksValue(!dataverse.isGuestbookRoot()); | |
| 77 if (inheritGuestbooksValue && dataverse.getOwner() != null) { | |
| 78 for (Guestbook pg : dataverse.getParentGuestbooks()) { | |
| 79 pg.setUsageCount(guestbookService.findCountUsages(pg.getId())); | |
| 80 pg.setResponseCount(guestbookResponseService.findCountByGuestbookId(pg.getId())); | |
| 81 guestbooks.add(pg); | |
| 82 } | |
| 83 } | |
| 84 for (Guestbook cg : dataverse.getGuestbooks()) { | |
| 85 cg.setDeletable(true); | |
| 86 cg.setUsageCount(guestbookService.findCountUsages(cg.getId())); | |
| 87 if (!(cg.getUsageCount().intValue() == 0)) { | |
| 88 cg.setDeletable(false); | |
| 89 } | |
| 90 cg.setResponseCount(guestbookResponseService.findCountByGuestbookId(cg.getId())); | |
| 91 if (!(cg.getResponseCount().intValue() == 0)) { | |
| 92 cg.setDeletable(false); | |
| 93 } | |
| 94 cg.setDataverse(dataverse); | |
| 95 guestbooks.add(cg); | |
| 96 } | |
| 97 } | |
| 98 | |
| 99 | |
| 100 | |
| 101 | |
| 102 public void deleteGuestbook() { | |
| 103 if (selectedGuestbook != null) { | |
| 104 guestbooks.remove(selectedGuestbook); | |
| 105 dataverse.getGuestbooks().remove(selectedGuestbook); | |
| 106 try { | |
| 107 engineService.submit(new DeleteGuestbookCommand(session.getUser(), getDataverse(), selectedGuestbook)); | |
| 108 JsfHelper.addFlashMessage("The guestbook has been deleted"); | |
| 109 } catch (CommandException ex) { | |
| 110 String failMessage = "The dataset guestbook cannot be deleted."; | |
| 111 JH.addMessage(FacesMessage.SEVERITY_FATAL, failMessage); | |
| 112 } | |
| 113 } else { | |
| 114 System.out.print("Selected Guestbook is null"); | |
| 115 } | |
| 116 } | |
| 117 | |
| 118 public void saveDataverse(ActionEvent e) { | |
| 119 saveDataverse("", ""); | |
| 120 } | |
| 121 | |
| 122 public String enableGuestbook(Guestbook selectedGuestbook) { | |
| 123 selectedGuestbook.setEnabled(true); | |
| 124 saveDataverse("dataset.manageGuestbooks.message.enableSuccess", "dataset.manageGuestbooks.message.enableFailure"); | |
| 125 return ""; | |
| 126 } | |
| 127 | |
| 128 public String disableGuestbook(Guestbook selectedGuestbook) { | |
| 129 selectedGuestbook.setEnabled(false); | |
| 130 saveDataverse("dataset.manageGuestbooks.message.disableSuccess", "dataset.manageGuestbooks.message.disableFailure"); | |
| 131 return ""; | |
| 132 } | |
| 133 | |
| 134 | |
| 135 private void saveDataverse(String successMessage, String failureMessage) { | |
| 136 if (successMessage.isEmpty()) { | |
| 137 successMessage = "dataset.manageGuestbooks.message.editSuccess"; | |
| 138 } | |
| 139 if (failureMessage.isEmpty()) { | |
| 140 failureMessage = "dataset.manageGuestbooks.message.editFailure"; | |
| 141 } | |
| 142 try { | |
| 143 engineService.submit(new UpdateDataverseCommand(getDataverse(), null, null, session.getUser(), null)); | |
| 144 JsfHelper.addSuccessMessage(JH.localize(successMessage)); | |
| 145 } catch (CommandException ex) { | |
| 146 JH.addMessage(FacesMessage.SEVERITY_FATAL, JH.localize(failureMessage)); | |
| 147 } | |
| 148 | |
| 149 } | |
| 150 | |
| 151 public List<Guestbook> getGuestbooks() { | |
| 152 return guestbooks; | |
| 153 } | |
| 154 | |
| 155 public void setGuestbooks(List<Guestbook> guestbooks) { | |
| 156 this.guestbooks = guestbooks; | |
| 157 } | |
| 158 | |
| 159 | |
| 160 | |
| 161 public Dataverse getDataverse() { | |
| 162 return dataverse; | |
| 163 } | |
| 164 | |
| 165 public void setDataverse(Dataverse dataverse) { | |
| 166 this.dataverse = dataverse; | |
| 167 } | |
| 168 | |
| 169 public Long getDataverseId() { | |
| 170 return dataverseId; | |
| 171 } | |
| 172 | |
| 173 public void setDataverseId(Long dataverseId) { | |
| 174 this.dataverseId = dataverseId; | |
| 175 } | |
| 176 | |
| 177 public boolean isInheritGuestbooksValue() { | |
| 178 return inheritGuestbooksValue; | |
| 179 } | |
| 180 | |
| 181 public void setInheritGuestbooksValue(boolean inheritGuestbooksValue) { | |
| 182 this.inheritGuestbooksValue = inheritGuestbooksValue; | |
| 183 } | |
| 184 | |
| 185 public Guestbook getSelectedGuestbook() { | |
| 186 return selectedGuestbook; | |
| 187 } | |
| 188 | |
| 189 public void setSelectedGuestbook(Guestbook selectedGuestbook) { | |
| 190 this.selectedGuestbook = selectedGuestbook; | |
| 191 } | |
| 192 | |
| 193 public void viewSelectedGuestbook(Guestbook selectedGuestbook) { | |
| 194 this.selectedGuestbook = selectedGuestbook; | |
| 195 guestbookPage.setGuestbook(selectedGuestbook); | |
| 196 } | |
| 197 | |
| 198 | |
| 199 | |
| 200 public String updateGuestbooksRoot(javax.faces.event.AjaxBehaviorEvent event) throws javax.faces.event.AbortProcessingException { | |
| 201 try { | |
| 202 dataverse = engineService.submit(new UpdateDataverseGuestbookRootCommand(!isInheritGuestbooksValue(), session.getUser(), getDataverse())); | |
| 203 init(); | |
| 204 return ""; | |
| 205 } catch (CommandException ex) { | |
| 206 Logger.getLogger(ManageGuestbooksPage.class.getName()).log(Level.SEVERE, null, ex); | |
| 207 } | |
| 208 return ""; | |
| 209 } | |
| 210 } |
