ballerina-platform / ballerina-lang

The Ballerina Programming Language
https://ballerina.io/
Apache License 2.0
3.66k stars 751 forks source link

XML to String conversion sample fails on IBM JDK 1.8 #2038

Closed gvasanka closed 7 years ago

gvasanka commented 7 years ago

Following ballerina program runs successfully on Oracle JDK 1.8 But getting following issue[2] when running with IBM JDK 1.7

[1] TestJSONFunctions.txt

Issue: [2]

asankav@asankav-ThinkPad-T540p:~/Downloads/bal/ballerina-tools-0.8.0-SNAPSHOT/bin$ ./ballerina run main /home/asankav/svn/ballerina_test/programs/artifacts/QAScenarios/ValidateJSON/TestJSONFunctions.bal 
EMPTY JSON: {}
===================SAMPLE 1====================
Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: logs/carbon.log.lck
java.nio.file.NoSuchFileException: logs/carbon.log.lck
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:98)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:114)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:119)
    at sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:189)
    at java.nio.channels.FileChannel.open(FileChannel.java:298)
    at java.nio.channels.FileChannel.open(FileChannel.java:346)
    at java.util.logging.FileHandler.openFiles(FileHandler.java:470)
    at java.util.logging.FileHandler.<init>(FileHandler.java:274)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1899)
    at java.util.logging.LogManager$5.run(LogManager.java:977)
    at java.security.AccessController.doPrivileged(AccessController.java:594)
    at java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:969)
    at java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:1589)
    at java.util.logging.LogManager.access$1500(LogManager.java:156)
    at java.util.logging.LogManager$RootLogger.accessCheckedHandlers(LogManager.java:1678)
    at java.util.logging.Logger.getHandlers(Logger.java:1787)
    at java.util.logging.Logger.log(Logger.java:746)
    at java.util.logging.Logger.doLog(Logger.java:776)
    at java.util.logging.Logger.logp(Logger.java:941)
    at org.apache.commons.logging.impl.Jdk14Logger.log(Jdk14Logger.java:87)
    at org.apache.commons.logging.impl.Jdk14Logger.warn(Jdk14Logger.java:260)
    at org.apache.axiom.util.stax.dialect.StAXDialectDetector.detectDialect(StAXDialectDetector.java:214)
    at org.apache.axiom.util.stax.dialect.StAXDialectDetector.getDialect(StAXDialectDetector.java:199)
    at org.apache.axiom.util.stax.dialect.StAXDialectDetector.getDialect(StAXDialectDetector.java:163)
    at org.apache.axiom.util.stax.dialect.StAXDialectDetector.getDialect(StAXDialectDetector.java:177)
    at org.apache.axiom.om.util.StAXUtils$1.run(StAXUtils.java:447)
    at org.apache.axiom.om.util.StAXUtils$1.run(StAXUtils.java:425)
    at java.security.AccessController.doPrivileged(AccessController.java:594)
    at org.apache.axiom.om.util.StAXUtils.newXMLInputFactory(StAXUtils.java:425)
    at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory_perClassLoader(StAXUtils.java:495)
    at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory(StAXUtils.java:168)
    at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory(StAXUtils.java:133)
    at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:208)
    at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:202)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.<init>(StAXOMBuilder.java:154)
    at org.ballerinalang.model.values.BXML.<init>(BXML.java:70)
    at org.ballerinalang.nativeimpl.lang.typemappers.JSONToXML.convertJSONString(JSONToXML.java:107)
    at org.ballerinalang.nativeimpl.lang.typemappers.JSONToXML.convert(JSONToXML.java:69)
    at org.ballerinalang.natives.AbstractNativeTypeMapper.convertNative(AbstractNativeTypeMapper.java:135)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:916)
    at org.ballerinalang.model.expressions.TypeCastExpression.execute(TypeCastExpression.java:111)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:157)
    at org.ballerinalang.model.statements.VariableDefStmt.execute(VariableDefStmt.java:66)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:138)
    at org.ballerinalang.model.statements.BlockStmt.execute(BlockStmt.java:64)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:605)
    at org.ballerinalang.model.expressions.FunctionInvocationExpr.executeMultiReturn(FunctionInvocationExpr.java:106)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:289)
    at org.ballerinalang.model.statements.FunctionInvocationStmt.execute(FunctionInvocationStmt.java:51)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:138)
    at org.ballerinalang.model.statements.BlockStmt.execute(BlockStmt.java:64)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:605)
    at org.ballerinalang.model.expressions.FunctionInvocationExpr.executeMultiReturn(FunctionInvocationExpr.java:106)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:289)
    at org.ballerinalang.model.statements.FunctionInvocationStmt.execute(FunctionInvocationStmt.java:51)
    at org.ballerinalang.bre.BLangExecutor.visit(BLangExecutor.java:138)
    at org.ballerinalang.model.statements.BlockStmt.execute(BlockStmt.java:64)
    at org.ballerinalang.BLangProgramRunner.runMain(BLangProgramRunner.java:126)
    at org.ballerinalang.launcher.BProgramRunner.runMain(BProgramRunner.java:50)
    at org.ballerinalang.launcher.Main$RunMainCmd.execute(Main.java:364)
    at org.ballerinalang.launcher.Main$RunCmd.execute(Main.java:296)
    at org.ballerinalang.launcher.Main$$Lambda$8.00000000FC8A48D0.accept(Unknown Source)
    at java.util.Optional.ifPresent(Optional.java:170)
    at org.ballerinalang.launcher.Main.main(Main.java:50)
[2017-02-20 10:20:26,663]  WARNING {org.apache.axiom.util.stax.dialect.StAXDialectDetector detectDialect} - Unable to determine dialect of the StAX implementation at jar:file:/home/asankav/Downloads/bal/ballerina-tools-0.8.0-SNAPSHOT/bre/lib/swagger-ballerina-generator-0.8.0.jar!/  
JSONtoXMLtoSting: ================ <jsonObject>
    <glossary>
        <title>example glossary</title>
        <GlossDiv>
            <title>S</title>
            <GlossList>
                <GlossEntry>
                    <ID>SGML</ID>
                    <SortAs>SGML</SortAs>
                    <GlossTerm>Standard Generalized Markup Language</GlossTerm>
                    <Acronym>SGML</Acronym>
                    <Abbrev>ISO 8879:1986</Abbrev>
                    <GlossDef>
                        <para>A meta-markup language, used to create markup languages such as DocBook.</para>
                        <GlossSeeAlso>GML</GlossSeeAlso>
                        <GlossSeeAlso>XML</GlossSeeAlso>
                    </GlossDef>
                    <GlossSee>markup</GlossSee>
                </GlossEntry>
            </GlossList>
        </GlossDiv>
    </glossary>
</jsonObject>
error in ballerina program: failed to create json: No content to map due to end-of-input
 at [Source: java.io.ByteArrayInputStream@c466e6a8; line: 1, column: 1]
     at ballerina.lang.typemappers:.xml->.json(TestJSONFunctions.bal:278)
     at testJsonCasting(TestJSONFunctions.bal:40)
     at testJson(TestJSONFunctions.bal:7)
     at main(TestJSONFunctions.bal:5)
chanakaudaya commented 7 years ago

Fixed with GA