/** * Creates a generic ServiceDependencyBuilder with type="service" and subtype="OTHER". * * @param url the url or uri-template of the accessed service. * @return ServiceDependencyBuilder */ public static ServiceDependencyBuilder serviceDependency(final String url) { return new ServiceDependencyBuilder() .withUrl(url) .withType(ServiceDependency.TYPE_SERVICE) .withSubtype(ServiceDependency.SUBTYPE_OTHER); }
/** * Creates a ServiceDependencyBuilder with type="service" and subtype="REST". * * @param url the url or uri-template of the accessed REST service. * @return ServiceDependencyBuilder */ public static ServiceDependencyBuilder restServiceDependency(final String url) { return new ServiceDependencyBuilder() .withUrl(url) .withType(ServiceDependency.TYPE_SERVICE) .withSubtype(ServiceDependency.SUBTYPE_REST) .withMethods(singletonList("GET")) .withMediaTypes(singletonList("application/json")); }
@Test public void shouldCopyServiceDependency() { final ServiceDependency dependency = serviceDependency("http://example.com") .withName("name") .withDescription("description") .withMediaTypes(singletonList("application/json")) .withAuthentication(AUTH_HMAC) .withMethods(asList("GET", "HEAD")) .withType("some type") .withSubtype("some subtype") .build(); assertThat(dependency).isEqualTo(copyOf(dependency).build()); assertThat(dependency.hashCode()).isEqualTo(copyOf(dependency).build().hashCode()); }
/** * Returns a builder instance that is initialized using a prototype ServiceDependency. * <p> * All values of the prototype are copied. * </p> * @param prototype the prototype dependency * @return ServiceDependencyBuilder */ public static ServiceDependencyBuilder copyOf(final ServiceDependency prototype) { return new ServiceDependencyBuilder() .withName(prototype.getName()) .withDescription(prototype.getDescription()) .withUrl(prototype.getUrl()) .withType(prototype.getType()) .withSubtype(prototype.getSubtype()) .withMethods(prototype.getMethods()) .withMediaTypes(prototype.getMediaTypes()) .withAuthentication(prototype.getAuthentication()) .withCriticality(prototype.getCriticality()) .withExpectations(prototype.getExpectations()); }