/** * Send a request with payload. */ private ResponseEntity retrieveResponseFromRequest( final String method, final String uri, final String payload, final MediaType payloadType, final int responseCode, final MediaType accept, final List<Pair<String,Predicate<String>>> headerFields ) { ClientRequest request; try { if ( payload != null ) { request = withHeaders( REQUEST_BUILDER ).type( payloadType ).accept( accept ).entity( payload ) .build( new URI( uri ), method ); } else { request = withHeaders( REQUEST_BUILDER ).accept( accept ).build( new URI( uri ), method ); } } catch ( URISyntaxException e ) { throw new RuntimeException( e ); } return retrieveResponse( uri, responseCode, accept, headerFields, request ); }
public PersonMatchResultsState updateMatchStatus(Entry entry, MatchStatus status, StateTransitionOption... options) { URI updateStatusUri = UriBuilder.fromUri(getSelfUri()).replaceQueryParam(FamilySearchOptions.STATUS, status.name().toLowerCase()).build(); ClientRequest request = createAuthenticatedRequest() .type(GedcomxConstants.GEDCOMX_JSON_MEDIA_TYPE) .accept(AtomModel.ATOM_GEDCOMX_JSON_MEDIA_TYPE) .entity(new Gedcomx().person(new Person().identifier(new Identifier(entry.getId(), IdentifierType.Persistent)))) .build(updateStatusUri, HttpMethod.POST); return ((FamilySearchStateFactory)this.stateFactory).newPersonMatchResultsState(request, invoke(request, options), this.accessToken); }
public RecordState addRecord(Gedcomx record, StateTransitionOption... options) { Link link = getLink(Rel.RECORDS); if (link == null || link.getHref() == null) { throw new GedcomxApplicationException(String.format("Collection at %s doesn't support adding records.", getUri())); } ClientRequest request = createAuthenticatedGedcomxRequest().entity(record).build(link.getHref().toURI(), HttpMethod.POST); return this.stateFactory.newRecordState(request, invoke(request, options), this.accessToken); }
protected DiscussionState updateComments(Discussion discussion, StateTransitionOption... options) { URI target = getSelfUri(); Link link = getLink(Rel.COMMENTS); if (link != null && link.getHref() != null) { target = link.getHref().toURI(); } FamilySearchPlatform gx = new FamilySearchPlatform(); gx.setDiscussions(Arrays.asList(discussion)); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedRequest()).entity(gx).build(target, HttpMethod.POST); return ((FamilySearchStateFactory)this.stateFactory).newDiscussionState(request, invoke(request, options), this.accessToken); }
public FamilySearchPersonState updateDiscussionReference(Person person, StateTransitionOption... options) { URI target = getSelfUri(); Link discussionsLink = getLink(org.gedcomx.rs.Rel.DISCUSSION_REFERENCES); if (discussionsLink != null && discussionsLink.getHref() != null) { target = discussionsLink.getHref().toURI(); } Gedcomx gx = new Gedcomx(); gx.setPersons(Arrays.asList(person)); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedGedcomxRequest()).entity(gx).build(target, HttpMethod.POST); return ((FamilySearchStateFactory)this.stateFactory).newPersonState(request, invoke(request, options), this.accessToken); }
public RelationshipState addRelationship(Relationship relationship, StateTransitionOption... options) { Link link = getLink(Rel.RELATIONSHIPS); if (link == null || link.getHref() == null) { throw new GedcomxApplicationException(String.format("Collection at %s doesn't support adding relationships.", getUri())); } Gedcomx entity = new Gedcomx(); entity.addRelationship(relationship); ClientRequest request = createAuthenticatedGedcomxRequest().entity(entity).build(link.getHref().toURI(), HttpMethod.POST); return this.stateFactory.newRelationshipState(request, invoke(request, options), this.accessToken); }
public PersonState addPerson(Gedcomx entity, StateTransitionOption... options) { Link link = getLink(Rel.PERSONS); if (link == null || link.getHref() == null) { throw new GedcomxApplicationException(String.format("Collection at %s doesn't support adding persons.", getUri())); } ClientRequest request = createAuthenticatedGedcomxRequest().entity(entity).build(link.getHref().toURI(), HttpMethod.POST); return this.stateFactory.newPersonState(request, invoke(request, options), this.accessToken); }
public RelationshipState addRelationship(Relationship relationship, StateTransitionOption... options) { Gedcomx entity = new Gedcomx(); entity.addRelationship(relationship); ClientRequest request = createAuthenticatedGedcomxRequest().entity(entity).build(getSelfUri(), HttpMethod.POST); return this.stateFactory.newRelationshipState(request, invoke(request, options), this.accessToken); }
public PersonState updateSourceReferences(Person person, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.SOURCE_REFERENCES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } Gedcomx gx = new Gedcomx(); gx.setPersons(Arrays.asList(person)); ClientRequest request = createAuthenticatedGedcomxRequest().entity(gx).build(target, HttpMethod.POST); return this.stateFactory.newPersonState(request, invoke(request, options), this.accessToken); }
public PersonNonMatchesState addNonMatch(Person person, StateTransitionOption... options) { Link link = getLink(Rel.NOT_A_MATCHES); if (link == null || link.getHref() == null) { return null; } Gedcomx entity = new Gedcomx(); entity.addPerson(person); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedRequest()).entity(entity).build(link.getHref().toURI(), HttpMethod.POST); return ((FamilySearchStateFactory)this.stateFactory).newPersonNonMatchesState(request, invoke(request, options), this.accessToken); }
protected RelationshipState updateNotes(Relationship relationship, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.NOTES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } Gedcomx gx = new Gedcomx(); gx.setRelationships(Arrays.asList(relationship)); ClientRequest request = createAuthenticatedGedcomxRequest().entity(gx).build(target, HttpMethod.POST); return this.stateFactory.newRelationshipState(request, invoke(request, options), this.accessToken); }
protected ChildAndParentsRelationshipState updateNotes(ChildAndParentsRelationship relationship, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.NOTES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } FamilySearchPlatform gx = new FamilySearchPlatform(); gx.setChildAndParentsRelationships(Arrays.asList(relationship)); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedRequest()).entity(gx).build(target, HttpMethod.POST); return ((FamilyTreeStateFactory)this.stateFactory).newChildAndParentsRelationshipState(request, invoke(request, options), this.accessToken); }
protected ChildAndParentsRelationshipState updateSourceReferences(ChildAndParentsRelationship relationship, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.SOURCE_REFERENCES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } FamilySearchPlatform gx = new FamilySearchPlatform(); gx.setChildAndParentsRelationships(Arrays.asList(relationship)); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedRequest()).entity(gx).build(target, HttpMethod.POST); return ((FamilyTreeStateFactory)this.stateFactory).newChildAndParentsRelationshipState(request, invoke(request, options), this.accessToken); }
public PersonState addPersona(Gedcomx entity, StateTransitionOption... options) { URI target = getSelfUri(); Link link = getLink(Rel.PERSONS); if (link != null && link.getHref() != null) { target = link.getHref().toURI(); } ClientRequest request = createAuthenticatedGedcomxRequest().entity(entity).build(target, HttpMethod.POST); return this.stateFactory.newPersonState(request, invoke(request, options), this.accessToken); }
public PersonState updateNotes(Person person, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.NOTES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } Gedcomx gx = new Gedcomx(); gx.setPersons(Arrays.asList(person)); ClientRequest request = createAuthenticatedGedcomxRequest().entity(gx).build(target, HttpMethod.POST); return this.stateFactory.newPersonState(request, invoke(request, options), this.accessToken); }
public SourceDescriptionState addSourceDescription(SourceDescription source, StateTransitionOption... options) { Link link = getLink(Rel.SOURCE_DESCRIPTIONS); if (link == null || link.getHref() == null) { throw new GedcomxApplicationException(String.format("Collection at %s doesn't support adding source descriptions.", getUri())); } Gedcomx entity = new Gedcomx(); entity.addSourceDescription(source); ClientRequest request = createAuthenticatedGedcomxRequest().entity(entity).build(link.getHref().toURI(), HttpMethod.POST); return this.stateFactory.newSourceDescriptionState(request, invoke(request, options), this.accessToken); }
protected RelationshipState updateMediaReferences(Relationship relationship, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.MEDIA_REFERENCES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } Gedcomx gx = new Gedcomx(); gx.setRelationships(Arrays.asList(relationship)); ClientRequest request = createAuthenticatedGedcomxRequest().entity(gx).build(target, HttpMethod.POST); return this.stateFactory.newRelationshipState(request, invoke(request, options), this.accessToken); }
protected ChildAndParentsRelationshipState updateEvidenceReferences(ChildAndParentsRelationship relationship, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.EVIDENCE_REFERENCES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } FamilySearchPlatform gx = new FamilySearchPlatform(); gx.setChildAndParentsRelationships(Arrays.asList(relationship)); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedRequest()).entity(gx).build(target, HttpMethod.POST); return ((FamilyTreeStateFactory)this.stateFactory).newChildAndParentsRelationshipState(request, invoke(request, options), this.accessToken); }
protected ChildAndParentsRelationshipState updateMediaReferences(ChildAndParentsRelationship relationship, StateTransitionOption... options) { URI target = getSelfUri(); Link conclusionsLink = getLink(Rel.MEDIA_REFERENCES); if (conclusionsLink != null && conclusionsLink.getHref() != null) { target = conclusionsLink.getHref().toURI(); } FamilySearchPlatform gx = new FamilySearchPlatform(); gx.setChildAndParentsRelationships(Arrays.asList(relationship)); ClientRequest request = RequestUtil.applyFamilySearchConneg(createAuthenticatedRequest()).entity(gx).build(target, HttpMethod.POST); return ((FamilyTreeStateFactory)this.stateFactory).newChildAndParentsRelationshipState(request, invoke(request, options), this.accessToken); }
public Response request( String method, String uri, Object payload ) { if ( payload == null ) { return request( method, uri ); } String jsonPayload = payload instanceof RawPayload ? ((RawPayload) payload).get() : createJsonFrom( payload ); ClientRequest.Builder lastBuilder = build().entity( jsonPayload, MediaType.APPLICATION_JSON_TYPE ); return new Response( CLIENT.handle( lastBuilder.build( buildUri( uri ), method ) ) ); }