Skip to content

Commit 47aeb89

Browse files
committed
Parsed person unmarshalling: some fields are optional, checking with isSet().
1 parent 57cca72 commit 47aeb89

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/org/nameapi/client/services/parser/personnameparser/PersonNameParserService.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,14 @@ public function parse(NaturalInputPerson $person) {
5656
try {
5757
$matches = array(); //ParsedPersonMatch
5858
foreach ($response->matches as $match) {
59-
$gender = new PersonGenderResult(
60-
new ComputedPersonGender($match->parsedPerson->gender->gender),
61-
(isset( $match->parsedPerson->gender->maleProportion) ? $match->parsedPerson->gender->maleProportion : null),
62-
$match->parsedPerson->gender->confidence
63-
);
59+
$gender = null;
60+
if (isSet($match->parsedPerson->gender)) {
61+
$gender = new PersonGenderResult(
62+
new ComputedPersonGender($match->parsedPerson->gender->gender),
63+
(isset( $match->parsedPerson->gender->maleProportion) ? $match->parsedPerson->gender->maleProportion : null),
64+
$match->parsedPerson->gender->confidence
65+
);
66+
}
6467

6568
$terms = array();
6669
if (isSet($match->parsedPerson->outputPersonName->terms)) {
@@ -85,8 +88,8 @@ public function parse(NaturalInputPerson $person) {
8588
new PersonType($match->parsedPerson->personType),
8689
new PersonRole($match->parsedPerson->personRole),
8790
$gender,
88-
$match->parsedPerson->addressingGivenName,
89-
$match->parsedPerson->addressingSurname,
91+
(isSet($match->parsedPerson->addressingGivenName)) ? $match->parsedPerson->addressingGivenName : null,
92+
(isSet($match->parsedPerson->addressingSurname)) ? $match->parsedPerson->addressingSurname : null,
9093
$outputPersonName,
9194
$people
9295
);

0 commit comments

Comments
 (0)