Ok, my first set of changes is done and I would like your review and approval for merging back to trunk before I go on. I did my best to proceed step by step and to document my changes in atomic commits with enough details in the commit log; below you will find the log history of my commits for easy reference. I would like to mention that these changes are "internal" to the framework and will not require any changes to the client code (e.g. native or custom application). After each commit I made sure that all tests were successful and I am confident that they will not introduce any instability. Of course I am here to provide further details, a summary of changes etc...
Thanks for your time, Jacopo ------------------------------------------------------------------------ r1620316 | jacopoc | 2014-08-25 15:02:26 +0200 (Mon, 25 Aug 2014) | 2 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/dtd/entity-config.xsd M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactoryLoader.java Made connection-factory element in entityengine.xml optional: in fact there are transaction managers that do not depend an external connection pool because it is already integrated (e.g. Atomikos Transaction Essentials). ------------------------------------------------------------------------ r1620288 | jacopoc | 2014-08-25 11:51:23 +0200 (Mon, 25 Aug 2014) | 2 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java Cleaned up a few more debug statements. ------------------------------------------------------------------------ r1620286 | jacopoc | 2014-08-25 11:48:16 +0200 (Mon, 25 Aug 2014) | 2 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java Removed some old deprecated methods; removed some old comments; fixed some typos in comments and logs; removed redundant class name from log messages. ------------------------------------------------------------------------ r1620280 | jacopoc | 2014-08-25 11:07:10 +0200 (Mon, 25 Aug 2014) | 4 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/common/src/org/ofbiz/common/CommonServices.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java Two small optimizations to TransactionUtil: * since the information stored in allThreadsTransactionBeginStack and allThreadsTransactionBeginStackSave was only used when the log INFO level was ON, now they are not populated if it is OFF * instead of reading the value of debugResources from EntityConfig everytime, now it does only at initialization ------------------------------------------------------------------------ r1620260 | jacopoc | 2014-08-25 08:26:02 +0200 (Mon, 25 Aug 2014) | 2 lines Changed paths: M /ofbiz/branches/framework-api-cleanup M /ofbiz/branches/framework-api-cleanup/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java M /ofbiz/branches/framework-api-cleanup/framework/common/src/org/ofbiz/common/UrlServletHelper.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/util/EntityUtil.java M /ofbiz/branches/framework-api-cleanup/framework/entityext/src/org/ofbiz/entityext/data/EntityDataLoadContainer.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java Merged latest trunk changes ------------------------------------------------------------------------ r1619999 | jacopoc | 2014-08-23 12:13:28 +0200 (Sat, 23 Aug 2014) | 2 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/config/entityengine.xml D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java A /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbTransactionFactory.java (from /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java:1619995) D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java A /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDITransactionFactory.java (from /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java:1619995) Renamed DumbFactory into DumbTransactionFactory. Renamed JNDIFactory into JNDITransactionFactory. ------------------------------------------------------------------------ r1619995 | jacopoc | 2014-08-23 11:47:22 +0200 (Sat, 23 Aug 2014) | 2 lines Changed paths: A /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/ConnectionFactory.java (from /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/ConnectionFactoryInterface.java:1619965) D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/ConnectionFactoryInterface.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactoryLoader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java A /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactory.java (from /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryInterface.java:1619965) D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryInterface.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryLoader.java M /ofbiz/branches/framework-api-cleanup/framework/geronimo/src/org/ofbiz/geronimo/GeronimoTransactionFactory.java Renamed ConnectionFactoryInterface into ConnectionFactory. Renamed TransactionFactoryInterface into TransactionFactory. ------------------------------------------------------------------------ r1619986 | jacopoc | 2014-08-23 10:38:37 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java Fix for javadoc comment to reflect recent modifications to the API ------------------------------------------------------------------------ r1619985 | jacopoc | 2014-08-23 10:28:50 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java A /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactoryLoader.java (from /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java:1619984) M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/util/SequenceUtil.java M /ofbiz/branches/framework-api-cleanup/framework/geronimo/src/org/ofbiz/geronimo/GeronimoTransactionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/DataVisionViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsJXlsViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsPdfViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsPoiXlsViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsXmlViewHandler.java Renamed the class org.ofbiz.entity.jdbc.ConnectionFactory into org.ofbiz.entity.jdbc.ConnectionFactoryLoader: this name better describes its purpose. ------------------------------------------------------------------------ r1619984 | jacopoc | 2014-08-23 10:19:21 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java Moved the logic to create unmanaged connections from ConnectionFactory to DatabaseUtil where it made more sense (it is the only place where it can be used, so made it private). ------------------------------------------------------------------------ r1619982 | jacopoc | 2014-08-23 10:06:22 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java M /ofbiz/branches/framework-api-cleanup/framework/geronimo/src/org/ofbiz/geronimo/GeronimoTransactionFactory.java Removed all the wrappers methods around ConnectionFactoryInterface methods: they are not required now that the client code can use the interface methods. ------------------------------------------------------------------------ r1619981 | jacopoc | 2014-08-23 09:56:08 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java Small simplification: thread safety is now implemented using a static initialization rather than an AtomicReference. ------------------------------------------------------------------------ r1619979 | jacopoc | 2014-08-23 09:36:25 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/util/SequenceUtil.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/DataVisionViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsJXlsViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsPdfViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsPoiXlsViewHandler.java M /ofbiz/branches/framework-api-cleanup/framework/webapp/src/org/ofbiz/webapp/view/JasperReportsXmlViewHandler.java Removed dependency of ConnectionFactory on TransactionFactoryLoader. ------------------------------------------------------------------------ r1619978 | jacopoc | 2014-08-23 09:32:08 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java Removed unused method. ------------------------------------------------------------------------ r1619977 | jacopoc | 2014-08-23 09:18:39 +0200 (Sat, 23 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java Call the overloaded method instead of duplicating its content. ------------------------------------------------------------------------ r1619976 | jacopoc | 2014-08-23 09:03:04 +0200 (Sat, 23 Aug 2014) | 2 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/applications/product/src/org/ofbiz/product/product/ProductSearch.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/GenericDelegator.java D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/EntityConfigUtil.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/DelegatorElement.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/ReadData.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/Resource.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/ResourceLoader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/SqlLoadPath.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/TransactionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/TransactionManagerJndi.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/TyrexDataSource.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/config/model/UserTransactionJndi.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/datasource/GenericDAO.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/datasource/GenericHelperFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/datasource/MemoryHelper.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/SQLProcessor.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/model/ModelEntity.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/model/ModelFieldTypeReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/model/ModelGroupReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/model/ModelReader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryLoader.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java M /ofbiz/branches/framework-api-cleanup/framework/entityext/src/org/ofbiz/entityext/eca/EntityEcaUtil.java M /ofbiz/branches/framework-api-cleanup/framework/geronimo/src/org/ofbiz/geronimo/GeronimoTransactionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/service/src/org/ofbiz/service/DispatchContext.java M /ofbiz/branches/framework-api-cleanup/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java M /ofbiz/branches/framework-api-cleanup/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelReferences.java M /ofbiz/branches/framework-api-cleanup/framework/webtools/webapp/webtools/entity/ModelWriter.jsp EntityConfig now implements the singleton pattern; thread safety is implemented with a static initialization. Removed the EntityConfigUtil class whose main purpose was to guarantee that only one instance of EntityConfig would be initialized (no more required since now EntityConfig is a singleton); moved a couple of its static methods to the EntityConfig class. ------------------------------------------------------------------------ r1619872 | jacopoc | 2014-08-22 19:32:59 +0200 (Fri, 22 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryInterface.java Fix for wrong class name in Javadoc ------------------------------------------------------------------------ r1619871 | jacopoc | 2014-08-22 19:29:46 +0200 (Fri, 22 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/GenericXaResource.java D /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryInterface.java A /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactoryLoader.java (from /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactory.java:1619868) M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java M /ofbiz/branches/framework-api-cleanup/framework/service/src/org/ofbiz/service/ServiceSynchronization.java Renamed the class org.ofbiz.entity.transaction.TransactionFactory into org.ofbiz.entity.transaction.TransactionFactoryLoader: this name better describe its purpose. ------------------------------------------------------------------------ r1619868 | jacopoc | 2014-08-22 19:19:54 +0200 (Fri, 22 Aug 2014) | 4 lines Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/jdbc/ConnectionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/DumbFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/GenericXaResource.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/JNDIFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactory.java M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionUtil.java M /ofbiz/branches/framework-api-cleanup/framework/service/src/org/ofbiz/service/ServiceSynchronization.java Removed all but one of the (static) method of TransactionFactory: * getCursorConnection(...) has been moved to TransactionUtil where it makes more sense * removed all the wrappers method around TransactionFactoryInterface methods: they are not required now that the client code can use the interface methods ------------------------------------------------------------------------ r1619858 | jacopoc | 2014-08-22 18:30:41 +0200 (Fri, 22 Aug 2014) | 1 line Changed paths: M /ofbiz/branches/framework-api-cleanup/framework/entity/src/org/ofbiz/entity/transaction/TransactionFactory.java Small simplification: thread safety is now implemented using a static initialization rather than an AtomicReference. ------------------------------------------------------------------------ r1619853 | jacopoc | 2014-08-22 18:04:03 +0200 (Fri, 22 Aug 2014) | 2 lines Changed paths: A /ofbiz/branches/framework-api-cleanup (from /ofbiz/trunk:1619852) Experimental branch to implement some framework API cleanup. ------------------------------------------------------------------------ On Aug 22, 2014, at 4:41 PM, Adrian Crum <[email protected]> wrote: > That sounds wonderful! > > Adrian Crum > Sandglass Software > www.sandglass-software.com > > On 8/22/2014 3:21 PM, Jacopo Cappellato wrote: >> Is it ok if I create a new experimental branch to implement some framework >> API cleanup that I am currently working on? >> >> Jacopo >>
