Commits

Anonymous committed e5b2863

Initial import from SourceForge

Comments (0)

Files changed (63)

lib/build/jalopy/aelfred-1.2.jar

Binary file added.

lib/build/jalopy/jalopy-1.0b10.jar

Binary file added.

lib/build/jalopy/jalopy-ant-0.6.1.jar

Binary file added.

lib/build/jalopy/jaxp-1.2.jar

Binary file added.

lib/build/jalopy/jdom-1.0b8.jar

Binary file added.

lib/build/jalopy/log4j-1.2.6.jar

Binary file added.

lib/build/jalopy/oro-2.0.6.jar

Binary file added.

lib/build/jalopy/sax-2.0.1.jar

Binary file added.

lib/build/junit-3.8.1.jar

Binary file added.

lib/build/velocity.jar

Binary file added.

lib/optional/activation.jar

Binary file added.

lib/optional/commons-collections.jar

Binary file added.

lib/optional/commons-dbcp.jar

Binary file added.

lib/optional/commons-pool.jar

Binary file added.

lib/optional/glue_stub.jar

Binary file added.

lib/optional/jdbc.jar

Binary file added.

lib/optional/jms.jar

Binary file added.

lib/optional/jnet.jar

Binary file added.

lib/optional/jta.jar

Binary file added.

lib/optional/mail.jar

Binary file added.

lib/optional/ofbcore-entity.jar

Binary file added.

lib/optional/ofbcore-share.jar

Binary file added.

lib/optional/osuser.jar

Binary file added.

lib/optional/quartz.jar

Binary file added.

lib/optional/servlet.jar

Binary file added.

lib/optional/velocity-dep-1.2.jar

Binary file added.

lib/optional/webwork.jar

Binary file added.

lib/optional/xerces-serialize.jar

Binary file added.

src/etc/deployment/glue/commands.xml

+<commands>
+    <invoke> electric.registry.Registry.publishInstance( "oswf", "com.opensymphony.workflow.ejb.EJBWorkflow") </invoke>
+</commands>

src/etc/deployment/ofbiz/cache.properties

+default.maxSize=0
+default.expireTime=0
+UtilPropertiesCache.maxSize=0
+UtilPropertiesCache.expireTime=0

src/etc/deployment/ofbiz/debug.properties

+print.verbose=true
+print.timing=true
+print.info=true
+print.warning=true
+print.error=true
+print.fatal=true

src/etc/deployment/ofbiz/entitydefs/entitygroup.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE entitygroup PUBLIC "-//OFBiz//DTD Entity Group//EN" "http://www.ofbiz.org/dtds/entitygroup.dtd">
+<entitygroup>
+	<!-- sequence entity -->
+	<entity-group group="default" entity="SequenceValueItem" />
+
+	<!-- osuser -->
+	<entity-group group="default" entity="OSUser" />
+	<entity-group group="default" entity="OSMembership" />
+	<entity-group group="default" entity="OSGroup" />
+
+	<!-- oscore -->
+	<entity-group group="default" entity="OSPropertyEntry" />
+	<entity-group group="default" entity="OSPropertyString" />
+	<entity-group group="default" entity="OSPropertyData" />
+	<entity-group group="default" entity="OSPropertyDate" />
+	<entity-group group="default" entity="OSPropertyDecimal" />
+	<entity-group group="default" entity="OSPropertyNumber" />
+
+    <!-- osworkflow -->
+    <entity-group group="default" entity="OSWorkflowEntry"/>
+    <entity-group group="default" entity="OSCurrentStep"/>
+    <entity-group group="default" entity="OSHistoryStep"/>
+    <entity-group group="default" entity="OSCurrentStepPrev"/>
+    <entity-group group="default" entity="OSHistoryStepPrev"/>
+</entitygroup>

src/etc/deployment/ofbiz/entitydefs/fieldtype-cloudscape.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-cloudscape.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2001 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     D. Todd White
+ *@created    February 15, 2002
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types --> 
+    <field-type-def type="blob" sql-type="LONG VARBINARY" java-type="java.lang.Object"></field-type-def>
+    
+    <field-type-def type="date-time" sql-type="DATE" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="DATE" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="NUMERIC(18,2)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="NUMERIC(18,6)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="NUMERIC(18,0)" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+
+    <field-type-def type="id" sql-type="VARCHAR(20)" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+
+    <field-type-def type="indicator" sql-type="CHAR(1)" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR(10)" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="VARCHAR(4000)" java-type="String"></field-type-def>
+   
+    <field-type-def type="comment" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR(40)" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR(255)" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR(20)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR(255)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR(60)" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+</fieldtypemodel>

src/etc/deployment/ofbiz/entitydefs/fieldtype-hsql.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-hsql.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2002 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     Andy Zeneski (jaz@zsolv.com)
+ *@created    Augest 26, 2001
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types -->    
+    <field-type-def type="blob" sql-type="OBJECT" java-type="java.lang.Object"></field-type-def>
+    
+    <field-type-def type="date-time" sql-type="TIMESTAMP" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="TIME" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="DOUBLE" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="DOUBLE" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="BIGINT" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+    
+    <field-type-def type="id" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR" java-type="String"></field-type-def>
+    
+    <field-type-def type="indicator" sql-type="CHAR" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="VARCHAR" java-type="String"></field-type-def>
+	
+    <field-type-def type="comment" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR" java-type="String"></field-type-def>
+    
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+
+</fieldtypemodel>
+

src/etc/deployment/ofbiz/entitydefs/fieldtype-mssql.xml

+<fieldtypemodel>
+    <field-type-def type="bytes" sql-type="image" java-type="byte[]"></field-type-def>
+    <field-type-def type="blob" sql-type="image" java-type="java.lang.Object"></field-type-def>
+    <field-type-def type="date-time" sql-type="datetime" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="datetime" sql-type="datetime" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="datetime" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="datetime" java-type="java.sql.Time"></field-type-def>
+
+    <field-type-def type="currency-amount" sql-type="money" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="numeric" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="numeric" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+    <field-type-def type="long" sql-type="integer" java-type="Long"></field-type-def>
+    <field-type-def type="integer" sql-type="int" java-type="Integer"></field-type-def>
+
+    <field-type-def type="nid" sql-type="INT*" java-type="Long"></field-type-def>
+    <field-type-def type="id" sql-type="ID" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR(40)" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+
+    <field-type-def type="indicator" sql-type="CHAR(1)" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR(10)" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="text" java-type="String"></field-type-def>
+    <field-type-def type="text" sql-type="text" java-type="String"></field-type-def>
+
+    <field-type-def type="comment" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="string" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR(254)" java-type="String"></field-type-def>
+
+    <field-type-def type="boolean" sql-type="bit" java-type="java.lang.Boolean"></field-type-def>
+    <field-type-def type="currency" sql-type="money" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+
+</fieldtypemodel>

