Skip to content

Commit eccd4e6

Browse files
urvyagrawalmaibin
authored andcommitted
Bael2494 (eugenp#6387)
* Added files for BAEL-2494 * Added review comments for BAEL 2494 * fixed build issue * formatting changes * Added annotation to fixed build issue
1 parent f50fc2a commit eccd4e6

5 files changed

Lines changed: 23 additions & 65 deletions

File tree

jackson/src/test/java/com/baeldung/jackson/dtos/Address.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
package com.baeldung.jackson.dtos;
22

3-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
4-
53
public class Address {
64

7-
@JacksonXmlProperty(localName = "street_number")
85
String streetNumber;
9-
10-
@JacksonXmlProperty(localName = "street_name")
116
String streetName;
12-
13-
@JacksonXmlProperty(localName = "city")
147
String city;
158

169
public String getStreetNumber() {

jackson/src/test/java/com/baeldung/jackson/dtos/Person.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,13 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
76
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
87

98
@JacksonXmlRootElement(localName = "person")
109
public final class Person {
1110
private String firstName;
1211
private String lastName;
13-
@JacksonXmlElementWrapper(useWrapping = false)
1412
private List<String> phoneNumbers = new ArrayList<>();
15-
@JacksonXmlElementWrapper(localName = "addresses")
1613
private List<Address> address = new ArrayList<>();
1714

1815
public List<Address> getAddress() {
@@ -38,6 +35,7 @@ public String getLastName() {
3835
public void setLastName(String lastName) {
3936
this.lastName = lastName;
4037
}
38+
4139
public List<String> getPhoneNumbers() {
4240
return phoneNumbers;
4341
}
@@ -46,6 +44,4 @@ public void setPhoneNumbers(List<String> phoneNumbers) {
4644
this.phoneNumbers = phoneNumbers;
4745
}
4846

49-
50-
5147
}

jackson/src/test/java/com/baeldung/jackson/xml/XMLSerializeDeserializeUnitTest.java

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import static org.junit.Assert.assertNotNull;
44
import static org.junit.Assert.assertTrue;
5+
import static org.junit.jupiter.api.Assertions.assertEquals;
56

67
import java.io.BufferedReader;
8+
import java.io.ByteArrayOutputStream;
79
import java.io.File;
810
import java.io.FileInputStream;
911
import java.io.IOException;
@@ -56,25 +58,24 @@ public void whenJavaGotFromXmlFile_thenCorrect() throws IOException {
5658
@Test
5759
public void whenJavaGotFromXmlStrWithCapitalElem_thenCorrect() throws IOException {
5860
XmlMapper xmlMapper = new XmlMapper();
59-
SimpleBeanForCapitalizedFields value = xmlMapper.
60-
readValue("<SimpleBeanForCapitalizedFields><X>1</X><y>2</y></SimpleBeanForCapitalizedFields>",
61-
SimpleBeanForCapitalizedFields.class);
61+
SimpleBeanForCapitalizedFields value = xmlMapper.readValue("<SimpleBeanForCapitalizedFields><X>1</X><y>2</y></SimpleBeanForCapitalizedFields>", SimpleBeanForCapitalizedFields.class);
6262
assertTrue(value.getX() == 1 && value.getY() == 2);
6363
}
6464

6565
@Test
6666
public void whenJavaSerializedToXmlFileWithCapitalizedField_thenCorrect() throws IOException {
6767
XmlMapper xmlMapper = new XmlMapper();
68-
xmlMapper.writeValue(new File("target/simple_bean_capitalized.xml"),
69-
new SimpleBeanForCapitalizedFields());
68+
xmlMapper.writeValue(new File("target/simple_bean_capitalized.xml"), new SimpleBeanForCapitalizedFields());
7069
File file = new File("target/simple_bean_capitalized.xml");
7170
assertNotNull(file);
7271
}
7372

7473
@Test
7574
public void whenJavaDeserializedFromXmlFile_thenCorrect() throws IOException {
7675
XmlMapper xmlMapper = new XmlMapper();
77-
Person value = xmlMapper.readValue(new File("src/test/resources/person.xml"), Person.class);
76+
77+
String xml = "<person><firstName>Rohan</firstName><lastName>Daye</lastName><phoneNumbers><phoneNumbers>9911034731</phoneNumbers><phoneNumbers>9911033478</phoneNumbers></phoneNumbers><address><address><streetNumber>1</streetNumber><streetName>Name1</streetName><city>City1</city></address><address><streetNumber>2</streetNumber><streetName>Name2</streetName><city>City2</city></address></address></person>";
78+
Person value = xmlMapper.readValue(xml, Person.class);
7879

7980
assertTrue(value.getAddress()
8081
.get(0)
@@ -90,33 +91,38 @@ public void whenJavaDeserializedFromXmlFile_thenCorrect() throws IOException {
9091
public void whenJavaSerializedToXmlFile_thenSuccess() throws IOException {
9192
XmlMapper xmlMapper = new XmlMapper();
9293

94+
String expectedXml = "<person><firstName>Rohan</firstName><lastName>Daye</lastName><phoneNumbers><phoneNumbers>9911034731</phoneNumbers><phoneNumbers>9911033478</phoneNumbers></phoneNumbers><address><address><streetNumber>1</streetNumber><streetName>Name1</streetName><city>City1</city></address><address><streetNumber>2</streetNumber><streetName>Name2</streetName><city>City2</city></address></address></person>";
95+
9396
Person person = new Person();
9497

9598
person.setFirstName("Rohan");
9699
person.setLastName("Daye");
97100

98101
List<String> ph = new ArrayList<>();
99-
ph.add("9911778981");
100-
ph.add("9991111111");
102+
ph.add("9911034731");
103+
ph.add("9911033478");
101104
person.setPhoneNumbers(ph);
102105

103106
List<Address> addresses = new ArrayList<>();
104-
107+
105108
Address address1 = new Address();
106109
address1.setStreetNumber("1");
107-
address1.setStreetName("streetname1");
108-
address1.setCity("city1");
109-
110+
address1.setStreetName("Name1");
111+
address1.setCity("City1");
112+
110113
Address address2 = new Address();
111114
address2.setStreetNumber("2");
112-
address2.setStreetName("streetname2");
113-
address2.setCity("city2");
114-
115+
address2.setStreetName("Name2");
116+
address2.setCity("City2");
117+
115118
addresses.add(address1);
116119
addresses.add(address2);
120+
117121
person.setAddress(addresses);
118122

119-
xmlMapper.writeValue(new File("src/test/resources/PersonGenerated.xml"), person);
123+
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
124+
xmlMapper.writeValue(byteArrayOutputStream, person);
125+
assertEquals(expectedXml, byteArrayOutputStream.toString());
120126
}
121127

122128
private static String inputStreamToString(InputStream is) throws IOException {

jackson/src/test/resources/PersonGenerated.xml

Lines changed: 0 additions & 18 deletions
This file was deleted.

jackson/src/test/resources/person.xml

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)