diff --git a/base/.classpath b/base/.classpath
index 5614471424..749a920ecb 100644
--- a/base/.classpath
+++ b/base/.classpath
@@ -24,5 +24,6 @@
+
diff --git a/base/.project b/base/.project
index 7e951739a9..cd61b00662 100644
--- a/base/.project
+++ b/base/.project
@@ -1,26 +1,37 @@
-
-
- base
-
-
- dbPort
- looks
- print
- tools
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.ibm.etools.validation.validationbuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
+
+
+ base
+
+
+ dbPort
+ looks
+ print
+ tools
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.ibm.etools.validation.validationbuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/base/META-INF/MANIFEST.MF b/base/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..5934d99793
--- /dev/null
+++ b/base/META-INF/MANIFEST.MF
@@ -0,0 +1,70 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.adempiere.base
+Bundle-SymbolicName: org.adempiere.base;singleton:=true
+Bundle-Version: 0.0.0.2
+Bundle-ClassPath: base.jar,
+ lib/commons-net-1.4.0.jar,
+ lib/ant.jar,
+ lib/jpedal.jar,
+ lib/jnlp.jar,
+ lib/junit.jar,
+ client/jbossall-client.jar,
+ lib/postgresql.jar,
+ lib/ocrs12.jar,
+ lib/ojdbc14.jar,
+ lib/c3p0-0.9.1.2.jar,
+ lib/script-api.jar,
+ lib/barbecue-1.5-beta1.jar,
+ lib/poi-3.0.1-FINAL-20070705.jar,
+ lib/jcommon-1.0.14.jar,
+ lib/jfreechart-1.0.11.jar,
+ lib/swingx-0.9.0.jar,
+ lib/looks-2.0.4.jar,
+ lib/commons-collections-3.1.jar,
+ lib/activemq-core-5.0.0.jar
+Export-Package: com.jgoodies.looks,
+ com.jgoodies.looks.common,
+ com.jgoodies.looks.plastic,
+ com.jgoodies.looks.plastic.theme,
+ com.jgoodies.looks.windows,
+ org.adempiere.apps.graph,
+ org.adempiere.as,
+ org.adempiere.base,
+ org.adempiere.exceptions,
+ org.adempiere.impexp,
+ org.adempiere.model,
+ org.adempiere.pdf,
+ org.adempiere.pdf.viewer,
+ org.adempiere.pipo,
+ org.adempiere.pipo.exception,
+ org.adempiere.pipo.handler,
+ org.adempiere.plaf,
+ org.adempiere.print.export,
+ org.adempiere.process,
+ org.adempiere.process.rpl,
+ org.adempiere.process.rpl.exp,
+ org.adempiere.process.rpl.imp,
+ org.adempiere.util,
+ org.compiere,
+ org.compiere.FA,
+ org.compiere.acct,
+ org.compiere.cm,
+ org.compiere.db,
+ org.compiere.dbPort,
+ org.compiere.impexp,
+ org.compiere.interfaces,
+ org.compiere.model,
+ org.compiere.plaf,
+ org.compiere.print,
+ org.compiere.print.layout,
+ org.compiere.process,
+ org.compiere.report,
+ org.compiere.report.core,
+ org.compiere.sla,
+ org.compiere.swing,
+ org.compiere.tools,
+ org.compiere.util,
+ org.compiere.wf
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
+ org.adempiere.tools;bundle-version="0.0.0"
diff --git a/base/build.properties b/base/build.properties
new file mode 100644
index 0000000000..f0410d0383
--- /dev/null
+++ b/base/build.properties
@@ -0,0 +1,74 @@
+source.base.jar = src/
+bin.includes = META-INF/,\
+ ../tools/lib/commons-net-1.4.0.jar,\
+ ../tools/lib/ant.jar,\
+ ../tools/lib/jpedal.jar,\
+ ../tools/lib/jnlp.jar,\
+ ../tools/lib/junit.jar,\
+ client/jbossall-client.jar,\
+ ../tools/lib/postgresql.jar,\
+ ../tools/lib/ocrs12.jar,\
+ ../tools/lib/ojdbc14.jar,\
+ ../tools/lib/c3p0-0.9.1.2.jar,\
+ ../tools/lib/script-api.jar,\
+ ../tools/lib/barbecue-1.5-beta1.jar,\
+ ../tools/lib/poi-3.0.1-FINAL-20070705.jar,\
+ ../tools/lib/jcommon-1.0.14.jar,\
+ ../tools/lib/jfreechart-1.0.11.jar,\
+ ../tools/lib/swingx-0.9.0.jar,\
+ ../tools/lib/looks-2.0.4.jar,\
+ ../tools/lib/commons-collections-3.1.jar,\
+ ../tools/lib/activemq-core-5.0.0.jar,\
+ base.jar,\
+ lib/looks-2.0.4.jar,\
+ plugin.xml
+jars.extra.classpath = platform:/plugin/org.adempiere.tools/lib/activation.jar,\
+ platform:/plugin/org.adempiere.tools/lib/activemq-core-5.0.0.jar,\
+ platform:/plugin/org.adempiere.tools/lib/ant-commons-net.jar,\
+ platform:/plugin/org.adempiere.tools/lib/ant-contrib-1.0b1.jar,\
+ platform:/plugin/org.adempiere.tools/lib/ant-launcher.jar,\
+ platform:/plugin/org.adempiere.tools/lib/ant.jar,\
+ platform:/plugin/org.adempiere.tools/lib/barbecue-1.5-beta1.jar,\
+ platform:/plugin/org.adempiere.tools/lib/bsh-2.0b5.jar,\
+ platform:/plugin/org.adempiere.tools/lib/bsh-engine.jar,\
+ platform:/plugin/org.adempiere.tools/lib/c3p0-0.9.1.2.jar,\
+ platform:/plugin/org.adempiere.tools/lib/c3p0-oracle-thin-extras-0.9.1.2.jar,\
+ platform:/plugin/org.adempiere.tools/lib/cglib.jar,\
+ platform:/plugin/org.adempiere.tools/lib/commons-codec.jar,\
+ platform:/plugin/org.adempiere.tools/lib/commons-collections-3.1.jar,\
+ platform:/plugin/org.adempiere.tools/lib/commons-logging.jar,\
+ platform:/plugin/org.adempiere.tools/lib/commons-net-1.4.0.jar,\
+ platform:/plugin/org.adempiere.tools/lib/groovy-all-1.5.1.jar,\
+ platform:/plugin/org.adempiere.tools/lib/groovy-engine.jar,\
+ platform:/plugin/org.adempiere.tools/lib/iText-2.1.7.jar,\
+ platform:/plugin/org.adempiere.tools/lib/javaee.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jcommon-1.0.14.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jfreechart-1.0.11.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jgraph.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jnlp.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jpayment.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jpedal.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jsp-api.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jstl.jar,\
+ platform:/plugin/org.adempiere.tools/lib/junit.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jython-engine.jar,\
+ platform:/plugin/org.adempiere.tools/lib/jython.jar,\
+ platform:/plugin/org.adempiere.tools/lib/log4j.jar,\
+ platform:/plugin/org.adempiere.tools/lib/logkit.jar,\
+ platform:/plugin/org.adempiere.tools/lib/looks-2.0.4.jar,\
+ platform:/plugin/org.adempiere.tools/lib/mail.jar,\
+ platform:/plugin/org.adempiere.tools/lib/miglayout-3.7.1-swing.jar,\
+ platform:/plugin/org.adempiere.tools/lib/ocrs12.jar,\
+ platform:/plugin/org.adempiere.tools/lib/ojdbc14.jar,\
+ platform:/plugin/org.adempiere.tools/lib/poi-3.0.1-FINAL-20070705.jar,\
+ platform:/plugin/org.adempiere.tools/lib/postgresql.jar,\
+ platform:/plugin/org.adempiere.tools/lib/script-api.jar,\
+ platform:/plugin/org.adempiere.tools/lib/servlet-api.jar,\
+ platform:/plugin/org.adempiere.tools/lib/standard.jar,\
+ platform:/plugin/org.adempiere.tools/lib/swingx-0.9.0.jar,\
+ platform:/plugin/org.adempiere.tools/lib/Verisign.jar,\
+ platform:/plugin/org.adempiere.tools/lib/wizard.jar,\
+ platform:/plugin/org.adempiere.tools/lib/xercesImpl.jar,\
+ platform:/plugin/org.adempiere.tools/lib/xjavadoc-1.1.jar,\
+ platform:/plugin/org.adempiere.tools/lib/xml-apis.jar
+
\ No newline at end of file
diff --git a/base/plugin.xml b/base/plugin.xml
new file mode 100644
index 0000000000..cb6b8fe432
--- /dev/null
+++ b/base/plugin.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/base/schema/ResourceFinder.exsd b/base/schema/ResourceFinder.exsd
new file mode 100644
index 0000000000..a2f30d7849
--- /dev/null
+++ b/base/schema/ResourceFinder.exsd
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+ [Enter description of this extension point.]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Enter the first release in which this extension point appears.]
+
+
+
+
+
+
+
+
+ [Enter extension point usage example here.]
+
+
+
+
+
+
+
+
+ [Enter API information here.]
+
+
+
+
+
+
+
+
+ [Enter information about supplied implementation of this extension point.]
+
+
+
+
+
diff --git a/base/src/org/adempiere/base/IResourceFinder.java b/base/src/org/adempiere/base/IResourceFinder.java
new file mode 100644
index 0000000000..a99ea7b76b
--- /dev/null
+++ b/base/src/org/adempiere/base/IResourceFinder.java
@@ -0,0 +1,25 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.adempiere.base;
+
+import java.net.URL;
+
+public interface IResourceFinder {
+
+ URL getResource(String name);
+
+}
diff --git a/base/src/org/adempiere/base/IServiceLocator.java b/base/src/org/adempiere/base/IServiceLocator.java
new file mode 100644
index 0000000000..7b127bfd4d
--- /dev/null
+++ b/base/src/org/adempiere/base/IServiceLocator.java
@@ -0,0 +1,31 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.adempiere.base;
+
+
+/**
+ * A service locator looks up services.
+ * This is the central authority for adempiere service definition,
+ * because each service defined has to be looked up via this interface.
+ * @author viola
+ *
+ */
+public interface IServiceLocator {
+
+ IResourceFinder getResourceFinder();
+
+}
diff --git a/base/src/org/adempiere/base/Service.java b/base/src/org/adempiere/base/Service.java
new file mode 100644
index 0000000000..4ab5206ec8
--- /dev/null
+++ b/base/src/org/adempiere/base/Service.java
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.adempiere.base;
+
+import org.adempiere.base.equinox.EquinoxServiceLocator;
+
+/**
+ * This is a very simple factory for service locators
+ * @author viola
+ *
+ */
+public class Service {
+
+ private static IServiceLocator theLocator;
+
+ public static IServiceLocator locator() {
+ if (theLocator==null) {
+ synchronized (Service.class) {
+ if (theLocator==null) {
+ theLocator = new EquinoxServiceLocator();
+ }
+ }
+ }
+ return theLocator;
+ }
+
+}
diff --git a/base/src/org/adempiere/base/equinox/EquinoxResourceFinder.java b/base/src/org/adempiere/base/equinox/EquinoxResourceFinder.java
new file mode 100644
index 0000000000..b720e95006
--- /dev/null
+++ b/base/src/org/adempiere/base/equinox/EquinoxResourceFinder.java
@@ -0,0 +1,35 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.adempiere.base.equinox;
+
+import java.net.URL;
+
+import org.adempiere.base.IResourceFinder;
+
+public class EquinoxResourceFinder implements IResourceFinder {
+
+ public URL getResource(String name) {
+ ExtensionList list = new ExtensionList(IResourceFinder.class, "org.adempiere.base.ResourceFinder");
+ for (IResourceFinder rf : list) {
+ URL url = rf.getResource(name);
+ if (url!=null)
+ return url;
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/base/src/org/adempiere/base/equinox/EquinoxServiceLocator.java b/base/src/org/adempiere/base/equinox/EquinoxServiceLocator.java
new file mode 100644
index 0000000000..907ef8e7ed
--- /dev/null
+++ b/base/src/org/adempiere/base/equinox/EquinoxServiceLocator.java
@@ -0,0 +1,29 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.adempiere.base.equinox;
+
+import org.adempiere.base.IResourceFinder;
+import org.adempiere.base.IServiceLocator;
+
+
+public class EquinoxServiceLocator implements IServiceLocator {
+
+ public IResourceFinder getResourceFinder() {
+ return new EquinoxResourceFinder();
+ }
+
+}
diff --git a/base/src/org/adempiere/base/equinox/ExtensionList.java b/base/src/org/adempiere/base/equinox/ExtensionList.java
new file mode 100644
index 0000000000..760a36e4f8
--- /dev/null
+++ b/base/src/org/adempiere/base/equinox/ExtensionList.java
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.adempiere.base.equinox;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+
+public class ExtensionList implements Iterable{
+
+ public class ExtensionIterator implements Iterator {
+
+ private int index = 0;
+
+ public boolean hasNext() {
+ return index clazz, String id) {
+ try {
+ elements = Platform.getExtensionRegistry().getConfigurationElementsFor(id);
+ } catch (Exception ex) {
+ System.out.println(ex.getMessage());
+ }
+ }
+
+ public Iterator iterator() {
+ return new ExtensionIterator();
+ }
+
+}
diff --git a/base/src/org/compiere/Adempiere.java b/base/src/org/compiere/Adempiere.java
index 9426820d29..a306fef357 100644
--- a/base/src/org/compiere/Adempiere.java
+++ b/base/src/org/compiere/Adempiere.java
@@ -30,6 +30,7 @@ import javax.jnlp.ServiceManager;
import javax.jnlp.UnavailableServiceException;
import javax.swing.ImageIcon;
+import org.adempiere.base.Service;
import org.compiere.db.CConnection;
import org.compiere.model.MClient;
import org.compiere.model.MSystem;
@@ -43,7 +44,7 @@ import org.compiere.util.Ini;
import org.compiere.util.Login;
import org.compiere.util.SecureEngine;
import org.compiere.util.SecureInterface;
-import org.compiere.util.Splash;
+//import org.compiere.util.Splash;
import org.compiere.util.Util;
/**
@@ -336,7 +337,8 @@ public final class Adempiere
if (s_imageLogo == null)
{
Toolkit tk = Toolkit.getDefaultToolkit();
- URL url = org.compiere.Adempiere.class.getResource(s_file100x30);
+ URL url = Service.locator().getResourceFinder().getResource(s_file100x30);
+// URL url = org.compiere.Adempiere.class.getResource(s_file100x30);
// System.out.println(url);
if (url == null)
return null;
@@ -580,37 +582,41 @@ public final class Adempiere
return true;
} // startupEnvironment
+ public static URL getResource(String name) {
+ return Service.locator().getResourceFinder().getResource(name);
+ }
+
/**
* Main Method
*
* @param args optional start class
*/
- public static void main (String[] args)
- {
- Splash.getSplash();
- startup(true); // error exit and initUI
-
- // Start with class as argument - or if nothing provided with Client
- String className = "org.compiere.apps.AMenu";
- for (int i = 0; i < args.length; i++)
- {
- if (!args[i].equals("-debug")) // ignore -debug
- {
- className = args[i];
- break;
- }
- }
- //
- try
- {
- Class> startClass = Class.forName(className);
- startClass.newInstance();
- }
- catch (Exception e)
- {
- System.err.println("ADempiere starting: " + className + " - " + e.toString());
- e.printStackTrace();
- }
- } // main
+// public static void main (String[] args)
+// {
+// Splash.getSplash();
+// startup(true); // error exit and initUI
+//
+// // Start with class as argument - or if nothing provided with Client
+// String className = "org.compiere.apps.AMenu";
+// for (int i = 0; i < args.length; i++)
+// {
+// if (!args[i].equals("-debug")) // ignore -debug
+// {
+// className = args[i];
+// break;
+// }
+// }
+// //
+// try
+// {
+// Class> startClass = Class.forName(className);
+// startClass.newInstance();
+// }
+// catch (Exception e)
+// {
+// System.err.println("ADempiere starting: " + className + " - " + e.toString());
+// e.printStackTrace();
+// }
+// } // main
} // Adempiere
diff --git a/base/src/org/compiere/util/Env.java b/base/src/org/compiere/util/Env.java
index 0c990f0e7d..076e681113 100644
--- a/base/src/org/compiere/util/Env.java
+++ b/base/src/org/compiere/util/Env.java
@@ -46,6 +46,8 @@ import javax.swing.JFrame;
import javax.swing.RepaintManager;
import javax.swing.SwingUtilities;
+import org.adempiere.base.IResourceFinder;
+import org.adempiere.base.Service;
import org.compiere.Adempiere;
import org.compiere.db.CConnection;
import org.compiere.model.MClient;
@@ -54,6 +56,10 @@ import org.compiere.model.MRole;
import org.compiere.model.MSession;
import org.compiere.model.PO;
import org.compiere.swing.CFrame;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+
+import com.sun.xml.internal.ws.util.ServiceFinder;
/**
@@ -1479,7 +1485,10 @@ public final class Env
*/
public static Image getImage (String fileNameInImageDir)
{
- URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
+ IResourceFinder rf = Service.locator().getResourceFinder();
+ URL url = rf.getResource("images/" + fileNameInImageDir);
+
+// URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
if (url == null)
{
s_log.log(Level.SEVERE, "Not found: " + fileNameInImageDir);
@@ -1497,7 +1506,9 @@ public final class Env
*/
public static ImageIcon getImageIcon (String fileNameInImageDir)
{
- URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
+ IResourceFinder rf = Service.locator().getResourceFinder();
+ URL url = rf.getResource("images/" + fileNameInImageDir);
+// URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
if (url == null)
{
s_log.log(Level.INFO, "Not found: " + fileNameInImageDir);
@@ -1517,9 +1528,12 @@ public final class Env
*/
public static ImageIcon getImageIcon2 (String fileName)
{
- URL url = Adempiere.class.getResource("images/" + fileName+".gif");
+ IResourceFinder rf = Service.locator().getResourceFinder();
+ URL url = rf.getResource("images/" + fileName+".gif");
+// URL url = Adempiere.class.getResource("images/" + fileName+".gif");
if (url == null)
- url = Adempiere.class.getResource("images/" + fileName+".png");
+ url = rf.getResource("images/" + fileName+".png");
+// url = Adempiere.class.getResource("images/" + fileName+".png");
if (url == null)
{
s_log.log(Level.INFO, "GIF/PNG Not found: " + fileName);
diff --git a/client/.classpath b/client/.classpath
index 6733c56d92..59f03ea131 100644
--- a/client/.classpath
+++ b/client/.classpath
@@ -1,12 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/client/.project b/client/.project
index f6ae8189d8..7d64912067 100644
--- a/client/.project
+++ b/client/.project
@@ -1,23 +1,34 @@
-
-
- client
-
-
- base
- dbPort
- extend
- looks
- print
- tools
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
+
+
+ client
+
+
+ base
+ dbPort
+ extend
+ looks
+ print
+ tools
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/client/META-INF/MANIFEST.MF b/client/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..ccec30c3b1
--- /dev/null
+++ b/client/META-INF/MANIFEST.MF
@@ -0,0 +1,202 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.adempiere.client
+Bundle-SymbolicName: org.adempiere.client;singleton:=true
+Bundle-Version: 0.0.0.2
+Bundle-ClassPath: client.jar,
+ lib/swingx-0.9.0.jar,
+ lib/groovy-all-1.5.1.jar,
+ lib/jcommon-1.0.14.jar,
+ lib/jfreechart-1.0.11.jar
+Export-Package: com.keypoint,
+ de.schaeffer.compiere.tools,
+ groovy.inspect,
+ groovy.inspect.swingui,
+ groovy.io,
+ groovy.lang,
+ groovy.mock,
+ groovy.mock.interceptor,
+ groovy.model,
+ groovy.security,
+ groovy.servlet,
+ groovy.sql,
+ groovy.swing,
+ groovy.swing.binding,
+ groovy.swing.factory,
+ groovy.swing.impl,
+ groovy.text,
+ groovy.time,
+ groovy.ui,
+ groovy.ui.icons,
+ groovy.ui.text,
+ groovy.ui.view,
+ groovy.util,
+ groovy.util.slurpersupport,
+ groovy.xml,
+ groovy.xml.dom,
+ groovy.xml.streamingmarkupsupport,
+ groovyjarjarantlr,
+ groovyjarjarantlr.ASdebug,
+ groovyjarjarantlr.actions.cpp,
+ groovyjarjarantlr.actions.csharp,
+ groovyjarjarantlr.actions.java,
+ groovyjarjarantlr.actions.python,
+ groovyjarjarantlr.build,
+ groovyjarjarantlr.collections,
+ groovyjarjarantlr.collections.impl,
+ groovyjarjarantlr.debug,
+ groovyjarjarantlr.debug.misc,
+ groovyjarjarantlr.preprocessor,
+ groovyjarjarasm.asm,
+ groovyjarjarasm.asm.signature,
+ groovyjarjarasm.asm.tree,
+ groovyjarjarcommonscli,
+ org.adempiere.apps.graph,
+ org.codehaus.groovy,
+ org.codehaus.groovy.ant,
+ org.codehaus.groovy.antlr,
+ org.codehaus.groovy.antlr.java,
+ org.codehaus.groovy.antlr.parser,
+ org.codehaus.groovy.antlr.treewalker,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.ast.expr,
+ org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.binding,
+ org.codehaus.groovy.bsf,
+ org.codehaus.groovy.classgen,
+ org.codehaus.groovy.control,
+ org.codehaus.groovy.control.io,
+ org.codehaus.groovy.control.messages,
+ org.codehaus.groovy.groovydoc,
+ org.codehaus.groovy.reflection,
+ org.codehaus.groovy.runtime,
+ org.codehaus.groovy.runtime.metaclass,
+ org.codehaus.groovy.runtime.typehandling,
+ org.codehaus.groovy.runtime.wrappers,
+ org.codehaus.groovy.syntax,
+ org.codehaus.groovy.tools,
+ org.codehaus.groovy.tools.groovydoc,
+ org.codehaus.groovy.tools.javac,
+ org.codehaus.groovy.tools.shell,
+ org.codehaus.groovy.tools.shell.commands,
+ org.codehaus.groovy.tools.shell.util,
+ org.codehaus.groovy.tools.xml,
+ org.codehaus.groovy.vmplugin,
+ org.codehaus.groovy.vmplugin.v4,
+ org.codehaus.groovy.vmplugin.v5,
+ org.compiere,
+ org.compiere.acct,
+ org.compiere.apps,
+ org.compiere.apps.form,
+ org.compiere.apps.search,
+ org.compiere.apps.wf,
+ org.compiere.grid,
+ org.compiere.grid.ed,
+ org.compiere.grid.tree,
+ org.compiere.images,
+ org.compiere.install,
+ org.compiere.minigrid,
+ org.compiere.pos,
+ org.compiere.print,
+ org.eevolution.form,
+ org.jdesktop.beans,
+ org.jdesktop.swingx,
+ org.jdesktop.swingx.action,
+ org.jdesktop.swingx.auth,
+ org.jdesktop.swingx.auth.resources,
+ org.jdesktop.swingx.autocomplete,
+ org.jdesktop.swingx.autocomplete.workarounds,
+ org.jdesktop.swingx.border,
+ org.jdesktop.swingx.calendar,
+ org.jdesktop.swingx.calendar.resources,
+ org.jdesktop.swingx.color,
+ org.jdesktop.swingx.combobox,
+ org.jdesktop.swingx.decorator,
+ org.jdesktop.swingx.editors,
+ org.jdesktop.swingx.error,
+ org.jdesktop.swingx.event,
+ org.jdesktop.swingx.geom,
+ org.jdesktop.swingx.graphics,
+ org.jdesktop.swingx.icon,
+ org.jdesktop.swingx.image,
+ org.jdesktop.swingx.multislider,
+ org.jdesktop.swingx.multisplitpane,
+ org.jdesktop.swingx.painter,
+ org.jdesktop.swingx.painter.effects,
+ org.jdesktop.swingx.plaf,
+ org.jdesktop.swingx.plaf.basic,
+ org.jdesktop.swingx.plaf.basic.resources,
+ org.jdesktop.swingx.plaf.linux,
+ org.jdesktop.swingx.plaf.macosx,
+ org.jdesktop.swingx.plaf.metal,
+ org.jdesktop.swingx.plaf.misc,
+ org.jdesktop.swingx.plaf.motif,
+ org.jdesktop.swingx.plaf.nimbus,
+ org.jdesktop.swingx.plaf.resources,
+ org.jdesktop.swingx.plaf.windows,
+ org.jdesktop.swingx.plaf.windows.resources,
+ org.jdesktop.swingx.renderer,
+ org.jdesktop.swingx.resources,
+ org.jdesktop.swingx.table,
+ org.jdesktop.swingx.table.resources,
+ org.jdesktop.swingx.tips,
+ org.jdesktop.swingx.tree,
+ org.jdesktop.swingx.treetable,
+ org.jdesktop.swingx.util,
+ org.jfree,
+ org.jfree.base,
+ org.jfree.base.config,
+ org.jfree.base.log,
+ org.jfree.base.modules,
+ org.jfree.chart,
+ org.jfree.chart.annotations,
+ org.jfree.chart.axis,
+ org.jfree.chart.block,
+ org.jfree.chart.demo,
+ org.jfree.chart.editor,
+ org.jfree.chart.encoders,
+ org.jfree.chart.entity,
+ org.jfree.chart.event,
+ org.jfree.chart.imagemap,
+ org.jfree.chart.labels,
+ org.jfree.chart.needle,
+ org.jfree.chart.plot,
+ org.jfree.chart.plot.dial,
+ org.jfree.chart.renderer,
+ org.jfree.chart.renderer.category,
+ org.jfree.chart.renderer.xy,
+ org.jfree.chart.resources,
+ org.jfree.chart.servlet,
+ org.jfree.chart.title,
+ org.jfree.chart.urls,
+ org.jfree.chart.util,
+ org.jfree.data,
+ org.jfree.data.category,
+ org.jfree.data.contour,
+ org.jfree.data.function,
+ org.jfree.data.gantt,
+ org.jfree.data.general,
+ org.jfree.data.io,
+ org.jfree.data.jdbc,
+ org.jfree.data.resources,
+ org.jfree.data.statistics,
+ org.jfree.data.time,
+ org.jfree.data.time.ohlc,
+ org.jfree.data.xml,
+ org.jfree.data.xy,
+ org.jfree.date,
+ org.jfree.io,
+ org.jfree.layout,
+ org.jfree.resources,
+ org.jfree.text,
+ org.jfree.threads,
+ org.jfree.ui,
+ org.jfree.ui.about,
+ org.jfree.ui.about.resources,
+ org.jfree.ui.action,
+ org.jfree.ui.tabbedui,
+ org.jfree.util
+Require-Bundle: org.adempiere.base;bundle-version="0.0.0",
+ org.eclipse.core.runtime;bundle-version="3.5.0",
+ org.adempiere.tools;bundle-version="0.0.0"
+Bundle-Activator: org.adempiere.client.Activator
diff --git a/client/build.properties b/client/build.properties
new file mode 100644
index 0000000000..865179574d
--- /dev/null
+++ b/client/build.properties
@@ -0,0 +1,8 @@
+source.client.jar = src/
+bin.includes = META-INF/,\
+ lib/swingx-0.9.0.jar,\
+ lib/groovy-all-1.5.1.jar,\
+ lib/jcommon-1.0.14.jar,\
+ lib/jfreechart-1.0.11.jar,\
+ client.jar,\
+ plugin.xml
diff --git a/client/plugin.xml b/client/plugin.xml
new file mode 100644
index 0000000000..41786b2054
--- /dev/null
+++ b/client/plugin.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/client/src/org/adempiere/client/Activator.java b/client/src/org/adempiere/client/Activator.java
new file mode 100644
index 0000000000..fb5fec09f0
--- /dev/null
+++ b/client/src/org/adempiere/client/Activator.java
@@ -0,0 +1,12 @@
+package org.adempiere.client;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+public class Activator extends Plugin {
+ @Override
+ public void start(BundleContext context) throws Exception {
+ System.out.println("Starting client");
+ org.compiere.AdempiereClient.main(new String[]{});
+ }
+}
diff --git a/client/src/org/compiere/AdempiereClient.java b/client/src/org/compiere/AdempiereClient.java
new file mode 100644
index 0000000000..7d4dd39e35
--- /dev/null
+++ b/client/src/org/compiere/AdempiereClient.java
@@ -0,0 +1,219 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * 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. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.compiere;
+
+import java.awt.Image;
+import java.awt.Toolkit;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Properties;
+import java.util.logging.Level;
+
+import javax.jnlp.BasicService;
+import javax.jnlp.ServiceManager;
+import javax.jnlp.UnavailableServiceException;
+import javax.swing.ImageIcon;
+
+import org.compiere.db.CConnection;
+import org.compiere.model.MClient;
+import org.compiere.model.MSystem;
+import org.compiere.model.ModelValidationEngine;
+import org.compiere.util.CLogFile;
+import org.compiere.util.CLogMgt;
+import org.compiere.util.CLogger;
+import org.compiere.util.DB;
+import org.compiere.util.Env;
+import org.compiere.util.Ini;
+import org.compiere.util.Login;
+import org.compiere.util.SecureEngine;
+import org.compiere.util.SecureInterface;
+import org.compiere.util.Splash;
+import org.compiere.util.Util;
+
+/**
+ * Adempiere Control Class
+ *
+ * @author Jorg Janke
+ * @version $Id: Adempiere.java,v 1.8 2006/08/11 02:58:14 jjanke Exp $
+ *
+ */
+public final class AdempiereClient
+{
+ /** Logging */
+ private static CLogger log = null;
+
+ /*************************************************************************
+ * Startup Client.
+ * - Print greeting,
+ * - Check Java version and
+ * - load ini parameters
+ * If it is a client, load/set PLAF and exit if error.
+ * If Client, you need to call startupEnvironment explicitly!
+ * For testing call method startupEnvironment
+ * @param isClient true for client
+ * @return successful startup
+ */
+ public static synchronized boolean startup (boolean isClient)
+ {
+ // Already started
+ if (log != null)
+ return true;
+
+ // Check Version
+ if (!Login.isJavaOK(isClient) && isClient)
+ System.exit(1);
+
+ CLogMgt.initialize(isClient);
+ Ini.setClient (isClient); // Ini requires Logging
+ // Init Log
+ log = CLogger.getCLogger(AdempiereClient.class);
+ // Greeting
+ log.info(Adempiere.getSummaryAscii());
+ // log.info(getAdempiereHome() + " - " + getJavaInfo() + " - " + getOSInfo());
+
+ // Load System environment
+ // EnvLoader.load(Ini.ENV_PREFIX);
+
+ // System properties
+ Ini.loadProperties (false);
+
+ // Set up Log
+ CLogMgt.setLevel(Ini.getProperty(Ini.P_TRACELEVEL));
+ if (isClient && Ini.isPropertyBool(Ini.P_TRACEFILE)
+ && CLogFile.get(false, null, isClient) == null)
+ CLogMgt.addHandler(CLogFile.get (true, Ini.findAdempiereHome(), isClient));
+
+ // Set UI
+ if (isClient)
+ {
+ if (CLogMgt.isLevelAll())
+ log.log(Level.FINEST, System.getProperties().toString());
+ }
+
+ // Set Default Database Connection from Ini
+ DB.setDBTarget(CConnection.get(Adempiere.getCodeBaseHost()));
+
+ if (isClient) // don't test connection
+ return false; // need to call
+
+ return startupEnvironment(isClient);
+ } // startup
+
+ /**
+ * Startup Adempiere Environment.
+ * Automatically called for Server connections
+ * For testing call this method.
+ * @param isClient true if client connection
+ * @return successful startup
+ */
+ public static boolean startupEnvironment (boolean isClient)
+ {
+ startup(isClient); // returns if already initiated
+ if (!DB.isConnected())
+ {
+ log.severe ("No Database");
+ return false;
+ }
+ MSystem system = MSystem.get(Env.getCtx()); // Initializes Base Context too
+ if (system == null)
+ return false;
+
+ // Initialize main cached Singletons
+ ModelValidationEngine.get();
+ try
+ {
+ String className = system.getEncryptionKey();
+ if (className == null || className.length() == 0)
+ {
+ className = System.getProperty(SecureInterface.ADEMPIERE_SECURE);
+ if (className != null && className.length() > 0
+ && !className.equals(SecureInterface.ADEMPIERE_SECURE_DEFAULT))
+ {
+ SecureEngine.init(className); // test it
+ system.setEncryptionKey(className);
+ system.save();
+ }
+ }
+ SecureEngine.init(className);
+
+ //
+ if (isClient)
+ MClient.get(Env.getCtx(),0); // Login Client loaded later
+ else
+ MClient.getAll(Env.getCtx());
+ }
+ catch (Exception e)
+ {
+ log.warning("Environment problems: " + e.toString());
+ }
+
+ // Start Workflow Document Manager (in other package) for PO
+ String className = null;
+ try
+ {
+ className = "org.compiere.wf.DocWorkflowManager";
+ Class.forName(className);
+ // Initialize Archive Engine
+ className = "org.compiere.print.ArchiveEngine";
+ Class.forName(className);
+ }
+ catch (Exception e)
+ {
+ log.warning("Not started: " + className + " - " + e.getMessage());
+ }
+
+ if (!isClient)
+ DB.updateMail();
+ return true;
+ } // startupEnvironment
+
+
+ /**
+ * Main Method
+ *
+ * @param args optional start class
+ */
+ public static void main (String[] args)
+ {
+ Splash.getSplash();
+ startup(true); // error exit and initUI
+
+ // Start with class as argument - or if nothing provided with Client
+ String className = "org.compiere.apps.AMenu";
+ for (int i = 0; i < args.length; i++)
+ {
+ if (!args[i].equals("-debug")) // ignore -debug
+ {
+ className = args[i];
+ break;
+ }
+ }
+ //
+ try
+ {
+ Class> startClass = Class.forName(className);
+ startClass.newInstance();
+ }
+ catch (Exception e)
+ {
+ System.err.println("ADempiere starting: " + className + " - " + e.toString());
+ e.printStackTrace();
+ }
+ } // main
+} // Adempiere
diff --git a/client/src/org/compiere/acct/AcctViewer.java b/client/src/org/compiere/acct/AcctViewer.java
index 2fe4c85488..2827738ae4 100644
--- a/client/src/org/compiere/acct/AcctViewer.java
+++ b/client/src/org/compiere/acct/AcctViewer.java
@@ -122,7 +122,7 @@ public class AcctViewer extends CFrame
/** State Info */
private AcctViewerData m_data = null;
/** Image Icon */
- private ImageIcon m_iFind = new ImageIcon(org.compiere.Adempiere.class.getResource("images/Find16.gif"));
+ private ImageIcon m_iFind = new ImageIcon(org.compiere.Adempiere.getResource("images/Find16.gif"));
/** Logger */
private static CLogger log = CLogger.getCLogger(AcctViewer.class);
@@ -210,7 +210,7 @@ public class AcctViewer extends CFrame
*/
private void jbInit() throws Exception
{
- ImageIcon ii = new ImageIcon(org.compiere.Adempiere.class.getResource("images/InfoAccount16.gif"));
+ ImageIcon ii = new ImageIcon(org.compiere.Adempiere.getResource("images/InfoAccount16.gif"));
setIconImage(ii.getImage());
//
mainLayout.setHgap(5);
diff --git a/client/src/org/compiere/apps/FieldRecordInfo.java b/client/src/org/compiere/apps/FieldRecordInfo.java
index 245fee94dc..2306cba212 100644
--- a/client/src/org/compiere/apps/FieldRecordInfo.java
+++ b/client/src/org/compiere/apps/FieldRecordInfo.java
@@ -63,7 +63,7 @@ public class FieldRecordInfo extends CDialog
public static final String CHANGE_LOG_COMMAND = "ChangeLog";
/** The Menu Icon */
- private static Icon s_icon = new ImageIcon(org.compiere.Adempiere.class.getResource("images/ChangeLog16.png"));
+ private static Icon s_icon = new ImageIcon(org.compiere.Adempiere.getResource("images/ChangeLog16.png"));
private int AD_Table_ID;
private int AD_Column_ID;
diff --git a/client/src/org/compiere/apps/search/Find.java b/client/src/org/compiere/apps/search/Find.java
index 25316aa2fc..e970c2b13a 100644
--- a/client/src/org/compiere/apps/search/Find.java
+++ b/client/src/org/compiere/apps/search/Find.java
@@ -310,22 +310,22 @@ public final class Find extends CDialog
spaceN = Box.createVerticalStrut(8);
spaceW = Box.createHorizontalStrut(8);
spaceS = Box.createVerticalStrut(8);
- bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Ignore24.gif")));
+ bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Ignore24.gif")));
bIgnore.setMargin(new Insets(2, 2, 2, 2));
bIgnore.setToolTipText(Msg.getMsg(Env.getCtx(),"Ignore"));
bIgnore.addActionListener(this);
fQueryName.setToolTipText (Msg.getMsg(Env.getCtx(),"QueryName"));
fQueryName.setEditable(true);
fQueryName.addActionListener(this);
- bSave.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Save24.gif")));
+ bSave.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Save24.gif")));
bSave.setMargin(new Insets(2, 2, 2, 2));
bSave.setToolTipText(Msg.getMsg(Env.getCtx(),"Save"));
bSave.addActionListener(this);
- bNew.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/New24.gif")));
+ bNew.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/New24.gif")));
bNew.setMargin(new Insets(2, 2, 2, 2));
bNew.setToolTipText(Msg.getMsg(Env.getCtx(),"New"));
bNew.addActionListener(this);
- bDelete.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Delete24.gif")));
+ bDelete.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Delete24.gif")));
bDelete.setMargin(new Insets(2, 2, 2, 2));
bDelete.setToolTipText(Msg.getMsg(Env.getCtx(),"Delete"));
bDelete.addActionListener(this);
diff --git a/client/src/org/compiere/apps/search/Info.java b/client/src/org/compiere/apps/search/Info.java
index 0f7ccd924a..2214543d83 100644
--- a/client/src/org/compiere/apps/search/Info.java
+++ b/client/src/org/compiere/apps/search/Info.java
@@ -402,7 +402,7 @@ public abstract class Info extends CDialog
//
popup.add(calcMenu);
calcMenu.setText(Msg.getMsg(Env.getCtx(), "Calculator"));
- calcMenu.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Calculator16.gif")));
+ calcMenu.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Calculator16.gif")));
calcMenu.addActionListener(this);
//
p_table.getSelectionModel().addListSelectionListener(this);
diff --git a/client/src/org/compiere/grid/ed/VAccountDialog.java b/client/src/org/compiere/grid/ed/VAccountDialog.java
index 5fd659f660..b78ab99c0a 100644
--- a/client/src/org/compiere/grid/ed/VAccountDialog.java
+++ b/client/src/org/compiere/grid/ed/VAccountDialog.java
@@ -226,15 +226,15 @@ public final class VAccountDialog extends CDialog
toolBar.setRequestFocusEnabled(false);
toolBar.setBorderPainted(false);
toolBar.setMargin(new Insets(5, 5, 5, 5));
- bSave.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Save24.gif")));
+ bSave.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Save24.gif")));
bSave.setMargin(new Insets(2, 2, 2, 2));
bSave.setToolTipText(Msg.getMsg(Env.getCtx(),"AccountNewUpdate"));
bSave.addActionListener(this);
- bRefresh.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Refresh24.gif")));
+ bRefresh.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Refresh24.gif")));
bRefresh.setMargin(new Insets(2, 2, 2, 2));
bRefresh.setToolTipText(Msg.getMsg(Env.getCtx(),"Refresh"));
bRefresh.addActionListener(this);
- bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Ignore24.gif")));
+ bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Ignore24.gif")));
bIgnore.setMargin(new Insets(2, 2, 2, 2));
bIgnore.setToolTipText(Msg.getMsg(Env.getCtx(),"Ignore"));
bIgnore.addActionListener(this);
diff --git a/client/src/org/compiere/grid/ed/VLocator.java b/client/src/org/compiere/grid/ed/VLocator.java
index 71f0edcd6c..0e76487133 100644
--- a/client/src/org/compiere/grid/ed/VLocator.java
+++ b/client/src/org/compiere/grid/ed/VLocator.java
@@ -144,7 +144,7 @@ public class VLocator extends JComponent
m_text.addActionListener(this);
this.add(m_text, BorderLayout.CENTER);
- m_button.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Locator10.gif")));
+ m_button.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Locator10.gif")));
m_button.setMargin(new Insets(0, 0, 0, 0));
m_button.setPreferredSize(new Dimension(height, height));
m_button.addActionListener(this);
diff --git a/client/src/org/compiere/grid/ed/ValuePreference.java b/client/src/org/compiere/grid/ed/ValuePreference.java
index f69a770266..9887f07c35 100644
--- a/client/src/org/compiere/grid/ed/ValuePreference.java
+++ b/client/src/org/compiere/grid/ed/ValuePreference.java
@@ -162,7 +162,7 @@ public class ValuePreference extends CDialog
/** The Name of the Editor */
public static final String NAME = "ValuePreference";
/** The Menu Icon */
- private static Icon s_icon = new ImageIcon(org.compiere.Adempiere.class.getResource("images/VPreference16.gif"));
+ private static Icon s_icon = new ImageIcon(org.compiere.AdempiereClient.class.getResource("images/VPreference16.gif"));
/** Logger */
private static CLogger log = CLogger.getCLogger(ValuePreference.class);
diff --git a/client/src/org/compiere/util/ResourceFinder.java b/client/src/org/compiere/util/ResourceFinder.java
new file mode 100644
index 0000000000..2a613bf290
--- /dev/null
+++ b/client/src/org/compiere/util/ResourceFinder.java
@@ -0,0 +1,18 @@
+package org.compiere.util;
+
+import java.net.URL;
+
+import org.adempiere.base.IResourceFinder;
+import org.compiere.AdempiereClient;
+
+public class ResourceFinder implements IResourceFinder {
+
+ public ResourceFinder() {
+ }
+
+ public URL getResource(String name) {
+ URL resource = AdempiereClient.class.getResource(name);
+ return resource;
+ }
+
+}
diff --git a/base/src/org/compiere/util/Splash.java b/client/src/org/compiere/util/Splash.java
similarity index 93%
rename from base/src/org/compiere/util/Splash.java
rename to client/src/org/compiere/util/Splash.java
index d7d19c57e1..fc3a358c5c 100644
--- a/base/src/org/compiere/util/Splash.java
+++ b/client/src/org/compiere/util/Splash.java
@@ -36,6 +36,7 @@ import java.net.URL;
import java.util.Locale;
import org.compiere.Adempiere;
+import org.compiere.AdempiereClient;
/**
* Splash Screen.
@@ -94,6 +95,7 @@ public class Splash extends Frame
public Splash (String text)
{
super("Adempiere");
+ System.out.println(text);
message.setText(text);
try
{
@@ -268,9 +270,9 @@ public class Splash extends Frame
public AImage()
{
super();
- URL url = org.compiere.Adempiere.class.getResource("images/Java_anim.gif");
+ URL url = org.compiere.AdempiereClient.class.getResource("images/Java_anim.gif");
if (url == null)
- url = org.compiere.Adempiere.class.getResource("images/Java_logo.gif");
+ url = org.compiere.AdempiereClient.class.getResource("images/Java_logo.gif");
if (url != null)
{
m_image = Toolkit.getDefaultToolkit().getImage(url);
diff --git a/tools/.classpath b/tools/.classpath
index 02b53b801f..d1215fb9a1 100644
--- a/tools/.classpath
+++ b/tools/.classpath
@@ -25,5 +25,9 @@
+
+
+
+
diff --git a/tools/.project b/tools/.project
index 0f9d568aea..74a97a1d35 100644
--- a/tools/.project
+++ b/tools/.project
@@ -1,22 +1,33 @@
-
-
- tools
- Tools Project
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.ibm.etools.validation.validationbuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
+
+
+ tools
+ Tools Project
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.ibm.etools.validation.validationbuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/tools/META-INF/MANIFEST.MF b/tools/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..4443061b7d
--- /dev/null
+++ b/tools/META-INF/MANIFEST.MF
@@ -0,0 +1,1293 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.adempiere.tools
+Bundle-SymbolicName: org.adempiere.tools
+Bundle-Version: 0.0.0.1
+Bundle-ClassPath: tools.jar,
+ lib/jstl.jar,
+ lib/Verisign.jar,
+ lib/standard.jar,
+ lib/barbecue-1.5-beta1.jar,
+ lib/poi-3.0.1-FINAL-20070705.jar,
+ lib/jnlp.jar,
+ lib/iText-2.1.7.jar,
+ lib/swingx-0.9.0.jar,
+ lib/miglayout-3.7.1-swing.jar,
+ lib/log4j.jar,
+ lib/activation.jar,
+ lib/mail.jar,
+ lib/jpayment.jar,
+ lib/bsh-2.0b5.jar,
+ lib/script-api.jar,
+ lib/bsh-engine.jar,
+ lib/groovy-all-1.5.1.jar,
+ lib/groovy-engine.jar,
+ lib/jython.jar,
+ lib/jython-engine.jar,
+ lib/jcommon-1.0.14.jar,
+ lib/jfreechart-1.0.11.jar,
+ lib/javaee.jar,
+ lib/c3p0-0.9.1.2.jar,
+ lib/activemq-core-5.0.0.jar,
+ lib/ant-commons-net.jar,
+ lib/ant-contrib-1.0b1.jar,
+ lib/ant-launcher.jar,
+ lib/ant.jar,
+ lib/c3p0-oracle-thin-extras-0.9.1.2.jar,
+ lib/cglib.jar,
+ lib/commons-codec.jar,
+ lib/commons-collections-3.1.jar,
+ lib/commons-logging.jar,
+ lib/commons-net-1.4.0.jar,
+ lib/jgraph.jar,
+ lib/jpedal.jar,
+ lib/jsp-api.jar,
+ lib/junit.jar,
+ lib/logkit.jar,
+ lib/looks-2.0.4.jar,
+ lib/ocrs12.jar,
+ lib/ojdbc14.jar,
+ lib/postgresql.jar,
+ lib/servlet-api.jar,
+ lib/wizard.jar,
+ lib/xercesImpl.jar,
+ lib/xjavadoc-1.1.jar,
+ lib/xml-apis.jar
+Export-Package: Lib,
+ Lib.email,
+ Lib.encodings,
+ Lib.pawt,
+ Lib.xml,
+ Lib.xml.dom,
+ Lib.xml.sax,
+ Lib.xml.sax.drivers2,
+ bsh;uses:="bsh.org.objectweb.asm",
+ bsh.classpath;uses:="bsh",
+ bsh.collection;uses:="bsh",
+ bsh.commands;uses:="bsh",
+ bsh.engine;uses:="javax.script,bsh",
+ bsh.org.objectweb.asm,
+ bsh.reflect;uses:="bsh",
+ bsh.servlet;uses:="javax.servlet.http",
+ bsh.util;
+ uses:="bsh.classpath,
+ javax.swing.text,
+ javax.swing.tree,
+ javax.swing.event,
+ bsh,
+ org.apache.bsf.util,
+ org.apache.bsf,
+ javax.swing",
+ bsh.util.lib,
+ com.Verisign.payment;uses:="javax.security.cert,javax.net.ssl",
+ com.keypoint,
+ com.lowagie.text;uses:="com.lowagie.text.pdf.draw,com.lowagie.text.pdf",
+ com.lowagie.text.exceptions,
+ com.lowagie.text.factories;uses:="com.lowagie.text",
+ com.lowagie.text.html;
+ uses:="com.lowagie.text.xml,
+ org.xml.sax,
+ com.lowagie.text.pdf,
+ com.lowagie.text",
+ com.lowagie.text.html.simpleparser;uses:="com.lowagie.text.pdf,com.lowagie.text.xml.simpleparser,com.lowagie.text",
+ com.lowagie.text.pdf;
+ uses:="new com.lowagie.text.pdf,
+ org.bouncycastle.ocsp,
+ com.lowagie.text.pdf.interfaces,
+ org.bouncycastle.asn1,
+ com.lowagie.text,
+ com.lowagie.text.pdf.collection,
+ com.lowagie.text.pdf.crypto,
+ org.w3c.dom,
+ com.lowagie.text.pdf.hyphenation,
+ org.bouncycastle.tsp,
+ com.lowagie.text.pdf.internal,
+ com.lowagie.text.xml.simpleparser",
+ com.lowagie.text.pdf.codec;uses:="com.lowagie.text.pdf,com.lowagie.text",
+ com.lowagie.text.pdf.codec.wmf;uses:="com.lowagie.text.pdf,com.lowagie.text",
+ com.lowagie.text.pdf.collection;uses:="com.lowagie.text.pdf",
+ com.lowagie.text.pdf.crypto,
+ com.lowagie.text.pdf.draw;uses:="com.lowagie.text.pdf,com.lowagie.text",
+ com.lowagie.text.pdf.events;uses:="com.lowagie.text.pdf,com.lowagie.text",
+ com.lowagie.text.pdf.fonts,
+ com.lowagie.text.pdf.fonts.cmaps,
+ com.lowagie.text.pdf.hyphenation;uses:="com.lowagie.text.xml.simpleparser",
+ com.lowagie.text.pdf.interfaces;uses:="com.lowagie.text.pdf",
+ com.lowagie.text.pdf.internal;uses:="com.lowagie.text.pdf.interfaces,com.lowagie.text.pdf,com.lowagie.text",
+ com.lowagie.text.pdf.parser;uses:="com.lowagie.text.pdf",
+ com.lowagie.text.xml;
+ uses:="org.xml.sax,
+ javax.xml.parsers,
+ org.xml.sax.helpers,
+ org.w3c.dom,
+ com.lowagie.text.pdf,
+ com.lowagie.text.html,
+ com.lowagie.text",
+ com.lowagie.text.xml.simpleparser;uses:="com.lowagie.text",
+ com.lowagie.text.xml.xmp;uses:="org.w3c.dom,com.lowagie.text.pdf",
+ com.lowagie.tools,
+ com.mchange,
+ com.mchange.lang,
+ com.mchange.util,
+ com.mchange.v1,
+ com.mchange.v1.db,
+ com.mchange.v1.db.sql,
+ com.mchange.v1.identicator,
+ com.mchange.v1.io,
+ com.mchange.v1.lang,
+ com.mchange.v1.util,
+ com.mchange.v1.xml,
+ com.mchange.v2,
+ com.mchange.v2.async,
+ com.mchange.v2.beans,
+ com.mchange.v2.c3p0,
+ com.mchange.v2.c3p0.cfg,
+ com.mchange.v2.c3p0.filter,
+ com.mchange.v2.c3p0.impl,
+ com.mchange.v2.c3p0.jboss,
+ com.mchange.v2.c3p0.management,
+ com.mchange.v2.c3p0.mbean,
+ com.mchange.v2.c3p0.stmt,
+ com.mchange.v2.c3p0.subst,
+ com.mchange.v2.c3p0.util,
+ com.mchange.v2.cfg,
+ com.mchange.v2.coalesce,
+ com.mchange.v2.codegen,
+ com.mchange.v2.codegen.bean,
+ com.mchange.v2.codegen.intfc,
+ com.mchange.v2.debug,
+ com.mchange.v2.encounter,
+ com.mchange.v2.holders,
+ com.mchange.v2.io,
+ com.mchange.v2.lang,
+ com.mchange.v2.log,
+ com.mchange.v2.log.jdk14logging,
+ com.mchange.v2.log.log4j,
+ com.mchange.v2.management,
+ com.mchange.v2.naming,
+ com.mchange.v2.resourcepool,
+ com.mchange.v2.ser,
+ com.mchange.v2.sql,
+ com.mchange.v2.sql.filter,
+ com.mchange.v2.util,
+ com.sfcommerce.jpaymentcomponent.beans;uses:="com.sfcommerce.jpaymentcomponent.ssl",
+ com.sfcommerce.jpaymentcomponent.definitions,
+ com.sfcommerce.jpaymentcomponent.exceptions,
+ com.sfcommerce.jpaymentcomponent.messages,
+ com.sfcommerce.jpaymentcomponent.ssl;
+ uses:="com.sun.net.ssl,
+ javax.security.cert,
+ com.sfcommerce.jpaymentcomponent.messages,
+ javax.net,
+ com.sfcommerce.jpaymentcomponent.definitions,
+ javax.net.ssl",
+ com.sfcommerce.jpaymentcomponent.utilities;uses:="javax.servlet.http,com.sfcommerce.jpaymentcomponent.messages",
+ com.sun.activation.registries,
+ com.sun.activation.viewers;uses:="javax.activation",
+ com.sun.mail.handlers;uses:="javax.activation",
+ com.sun.mail.iap,
+ com.sun.mail.imap;
+ uses:="javax.mail.search,
+ javax.mail.internet,
+ javax.activation,
+ com.sun.mail.imap.protocol,
+ javax.mail,
+ com.sun.mail.iap",
+ com.sun.mail.imap.protocol;
+ uses:="javax.mail.search,
+ javax.mail.internet,
+ com.sun.mail.imap,
+ javax.mail,
+ com.sun.mail.iap,
+ javax.security.auth.callback",
+ com.sun.mail.pop3;uses:="javax.mail.internet,javax.mail",
+ com.sun.mail.smtp;uses:="javax.mail.internet,javax.mail,com.sun.mail.util",
+ com.sun.mail.util,
+ com.sun.script.groovy;uses:="javax.script,groovy.lang",
+ com.sun.script.jython;uses:="javax.script,org.python.core",
+ com.ziclix.python.sql;uses:="org.python.core",
+ com.ziclix.python.sql.connect;uses:="org.python.core",
+ com.ziclix.python.sql.handler;uses:="org.python.core,com.ziclix.python.sql",
+ com.ziclix.python.sql.pipe;uses:="org.python.core,com.ziclix.python.sql.util",
+ com.ziclix.python.sql.pipe.csv;uses:="org.python.core,com.ziclix.python.sql.pipe",
+ com.ziclix.python.sql.pipe.db;uses:="org.python.core,com.ziclix.python.sql,com.ziclix.python.sql.pipe",
+ com.ziclix.python.sql.procedure;uses:="org.python.core,com.ziclix.python.sql",
+ com.ziclix.python.sql.resource,
+ com.ziclix.python.sql.util;uses:="org.python.core,com.ziclix.python.sql",
+ groovy.inspect;uses:="groovy.lang",
+ groovy.inspect.swingui;
+ uses:="javax.swing.event,
+ javax.swing.table,
+ org.codehaus.groovy.runtime,
+ groovy.lang,
+ javax.swing",
+ groovy.io,
+ groovy.lang;
+ uses:="groovy.util,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.control,
+ groovyjarjarasm.asm,
+ org.codehaus.groovy.runtime.metaclass,
+ org.codehaus.groovy.reflection,
+ junit.framework,
+ new groovy.lang",
+ groovy.mock;uses:="com.mockobjects,groovy.lang,com.mockobjects.constraint",
+ groovy.mock.interceptor;uses:="groovy.lang",
+ groovy.model;uses:="javax.swing.table,groovy.lang",
+ groovy.security,
+ groovy.servlet;
+ uses:="groovy.util,
+ javax.servlet.http,
+ javax.servlet,
+ groovy.lang,
+ groovy.text,
+ javax.servlet.jsp",
+ groovy.sql;
+ uses:="org.codehaus.groovy.ast,
+ javax.sql,
+ org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.syntax,
+ org.codehaus.groovy.ast.expr,
+ groovy.lang",
+ groovy.swing;
+ uses:="groovy.util,
+ org.codehaus.groovy.runtime,
+ groovy.lang,
+ javax.swing",
+ groovy.swing.binding;
+ uses:="javax.swing.event,
+ javax.swing.text,
+ org.codehaus.groovy.binding,
+ javax.swing",
+ groovy.swing.factory;uses:="groovy.util,org.codehaus.groovy.runtime,groovy.lang",
+ groovy.swing.impl;uses:="groovy.lang,javax.swing",
+ groovy.text;uses:="groovy.util,groovy.lang",
+ groovy.time,
+ groovy.ui;
+ uses:="javax.swing.text,
+ javax.swing.event,
+ groovy.swing,
+ org.codehaus.groovy.runtime,
+ groovy.lang,
+ groovy.ui.text,
+ javax.swing",
+ groovy.ui.icons,
+ groovy.ui.text;
+ uses:="javax.swing.undo,
+ javax.swing.text,
+ org.xml.sax,
+ javax.swing.event,
+ org.xml.sax.helpers,
+ javax.swing",
+ groovy.ui.view;uses:="javax.swing.text,org.codehaus.groovy.runtime,groovy.lang",
+ groovy.util;
+ uses:="org.xml.sax,
+ org.apache.tools.ant,
+ javax.management,
+ new groovy.util,
+ org.xml.sax.helpers,
+ groovy.util.slurpersupport,
+ javax.xml.parsers,
+ org.codehaus.groovy.runtime,
+ groovy.xml,
+ groovy.lang,
+ junit.framework,
+ org.apache.commons.cli",
+ groovy.util.slurpersupport;uses:="groovy.lang",
+ groovy.xml;
+ uses:="groovy.util,
+ org.xml.sax,
+ javax.xml.parsers,
+ org.codehaus.groovy.runtime,
+ groovy.xml.streamingmarkupsupport,
+ org.w3c.dom,
+ groovy.lang",
+ groovy.xml.dom;uses:="org.w3c.dom",
+ groovy.xml.streamingmarkupsupport;uses:="org.codehaus.groovy.runtime,groovy.lang",
+ groovyjarjarantlr;
+ uses:="groovyjarjarantlr.debug,
+ groovyjarjarantlr.collections.impl,
+ groovyjarjarantlr.collections,
+ groovyjarjarantlr.ASdebug",
+ groovyjarjarantlr.ASdebug;uses:="groovyjarjarantlr",
+ groovyjarjarantlr.actions.cpp;uses:="groovyjarjarantlr,groovyjarjarantlr.collections.impl",
+ groovyjarjarantlr.actions.csharp;uses:="groovyjarjarantlr,groovyjarjarantlr.collections.impl",
+ groovyjarjarantlr.actions.java;uses:="groovyjarjarantlr,groovyjarjarantlr.collections.impl",
+ groovyjarjarantlr.actions.python;uses:="groovyjarjarantlr,groovyjarjarantlr.collections.impl",
+ groovyjarjarantlr.build,
+ groovyjarjarantlr.collections;uses:="groovyjarjarantlr",
+ groovyjarjarantlr.collections.impl;uses:="groovyjarjarantlr,groovyjarjarantlr.collections",
+ groovyjarjarantlr.debug;uses:="groovyjarjarantlr,groovyjarjarantlr.collections.impl",
+ groovyjarjarantlr.debug.misc;
+ uses:="javax.swing.event,
+ javax.swing.tree,
+ groovyjarjarantlr.collections,
+ javax.swing",
+ groovyjarjarantlr.preprocessor;uses:="groovyjarjarantlr,groovyjarjarantlr.collections.impl",
+ groovyjarjarasm.asm,
+ groovyjarjarasm.asm.signature,
+ groovyjarjarasm.asm.tree;uses:="groovyjarjarasm.asm",
+ groovyjarjarcommonscli,
+ javatests,
+ javax.activation,
+ javax.annotation,
+ javax.annotation.security,
+ javax.ejb;uses:="javax.xml.rpc.handler,javax.transaction",
+ javax.ejb.spi;uses:="javax.ejb",
+ javax.el,
+ javax.enterprise.deploy.model;uses:="javax.enterprise.deploy.shared",
+ javax.enterprise.deploy.model.exceptions,
+ javax.enterprise.deploy.shared,
+ javax.enterprise.deploy.shared.factories;uses:="javax.enterprise.deploy.spi,javax.enterprise.deploy.spi.factories",
+ javax.enterprise.deploy.spi;uses:="javax.enterprise.deploy.shared,javax.enterprise.deploy.model,javax.enterprise.deploy.spi.status",
+ javax.enterprise.deploy.spi.exceptions,
+ javax.enterprise.deploy.spi.factories;uses:="javax.enterprise.deploy.spi",
+ javax.enterprise.deploy.spi.status;uses:="javax.enterprise.deploy.spi,javax.enterprise.deploy.shared",
+ javax.faces,
+ javax.faces.application;
+ uses:="javax.faces,
+ javax.faces.context,
+ javax.faces.convert,
+ javax.faces.el,
+ javax.faces.event,
+ javax.faces.component,
+ javax.faces.validator,
+ javax.el,
+ new javax.faces.application",
+ javax.faces.component;
+ uses:="javax.faces.render,
+ javax.faces.context,
+ javax.faces.convert,
+ javax.faces.el,
+ javax.faces.event,
+ javax.faces.application,
+ javax.faces.validator,
+ javax.faces.model,
+ javax.el",
+ javax.faces.component.html;uses:="javax.faces.component,javax.faces.context",
+ javax.faces.context;
+ uses:="javax.faces.lifecycle,
+ javax.faces.render,
+ javax.faces.component,
+ javax.faces.application,
+ javax.el",
+ javax.faces.convert;
+ uses:="javax.faces,
+ javax.faces.component,
+ javax.faces.context,
+ javax.faces.application",
+ javax.faces.el;uses:="javax.faces,javax.faces.context",
+ javax.faces.event;
+ uses:="javax.faces.lifecycle,
+ javax.faces.component,
+ javax.faces,
+ javax.faces.context,
+ javax.el",
+ javax.faces.lifecycle;uses:="javax.faces.event,javax.faces.context",
+ javax.faces.model;uses:="javax.servlet.jsp.jstl.sql",
+ javax.faces.render;uses:="javax.faces.component,javax.faces.context,javax.faces.application",
+ javax.faces.validator;
+ uses:="javax.faces,
+ javax.faces.component,
+ javax.faces.context,
+ javax.faces.application,
+ javax.el",
+ javax.faces.webapp;
+ uses:="javax.servlet.jsp.tagext,
+ javax.faces.context,
+ javax.faces.convert,
+ javax.servlet.jsp,
+ javax.servlet,
+ javax.faces.component,
+ javax.faces.application,
+ javax.faces.validator,
+ javax.el",
+ javax.interceptor,
+ javax.jms;uses:="javax.transaction.xa",
+ javax.jnlp,
+ javax.jws,
+ javax.jws.soap,
+ javax.mail;uses:="javax.mail.search,javax.mail.event,javax.activation",
+ javax.mail.event;uses:="javax.mail",
+ javax.mail.internet;uses:="javax.activation,javax.mail",
+ javax.mail.search;uses:="javax.mail",
+ javax.mail.util;uses:="javax.mail.internet,javax.activation",
+ javax.management.j2ee;uses:="javax.ejb,javax.management",
+ javax.management.j2ee.statistics,
+ javax.persistence,
+ javax.persistence.spi;uses:="javax.persistence,javax.sql",
+ javax.resource;uses:="javax.naming",
+ javax.resource.cci;uses:="javax.resource",
+ javax.resource.spi;
+ uses:="javax.resource.spi.endpoint,
+ javax.resource.spi.work,
+ javax.resource,
+ javax.transaction.xa,
+ javax.security.auth",
+ javax.resource.spi.endpoint;uses:="javax.transaction.xa",
+ javax.resource.spi.security;uses:="javax.resource.spi",
+ javax.resource.spi.work;uses:="javax.resource,javax.transaction.xa",
+ javax.script,
+ javax.security.jacc;uses:="javax.servlet.http",
+ javax.servlet,
+ javax.servlet.http;uses:="javax.servlet",
+ javax.servlet.jsp;
+ uses:="javax.servlet.http,
+ javax.servlet,
+ javax.servlet.jsp.tagext,
+ javax.servlet.jsp.el,
+ javax.el",
+ javax.servlet.jsp.el;
+ uses:="javax.servlet.http,
+ javax.servlet,
+ javax.servlet.jsp,
+ javax.el",
+ javax.servlet.jsp.jstl.core;
+ uses:="javax.servlet.http,
+ javax.servlet,
+ javax.servlet.jsp.tagext,
+ javax.servlet.jsp,
+ javax.el",
+ javax.servlet.jsp.jstl.fmt;uses:="javax.servlet.jsp",
+ javax.servlet.jsp.jstl.sql,
+ javax.servlet.jsp.jstl.tlv;uses:="javax.servlet.jsp.tagext",
+ javax.servlet.jsp.tagext;uses:="javax.servlet.jsp",
+ javax.transaction;uses:="javax.transaction.xa",
+ javax.transaction.xa,
+ javax.xml.bind;
+ uses:="javax.xml.bind.attachment,
+ org.xml.sax,
+ javax.xml.namespace,
+ javax.xml.bind.annotation.adapters,
+ org.w3c.dom,
+ javax.xml.transform,
+ javax.xml.validation,
+ javax.xml.stream",
+ javax.xml.bind.annotation;
+ uses:="javax.xml.transform.dom,
+ javax.xml.parsers,
+ org.w3c.dom,
+ javax.xml.bind,
+ javax.xml.transform",
+ javax.xml.bind.annotation.adapters,
+ javax.xml.bind.attachment;uses:="javax.activation",
+ javax.xml.bind.helpers;
+ uses:="javax.xml.bind.attachment,
+ org.xml.sax,
+ javax.xml.validation,
+ javax.xml.bind.annotation.adapters,
+ org.w3c.dom,
+ javax.xml.bind,
+ javax.xml.transform,
+ javax.xml.stream",
+ javax.xml.bind.util;uses:="javax.xml.transform.sax,org.xml.sax,javax.xml.bind",
+ javax.xml.registry;uses:="javax.activation,javax.xml.registry.infomodel",
+ javax.xml.registry.infomodel;uses:="javax.activation,javax.xml.registry",
+ javax.xml.registry.samples;uses:="javax.xml.registry",
+ javax.xml.rpc;uses:="javax.xml.rpc.handler,javax.xml.rpc.encoding,javax.xml.namespace",
+ javax.xml.rpc.encoding;uses:="javax.xml.namespace",
+ javax.xml.rpc.handler;uses:="javax.xml.namespace",
+ javax.xml.rpc.handler.soap;uses:="javax.xml.soap,javax.xml.rpc.handler",
+ javax.xml.rpc.holders;uses:="javax.xml.namespace",
+ javax.xml.rpc.server;uses:="javax.servlet.http,javax.servlet,javax.xml.rpc.handler",
+ javax.xml.rpc.soap;uses:="javax.xml.soap,javax.xml.namespace",
+ javax.xml.soap;
+ uses:="javax.xml.transform.dom,
+ javax.xml.namespace,
+ javax.activation,
+ org.w3c.dom,
+ javax.xml.transform",
+ javax.xml.stream;
+ uses:="javax.xml.stream.events,
+ javax.xml.namespace,
+ javax.xml.transform,
+ javax.xml.stream.util",
+ javax.xml.stream.events;uses:="javax.xml.namespace,javax.xml.stream",
+ javax.xml.stream.util;uses:="javax.xml.stream.events,javax.xml.namespace,javax.xml.stream",
+ javax.xml.ws;
+ uses:="javax.xml.ws.handler,
+ javax.xml.namespace,
+ org.w3c.dom,
+ javax.xml.bind,
+ javax.xml.transform",
+ javax.xml.ws.handler;uses:="javax.xml.namespace,javax.xml.ws",
+ javax.xml.ws.handler.soap;
+ uses:="javax.xml.ws.handler,
+ javax.xml.soap,
+ javax.xml.namespace,
+ javax.xml.bind",
+ javax.xml.ws.http;uses:="javax.xml.ws",
+ javax.xml.ws.soap;uses:="javax.xml.soap,javax.xml.ws",
+ javax.xml.ws.spi;
+ uses:="javax.xml.ws.handler,
+ javax.xml.namespace,
+ javax.xml.ws.wsaddressing,
+ javax.xml.bind,
+ javax.xml.ws,
+ javax.xml.transform",
+ javax.xml.ws.wsaddressing;
+ uses:="javax.xml.namespace,
+ org.w3c.dom,
+ javax.xml.ws,
+ javax.xml.transform",
+ jxxload_help;uses:="org.python.core",
+ net.miginfocom.layout,
+ net.miginfocom.swing;uses:="net.miginfocom.layout",
+ net.sourceforge.barbecue;
+ uses:="javax.servlet.http,
+ javax.portlet,
+ javax.swing,
+ net.sourceforge.barbecue.output",
+ net.sourceforge.barbecue.env,
+ net.sourceforge.barbecue.formatter;uses:="net.sourceforge.barbecue",
+ net.sourceforge.barbecue.linear;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.output",
+ net.sourceforge.barbecue.linear.codabar;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.linear",
+ net.sourceforge.barbecue.linear.code128;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.linear",
+ net.sourceforge.barbecue.linear.code39;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.linear",
+ net.sourceforge.barbecue.linear.ean;
+ uses:="net.sourceforge.barbecue.linear.code128,
+ net.sourceforge.barbecue,
+ net.sourceforge.barbecue.linear.upc,
+ net.sourceforge.barbecue.output",
+ net.sourceforge.barbecue.linear.postnet;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.output,net.sourceforge.barbecue.linear",
+ net.sourceforge.barbecue.linear.twoOfFive;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.linear",
+ net.sourceforge.barbecue.linear.upc;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.output,net.sourceforge.barbecue.linear",
+ net.sourceforge.barbecue.output;uses:="org.jdom",
+ net.sourceforge.barbecue.twod.pdf417;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.output,net.sourceforge.barbecue.linear",
+ oracle.core.lmx,
+ oracle.core.lvf,
+ oracle.jdbc,
+ oracle.jdbc.aq,
+ oracle.jdbc.connector,
+ oracle.jdbc.dcn,
+ oracle.jdbc.driver,
+ oracle.jdbc.internal,
+ oracle.jdbc.oci,
+ oracle.jdbc.oracore,
+ oracle.jdbc.pool,
+ oracle.jdbc.rowset,
+ oracle.jdbc.util,
+ oracle.jdbc.xa,
+ oracle.jdbc.xa.client,
+ oracle.jpub.runtime,
+ oracle.net.TNSAddress,
+ oracle.net.ano,
+ oracle.net.aso,
+ oracle.net.jndi,
+ oracle.net.nl,
+ oracle.net.nl.mesg,
+ oracle.net.ns,
+ oracle.net.nt,
+ oracle.net.resolver,
+ oracle.security.o3logon,
+ oracle.security.o5logon,
+ oracle.sql,
+ oracle.sql.converter,
+ org.apache.ecs;uses:="org.apache.ecs.xhtml",
+ org.apache.ecs.filter;uses:="org.apache.ecs",
+ org.apache.ecs.storage,
+ org.apache.ecs.xhtml;uses:="org.apache.ecs",
+ org.apache.ecs.xml;uses:="org.apache.ecs",
+ org.apache.log4j;uses:="org.apache.log4j.or,org.apache.log4j.spi,org.apache.log4j.helpers",
+ org.apache.log4j.chainsaw;
+ uses:="javax.swing.event,
+ org.apache.log4j,
+ org.xml.sax,
+ org.apache.log4j.spi,
+ org.xml.sax.helpers,
+ javax.swing.table,
+ javax.swing",
+ org.apache.log4j.config;uses:="org.apache.log4j",
+ org.apache.log4j.helpers;uses:="org.apache.log4j,org.apache.log4j.spi",
+ org.apache.log4j.jdbc;uses:="org.apache.log4j,org.apache.log4j.spi",
+ org.apache.log4j.lf5;uses:="org.apache.log4j,org.apache.log4j.lf5.viewer,org.apache.log4j.spi",
+ org.apache.log4j.lf5.config,
+ org.apache.log4j.lf5.util;uses:="org.apache.log4j.lf5.viewer,org.apache.log4j.lf5",
+ org.apache.log4j.lf5.viewer;
+ uses:="javax.swing.table,
+ org.apache.log4j.lf5.viewer.categoryexplorer,
+ org.apache.log4j.lf5,
+ javax.swing.event,
+ org.apache.log4j.lf5.viewer.configure,
+ org.apache.log4j.lf5.util,
+ javax.swing",
+ org.apache.log4j.lf5.viewer.categoryexplorer;
+ uses:="javax.swing.event,
+ javax.swing.tree,
+ javax.swing.table,
+ org.apache.log4j.lf5,
+ javax.swing",
+ org.apache.log4j.lf5.viewer.configure;uses:="org.apache.log4j.lf5.viewer,javax.swing.tree,org.w3c.dom",
+ org.apache.log4j.lf5.viewer.images,
+ org.apache.log4j.net;
+ uses:="org.apache.log4j,
+ javax.naming,
+ org.apache.log4j.spi,
+ javax.mail.internet,
+ javax.mail,
+ javax.jms,
+ org.apache.log4j.helpers",
+ org.apache.log4j.nt;uses:="org.apache.log4j,org.apache.log4j.spi",
+ org.apache.log4j.or;uses:="org.apache.log4j.spi",
+ org.apache.log4j.or.jms;uses:="org.apache.log4j.or",
+ org.apache.log4j.or.sax;uses:="org.apache.log4j.or",
+ org.apache.log4j.spi;uses:="org.apache.log4j.or,org.apache.log4j",
+ org.apache.log4j.varia;uses:="org.apache.log4j,org.apache.log4j.spi",
+ org.apache.log4j.xml;
+ uses:="org.apache.log4j,
+ org.apache.log4j.spi,
+ org.xml.sax,
+ javax.xml.parsers,
+ org.w3c.dom,
+ org.apache.log4j.helpers,
+ org.apache.log4j.config",
+ org.apache.poi.ddf,
+ org.apache.poi.dev,
+ org.apache.poi.hpsf;uses:="org.apache.poi.poifs.filesystem",
+ org.apache.poi.hpsf.wellknown,
+ org.apache.poi.hssf.dev;uses:="org.apache.poi.hssf.eventusermodel,org.apache.poi.hssf.usermodel,org.apache.poi.hssf.record",
+ org.apache.poi.hssf.eventmodel;uses:="org.apache.poi.hssf.model,org.apache.poi.hssf.record",
+ org.apache.poi.hssf.eventusermodel;uses:="org.apache.poi.poifs.filesystem,org.apache.poi.hssf.record",
+ org.apache.poi.hssf.model;
+ uses:="org.apache.poi.hssf.util,
+ org.apache.poi.hssf.record.formula,
+ org.apache.poi.ddf,
+ org.apache.poi.hssf.record,
+ org.apache.poi.hssf.usermodel,
+ org.apache.poi.hssf.record.aggregates",
+ org.apache.poi.hssf.record;
+ uses:="org.apache.poi.util,
+ org.apache.poi.hssf.record.formula,
+ org.apache.poi.hssf.model,
+ org.apache.poi.ddf,
+ org.apache.poi.hssf.usermodel",
+ org.apache.poi.hssf.record.aggregates;uses:="org.apache.poi.hssf.record",
+ org.apache.poi.hssf.record.formula;uses:="org.apache.poi.util,org.apache.poi.hssf.model,org.apache.poi.hssf.record",
+ org.apache.poi.hssf.usermodel;
+ uses:="org.apache.poi.hssf.util,
+ org.apache.poi.hssf.model,
+ org.apache.poi.poifs.filesystem,
+ org.apache.poi.ddf,
+ org.apache.poi.hssf.record",
+ org.apache.poi.hssf.util;uses:="org.apache.poi.hssf.record",
+ org.apache.poi.poifs.common,
+ org.apache.poi.poifs.dev,
+ org.apache.poi.poifs.eventfilesystem;uses:="org.apache.poi.poifs.filesystem",
+ org.apache.poi.poifs.filesystem;
+ uses:="org.apache.poi.poifs.property,
+ org.apache.poi.hpsf,
+ org.apache.poi.poifs.storage,
+ org.apache.poi.poifs.dev",
+ org.apache.poi.poifs.property;
+ uses:="org.apache.poi.poifs.filesystem,
+ org.apache.poi.hpsf,
+ org.apache.poi.poifs.storage,
+ org.apache.poi.poifs.dev",
+ org.apache.poi.poifs.storage;uses:="org.apache.poi.poifs.filesystem,org.apache.poi.poifs.property",
+ org.apache.poi.util;uses:="new org.apache.poi.util",
+ org.apache.taglibs.standard,
+ org.apache.taglibs.standard.extra.spath;uses:="org.xml.sax,javax.servlet.jsp.tagext,org.xml.sax.helpers",
+ org.apache.taglibs.standard.functions,
+ org.apache.taglibs.standard.lang.jstl;
+ uses:="javax.servlet.http,
+ javax.servlet,
+ javax.servlet.jsp.tagext,
+ org.apache.taglibs.standard.lang.support,
+ org.apache.taglibs.standard.lang.jstl.parser,
+ javax.servlet.jsp",
+ org.apache.taglibs.standard.lang.jstl.parser;uses:="org.apache.taglibs.standard.lang.jstl",
+ org.apache.taglibs.standard.lang.jstl.test;
+ uses:="javax.servlet.http,
+ javax.servlet,
+ javax.servlet.jsp.el,
+ javax.servlet.jsp",
+ org.apache.taglibs.standard.lang.jstl.test.beans,
+ org.apache.taglibs.standard.lang.support;uses:="javax.servlet.jsp.tagext,javax.servlet.jsp",
+ org.apache.taglibs.standard.resources,
+ org.apache.taglibs.standard.tag.common.core;
+ uses:="javax.servlet.http,
+ javax.servlet.jsp.jstl.core,
+ javax.servlet,
+ javax.servlet.jsp.tagext,
+ javax.servlet.jsp.el,
+ javax.servlet.jsp",
+ org.apache.taglibs.standard.tag.common.fmt;uses:="javax.servlet.jsp.jstl.fmt,javax.servlet.jsp.tagext,javax.servlet.jsp",
+ org.apache.taglibs.standard.tag.common.sql;
+ uses:="javax.servlet.jsp.tagext,
+ javax.servlet.jsp.jstl.sql,
+ javax.servlet.jsp,
+ javax.sql",
+ org.apache.taglibs.standard.tag.common.xml;
+ uses:="org.apache.taglibs.standard.tag.common.core,
+ org.xml.sax,
+ javax.servlet.jsp.tagext,
+ org.w3c.dom,
+ javax.servlet.jsp,
+ javax.xml.transform,
+ org.apache.xml.utils,
+ org.w3c.dom.traversal,
+ javax.servlet.jsp.jstl.core,
+ javax.xml.parsers,
+ org.apache.xpath.objects,
+ org.apache.xpath",
+ org.apache.taglibs.standard.tag.el.core;
+ uses:="javax.servlet.jsp.jstl.core,
+ org.apache.taglibs.standard.tag.common.core,
+ javax.servlet.jsp.tagext,
+ javax.servlet.jsp",
+ org.apache.taglibs.standard.tag.el.fmt;uses:="org.apache.taglibs.standard.tag.common.fmt",
+ org.apache.taglibs.standard.tag.el.sql;uses:="org.apache.taglibs.standard.tag.common.sql",
+ org.apache.taglibs.standard.tag.el.xml;uses:="org.apache.taglibs.standard.tag.common.xml",
+ org.apache.taglibs.standard.tag.rt.core;uses:="javax.servlet.jsp.jstl.core,org.apache.taglibs.standard.tag.common.core,javax.servlet.jsp.tagext",
+ org.apache.taglibs.standard.tag.rt.fmt;uses:="javax.servlet.jsp.jstl.fmt,org.apache.taglibs.standard.tag.common.fmt",
+ org.apache.taglibs.standard.tag.rt.sql;uses:="org.apache.taglibs.standard.tag.common.sql",
+ org.apache.taglibs.standard.tag.rt.xml;uses:="org.xml.sax,org.apache.taglibs.standard.tag.common.xml,javax.xml.transform",
+ org.apache.taglibs.standard.tei;uses:="javax.servlet.jsp.tagext",
+ org.apache.taglibs.standard.tlv;uses:="org.xml.sax,javax.servlet.jsp.tagext,org.xml.sax.helpers",
+ org.codehaus.groovy,
+ org.codehaus.groovy.ant;
+ uses:="groovyjarjarasm.asm.tree,
+ org.apache.tools.ant.types,
+ org.apache.tools.ant.taskdefs,
+ org.apache.tools.ant,
+ org.codehaus.groovy.control,
+ groovyjarjarasm.asm.tree.analysis,
+ groovyjarjarasm.asm,
+ groovyjarjarasm.asm.util,
+ org.codehaus.groovy.tools.javac,
+ groovy.lang",
+ org.codehaus.groovy.antlr;
+ uses:="groovyjarjarantlr.debug.misc,
+ org.codehaus.groovy.antlr.parser,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.control,
+ javax.swing.border,
+ groovyjarjarantlr,
+ org.codehaus.groovy.ast.stmt,
+ groovyjarjarantlr.collections,
+ org.codehaus.groovy.syntax,
+ org.codehaus.groovy.ast.expr,
+ javax.swing",
+ org.codehaus.groovy.antlr.java;
+ uses:="org.codehaus.groovy.antlr,
+ groovyjarjarantlr,
+ groovyjarjarantlr.collections.impl,
+ org.codehaus.groovy.antlr.parser,
+ groovyjarjarantlr.collections,
+ org.codehaus.groovy.antlr.treewalker",
+ org.codehaus.groovy.antlr.parser;
+ uses:="org.codehaus.groovy.antlr,
+ groovyjarjarantlr,
+ groovyjarjarantlr.collections.impl,
+ groovyjarjarantlr.collections",
+ org.codehaus.groovy.antlr.treewalker;uses:="org.codehaus.groovy.antlr,groovyjarjarantlr.collections",
+ org.codehaus.groovy.ast;
+ uses:="org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.control,
+ org.codehaus.groovy.ast.expr,
+ groovy.lang,
+ groovyjarjarasm.asm",
+ org.codehaus.groovy.ast.expr;
+ uses:="org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.syntax,
+ org.codehaus.groovy.ast,
+ groovy.lang",
+ org.codehaus.groovy.ast.stmt;uses:="org.codehaus.groovy.ast,org.codehaus.groovy.ast.expr",
+ org.codehaus.groovy.binding;uses:="groovy.lang,javax.swing",
+ org.codehaus.groovy.bsf;uses:="org.apache.bsf.util,org.apache.bsf,groovy.lang",
+ org.codehaus.groovy.classgen;
+ uses:="org.codehaus.groovy.reflection,
+ org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.syntax,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.ast.expr,
+ org.codehaus.groovy.control,
+ groovyjarjarasm.asm",
+ org.codehaus.groovy.control;
+ uses:="org.codehaus.groovy,
+ org.codehaus.groovy.classgen,
+ org.codehaus.groovy.control.messages,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.control.io,
+ groovyjarjarasm.asm,
+ groovyjarjarantlr,
+ org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.syntax,
+ org.codehaus.groovy.ast.expr,
+ groovy.lang,
+ org.codehaus.groovy.tools",
+ org.codehaus.groovy.control.io;uses:="org.codehaus.groovy.control",
+ org.codehaus.groovy.control.messages;uses:="org.codehaus.groovy.syntax,org.codehaus.groovy.control",
+ org.codehaus.groovy.groovydoc,
+ org.codehaus.groovy.reflection;uses:="org.codehaus.groovy.classgen,org.codehaus.groovy.runtime,groovy.lang",
+ org.codehaus.groovy.runtime;
+ uses:="org.w3c.dom,
+ groovy.time,
+ org.codehaus.groovy.reflection,
+ org.codehaus.groovy.runtime.wrappers,
+ junit.framework,
+ groovy.lang",
+ org.codehaus.groovy.runtime.metaclass;uses:="org.codehaus.groovy.reflection,org.codehaus.groovy.runtime,groovy.lang",
+ org.codehaus.groovy.runtime.typehandling,
+ org.codehaus.groovy.runtime.wrappers;uses:="groovy.lang",
+ org.codehaus.groovy.syntax;
+ uses:="org.codehaus.groovy,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.control,
+ groovy.lang",
+ org.codehaus.groovy.tools;uses:="org.codehaus.groovy,org.codehaus.groovy.control,groovyjarjarcommonscli",
+ org.codehaus.groovy.tools.groovydoc;uses:="org.codehaus.groovy.antlr,org.codehaus.groovy.antlr.treewalker,org.codehaus.groovy.groovydoc",
+ org.codehaus.groovy.tools.javac;
+ uses:="org.codehaus.groovy.ast.stmt,
+ org.codehaus.groovy.classgen,
+ org.codehaus.groovy.ast,
+ org.codehaus.groovy.control,
+ groovy.lang",
+ org.codehaus.groovy.tools.shell;
+ uses:="org.codehaus.groovy.tools.shell.util,
+ org.codehaus.groovy.runtime,
+ jline,
+ groovy.lang",
+ org.codehaus.groovy.tools.shell.commands;
+ uses:="org.codehaus.groovy.tools.shell.util,
+ org.codehaus.groovy.tools.shell,
+ org.codehaus.groovy.runtime,
+ jline,
+ groovy.lang",
+ org.codehaus.groovy.tools.shell.util;
+ uses:="org.codehaus.groovy.tools.shell,
+ org.codehaus.groovy.runtime,
+ jline,
+ groovy.lang,
+ groovyjarjarcommonscli",
+ org.codehaus.groovy.tools.xml;uses:="groovy.util,org.w3c.dom",
+ org.codehaus.groovy.vmplugin;uses:="org.codehaus.groovy.ast",
+ org.codehaus.groovy.vmplugin.v4;uses:="org.codehaus.groovy.vmplugin,org.codehaus.groovy.ast",
+ org.codehaus.groovy.vmplugin.v5;uses:="org.codehaus.groovy.vmplugin,org.codehaus.groovy.ast",
+ org.jdesktop.beans,
+ org.jdesktop.swingx;
+ uses:="org.jdesktop.swingx.event,
+ org.jdesktop.swingx.multislider,
+ javax.swing.undo,
+ javax.swing.tree,
+ org.jdesktop.swingx.table,
+ javax.swing.table,
+ new org.jdesktop.swingx,
+ org.jdesktop.swingx.painter,
+ org.jdesktop.swingx.treetable,
+ org.jdesktop.swingx.tips,
+ org.jdesktop.swingx.calendar,
+ javax.swing,
+ org.apache.batik.ext.awt,
+ javax.swing.text,
+ org.jdesktop.swingx.error,
+ org.jdesktop.swingx.auth,
+ javax.swing.border,
+ org.jdesktop.swingx.decorator,
+ javax.swing.event,
+ org.jdesktop.swingx.action,
+ org.jdesktop.beans,
+ javax.swing.text.html,
+ javax.swing.plaf,
+ javax.accessibility,
+ org.jdesktop.swingx.plaf,
+ org.jdesktop.swingx.color",
+ org.jdesktop.swingx.action;uses:="org.jdesktop.swingx,javax.swing",
+ org.jdesktop.swingx.auth;
+ uses:="new org.jdesktop.swingx.auth,
+ org.jdesktop.beans,
+ org.jdesktop.swingworker,
+ javax.security.auth.callback",
+ org.jdesktop.swingx.auth.resources,
+ org.jdesktop.swingx.autocomplete;
+ uses:="javax.swing.event,
+ javax.swing.text,
+ javax.swing.table,
+ javax.swing",
+ org.jdesktop.swingx.autocomplete.workarounds;uses:="javax.swing",
+ org.jdesktop.swingx.border;uses:="javax.swing.border,javax.swing",
+ org.jdesktop.swingx.calendar;uses:="org.jdesktop.swingx.plaf,org.jdesktop.swingx,javax.swing",
+ org.jdesktop.swingx.calendar.resources,
+ org.jdesktop.swingx.color;
+ uses:="org.jdesktop.swingx.multislider,
+ org.apache.batik.ext.awt,
+ org.jdesktop.swingx,
+ javax.swing.colorchooser,
+ javax.swing.event,
+ javax.swing",
+ org.jdesktop.swingx.combobox;uses:="javax.swing.event,javax.swing",
+ org.jdesktop.swingx.decorator;
+ uses:="org.jdesktop.swingx.event,
+ javax.swing.event,
+ org.jdesktop.swingx.painter,
+ javax.swing",
+ org.jdesktop.swingx.editors;
+ uses:="org.jdesktop.swingx.decorator,
+ org.jdesktop.swingx,
+ javax.swing.event,
+ org.jdesktop.swingx.painter,
+ javax.swing",
+ org.jdesktop.swingx.error,
+ org.jdesktop.swingx.event;uses:="javax.swing.event",
+ org.jdesktop.swingx.geom,
+ org.jdesktop.swingx.graphics,
+ org.jdesktop.swingx.icon;uses:="javax.swing.plaf,javax.swing",
+ org.jdesktop.swingx.image;uses:="org.jdesktop.beans",
+ org.jdesktop.swingx.multislider;uses:="org.jdesktop.swingx,javax.swing",
+ org.jdesktop.swingx.multisplitpane;uses:="org.jdesktop.swingx",
+ org.jdesktop.swingx.painter;
+ uses:="org.jdesktop.swingx.editors,
+ org.jdesktop.swingx.painter.effects,
+ org.jdesktop.beans,
+ org.jdesktop.swingx,
+ javax.swing",
+ org.jdesktop.swingx.painter.effects;uses:="org.jdesktop.swingx.editors,org.jdesktop.swingx.painter,org.jdesktop.swingx",
+ org.jdesktop.swingx.plaf;
+ uses:="javax.swing.text,
+ org.jdesktop.swingx.painter,
+ javax.swing.plaf,
+ org.jdesktop.swingx,
+ javax.swing",
+ org.jdesktop.swingx.plaf.basic;
+ uses:="org.jdesktop.swingx.event,
+ javax.swing.plaf.basic,
+ javax.swing.text,
+ org.jdesktop.swingx.error,
+ javax.swing.border,
+ org.jdesktop.swingx,
+ javax.swing.event,
+ org.jdesktop.swingx.painter,
+ org.jdesktop.swingx.action,
+ javax.swing.text.html,
+ javax.swing.plaf,
+ org.jdesktop.swingx.calendar,
+ org.jdesktop.swingx.plaf,
+ javax.swing",
+ org.jdesktop.swingx.plaf.basic.resources,
+ org.jdesktop.swingx.plaf.linux;uses:="org.jdesktop.swingx.plaf.basic",
+ org.jdesktop.swingx.plaf.macosx;
+ uses:="org.jdesktop.swingx.plaf.basic,
+ org.jdesktop.swingx.painter,
+ org.jdesktop.swingx.action,
+ javax.swing.plaf,
+ org.jdesktop.swingx.plaf,
+ javax.swing",
+ org.jdesktop.swingx.plaf.metal;
+ uses:="org.jdesktop.swingx.plaf.basic,
+ javax.swing.border,
+ javax.swing.plaf,
+ org.jdesktop.swingx,
+ javax.swing",
+ org.jdesktop.swingx.plaf.misc;
+ uses:="org.jdesktop.swingx.plaf.basic,
+ javax.swing.border,
+ javax.swing.plaf,
+ org.jdesktop.swingx,
+ javax.swing",
+ org.jdesktop.swingx.plaf.motif;uses:="org.jdesktop.swingx.plaf.basic",
+ org.jdesktop.swingx.plaf.nimbus;uses:="org.jdesktop.swingx.plaf.basic",
+ org.jdesktop.swingx.plaf.resources,
+ org.jdesktop.swingx.plaf.windows;
+ uses:="org.jdesktop.swingx.plaf.basic,
+ javax.swing.border,
+ javax.swing.plaf,
+ org.jdesktop.swingx,
+ javax.swing",
+ org.jdesktop.swingx.plaf.windows.resources,
+ org.jdesktop.swingx.renderer;
+ uses:="javax.swing.tree,
+ javax.swing.table,
+ javax.swing.border,
+ org.jdesktop.swingx,
+ org.jdesktop.swingx.painter,
+ org.jdesktop.swingx.action,
+ javax.swing",
+ org.jdesktop.swingx.resources,
+ org.jdesktop.swingx.table;
+ uses:="javax.swing.tree,
+ javax.swing.table,
+ org.jdesktop.swingx,
+ javax.swing.event,
+ org.jdesktop.swingx.action,
+ javax.swing.plaf,
+ javax.swing",
+ org.jdesktop.swingx.table.resources,
+ org.jdesktop.swingx.tips,
+ org.jdesktop.swingx.tree;uses:="javax.swing.tree,javax.swing",
+ org.jdesktop.swingx.treetable;uses:="javax.swing.event,javax.swing.tree,javax.swing",
+ org.jdesktop.swingx.util;uses:="javax.swing.border,javax.swing",
+ org.jfree;uses:="org.jfree.ui.about",
+ org.jfree.base;uses:="org.jfree.util,org.jfree.base.modules,org.jfree.base.config",
+ org.jfree.base.config;uses:="org.jfree.util",
+ org.jfree.base.log;uses:="org.jfree.util,org.jfree.base.modules",
+ org.jfree.base.modules;uses:="org.jfree.util,org.jfree.base,org.jfree.base.config",
+ org.jfree.chart;
+ uses:="org.jfree.util,
+ org.jfree.chart.plot,
+ org.jfree.data.xy,
+ org.jfree.chart.annotations,
+ org.jfree.chart.renderer,
+ org.jfree.chart.renderer.xy,
+ org.jfree.chart.event,
+ org.jfree.data.category,
+ javax.swing,
+ org.jfree.ui.about,
+ org.jfree.chart.renderer.category,
+ org.jfree.data.general,
+ org.jfree.data.statistics,
+ org.jfree.chart.entity,
+ org.jfree.chart.block,
+ org.jfree.chart.imagemap,
+ org.jfree.chart.title,
+ org.jfree.chart.axis,
+ org.jfree.ui",
+ org.jfree.chart.annotations;
+ uses:="org.jfree.util,
+ org.jfree.chart.plot,
+ org.jfree.chart.util,
+ org.jfree.chart.title,
+ org.jfree.ui,
+ org.jfree.chart.axis",
+ org.jfree.chart.axis;
+ uses:="org.jfree.util,
+ org.jfree.data.time,
+ org.jfree.chart.plot,
+ org.jfree.text,
+ org.jfree.chart.event,
+ org.jfree.data.category,
+ org.jfree.data,
+ org.jfree.ui",
+ org.jfree.chart.block;
+ uses:="org.jfree.util,
+ org.jfree.chart.entity,
+ org.jfree.data,
+ org.jfree.ui",
+ org.jfree.chart.demo;uses:="javax.swing,org.jfree.ui",
+ org.jfree.chart.editor;
+ uses:="org.jfree.chart.plot,
+ org.jfree.chart,
+ org.jfree.chart.title,
+ javax.swing,
+ org.jfree.ui,
+ org.jfree.chart.axis",
+ org.jfree.chart.encoders,
+ org.jfree.chart.entity;
+ uses:="org.jfree.util,
+ org.jfree.chart.imagemap,
+ org.jfree.data.xy,
+ org.jfree.data.general,
+ org.jfree.data.category",
+ org.jfree.chart.event;
+ uses:="org.jfree.chart.plot,
+ org.jfree.chart,
+ org.jfree.chart.title,
+ org.jfree.chart.axis",
+ org.jfree.chart.imagemap;uses:="org.jfree.chart",
+ org.jfree.chart.labels;
+ uses:="org.jfree.util,
+ org.jfree.data.xy,
+ org.jfree.data.general,
+ org.jfree.data.category,
+ org.jfree.ui,
+ org.jfree.data.contour",
+ org.jfree.chart.needle,
+ org.jfree.chart.plot;
+ uses:="org.jfree.util,
+ org.jfree.chart.needle,
+ org.jfree.data.xy,
+ org.jfree.chart,
+ org.jfree.text,
+ org.jfree.data.contour,
+ org.jfree.chart.renderer,
+ org.jfree.chart.annotations,
+ org.jfree.chart.renderer.xy,
+ org.jfree.chart.urls,
+ org.jfree.chart.event,
+ org.jfree.chart.labels,
+ org.jfree.data.category,
+ javax.swing,
+ org.jfree.chart.renderer.category,
+ org.jfree.data.general,
+ org.jfree.chart.title,
+ org.jfree.ui,
+ org.jfree.chart.axis,
+ org.jfree.data",
+ org.jfree.chart.plot.dial;
+ uses:="org.jfree.util,
+ org.jfree.chart.plot,
+ org.jfree.data.general,
+ org.jfree.chart.event,
+ org.jfree.ui",
+ org.jfree.chart.renderer;
+ uses:="org.jfree.util,
+ org.jfree.chart.plot,
+ org.jfree.data.xy,
+ org.jfree.chart,
+ org.jfree.chart.entity,
+ org.jfree.chart.event,
+ org.jfree.chart.labels,
+ org.jfree.chart.axis",
+ org.jfree.chart.renderer.category;
+ uses:="org.jfree.util,
+ org.jfree.chart.plot,
+ org.jfree.chart,
+ org.jfree.data.statistics,
+ org.jfree.chart.renderer,
+ org.jfree.chart.entity,
+ org.jfree.chart.urls,
+ org.jfree.chart.event,
+ org.jfree.data.gantt,
+ org.jfree.chart.labels,
+ org.jfree.data.category,
+ javax.swing,
+ org.jfree.data,
+ org.jfree.chart.axis,
+ org.jfree.ui",
+ org.jfree.chart.renderer.xy;
+ uses:="org.jfree.util,
+ org.jfree.chart.plot,
+ org.jfree.data.general,
+ org.jfree.data.xy,
+ org.jfree.chart,
+ org.jfree.chart.renderer,
+ org.jfree.chart.annotations,
+ org.jfree.chart.entity,
+ org.jfree.chart.urls,
+ org.jfree.chart.event,
+ org.jfree.chart.labels,
+ org.jfree.ui,
+ org.jfree.data,
+ org.jfree.chart.axis",
+ org.jfree.chart.resources,
+ org.jfree.chart.servlet;uses:="javax.servlet.http,org.jfree.chart",
+ org.jfree.chart.title;
+ uses:="org.jfree.util,
+ org.jfree.data.general,
+ org.jfree.chart,
+ org.jfree.chart.renderer,
+ org.jfree.chart.block,
+ org.jfree.chart.event,
+ org.jfree.data,
+ org.jfree.ui,
+ org.jfree.chart.axis",
+ org.jfree.chart.urls;
+ uses:="org.jfree.util,
+ org.jfree.data.xy,
+ org.jfree.data.general,
+ org.jfree.data.category",
+ org.jfree.chart.util,
+ org.jfree.data;uses:="org.jfree.util,org.jfree.data.general",
+ org.jfree.data.category;uses:="org.jfree.util,org.jfree.data.general,org.jfree.data",
+ org.jfree.data.contour;uses:="org.jfree.data.xy,org.jfree.data",
+ org.jfree.data.function,
+ org.jfree.data.gantt;
+ uses:="org.jfree.util,
+ org.jfree.data.time,
+ org.jfree.data.xy,
+ org.jfree.data.general,
+ org.jfree.data.category",
+ org.jfree.data.general;
+ uses:="org.jfree.util,
+ org.jfree.data.xy,
+ org.jfree.data.function,
+ org.jfree.data.category,
+ org.jfree.data",
+ org.jfree.data.io;uses:="org.jfree.data.category",
+ org.jfree.data.jdbc;
+ uses:="org.jfree.data.xy,
+ org.jfree.data.general,
+ org.jfree.data.category,
+ org.jfree.data",
+ org.jfree.data.resources,
+ org.jfree.data.statistics;
+ uses:="org.jfree.util,
+ org.jfree.data.general,
+ org.jfree.data.xy,
+ org.jfree.data.category,
+ org.jfree.data",
+ org.jfree.data.time;
+ uses:="org.jfree.util,
+ javax.swing.table,
+ org.jfree.data.general,
+ org.jfree.data.xy,
+ org.jfree.date,
+ org.jfree.data",
+ org.jfree.data.time.ohlc;uses:="org.jfree.data.time,org.jfree.data.xy,org.jfree.data",
+ org.jfree.data.xml;
+ uses:="org.xml.sax,
+ org.jfree.data.general,
+ org.xml.sax.helpers,
+ org.jfree.data.category",
+ org.jfree.data.xy;
+ uses:="org.jfree.util,
+ javax.swing.table,
+ org.jfree.data.general,
+ org.jfree.data",
+ org.jfree.date,
+ org.jfree.io,
+ org.jfree.layout,
+ org.jfree.resources,
+ org.jfree.text;uses:="org.jfree.util,org.jfree.ui",
+ org.jfree.threads,
+ org.jfree.ui;
+ uses:="org.jfree.util,
+ javax.swing.text,
+ javax.swing.table,
+ javax.swing.filechooser,
+ javax.swing.event,
+ org.jfree.date,
+ javax.swing",
+ org.jfree.ui.about;
+ uses:="javax.swing.table,
+ javax.swing.border,
+ org.jfree.base,
+ org.jfree.ui,
+ javax.swing",
+ org.jfree.ui.about.resources,
+ org.jfree.ui.action;uses:="javax.swing",
+ org.jfree.ui.tabbedui;uses:="javax.swing",
+ org.jfree.util;uses:="org.jfree.base.config,org.jfree.ui,javax.swing",
+ org.postgresql,
+ org.postgresql.copy,
+ org.postgresql.core,
+ org.postgresql.core.types,
+ org.postgresql.core.v2,
+ org.postgresql.core.v3,
+ org.postgresql.ds,
+ org.postgresql.ds.common,
+ org.postgresql.ds.jdbc23,
+ org.postgresql.ds.jdbc4,
+ org.postgresql.fastpath,
+ org.postgresql.geometric,
+ org.postgresql.gss,
+ org.postgresql.jdbc2,
+ org.postgresql.jdbc2.optional,
+ org.postgresql.jdbc3,
+ org.postgresql.jdbc3g,
+ org.postgresql.jdbc4,
+ org.postgresql.largeobject,
+ org.postgresql.ssl,
+ org.postgresql.translation,
+ org.postgresql.util,
+ org.postgresql.xa,
+ org.python.compiler;uses:="org.python.parser,org.python.core,org.python.parser.ast",
+ org.python.core;
+ uses:="org.python.core.adapter,
+ org.python.parser.ast,
+ org.python.parser,
+ new org.python.core",
+ org.python.core.adapter;uses:="org.python.core",
+ org.python.modules;uses:="org.python.core,org.python.modules.sre",
+ org.python.modules.sets;uses:="org.python.core",
+ org.python.modules.sre;uses:="org.python.core",
+ org.python.modules.time;uses:="org.python.core",
+ org.python.parser;uses:="org.python.parser.ast",
+ org.python.parser.ast;uses:="org.python.parser",
+ org.python.rmi,
+ org.python.util;
+ uses:="javax.servlet.http,
+ javax.servlet,
+ org.apache.tools.ant.taskdefs,
+ org.apache.tools.ant.types,
+ org.python.core,
+ jline"
diff --git a/tools/build.properties b/tools/build.properties
new file mode 100644
index 0000000000..78fdf06548
--- /dev/null
+++ b/tools/build.properties
@@ -0,0 +1,53 @@
+source.tools.jar = src/
+bin.includes = META-INF/,\
+ lib/jstl.jar,\
+ lib/Verisign.jar,\
+ lib/standard.jar,\
+ lib/barbecue-1.5-beta1.jar,\
+ lib/poi-3.0.1-FINAL-20070705.jar,\
+ lib/jnlp.jar,\
+ lib/iText-2.1.7.jar,\
+ lib/swingx-0.9.0.jar,\
+ lib/miglayout-3.7.1-swing.jar,\
+ lib/log4j.jar,\
+ lib/activation.jar,\
+ lib/mail.jar,\
+ lib/jpayment.jar,\
+ lib/bsh-2.0b5.jar,\
+ lib/script-api.jar,\
+ lib/bsh-engine.jar,\
+ lib/groovy-all-1.5.1.jar,\
+ lib/groovy-engine.jar,\
+ lib/jython.jar,\
+ lib/jython-engine.jar,\
+ lib/jcommon-1.0.14.jar,\
+ lib/jfreechart-1.0.11.jar,\
+ lib/javaee.jar,\
+ tools.jar,\
+ lib/activemq-core-5.0.0.jar,\
+ lib/ant-commons-net.jar,\
+ lib/ant-contrib-1.0b1.jar,\
+ lib/ant-launcher.jar,\
+ lib/ant.jar,\
+ lib/c3p0-0.9.1.2.jar,\
+ lib/c3p0-oracle-thin-extras-0.9.1.2.jar,\
+ lib/cglib.jar,\
+ lib/commons-codec.jar,\
+ lib/commons-collections-3.1.jar,\
+ lib/commons-logging.jar,\
+ lib/commons-net-1.4.0.jar,\
+ lib/copyLibraries.bat,\
+ lib/jgraph.jar,\
+ lib/jpedal.jar,\
+ lib/jsp-api.jar,\
+ lib/junit.jar,\
+ lib/logkit.jar,\
+ lib/looks-2.0.4.jar,\
+ lib/ocrs12.jar,\
+ lib/ojdbc14.jar,\
+ lib/postgresql.jar,\
+ lib/servlet-api.jar,\
+ lib/wizard.jar,\
+ lib/xercesImpl.jar,\
+ lib/xjavadoc-1.1.jar,\
+ lib/xml-apis.jar