src/etc/deployment/ofbiz/entitydefs/fieldtype-mysql.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-mysql.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2002 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     David E. Jones
+ *@created    June 5, 2001
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types --> 
+    <field-type-def type="blob" sql-type="BLOB" java-type="java.lang.Object"></field-type-def>
+    
+    <field-type-def type="date-time" sql-type="DATETIME" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="TIME" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="DECIMAL(18,2)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="DECIMAL(18,6)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="DECIMAL(18,0)" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+    
+    <field-type-def type="id" sql-type="VARCHAR(20)" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR(250)" java-type="String"></field-type-def>
+    
+    <field-type-def type="indicator" sql-type="CHAR(1)" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR(10)" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="TEXT" java-type="String"></field-type-def>
+   
+    <field-type-def type="comment" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR(40)" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR(255)" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR(20)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR(250)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR(60)" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+
+</fieldtypemodel>
+

src/etc/deployment/ofbiz/entitydefs/fieldtype-oracle.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-oracle.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2002 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     David E. Jones
+ *@created    June 5, 2001
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types --> 
+    <field-type-def type="blob" sql-type="LONG RAW" java-type="java.lang.Object"></field-type-def>
+    
+    <field-type-def type="date-time" sql-type="DATE" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="DATE" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="NUMBER(18,2)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="NUMBER(18,6)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="NUMBER(18,0)" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+
+    <field-type-def type="id" sql-type="VARCHAR2(20)" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR2(60)" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR2(255)" java-type="String"></field-type-def>
+
+    <field-type-def type="indicator" sql-type="CHAR(1)" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR2(10)" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR2(60)" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR2(255)" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="VARCHAR2(4000)" java-type="String"></field-type-def>
+   
+    <field-type-def type="comment" sql-type="VARCHAR2(255)" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR2(255)" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR2(60)" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR2(255)" java-type="String"></field-type-def>
+
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR2(40)" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR2(20)" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR2(255)" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR2(255)" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR2(20)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR2(60)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR2(255)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR2(60)" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+</fieldtypemodel>

src/etc/deployment/ofbiz/entitydefs/fieldtype-postgres.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-postgres.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2002 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     David E. Jones
+ *@created    June 5, 2001
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types --> 
+    <field-type-def type="blob" sql-type="OID" java-type="java.lang.Object"></field-type-def>
+
+    <field-type-def type="date-time" sql-type="TIMESTAMP" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="TIME" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="NUMERIC(18,2)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="FLOAT8" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="NUMERIC(18,0)" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+    
+    <field-type-def type="id" sql-type="VARCHAR(20)" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    
+    <field-type-def type="indicator" sql-type="BPCHAR" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR(10)" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="TEXT" java-type="String"></field-type-def>
+    
+    <field-type-def type="comment" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR(40)" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR(255)" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR(20)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR(255)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR(60)" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+
+</fieldtypemodel>
+

src/etc/deployment/ofbiz/entitydefs/fieldtype-postgres72.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-postgres72.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2002 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     David E. Jones
+ *@created    June 5, 2001
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types --> 
+    <field-type-def type="blob" sql-type="OID" java-type="java.lang.Object"></field-type-def>
+
+    <field-type-def type="date-time" sql-type="TIMESTAMPTZ" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="TIME" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="NUMERIC(18,2)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="FLOAT8" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="NUMERIC(18,0)" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+    
+    <field-type-def type="id" sql-type="VARCHAR(20)" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    
+    <field-type-def type="indicator" sql-type="BPCHAR" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR(10)" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="TEXT" java-type="String"></field-type-def>
+    
+    <field-type-def type="comment" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR(60)" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR(40)" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR(255)" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR(255)" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR(20)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR(255)" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR(60)" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+
+</fieldtypemodel>
+

src/etc/deployment/ofbiz/entitydefs/fieldtype-sapdb.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fieldtypemodel PUBLIC "-//OFBiz//DTD Field Type Model//EN" "http://www.ofbiz.org/dtds/fieldtypemodel.dtd">
+
+<!--
+/**
+ *  $Id: fieldtype-sapdb.xml,v 1.1.1.1 2002-12-20 04:25:03 hani Exp $
+ *  Title: Entity Generator Definitions for the General Data Model
+ *  Description: None
+ *  Copyright (c) 2001 The Open For Business Project - www.ofbiz.org
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a 
+ *  copy of this software and associated documentation files (the "Software"), 
+ *  to deal in the Software without restriction, including without limitation 
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ *  and/or sell copies of the Software, and to permit persons to whom the 
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included 
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+ *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+ *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+ *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
+ *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
+ *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *@author     Britton Wesley LaRoche
+ *@created    October 23, 2001
+ *@version    1.0
+ */
+-->
+
+<fieldtypemodel>
+  <!-- ===================== field-type-def ==================== -->
+   <!-- General Types --> 
+    <field-type-def type="blob" sql-type="LONG" sql-type-alias="LONG ASCII" java-type="java.lang.Object"></field-type-def>
+
+    <field-type-def type="date-time" sql-type="TIMESTAMP" java-type="java.sql.Timestamp"></field-type-def>
+    <field-type-def type="date" sql-type="DATE" java-type="java.sql.Date"></field-type-def>
+    <field-type-def type="time" sql-type="TIME" java-type="java.sql.Time"></field-type-def>
+    
+    <field-type-def type="currency-amount" sql-type="FIXED(18,2)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="floating-point" sql-type="FIXED(18,6)" java-type="Double"><validate name="isSignedDouble" /></field-type-def>
+    <field-type-def type="numeric" sql-type="FIXED(18,0)" java-type="Long"><validate name="isSignedLong" /></field-type-def>
+
+    <field-type-def type="id" sql-type="VARCHAR(20)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="id-long" sql-type="VARCHAR(60)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="id-vlong" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    
+    <field-type-def type="indicator" sql-type="CHAR(1)" sql-type-alias="CHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="very-short" sql-type="VARCHAR(10)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="short-varchar" sql-type="VARCHAR(60)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="long-varchar" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="very-long" sql-type="LONG" sql-type-alias="LONG ASCII" java-type="String"></field-type-def>
+    
+    <field-type-def type="comment" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="description" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="name" sql-type="VARCHAR(60)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="value" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    
+   <!-- Specialized Types -->
+    <field-type-def type="credit-card-number" sql-type="VARCHAR(40)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isAnyCard" /></field-type-def>
+    <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isDateAfterToday" /></field-type-def>
+    <field-type-def type="email" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isEmail" /></field-type-def>
+    <field-type-def type="url" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"></field-type-def>
+    <field-type-def type="id-ne" sql-type="VARCHAR(20)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="id-vlong-ne" sql-type="VARCHAR(255)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isNotEmpty" /></field-type-def>
+    <field-type-def type="tel-number" sql-type="VARCHAR(60)" sql-type-alias="VARCHAR() ASCII" java-type="String"><validate name="isInternationalPhoneNumber" /></field-type-def>
+
+</fieldtypemodel>

src/etc/deployment/ofbiz/entityengine.xml

