Changeset 5544
- Timestamp:
- 08/08/14 13:01:54 (10 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistryUsageException.java
r5542 r5544 12 12 13 13 public VirtualCollectionRegistryUsageException(String msg) { 14 this(msg, null );14 this(msg, null, null); 15 15 } 16 16 … … 18 18 Throwable cause) { 19 19 this(msg, cause, null); 20 } 21 22 public VirtualCollectionRegistryUsageException(String msg, 23 List<String> validationErrors) { 24 this(msg, null, validationErrors); 20 25 } 21 26 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/Application.properties
r5540 r5544 25 25 undone. Be aware that other users may not expect a published collection to \ 26 26 change! 27 collections.publishwarningsconfirm: WARNING: The collection "${name}" does not \ 28 meet all recommended criteria. The following warnings apply:\n {0}\n\ 29 Would you still like to publish the collection? 30 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowseEditableCollectionsPanel.html
r5540 r5544 10 10 <div style="display: none" wicket:id="deleteCollectionDialog"></div> 11 11 <div style="display: none" wicket:id="editPublishedCollectionDialog"></div> 12 <div style="display: none" wicket:id="confirmPublishCollectionDialog"></div> 12 13 <div wicket:id="collectionsTable"></div> 13 14 </wicket:panel> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowseEditableCollectionsPanel.java
r5540 r5544 3 3 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistry; 4 4 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryException; 5 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryUsageException; 5 6 import eu.clarin.cmdi.virtualcollectionregistry.gui.VolatileEntityModel; 6 7 import eu.clarin.cmdi.virtualcollectionregistry.gui.dialog.ConfirmationDialog; … … 10 11 import eu.clarin.cmdi.virtualcollectionregistry.gui.table.VirtualCollectionTable; 11 12 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; 13 import eu.clarin.cmdi.virtualcollectionregistry.service.VirtualCollectionValidator; 12 14 import java.security.Principal; 13 15 import java.util.Collections; 16 import java.util.List; 14 17 import org.apache.wicket.Component; 15 18 import org.apache.wicket.PageParameters; 19 import org.apache.wicket.Session; 16 20 import org.apache.wicket.ajax.AjaxRequestTarget; 17 21 import org.apache.wicket.ajax.markup.html.AjaxLink; … … 21 25 import org.apache.wicket.model.StringResourceModel; 22 26 import org.apache.wicket.spring.injection.annot.SpringBean; 27 import org.slf4j.Logger; 28 import org.slf4j.LoggerFactory; 23 29 24 30 /** … … 30 36 public class BrowseEditableCollectionsPanel extends Panel { 31 37 38 private final static Logger logger = LoggerFactory.getLogger(BrowseEditableCollectionsPanel.class); 39 32 40 @SpringBean 33 41 private VirtualCollectionRegistry vcr; … … 48 56 protected void onClick(AjaxRequestTarget target, 49 57 IModel<VirtualCollection> model) { 50 doPublish(target, model .getObject());58 doPublish(target, model); 51 59 } 52 60 }; … … 109 117 @Override 110 118 public void onClick(AjaxRequestTarget target) { 111 doPublish(target, getModel Object());119 doPublish(target, getModel()); 112 120 } 113 121 }; … … 159 167 private final class PublishCollectionDialog extends ConfirmationDialog { 160 168 161 private long vcId;169 private IModel<VirtualCollection> vcModel; 162 170 163 171 public PublishCollectionDialog(String id, … … 170 178 public void onConfirm(AjaxRequestTarget target) { 171 179 try { 172 vcr.setVirtualCollectionState(getUser(), vcId, 173 VirtualCollection.State.PUBLIC_PENDING); 174 } catch (VirtualCollectionRegistryException e) { 175 e.printStackTrace(); 176 } 177 } 178 179 public void show(AjaxRequestTarget target, VirtualCollection vc) { 180 this.vcId = vc.getId(); 180 try { 181 prePublicationValidator.validate(vcModel.getObject()); 182 doPublish(vcModel.getObject().getId()); 183 } catch (VirtualCollectionRegistryUsageException ex) { 184 confirmPublishCollectionDialog.showDialogue(target, vcModel, ex.getValidationErrors()); 185 } 186 } catch (VirtualCollectionRegistryException ex) { 187 logger.error("Could not publish collection {}, id {}", vcModel.getObject().getName(), vcModel.getObject().getId(), ex); 188 Session.get().error(ex.getMessage()); 189 } 190 } 191 192 public void showDialogue(AjaxRequestTarget target, IModel<VirtualCollection> vc) { 193 this.vcModel = vc; 181 194 super.show(target, 182 new StringResourceModel("collections.publishconfirm", 183 new VolatileEntityModel<VirtualCollection>(vc))); 195 new StringResourceModel("collections.publishconfirm", vc)); 184 196 } 185 197 } // class BrowsePrivateCollectionsPage.PublishCollectionDialog 198 199 private void doPublish(long vcId) throws VirtualCollectionRegistryException { 200 vcr.setVirtualCollectionState(getUser(), vcId, 201 VirtualCollection.State.PUBLIC_PENDING); 202 } 203 204 private final class ConfirmPublishCollectionDialog extends ConfirmationDialog { 205 206 private long vcId; 207 208 public ConfirmPublishCollectionDialog(String id, 209 final Component updateComponenet) { 210 super(id, updateComponenet); 211 setInitialWidth(400); 212 } 213 214 @Override 215 public void onConfirm(AjaxRequestTarget target) { 216 try { 217 doPublish(vcId); 218 } catch (VirtualCollectionRegistryException ex) { 219 logger.error("Could not publish collection with id {}", vcId, ex); 220 Session.get().error(ex.getMessage()); 221 } 222 } 223 224 public void showDialogue(AjaxRequestTarget target, IModel<VirtualCollection> vc, List<String> warnings) { 225 this.vcId = vc.getObject().getId(); 226 super.show(target, 227 new StringResourceModel("collections.publishwarningsconfirm", vc, new Object[]{warnings})); 228 } 229 230 } 186 231 187 232 private final class DeleteCollectionDialog extends ConfirmationDialog { … … 238 283 private final DeleteCollectionDialog deleteDialog; 239 284 private final EditPublishedCollectionDialog editPublishedDialog; 285 private final ConfirmPublishCollectionDialog confirmPublishCollectionDialog; 286 287 @SpringBean(name = "publication-soft") 288 private VirtualCollectionValidator prePublicationValidator; 240 289 241 290 /** … … 264 313 publishDialog = new PublishCollectionDialog("publishCollectionDialog", table); 265 314 add(publishDialog); 266 315 267 316 deleteDialog = new DeleteCollectionDialog("deleteCollectionDialog", table); 268 317 add(deleteDialog); 269 318 270 319 editPublishedDialog = new EditPublishedCollectionDialog("editPublishedCollectionDialog", table); 271 320 add(editPublishedDialog); 272 321 322 confirmPublishCollectionDialog = new ConfirmPublishCollectionDialog("confirmPublishCollectionDialog", table); 323 add(confirmPublishCollectionDialog); 273 324 } 274 325 … … 283 334 284 335 private void doPublish(AjaxRequestTarget target, 285 VirtualCollectionvc) {286 publishDialog.show (target, vc);336 IModel<VirtualCollection> vc) { 337 publishDialog.showDialogue(target, vc); 287 338 } 288 339
Note: See TracChangeset
for help on using the changeset viewer.