From 1b6aa35c979c0d67f7d39f8bd79bff0249752c27 Mon Sep 17 00:00:00 2001 From: hengsin Date: Wed, 11 Mar 2020 18:13:42 +0800 Subject: [PATCH] IDEMPIERE-4205 Remove usage of applet --- .../WEB-INF/src/PrintLabelApplet.java | 109 ------------------ .../adempiere/webui/LabelAppletWindow.java | 89 -------------- .../process/DefaultPrintShippingLabel.java | 25 +--- org.adempiere.ui.zk/build-labelapplet.xml | 29 ----- org.adempiere.ui.zk/build.properties | 1 - org.adempiere.ui.zk/labelappletkeystore | Bin 1231 -> 0 bytes org.adempiere.ui.zk/labeldata.jsp | 44 ------- org.adempiere.ui.zk/pom.xml | 25 ---- 8 files changed, 1 insertion(+), 321 deletions(-) delete mode 100644 org.adempiere.ui.zk/WEB-INF/src/PrintLabelApplet.java delete mode 100644 org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/LabelAppletWindow.java delete mode 100644 org.adempiere.ui.zk/build-labelapplet.xml delete mode 100644 org.adempiere.ui.zk/labelappletkeystore delete mode 100644 org.adempiere.ui.zk/labeldata.jsp diff --git a/org.adempiere.ui.zk/WEB-INF/src/PrintLabelApplet.java b/org.adempiere.ui.zk/WEB-INF/src/PrintLabelApplet.java deleted file mode 100644 index e14200f51e..0000000000 --- a/org.adempiere.ui.zk/WEB-INF/src/PrintLabelApplet.java +++ /dev/null @@ -1,109 +0,0 @@ -import java.awt.print.PrinterJob; -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; - -import javax.print.Doc; -import javax.print.DocFlavor; -import javax.print.DocPrintJob; -import javax.print.PrintService; -import javax.print.SimpleDoc; -import javax.print.attribute.HashDocAttributeSet; -import javax.print.attribute.standard.DocumentName; -import javax.swing.JApplet; - -/** - * - * @author Low Heng Sin - * - */ -public class PrintLabelApplet extends JApplet { - - /** - * - */ - private static final long serialVersionUID = 6576464056530627273L; - private ArrayList fileids = new ArrayList(); - private int listSize = 0; - - @Override - public void init() { - String s = getParameter("size"); - try { - listSize = Integer.parseInt(s); - } catch (Exception e) { - System.out.println("Invalid listSize param=" + s); - listSize = 0; - } - - for (int i = 0; i < listSize; i++) - fileids.add(getParameter("file_" + i)); - - super.init(); - } - - @Override - public void start() { - System.out.println(this.getClass().getName() + " start()"); - PrinterJob pjob = null; - PrintService service = null; - DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE; - - try { - int count = 0; - - while (true) { - URL url = new URL(getCodeBase(), "labeldata.jsp?fileid=" + fileids.get(count) + "&count=" + (count + 1)); - URLConnection conn = url.openConnection(); - InputStream is = conn.getInputStream(); - byte[] data = null; - BufferedInputStream bis = new BufferedInputStream(is); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - while(bis.available() > 0) { - baos.write(bis.read()); - } - is.close(); - bis.close(); - data = baos.toByteArray(); - baos.close(); - if (data.length > 0) { - count ++; - if (pjob == null) { - // Create Print Job - pjob = PrinterJob.getPrinterJob(); - if (pjob.printDialog()) - service = pjob.getPrintService(); - else - break; - } - DocPrintJob job = service.createPrintJob(); - HashDocAttributeSet as = new HashDocAttributeSet(); - as.add(new DocumentName("shipping label", null)); - Doc doc = new SimpleDoc(data, flavor, as); - job.print(doc, null); - } else { - break; - } - if (count >= listSize) - break; - } - this.showStatus(count + " label printed."); - } catch (Exception e) { - e.printStackTrace(); - this.showStatus("Failed to print label - " + e.getLocalizedMessage()); - } - } - - @Override - public void destroy() { - System.out.println(this.getClass().getName() + " destroy()"); - } - - @Override - public void stop() { - System.out.println(this.getClass().getName() + " stop()"); - } -} diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/LabelAppletWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/LabelAppletWindow.java deleted file mode 100644 index 263f70461d..0000000000 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/LabelAppletWindow.java +++ /dev/null @@ -1,89 +0,0 @@ -/****************************************************************************** - * Copyright (C) 2012 Low Heng Sin * - * Copyright (C) 2012 Trek Global - * This program is free software; you can redistribute it and/or modify it * - * under the terms version 2 of the GNU General Public License as published * - * by the Free Software Foundation. This program is distributed in the hope * - * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along * - * with this program; if not, write to the Free Software Foundation, Inc., * - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * - *****************************************************************************/ -package org.adempiere.webui; - -import java.util.List; -import java.util.logging.Level; - -import org.adempiere.webui.component.ToolBarButton; -import org.adempiere.webui.component.Window; -import org.adempiere.webui.util.ZKUpdateUtil; -import org.compiere.model.MArchive; -import org.compiere.util.CLogger; -import org.compiere.util.Env; -import org.zkoss.zk.ui.event.Event; -import org.zkoss.zk.ui.event.EventListener; -import org.zkoss.zk.ui.event.Events; -import org.zkoss.zul.Applet; -import org.zkoss.zul.Div; - -/** - * - * @author Low Heng Sin - * - */ -public class LabelAppletWindow extends Window implements EventListener -{ - /** - * - */ - private static final long serialVersionUID = -592770994381511142L; - private final static CLogger log = CLogger.getCLogger(LabelAppletWindow.class); - - public LabelAppletWindow(List list) - { - super(); - - Div div = new Div(); - appendChild(div); - - Applet applet = new Applet(); - applet.setCode("PrintLabelApplet.class"); - applet.setArchive("labelapplet.jar"); - ZKUpdateUtil.setWidth(applet, "0"); - ZKUpdateUtil.setHeight(applet, "0"); - applet.setParam("size", list.size() + ""); - - for(int i = 0; i < list.size(); i++) - { - try - { - MArchive archive = new MArchive(Env.getCtx(), 0, null); - archive.setName("file_" + i); - archive.setBinaryData(list.get(i)); - archive.saveEx(); - applet.setParam("file_" + i, archive.getAD_Archive_ID() + ""); - if (log.isLoggable(Level.INFO)) - log.info("file_" + i + "=" + archive.getAD_Archive_ID()); - } catch (Exception e) { - e.printStackTrace(); - } - } - - div.appendChild(applet); - - ToolBarButton link = new ToolBarButton(); - link.setLabel("Click here to close this popup after printing is completed."); - link.addEventListener(Events.ON_CLICK, this); - appendChild(link); - - this.setBorder("normal"); - } - - public void onEvent(Event event) throws Exception - { - if (Events.ON_CLICK.equals(event.getName())) - this.detach(); - } -} \ No newline at end of file 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 546b30a1f5..5a23fbfd3d 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 @@ -18,7 +18,6 @@ import java.util.List; 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; @@ -36,29 +35,7 @@ public class DefaultPrintShippingLabel implements IPrintShippingLabel { public String printToLabelPrinter(MAttachment attachment, MShipperLabels labelType) throws Exception { - MAttachmentEntry[] entries = attachment.getEntries(); - List list = new ArrayList(); - if (entries != null && entries.length > 0) - { - for (MAttachmentEntry entry : entries) - { - if (entry.getName().startsWith("shipping_label")) - list.add(entry.getData()); - } - if (list.size() > 0) - { - 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."; + throw new UnsupportedOperationException(); } public String printImageLabel(MAttachment attachment, MShipperLabels labelType, String title) throws Exception diff --git a/org.adempiere.ui.zk/build-labelapplet.xml b/org.adempiere.ui.zk/build-labelapplet.xml deleted file mode 100644 index 69f05dcc48..0000000000 --- a/org.adempiere.ui.zk/build-labelapplet.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.adempiere.ui.zk/build.properties b/org.adempiere.ui.zk/build.properties index 34421382b4..a29d384432 100644 --- a/org.adempiere.ui.zk/build.properties +++ b/org.adempiere.ui.zk/build.properties @@ -30,7 +30,6 @@ bin.includes = META-INF/,\ OSGI-INF/banktransferparameterslistener.xml,\ sessiontimeout.zul,\ *.jsp,\ - labelapplet.jar,\ OSGI-INF/jfgchartrenderer.xml,\ manifest.json,\ pdf.js/,\ diff --git a/org.adempiere.ui.zk/labelappletkeystore b/org.adempiere.ui.zk/labelappletkeystore deleted file mode 100644 index 7c6b9645174ada0eda271753934b9fee8956e6a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1231 zcmezO_TO6u1_mY|W&~sIoW!KmoWz2HoYWGan0<`%yKW#o!Jvt;$AFKGOPh_6g;9%1 zkdcvZ?(TJo)3ABL-zi-OHy@iFd1Ui0 z)|rzOvaYU)p2V@BvTr5B#x9GNOUomUt*$+`@U+y^*ST3ntU|r7qW>OltNQ- zL!oO)A9NHFMFdv#{k1%K?|xHG=OiD|4Kg3)?mu|c#N7BJXOgOR>IWYNyIM6yW5XDc z?GreindH*`m!`k>P#2u0;AjD`XdFY}n!{R;c{KM?*|_ z`*}{Io)gO++K5$kht%|HJXpL=PJ8pR(usMC>$!g^nkIexom9oBVtr=G$9*dTCv>i8 zzW*@l>3p_H-Dzj6T-?&U -<%@ page trimDirectiveWhitespaces="true" %> -<%@page import="org.compiere.model.MArchive"%> -<%@page import="org.compiere.util.Env"%> -<%@page import="java.io.ByteArrayOutputStream"%> -<%@page import="java.io.FileInputStream"%> -<%@page import="java.io.File"%> -<%@page import="java.io.BufferedOutputStream"%> -<%@page import="java.io.OutputStream"%> -<% - try - { - String fileid = request.getParameter("fileid"); - if (fileid == null || fileid.trim().length() == 0) - { - response.setContentLength(0); - return; - } - - int AD_Archive_ID = Integer.parseInt(fileid); - if (AD_Archive_ID > 0) - { - MArchive archive = new MArchive(Env.getCtx(), AD_Archive_ID, null); - if (archive != null && archive.getAD_Archive_ID() > 0) - { - byte[] data = archive.getBinaryData(); - response.setContentLength(data.length); - - OutputStream os = response.getOutputStream(); - BufferedOutputStream bos = new BufferedOutputStream(os); - bos.write(data); - bos.flush(); - bos.close(); - - archive.delete(false); - } - } - } - catch (Exception e) - { - e.printStackTrace(); - response.setContentLength(0); - } -%> diff --git a/org.adempiere.ui.zk/pom.xml b/org.adempiere.ui.zk/pom.xml index ba03c10769..6da7d58da9 100644 --- a/org.adempiere.ui.zk/pom.xml +++ b/org.adempiere.ui.zk/pom.xml @@ -31,13 +31,6 @@ false - - ${project.basedir} - - labelapplet.jar - - false - @@ -76,24 +69,6 @@ - - com.googlecode.maven-download-plugin - download-maven-plugin - - - validate - - wget - - - ${url.file.srv}/extra.jar/labelapplet.jar - false - ./ - 5 - - - -