+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE entity-config PUBLIC "-//OFBiz//DTD Entity Engine Config//EN" "http://www.ofbiz.org/dtds/entity-config.dtd">
+<!--
+
+You can modify this file at length to use your own transaction factory, jndi server, resource loader, datasources etc.
+
+However, normally you will only need to change a few things (the defaults should be sensible for most cases).
+
+Here are the most common modifications:
+- the database type - edit the datasource-name attribute of the <group-map> tag
+- the datasource location - edit the jndi-name attribute of the <jndi-jdbc> tag relevant to your database
+
+The following changes are less common but often required:
+- user-transaction and transaction-manager JNDI locations (for servers other than Orion these locations will change)
+- the transaction factory (if not using a server which can use InitialContext() to lookup a default)
+- if not using the 7 preconfigured DBs, you may need to add your own datasource tag and field type
+- if you're not using a JNDI lookup to get a datasource, you can configure the driver using <inline-jdbc> (slow!)
+
+-->
+<entity-config>
+
+	<!-- RESOURCE LOADER -->
+	<!--
+		This determines where resources (other XML files) are loaded from.
+
+		Other resource loaders include:
+			org.ofbiz.core.entity.config.FileLoader - load resources from the file system
+            org.ofbiz.core.entity.config.UrlLoader - load resources from external URLs
+	-->
+	<resource-loader name="maincp" class="org.ofbiz.core.config.ClasspathLoader"/>
+
+
+	<!-- JNDI SERVER -->
+	<!--
+		The JNDI server to use for all JNDI lookups.
+
+		You can also specify these attributes: (to lookup other JNDI servers)
+			context-provider-url="rmi://127.0.0.1:1099"
+            initial-context-factory="com.sun.jndi.rmi.registry.RegistryContextFactory"
+            url-pkg-prefixes="java.naming.rmi.security.manager"
+            security-principal=""
+            security-credentials=""
+
+		This will work with Orion and JBoss.
+	-->
+	<jndi-server name="default"/>
+
+
+	<!-- TRANSACTION FACTORY -->
+	<!--
+		The transaction factory class to use, one is needed for each way of getting JTA interfaces
+
+		Other tranasction factories include:
+			org.ofbiz.core.entity.transaction.WeblogicFactory - for use with Weblogic
+			org.ofbiz.core.entity.transaction.TyrexFactory - for use with Tyrex (third party TX manager)
+
+		For JBoss, change the TransactionManager JNDI name to "java:/TransactionManager"
+	-->
+	<transaction-factory class="org.ofbiz.core.entity.transaction.JNDIFactory">
+		<user-transaction-jndi jndi-server-name="default" jndi-name="java:comp/UserTransaction"/>
+		<transaction-manager-jndi jndi-server-name="default" jndi-name="java:comp/UserTransaction"/>
+	</transaction-factory>
+
+
+
+	<!-- DELEGATOR -->
+	<delegator name="default" entity-model-reader="main" entity-group-reader="main">
+		<!-- DATABASE TYPE -->
+		<!--
+		Valid datasource-names are: (obviously choose the one that matches your db)
+			postgresDS       hsqlDS
+			cloudscapeDS     mysqlDS
+			mssqlDS          oracleDS
+			sapdbDS
+		-->
+		<group-map group-name="default" datasource-name="postgresDS"/>
+	</delegator>
+
+
+	<!-- ENTITY MODEL / GROUP -->
+	<entity-model-reader name="main">
+		<resource loader="maincp" location="entitydefs/entitymodel.xml"/>
+	</entity-model-reader>
+
+	<entity-group-reader name="main" loader="maincp" location="entitydefs/entitygroup.xml"/>
+
+
+	<!-- FIELD TYPES -->
+    <field-type name="postgres" loader="maincp" location="entitydefs/fieldtype-postgres.xml"/>
+    <field-type name="postgres72" loader="maincp" location="entitydefs/fieldtype-postgres72.xml"/>
+	<field-type name="hsql" loader="maincp" location="entitydefs/fieldtype-hsql.xml"/>
+	<field-type name="cloudscape" loader="maincp" location="entitydefs/fieldtype-cloudscape.xml"/>
+	<field-type name="mysql" loader="maincp" location="entitydefs/fieldtype-mysql.xml"/>
+	<field-type name="mssql" loader="maincp" location="entitydefs/fieldtype-mssql.xml"/>
+	<field-type name="oracle" loader="maincp" location="entitydefs/fieldtype-oracle.xml"/>
+	<field-type name="sapdb" loader="maincp" location="entitydefs/fieldtype-sapdb.xml"/>
+
+
+	<!-- DATASOURCE -->
+	<!--
+		For DAO/JDBC Helper: Tries:
+		  1. JNDI Datasource IF jdbc.jndi.name, context.provider, etc are specified
+		  2. Tyrex if available (uses jdbc.driver, jdbc.uri, jdbc.username, jdbc.password, isolation.level)
+		  3. Direct to manually laoded JDBC driver (uses jdbc.driver, jdbc.uri, jdbc.username, jdbc.password)
+
+		Transaction Isolation Levels - For Tyrex (<helperName>.isolation.level) can be as follows:
+		 * ReadCommitted
+		 * ReadUncommitted
+		 * RepeatableRead
+		 * Serializable (default)
+
+		The first datasource is commented heavily - these comments apply to all other datasources below
+	-->
+	<datasource name="postgresDS"
+		helper-class="org.ofbiz.core.entity.GenericHelperDAO"
+		field-type-name="postgres"
+		check-on-start="true"
+		add-missing-on-start="true">
+		<!--
+			Either use a <jndi-jdbc> tag OR an <inline-jdbc> tag.
+			Comment out whichever tag you are not using.
+		-->
+
+		<!--
+			Connect to a datasource from the JNDI server configured above.
+
+			This JNDI name works on Orion - make sure with Orion you use the xa-location
+
+			For Jboss you need something like java:/MinervaDS (we recommend you use Minerva DS pooling for speed)
+		-->
+		<jndi-jdbc jndi-server-name="default" jndi-name="jdbc/xa/DefaultXADS"/>
+
+		<!-- connect to a datasource directly via JDBC driver -->
+		<!--
+        <inline-jdbc
+                jdbc-driver="org.postgresql.Driver"
+                jdbc-uri="jdbc:postgresql://192.168.0.67/osworkflow"
+                jdbc-username="postgres"
+                jdbc-password="postgres"
+                isolation-level="Serializable"/>
+		-->
+	</datasource>
+
+	<datasource name="hsqlDS"
+		helper-class="org.ofbiz.core.entity.GenericHelperDAO"
+		field-type-name="hsql"
+		check-on-start="true"
+		add-missing-on-start="true">
+		<jndi-jdbc jndi-server-name="default" jndi-name="java:/HsqlDataSource"/>
+
+		<!--
+        <inline-jdbc
+                jdbc-driver="org.hsqldb.jdbcDriver"
+                jdbc-uri="jdbc:hsqldb:../../data/ofbiz"
+                jdbc-username="sa"
+                jdbc-password=""
+                isolation-level="Serializable"/>
+		-->
+	</datasource>
+
+	<datasource name="cloudscapeDS"
+		helper-class="org.ofbiz.core.entity.GenericHelperDAO"
+		field-type-name="cloudscape"
+		check-on-start="true"
+		add-missing-on-start="true">
+		<jndi-jdbc jndi-server-name="default" jndi-name="java:/CloudscapeDataSource"/>
+
+		<!--
+		<inline-jdbc
+                jdbc-driver="COM.cloudscape.core.JDBCDriver"
+                jdbc-uri="jdbc:cloudscape:../../data/ofbiz; create=true"
+                jdbc-username="ofbiz"
+                jdbc-password="ofbiz"
+                isolation-level="Serializable"/>
+		-->
+	</datasource>
+
+	<datasource name="mysqlDS"
+		helper-class="org.ofbiz.core.entity.GenericHelperDAO"
+		field-type-name="mysql"
+		check-on-start="true"
+		add-missing-on-start="true">
+		<jndi-jdbc jndi-server-name="default" jndi-name="java:/MySqlDataSource"/>
+
+		<!--
+        <inline-jdbc
+                jdbc-driver="org.gjt.mm.mysql.Driver"
+                jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz"
+                jdbc-username="ofbiz"
+                jdbc-password="ofbiz"
+                isolation-level="Serializable"/>
+		-->
+	</datasource>
+
+
+	<datasource name="oracleDS"
+		helper-class="org.ofbiz.core.entity.GenericHelperDAO"
+		field-type-name="oracle"
+		check-on-start="true"
+		add-missing-on-start="true">
+		<jndi-jdbc jndi-server-name="default" jndi-name="jdbc/DefaultDS"/>
+
+		<!--
+		<inline-jdbc
+                jdbc-driver="oracle.jdbc.driver.OracleDriver"
+                jdbc-uri="jdbc:oracle:thin:@localhost:1521:ofbiz"
+                jdbc-username="ofbiz"
+                jdbc-password="ofbiz"
+                isolation-level="Serializable"/>
+		-->
+	</datasource>
+
+	<datasource name="sapdbDS"
+		helper-class="org.ofbiz.core.entity.GenericHelperDAO"
+		field-type-name="sapdb"
+		check-on-start="true"
+		add-missing-on-start="true">
+		<jndi-jdbc jndi-server-name="default" jndi-name="java:/SapDBDataSource"/>
+
+		<!--
+        <inline-jdbc
+                jdbc-driver="com.sap.dbtech.jdbc.DriverSapDB"
+                jdbc-uri="jdbc:sapdb://localhost/ofbiz"
+                jdbc-username="ofbiz"
+                jdbc-password="ofbiz"
+                isolation-level="Serializable"/>
+		-->
+	</datasource>
+</entity-config>

