/** Returns a string of the generated rules using data from the passed in object. */
  protected String generateRules(Object objects) throws TaskException {
    // get filename
    if (parameters.get(PARAM_TEMPLATE_FILENAME.getName()) == null) {
      throw new TaskException(
          "No '" + PARAM_TEMPLATE_FILENAME.getName() + "' parameter specified.");
    }
    File templateFilename =
        new File(getAbsolutePath((String) parameters.get(PARAM_TEMPLATE_FILENAME.getName())));

    // create a new engine (we need to set the file path)
    VelocityEngine velocityEngine = new VelocityEngine();
    velocityEngine.setProperty(
        VelocityEngine.FILE_RESOURCE_LOADER_PATH, templateFilename.getParent());
    try {
      velocityEngine.init();
    } catch (Exception e) {
      LOG.error("Error initializing template engine.");
      throw new TaskException(e);
    }

    VelocityContext velocityContext = new VelocityContext();
    // add parameters using reflection
    addParameters(velocityContext, objects);

    // generate rules and return
    StringWriter result = new StringWriter();
    try {
      velocityEngine.mergeTemplate(templateFilename.getName(), velocityContext, result);
    } catch (Exception e) {
      LOG.error("Error generating rules.");
      throw new TaskException(e);
    }
    return result.toString();
  }
Example #2
0
 @Override
 public void doGet(HttpServletRequest req, HttpServletResponse resp)
     throws ServletException, IOException {
   Map<String, Object> params = Maps.newHashMap();
   params.put("stores", stores);
   velocityEngine.render("read-only-mgmt.vm", params, resp.getOutputStream());
 }
Example #3
0
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    String storeName = request.getParameter("store");

    String format = request.getParameter("format");
    if ("json".equals(format)) {
      outputJSON(response);
      return;
    } else {
      response.setContentType("text/html");

      long refreshTime = 600;
      String refresh = request.getParameter("refresh");
      if (refresh != null) {
        try {
          refreshTime = Integer.parseInt(refresh);
        } catch (NumberFormatException e) {
          response.sendError(HttpServletResponse.SC_BAD_REQUEST);
        }
      }

      List<Store<ByteArray, byte[], byte[]>> stores = null;
      if (storeName == null) {
        stores = server.getStoreRepository().getAllLocalStores();
      } else {
        stores = Collections.singletonList(server.getStoreRepository().getLocalStore(storeName));
      }

      Map<String, Object> params = Maps.newHashMap();
      params.put("status", abstractSocketService.getStatusManager());
      params.put("counters", Tracked.values());
      params.put("stores", stores);
      params.put("refresh", refreshTime);
      velocityEngine.render("status.vm", params, response.getOutputStream());
    }
  }
