Skip to content

Commit 5cfc343

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 66a1c32 + ae6daf5 commit 5cfc343

File tree

7 files changed

+69
-10
lines changed

7 files changed

+69
-10
lines changed

core-java-8/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,5 @@
3030
- [The Difference Between map() and flatMap()](http://www.baeldung.com/java-difference-map-and-flatmap)
3131
- [Merging Streams in Java](http://www.baeldung.com/java-merge-streams)
3232
- [“Stream has already been operated upon or closed” Exception in Java](http://www.baeldung.com/java-stream-operated-upon-or-closed-exception)
33+
- [Display All Time Zones With GMT And UTC in Java](http://www.baeldung.com/java-time-zones)
34+
- [Copy a File with Java](http://www.baeldung.com/java-copy-file)

core-java/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,5 @@
118118
- [A Guide to the Static Keyword in Java](http://www.baeldung.com/java-static)
119119
- [Initializing Arrays in Java](http://www.baeldung.com/java-initialize-array)
120120
- [Guide to Java String Pool](http://www.baeldung.com/java-string-pool)
121+
- [Copy a File with Java](http://www.baeldung.com/java-copy-file)
121122

core-java/src/test/java/com/baeldung/string/formatter/StringFormatterExampleTests.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ public class StringFormatterExampleTests {
1414
public void givenString_whenFormatSpecifierForCalendar_thenGotExpected() {
1515
//Syntax of Format Specifiers for Date/Time Representation
1616
Calendar c = new GregorianCalendar(2017, 11, 10);
17-
String s = String.format("The date is: %1$tm %1$te,%1$tY", c);
17+
String s = String.format("The date is: %tm %1$te,%1$tY", c);
18+
1819

1920
assertEquals("The date is: 12 10,2017", s);
2021
}
@@ -84,7 +85,7 @@ public void givenString_whenNumericFloatingConversion_thenConvertedString() {
8485
public void givenString_whenLineSeparatorConversion_thenConvertedString() {
8586
//Line Separator Conversion
8687
String s = String.format("First Line %nSecond Line");
87-
assertEquals("First Line \n"
88+
assertEquals("First Line " + System.getProperty("line.separator")
8889
+ "Second Line", s);
8990
}
9091

@@ -114,10 +115,10 @@ public void givenString_whenSpecifyPrecision_thenGotExpected() {
114115
public void givenString_whenSpecifyArgumentIndex_thenGotExpected() {
115116
Calendar c = new GregorianCalendar(2017, 11, 10);
116117
//Argument_Index
117-
String s = String.format("The date is: %1$tm %1$te,%1$tY", c);
118+
String s = String.format("The date is: %tm %1$te,%1$tY", c);
118119
assertEquals("The date is: 12 10,2017", s);
119-
120-
s = String.format("The date is: %1$tm %<te,%<tY", c);
120+
121+
s = String.format("The date is: %tm %<te,%<tY", c);
121122
assertEquals("The date is: 12 10,2017", s);
122123
}
123124

@@ -126,8 +127,7 @@ public void givenAppendable_whenCreateFormatter_thenFormatterWorksOnAppendable()
126127
//Using String Formatter with Appendable
127128
StringBuilder sb = new StringBuilder();
128129
Formatter formatter = new Formatter(sb);
129-
formatter.format("I am writting to a %1$s Instance.", sb.getClass());
130-
130+
formatter.format("I am writting to a %s Instance.", sb.getClass());
131131
assertEquals("I am writting to a class java.lang.StringBuilder Instance.", sb.toString());
132132
}
133133

jsonb/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@
9898
<jsonb-api.version>1.0</jsonb-api.version>
9999
<johnzon.version>1.1.3</johnzon.version>
100100
<geronimo-json_1.1_spec.version>1.0</geronimo-json_1.1_spec.version>
101-
<yasson.version>1.0</yasson.version>
101+
<yasson.version>1.0.1</yasson.version>
102102
<javax.json.version>1.1.2</javax.json.version>
103103
<commons-collections4.version>4.1</commons-collections4.version>
104104
</properties>
105105

106-
</project>
106+
</project>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.baeldung.adapter;
2+
3+
import javax.json.Json;
4+
import javax.json.JsonObject;
5+
import javax.json.bind.adapter.JsonbAdapter;
6+
7+
import com.baeldung.jsonb.Person;
8+
9+
public class PersonAdapter implements JsonbAdapter<Person, JsonObject> {
10+
11+
@Override
12+
public JsonObject adaptToJson(Person p) throws Exception {
13+
return Json.createObjectBuilder()
14+
.add("id", p.getId())
15+
.add("name", p.getName())
16+
.build();
17+
}
18+
19+
@Override
20+
public Person adaptFromJson(JsonObject adapted) throws Exception {
21+
Person person = new Person();
22+
person.setId(adapted.getInt("id"));
23+
person.setName(adapted.getString("name"));
24+
return person;
25+
}
26+
}

jsonb/src/main/java/com/baeldung/jsonb/Person.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ public class Person {
2222
private BigDecimal salary;
2323

2424
public Person() {
25+
this(0, "", "", 0, LocalDate.now(), new BigDecimal(0));
2526
}
2627

2728
public Person(int id, String name, String email, int age, LocalDate registeredDate, BigDecimal salary) {
28-
super();
2929
this.id = id;
3030
this.name = name;
3131
this.email = email;

jsonb/src/test/java/com/baeldung/jsonb/JsonbTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import org.apache.commons.collections4.ListUtils;
1818
import org.junit.Test;
1919

20+
import com.baeldung.adapter.PersonAdapter;
21+
2022
public class JsonbTest {
2123

2224
@Test
@@ -155,4 +157,32 @@ public void givenPersonJson_whenDeserializeWithJsonb_thenGetPersonObject() {
155157
.equals(person));
156158
}
157159

160+
@Test
161+
public void givenPersonObject_whenSerializeWithAdapter_thenGetPersonJson() {
162+
JsonbConfig config = new JsonbConfig().withAdapters(new PersonAdapter());
163+
Jsonb jsonb = JsonbBuilder.create(config);
164+
Person person = new Person(1, "Jhon", "[email protected]", 0, LocalDate.of(2019, 9, 7), BigDecimal.valueOf(1000.0));// new Person(1, "Jhon");
165+
String jsonPerson = jsonb.toJson(person);
166+
// @formatter:off
167+
String jsonExpected =
168+
"{\"id\":1," +
169+
"\"name\":\"Jhon\"}";
170+
// @formatter:on
171+
assertTrue(jsonExpected.equals(jsonPerson));
172+
}
173+
174+
@Test
175+
public void givenPersonJson_whenDeserializeWithAdapter_thenGetPersonObject() {
176+
JsonbConfig config = new JsonbConfig().withAdapters(new PersonAdapter());
177+
Jsonb jsonb = JsonbBuilder.create(config);
178+
Person person = new Person(1, "Jhon", "[email protected]", 0, LocalDate.of(2019, 9, 7), BigDecimal.valueOf(1000.0));// new Person(1, "Jhon");
179+
// @formatter:off
180+
String jsonPerson =
181+
"{\"id\":1," +
182+
"\"name\":\"Jhon\"}";
183+
// @formatter:on
184+
assertTrue(jsonb.fromJson(jsonPerson, Person.class)
185+
.equals(person));
186+
}
187+
158188
}

0 commit comments

Comments
 (0)