src/etc/example/workflows.xml

+<workflows>
+    <workflow name="example" type="resource" location="example.xml"/>
+</workflows>

src/etc/jalopy.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<jalopy>
+    <general>
+        <compliance>
+            <version>14</version>
+        </compliance>
+        <style>
+            <description>OpenSymphony</description>
+            <name>OpenSymphony</name>
+        </style>
+    </general>
+    <inspector>
+        <enable>false</enable>
+        <naming>
+            <classes>
+                <abstract>[A-Z][a-zA-Z0-9]+</abstract>
+                <general>[A-Z][a-zA-Z0-9]+</general>
+            </classes>
+            <fields>
+                <default>[a-z][\w]+</default>
+                <defaultStatic>[a-z][\w]+</defaultStatic>
+                <defaultStaticFinal>[a-zA-Z][\w]+</defaultStaticFinal>
+                <private>[a-z][\w]+</private>
+                <privateStatic>[a-z][\w]+</privateStatic>
+                <privateStaticFinal>[a-zA-Z][\w]+</privateStaticFinal>
+                <protected>[a-z][\w]+</protected>
+                <protectedStatic>[a-z][\w]+</protectedStatic>
+                <protectedStaticFinal>[a-zA-Z][\w]+</protectedStaticFinal>
+                <public>[a-z][\w]+</public>
+                <publicStatic>[a-z][\w]+</publicStatic>
+                <publicStaticFinal>[a-zA-Z][\w]+</publicStaticFinal>
+            </fields>
+            <interfaces>[A-Z][a-zA-Z0-9]+</interfaces>
+            <labels>\w+</labels>
+            <methods>
+                <default>[a-z][\w]+</default>
+                <defaultStatic>[a-z][\w]+</defaultStatic>
+                <defaultStaticFinal>[a-z][\w]+</defaultStaticFinal>
+                <private>[a-z][\w]+</private>
+                <privateStatic>[a-z][\w]+</privateStatic>
+                <privateStaticFinal>[a-z][\w]+</privateStaticFinal>
+                <protected>[a-z][\w]+</protected>
+                <protectedStatic>[a-z][\w]+</protectedStatic>
+                <protectedStaticFinal>[a-z][\w]+</protectedStaticFinal>
+                <public>[a-z][\w]+</public>
+                <publicStatic>[a-z][\w]+</publicStatic>
+                <publicStaticFinal>[a-z][\w]+</publicStaticFinal>
+            </methods>
+            <packages>[a-z]+(?:\.[a-z]+)*</packages>
+            <parameters>
+                <default>[a-z][\w]+</default>
+                <final>[a-z][\w]+</final>
+            </parameters>
+            <variables>[a-z][\w]*</variables>
+        </naming>
+        <tips>
+            <adhereToNamingConvention>false</adhereToNamingConvention>
+            <alwaysOverrideEquals>false</alwaysOverrideEquals>
+            <alwaysOverrideHashCode>false</alwaysOverrideHashCode>
+            <avoidThreadGroups>false</avoidThreadGroups>
+            <declareCollectionComment>false</declareCollectionComment>
+            <dontIgnoreExceptions>false</dontIgnoreExceptions>
+            <dontSubstituteObjectEquals>false</dontSubstituteObjectEquals>
+            <neverDeclareException>false</neverDeclareException>
+            <neverDeclareThrowable>false</neverDeclareThrowable>
+            <neverInvokeWaitOutsideLoop>false</neverInvokeWaitOutsideLoop>
+            <neverReturnZeroArrays>false</neverReturnZeroArrays>
+            <neverUseEmptyFinally>false</neverUseEmptyFinally>
+            <obeyContractEquals>false</obeyContractEquals>
+            <overrideToString>false</overrideToString>
+            <referToObjectsByInterface>false</referToObjectsByInterface>
+            <replaceStructureWithClass>false</replaceStructureWithClass>
+            <stringLiterallI18n>false</stringLiterallI18n>
+            <useInterfaceOnlyForTypes>false</useInterfaceOnlyForTypes>
+            <wrongCollectionComment>false</wrongCollectionComment>
+        </tips>
+    </inspector>
+    <internal>
+        <version>6</version>
+    </internal>
+    <messages>
+        <priority>
+            <general>30000</general>
+            <parser>30000</parser>
+            <parserJavadoc>30000</parserJavadoc>
+            <printer>30000</printer>
+            <printerJavadoc>30000</printerJavadoc>
+            <transform>30000</transform>
+        </priority>
+        <showErrorStackTrace>true</showErrorStackTrace>
+    </messages>
+    <misc>
+        <threadCount>1</threadCount>
+    </misc>
+    <printer>
+        <alignment>
+            <methodCallChain>true</methodCallChain>
+            <parameterMethodDeclaration>false</parameterMethodDeclaration>
+            <ternaryOperator>true</ternaryOperator>
+            <variableAssignment>false</variableAssignment>
+            <variableIdentifier>false</variableIdentifier>
+        </alignment>
+        <backup>
+            <directory>bak</directory>
+            <level>0</level>
+        </backup>
+        <blanklines>
+            <after>
+                <block>1</block>
+                <braceLeft>0</braceLeft>
+                <class>1</class>
+                <declaration>0</declaration>
+                <footer>1</footer>
+                <header>0</header>
+                <interface>1</interface>
+                <lastImport>2</lastImport>
+                <method>1</method>
+                <package>1</package>
+            </after>
+            <before>
+                <block>1</block>
+                <braceRight>0</braceRight>
+                <caseBlock>1</caseBlock>
+                <comment>
+                    <javadoc>1</javadoc>
+                    <multiline>1</multiline>
+                    <singleline>1</singleline>
+                </comment>
+                <controlStatement>1</controlStatement>
+                <declaration>1</declaration>
+                <footer>0</footer>
+                <header>0</header>
+            </before>
+            <keepUpTo>1</keepUpTo>
+        </blanklines>
+        <braces>
+            <empty>
+                <cuddle>false</cuddle>
+                <insertStatement>false</insertStatement>
+            </empty>
+            <insert>
+                <dowhile>true</dowhile>
+                <for>true</for>
+                <ifelse>true</ifelse>
+                <while>true</while>
+            </insert>
+            <remove>
+                <block>true</block>
+                <dowhile>false</dowhile>
+                <for>false</for>
+                <ifelse>false</ifelse>
+                <while>false</while>
+            </remove>
+            <treatDifferent>
+                <methodClass>false</methodClass>
+                <methodClassIfWrapped>false</methodClassIfWrapped>
+            </treatDifferent>
+        </braces>
+        <chunks>
+            <blanklines>true</blanklines>
+            <comments>true</comments>
+        </chunks>
+        <comments>
+            <format>
+                <multiline>false</multiline>
+            </format>
+            <javadoc>
+                <check>
+                    <innerclass>false</innerclass>
+                    <tags>false</tags>
+                    <throwsTags>false</throwsTags>
+                </check>
+                <fieldsShort>true</fieldsShort>
+                <generate>
+                    <class>1</class>
+                    <constructor>0</constructor>
+                    <field>0</field>
+                    <method>0</method>
+                </generate>
+                <parseComments>false</parseComments>
+                <tags>
+                    <in-line />
+                    <standard />
+                </tags>
+                <templates>
+                    <method>
+                        <bottom> */</bottom>
+                        <exception> * @throws $exceptionType$ DOCUMENT ME!</exception>
+                        <param> * @param $paramType$ DOCUMENT ME!</param>
+                        <return> * @return DOCUMENT ME!</return>
+                        <top>/**| * DOCUMENT ME!</top>
+                    </method>
+                </templates>
+            </javadoc>
+            <remove>
+                <javadoc>false</javadoc>
+                <multiline>false</multiline>
+                <singleline>false</singleline>
+            </remove>
+            <separator>
+                <fillCharacter>/</fillCharacter>
+                <insert>true</insert>
+                <insertRecursive>false</insertRecursive>
+                <text>
+                    <class>Inner Classes</class>
+                    <constructor>Constructors</constructor>
+                    <field>Instance fields</field>
+                    <initializer>Instance initializers</initializer>
+                    <interface>Inner Interfaces</interface>
+                    <method>Methods</method>
+                    <static>Static fields/initializers</static>
+                </text>
+            </separator>
+        </comments>
+        <environment />
+        <footer>
+            <keys />
+            <smartMode>0</smartMode>
+            <use>false</use>
+        </footer>
+        <header>
+            <keys>To change template for new class use|OpenSymphon</keys>
+            <smartMode>0</smartMode>
+            <text>/*| * Copyright (c) 2002-2003 by OpenSymphony| * All rights reserved.| */</text>
+            <use>true</use>
+        </header>
+        <history>
+            <policy>disabled</policy>
+        </history>
+        <imports>
+            <grouping>
+                <defaultDepth>3</defaultDepth>
+                <packages>*:0|gnu:2|java:2|javax:2</packages>
+            </grouping>
+            <policy>disabled</policy>
+            <sort>true</sort>
+        </imports>
+        <indentation>
+            <caseFromSwitch>false</caseFromSwitch>
+            <continuation>
+                <block>true</block>
+                <operator>false</operator>
+            </continuation>
+            <firstColumnComments>true</firstColumnComments>
+            <label>false</label>
+            <policy>
+                <deep>false</deep>
+            </policy>
+            <sizes>
+                <braceCuddled>1</braceCuddled>
+                <braceLeft>1</braceLeft>
+                <braceRight>0</braceRight>
+                <braceRightAfter>1</braceRightAfter>
+                <continuation>4</continuation>
+                <deep>55</deep>
+                <extends>-1</extends>
+                <general>4</general>
+                <implements>-1</implements>
+                <leading>0</leading>
+                <tabs>8</tabs>
+                <throws>-1</throws>
+                <trailingComment>1</trailingComment>
+            </sizes>
+            <tabs>
+                <enable>false</enable>
+                <onlyLeading>false</onlyLeading>
+            </tabs>
+        </indentation>
+        <misc>
+            <arrayBracketsAfterIdent>false</arrayBracketsAfterIdent>
+            <forceFormatting>false</forceFormatting>
+            <insertExpressionParentheses>true</insertExpressionParentheses>
+            <insertLoggingConditional>true</insertLoggingConditional>
+            <insertTrailingNewline>true</insertTrailingNewline>
+            <insertUID>false</insertUID>
+        </misc>
+        <sorting>
+            <declaration>
+                <class>true</class>
+                <constructor>true</constructor>
+                <enable>true</enable>
+                <interface>true</interface>
+                <method>true</method>
+                <order>static|field|initializer|constructor|method|interface|class</order>
+                <variable>true</variable>
+            </declaration>
+            <modifier>
+                <enable>false</enable>
+                <order>public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp</order>
+            </modifier>
+        </sorting>
+        <whitespace>
+            <after>
+                <comma>true</comma>
+                <semicolon>true</semicolon>
+                <typeCast>true</typeCast>
+            </after>
+            <before>
+                <braces>true</braces>
+                <brackets>false</brackets>
+                <bracketsTypes>false</bracketsTypes>
+                <caseColon>false</caseColon>
+                <operator>
+                    <not>false</not>
+                </operator>
+                <parentheses>
+                    <methodCall>false</methodCall>
+                    <methodDeclaration>false</methodDeclaration>
+                    <statement>true</statement>
+                </parentheses>
+            </before>
+            <padding>
+                <braces>false</braces>
+                <brackets>false</brackets>
+                <operator>
+                    <assignment>true</assignment>
+                    <bitwise>true</bitwise>
+                    <logical>true</logical>
+                    <mathematical>true</mathematical>
+                    <relational>true</relational>
+                    <shift>true</shift>
+                </operator>
+                <parenthesis>false</parenthesis>
+                <typeCast>false</typeCast>
+            </padding>
+        </whitespace>
+        <wrapping>
+            <always>
+                <after>
+                    <arrayElement>0</arrayElement>
+                    <braceRight>false</braceRight>
+                    <extendsTypes>false</extendsTypes>
+                    <implementsTypes>false</implementsTypes>
+                    <label>true</label>
+                    <methodCallChained>false</methodCallChained>
+                    <ternaryOperator>
+                        <first>false</first>
+                        <second>false</second>
+                    </ternaryOperator>
+                    <throwsTypes>false</throwsTypes>
+                </after>
+                <before>
+                    <braceLeft>false</braceLeft>
+                    <extends>false</extends>
+                    <implements>false</implements>
+                    <throws>false</throws>
+                </before>
+                <parameter>
+                    <methodCall>false</methodCall>
+                    <methodCallNested>false</methodCallNested>
+                    <methodDeclaration>false</methodDeclaration>
+                </parameter>
+            </always>
+            <general>
+                <beforeOperator>false</beforeOperator>
+                <enable>false</enable>
+                <lineLength>80</lineLength>
+            </general>
+            <ondemand>
+                <after>
+                    <assignment>false</assignment>
+                    <leftParenthesis>false</leftParenthesis>
+                    <parameter>false</parameter>
+                    <types>
+                        <extends>false</extends>
+                        <implements>false</implements>
+                        <throws>false</throws>
+                    </types>
+                </after>
+                <before>
+                    <rightParenthesis>false</rightParenthesis>
+                </before>
+                <groupingParentheses>false</groupingParentheses>
+            </ondemand>
+        </wrapping>
+    </printer>
+</jalopy>
+

