From 1ea1d36124140ba8a250f365b1b0d0dd850dcc25 Mon Sep 17 00:00:00 2001 From: Aleksandr Pchelintcev Date: Fri, 7 Feb 2014 10:02:26 +0200 Subject: [PATCH] jcr-free-patch --- .../dam/app/assets/field/UploadAssetActionRenderer.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/info/magnolia/dam/app/assets/field/UploadAssetActionRenderer.java b/src/main/java/info/magnolia/dam/app/assets/field/UploadAssetActionRenderer.java index 40dc7d9..8b71f41 100644 --- a/src/main/java/info/magnolia/dam/app/assets/field/UploadAssetActionRenderer.java +++ b/src/main/java/info/magnolia/dam/app/assets/field/UploadAssetActionRenderer.java @@ -34,10 +34,12 @@ package info.magnolia.dam.app.assets.field; import info.magnolia.cms.core.Path; +import info.magnolia.dam.DamConstants; import info.magnolia.event.EventBus; import info.magnolia.i18nsystem.SimpleTranslator; import info.magnolia.jcr.util.NodeTypes; import info.magnolia.jcr.util.NodeUtil; +import info.magnolia.jcr.util.SessionUtil; import info.magnolia.ui.api.action.ActionDefinition; import info.magnolia.ui.api.context.UiContext; import info.magnolia.ui.api.event.ChooseDialogEventBus; @@ -53,12 +55,14 @@ import info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter; import info.magnolia.ui.workbench.event.SelectionChangedEvent; import java.util.List; +import java.util.Set; import javax.inject.Inject; import javax.inject.Named; import javax.jcr.Node; import javax.jcr.RepositoryException; +import com.vaadin.data.Item; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.CssLayout; @@ -111,11 +115,12 @@ public class UploadAssetActionRenderer implements ActionRenderer { eventBus.addHandler(SelectionChangedEvent.class, new SelectionChangedEvent.Handler() { @Override public void onSelectionChanged(SelectionChangedEvent event) { - List items = event.getItems(); + Set itemIds = event.getItemIds(); try { - boolean uploadAllowed = items.size() == 1 && items.get(0).getJcrItem().isNode(); + String firstItemId = String.valueOf(itemIds.iterator().next()); + javax.jcr.Node node = SessionUtil.getNode(DamConstants.WORKSPACE, firstItemId); + boolean uploadAllowed = itemIds.size() == 1; if (uploadAllowed) { - Node node = (Node) items.get(0).getJcrItem(); uploadAllowed &= NodeUtil.isNodeType(node, NodeTypes.Folder.NAME) || NodeUtil.getAncestors(node).isEmpty(); } upload.setEnabled(uploadAllowed); -- 1.8.3.4 (Apple Git-47)