From 3dba42b35126355a37c7b7de488f4ade77a89c1b Mon Sep 17 00:00:00 2001 From: Elaine Tan Date: Wed, 4 Dec 2013 18:18:23 +0800 Subject: [PATCH] IDEMPIERE-1083 Print shipping label applet is not working - Use server push template to perform UI operations --- .../process/DefaultPrintShippingLabel.java | 38 ++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DefaultPrintShippingLabel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DefaultPrintShippingLabel.java index a84574e11a..546b30a1f5 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DefaultPrintShippingLabel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DefaultPrintShippingLabel.java @@ -20,6 +20,7 @@ import org.adempiere.process.IPrintShippingLabel; import org.adempiere.webui.FedexLabelWindow; import org.adempiere.webui.LabelAppletWindow; import org.adempiere.webui.UPSHtmlLabelWindow; +import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Window; import org.adempiere.webui.session.SessionManager; import org.compiere.model.MAttachment; @@ -46,9 +47,15 @@ public class DefaultPrintShippingLabel implements IPrintShippingLabel } if (list.size() > 0) { - LabelAppletWindow law = new LabelAppletWindow(list); - law.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); - SessionManager.getAppDesktop().showWindow(law); + final List dataList = list; + AEnv.executeAsyncDesktopTask(new Runnable() { + @Override + public void run() { + LabelAppletWindow law = new LabelAppletWindow(dataList); + law.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); + SessionManager.getAppDesktop().showWindow(law); + } + }); } } return list.size() + " labels loaded."; @@ -70,15 +77,28 @@ public class DefaultPrintShippingLabel implements IPrintShippingLabel } if (htmls.size() > 0) { - Window labelWindow = new UPSHtmlLabelWindow(htmls, images); - labelWindow.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); - SessionManager.getAppDesktop().showWindow(labelWindow); + final List htmlList = htmls; + final List imageList = images; + AEnv.executeAsyncDesktopTask(new Runnable() { + @Override + public void run() { + Window labelWindow = new UPSHtmlLabelWindow(htmlList, imageList); + labelWindow.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); + SessionManager.getAppDesktop().showWindow(labelWindow); + } + }); } else if(images.size() > 0) { - Window labelWindow = new FedexLabelWindow(images); - labelWindow.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); - SessionManager.getAppDesktop().showWindow(labelWindow); + final List imageList = images; + AEnv.executeAsyncDesktopTask(new Runnable() { + @Override + public void run() { + Window labelWindow = new FedexLabelWindow(imageList); + labelWindow.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); + SessionManager.getAppDesktop().showWindow(labelWindow); + } + }); } } return htmls.size() + " labels loaded.";