src/etc/quartz/example_quartz.properties

+# Properties file for use by StdSchedulerFactory
+# to create a Quartz Scheduler Instance.
+#
+# Instances of the specified JobStore, ThreadPool and Logger classes will
+# be created by name, and then any additional properties specified for them
+# in this file will be set on the instance by calling an equivalent 'set'
+# method. (see below for more examples)
+#
+
+
+# Configure Main Scheduler Properties  ======================================
+#
+# The general pattern for defining the scheduler's main properties is:
+#
+#     org.quartz.scheduler.instanceName = SCHED_NAME
+#     org.quartz.scheduler.instanceId = INSTANCE_ID
+#     org.quartz.scheduler.logger = LOGGER_NAME
+#     org.quartz.scheduler.rmi.export = false
+#     org.quartz.scheduler.rmi.proxy = false
+#     org.quartz.scheduler.rmi.registryHost = localhost
+#     org.quartz.scheduler.rmi.registryPort = 1099
+#
+# "SCHED_NAME" can be any string, and has no meaning to the scheduler itself -
+# but rather serves as a mechanism for client code to distinguish schedulers
+# when multiple instances are used within the same program.  If you are using
+# the clustering features, it may make sense to use the same name for every
+# instance in the cluster that is 'logically' the same Scheduler.
+#
+# "INSTANCE_ID" can be any string, and but must be unique for all schedulers
+# working as if they are the same 'logical' Scheduler within a cluster.
+#
+# "LOGGER_NAME" must be the name of one of the loggers defined in this file.
+#
+# RMI notes:
+#
+# If you want the Quartz Scheduler exported via RMI as a server then set
+# the 'rmi.export' flag to true.  You must also then specify a  host and
+# port for the rmiregistry process - which is typically 'localhost' port 1099.
+#
+# If you want to connect (use) a remotely served scheduler, then set the
+# 'rmi.proxy' flag to true.  You must also then specify a  host and port
+# for the rmiregistry process - which is typically 'localhost' port 1099.
+#
+# You cannot specify a 'true' value for both 'export' and 'proxy' - if you
+# do, the 'export' option will be ignored.  A value of 'false' for both
+# 'export' and 'proxy' properties is of course valid.
+#
+org.quartz.scheduler.instanceName = Sched1
+org.quartz.scheduler.instanceId = 1
+org.quartz.scheduler.logger = schedLogger
+org.quartz.scheduler.rmi.export = false
+org.quartz.scheduler.rmi.proxy = false
+
+
+# Configure Logger(s)  ======================================================
+#
+# Loggers can be defined for:
+#  * The scheduler (logs job execution information)
+#  * The ThreadPool (logs errors in the pool of threads used to execute jobs)
+#  * The JobStore (loggs errors in the job/trigger persistence layer)
+#
+# You don't have to define 3 distinct loggers -- if you wish, you can define
+# one logger and re-use it when setting the logger on the different components.
+#
+# The general pattern for defining a logger is one of the following:
+#
+#     org.quartz.logger.NAME.class = org.quartz.impl.Log4jLogger
+#     org.quartz.logger.NAME.categoryName = CAT_NAME
+#
+#  or
+#
+#     org.quartz.logger.NAME.class = org.quartz.impl.CommonsLogger
+#     org.quartz.logger.NAME.categoryName = CAT_NAME
+#
+#  or
+#
+#     org.quartz.logger.NAME.class = org.quartz.simpl.SimpleLogger
+#     org.quartz.logger.NAME.loggingPriority = LOG_PRIO
+#     org.quartz.logger.NAME.outputFile = FILE_NAME
+#     org.quartz.logger.NAME.append = true
+#
+#  or
+#
+#     org.quartz.logger.NAME.class = com.mycompany.goo.FooLogger
+#     org.quartz.logger.NAME.somePropOfFooLogger = someValue
+#
+#
+# The logger's "NAME" can be anything you want, and has no meaning other than
+# being able to 'define' a logger here, and assign it by name to the particular
+# components.
+#
+# A Log4jLogger's "CAT_NAME" can be any string that is a valid Log4j category
+# name.
+#
+# A Log4jLogger's logging priority and output files (appenders) should be
+# defined in the normal Log4j fashion (external to Quartz).
+#
+# A CommonsLogger's "CAT_NAME" can be any string that is a valid category
+# name for the backing logger.
+#       (see http://jakarta.apache.org/commons/logging.html for more info)
+#
+# A CommonsLogger's logging priority and output files (appenders) should be
+# defined in the normal fashion for the backing logger (external to Quartz).
+#       (see http://jakarta.apache.org/commons/logging.html for more info)
+#
+# A SimpleLogger's "LOG_PRIO" must be an integer within the range of the
+# PRIO_XXX constants defined on the SimpleLogger class. (currently
+# PRIO_CRITICAL = 0 and PRIO_DEBUG = 4)
+#
+# A SimpleLogger's "FILE_NAME" must be string that represents a valid path on
+# the file system.  If you exclude this property, stderr will be used for
+# output.  The 'append' property can obviously be either 'true' or 'false'.
+#
+org.quartz.logger.schedLogger.class = org.quartz.impl.Log4jLogger
+org.quartz.logger.schedLogger.categoryName = scheduler
+org.quartz.logger.tpLogger.class = org.quartz.impl.Log4jLogger
+org.quartz.logger.tpLogger.categoryName = scheduler.threadPool
+org.quartz.logger.jsLogger.class = org.quartz.impl.Log4jLogger
+org.quartz.logger.jsLogger.categoryName = scheduler.persistence
+
+
+# Configure ThreadPool  =====================================================
+#
+# The general pattern for defining a thread pool is the following:
+#
+#     org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
+#     org.quartz.threadPool.threadCount = THREAD_COUNT
+#     org.quartz.threadPool.threadPriority = THREAD_PRIO
+#     org.quartz.threadPool.logger = LOGGER_NAME
+#
+#  or
+#
+#     org.quartz.threadPool.class = com.mycompany.goo.FooThreadPool
+#     org.quartz.threadPool.somePropOfFooThreadPool = someValue
+#
+# "THREAD_COUNT" can be any positive integer, although you should realize that
+# only numbers between 1 and 100 are very practical.  This is the number of
+# threads that are available for concurrent execution of jobs.  If you only
+# have a few jobs that fire a few times a day, then 1 thread is plenty! If you
+# have tens of thousands of jobs, with many firing every minute, then you
+# probably want a thread count more like 50 or 100 (this highly depends on the
+# nature of the work that your jobs perform, and your systems resources!)
+#
+# "THREAD_PRIO" can be any int between Thread.MIN_PRIORITY (0) and
+# Thread.MAX_PRIORITY (9).  The default is Thread.NORM_PRIORITY (4).
+#
+# "LOGGER_NAME" must be the name of one of the loggers defined in this file.
+#
+org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
+org.quartz.threadPool.threadCount = 3
+org.quartz.threadPool.threadPriority = 4
+org.quartz.threadPool.logger = tpLogger
+
+# Configure JobStore  =======================================================
+#
+# The general pattern for defining a JobStore is one of the following:
+#
+#     org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
+#     org.quartz.jobStore.logger = LOGGER_NAME
+#
+#  or
+#
+#     org.quartz.jobStore.class = org.quartz.impl.JDBCJobStore
+#     org.quartz.jobStore.dataSource = DS_NAME
+#     org.quartz.jobStore.tablePrefix = TABLE_PREFIX
+#     org.quartz.jobStore.logger = LOGGER_NAME
+#
+#     org.quartz.jobStore.sqlServerStyleBlobs = BLOB_STYLE
+#
+#     org.quartz.jobStore.postgresStyleBlobs = BLOB_STYLE
+#
+#  or
+#
+#     org.quartz.jobStore.class = com.mycompany.goo.FooJobStore
+#     org.quartz.jobStore.somePropOfFooJobStore = someValue
+#
+#
+# "LOGGER_NAME" must be the name of one of the loggers defined in this file.
+#
+# A JDBCJobStore's "DS_NAME" must be the name of one the datasources defined
+# in this file.
+#
+# If you wish all scheduling operations (adding/removing jobs,triggers &
+# calendars) to be performed as part of an XA transaction, then you must
+# specify a second datasource, that contains the XA connections. Specify
+# this datasource where the value "XA_DATA_SOURCE" is in the examples
+# above.
+#
+# A JDBCJobStore's "TABLE_PREFIX" is a string equal to the prefix given to
+# Quartz's tables that were created in your database.
+#
+# JDBCJobStore's "sqlServerStyleBlobs" value should be set to 'true' if you are
+# using MS SQLServer as your db, or if you seem to be having problems with the
+# retrieval of records with Blob columns (Jobs and Calendars)
+#
+# JDBCJobStore's "postgresStyleBlobs" value should be set to 'true' if you are
+# using PostresSQL as your db, or if you seem to be having problems with the
+# retrieval of records with Blob columns (Jobs and Calendars)
+#
+org.quartz.jobStore.class = org.quartz.impl.JDBCJobStore
+org.quartz.jobStore.dataSource = myDS
+org.quartz.jobStore.tablePrefix = QRTZ_
+org.quartz.jobStore.logger = jsLogger
+
+
+# Configure Datasources  ====================================================
+#
+# (only needed when using JDBCJobStore)
+#
+# The general pattern for defining a DataSource is one of the following:
+#
+#     org.quartz.dataSource.NAME.driver = DRIVER_CLASS_NAME
+#     org.quartz.dataSource.NAME.URL = DB_URL
+#     org.quartz.dataSource.NAME.user = DB_USER
+#     org.quartz.dataSource.NAME.password = DB_PASSWORD
+#     org.quartz.dataSource.NAME.maxConnections = DB_POOL_SIZE
+#
+#  or
+#
+#     org.quartz.dataSource.NAME.jndiURL = DB_JNDI_URL
+#
+# The DataSource's "NAME" can be anything you want, and has no meaning other
+# than being able to 'define' a DataSource here, and assign it by name to the
+# JDBCJobStore.
+#
+# With the two types of DataSource definition shown above, a DataSource can
+# either be created with the given database connection information, or can
+# be "logically mapped" to use a DataSource that is managed by an application
+# server an made available via JNDI.
+#
+# "DRIVER_CLASS_NAME" must be the java class name of the JDBC driver for your
+# database.
+#
+# "DB_URL" must be the connection URL (host, port, etc.) for connection to your
+# database.
+#
+# "DB_USER" is the user name to use when connecting to your database.
+#
+# "DB_USER" is the password to use when connecting to your database.
+#
+# "DB_POOL_SIZE" is the maximum number of connections that the DataSource can
+# create in it's pool of connections.
+#
+# "DB_JNDI_URL" is the JNDI URL for a DataSource that is managed by your
+# application server.
+#
+org.quartz.dataSource.myDS.driver = oracle.jdbc.driver.OracleDriver
+org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@10.0.1.23:1521:demodb
+org.quartz.dataSource.myDS.user = mops_proto
+org.quartz.dataSource.myDS.password = mops_proto
+org.quartz.dataSource.myDS.maxConnections = 3
+
+
+
+

