Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0014190Openbravo ERP00. Application dictionarypublic2010-08-15 23:212022-02-01 08:08
rafaroda 
Triage Platform Base 
lowmajoralways
acknowledgedopen 
20Community Appliance
2.50MP20 
 
Core
No
0014190: Can't export module developed with non-Western base language
Modules with base language Japanese (or any other language with no Western characters) can not be exported. Besides, the Java generated in src-gen is not usable since characters are not correctly parsed. Characters, even with accents, are not properly parsed generating odd Java classes, for instance public final static String PROPERTY_ = "";

See error output:

generate.entities.quick:
 [workflow] Adding param: /opt/OpenbravoERP/src/org/openbravo/base/gen/gen_entity.oaw
 [workflow] Adding param: -pob.properties.location=/opt/OpenbravoERP/config/Openbravo.properties
 [workflow] Adding param: -pbase.src.gen=/opt/OpenbravoERP/src-gen
 [workflow] Adding param: --ant
 [workflow] 2 [main] ERROR de.hunsicker.jalopy.language.java - PARSER_ERROR
 [workflow] /tmp/hybridlabs-beautifier1041962550425130696java:70:58: expecting TRIPLE_DOT, found ')'
 [workflow] at antlr.Parser.match(Parser.java:211)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.variableLengthParameterDeclaration(InternalJavaParser.java:5146)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.parameterDeclarationList(InternalJavaParser.java:4043)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.classField(InternalJavaParser.java:3018)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.classBlock(InternalJavaParser.java:2457)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.classDefinition(InternalJavaParser.java:710)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.typeDefinitionInternal(InternalJavaParser.java:632)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.typeDefinition(InternalJavaParser.java:465)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.parse(InternalJavaParser.java:296)
 [workflow] at de.hunsicker.jalopy.language.JavaRecognizer.parse(JavaRecognizer.java:588)
 [workflow] at de.hunsicker.jalopy.Jalopy.parse(Jalopy.java:1226)
 [workflow] at org.hybridlabs.source.beautifier.JavaBeautifier.createJavaNode(JavaBeautifier.java:64)
 [workflow] at org.hybridlabs.source.beautifier.JavaImportBeautifierImpl.organizeImports(JavaImportBeautifierImpl.java:155)
 [workflow] at org.hybridlabs.source.beautifier.JavaImportBeautifierImpl.beautify(JavaImportBeautifierImpl.java:127)
 [workflow] at org.hybridlabs.source.formatter.JavaImportBeautifier.beautify(JavaImportBeautifier.java:72)
 [workflow] at org.openbravo.base.gen.OBJavaBeautifier.beautify(OBJavaBeautifier.java:51)
 [workflow] at org.hybridlabs.source.formatter.JavaImportBeautifier.beforeWriteAndClose(JavaImportBeautifier.java:124)
 [workflow] at org.openarchitectureware.xpand2.output.Outlet.beforeWriteAndClose(Outlet.java:97)
 [workflow] at org.openarchitectureware.xpand2.output.FileHandleImpl.writeAndClose(FileHandleImpl.java:91)
 [workflow] at org.openarchitectureware.xpand2.output.OutputImpl.closeFile(OutputImpl.java:150)
 [workflow] at org.openarchitectureware.xpand2.ast.FileStatement.evaluateInternal(FileStatement.java:85)
 [workflow] at org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:37)
 [workflow] at org.openarchitectureware.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:171)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:198)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:148)
 [workflow] at org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:37)
 [workflow] at org.openarchitectureware.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:171)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:198)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:170)
 [workflow] at org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:37)
 [workflow] at org.openarchitectureware.xpand2.Generator.invokeInternal2(Generator.java:247)
 [workflow] at org.openarchitectureware.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:164)
 [workflow] at org.openarchitectureware.workflow.lib.AbstractWorkflowComponent2.invoke(AbstractWorkflowComponent2.java:38)
 [workflow] at org.openarchitectureware.workflow.container.CompositeComponent.internalInvoke(CompositeComponent.java:95)
 [workflow] at org.openarchitectureware.workflow.container.CompositeComponent.invoke(CompositeComponent.java:84)
 [workflow] at org.openarchitectureware.workflow.WorkflowRunner.executeWorkflow(WorkflowRunner.java:339)
 [workflow] at org.openarchitectureware.workflow.WorkflowRunner.run(WorkflowRunner.java:256)
 [workflow] at org.openarchitectureware.workflow.WorkflowRunner.main(WorkflowRunner.java:208)
 [workflow] 147 [main] ERROR org.hybridlabs.source.beautifier.JavaImportBeautifierImpl - Error during beautification. Content:
 [workflow] /*
 [workflow] *************************************************************************
 [workflow] * The contents of this file are subject to the Openbravo Public License
 [workflow] * Vers...
 [workflow] /tmp/hybridlabs-beautifier1041962550425130696java:72:5: expecting EOF, found '}'
 [workflow] at antlr.Parser.match(Parser.java:211)
 [workflow] at de.hunsicker.jalopy.language.antlr.InternalJavaParser.parse(InternalJavaParser.java:308)
 [workflow] at de.hunsicker.jalopy.language.JavaRecognizer.parse(JavaRecognizer.java:588)
 [workflow] at de.hunsicker.jalopy.Jalopy.parse(Jalopy.java:1226)
 [workflow] at org.hybridlabs.source.beautifier.JavaBeautifier.createJavaNode(JavaBeautifier.java:64)
 [workflow] at org.hybridlabs.source.beautifier.JavaImportBeautifierImpl.organizeImports(JavaImportBeautifierImpl.java:155)
 [workflow] at org.hybridlabs.source.beautifier.JavaImportBeautifierImpl.beautify(JavaImportBeautifierImpl.java:127)
 [workflow] at org.hybridlabs.source.formatter.JavaImportBeautifier.beautify(JavaImportBeautifier.java:72)
 [workflow] at org.openbravo.base.gen.OBJavaBeautifier.beautify(OBJavaBeautifier.java:51)
 [workflow] at org.hybridlabs.source.formatter.JavaImportBeautifier.beforeWriteAndClose(JavaImportBeautifier.java:124)
 [workflow] at org.openarchitectureware.xpand2.output.Outlet.beforeWriteAndClose(Outlet.java:97)
 [workflow] at org.openarchitectureware.xpand2.output.FileHandleImpl.writeAndClose(FileHandleImpl.java:91)
 [workflow] at org.openarchitectureware.xpand2.output.OutputImpl.closeFile(OutputImpl.java:150)
 [workflow] at org.openarchitectureware.xpand2.ast.FileStatement.evaluateInternal(FileStatement.java:85)
 [workflow] at org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:37)
 [workflow] at org.openarchitectureware.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:171)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:198)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:148)
 [workflow] at org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:37)
 [workflow] at org.openarchitectureware.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:171)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:198)
 [workflow] at org.openarchitectureware.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:170)
 [workflow] at org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:37)
 [workflow] at org.openarchitectureware.xpand2.Generator.invokeInternal2(Generator.java:247)
 [workflow] at org.openarchitectureware.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:164)
 [workflow] at org.openarchitectureware.workflow.lib.AbstractWorkflowComponent2.invoke(AbstractWorkflowComponent2.java:38)
 [workflow] at org.openarchitectureware.workflow.container.CompositeComponent.internalInvoke(CompositeComponent.java:95)
 [workflow] at org.openarchitectureware.workflow.container.CompositeComponent.invoke(CompositeComponent.java:84)
 [workflow] at org.openarchitectureware.workflow.WorkflowRunner.executeWorkflow(WorkflowRunner.java:339)
 [workflow] at org.openarchitectureware.workflow.WorkflowRunner.run(WorkflowRunner.java:256)
 [workflow] at org.openarchitectureware.workflow.WorkflowRunner.main(WorkflowRunner.java:208)
    [javac] Compiling 473 source files to /opt/OpenbravoERP/build/classes
    [javac] /opt/OpenbravoERP/src-gen/org/openbravo/example/spanish/SALARY.java:70: <identifier> expected
    [javac] public void set(org.openbravo.model.ad.system.Client ) {
    [javac] ^
    [javac] /opt/OpenbravoERP/src-gen/org/openbravo/example/spanish/SALARY.java:71: illegal start of expression
    [javac] set(PROPERTY_, );
    [javac] ^
    [javac] 2 errors
Having installed the Japanese Translation module http://forge.openbravo.com/projects/JpnTrans [^]

0) Create a new module with language Japanese (Japan) selected [0]
1) Develop a new window for this module [1]. Don't forget to Synchronize Terminology!
2) ant export.database

[0] http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/How_To_Create_and_Package_a_Module [^]
[1] http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/How_to_develop_a_new_window [^]
Do not allow to insert non-basic characters in the column names.
dev-platform-quick-wins
related to defect 0014184 closed alostale Warning when exporting dataset not informed before 
related to defect 0014173 closed mtaal Can't export module developed in Spanish: INCORRECT_CLIENT_ORG_PROPERTY_NAME 
related to feature request 0013275 new Triage Platform Base Invalid dataset name should be checked when entering it (via a callout) instead of only on export 
? OBJECTIVE.java (5,661) 2010-08-16 00:11
https://issues.openbravo.com/file_download.php?file_id=2864&type=bug
Issue History
2010-08-15 23:21rafarodaNew Issue
2010-08-15 23:21rafarodaAssigned To => alostale
2010-08-15 23:21rafarodaRelationship addedrelated to 0014173
2010-08-15 23:21rafarodaIssue Monitored: rafaroda
2010-08-15 23:22rafarodaNote Added: 0029968
2010-08-16 00:11rafarodaFile Added: OBJECTIVE.java
2010-08-16 00:11rafarodaNote Added: 0029969
2010-08-16 08:05alostaleAssigned Toalostale => mtaal
2010-08-16 08:05alostaleStatusnew => scheduled
2010-08-16 11:04rafarodaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=680#r680
2010-08-17 18:51rafarodaAssigned Tomtaal => alostale
2010-08-17 18:51rafarodaProposed Solution updated
2010-08-18 09:10rafarodaRelationship addedrelated to 0014184
2010-08-30 15:37rafarodaTag Attached: dev-platform-quick-wins
2010-08-30 16:39rafarodaRelationship addedrelated to 0013275
2012-03-06 12:29alostaleTypedefect => design defect
2012-09-24 23:31AugustoMauchNote Added: 0052485
2012-09-24 23:31AugustoMauchPrioritynormal => low
2017-03-31 14:36alostaleStatusscheduled => acknowledged
2017-04-10 14:34alostaleAssigned Toalostale => platform
2022-02-01 08:08alostaleAssigned Toplatform => Triage Platform Base

Notes
(0029968)
rafaroda   
2010-08-15 23:22   
Any language can be used as a base for a module http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Multi-Language_and_Translations#Module.27s_language [^]

See also related issue 0014173 Can't export module developed in Spanish: INCORRECT_CLIENT_ORG_PROPERTY_NAME
(0029969)
rafaroda   
2010-08-16 00:11   
Please notice that the code generated in src-gen for a module with base language Spanish is in the form (see file OBJECTIVE.java attached):
* public static final String PROPERTY_ENTIDAD = "entidad";
* public static final String PROPERTY_ORGANIZACIN = "organizacin"; (notice that รณ has been skipped)
* public void setEntidad(Client entidad) {
        set(PROPERTY_ENTIDAD, entidad);
    }
* public Organization getOrganizacin() {
        return (Organization) get(PROPERTY_ORGANIZACIN);
    }
* public void setDescripcin(String descripcin) {
        set(PROPERTY_DESCRIPCIN, descripcin);
    }
* public void setCreadoPor(User creadoPor) {
        set(PROPERTY_CREADOPOR, creadoPor);
    }
(0052485)
AugustoMauch   
2012-09-24 23:31   
Impact: low
Plan: long