Package org.beangle.struts2.convention.route

Examples of org.beangle.struts2.convention.route.Action


   * @param clazz
   * @return
   */
  public Action build(String className) {
    Profile profile = profileService.getProfile(className);
    Action action = new Action();
    StringBuilder sb = new StringBuilder();
    // namespace
    sb.append(profile.getUriPath());
    if (Constants.SHORT_URI.equals(profile.getUriPathStyle())) {
      String simpleName = className.substring(className.lastIndexOf('.') + 1);
      sb.append(StringUtils.uncapitalize(simpleName.substring(0, simpleName.length()
          - profile.getActionSuffix().length())));
    } else if (Constants.SIMPLE_URI.equals(profile.getUriPathStyle())) {
      sb.append(profile.getInfix(className));
    } else if (Constants.SEO_URI.equals(profile.getUriPathStyle())) {
      sb.append(StrUtils.unCamel(profile.getInfix(className)));
    } else {
      throw new RuntimeException("unsupported uri style " + profile.getUriPathStyle());
    }
    action.path(sb.toString()).method(profile.getDefaultMethod()).extention(profile.getUriExtension());
    return action;
  }
View Full Code Here


  /**
   * forward to index method
   */
  public String execute() throws Exception {
    return forward(new Action((Class<?>) null, "index"));
  }
View Full Code Here

   * @param message
   * @param params
   * @return
   */
  protected String redirect(String method, String message, String params) {
    return redirect(new Action((String) null, method, params), message);
  }
View Full Code Here

  protected String redirect(String method, String message, String params) {
    return redirect(new Action((String) null, method, params), message);
  }

  protected String redirect(String method) {
    return redirect(new Action(method), null);
  }
View Full Code Here

   * @param method
   * @param message
   * @return
   */
  protected String redirect(String method, String message) {
    return redirect(new Action(method), message);
  }
View Full Code Here

      case 0:
        logger.warn("Cannot find bean definition for {}.", actionClass);
        break;
      case 1:
        Profile profile = actionBuilder.getProfileService().getProfile(actionClass.getName());
        Action action = actionBuilder.build(actionClass.getName());
        PackageConfig.Builder packageConfig = getPackageConfig(profile, packageConfigs, action,
            actionClass);
        if (createActionConfig(packageConfig, action, actionClass, beanNames[0])) {
          createCount++;
        }
View Full Code Here

          buildResultParams(path, resultTypeConfig));
    } else {
      String prefix = StringUtils.substringBefore(resultCode, ":");
      resultTypeConfig = (ResultTypeConfig) resultTypeConfigs.get(prefix);
      if (prefix.startsWith("chain")) {
        Action action = buildAction(StringUtils.substringAfter(resultCode, ":"));
        Map<String, String> params = buildResultParams(path, resultTypeConfig);
        addNamespaceAction(action, params);
        if (StringUtils.isNotEmpty(action.getMethod())) {
          params.put("method", action.getMethod());
        }
        return buildResult(resultCode, resultTypeConfig, context, params);
      } else if (prefix.startsWith("redirect")) {
        String targetResource = StringUtils.substringAfter(resultCode, ":");
        if (StringUtils.contains(targetResource, ':')) { return new ServletRedirectResult(
            targetResource); }
        Action action = buildAction(targetResource);
        // add special param and ajax tag for redirect
        HttpServletRequest request = ServletActionContext.getRequest();
        String redirectParamStr = request.getParameter("params");
        action.params(redirectParamStr);
        // x-requested-with->XMLHttpRequest
        if (null != request.getHeader("x-requested-with")) {
          action.param("x-requested-with", "1");
        }
        Map<String, String> params = buildResultParams(path, resultTypeConfig);
        if (null != action.getParams().get("method")) {
          params.put("method", (String) action.getParams().get("method"));
          action.getParams().remove("method");
        }
        if (StringUtils.isNotEmpty(action.getMethod())) {
          params.put("method", action.getMethod());
        }
        addNamespaceAction(action, params);

        ServletRedirectResult result = (ServletRedirectResult) buildResult(resultCode,
            resultTypeConfig, context, params);
        for (Map.Entry<String, String> param : action.getParams().entrySet()) {
          String property = param.getKey();
          result.addParameter(property, param.getValue());
        }
        return result;
      } else {
View Full Code Here

   * @param param
   * @param redirectParamStr
   * @return
   */
  private Action buildAction(String path) {
    Action action = (Action) ActionContext.getContext().getContextMap().get("dispatch_action");
    if (null == action) {
      action = new Action();
      String newPath = path;
      if (path.startsWith("?")) {
        newPath = getServletPath(ServletActionContext.getRequest()) + path;
      }
      action.path(newPath);
    } else {
      if (null != action.getClazz()) {
        Action newAction = actionNameBuilder.build(action.getClazz());
        action.name(newAction.getName()).namespace(newAction.getNamespace());
      }
      if (StringUtils.isBlank(action.getName())) {
        action.path(getServletPath(ServletActionContext.getRequest()));
      }
    }
View Full Code Here

    String testResult = codeGenerator.test(codeFixture);
    if (null == testResult) {
      testResult = "null";
    }
    put("testResult", testResult);
    return forward(new Action(this.getClass(), "edit"));
  }
View Full Code Here

    return redirect("search", "info.save.success");
  }

  @Override
  public String index() {
    return forward(new Action(this, "search"));
  }
View Full Code Here

TOP

Related Classes of org.beangle.struts2.convention.route.Action

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.