src/etc/quartz/example_remote_quartz.properties

+# Properties file for use by StdSchedulerFactory
+# to create a proxy to a remote Quartz Scheduler Instance.
+#
+
+
+# Configure Main Scheduler Properties  ======================================
+#
+# The general pattern for defining the scheduler's main properties is:
+#
+#     org.quartz.scheduler.instanceName = SCHED_NAME
+#     org.quartz.scheduler.instanceId = INSTANCE_ID
+#     org.quartz.scheduler.rmi.proxy = true
+#     org.quartz.scheduler.rmi.registryHost = localhost
+#     org.quartz.scheduler.rmi.registryPort = 1099
+#
+# "SCHED_NAME" must match the name in the config file for the scheduler
+# that is running remotely.
+#
+# "INSTANCE_ID" must match the Id in the config file for the scheduler
+# that is running remotely.
+#
+# RMI notes:  
+#
+# To connect (use) a remotely served scheduler, then set the
+# 'rmi.proxy' flag to true.  You must also then specify a  host and port
+# for the rmiregistry process - which is typically 'localhost' port 1099.
+#
+org.quartz.scheduler.instanceName = Sched1
+org.quartz.scheduler.instanceId = 1
+org.quartz.scheduler.logger = schedLogger
+org.quartz.scheduler.rmi.proxy = true
+org.quartz.scheduler.rmi.registryHost = localhost
+org.quartz.scheduler.rmi.registryPort = 1099
+
+
+# When using a remote-proxy to a scheduler, it does not make sense to
+# specify any other configuration properties... if you do, they will
+# be ignored.

