diff --git a/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java b/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java index 1822ea4c61..2ae25b537e 100644 --- a/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java +++ b/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java @@ -53,7 +53,7 @@ import org.compiere.wf.MWorkflow; */ public final class ProcessUtil { - public static final String JASPER_STARTER_CLASS = "org.compiere.report.ReportStarter"; + public static final String JASPER_STARTER_CLASS = "org.adempiere.report.jasper.ReportStarter"; /** Logger */ private static CLogger log = CLogger.getCLogger(ProcessUtil.class); diff --git a/org.adempiere.report.jasper.swing/META-INF/MANIFEST.MF b/org.adempiere.report.jasper.swing/META-INF/MANIFEST.MF index 220e624922..a3c23f3e9f 100644 --- a/org.adempiere.report.jasper.swing/META-INF/MANIFEST.MF +++ b/org.adempiere.report.jasper.swing/META-INF/MANIFEST.MF @@ -5,9 +5,11 @@ Bundle-SymbolicName: org.adempiere.report.jasper.swing;singleton:=true Bundle-Version: 2.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Require-Bundle: org.adempiere.base;bundle-version="2.0.0", - org.adempiere.ui.swing;bundle-version="2.0.0", - org.adempiere.report.jasper;bundle-version="2.0.0", - org.adempiere.report.jasper.library;bundle-version="2.0.0" -Import-Package: org.osgi.framework + org.adempiere.ui.swing;bundle-version="2.0.0" +Import-Package: net.sf.jasperreports.engine, + net.sf.jasperreports.engine.export, + net.sf.jasperreports.view, + org.adempiere.report.jasper, + org.osgi.framework Service-Component: OSGI-INF/jrviewerprovider.xml Bundle-ActivationPolicy: lazy diff --git a/org.adempiere.report.jasper.swing/OSGI-INF/jrviewerprovider.xml b/org.adempiere.report.jasper.swing/OSGI-INF/jrviewerprovider.xml index d15ca6e471..1e7305e452 100644 --- a/org.adempiere.report.jasper.swing/OSGI-INF/jrviewerprovider.xml +++ b/org.adempiere.report.jasper.swing/OSGI-INF/jrviewerprovider.xml @@ -2,6 +2,6 @@ - + diff --git a/org.adempiere.report.jasper.swing/src/org/compiere/report/SwingJRViewerProvider.java b/org.adempiere.report.jasper.swing/src/org/compiere/report/SwingJRViewerProvider.java index 3c621af3a5..b02603e47e 100644 --- a/org.adempiere.report.jasper.swing/src/org/compiere/report/SwingJRViewerProvider.java +++ b/org.adempiere.report.jasper.swing/src/org/compiere/report/SwingJRViewerProvider.java @@ -1,5 +1,7 @@ package org.compiere.report; +import org.adempiere.report.jasper.JRViewerProvider; + import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperPrint; diff --git a/org.adempiere.report.jasper/.project b/org.adempiere.report.jasper/.project index 1287b5ba0c..69f07bfe3c 100644 --- a/org.adempiere.report.jasper/.project +++ b/org.adempiere.report.jasper/.project @@ -25,6 +25,11 @@ + + org.eclipse.pde.ds.core.builder + + + org.eclipse.jem.workbench.JavaEMFNature diff --git a/org.adempiere.report.jasper/META-INF/MANIFEST.MF b/org.adempiere.report.jasper/META-INF/MANIFEST.MF index 4b3327de29..eafa69dd5a 100644 --- a/org.adempiere.report.jasper/META-INF/MANIFEST.MF +++ b/org.adempiere.report.jasper/META-INF/MANIFEST.MF @@ -4,12 +4,13 @@ Bundle-Name: JasperReport integration Bundle-SymbolicName: org.adempiere.report.jasper;singleton:=true Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: JasperReports.jar -Export-Package: org.compiere.report, - org.compiere.utils -Require-Bundle: org.adempiere.base;bundle-version="2.0.0", - org.adempiere.report.jasper.library;bundle-version="2.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.apache.commons.codec;version="1.3.0", org.apache.commons.codec.binary;version="1.3.0", org.apache.commons.logging;version="1.1.1", org.apache.commons.logging.impl;version="1.1.1" +Require-Bundle: org.adempiere.base;bundle-version="2.0.0", + org.adempiere.report.jasper.library;bundle-version="2.0.0" +Service-Component: OSGI-INF/processfactory.xml +Export-Package: org.adempiere.report.jasper +Bundle-ActivationPolicy: lazy diff --git a/org.adempiere.report.jasper/OSGI-INF/processfactory.xml b/org.adempiere.report.jasper/OSGI-INF/processfactory.xml new file mode 100644 index 0000000000..4ab516c7e9 --- /dev/null +++ b/org.adempiere.report.jasper/OSGI-INF/processfactory.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/org.adempiere.report.jasper/build.properties b/org.adempiere.report.jasper/build.properties index fbee266820..adfe22c4eb 100644 --- a/org.adempiere.report.jasper/build.properties +++ b/org.adempiere.report.jasper/build.properties @@ -1,4 +1,5 @@ +bin.includes = META-INF/,\ + JasperReports.jar,\ + OSGI-INF/ source.JasperReports.jar = src/ output.JasperReports.jar = build/ -bin.includes = META-INF/,\ - JasperReports.jar diff --git a/org.adempiere.report.jasper/src/org/compiere/report/Barbecue.java b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/Barbecue.java similarity index 92% rename from org.adempiere.report.jasper/src/org/compiere/report/Barbecue.java rename to org.adempiere.report.jasper/src/org/adempiere/report/jasper/Barbecue.java index 1ca9aa9249..6cc619f6db 100644 --- a/org.adempiere.report.jasper/src/org/compiere/report/Barbecue.java +++ b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/Barbecue.java @@ -1,4 +1,4 @@ -package org.compiere.report; +package org.adempiere.report.jasper; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; diff --git a/org.adempiere.report.jasper/src/org/compiere/report/JRViewerProvider.java b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/JRViewerProvider.java similarity index 82% rename from org.adempiere.report.jasper/src/org/compiere/report/JRViewerProvider.java rename to org.adempiere.report.jasper/src/org/adempiere/report/jasper/JRViewerProvider.java index 50c4b95269..323486b96c 100644 --- a/org.adempiere.report.jasper/src/org/compiere/report/JRViewerProvider.java +++ b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/JRViewerProvider.java @@ -1,4 +1,4 @@ -package org.compiere.report; +package org.adempiere.report.jasper; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperPrint; diff --git a/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ProcessFactory.java b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ProcessFactory.java new file mode 100644 index 0000000000..bca37fc619 --- /dev/null +++ b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ProcessFactory.java @@ -0,0 +1,47 @@ +/****************************************************************************** + * Copyright (C) 2014 Thomas Bayen * + * Copyright (C) 2014 Jakob Bayen KG & BX Service GmbH * + * 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.report.jasper; + +import org.adempiere.base.IProcessFactory; +import org.adempiere.util.ProcessUtil; +import org.compiere.process.ProcessCall; + +/** + * ProcessFactory to start the ReportStarter class. + * + * Before this Factory was initiated the class was started with the + * DefaultProcessFactory because its package namespace was exported and joined + * into the org.compiere.report package of the org.adempiere.base plugin via + * Split Packages (through the Require-Bundle technique) See + * http://wiki.osgi.org/wiki/Split_Packages why this is not the best idea. + * Especially this prevents us from exchange the JasperReports plugin with + * another implementation. + * + * @author tbayen + */ +public class ProcessFactory implements IProcessFactory { + + public static final String JASPER_STARTER_CLASS_DEPRECATED = "org.compiere.report.ReportStarter"; + + @Override + public ProcessCall newProcessInstance(String className) { + if (ProcessUtil.JASPER_STARTER_CLASS.equals(className)) + return new ReportStarter(); + // this is for compatibility with older installations + if (JASPER_STARTER_CLASS_DEPRECATED.equals(className)) + return new ReportStarter(); + else + return null; + } +} diff --git a/org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java similarity index 97% rename from org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java rename to org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java index d4af2c36c3..f76ce1c739 100644 --- a/org.adempiere.report.jasper/src/org/compiere/report/ReportStarter.java +++ b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java @@ -11,7 +11,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * For the text or an alternative of this public license, you may reach us * *****************************************************************************/ -package org.compiere.report; +package org.adempiere.report.jasper; import java.awt.print.PrinterJob; import java.io.ByteArrayOutputStream; diff --git a/org.adempiere.server-feature/feature.xml b/org.adempiere.server-feature/feature.xml index ebaafce5b0..3968098fa9 100644 --- a/org.adempiere.server-feature/feature.xml +++ b/org.adempiere.server-feature/feature.xml @@ -38,6 +38,10 @@ id="org.idempiere.felix.webconsole" version="2.0.0.qualifier"/> + + diff --git a/org.adempiere.server-feature/server.product.launch b/org.adempiere.server-feature/server.product.launch index 322a1b0344..5cd41a8a12 100644 --- a/org.adempiere.server-feature/server.product.launch +++ b/org.adempiere.server-feature/server.product.launch @@ -14,6 +14,7 @@ + @@ -21,8 +22,8 @@ - - + + diff --git a/org.adempiere.server/META-INF/MANIFEST.MF b/org.adempiere.server/META-INF/MANIFEST.MF index 642d429654..d6c421f9c5 100644 --- a/org.adempiere.server/META-INF/MANIFEST.MF +++ b/org.adempiere.server/META-INF/MANIFEST.MF @@ -4,9 +4,7 @@ Bundle-Name: org.adempiere.server Bundle-SymbolicName: org.adempiere.server;singleton:=true Bundle-Version: 2.0.0.qualifier Require-Bundle: org.adempiere.base;bundle-version="2.0.0", - org.eclipse.equinox.app;bundle-version="1.3.0", - org.adempiere.report.jasper;bundle-version="2.0.0", - org.adempiere.report.jasper.library;bundle-version="2.0.0" + org.eclipse.equinox.app;bundle-version="1.3.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Web-ContextPath: / Bundle-ClassPath: WEB-INF/lib/jardiff.jar, diff --git a/org.adempiere.ui.swing/META-INF/MANIFEST.MF b/org.adempiere.ui.swing/META-INF/MANIFEST.MF index 8564bbb6a4..4893a5dbcb 100644 --- a/org.adempiere.ui.swing/META-INF/MANIFEST.MF +++ b/org.adempiere.ui.swing/META-INF/MANIFEST.MF @@ -69,8 +69,6 @@ Export-Package: com.jgoodies.looks, org.jdesktop.swingx.util Require-Bundle: org.adempiere.base;bundle-version="2.0.0", org.adempiere.ui;bundle-version="2.0.0", - org.adempiere.report.jasper;bundle-version="2.0.0", - org.adempiere.report.jasper.library;bundle-version="2.0.0", org.restlet;bundle-version="2.1.0", org.restlet.ext.net;bundle-version="2.1.0", org.restlet.ext.servlet;bundle-version="2.1.0", @@ -79,6 +77,7 @@ Eclipse-ExtensibleAPI: true Eclipse-RegisterBuddy: org.adempiere.base Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: javax.net.ssl, + net.sf.jasperreports.engine, org.apache.ecs, org.apache.ecs.xhtml, org.apache.poi.hssf.usermodel, diff --git a/org.adempiere.ui.zk/META-INF/MANIFEST.MF b/org.adempiere.ui.zk/META-INF/MANIFEST.MF index 24437840a3..ade80c5f59 100644 --- a/org.adempiere.ui.zk/META-INF/MANIFEST.MF +++ b/org.adempiere.ui.zk/META-INF/MANIFEST.MF @@ -8,6 +8,10 @@ Import-Package: javax.activation;version="1.1.1", javax.servlet, javax.servlet.http, metainfo.zk, + net.sf.jasperreports.engine, + net.sf.jasperreports.engine.export, + net.sf.jasperreports.engine.util, + org.adempiere.report.jasper, org.apache.commons.codec.binary, org.apache.ecs, org.apache.ecs.xhtml, @@ -79,9 +83,7 @@ Export-Package: fi.jawsy.jawwa.zk.atmosphere, web.js.jawwa.atmosphere, web.js.zkforge, web.js.zkforge.mold -Require-Bundle: org.adempiere.report.jasper;bundle-version="2.0.0", - org.adempiere.base;bundle-version="2.0.0", - org.adempiere.report.jasper.library;bundle-version="2.0.0", +Require-Bundle: org.adempiere.base;bundle-version="2.0.0", org.adempiere.ui;bundle-version="2.0.0", org.zkoss.zk.library;bundle-version="6.0.0" Bundle-Activator: org.adempiere.webui.WebUIActivator diff --git a/org.adempiere.ui.zk/OSGI-INF/jrviewerprovider.xml b/org.adempiere.ui.zk/OSGI-INF/jrviewerprovider.xml index 33b21de28e..802836a337 100644 --- a/org.adempiere.ui.zk/OSGI-INF/jrviewerprovider.xml +++ b/org.adempiere.ui.zk/OSGI-INF/jrviewerprovider.xml @@ -2,6 +2,6 @@ - + diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewerProvider.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewerProvider.java index 5d4c78d9d7..42ffaaa0f0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewerProvider.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkJRViewerProvider.java @@ -3,11 +3,11 @@ package org.adempiere.webui.window; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperPrint; +import org.adempiere.report.jasper.JRViewerProvider; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Window; import org.adempiere.webui.part.WindowContainer; import org.adempiere.webui.session.SessionManager; -import org.compiere.report.JRViewerProvider; public class ZkJRViewerProvider implements JRViewerProvider { diff --git a/org.adempiere.webstore/META-INF/MANIFEST.MF b/org.adempiere.webstore/META-INF/MANIFEST.MF index efaa8f4e0e..7904cc7792 100644 --- a/org.adempiere.webstore/META-INF/MANIFEST.MF +++ b/org.adempiere.webstore/META-INF/MANIFEST.MF @@ -3,8 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.adempiere.webstore Bundle-SymbolicName: org.adempiere.webstore;singleton:=true Bundle-Version: 2.0.0.qualifier -Require-Bundle: org.adempiere.report.jasper;bundle-version="2.0.0", - org.adempiere.base;bundle-version="2.0.0", +Require-Bundle: org.adempiere.base;bundle-version="2.0.0", org.adempiere.report.jasper.webapp;bundle-version="2.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Web-ContextPath: wstore diff --git a/org.idempiere.webservices/META-INF/MANIFEST.MF b/org.idempiere.webservices/META-INF/MANIFEST.MF index a7a41111a6..855fb933c6 100644 --- a/org.idempiere.webservices/META-INF/MANIFEST.MF +++ b/org.idempiere.webservices/META-INF/MANIFEST.MF @@ -18,6 +18,9 @@ Import-Package: javax.activation;version="1.1.1", javax.xml.rpc.server;version="1.1.0.v20110517", javax.xml.rpc.soap;version="1.1.0.v20110517", javax.xml.soap;version="1.3.0", + net.sf.jasperreports.engine, + net.sf.jasperreports.engine.base, + net.sf.jasperreports.engine.util, org.apache.commons.codec.binary;version="1.3.0", org.apache.commons.logging;version="1.1.1", org.apache.commons.logging.impl;version="1.1.1", @@ -57,7 +60,6 @@ Import-Package: javax.activation;version="1.1.1", org.apache.xml.serialize;version="2.9.0", org.osgi.framework;version="1.6.0" Require-Bundle: org.adempiere.base;bundle-version="2.0.0", - org.adempiere.report.jasper.library;bundle-version="2.0.0", org.adempiere.ui;bundle-version="2.0.0", org.apache.ecs;bundle-version="1.0.0" Bundle-ClassPath: .,