Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0022062Openbravo ERPA. Platformpublic2012-10-23 11:592013-07-30 14:01
vmromanos 
shankarb 
urgentmajoralways
closedfixed 
20Debian 5.0
 
3.0MP26 
AugustoMauch
Core
No
0022062: '<' character in sqllogic for computed columns
In case you create a computed column where its sqllogic contains the '<' character (or maybe other characters too), the export.database process fails with error:

export.database.structure:
Initializing in-memory model...
Building runtime model
Model read in-memory, generating mapping...
Error parsing XML (17593) : The value of attribute "formula" associated with an element type "property" must not contain the '<' character.
Unable to read XML

BUILD FAILED
/home/openbravo/Mercurial/eclipse-workspaces/openbravo/erp/devel/cws/openbravo/build.xml:746: The following error occurred while executing this line:
/home/openbravo/Mercurial/eclipse-workspaces/openbravo/erp/devel/cws/openbravo/src-db/database/build.xml:155: org.openbravo.base.exception.OBException: org.hibernate.InvalidMappingException: Unable to read XML
    at org.openbravo.base.session.SessionFactoryController.initialize(SessionFactoryController.java:170)
    at org.openbravo.dal.core.DalLayerInitializer.initialize(DalLayerInitializer.java:78)
    at org.openbravo.dal.core.DalInitializingTask.execute(DalInitializingTask.java:109)
    at org.openbravo.ddlutils.task.ExportDatabase.execute(ExportDatabase.java:78)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: org.hibernate.InvalidMappingException: Unable to read XML
    at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)
    at org.hibernate.cfg.Configuration.add(Configuration.java:513)
    at org.hibernate.cfg.Configuration.add(Configuration.java:509)
    at org.hibernate.cfg.Configuration.addXML(Configuration.java:658)
    at org.openbravo.dal.core.DalSessionFactoryController.mapModel(DalSessionFactoryController.java:44)
    at org.openbravo.base.session.SessionFactoryController.initialize(SessionFactoryController.java:143)
    ... 31 more
Caused by: org.dom4j.DocumentException: Error on line 17593 of document : The value of attribute "formula" associated with an element type "property" must not contain the '<' character. Nested exception: The value of attribute "formula" associated with an element type "property" must not contain the '<' character.
    at org.dom4j.io.SAXReader.read(SAXReader.java:482)
    at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)
    ... 36 more

Total time: 26 secondsexport.database.structure:
Initializing in-memory model...
Building runtime model
Model read in-memory, generating mapping...
Error parsing XML (17593) : The value of attribute "formula" associated with an element type "property" must not contain the '<' character.
Unable to read XML

BUILD FAILED
/home/openbravo/Mercurial/eclipse-workspaces/openbravo/erp/devel/cws/openbravo/build.xml:746: The following error occurred while executing this line:
/home/openbravo/Mercurial/eclipse-workspaces/openbravo/erp/devel/cws/openbravo/src-db/database/build.xml:155: org.openbravo.base.exception.OBException: org.hibernate.InvalidMappingException: Unable to read XML
    at org.openbravo.base.session.SessionFactoryController.initialize(SessionFactoryController.java:170)
    at org.openbravo.dal.core.DalLayerInitializer.initialize(DalLayerInitializer.java:78)
    at org.openbravo.dal.core.DalInitializingTask.execute(DalInitializingTask.java:109)
    at org.openbravo.ddlutils.task.ExportDatabase.execute(ExportDatabase.java:78)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: org.hibernate.InvalidMappingException: Unable to read XML
    at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)
    at org.hibernate.cfg.Configuration.add(Configuration.java:513)
    at org.hibernate.cfg.Configuration.add(Configuration.java:509)
    at org.hibernate.cfg.Configuration.addXML(Configuration.java:658)
    at org.openbravo.dal.core.DalSessionFactoryController.mapModel(DalSessionFactoryController.java:44)
    at org.openbravo.base.session.SessionFactoryController.initialize(SessionFactoryController.java:143)
    ... 31 more
Caused by: org.dom4j.DocumentException: Error on line 17593 of document : The value of attribute "formula" associated with an element type "property" must not contain the '<' character. Nested exception: The value of attribute "formula" associated with an element type "property" must not contain the '<' character.
    at org.dom4j.io.SAXReader.read(SAXReader.java:482)
    at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)
    ... 36 more