src/etc/quartz/log4j.properties

+log4j.rootCategory=DEBUG, console
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%p [(%c{3})] %m%n

src/etc/quartz/quartz.properties

+# Default Properties file for use by StdSchedulerFactory
+# to create a Quartz Scheduler Instance, if a different
+# properties file is not explicitly specified.
+#
+
+org.quartz.scheduler.instanceName = OSWorkflowQuartzScheduler
+org.quartz.scheduler.logger = schedLogger
+
+org.quartz.logger.schedLogger.class = org.quartz.impl.Log4jLogger
+org.quartz.logger.schedLogger.categoryName = scheduler
+org.quartz.logger.tpLogger.class = org.quartz.impl.Log4jLogger
+org.quartz.logger.tpLogger.categoryName = scheduler.threadPool
+org.quartz.logger.jsLogger.class = org.quartz.impl.Log4jLogger
+org.quartz.logger.jsLogger.categoryName = scheduler.persistence
+
+org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
+org.quartz.threadPool.threadCount = 3
+org.quartz.threadPool.threadPriority = 4
+org.quartz.threadPool.logger = tpLogger
+
+org.quartz.jobStore.class = org.quartz.impl.JDBCJobStore
+org.quartz.jobStore.dataSource = myDS
+org.quartz.jobStore.tablePrefix = QRTZ_
+org.quartz.jobStore.logger = jsLogger
+org.quartz.jobStore.useAlternateBlobs = true
+
+# org.quartz.dataSource.myDS.jndiURL = jdbc/DefaultDS
+org.quartz.dataSource.myDS.driver = org.postgresql.Driver
+org.quartz.dataSource.myDS.URL = jdbc:postgresql://localhost/osworkflow
+org.quartz.dataSource.myDS.user = plightbo
+# org.quartz.dataSource.myDS.password = 
+org.quartz.dataSource.myDS.maxConnections = 3
+

