11package restx .apidocs ;
22
3- import com .fasterxml .jackson .databind .ObjectMapper ;
43import com .fasterxml .jackson .databind .ObjectWriter ;
54import com .google .common .base .CaseFormat ;
65import com .google .common .base .Optional ;
7- import com .google .common .base .Predicate ;
86import com .google .common .collect .*;
97import restx .*;
108import restx .description .*;
@@ -54,13 +52,7 @@ public ApiDeclarationRoute(@Named(FrontObjectMapperFactory.WRITER_NAME) ObjectWr
5452 @ Override
5553 protected Optional <?> doRoute (RestxRequest restxRequest , RestxRequestMatch match , Object body ) throws IOException {
5654 String routerName = match .getPathParam ("router" );
57- routerName = CaseFormat .LOWER_HYPHEN .to (CaseFormat .UPPER_CAMEL , routerName );
58-
59- Optional <NamedComponent <RestxRouter >> router = Optional .absent ();
60- ImmutableList <String > suffixes = ImmutableList .of ("ResourceRouter" , "" , "Resource" , "Router" );
61- for (int i = 0 ; i < suffixes .size () && !router .isPresent (); i ++) {
62- router = factory .queryByName (Name .of (RestxRouter .class , routerName + suffixes .get (i ))).optional ().findOne ();
63- }
55+ Optional <NamedComponent <RestxRouter >> router = getRouterByName (factory , routerName );
6456
6557 if (!router .isPresent ()) {
6658 return Optional .absent ();
@@ -76,6 +68,17 @@ protected Optional<?> doRoute(RestxRequest restxRequest, RestxRequestMatch match
7668 .build ());
7769 }
7870
71+ static Optional <NamedComponent <RestxRouter >> getRouterByName (Factory f , String routerName ) {
72+ routerName = CaseFormat .LOWER_HYPHEN .to (CaseFormat .UPPER_CAMEL , routerName );
73+
74+ Optional <NamedComponent <RestxRouter >> router = Optional .absent ();
75+ ImmutableList <String > suffixes = ImmutableList .of ("ResourceRouter" , "" , "Resource" , "Router" );
76+ for (int i = 0 ; i < suffixes .size () && !router .isPresent (); i ++) {
77+ router = f .queryByName (Name .of (RestxRouter .class , routerName + suffixes .get (i ))).optional ().findOne ();
78+ }
79+ return router ;
80+ }
81+
7982 private List <ResourceDescription > buildApis (NamedComponent <RestxRouter > router ) {
8083 return fillRelatedOperations (router .getName ().getName (), describeAllRoutes (router .getComponent ()));
8184 }
0 commit comments