Total time: 26 seconds





Apart from that, when you compile the system and restart tomcat, you can't login into the application anymore! This is the log:
11034 [main] ERROR org.hibernate.util.xml.ErrorLogger - Error parsing XML (17593) : The value of attribute "formula" associated with an element type "property" must not contain the '<' character.
11037 [main] ERROR org.openbravo.base.exception.OBException - Unable to read XML
org.hibernate.InvalidMappingException: Unable to read XML
    at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)
    at org.hibernate.cfg.Configuration.add(Configuration.java:513)
    at org.hibernate.cfg.Configuration.add(Configuration.java:509)
    at org.hibernate.cfg.Configuration.addXML(Configuration.java:658)
    at org.openbravo.dal.core.DalSessionFactoryController.mapModel(DalSessionFactoryController.java:44)
    at org.openbravo.base.session.SessionFactoryController.initialize(SessionFactoryController.java:143)
    at org.openbravo.dal.core.DalLayerInitializer.initialize(DalLayerInitializer.java:78)
    at org.openbravo.dal.core.DalContextListener.contextInitialized(DalContextListener.java:84)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.dom4j.DocumentException: Error on line 17593 of document : The value of attribute "formula" associated with an element type "property" must not contain the '<' character. Nested exception: The value of attribute "formula" associated with an element type "property" must not contain the '<' character.
    at org.dom4j.io.SAXReader.read(SAXReader.java:482)
    at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)
    ... 22 more
23-oct-2012 11:47:04 org.apache.catalina.core.StandardContext listenerStart
1. Create a computed column that contains the '<' character
2. Try to export.database
3. Run smartbuild and restart tomcat
4. Try to login
No tags attached.
has duplicate defect 0022589 closed AugustoMauch Cannot add SQL based computed column that includes a "less than" character 
Issue History
2012-10-23 11:59vmromanosNew Issue
2012-10-23 11:59vmromanosAssigned To => AugustoMauch
2012-10-23 11:59vmromanosModules => Core
2013-03-05 18:15AugustoMauchRelationship addedhas duplicate 0022589
2013-05-02 10:58AugustoMauchAssigned ToAugustoMauch => shankarb
2013-07-28 10:06shankarbReview Assigned To => AugustoMauch
2013-07-28 10:06shankarbTriggers an Emergency Pack => No
2013-07-28 10:06shankarbIssue Monitored: AugustoMauch
2013-07-28 10:07hgbotCheckin
2013-07-28 10:07hgbotNote Added: 0060323
2013-07-28 10:07hgbotStatusnew => resolved
2013-07-28 10:07hgbotResolutionopen => fixed
2013-07-28 10:07hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/a7d18790a5d308332e8d2eeabd2907ae7f4aac00 [^]
2013-07-29 01:16hudsonbotCheckin
2013-07-29 01:16hudsonbotNote Added: 0060333
2013-07-30 14:01AugustoMauchNote Added: 0060377
2013-07-30 14:01AugustoMauchStatusresolved => closed
2013-07-30 14:01AugustoMauchFixed in Version => 3.0MP26

Notes
(0060323)
hgbot   
2013-07-28 10:07   
Repository: erp/devel/pi
Changeset: a7d18790a5d308332e8d2eeabd2907ae7f4aac00
Author: Shankar Balachandran <shankar.balachandran <at> openbravo.com>
Date: Sun Jul 28 13:35:35 2013 +0530
URL: http://code.openbravo.com/erp/devel/pi/rev/a7d18790a5d308332e8d2eeabd2907ae7f4aac00 [^]

Fixes Issue 0022062: '<' character in sqllogic for computed columns

Escaped html characters in sql logic using StringEscapeUtils.

---
M src/org/openbravo/dal/core/DalMappingGenerator.java
---
(0060333)
hudsonbot   
2013-07-29 01:16   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/d55ee042ad3f [^]

Maturity status: Test
(0060377)
AugustoMauch   
2013-07-30 14:01   
Code reviewed and verified in pi@ade9887c6907.

This sqllogic was used to test this issue (table FIN_Financial_Account, column lastreconciliation):

(select max(fr.dateto) from fin_financial_account ff , fin_reconciliation fr
where ff.fin_financial_account_id=fr.fin_financial_account_id
and ff.fin_financial_account_id=fin_financial_account_id
and ff.currentBalance > 10000)