From: Zenaan H. <ze...@fr...> - 2006-09-19 15:00:55
|
Hi, I have two alternatives, of files stored in minimalOutput format using jyaml: 1) columns: - name: colA - name: colB field2: colB database: up name: upm owner: upma schema: upmar tablespace: upmart withoids: true 2) columns: - name: colA - name: colB field2: colB database: up name: upm owner: upma schema: upmar tablespace: upmart withoids: true Version 1) loads fine, but version 2) spits out an error: org.ho.yaml.YamlParserException: java.lang.NullPointerException at org.ho.yaml.YamlDecoder.readObjectOfType(Unknown Source) at org.ho.yaml.YamlConfig.loadType(Unknown Source) at org.ho.yaml.YamlConfig.loadType(Unknown Source) at org.ho.yaml.Yaml.loadType(Unknown Source) at ut.adt.Table.main(Table.java:41) Caused by: java.lang.NullPointerException at org.ho.yaml.ReflectionUtil.getPropertyDescriptor(Unknown Source) at org.ho.yaml.ReflectionUtil.hasProperty(Unknown Source) at org.ho.yaml.MapState.createObject(Unknown Source) at org.ho.yaml.State.openMap(Unknown Source) at org.ho.yaml.State.nextOnEvent(Unknown Source) at org.ho.yaml.MapState.nextOnEvent(Unknown Source) at org.ho.yaml.JYamlParserEvent.event(Unknown Source) at yaml.parser.YamlParser.nmap_inlist(Unknown Source) at yaml.parser.YamlParser.nlist_entry(Unknown Source) at yaml.parser.YamlParser.nlist(Unknown Source) at yaml.parser.YamlParser.value_nested(Unknown Source) at yaml.parser.YamlParser.loose_value(Unknown Source) at yaml.parser.YamlParser.nmap_entry(Unknown Source) at yaml.parser.YamlParser.nmap(Unknown Source) at yaml.parser.YamlParser.value_nested(Unknown Source) at yaml.parser.YamlParser.value_na(Unknown Source) at org.ho.yaml.YamlDecoder.firstDocument(Unknown Source) ... 5 more Evidently, when the column entities/classes in the 'array' of columns, is loaded into the Table entity/class, the fact that the Column entity only has one data field is significant; as in, "crash depending on the file layout" significant. Because Column class has only one field, option 1) still produces a warning, but not an error: $ j ut.adt.Table WARNING: Can't set field2 field on C(colB) with value null java.lang.NoSuchFieldException: field2 before continuing to load the yaml file without problems. Is this an error in the jyaml parser or simply in the data? With these yaml files, which are intended to be hand-created, it will be easy for people to type in as version 2), although I guess that the errors will evidently show quickly enough... Thanks Zenaan -- Free Australia - www.UPMART.org Please respect the confidentiality of this email as sensibly warranted. |
From: Chris R. <cro...@di...> - 2006-09-19 15:15:57
|
On Sep 19, 2006, at 11:00 AM, Zenaan Harkness wrote: > Hi, I have two alternatives, of files stored in minimalOutput format > using jyaml: > > Is this an error in the jyaml parser or simply in the data? > > With these yaml files, which are intended to be hand-created, it > will be easy for people to type in as version 2), although I guess > that the errors will evidently show quickly enough... I don't have a real answer to your question, and am not familiar with jyaml. But, I have a config-file-parser I recently wrote using libyaml ( http://pyyaml.org/wiki/LibYAML ), and the sequence of events libyaml returns when parsing your two example documents are the same. It returns only a one-pair mapping as the first node in the sequence. So, that would suggest it's a jyaml problem. Again, I don't know that for sure, just providing another datapoint in case it might be useful. - Chris |
From: Kirill S. <xi...@ga...> - 2006-09-19 17:17:56
|
Hi Zenaan, On Wed, Sep 20, 2006 at 01:00:31AM +1000, Zenaan Harkness wrote: > Hi, I have two alternatives, of files stored in minimalOutput format > using jyaml: > > 1) > columns: > - > name: colA > - name: colB > field2: colB > database: up > name: upm > owner: upma > schema: upmar > tablespace: upmart > withoids: true > > > 2) > columns: > - name: colA > - name: colB > field2: colB > database: up > name: upm > owner: upma > schema: upmar > tablespace: upmart > withoids: true Both examples are syntaxically correct and should produce identical results. Have you tried to use Ola Bini's jvyaml: https://jvyaml.dev.java.net/ ? It might work better in this case. -- xi |
From: Zenaan H. <ze...@fr...> - 2006-09-20 01:11:45
|
On Tue, Sep 19, 2006 at 08:18:45PM +0300, Kirill Simonov wrote: > Hi Zenaan, > > On Wed, Sep 20, 2006 at 01:00:31AM +1000, Zenaan Harkness wrote: > > Hi, I have two alternatives, of files stored in minimalOutput format > > using jyaml: > > > > 1) > > columns: > > - > > name: colA > > - name: colB > > field2: colB > > database: up > > name: upm > > owner: upma > > schema: upmar > > tablespace: upmart > > withoids: true > > > > > > 2) > > columns: > > - name: colA > > - name: colB > > field2: colB > > database: up > > name: upm > > owner: upma > > schema: upmar > > tablespace: upmart > > withoids: true > > Both examples are syntaxically correct and should produce identical > results. Have you tried to use Ola Bini's jvyaml: > https://jvyaml.dev.java.net/ ? It might work better in this case. Thank you very much. Certainly parses both without the error. I javadocced the source so I could figure out how to use it. The lack of ability to dump makes debugging a little harder... Do you know what is involved in adding this functionality, as in, can you give me a set of steps that would need to be done? However I get an error trying to load my file into a bean/class/adt: yaml.class= class org.jvyaml.PrivateType yaml= #<PrivateType tag: !ut.adt.Table value: {tablespace=... How can I get jvyaml to load my file, with header: --- !ut.adt.Table into the java class ut.adt.Table? Thanks again Zenaan -- Free Australia - www.UPMART.org Please respect the confidentiality of this email as sensibly warranted. |
From: <in...@tt...> - 2006-09-19 19:02:26
|
On 20/09/06 01:00 +1000, Zenaan Harkness wrote: > Hi, I have two alternatives, of files stored in minimalOutput format > using jyaml: > > 1) > columns: > - > name: colA > - name: colB > field2: colB > database: up > name: upm > owner: upma > schema: upmar > tablespace: upmart > withoids: true > > > 2) > columns: > - name: colA > - name: colB > field2: colB > database: up > name: upm > owner: upma > schema: upmar > tablespace: upmart > withoids: true Those two documents are both valid and equivalent. Something is wrong with jyaml. > > > Version 1) loads fine, but version 2) spits out an error: > org.ho.yaml.YamlParserException: java.lang.NullPointerException > at org.ho.yaml.YamlDecoder.readObjectOfType(Unknown Source) > at org.ho.yaml.YamlConfig.loadType(Unknown Source) > at org.ho.yaml.YamlConfig.loadType(Unknown Source) > at org.ho.yaml.Yaml.loadType(Unknown Source) > at ut.adt.Table.main(Table.java:41) > Caused by: java.lang.NullPointerException > at org.ho.yaml.ReflectionUtil.getPropertyDescriptor(Unknown Source) > at org.ho.yaml.ReflectionUtil.hasProperty(Unknown Source) > at org.ho.yaml.MapState.createObject(Unknown Source) > at org.ho.yaml.State.openMap(Unknown Source) > at org.ho.yaml.State.nextOnEvent(Unknown Source) > at org.ho.yaml.MapState.nextOnEvent(Unknown Source) > at org.ho.yaml.JYamlParserEvent.event(Unknown Source) > at yaml.parser.YamlParser.nmap_inlist(Unknown Source) > at yaml.parser.YamlParser.nlist_entry(Unknown Source) > at yaml.parser.YamlParser.nlist(Unknown Source) > at yaml.parser.YamlParser.value_nested(Unknown Source) > at yaml.parser.YamlParser.loose_value(Unknown Source) > at yaml.parser.YamlParser.nmap_entry(Unknown Source) > at yaml.parser.YamlParser.nmap(Unknown Source) > at yaml.parser.YamlParser.value_nested(Unknown Source) > at yaml.parser.YamlParser.value_na(Unknown Source) > at org.ho.yaml.YamlDecoder.firstDocument(Unknown Source) > ... 5 more > > > Evidently, when the column entities/classes in the 'array' of > columns, is loaded into the Table entity/class, the fact that the > Column entity only has one data field is significant; as in, "crash > depending on the file layout" significant. > > Because Column class has only one field, option 1) still produces > a warning, but not an error: > $ j ut.adt.Table > WARNING: Can't set field2 field on C(colB) with value null > java.lang.NoSuchFieldException: field2 > > before continuing to load the yaml file without problems. > > Is this an error in the jyaml parser or simply in the data? > > With these yaml files, which are intended to be hand-created, it > will be easy for people to type in as version 2), although I guess > that the errors will evidently show quickly enough... > > Thanks > Zenaan > > > -- > Free Australia - www.UPMART.org > Please respect the confidentiality of this email as sensibly warranted. > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Yaml-core mailing list > Yam...@li... > https://lists.sourceforge.net/lists/listinfo/yaml-core |