Example #4
0
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    String qryDoc;
    String username;
    username = "";
    PrintWriter out = response.getWriter();
    request.setCharacterEncoding("GBK");
    try {
      request.getSession().setMaxInactiveInterval(60000);
      username =
          request.getSession().getAttribute("USERNAME") != null
              ? request.getSession().getAttribute("USERNAME").toString()
              : "";
    }
    // Misplaced declaration of an exception variable
    catch (Exception e) {
      e.printStackTrace();
    }
    if (request.getPathInfo() == null)
      qryDoc = getServletConfig().getServletContext().getRealPath(request.getServletPath());
    else qryDoc = request.getPathTranslated();
    try {
      WebApp app = new WebApp(FunctionLib.openFile(qryDoc));
      String path = getServletContext().getRealPath("/");
      VelocityEngine ve = new VelocityEngine();
      ve.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path);
      VelocityContext context = new VelocityContext();

      BufferedOutputStream outb = null;
      InputStream in = null;
      String msg = null;

      ve.init();

      ToNcEngine mainMod = new ToNcEngine(request, response, app, context, getServletConfig());
      // 处理用户请求
      Vector vsqls = app.getSqls();
      if (app.getSqlType().equals("select")) {
        List ldata = null;
        for (int i = 0; i < vsqls.size(); i++) {
          ldata = new ArrayList();
          ldata = mainMod.getData(vsqls.elementAt(i).toString(), app.getEscape());
          context.put(vsqls.elementAt(i).toString(), ldata);
        }
        context.put("CGI_url", request.getRequestURL().toString());
      }
      Template t = ve.getTemplate(app.getTemplate());
      StringWriter sw = new StringWriter();
      t.merge(context, sw);
      System.out.println("aaaaaaaa" + sw.toString());
      // String url = "http://10.7.3.225:8080/service/XchangeServlet";
      URL realURL = new URL(server);
      HttpURLConnection connection = (HttpURLConnection) realURL.openConnection();
      connection.setDoOutput(true);
      connection.setRequestProperty("Content-type", "text/xml");
      connection.setRequestMethod("POST");
      outb = new BufferedOutputStream(connection.getOutputStream());
      outb.write(sw.toString().getBytes());
      outb.close();
      in = new DataInputStream(connection.getInputStream());
      byte[] b = new byte[in.available()];
      in.read(b);
      msg = new String(b, "UTF-8");
      // System.out.println("返回信息:"+msg);
      Document resDoc = DocumentHelper.parseText(msg);

      List resCode_list = resDoc.selectNodes("ufinterface/sendresult/resultcode");
      List resDes_list = resDoc.selectNodes("ufinterface/sendresult/resultdescription");
      // 从回执信息中获得错误信息详细描述
      String invaliddoc_value = null;
      returnMsg.clear();
      for (Object obj : resDes_list) {
        Element invaliddoc = (Element) obj;
        invaliddoc_value = invaliddoc.getText();
        System.out.println("返回信息:" + invaliddoc_value);
        // 将回执信息赋值给静态变量returnMsg
        returnMsg.add(invaliddoc_value);
      }
      // 从回执信息中获取错误信息编号
      List<String> resCodeList = new ArrayList<String>();
      for (Object obj : resCode_list) {
        Element resCode = (Element) obj;
        String resCode_value = resCode.getText();
        // System.out.println("失败信息:"+resCode_value);
        // 只有resCode编号为1时才是正常处理完毕,没有错误
        if (!resCode_value.equals("1")) {
          resCodeList.add(resCode_value);
        }
      }
      if (resCodeList.size() == 0) {
        if (app.getUrl().equals("qbTonc")) {
          out.println("OK");
          out.close();
        } else {
          if (!app.getSuccessMsg().equals("")) invaliddoc_value = app.getSuccessMsg();
          out.println("<html>\n");
          out.println("<head>\n");
          out.println(
              "<script type=\"text/javascript\" language=\"JavaScript\" src=\"../js/title.js\"></script>\n");
          out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\n");
          out.println("<script>");
          out.println(FunctionLib.gbToIso("alert('" + invaliddoc_value + "')"));
          out.println("window.location='" + app.getUrl() + "'");
          out.println("</script>");
          out.println("</head>\n");
          out.println("  </html>\n");
          out.close();
        }
      } else {
        if (!app.getFailMsg().equals("")) invaliddoc_value = app.getFailMsg();
        out.println("<html>\n");
        out.println("<head>\n");
        out.println(
            "<script type=\"text/javascript\" language=\"JavaScript\" src=\"../js/title.js\"></script>\n");
        out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\n");
        out.println("<script>");
        out.println(FunctionLib.gbToIso("alert('" + invaliddoc_value + "')"));
        out.println("window.history.go(-1);");
        out.println("</script>");
        out.println("</head>\n");
        out.println("  </html>\n");
        out.close();
      }
    } catch (Exception e) {
      System.out.println(e.getMessage());
      e.printStackTrace();
      out.println("<html>\n");
      out.println("<head>\n");
      out.println(
          "<script type=\"text/javascript\" language=\"JavaScript\" src=\"../js/title.js\"></script>\n");
      out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\n");
      out.println("<script>");
      out.println(FunctionLib.gbToIso("alert('提取数据时出错!')"));
      out.println("</script>");
      out.println("</head>\n");
      out.println("  </html>\n");
      out.close();
    }
  }