public String getScheduleString() {
    StringBuilder builder = new StringBuilder();

    try {
      builder.append("start: ");
      builder.append(getParameter(PARAM_START_TIME.getName(), DEFAULT_START_TIME));
      builder.append(", ");

      builder.append("end: ");
      builder.append(getParameter(PARAM_END_TIME.getName(), DEFAULT_END_TIME));
      builder.append(", ");

      Integer repeat = getParameter(PARAM_REPEAT.getName(), DEFAULT_REPEAT);
      builder.append("repeat: ");
      builder.append((repeat == SimpleTrigger.REPEAT_INDEFINITELY ? "infinite" : repeat));
      builder.append(", ");

      builder.append("interval: ");
      builder.append(getParameter(PARAM_INTERVAL.getName(), DEFAULT_INTERVAL));
      builder.append(" hrs");

    } catch (PluggableTaskException e) {
      LOG.error("Exception occurred parsing plug-in parameters", e);
    }

    return builder.toString();
  }
  private Map<String, Object> makeCall(String json, String method) throws PluggableTaskException {

    LOG.debug("Calling method: '%s', with JSON: %s", method, json);

    MultiValueMap<String, String> postParameters = new LinkedMultiValueMap<String, String>();

    postParameters.add("rest_data", json);
    postParameters.add("input_type", "JSON");
    postParameters.add("method", method);
    postParameters.add("response_type", "JSON");

    RestTemplate restTemplate = new RestTemplate();

    String resultString =
        restTemplate.postForObject(
            ENTRY_POINT,
            postParameters,
            String.class,
            getParameter(PARAM_SERVER.getName()),
            getParameter(PARAM_SUGARINSTANCE.getName()));

    LOG.debug("Result contents: %s", resultString);

    // Tried to use Spring MappingJacksonHttpMessageConverter, but
    // server sends text/html mime type. Using Jackson directly:
    ObjectMapper mapper = new ObjectMapper();
    Map<String, Object> result = null;
    try {
      result = mapper.readValue(resultString, Map.class);
    } catch (IOException ioe) {
      throw new PluggableTaskException(ioe);
    }

    return result;
  }
  private String login() throws PluggableTaskException {

    String json =
        "{"
            + "  \"user_auth\": {"
            + "    \"user_name\": \""
            + getParameter(PARAM_USER_NAME.getName())
            + "\", "
            + "    \"password\": \""
            + getParameter(PARAM_PASSWORD.getName())
            + "\", "
            + "    \"encryption\": \"PLAIN\" "
            + "  }, "
            + "  \"application_name\": \"JBilling\","
            + "  \"name_value_list\": null "
            + "}";

    Map<String, Object> result = makeCall(json, "login");

    if (result.get("id") == null) {
      String message = "No session id. Error calling SugarCRM: " + result.get("description");
      LOG.error(message);
      throw new PluggableTaskException(message);
    }

    return result.get("id").toString();
  }
Ejemplo n.º 4
0
 public boolean validate() {
   if (getParameterDescriptions() != null) {
     // validate that those required are present
     for (ParameterDescription param : getParameterDescriptions()) {
       if (param.isRequired()) {
         if (parameters == null || !parameters.containsKey(param.getName())) {
           return false;
         }
       }
     }
   }
   return true;
 }
  public SimpleTrigger getTrigger() throws PluggableTaskException {
    SimpleTrigger trigger =
        new SimpleTrigger(
            getTaskName(),
            Scheduler.DEFAULT_GROUP,
            getParameter(PARAM_START_TIME.getName(), DEFAULT_START_TIME),
            getParameter(PARAM_END_TIME.getName(), DEFAULT_END_TIME),
            getParameter(PARAM_REPEAT.getName(), DEFAULT_REPEAT),
            getParameter(PARAM_INTERVAL.getName(), DEFAULT_INTERVAL) * 3600 * 1000);

    trigger.setMisfireInstruction(
        SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT);

    return trigger;
  }
  public boolean process(PaymentDTOEx paymentInfo) throws PluggableTaskException {
    FormatLogger log = new FormatLogger(Logger.getLogger(PaymentEmailAuthorizeNetTask.class));
    boolean retValue = super.process(paymentInfo);
    String address = (String) parameters.get(PARAMETER_EMAIL_ADDRESS.getName());
    try {
      UserBL user = new UserBL(paymentInfo.getUserId());
      String message;
      if (new Integer(paymentInfo.getPaymentResult().getId()).equals(Constants.RESULT_OK)) {
        message = "payment.success";
      } else {
        message = "payment.fail";
      }
      String params[] = new String[6];
      params[0] = paymentInfo.getUserId().toString();
      params[1] = user.getEntity().getUserName();
      params[2] = paymentInfo.getId() + "";
      params[3] = paymentInfo.getAmount().toString();
      if (paymentInfo.getAuthorization() != null) {
        params[4] = paymentInfo.getAuthorization().getTransactionId();
        params[5] = paymentInfo.getAuthorization().getApprovalCode();
      } else {
        params[4] = "Not available";
        params[5] = "Not available";
      }
      log.debug(
          "Bkp 6 " + params[0] + " " + params[1] + " " + params[2] + " " + params[3] + " "
              + params[4] + " " + params[5] + " ");
      NotificationBL.sendSapienterEmail(
          address, user.getEntity().getEntity().getId(), message, null, params);
    } catch (Exception e) {

      log.warn("Cant send receit email");
    }

    return retValue;
  }