YAML - граф объектов один ко многим

Я использую синтаксический анализатор на основе змеи (java) для написания тестового примера и не мог понять, как правильно построить график. Любая помощь, высоко ценится. Спасибо.

RuntimeException occured : Cannot load fixture test-data.yml: 
org.hibernate.PropertyAccessException: could not get a field value by 
reflection getter of models.Priority.description

приведенное выше исключение предназначено для несвязанного поля, и оно работает, если я удаляю ассоциацию

roles: 
  - roleType: testRoleType 
    description: desc 

Если я изменю его на

- !models.Role 
      roleType:         testRoleType 
      description: desc 

Произошло исключение RuntimeException: невозможно загрузить прибор test-data.yml: null; Невозможно создать объект Java для !models.Role; exception=onRole Любая помощь, высоко ценится. Спасибо.

public class Person {
String fullname;

@OneToMany(cascade=CascadeType.ALL)
public List<Role> roles;
}

public class Role {
public RoleType roleType;
public String description;
}

public class RoleType {
public String roleName;
public String description;
}


YAML--

RoleType (testRoleType):
    roleName:      test
    description:   desc

Person(administrator):
    fullname:       Administrator
    roles:
      - roleType: testRoleType
        description: desc

person bsr    schedule 20.07.2010    source источник


Ответы (1)


1) создайте свой график

2) Используйте SnakeYAML для сериализации объекта:

JavaBeanDumper dumper = new JavaBeanDumper();
String output = dumper.dump(graph);

3) посмотреть что из этого выйдет и поменять вручную.

P.S. !models.Role — это локальный тег, и вы должны проинструктировать SnakeYAML, как им управлять.

person Andrey    schedule 21.07.2010