Size: a a a

2021 May 01

SP

Sergey Pavlenko in pro.jvm
Нашёл таки хоть какую-то объяснялку jackson-xml аннотаций (почему-то их прям немного).

Сам атрибут 'localName' просто соотносит с названием тэга в xml, это интуитивно понятно...
НО в контексте аннотации @JacksonXmlElementWrapper он действительно ищет/добавляет доп тэг-обёртку всей коллекции (хотя тут же стоит значение useWrapping = false, зачем он тогда учитывает localName??🤷‍♂️)

В моём случае действительно доп. обёртки нет, поэтому убрал. Но чтобы таки соотнести тэг-элемент и pojo-класс, надо ещё одну аннтацию @JacksonXmlProperty с атрибутом localName.

Итого у меня взлетело так:

   @JacksonXmlProperty(localName = "Valute", isAttribute = false)
   @JacksonXmlElementWrapper(useWrapping = false)
   private List<ExchangeRateDto> exchangeRates;

Во всех туториалах - над коллекциями висело только @JacksonXmlElementWrapper... Я его и насиловал по всякому уже 2ой день..
Спасибо за наводку.

Жизнь неопытного прогера - боль...😬😄
источник

AK

Alexander Komarov in pro.jvm
а может по старинке ? берешь xsd, генеришь pojo плагином. ну и маршал-анмаршал-фельдмаршал. дел на 15 минут рутинных действий.
источник

SP

Sergey Pavlenko in pro.jvm
если бы я знал о существовании этих штук, внимательно про них читал/смотрел, то так я и сделал бы,
но тогда это уже опытный прогер и жизнь надеюсь будет не такая сильная боль))
источник

AK

Alexander Komarov in pro.jvm
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:element name="ValCurs">
   <xs:complexType>
     <xs:sequence>
       <xs:element maxOccurs="unbounded" name="Valute">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="NumCode" type="xs:unsignedShort" />
             <xs:element name="CharCode" type="xs:string" />
             <xs:element name="Nominal" type="xs:unsignedShort" />
             <xs:element name="Name" type="xs:string" />
             <xs:element name="Value" type="xs:string" />
           </xs:sequence>
           <xs:attribute name="ID" type="xs:string" use="required" />
         </xs:complexType>
       </xs:element>
     </xs:sequence>
     <xs:attribute name="Date" type="xs:string" use="required" />
     <xs:attribute name="name" type="xs:string" use="required" />
   </xs:complexType>
 </xs:element>
</xs:schema>
источник

AK

Alexander Komarov in pro.jvm
источник

AK

Alexander Komarov in pro.jvm
вот схема, вот pojo, плагин - ну погугли, я давно не трогал. что-то типа "maven jaxb plugin"/"maven xjc plugin". если у тебя спринг/спринг бут, то можно притащить spring-oxm
источник

SP

Sergey Pavlenko in pro.jvm
крутяк, чо..
спринг бут.. буду чуть умнее. спасибо.
источник

E

Etki in pro.jvm
Это не баг, это фича

Да, нужны, чтобы не генерировать тонну оверлоадов руками
источник

AK

Alexander Komarov in pro.jvm
источник

AK

Alexander Komarov in pro.jvm
щас бы джяву за синтаксис шеймить
источник

AK

Alexander Komarov in pro.jvm
есть куча языков с чудесным синтаксисом, только они нахрен не нужны. ибо платформа, тулинг, экосистема (еще вакансии и готовые разработчики)
источник

E

Etki in pro.jvm
Это синтаксис, ага
источник

E

Etki in pro.jvm
Платформа с эрэйжей и без валью типов но с примитивами, которые де-факто именно валью типы и с бесконечным боксингом. Ну найс, чего.
источник

OM

Oleg Marchenko in pro.jvm
Наверное сначала нужно посмотреть на свои методы и понять, почему у меня тонна оверлоадов.. Скорей всего методы слишком много делают..
источник

ch

central hardware in pro.jvm
Я бы курил в сторону  IPC через memory mapped file, да придется написать сервер на сях но что поделаешь
источник

IP

Iaroslav Postovalov in pro.jvm
Конечно
источник

IP

Iaroslav Postovalov in pro.jvm
источник

U

UsernameAK in pro.jvm
project panama медленнее даже JNA же
источник

IP

Iaroslav Postovalov in pro.jvm
Ложь, во-первых, https://github.com/zakgof/java-native-benchmark

Во-вторых, ее еще вылизывают
источник

E

Etki in pro.jvm
Потому что в них подставляются значения по умолчанию вместо того, чтобы это делал чзык
источник