src/etc/quartz/quartzrunner.bat

+rem @echo off
+
+rem The following files must be in this directory:
+rem your JDBC driver
+rem commons-collections.jar
+rem commons-dbcp.jar
+rem commons-pool.jar
+rem log4j.jar
+rem quartz.jar
+rem jdbc.jar
+rem GLUE-STD.jar
+rem servlet.jar
+rem log4j.properties
+rem quartz.properties
+rem and of course, osworkflow.jar
+
+rem !!!!!!! Please read important information. !!!!!!
+rem If "java" is not in your path, please set the path
+rem for Java 2 Runtime Environment in the path variable below
+rem for example :
+rem   SET PATH=D:\jdk1.3.1;%PATH%
+rem
+
+SET QRTZ_CP=commons-collections.jar;commons-dbcp.jar;commons-pool.jar;log4j.jar;quartz.jar;jdbc.jar;osworkflow.jar;GLUE-STD.jar;servlet.jar;.
+
+rem Put the path to your JDBC driver(s) in this variable
+rem for example :
+rem   SET JDBC_CP=d:\repository\java\lib\oracle-1.2.jar
+SET JDBC_CP=pgjdbc2.jar
+
+rem change this to the URL you've bound GLUE to
+SET SOAP_URL=http://localhost/example/glue/oswf.wsdl
+
+"java" "-Dosworkflow.soap.url=%SOAP_URL%" -cp "%QRTZ_CP%;%JDBC_CP%" com.opensymphony.workflow.timer.QuartzRunner

src/etc/quartz/quartzrunner.sh

+#!/bin/sh
+
+# The following files must be in this directory:
+# your JDBC driver
+# commons-collections.jar
+# commons-dbcp.jar
+# commons-pool.jar
+# log4j.jar
+# quartz.jar
+# jdbc.jar
+# GLUE-STD.jar
+# servlet.jar
+# log4j.properties
+# quartz.properties
+# and of course, osworkflow.jar
+
+# Change this to your JDK installation root
+#
+#JAVA_HOME=/usr/local/jdk1.3
+
+JRE=$JAVA_HOME/jre
+JAVA=$JRE/bin/java
+
+QRTZ_CP=commons-collections.jar:commons-dbcp.jar:commons-pool.jar:log4j.jar:quartz.jar:jdbc.jar:osworkflow.jar:GLUE-STD.jar:servlet.jar:.
+JDBC_CP=classes12.zip
+
+# change this to the URL you've bound GLUE to
+SOAP_URL=http://localhost/example/glue/oswf.wsdl
+
+$JAVA "-Dosworkflow.soap.url=$SOAP_URL" -classpath "$QRTZ_CP:JDBC_CP" com.opensymphony.workflow.timer.QuartzRunner

src/etc/quartz/tables_mysql.sql

+#
+# Quartz seems to work best with mm.mysql-2.0.7-bin.jar
+#
+
+DROP TABLE IF EXISTS QRTZ_JOB_LISTENERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGER_LISTENERS;
+DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
+DROP TABLE IF EXISTS QRTZ_CALENDARS;
+
+CREATE TABLE QRTZ_JOB_DETAILS
+  (
+        JOB_NAME  VARCHAR(80) NOT NULL,
+        JOB_GROUP VARCHAR(80) NOT NULL,
+        JOB_CLASS_NAME   VARCHAR(128) NOT NULL,
+        IS_DURABLE VARCHAR(1) NOT NULL,
+        IS_STATEFUL VARCHAR(1) NOT NULL,
+        REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+        JOB_DATA BLOB NULL,
+        PRIMARY KEY (JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_JOB_LISTENERS
+  (
+    JOB_NAME  VARCHAR(80) NOT NULL,
+    JOB_GROUP VARCHAR(80) NOT NULL,
+    JOB_LISTENER VARCHAR(80) NOT NULL,
+    PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
+    FOREIGN KEY (JOB_NAME,JOB_GROUP)
+        REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    JOB_NAME  VARCHAR(80) NOT NULL,
+    JOB_GROUP VARCHAR(80) NOT NULL,
+    NEXT_FIRE_TIME BIGINT(13) NULL,
+    TRIGGER_STATE VARCHAR(16) NOT NULL,
+    TRIGGER_TYPE VARCHAR(8) NOT NULL,
+    START_TIME BIGINT(13) NOT NULL,
+    END_TIME BIGINT(13) NULL,
+    CALENDAR_NAME VARCHAR(80) NULL,
+    MISFIRE_INSTR SMALLINT(2) NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (JOB_NAME,JOB_GROUP)
+        REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    REPEAT_COUNT BIGINT(7) NOT NULL,
+    REPEAT_INTERVAL BIGINT(12) NOT NULL,
+    TIMES_TRIGGERED BIGINT(7) NOT NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_CRON_TRIGGERS
+  (
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    CRON_EXPRESSION VARCHAR(80) NOT NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_TRIGGER_LISTENERS
+  (
+    TRIGGER_NAME  VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    TRIGGER_LISTENER VARCHAR(80) NOT NULL,
+    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
+    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
+        REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE QRTZ_FIRED_TRIGGERS
+  (
+    ENTRY_ID VARCHAR(95) NOT NULL,
+    TRIGGER_NAME VARCHAR(80) NOT NULL,
+    TRIGGER_GROUP VARCHAR(80) NOT NULL,
+    INSTANCE_NAME VARCHAR(80) NOT NULL,
+    FIRED_TIME BIGINT(13) NOT NULL,
+    TRIGGER_STATE VARCHAR(16) NOT NULL,
+    PRIMARY KEY (ENTRY_ID)
+);
+