Fixed route binder · JavaWebStack/command@fdb479a

File tree

1 file changed

lines changed

  • src/main/java/org/javawebstack/command/bind

1 file changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -56,30 +56,13 @@ public void bind(String globalPrefix, Object controller) {

5656

for (String command : commands) {

5757

SimpleCommandDeclaration commandDecl = prefixDecl.clone();

5858

commandDecl.parse(command, false);

59-

CommandRoute route = commandDecl.create(cli.getResolvers());

60-

route.handler(handler);

61-

bindMiddlewares(route, middlewares);

59+

cli.route(commandDecl, handler, middlewares.toArray(new String[0]));

6260

}

6361

}

6462

}

6563

}

6664

}

6765
68-

private void bindMiddlewares(CommandRoute route, List<String> middlewares) {

69-

for (String name : middlewares) {

70-

CommandHandler before = cli.getBeforeMiddleware(name);

71-

CommandHandler after = cli.getAfterMiddleware(name);

72-

if (before == null && after == null) {

73-

// TODO: cli.getLogger().warning("Middleware \"" + name + "\" not found!");

74-

continue;

75-

}

76-

if (before != null)

77-

route.getBeforeMiddlewares().add(before);

78-

if (after != null)

79-

route.getAfterMiddlewares().add(after);

80-

}

81-

}

82-
8366

private static <T extends Annotation> List<T> getAnnotations(Class<T> type, Method method) {

8467

return Arrays.asList(method.getDeclaredAnnotationsByType(type));

8568

}