List of usage examples for org.apache.wicket.markup.html.image Image getId
@Override
public String getId()
From source file:org.xaloon.wicket.plugin.image.panel.ImagePanel.java
License:Apache License
@Override protected void onBeforeRender() { super.onBeforeRender(); removeAll();//ww w . ja v a 2s .com final ImageComposition image = getModelObject(); // Add show temporary image FileDescriptor temporaryFiledeDescriptor = image.getImage().getThumbnail(); if (temporaryFiledeDescriptor == null) { temporaryFiledeDescriptor = image.getImage(); } if (temporaryFiledeDescriptor != null && temporaryFiledeDescriptor.getImageInputStreamContainer() == null) { if (temporaryFiledeDescriptor.isExternal()) { temporaryFiledeDescriptor.setImageInputStreamContainer( new UrlInputStreamContainer(temporaryFiledeDescriptor.getPath())); } else { temporaryFiledeDescriptor.setImageInputStreamContainer(new ByteArrayAsInputStreamContainer( fileRepositoryFacade.getFileByPath(temporaryFiledeDescriptor.getPath()))); } } TemporaryResource temporaryResource = new TemporaryResource(temporaryFiledeDescriptor); Image temporaryImage = new NonCachingImage("temporary-image", temporaryResource); temporaryImage.add(AttributeModifier.replace(HtmlElementEnum.WIDTH.value(), String.valueOf(imageWidth))); temporaryImage.add(AttributeModifier.replace(HtmlElementEnum.HEIGHT.value(), String.valueOf(imageHeight))); temporaryImage.setVisible(!temporaryResource.isEmpty()); add(temporaryImage); // Add delete image link add(new ConfirmationAjaxLink<Void>("delete-image-link") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { deleteFileDescriptor(image); Component componentToRefresh = getOnCloseRefreshComponent(); if (componentToRefresh != null) { target.add(componentToRefresh); } } }.setVisible(securityFacade.hasAny(GallerySecurityAuthorities.IMAGE_DELETE))); // Add the modal window to edit image information final ModalWindow imageInformationModalWindow = new CustomModalWindow("modal-image-information", "Image information") { private static final long serialVersionUID = 1L; @Override protected void addComponentsToRefresh(java.util.List<Component> components) { components.add(ImagePanel.this); }; }; imageInformationModalWindow.setContent(new ImageDescriptionPanel(imageInformationModalWindow.getContentId(), new Model<org.xaloon.core.api.image.model.Image>(image.getImage())) { private static final long serialVersionUID = 1L; @Override protected void onImageUpdate(AjaxRequestTarget target, org.xaloon.core.api.image.model.Image entity) { // Usually parent of this panel should be responsible to save // new entity, so we just update existing one here if (entity.getId() != null) { albumFacade.save(entity); } imageInformationModalWindow.close(target); } }); add(imageInformationModalWindow); // Add edit image metadata modal window add(new AjaxLink<Void>("edit-information") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { imageInformationModalWindow.show(target); } }.setVisible(securityFacade.hasAny(GallerySecurityAuthorities.IMAGE_EDIT))); }