From dcce71ff562d5c0d51dff2fed1a60675fb60c96b Mon Sep 17 00:00:00 2001 From: Nikolche Mihajlovski Date: Mon, 12 Feb 2018 14:13:01 +0100 Subject: [PATCH] #39 Minor fixes, clean-up and formatting. --- .../java/org/rapidoid/setup/AppBootstrap.java | 3 +- rapidoid-openapi/pom.xml | 5 - .../java/org/rapidoid/openapi/OpenAPI.java | 125 +++++++++--------- .../org/rapidoid/openapi/OpenAPIDemo.java | 25 ++-- 4 files changed, 78 insertions(+), 80 deletions(-) diff --git a/rapidoid-http-server/src/main/java/org/rapidoid/setup/AppBootstrap.java b/rapidoid-http-server/src/main/java/org/rapidoid/setup/AppBootstrap.java index 0890a4a2dc..d668927738 100644 --- a/rapidoid-http-server/src/main/java/org/rapidoid/setup/AppBootstrap.java +++ b/rapidoid-http-server/src/main/java/org/rapidoid/setup/AppBootstrap.java @@ -232,7 +232,7 @@ public AppBootstrap beans() { } public AppBootstrap openapi() { - oauth.run(); + openapi.run(); return this; } @@ -255,6 +255,7 @@ public void full() { adminCenter(); auth(); oauth(); + openapi(); } static void reset() { diff --git a/rapidoid-openapi/pom.xml b/rapidoid-openapi/pom.xml index eb178928ac..f53c27b32e 100644 --- a/rapidoid-openapi/pom.xml +++ b/rapidoid-openapi/pom.xml @@ -25,11 +25,6 @@ rapidoid-http-server ${project.version} - - org.rapidoid - rapidoid-http-server - ${project.version} - org.rapidoid rapidoid-gui diff --git a/rapidoid-openapi/src/main/java/org/rapidoid/openapi/OpenAPI.java b/rapidoid-openapi/src/main/java/org/rapidoid/openapi/OpenAPI.java index 6730f304a5..ae04184b34 100644 --- a/rapidoid-openapi/src/main/java/org/rapidoid/openapi/OpenAPI.java +++ b/rapidoid-openapi/src/main/java/org/rapidoid/openapi/OpenAPI.java @@ -18,12 +18,12 @@ * #L% */ - package org.rapidoid.openapi; import org.rapidoid.RapidoidThing; import org.rapidoid.config.Conf; import org.rapidoid.config.Config; +import org.rapidoid.gui.GUI; import org.rapidoid.http.HttpRoutes; import org.rapidoid.http.Req; import org.rapidoid.http.ReqHandler; @@ -34,69 +34,72 @@ import org.rapidoid.setup.Setup; import org.rapidoid.u.U; import org.rapidoid.util.Msc; -import org.rapidoid.gui.GUI; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.List; -import java.util.Set; +import java.util.*; public class OpenAPI extends RapidoidThing { - private static final Template OPENAPI_TEMPLATE = Templates.load("openapi-template.yaml"); - private static final Template OPENAPI_PATH_TEMPLATE = Templates.load("openapi-path.yaml"); - private static final Template OPENAPI_VERB_TEMPLATE = Templates.load("openapi-verb.yaml"); - - private static final Config OPENAPI = Conf.OPENAPI; - - public static void register(Setup setup) { - - if (OPENAPI.isEmpty()) { - Log.warn("OpenAPI is not configured!"); - } - - final StringBuilder openApiYaml = new StringBuilder(); - openApiYaml.append(OPENAPI_TEMPLATE.render(U.map("openapi_project_version", "1.0", "openapi_project_title", "Project Title", "openapi_project_url", "http://openapi.rapidoid.org"))); - - Hashtable> paths = null; - HttpRoutes routes = setup.routes(); - - if (routes != null && !routes.isEmpty()) { - Set routeSet = routes.all(); - paths = new Hashtable>(); - - for (Route route: routeSet) { - String path = route.path().trim(); - if (!paths.containsKey(path)) { - paths.put(path, new ArrayList()); - } - - List routeList = paths.get(path); - routeList.add(route); - } - } - - if (paths != null && paths.size() > 0) { - Set keys = paths.keySet(); - for (String path: keys) { - openApiYaml.append(OPENAPI_PATH_TEMPLATE.render(U.map("route_path", path))); - - List routeListPath = paths.get(path); - for (Route route: routeListPath) { - String verb = route.verb().name().toLowerCase(); - openApiYaml.append(OPENAPI_VERB_TEMPLATE.render(U.map("route_verb", verb))); - } - } - } - - final String openApiYamlPage = openApiYaml.toString(); - - setup.get(Msc.specialUri("openapi")).plain(new ReqHandler() { - @Override - public Object execute(Req req) throws Exception { - return GUI.hardcoded(openApiYamlPage); - } - }); - } + private static final Template OPENAPI_TEMPLATE = Templates.load("openapi-template.yaml"); + private static final Template OPENAPI_PATH_TEMPLATE = Templates.load("openapi-path.yaml"); + private static final Template OPENAPI_VERB_TEMPLATE = Templates.load("openapi-verb.yaml"); + + private static final Config OPENAPI = Conf.OPENAPI; + + public static void bootstrap(Setup setup) { + + if (OPENAPI.isEmpty()) { + Log.warn("OpenAPI is not configured!"); + } + + final StringBuilder openApiYaml = new StringBuilder(); + + Map info = U.map( + "openapi_project_version", "1.0", + "openapi_project_title", "Project Title", + "openapi_project_url", "http://openapi.rapidoid.org" + ); + + openApiYaml.append(OPENAPI_TEMPLATE.render(info)); + + Hashtable> paths = null; + HttpRoutes routes = setup.routes(); + + if (routes != null && !routes.isEmpty()) { + Set routeSet = routes.all(); + paths = new Hashtable<>(); + + for (Route route : routeSet) { + String path = route.path().trim(); + if (!paths.containsKey(path)) { + paths.put(path, new ArrayList()); + } + + List routeList = paths.get(path); + routeList.add(route); + } + } + + if (paths != null && paths.size() > 0) { + Set keys = paths.keySet(); + for (String path : keys) { + openApiYaml.append(OPENAPI_PATH_TEMPLATE.render(U.map("route_path", path))); + + List routeListPath = paths.get(path); + for (Route route : routeListPath) { + String verb = route.verb().name().toLowerCase(); + openApiYaml.append(OPENAPI_VERB_TEMPLATE.render(U.map("route_verb", verb))); + } + } + } + + final String openApiYamlPage = openApiYaml.toString(); + + setup.get(Msc.specialUri("openapi")).plain(new ReqHandler() { + @Override + public Object execute(Req req) { + return GUI.hardcoded(openApiYamlPage); + } + }); + } } diff --git a/rapidoid-openapi/src/test/java/org/rapidoid/openapi/OpenAPIDemo.java b/rapidoid-openapi/src/test/java/org/rapidoid/openapi/OpenAPIDemo.java index f8a811b214..02226274db 100644 --- a/rapidoid-openapi/src/test/java/org/rapidoid/openapi/OpenAPIDemo.java +++ b/rapidoid-openapi/src/test/java/org/rapidoid/openapi/OpenAPIDemo.java @@ -5,21 +5,20 @@ public class OpenAPIDemo { - public static void main(String[] args) { - Setup setup = On.setup(); + public static void main(String[] args) { + Setup setup = On.setup(); - On.get("/test1/").plain(OpenAPIDemo.sayHello()); - On.get("/test2/saida").plain(OpenAPIDemo.sayHello()); - On.get("/test2/output").plain(OpenAPIDemo.sayHello()); - On.post("/test2/output").plain(OpenAPIDemo.sayHello()); - On.delete("/test2/output").plain(OpenAPIDemo.sayHello()); + On.get("/test1/").plain(sayHello()); + On.get("/test2/foo").plain(sayHello()); + On.get("/test2/output").plain(sayHello()); + On.post("/test2/output").plain(sayHello()); + On.delete("/test2/output").plain(sayHello()); - OpenAPI.register(setup); - setup.activate(); - } + OpenAPI.bootstrap(setup); + } - public static String sayHello() { - return "Hello"; - } + private static String sayHello() { + return "Hello"; + } }