@Before public void setUp() throws Exception { contextMetaBuilder = ContextMetaBuilder.contextMetaBuilder(); contextMetaBuilder.setContactEmail("rick@rick.com"); contextMetaBuilder.setContactName("Rick Hightower"); contextMetaBuilder.setContactURL("https://github.com/advantageous/qbit"); contextMetaBuilder.setHostAddress("localhost:9090"); contextMetaBuilder.setDescription("Test set of services"); contextMetaBuilder.setLicenseName("APACHE 2"); contextMetaBuilder.setLicenseURL("https://github.com/advantageous/qbit/blob/master/License"); metaToSwagger = new MetaTransformerFromQbitMetaToSwagger(); contextMetaBuilder.setRootURI(contextMetaBuilder.getRootURI() + "Engine"); contextMetaBuilder.addService(SampleService.class); final ContextMeta context = contextMetaBuilder.build(); final ServiceEndpointInfo serviceEndpointInfo = metaToSwagger.serviceEndpointInfo(context); JsonSerializer jsonSerializer = new JsonSerializerFactory().setUseAnnotations(true).create(); System.out.println(jsonSerializer.serialize(serviceEndpointInfo)); }
public ContextMeta build() { return new ContextMeta(getTitle(), getRootURI(), getServices(), getDescription(), getContactName(), getContactURL(), getContactEmail(), getLicenseName(), getLicenseURL(), getVersion(), getHostAddress()); }
public static ContextMetaBuilder contextMetaBuilder() { return new ContextMetaBuilder(); }
@Override public void addRestSupportFor(String alias, Class<?> cls, String baseURI) { contextMetaBuilder.setRootURI(baseURI).addService(alias, cls); }
/** * Get context meta builder. * * @return context meta builder */ public ContextMetaBuilder getContextMetaBuilder() { if (contextMetaBuilder == null) { contextMetaBuilder = ContextMetaBuilder.contextMetaBuilder(); contextMetaBuilder .setHostAddress(this.getPublicHost() + ":" + this.getPublicPort()) .setRootURI(this.getRootURI()); } return contextMetaBuilder; }
@Test public void testBuild() throws Exception { contextMetaBuilder.setRootURI(contextMetaBuilder.getRootURI() + "Engine"); contextMetaBuilder.addService(service("myService", "/myservice", method( "hello", getRequest( "/callme/", stringParam( headParam("foobarHeader") ), intParam( requestParam("helloMom") ), doubleParam( pathParam("score", 9) ) ) ) )); contextMetaBuilder.setServices(contextMetaBuilder.getServices()); ContextMeta context = contextMetaBuilder.build(); assertEquals("hello", context.getServices().get(0).getMethods().get(0).getName()); assertEquals("/callme/", context.getServices() .get(0).getMethods().get(0).getRequestEndpoints().get(0).getRequestURI()); }
public ContextMetaBuilder getAdminContextBuilder() { if (adminContextBuilder == null) { adminContextBuilder = ContextMetaBuilder.contextMetaBuilder(); adminContextBuilder.setDescription("QBit Admin interface, used to administrate and query status of QBit services"); adminContextBuilder.setTitle("QBit Admin interface"); adminContextBuilder.setVersion("0.9"); adminContextBuilder.setLicenseURL("https://github.com/advantageous/qbit/blob/master/License"); adminContextBuilder.setContactURL("http://www.mammatustech.com/"); adminContextBuilder.setRootURI(this.getEndpointServerBuilder().getUri()); if (this.getEndpointServerBuilder().getHost() != null) { adminContextBuilder.setHostAddress(this.getEndpointServerBuilder().getHost() + ":" + this.getEndpointServerBuilder().getPort()); } else { adminContextBuilder.setHostAddress("localhost:" + this.getEndpointServerBuilder().getPort()); } adminContextBuilder.addService(Admin.class); } return adminContextBuilder; }
@Before public void setUp() throws Exception { contextMetaBuilder = ContextMetaBuilder.contextMetaBuilder(); contextMetaBuilder.setRootURI(contextMetaBuilder.getRootURI() + "Engine"); contextMetaBuilder.addService( SampleService.class); provider = new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.GET); }
public ContextMetaBuilder addService(String alias, Class<?> serviceClass) { final ClassMeta<?> classMeta = ClassMeta.classMeta(serviceClass); String name = alias != null ? alias : getServiceName(classMeta); final List<String> requestPaths = getRequestPathsByAnnotated(classMeta, name); if (alias != null) { requestPaths.add(asPath(alias)); } final String description = getDescriptionFromRequestMapping(classMeta); final ServiceMetaBuilder serviceMetaBuilder = ServiceMetaBuilder.serviceMetaBuilder() .setRequestPaths(requestPaths).setName(name).setDescription(description) .setResponseHeaders(getResponseHeaders(classMeta)); serviceMetaBuilder.addMethods(this.getRootURI(), Lists.list(classMeta.methods())); addService(serviceMetaBuilder.build()); return this; }
final AnnotationData requestMapping = getAnnotationData(methodAccess); = getRequestPathsByAnnotated(methodAccess, methodAccess.name().toLowerCase()); final String description = getDescriptionFromRequestMapping(methodAccess); final String returnDescription = getReturnDescriptionFromRequestMapping(methodAccess); final String summary = getSummaryFromRequestMapping(methodAccess); final int code = getCodeFromRequestMapping(methodAccess); final String contentType = getContentTypeFromRequestMapping(methodAccess); final List<RequestMethod> requestMethods = getRequestMethodsByAnnotated(methodAccess);
@Before public void setUp() throws Exception { contextMetaBuilder = ContextMetaBuilder.contextMetaBuilder(); contextMetaBuilder.addService(SampleService.class); provider = new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.GET); StandardMetaDataProvider postProvider = new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.POST); standardRequestTransformer = new StandardRequestTransformer( safeMap(RequestMethod.GET, provider, RequestMethod.POST, postProvider), Optional.empty() ); }
public void start() { metaDataProviderMap.put(RequestMethod.GET, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.GET)); metaDataProviderMap.put(RequestMethod.POST, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.POST)); metaDataProviderMap.put(RequestMethod.PUT, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.PUT)); metaDataProviderMap.put(RequestMethod.DELETE, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.DELETE)); metaDataProviderMap.put(RequestMethod.HEAD, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.HEAD)); metaDataProviderMap.put(RequestMethod.OPTIONS, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.OPTIONS)); metaDataProviderMap.put(RequestMethod.TRACE, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.TRACE)); metaDataProviderMap.put(RequestMethod.CONNECT, new StandardMetaDataProvider(contextMetaBuilder.build(), RequestMethod.CONNECT)); standardRequestTransformer = new StandardRequestTransformer(metaDataProviderMap, Optional.ofNullable(errorHandler)); }
public ContextMetaBuilder addService(final Class<?> serviceClass) { return addService(null, serviceClass); }
@Test public void testRequestHeaderWithParentHeaders() { ContextMetaBuilder contextMetaBuilder = ContextMetaBuilder.contextMetaBuilder(); contextMetaBuilder.addService(Foo1.class); final ServiceMeta serviceMeta = contextMetaBuilder.getServices().get(0); final Map<String, ServiceMethodMeta> serviceMethodMetaMap = Maps.toMap("name", serviceMeta.getMethods()); final ServiceMethodMeta serviceMethodMeta = serviceMethodMetaMap.get("methodWithHeaders"); final RequestMeta requestMeta = serviceMethodMeta.getRequestEndpoints().get(0); assertEquals("/headers", requestMeta.getRequestURI()); assertTrue(requestMeta.hasResponseHeaders()); MultiMap<String, String> headers = requestMeta.getResponseHeaders(); assertEquals(5, headers.size()); assertEquals("BAR", headers.getFirst("FOO")); assertEquals("1.BAR", headers.getFirst("1.FOO")); assertEquals("2.BAR2", headers.getFirst("2.FOO2")); final List<String> controls = (List<String>) headers.getAll(HttpHeaders.CACHE_CONTROL); assertEquals("max-age=0", controls.get(0)); assertEquals("no-cache, no-store", controls.get(1)); }
static Object getRequestPath(Annotated classMeta, final String name) { final AnnotationData requestMapping = getAnnotationData(classMeta); if (requestMapping != null) { Object value = requestMapping.getValues().get("value"); if (value == null) { value = "/" + name.toLowerCase(); } return value; } else { return "/" + name.toLowerCase(); } }
public ContextMetaBuilder getContextBuilder() { if (contextBuilder == null) { contextBuilder = ContextMetaBuilder.contextMetaBuilder(); } return contextBuilder; }
public static List<String> getRequestPathsByAnnotated(Annotated classMeta, String name) { Object value = getRequestPath(classMeta, name); if (value instanceof String) { return Lists.list(asPath(value.toString())); } else if (value instanceof String[]) { final String[] varray = (String[]) value; if (varray.length > 0) { return Lists.list((String[]) value); } else { return Lists.list("/" + name); } } else { throw new IllegalStateException(); } }
public String getMicroServiceName() { if (microServiceName == null) { if (microServiceName == null) { microServiceName = System.getenv("MICRO_SERVICE_NAME"); } if (microServiceName == null) { microServiceName = System.getenv("APP_NAME"); } if (microServiceName == null) { final String title = getContextBuilder().getTitle(); if (title != null && !title.isEmpty()) { microServiceName = title.toLowerCase().replace(" ", "."); } } if (microServiceName == null) { microServiceName = "my.app"; } } return microServiceName; }
@Test public void testBuildNestedBuilder() throws Exception { contextMetaBuilder.setRootURI(contextMetaBuilder.getRootURI() + "Engine"); contextMetaBuilder.addService( serviceMetaBuilder() .setName("myService") .addRequestPath("/myservice") .addMethod(method("hello", getRequest( "/callme/", stringParam( headParam("foobarHeader") ), intParam( requestParam("helloMom") ), doubleParam( pathParam("score", 9) ) ) )) .build()); contextMetaBuilder.setServices(contextMetaBuilder.getServices()); ContextMeta context = contextMetaBuilder.build(); assertEquals("hello", context.getServices().get(0).getMethods().get(0).getName()); assertEquals("/callme/", context.getServices() .get(0).getMethods().get(0).getRequestEndpoints().get(0).getRequestURI()); }
contextMetaBuilder.setRootURI(contextMetaBuilder.getRootURI() + "Engine"); contextMetaBuilder.addService(SampleService.class); ContextMeta context = contextMetaBuilder.build();