protected Route mappingToRoute(PathTemplateFactory ptf, RequestMappingInfo info, Object handler) { String path = info.getPatternsCondition().getPatterns().iterator().next(); String method = info.getMethodsCondition().getMethods().isEmpty() ? "*" : info.getMethodsCondition().getMethods().iterator().next().name(); RouteBuilder route = new RouteBuilder(method, ptf.createPathTemplate(path)); String desc = handler.toString(); if(handler instanceof HandlerMethod) { desc = LeapOperationSupport.getHandlerDescription((HandlerMethod)handler); } route.setAction(new DescAction(desc)); return route.build(); }
@Override public boolean isOperationExists(RestdContext context, RouteBuilder r) { String verb = r.getMethod(); String path = r.getPathTemplate().getTemplate(); for(RequestMappingInfo mapping : allMappings.keySet()) { if(!isSamePath(mapping, path)) { continue; } if(isSameMethod(mapping, verb)) { apiMappings.add(mapping); Object handler = allMappings.get(mapping); String desc = handler.toString(); if(handler instanceof HandlerMethod) { HandlerMethod hm = (HandlerMethod)handler; desc = "spring:" + getHandlerDescription(hm); processHandlerMethod(r, hm); } r.setEnabled(true); r.setExecutable(false); r.setAction(new SpringAction(r.getAction(), desc)); return true; } } return false; }
protected boolean isOperationExists(RestdContext context, RouteBuilder route) { for(ApiRoute ar : context.getApiConfig().getApiRoutes()) { Route route1 = ar.getRoute(); if(route.getMethod().equalsIgnoreCase(route1.getMethod()) && route.getPathTemplate().getTemplate().equals(route1.getPathTemplate().getTemplate())) { route.setAction(route1.getAction()); route.setEnabled(false); return true; } } for(RestdOperationSupport support : operationSupports) { if(support.isOperationExists(context, route)) { if(null == route.getEnabled()) { route.setEnabled(false); } return route.isDisabledExplicitly(); } } return false; }
public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model, String path, String name, Callback callback) { FuncActionBuilder action = new FuncActionBuilder(name); RouteBuilder route = rm.createRoute("GET", path); if (null != callback) { callback.preAddArguments(action); } action.setFunction(createFunction(context, model, action.getArguments().size())); addArgument(context, action, QueryOptions.class, "options"); if (null != callback) { callback.postAddArguments(action); } addModelQueryResponse(action, model); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model, String path, String name, Callback callback) { FuncActionBuilder action = new FuncActionBuilder(name); RouteBuilder route = rm.createRoute("GET", path); if (null != callback) { callback.preAddArguments(action); } action.setFunction(createFunction(context, model, action.getArguments().size())); addArgument(context, action, CountOptions.class, "options"); if (null != callback) { callback.postAddArguments(action); } addModelCountResponse(action, model); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if(isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model, String path, String name, Callback callback) { FuncActionBuilder action = new FuncActionBuilder(name); RouteBuilder route = rm.createRoute("PATCH", path); if (null != callback) { callback.preAddArguments(action); } action.setFunction(createFunction(context, model, action.getArguments().size())); addIdArguments(context, action, model); addModelArgumentForUpdate(context, action, model); if (null != callback) { callback.postAddArguments(action); } addNoContentResponse(action, model); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model, String path, String name, Callback callback) { FuncActionBuilder action = new FuncActionBuilder(name); RouteBuilder route = rm.createRoute("POST", path); if (null != callback) { callback.preAddArguments(action); } action.setFunction(createFunction(context, model, action.getArguments().size())); addModelArgumentForCreate(context, action, model); if (null != callback) { callback.postAddArguments(action); } addModelResponse(action, model).setStatus(201); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model, String path, String name, Callback callback) { FuncActionBuilder action = new FuncActionBuilder(name); RouteBuilder route = rm.createRoute("DELETE", path); if (null != callback) { callback.preAddArguments(action); } action.setFunction(createFunction(context, model, action.getArguments().size())); addIdArguments(context, action, model); addOtherArguments(c, context, action, model); if (null != callback) { callback.postAddArguments(action); } addNoContentResponse(action, model); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model, String path, String name, Callback callback) { FuncActionBuilder action = new FuncActionBuilder(name); RouteBuilder route = rm.createRoute("GET", path); if (null != callback) { callback.preAddArguments(action); } action.setFunction(createFunction(context, model, action.getArguments().size())); addIdArguments(context, action, model); addArgument(context, action, QueryOptionsBase.class, "options"); if (null != callback) { callback.postAddArguments(action); } addModelResponse(action, model); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
r.setAction(combinedAction); r.setEnabled(true);
@Override public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model) { if (!context.getConfig().allowModelOperation(model.getName(), NAME)) { return; } String verb = "PUT"; String path = fullModelPath(c, model) + getIdPath(model); FuncActionBuilder action = new FuncActionBuilder(); RouteBuilder route = rm.createRoute(verb, path); action.setName(Strings.lowerCamel(NAME, model.getName())); action.setFunction(createFunction(context, model, action.getArguments().size())); addIdArguments(context, action, model); addModelArgumentForReplace(context, action, model); addNoContentResponse(action, model); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
@Override public void createCrudOperation(ApiConfigurator c, RestdContext context, RestdModel model) { if (!context.getConfig().allowModelOperation(model.getName(), NAME)) { return; } String verb = "POST"; String path = fullModelPath(c, model) + "/" + NAME; RouteBuilder route = rm.createRoute(verb, path); if (isOperationExists(context, route)) { return; } FuncActionBuilder action = new FuncActionBuilder(); action.setName(Strings.lowerCamel(NAME, model.getName())); action.setFunction(new CalculateFunction(context.getApi(), context.getDao(), model)); addTypeArgument(context, action); addModelArgument(context, action, model); addModelResponse(action, model).setStatus(200); preConfigure(context, model, action); route.setAction(action.build()); setCrudOperation(route, NAME); postConfigure(context, model, route); if (isOperationExists(context, route)) { return; } c.addDynamicRoute(rm.loadRoute(context.getRoutes(), route)); }
route.setAction(action.build()); postConfigure(ctx, model, route, mo);
route.setAction(action.build()); postConfigure(ctx, model, route, mo);