public List<Relationship> getChildRelationships() { List<Relationship> relationships = getRelationships(); relationships = relationships == null ? null : new ArrayList<Relationship>(relationships); if (relationships != null) { Iterator<Relationship> it = relationships.iterator(); while (it.hasNext()) { Relationship relationship = it.next(); if (relationship.getKnownType() != RelationshipType.ParentChild || !refersToMe(relationship.getPerson1())) { it.remove(); } } } return relationships; }
public Relationship findRelationshipTo(Person parent) { List<Relationship> relationships = getRelationships(); if (relationships != null) { for (Relationship relationship : relationships) { ResourceReference parentReference = relationship.getPerson1(); if (parentReference != null) { String reference = parentReference.getResource().toString(); if (reference.equals("#" + parent.getId())) { return relationship; } } } } return null; }
public Relationship findRelationshipTo(Person spouse) { List<Relationship> relationships = getRelationships(); if (relationships != null) { for (Relationship relationship : relationships) { ResourceReference personReference = relationship.getPerson1(); if (personReference != null) { String reference = personReference.getResource().toString(); if (reference.equals("#" + spouse.getId())) { return relationship; } } personReference = relationship.getPerson2(); if (personReference != null) { String reference = personReference.getResource().toString(); if (reference.equals("#" + spouse.getId())) { return relationship; } } } } return null; }
public PersonState readRelative(Relationship relationship, StateTransitionOption... options) { ResourceReference reference = null; if (refersToMe(relationship.getPerson1())) { reference = relationship.getPerson2(); } else if (refersToMe(relationship.getPerson2())) { reference = relationship.getPerson1(); } if (reference == null || reference.getResource() == null) { return null; } ClientRequest request = createAuthenticatedGedcomxRequest().build(reference.getResource().toURI(), HttpMethod.GET); return this.stateFactory.newPersonState(request, invoke(request, options), this.accessToken); }
/** * Find the couple relationship (if any) that corresponds to the relationship between the people with the given IDs. * @param person1 - person1 to find (i.e., husband) * @param person2 - person2 to find (i.e., wife) * @return the couple relationship for the parents in the family, if any, or null if there isn't one (or if there are not two parents). */ public Relationship findCoupleRelationship(ResourceReference person1, ResourceReference person2) { if (getRelationships() != null) { for (Relationship relationship : getRelationships()) { if (relationship.getKnownType() == RelationshipType.Couple && samePerson(person1, relationship.getPerson1()) && samePerson(person2, relationship.getPerson2())) { return relationship; } } } return null; }
public PersonState readPerson1(StateTransitionOption... options) { Relationship relationship = getRelationship(); if (relationship == null) { return null; } ResourceReference person1 = relationship.getPerson1(); if (person1 == null || person1.getResource() == null) { return null; } ClientRequest request = createAuthenticatedGedcomxRequest().build(person1.getResource().toURI(), HttpMethod.GET); return this.stateFactory.newPersonState(request, invoke(request, options), this.accessToken); }
/** * Find the parent-child relationship between the given two persons. * @param parent - Reference to the parent to find. * @param child - Reference to the child to find. * @return parent-child relationship for the given parent and child, or null if not found in the document. */ public Relationship findParentChildRelationship(ResourceReference parent, ResourceReference child) { if (parent != null && child != null && getRelationships() != null && parent.getResource() != null && child.getResource() != null) { for (Relationship relationship : getRelationships()) { if (relationship.getKnownType().equals(RelationshipType.ParentChild) && samePerson(relationship.getPerson1(), parent) && samePerson(relationship.getPerson2(), child)) { return relationship; } } } return null; }
for (Relationship relationship : doc.getRelationships()) { boolean foundPerson = false; for (ResourceReference ref : new ResourceReference[]{relationship.getPerson1(), relationship.getPerson2()}) { if (ref != null) { if (ref.getResource() == null && ref.getResourceId() != null) {
if (localId != null) { for (Relationship relationship : relationships) { fixId(relationship.getPerson1(), localId); fixId(relationship.getPerson2(), localId); fixupSourceReferences(sds, relationship);