Cube-Space / Yamler

21 stars 33 forks source link

Loading of Arrays results in a ArrayStoreException #16

Closed bibo38 closed 9 years ago

bibo38 commented 9 years ago
import java.io.File;

import net.cubespace.Yamler.Config.Config;
import net.cubespace.Yamler.Config.InvalidConfigurationException;

public class TestConfig extends Config
{
    public int[] data = { 1, 2, 3 };

    public TestConfig()
    {
        CONFIG_FILE = new File("test.yml");
        try
        {
            init();
            load();
        } catch (InvalidConfigurationException e)
        {
            e.printStackTrace();
        }
    }

    public static void main(String args[])
    {
        new TestConfig();
    }
}

This program creates the right YAML file, but is not able to parse it again. It creates an ArrayStoreException:

net.cubespace.Yamler.Config.InvalidConfigurationException: Could not set field
    at net.cubespace.Yamler.Config.Config.internalLoad(Config.java:168)
    at net.cubespace.Yamler.Config.Config.load(Config.java:141)
    at TestConfig.<init>(TestConfig.java:16)
    at TestConfig.main(TestConfig.java:25)
Caused by: java.lang.ArrayStoreException
    at java.lang.System.arraycopy(Native Method)
    at java.util.ArrayList.toArray(ArrayList.java:408)
    at net.cubespace.Yamler.Config.Converter.Array.getArray(Array.java:34)
    at net.cubespace.Yamler.Config.Converter.Array.fromConfig(Array.java:29)
    at net.cubespace.Yamler.Config.InternalConverter.fromConfig(InternalConverter.java:72)
    at net.cubespace.Yamler.Config.Config.internalLoad(Config.java:166)
    ... 3 more