public VersionedOriginService findOriginServiceByUri(HttpRequestInfo requestResourceInfo) throws VersionedHostNotFoundException { for (Map.Entry<String, ServiceVersionMapping> entry : serviceMappings.entrySet()) { final VersionedRequest versionedRequest = new VersionedRequest(requestResourceInfo, entry.getValue()); if (versionedRequest.requestBelongsToVersionMapping()) { return new VersionedOriginService( entry.getValue(), getHostForVersionMapping(entry.getValue())); } } return null; }
public VersionChoiceList versionChoicesAsList(HttpRequestInfo requestResourceInfo) { final VersionChoiceList versionChoices = new VersionChoiceList(); for (ServiceVersionMapping mapping : getServiceMappings()) { final VersionedRequest versionedRequest = new VersionedRequest(requestResourceInfo, mapping); final VersionChoice choice = new VersionChoiceFactory(mapping).create(); final Link selfReference = new Link(); selfReference.setRel(Relation.SELF); selfReference.setHref(versionedRequest.asExternalURL()); choice.getLink().add(selfReference); versionChoices.getVersion().add(choice); } return versionChoices; }