Moxy + наследование + имя пакета как xml-root-элемент - PullRequest
1 голос
/ 24 февраля 2012

Я пытаюсь маршаллизировать класс, расширяющий абстрактный класс, используя eclipseLink moxy:

public abstract class AbstractExample {
  private String fieldA;
  private String fieldB;

  // Getters, setters 
}

public class Example extends AbstractExample {
  private String fieldC;
  private String fieldD;

  // More fields, getters and setters
}

Я использую xml для отображения:

<java-type name="com.example.Example">
  <xml-root-element name="com.another.package.Example2" />
  <java-attributes>
    <!-- All fields defined here -->
  </java-attributes>
</java-type>

Теперь все отлично, когда демаршаллизируется,Проблема появляется, когда я сортирую объект.Вместо корневого элемента

<com.another.package.Example2> 

в качестве корневого элемента я получаю только

<Example2> 

.Что интересно - как только я помещаю поля из абстрактного класса в Пример и удаляю расширяет ключевые слова AbstractExample, корень должен быть таким, какой он должен быть

<com.another.package.Example2>.  

Я что-то не так делаю?Мне действительно нужно расширить абстрактный класс, иначе мой код будет иметь большую избыточность.

1 Ответ

0 голосов
/ 25 февраля 2012

Примечание: Я EclipseLink JAXB (MOXy) lead.

Эта проблема оказалась следующей ошибкой MOXy:

Эта проблема теперь исправлена ​​в потоках EclipseLink 2.3.3 и 2.4.0.Он будет доступен в ночных загрузках, начинающихся завтра (25 февраля 2012 г.):

...