public Object convertSingleResultingObjectToType(Object value, String className) {
   if (value != null) {
     IWTimestamp stamp = new IWTimestamp(value.toString());
     return stamp.getDate();
   }
   return value;
 }
 /**
  * Sets the content (value) of the date input.
  *
  * @param value The content to set.
  */
 public void setContent(String content) {
   if (!"".equals(content)) {
     IWTimestamp stamp = new IWTimestamp(content);
     if (stamp != null) {
       setDate(stamp.getDate());
     }
   }
 }
 public String getDateString(Timestamp stamp, String pattern) {
   IWTimestamp iwts = null;
   String dateStr = "";
   if (stamp != null) {
     iwts = new IWTimestamp(stamp);
     dateStr = iwts.getDateString(pattern);
   }
   return dateStr;
 }
  public Collection<SearchResult> getArticleSearchResults(
      String folder, List<String> categories, IWContext iwc) {
    if (folder == null) {
      return null;
    }
    if (iwc == null) {
      iwc = IWContext.getInstance();
      if (iwc == null) {
        return null;
      }
    }

    IWTimestamp oldest = null;

    if (this.numberOfDaysDisplayed > 0) {
      oldest = IWTimestamp.RightNow();
      oldest.addDays(-this.numberOfDaysDisplayed);
    }

    IWSlideSession session = null;
    try {
      session = (IWSlideSession) IBOLookup.getSessionInstance(iwc, IWSlideSession.class);
    } catch (IBOLookupException e) {
      e.printStackTrace();
      return null;
    }
    String webDavUri = null;
    try {
      webDavUri = session.getWebdavServerURI();
    } catch (RemoteException e) {
      e.printStackTrace();
    }
    if (webDavUri != null) {
      if (folder.startsWith(webDavUri)) {
        folder = folder.substring(webDavUri.length());
      }
      if (folder.startsWith(CoreConstants.SLASH)) {
        folder = folder.substring(1);
      }
    }
    SearchRequest articleSearch = null;
    try {
      articleSearch = getSearchRequest(folder, iwc.getCurrentLocale(), oldest, categories);
    } catch (SearchException e) {
      e.printStackTrace();
      return null;
    }
    ContentSearch searchBusiness = new ContentSearch(iwc.getIWMainApplication());
    searchBusiness.setToUseRootAccessForSearch(true);
    searchBusiness.setToUseDescendingOrder(true);
    Search search = searchBusiness.createSearch(articleSearch);
    return search.getSearchResults();
  }
  public String creditcardAuthorization(
      String nameOnCard,
      String cardnumber,
      String monthExpires,
      String yearExpires,
      String ccVerifyNumber,
      double amount,
      String currency,
      String referenceNumber)
      throws CreditCardAuthorizationException {
    IWTimestamp stamp = IWTimestamp.RightNow();
    this.strName = nameOnCard;
    this.strCCNumber = cardnumber;
    this.strCCExpire = yearExpires + monthExpires;
    this.strCCVerify = ccVerifyNumber;
    setCurrencyAndAmount(currency, amount);
    this.strCurrentDate = getDateString(stamp);
    this.strReferenceNumber = convertStringToNumbers(referenceNumber);

    Hashtable returnedProperties = getFirstResponse();
    if (returnedProperties != null) {
      return propertiesToString(returnedProperties);
    } else {
      return null;
    }
  }
  public LandsmotRegistration register(
      User user, LandsmotEvent event, String email, IWTimestamp date) {
    LandsmotRegistration reg = null;
    if (event != null) {
      try {
        reg = getLandsmotRegistrationHome().findByUserAndEvent(user, event);
      } catch (FinderException e) {
      }
    }

    if (reg == null) {
      try {
        reg = getLandsmotRegistrationHome().create();
        reg.setUser(user);
        if (event != null) {
          reg.setEvent(event);
        }
        reg.setDate(date.getTimestamp());
        reg.store();
      } catch (CreateException e) {
        e.printStackTrace();
      }
    }
    return reg;
  }
  public LandsmotGroupRegistration register(
      String groupName,
      Collection participants,
      LandsmotEvent event,
      String email,
      IWTimestamp date) {
    LandsmotGroupRegistration groupRegistration = null;
    try {
      groupRegistration = getLandsmotGroupRegistrationHome().create();
      groupRegistration.setName(groupName);
      groupRegistration.setEvent(event);
      groupRegistration.setDate(date.getTimestamp());
      groupRegistration.store();

      if (participants != null && !participants.isEmpty()) {
        Iterator iter = participants.iterator();
        while (iter.hasNext()) {
          User participant = (User) iter.next();
          LandsmotRegistration registration = register(participant, null, null, date);
          if (registration != null) {
            registration.setGroupRegistration(groupRegistration);
            registration.store();
          }
        }
      }

    } catch (CreateException e) {
      e.printStackTrace();
    }
    return groupRegistration;
  }
  public String doRefund(
      String cardnumber,
      String monthExpires,
      String yearExpires,
      String ccVerifyNumber,
      double amount,
      String currency,
      Object parentDataPK,
      String captureProperties)
      throws CreditCardAuthorizationException {
    IWTimestamp stamp = IWTimestamp.RightNow();
    this.strCCNumber = cardnumber;
    this.strCCExpire = yearExpires + monthExpires;
    this.strCCVerify = ccVerifyNumber;
    setCurrencyAndAmount(currency, amount);
    this.strCurrentDate = getDateString(stamp);

    try {
      StringBuffer logText = new StringBuffer();
      Hashtable capturePropertiesHash = parseResponse(captureProperties);
      Hashtable properties =
          doRefund(getAmountWithExponents(amount), capturePropertiesHash, parentDataPK);

      String authCode = properties.get(this.PROPERTY_APPROVAL_CODE).toString();
      logText.append("\nRefund successful").append("\nAuthorization Code = " + authCode);
      logText.append("\nAction Code = " + properties.get(this.PROPERTY_ACTION_CODE).toString());
      try {
        String tmpCardNum = CreditCardBusinessBean.encodeCreditCardNumber(cardnumber);
        storeAuthorizationEntry(
            tmpCardNum,
            parentDataPK,
            properties,
            KortathjonustanAuthorisationEntries.AUTHORIZATION_TYPE_REFUND);
        log(logText.toString());

      } catch (Exception e) {
        System.err.println("Unable to save entry to database");
        e.printStackTrace();
        if (authCode != null) {
          return authCode;
        } else {
          throw new CreditCardAuthorizationException(e);
        }
      }

      return authCode;
    } catch (CreditCardAuthorizationException e) {
      StringBuffer logText = new StringBuffer();
      logText.append("Authorization FAILED");
      logText.append("\nError           = " + e.getErrorMessage());
      logText.append("\nNumber        = " + e.getErrorNumber());
      logText.append("\nDisplay error = " + e.getDisplayError());
      log(logText.toString());
      throw e;
    } catch (NullPointerException n) {
      throw new CreditCardAuthorizationException(n);
    }
  }
 public PresentationObject getHandlerObject(String name, String value, IWContext iwc) {
   this.setName(name);
   if (value != null) {
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
     try {
       Date date = formatter.parse(value);
       java.sql.Date sqlDate = new java.sql.Date(date.getTime());
       setDate(sqlDate);
       return this;
     } catch (ParseException ex) {
       logError("[DateInput] The value " + value + " could not be parsed");
       // go further to the default setting
     }
   }
   IWTimestamp to = IWTimestamp.RightNow();
   this.setYearRange(SYSTEM_LAUNCH_YEAR, to.getYear());
   this.setDate(to.getDate());
   return this;
 }
  public SearchRequest getSearchRequest(
      String scope, Locale locale, IWTimestamp oldest, List<String> categoryList)
      throws SearchException {
    SearchRequest s = new SearchRequest();
    s.addSelection(IWSlideConstants.PROPERTY_DISPLAY_NAME);
    s.addSelection(IWSlideConstants.PROPERTY_CREATION_DATE);
    s.addSelection(IWSlideConstants.PROPERTY_CATEGORY);
    s.addScope(new SearchScope(scope));
    SearchExpression expression = null;

    String localeString = CoreConstants.EMPTY;
    SearchExpression namePatternExpression =
        s.compare(
            CompareOperator.LIKE,
            IWSlideConstants.PROPERTY_DISPLAY_NAME,
            "%" + localeString + ".article");
    expression = namePatternExpression;

    SearchExpression creationDateExpression = null;
    if (oldest != null) {
      creationDateExpression =
          s.compare(CompareOperator.GTE, IWSlideConstants.PROPERTY_CREATION_DATE, oldest.getDate());
      expression = s.and(expression, creationDateExpression);
    }

    List<CompareExpression> categoryExpressions = new ArrayList<CompareExpression>();
    if (categoryList != null) {
      for (Iterator<String> iter = categoryList.iterator(); iter.hasNext(); ) {
        String categoryName = iter.next();
        categoryExpressions.add(
            s.compare(
                CompareOperator.LIKE,
                IWSlideConstants.PROPERTY_CATEGORY,
                "%," + categoryName + ",%"));
      }
      Iterator<CompareExpression> expr = categoryExpressions.iterator();
      if (expr.hasNext()) {
        SearchExpression categoryExpression = expr.next();
        while (expr.hasNext()) {
          categoryExpression = s.or(categoryExpression, expr.next());
        }
        expression = s.and(expression, categoryExpression);
      }
    }

    s.setWhereExpression(expression);
    return s;
  }
  public void endIdegaWebApplication() {
    // IWMainApplication application = IWMainApplication.getIWMainApplication(getServletContext());
    // IWMainApplication application = iwma;
    this.iwma
        .getSettings()
        .setProperty("last_shutdown", com.idega.util.IWTimestamp.RightNow().toString());

    IWStyleManager iwStyleManager = IWStyleManager.getInstance();
    log.fine("Saving style sheet");
    iwStyleManager.writeStyleSheet();
    this.iwma.unloadInstanceAndClass();
    // some bundle starters have initialized threads that are using the database
    // therefore stop first and then end database pool
    endDatabasePool();
    log.fine("Completed");
    Introspector.flushCaches();
  }
  /**
   * @param cardnumber
   * @param parentDataPK
   * @param properties
   * @throws IDOLookupException
   * @throws CreateException
   */
  private void storeAuthorizationEntry(
      String encodedCardnumber, Object parentDataPK, Hashtable properties, String authorizationType)
      throws IDOLookupException, CreateException {
    KortathjonustanAuthorisationEntriesHome authHome =
        (KortathjonustanAuthorisationEntriesHome)
            IDOLookup.getHome(KortathjonustanAuthorisationEntries.class);
    auth = authHome.create();

    if (properties.containsKey(this.PROPERTY_AMOUNT))
      auth.setAmount(
          Double.parseDouble(
              properties.get(this.PROPERTY_AMOUNT).toString())); // Double.parseDouble(strAmount));
    if (properties.containsKey(this.PROPERTY_APPROVAL_CODE))
      auth.setAuthorizationCode(
          properties.get(this.PROPERTY_APPROVAL_CODE).toString()); // authCode);
    if (properties.containsKey(this.PROPERTY_CARD_BRAND_NAME))
      auth.setBrandName(properties.get(this.PROPERTY_CARD_BRAND_NAME).toString());
    if (properties.containsKey(this.PROPERTY_CC_EXPIRE))
      auth.setCardExpires(
          properties.get(this.PROPERTY_CC_EXPIRE).toString()); // monthExpires+yearExpires);
    if (properties.containsKey(this.PROPERTY_CURRENCY_CODE))
      auth.setCurrency(
          getCurrencyAbbreviation(
              properties.get(this.PROPERTY_CURRENCY_CODE).toString())); // currency);
    if (properties.containsKey(this.PROPERTY_ERROR_CODE))
      auth.setErrorNumber(properties.get(this.PROPERTY_ERROR_CODE).toString());
    if (properties.containsKey(this.PROPERTY_ERROR_TEXT))
      auth.setErrorText(properties.get(this.PROPERTY_ERROR_TEXT).toString());
    if (properties.containsKey(this.PROPERTY_TOTAL_RESPONSE))
      auth.setServerResponse(properties.get(this.PROPERTY_TOTAL_RESPONSE).toString());

    auth.setTransactionType(authorizationType);
    auth.setCardNumber(encodedCardnumber);
    auth.setDate(IWTimestamp.RightNow().getDate());

    if (parentDataPK != null) {
      try {
        auth.setParentID(((Integer) parentDataPK).intValue());
      } catch (Exception e) {
        System.out.println("KortathjonustanCCCleint : could not set parentID : " + parentDataPK);
      }
    }
    auth.store();
  }
Beispiel #13
0
  public void addScriptElements(IWContext iwc) {
    if (this.isShowDay) {
      if (this.showYear) {
        this.theYear.setOnChange(
            "iwPopulateDaysWithYear(this,this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theDay.getName()
                + ",'"
                + this.dayString
                + "');iwSetValueOfHiddenDateWithAllInputs(this.form."
                + this.theYear.getName()
                + ",this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theDay.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
        this.theMonth.setOnChange(
            "iwPopulateDaysWithYear(this.form."
                + this.theYear.getName()
                + ",this,this.form."
                + this.theDay.getName()
                + ",'"
                + this.dayString
                + "');iwSetValueOfHiddenDateWithAllInputs(this.form."
                + this.theYear.getName()
                + ",this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theDay.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
        this.theDay.setOnChange(
            "iwSetValueOfHiddenDateWithAllInputs(this.form."
                + this.theYear.getName()
                + ",this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theDay.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
      } else {
        this.theMonth.setOnChange(
            "iwPopulateDaysWithMonth('"
                + this.selectedYear
                + "',this,this.form."
                + this.theDay.getName()
                + ",'"
                + this.dayString
                + "');iwSetValueOfHiddenDateWithDay('"
                + this.selectedYear
                + "',this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theDay.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
        this.theDay.setOnChange(
            "iwSetValueOfHiddenDateWithDay('"
                + this.selectedYear
                + "',this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theDay.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
      }
    } else {
      if (this.showYear) {
        this.theYear.setOnChange(
            "iwSetValueOfHiddenDateWithYear(this.form."
                + this.theYear.getName()
                + ",this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
        this.theMonth.setOnChange(
            "iwSetValueOfHiddenDateWithYear(this.form."
                + this.theYear.getName()
                + ",this.form."
                + this.theMonth.getName()
                + ",this.form."
                + this.theWholeDate.getName()
                + ");");
      } else {
        this.theMonth.setOnChange(
            "iwSetValueOfHiddenDateWithMonth('"
                + this.selectedYear
                + "',this.form."
                + this.theMonth.getName()
                + ",'01',this.form."
                + this.theWholeDate.getName()
                + ");");
      }
    }
    if (this.isSetAsNotEmpty) {
      if (this.showYear) {
        this.theYear.setAsNotEmpty(this.notEmptyErrorMessage, "YY");
      }
      this.theMonth.setAsNotEmpty(this.notEmptyErrorMessage, "00");
      if (this.isShowDay) {
        this.theDay.setAsNotEmpty(this.notEmptyErrorMessage, "00");
      }
    }
    if (this.earliestDate != null) {
      if (getParentForm() != null) {
        Form form = getParentForm();
        form.setOnSubmit("return checkSubmit(this)");
        Script script = form.getAssociatedFormScript();
        if (script == null) {
          script = new Script();
        }

        if (script.getFunction("checkSubmit") == null) {
          script.addFunction("checkSubmit", "function checkSubmit(inputs){\n\n}");
        }

        IWTimestamp earlyDate = new IWTimestamp(this.earliestDate.getTime());
        earlyDate.setTime(0, 0, 0, 0);
        script.addToBeginningOfFunction(
            "checkSubmit",
            "if (checkEarliestDate (findObj('"
                + getName()
                + "'),"
                + earlyDate.getDate().getTime()
                + ", '"
                + this.earliestDateErrorMessage
                + "') == false ){\nreturn false;\n}\n");

        StringBuffer buffer = new StringBuffer();
        buffer.append("function checkEarliestDate(input, date, warnMsg) {").append("\n\t");
        buffer.append("var returnBoolean = true;").append("\n\t");
        buffer.append("var dateString = input.value;").append("\n\t");
        buffer.append("if (dateString.length > 0) {").append("\n\t\t");
        buffer.append("var oldDate = new Date(date);").append("\n\t\t");
        buffer.append("var month = dateString.substring(5,7) - 1;").append("\n\t\t");
        buffer
            .append(
                "var newDate = new Date(dateString.substring(0,4),month,dateString.substring(8,10));")
            .append("\n\t\t");
        buffer.append("var difference = oldDate - newDate;").append("\n\t\t");
        buffer.append("if (difference > 0)").append("\n\t\t\t");
        buffer.append("returnBoolean = false;").append("\n\t");
        buffer.append("}").append("\n\n\t");
        buffer.append("if (!returnBoolean)").append("\n\t\t");
        buffer.append("alert(warnMsg);").append("\n\t");
        buffer.append("return returnBoolean;").append("\n}");
        script.addFunction("checkEarliestDate", buffer.toString());

        form.setAssociatedFormScript(script);
      }
    }
    if (this.latestDate != null) {
      if (getParentForm() != null) {
        Form form = getParentForm();
        form.setOnSubmit("return checkSubmit(this)");
        Script script = form.getAssociatedFormScript();
        if (script == null) {
          script = new Script();
        }

        if (script.getFunction("checkSubmit") == null) {
          script.addFunction("checkSubmit", "function checkSubmit(inputs){\n\n}");
        }
        script.addToFunction(
            "checkSubmit",
            "if (checkLatestDate (findObj('"
                + getName()
                + "'),"
                + this.latestDate.getTime()
                + ", '"
                + this.latestDateErrorMessage
                + "') == false ){\nreturn false;\n}\n");

        StringBuffer buffer = new StringBuffer();
        buffer.append("function checkLatestDate(input, date, warnMsg) {").append("\n\t");
        buffer.append("var returnBoolean = true;").append("\n\t");
        buffer.append("var dateString = input.value;").append("\n\t");
        buffer.append("if (dateString.length > 0) {").append("\n\t\t");
        buffer.append("var oldDate = new Date(date);").append("\n\t\t");
        buffer.append("var month = dateString.substring(5,7) - 1;").append("\n\t\t");
        buffer
            .append(
                "var newDate = new Date(dateString.substring(0,4),month,dateString.substring(8,10));")
            .append("\n\t\t");
        buffer.append("var difference = newDate - oldDate;").append("\n\t\t");
        buffer.append("if (difference > 0)").append("\n\t\t\t");
        buffer.append("returnBoolean = false;").append("\n\t");
        buffer.append("}").append("\n\n\t");
        buffer.append("if (!returnBoolean)").append("\n\t\t");
        buffer.append("alert(warnMsg);").append("\n\t");
        buffer.append("return returnBoolean;").append("\n}");
        script.addFunction("checkLatestDate", buffer.toString());

        form.setAssociatedFormScript(script);
      }
    }
  }
  public void startIdegaWebApplication() {
    long start = System.currentTimeMillis();

    try {
      addToClassPath();
    } catch (Exception e) {
      log.log(Level.WARNING, "Error adding libs to classpath", e);
    }

    // reset singletons
    IWMainApplication.shutdownApplicationServices();
    // enable singletons
    SingletonRepository.start();

    this.setDatabaseProperties();
    registerSystemBeans();
    this.startDatabasePool();

    // set application variables first before setting any properties (ICApplicationBinding table
    // might be created first)
    setApplicationVariables();
    if (!this.iwma.getSettings().getBoolean("use_debug_mode", false)) {
      this.iwma.regData();
    }
    // now set some properties
    this.iwma
        .getSettings()
        .setProperty("last_startup", com.idega.util.IWTimestamp.RightNow().toString());

    // cleaning, maintaining, updating
    if (!this.iwma.isInDatabaseLessMode()) {
      log.fine("Cleaning and updating database...");
      updateStartDataInDatabase();
      log.fine("...cleaning and updating database done");
    }
    startTemporaryBundleStarters();

    startComponentRegistry();

    boolean fileSystemStarted = false;
    if (!this.iwma.isInDatabaseLessMode()) {
      this.iwma.startAccessController();

      fileSystemStarted = this.iwma.startFileSystem(false);
    }

    try {
      log.fine("Loading the ViewManager...");
      this.iwma.loadViewManager();
      log.fine("...loading ViewManager done");
    } catch (Exception e) {
      log.log(Level.SEVERE, "Error loading the ViewManager", e);
    }

    if (!this.iwma.isInDatabaseLessMode()) {
      this.iwma.loadBundles();

      if (!fileSystemStarted) {
        this.iwma.startFileSystem(
            true); // added by Eiki to ensure that ic_file is created before ib_page
      }
    }

    executeServices(this.iwma);
    // create ibdomain
    long end = System.currentTimeMillis();
    long time = (end - start) / 1000;

    // test if all classes are available
    testReferencedClasses();
    log.info("Completed in " + time + " seconds");
  }
  /**
   * Terminates all all high school placements not included in the import (except Nacka Gymnasium
   * placements).
   */
  protected boolean terminateOldPlacements() {
    println("NackaHighSchoolPlacementHandler: Starting termination of old placements...");
    boolean success = true;
    School schoolA = null;
    School schoolB = null;
    School schoolC = null;
    try {
      schoolA =
          schoolHome.findBySchoolName(NackaProgmaPlacementImportFileHandlerBean.SCHOOL_NAME_A);
    } catch (FinderException e) {
      println(
          "NackaHighSchoolPlacementHandler: School '"
              + NackaProgmaPlacementImportFileHandlerBean.SCHOOL_NAME_A
              + "' not found.");
      return false;
    }
    try {
      schoolB =
          schoolHome.findBySchoolName(NackaProgmaPlacementImportFileHandlerBean.SCHOOL_NAME_B);
    } catch (FinderException e) {
      println(
          "NackaHighSchoolPlacementHandler: School '"
              + NackaProgmaPlacementImportFileHandlerBean.SCHOOL_NAME_B
              + "' not found.");
      return false;
    }
    try {
      schoolC =
          schoolHome.findBySchoolName(NackaProgmaPlacementImportFileHandlerBean.SCHOOL_NAME_C);
    } catch (FinderException e) {
      println(
          "NackaHighSchoolPlacementHandler: School '"
              + NackaProgmaPlacementImportFileHandlerBean.SCHOOL_NAME_C
              + "' not found.");
      return false;
    }
    int schoolIdA = ((Integer) schoolA.getPrimaryKey()).intValue();
    int schoolIdB = ((Integer) schoolB.getPrimaryKey()).intValue();
    int schoolIdC = ((Integer) schoolC.getPrimaryKey()).intValue();
    String[] schoolIds =
        new String[] {
          String.valueOf(schoolIdA), String.valueOf(schoolIdB), String.valueOf(schoolIdC)
        };

    SchoolCategory highSchoolCategory = null;
    try {
      highSchoolCategory = schoolBusiness.getCategoryHighSchool();
    } catch (RemoteException e) {
      println("NackaHighSchoolPlacementHandler: High school category not found.");
      return false;
    }

    Collection placements = null;
    try {
      placements =
          schoolClassMemberHome.findActiveByCategorySeasonAndSchools(
              highSchoolCategory, season, schoolIds, true);
    } catch (FinderException e) {
      println("NackaHighSchoolPlacementHandler: Error finding placements.");
      return false;
    }

    Commune defaultCommune = null;
    try {
      defaultCommune =
          ((CommuneBusiness) getServiceInstance(CommuneBusiness.class)).getDefaultCommune();
    } catch (IBOLookupException e1) {
      e1.printStackTrace();
      println("NackaHighSchoolPlacementHandler: Unable to get default commune.");

      return false;
    } catch (RemoteException e1) {
      e1.printStackTrace();

      println("NackaHighSchoolPlacementHandler: Unable to get default commune.");
      return false;
    }

    Iterator iter = placements.iterator();
    IWTimestamp now = IWTimestamp.RightNow();
    now.setAsDate();
    while (iter.hasNext()) {
      SchoolClassMember member = (SchoolClassMember) iter.next();
      IWTimestamp placementDate = null;
      try {
        PlacementImportDate p = placementImportDateHome.findByPrimaryKey(member.getPrimaryKey());
        placementDate = new IWTimestamp(p.getImportDate());
        placementDate.setAsDate();
      } catch (FinderException e) {
      }
      School memberSchool = member.getSchoolClass().getSchool();
      if ((placementDate == null || placementDate.isEarlierThan(now))
          && (memberSchool.getManagementTypeId().equals(SchoolManagementTypeBMPBean.TYPE_COMMUNE))
          && (memberSchool.getCommune().equals(defaultCommune))) {
        member.setRemovedDate(lastDayInPreviousMonth);
        member.store();
        println("Terminating placement with id: " + member.getPrimaryKey());
      }
    }

    println("NackaHighSchoolPlacementHandler: Termination of old placements finished.");
    return success;
  }
  /** Stores one placement. */
  protected boolean storeUserInfo(int row) throws RemoteException {

    User user = null;
    SchoolType schoolType = null;
    School school = null;

    String providerName = getUserProperty(COLUMN_PROVIDER_NAME);
    if (providerName == null) {
      errorLog.put(new Integer(row), "The name of the high school is empty.");
      return false;
    }

    String schoolClassName = getUserProperty(COLUMN_SCHOOL_CLASS);
    if (schoolClassName == null) {
      errorLog.put(new Integer(row), "The class name is empty.");
      return false;
    }

    String schoolYearName = getUserProperty(COLUMN_SCHOOL_YEAR);
    if (schoolYearName == null) {
      errorLog.put(new Integer(row), "The school year is empty.");
    }

    String studyPathCode = getUserProperty(COLUMN_STUDY_PATH);
    if (studyPathCode == null) {
      studyPathCode = "";
    }

    String personalId = getUserProperty(COLUMN_PERSONAL_ID);
    if (personalId == null) {
      errorLog.put(new Integer(row), "The personal id is empty.");
      return false;
    }

    String studentName = getUserProperty(COLUMN_STUDENT_NAME);
    if (studentName == null) {
      studentName = "";
    }
    String studentFirstName = "";
    String studentLastName = "";
    if (studentName.length() > 0) {
      int cutPos = studentName.indexOf(',');
      if (cutPos != -1) {
        studentFirstName = studentName.substring(cutPos + 1).trim();
        studentLastName = studentName.substring(0, cutPos).trim();
      }
    }

    String homeCommuneCode = getUserProperty(COLUMN_HOME_COMMUNE);
    if (homeCommuneCode == null) {
      homeCommuneCode = "";
    }

    String address = getUserProperty(COLUMN_ADDRESS);
    if (address == null) {
      address = "";
    }

    String coAddress = getUserProperty(COLUMN_CO_ADDRESS);
    if (coAddress == null) {
      coAddress = "";
    }

    String zipCode = getUserProperty(COLUMN_ZIP_CODE);
    if (zipCode == null) {
      zipCode = "";
    }

    String zipArea = getUserProperty(COLUMN_ZIP_AREA);
    if (zipArea == null) {
      zipArea = "";
    }

    String highSchoolType = getUserProperty(COLUMN_HIGH_SCHOOL_TYPE);
    if (highSchoolType == null) {
      errorLog.put(new Integer(row), "The high school type is empty.");
      return false;
    }

    // user
    boolean isNewUser = false;
    try {
      user = communeUserBusiness.getUserHome().findByPersonalID(personalId);
    } catch (FinderException e) {
      println("User not found for PIN : " + personalId + " CREATING");

      try {
        user =
            communeUserBusiness.createSpecialCitizenByPersonalIDIfDoesNotExist(
                studentFirstName,
                "",
                studentLastName,
                personalId,
                getGenderFromPin(personalId),
                getBirthDateFromPin(personalId));
        isNewUser = true;
      } catch (Exception e2) {
        e2.printStackTrace();
        return false;
      }
    }

    if (isNewUser) {
      try {
        Commune homeCommune = communeHome.findByCommuneCode(homeCommuneCode);
        Integer communeId = (Integer) homeCommune.getPrimaryKey();
        communeUserBusiness.updateCitizenAddress(
            ((Integer) user.getPrimaryKey()).intValue(), address, zipCode, zipArea, communeId);
      } catch (FinderException e) {
        errorLog.put(new Integer(row), "Commune not found: " + homeCommuneCode);
        return false;
      }
      user.store();
    }

    // school type
    String typeKey = null;
    String schoolYearPrefix = "G";
    if (highSchoolType.equals("GY")) {
      typeKey = LOC_KEY_HIGH_SCHOOL;
    } else {
      typeKey = LOC_KEY_SPECIAL_HIGH_SCHOOL;
      schoolYearPrefix += "S";
    }

    try {
      schoolType = schoolTypeHome.findByTypeKey(typeKey);
    } catch (FinderException e) {
      errorLog.put(
          new Integer(row),
          "School type: " + highSchoolType + " not found in database (key = " + typeKey + ").");
      return false;
    }

    // school
    try {
      school = schoolHome.findBySchoolName(providerName);
    } catch (FinderException e) {
      errorLog.put(new Integer(row), "Cannot find school with name '" + providerName + "'");
      return false;
    }

    // school type
    boolean hasSchoolType = false;
    try {
      Iterator schoolTypeIter =
          schoolBusiness.getSchoolRelatedSchoolTypes(school).values().iterator();
      while (schoolTypeIter.hasNext()) {
        SchoolType st = (SchoolType) schoolTypeIter.next();
        if (st.getPrimaryKey().equals(schoolType.getPrimaryKey())) {
          hasSchoolType = true;
          break;
        }
      }
    } catch (Exception e) {
    }

    if (!hasSchoolType) {
      errorLog.put(
          new Integer(row),
          "School type '" + highSchoolType + "' not found in high school: " + providerName);
      return false;
    }

    // school year
    SchoolYear schoolYear = null;
    schoolYearName = schoolYearPrefix + schoolYearName;
    try {
      schoolYear = schoolYearHome.findByYearName(schoolYearName);
    } catch (FinderException e) {
      errorLog.put(new Integer(row), "School year: " + schoolYearName + " not found in database.");
    }
    boolean schoolYearFoundInSchool = false;
    Map m = schoolBusiness.getSchoolRelatedSchoolYears(school);
    try {
      schoolYearFoundInSchool = m.containsKey(schoolYear.getPrimaryKey());
    } catch (Exception e) {
    }

    if (!schoolYearFoundInSchool) {
      errorLog.put(
          new Integer(row),
          "School year: '" + schoolYearName + "' not found in school: '" + providerName + "'.");
      return false;
    }

    // study path
    SchoolStudyPath studyPath = null;
    try {
      studyPath = studyPathHome.findByCode(studyPathCode);
    } catch (Exception e) {
      errorLog.put(new Integer(row), "Cannot find study path: " + studyPathCode);
      return false;
    }

    // school Class
    SchoolClass schoolClass = null;
    try {
      int schoolId = ((Integer) school.getPrimaryKey()).intValue();
      int seasonId = ((Integer) season.getPrimaryKey()).intValue();
      Collection c = schoolClassHome.findBySchoolAndSeason(schoolId, seasonId);
      Iterator iter = c.iterator();
      while (iter.hasNext()) {
        SchoolClass sc = (SchoolClass) iter.next();
        if (sc.getName().equals(schoolClassName)) {
          schoolClass = sc;
          break;
        }
      }
      if (schoolClass == null) {
        throw new FinderException();
      }
    } catch (Exception e) {
      println(
          "School Class not found, creating '"
              + schoolClassName
              + "' for high school '"
              + providerName
              + "'.");
      int schoolId = ((Integer) school.getPrimaryKey()).intValue();
      int schoolTypeId = ((Integer) schoolType.getPrimaryKey()).intValue();
      int seasonId = ((Integer) season.getPrimaryKey()).intValue();
      try {
        schoolClass = schoolClassHome.create();
        schoolClass.setSchoolClassName(schoolClassName);
        schoolClass.setSchoolId(schoolId);
        schoolClass.setSchoolTypeId(schoolTypeId);
        schoolClass.setSchoolSeasonId(seasonId);
        schoolClass.setValid(true);
        schoolClass.store();
        schoolClass.addSchoolYear(schoolYear);
      } catch (Exception e2) {
      }

      if (schoolClass == null) {
        errorLog.put(new Integer(row), "Could not create school Class: " + schoolClassName);
        return false;
      }
    }

    // school Class member
    int schoolClassId = ((Integer) schoolClass.getPrimaryKey()).intValue();
    SchoolClassMember member = null;
    Timestamp registerDate = firstDayInCurrentMonth;

    try {
      Collection placements = schoolClassMemberHome.findByStudent(user);
      if (placements != null) {
        Iterator placementsIter = placements.iterator();
        while (placementsIter.hasNext()) {
          SchoolClassMember placement = (SchoolClassMember) placementsIter.next();
          SchoolType st = placement.getSchoolClass().getSchoolType();
          String stKey = "";

          if (st != null) {
            stKey = st.getLocalizationKey();
          }

          if (stKey.equals(LOC_KEY_HIGH_SCHOOL) || stKey.equals(LOC_KEY_SPECIAL_HIGH_SCHOOL)) {
            if (placement.getRemovedDate() == null) {
              int scId = placement.getSchoolClassId();
              int studyPathId = placement.getStudyPathId();
              int newStudyPathId = ((Integer) studyPath.getPrimaryKey()).intValue();
              int schoolYearId = placement.getSchoolYearId();
              int newSchoolYearId = ((Integer) schoolYear.getPrimaryKey()).intValue();
              if ((scId == schoolClassId)
                  && (studyPathId == newStudyPathId)
                  && (schoolYearId == newSchoolYearId)) {
                member = placement;
              } else {
                IWTimestamp t1 = new IWTimestamp(placement.getRegisterDate());
                t1.setAsDate();
                IWTimestamp t2 = new IWTimestamp(firstDayInCurrentMonth);
                t2.setAsDate();
                if (t1.equals(t2)) {
                  try {
                    PlacementImportDate p = null;
                    try {
                      p = placementImportDateHome.findByPrimaryKey(placement.getPrimaryKey());
                    } catch (FinderException e) {
                    }
                    if (p != null) {
                      p.remove();
                    }
                    placement.remove();
                  } catch (RemoveException e) {
                    log(e);
                  }
                } else {
                  placement.setRemovedDate(lastDayInPreviousMonth);
                  placement.store();
                }
                registerDate = firstDayInCurrentMonth;
              }
            }
          }
        }
      }
    } catch (FinderException f) {
    }

    if (member == null) {
      try {
        member = schoolClassMemberHome.create();
      } catch (CreateException e) {
        errorLog.put(
            new Integer(row),
            "School Class member could not be created for personal id: " + personalId);
        return false;
      }
      member.setSchoolClassId(((Integer) schoolClass.getPrimaryKey()).intValue());
      member.setClassMemberId(((Integer) user.getPrimaryKey()).intValue());
      member.setRegisterDate(registerDate);
      member.setRegistrationCreatedDate(IWTimestamp.getTimestampRightNow());
      member.setSchoolYear(((Integer) schoolYear.getPrimaryKey()).intValue());
      member.setSchoolTypeId(((Integer) schoolType.getPrimaryKey()).intValue());
      member.setStudyPathId(((Integer) studyPath.getPrimaryKey()).intValue());
      member.store();
    }

    PlacementImportDate p = null;
    try {
      p = placementImportDateHome.findByPrimaryKey(member.getPrimaryKey());
    } catch (FinderException e) {
    }
    if (p == null) {
      try {
        p = placementImportDateHome.create();
        p.setSchoolClassMemberId(((Integer) member.getPrimaryKey()).intValue());
      } catch (CreateException e) {
        errorLog.put(
            new Integer(row),
            "Could not create import date from school class member: " + member.getPrimaryKey());
        return false;
      }
    }
    p.setImportDate(today);
    p.store();

    return true;
  }
  /** @see com.idega.block.importer.business.ImportFileHandler#handleRecords() */
  @Override
  public boolean handleRecords() {
    failedRecords = new ArrayList();
    errorLog = new TreeMap();
    report = new Report(file.getFile().getName()); // Create a report file.
    // It will be located in
    // the Report dir

    IWTimestamp t = IWTimestamp.RightNow();
    t.setAsDate();
    today = t.getDate();
    t.setDay(1);
    firstDayInCurrentMonth = t.getTimestamp();
    t.addDays(-1);
    lastDayInPreviousMonth = t.getTimestamp();

    transaction = this.getSessionContext().getUserTransaction();

    Timer clock = new Timer();
    clock.start();

    try {
      // initialize business beans and data homes
      communeUserBusiness =
          (CommuneUserBusiness) this.getServiceInstance(CommuneUserBusiness.class);
      schoolBusiness = (SchoolBusiness) this.getServiceInstance(SchoolBusiness.class);

      schoolHome = schoolBusiness.getSchoolHome();
      schoolTypeHome = schoolBusiness.getSchoolTypeHome();
      schoolYearHome = schoolBusiness.getSchoolYearHome();
      schoolClassHome = (SchoolClassHome) this.getIDOHome(SchoolClass.class);
      schoolClassMemberHome = (SchoolClassMemberHome) this.getIDOHome(SchoolClassMember.class);
      communeHome = (CommuneHome) this.getIDOHome(Commune.class);
      studyPathHome = (SchoolStudyPathHome) this.getIDOHome(SchoolStudyPath.class);
      placementImportDateHome =
          (PlacementImportDateHome) this.getIDOHome(PlacementImportDate.class);

      try {
        season =
            schoolBusiness.getCurrentSchoolSeason(schoolBusiness.getCategoryElementarySchool());
      } catch (FinderException e) {
        e.printStackTrace();
        println("NackaHighSchoolPlacementHandler: School season is not defined.");
        return false;
      }

      transaction.begin();

      // iterate through the records and process them
      String item;
      int count = 0;
      boolean failed = false;

      while (!(item = (String) file.getNextRecord()).trim().equals("")) {
        count++;

        if (!processRecord(item, count)) {
          failedRecords.add(item);
          failed = true;
          // break;
        }

        if ((count % 100) == 0) {
          System.out.println(
              "NackaHighSchoolHandler processing RECORD ["
                  + count
                  + "] time: "
                  + IWTimestamp.getTimestampRightNow().toString());
        }

        item = null;
      }

      if (!failed) {
        if (!terminateOldPlacements()) {
          failed = true;
        }
      }

      printFailedRecords();

      clock.stop();
      println("Number of records handled: " + (count - 1));
      println(
          "Time to handle records: "
              + clock.getTime()
              + " ms  OR "
              + ((int) (clock.getTime() / 1000))
              + " s");

      // success commit changes
      if (!failed) {
        transaction.commit();
      } else {
        transaction.rollback();
      }

      report.store(false);

      return !failed;

    } catch (Exception e) {
      e.printStackTrace();
      try {
        transaction.rollback();
      } catch (SystemException e2) {
        e2.printStackTrace();
      }

      report.store(false);

      return false;
    }
  }
  public String doSale(
      String nameOnCard,
      String cardnumber,
      String monthExpires,
      String yearExpires,
      String ccVerifyNumber,
      double amount,
      String currency,
      String referenceNumber)
      throws CreditCardAuthorizationException {
    try {
      IWTimestamp stamp = IWTimestamp.RightNow();
      this.strName = nameOnCard;
      this.strCCNumber = cardnumber;
      this.strCCExpire = yearExpires + monthExpires;
      this.strCCVerify = ccVerifyNumber;
      setCurrencyAndAmount(currency, amount);
      this.strCurrentDate = getDateString(stamp);
      this.strReferenceNumber = convertStringToNumbers(referenceNumber);

      StringBuffer logText = new StringBuffer();
      // System.out.println("referenceNumber => " + strReferenceNumber);

      Hashtable returnedProperties = getFirstResponse();
      String authCode = null;
      if (returnedProperties != null) {
        logText.append("Authorization successful");
        Hashtable returnedCaptureProperties = finishTransaction(returnedProperties);
        if (returnedCaptureProperties != null
            && returnedCaptureProperties.get(this.PROPERTY_APPROVAL_CODE).toString() != null) {
          // System.out.println("Approval Code =
          // "+returnedCaptureProperties.get(PROPERTY_APPROVAL_CODE).toString());
          authCode =
              returnedCaptureProperties
                  .get(this.PROPERTY_APPROVAL_CODE)
                  .toString(); // returnedCaptureProperties;

          logText.append("\nCapture successful").append("\nAuthorization Code = " + authCode);
          logText.append(
              "\nAction Code = "
                  + returnedCaptureProperties.get(this.PROPERTY_ACTION_CODE).toString());

          try {
            String tmpCardNum = CreditCardBusinessBean.encodeCreditCardNumber(cardnumber);
            this.storeAuthorizationEntry(
                tmpCardNum,
                null,
                returnedCaptureProperties,
                KortathjonustanAuthorisationEntries.AUTHORIZATION_TYPE_SALE);

            log(logText.toString());

          } catch (Exception e) {
            System.err.println("Unable to save entry to database");
            throw new CreditCardAuthorizationException(e);
          }
        }
      }

      return authCode;
    } catch (CreditCardAuthorizationException e) {
      StringBuffer logText = new StringBuffer();
      logText.append("Authorization FAILED");
      logText.append("\nError           = " + e.getErrorMessage());
      logText.append("\nNumber        = " + e.getErrorNumber());
      logText.append("\nDisplay error = " + e.getDisplayError());
      log(logText.toString());
      throw e;
    }
  }
 private String getDateString(IWTimestamp stamp) {
   return stamp.getDateString("yyMMddHHmmss");
 }
  /*
   * public static void main(String[] args) throws Exception { String host =
   * "test.kortathjonustan.is"; int port = 8443; String SITE = "22"; String USER =
   * "idega"; String PASSWORD = "******"; String ACCEPTOR_TERM_ID = "90000022";
   * String ACCEPTOR_IDENTIFICATION = "8180001";
   *
   * String strCCNumber = "5413033024823099"; String strCCExpire = "0504";
   * String strCCVerify = "150"; String strReferenceNumber =
   * Integer.toString((int) (Math.random() * 43200)); String keystore =
   * "/Applications/idega/webs/nat/idegaweb/bundles/com.idega.block.creditcard.bundle/resources/demoFolder/testkeys.jks";
   * String keystorePass = "******";
   *
   * KortathjonustanCreditCardClient client = new
   * KortathjonustanCreditCardClient(IWContext.getInstance(), host, port,
   * keystore, keystorePass, SITE, USER, PASSWORD, ACCEPTOR_TERM_ID,
   * ACCEPTOR_IDENTIFICATION); try { String tmp = client.doSale("Gr�mur Steri",
   * strCCNumber, strCCExpire.substring(2, 4), strCCExpire.substring(0, 2),
   * strCCVerify, 1, "ISK", strReferenceNumber );
   *
   * //CreditCardBusiness cBus = (CreditCardBusiness)
   * IBOLookup.getServiceInstance(IWContext.getInstance(),
   * CreditCardBusiness.class); //KortathjonustanAuthorisationEntries entry =
   * (KortathjonustanAuthorisationEntries) cBus.getAuthorizationEntry(supp,
   * tmp);
   *
   *
   * //String tmp2 = client.doRefund(strCCNumber, strCCExpire.substring(2, 4),
   * strCCExpire.substring(0, 2), strCCVerify, 1, "ISK",
   * entry.getResponseString()); System.out.println("AuthorizationNumber =
   * "+tmp); //System.out.println("RefundAuthNumber = "+tmp2); } catch
   * (CreditCardAuthorizationException e) { System.out.println(" ---- Exception
   * ----"); System.out.println("DisplayText = "+e.getDisplayError());
   * System.out.println("ErrorText = "+e.getErrorMessage());
   * System.out.println("ErrorNum = "+e.getErrorNumber()); System.out.println("
   * -----------------------"); e.printStackTrace(System.err); }
   *  }
   *
   */
  private Hashtable doRefund(int iAmountToRefund, Hashtable captureProperties, Object parentDataPK)
      throws CreditCardAuthorizationException {
    // TODO tjekka ef amountToRefund er sama og upphaflega refundi� ...
    // System.out.println(" ------ REFUND ------");
    Hashtable refundProperties = new Hashtable();
    try {

      int iAmount = 0;
      try {
        iAmount = Integer.parseInt(captureProperties.get(this.PROPERTY_AMOUNT).toString());
        if (iAmountToRefund > iAmount) {
          CreditCardAuthorizationException e =
              new CreditCardAuthorizationException(
                  "Amount to refund can not be higher that the original amount");
          e.setDisplayError("Amount to refund can not be higher that the original amount");
          throw e;
        }
      } catch (NumberFormatException e1) {
        throw new CreditCardAuthorizationException("Amount must be a number");
      }

      StringBuffer strPostData = new StringBuffer();
      // "DEFAULT" PROPERTIES
      appendProperty(strPostData, this.PROPERTY_USER, this.USER);
      appendProperty(strPostData, this.PROPERTY_PASSWORD, this.PASSWORD);
      appendProperty(strPostData, this.PROPERTY_SITE, this.SITE);
      appendProperty(
          strPostData, this.PROPERTY_CURRENT_DATE, getDateString(IWTimestamp.RightNow()));
      // TODO IMPLEMENT
      // appendProperty(strPostData, PROPERTY_MERCHANT_LANGUAGE)
      // appendProperty(strPostData, PROPERTY_CLIENT_LANGUAGE)
      appendProperty(strPostData, this.PROPERTY_AMOUNT_ECHO, this.strAmount);

      appendProperty(strPostData, this.PROPERTY_AMOUNT, Integer.toString(iAmountToRefund));
      if (iAmount > iAmountToRefund) {
        appendProperty(
            strPostData,
            this.PROPERTY_AMOUNT_ECHO,
            captureProperties.get(this.PROPERTY_AMOUNT).toString());
      }
      appendProperty(
          strPostData,
          this.PROPERTY_CURRENCY_EXPONENT,
          captureProperties.get(this.PROPERTY_CURRENCY_EXPONENT).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_REFERENCE_ID,
          captureProperties.get(this.PROPERTY_REFERENCE_ID).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_ACCEPTOR_TERM_ID,
          captureProperties.get(this.PROPERTY_ACCEPTOR_TERM_ID).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_ACCEPTOR_IDENT,
          captureProperties.get(this.PROPERTY_ACCEPTOR_IDENT).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_CURRENCY_CODE,
          captureProperties.get(this.PROPERTY_CURRENCY_CODE).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_ORIGINAL_DATA_ELEMENT,
          captureProperties.get(this.PROPERTY_ORIGINAL_DATA_ELEMENT).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_CURRENT_DATE_ECHO,
          captureProperties.get(this.PROPERTY_CURRENT_DATE).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_ACTION_CODE_ECHO,
          captureProperties.get(this.PROPERTY_ACTION_CODE).toString());
      appendProperty(
          strPostData,
          this.PROPERTY_APPROVAL_CODE_ECHO,
          captureProperties.get(this.PROPERTY_APPROVAL_CODE).toString());

      String strResponse = null;

      SSLClient client = getSSLClient();
      // System.out.println("Request [" + strPostData.toString() + "]");
      try {
        strResponse = client.sendRequest(REQUEST_TYPE_REVERSAL, strPostData.toString());
      } catch (Exception e) {
        CreditCardAuthorizationException cce = new CreditCardAuthorizationException();
        cce.setDisplayError("Cannot connect to Central Payment Server");
        cce.setErrorMessage("SendRequest failed");
        cce.setErrorNumber("-");
        cce.setParentException(e);
        throw cce;
      }
      //      System.out.println("Response [" + strResponse + "]");
      if (strResponse == null) {
        CreditCardAuthorizationException cce = new CreditCardAuthorizationException();
        cce.setDisplayError("Cannot connect to Central Payment Server");
        cce.setErrorMessage("SendRequest returned null");
        cce.setErrorNumber("-");
        throw cce;
      } else if (!strResponse.startsWith(this.PROPERTY_ACTION_CODE)) {
        CreditCardAuthorizationException cce = new CreditCardAuthorizationException();
        cce.setDisplayError("Cannot connect to Central Payment Server");
        cce.setErrorMessage(
            "Invalid response from host, should start with d39 [" + strResponse + "]");
        cce.setErrorNumber("-");
        throw cce;
      } else {
        refundProperties = parseResponse(strResponse);
        if (CODE_AUTHORIZATOIN_APPROVED.equals(refundProperties.get(this.PROPERTY_ACTION_CODE))) {
          return refundProperties;
        } else {
          CreditCardAuthorizationException cce = new CreditCardAuthorizationException();
          cce.setDisplayError(refundProperties.get(this.PROPERTY_ACTION_CODE_TEXT).toString());
          cce.setErrorMessage(refundProperties.get(this.PROPERTY_ERROR_TEXT).toString());
          cce.setErrorNumber(refundProperties.get(this.PROPERTY_ACTION_CODE).toString());
          throw cce;
        }
      }

    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    }

    return refundProperties;
  }
Beispiel #21
0
  private void addMenuElementsToDropdowns() {
    IWTimestamp stamp = IWTimestamp.RightNow();
    int currentYear = stamp.getYear();

    if (this.showYear) {
      this.setYearRange(currentYear, currentYear + 5);
    }

    if (this.showNullValue) {
      this.theMonth.addMenuElement("00");
    }
    this.theMonth.addMenuElement("01");
    this.theMonth.addMenuElement("02");
    this.theMonth.addMenuElement("03");
    this.theMonth.addMenuElement("04");
    this.theMonth.addMenuElement("05");
    this.theMonth.addMenuElement("06");
    this.theMonth.addMenuElement("07");
    this.theMonth.addMenuElement("08");
    this.theMonth.addMenuElement("09");
    this.theMonth.addMenuElement("10");
    this.theMonth.addMenuElement("11");
    this.theMonth.addMenuElement("12");

    if (this.showNullValue) {
      this.theDay.addMenuElement("00", "D");
    }
    this.theDay.addMenuElement("01", "1");
    this.theDay.addMenuElement("02", "2");
    this.theDay.addMenuElement("03", "3");
    this.theDay.addMenuElement("04", "4");
    this.theDay.addMenuElement("05", "5");
    this.theDay.addMenuElement("06", "6");
    this.theDay.addMenuElement("07", "7");
    this.theDay.addMenuElement("08", "8");
    this.theDay.addMenuElement("09", "9");
    this.theDay.addMenuElement("10", "10");
    this.theDay.addMenuElement("11", "11");
    this.theDay.addMenuElement("12", "12");
    this.theDay.addMenuElement("13", "13");
    this.theDay.addMenuElement("14", "14");
    this.theDay.addMenuElement("15", "15");
    this.theDay.addMenuElement("16", "16");
    this.theDay.addMenuElement("17", "17");
    this.theDay.addMenuElement("18", "18");
    this.theDay.addMenuElement("19", "19");
    this.theDay.addMenuElement("20", "20");
    this.theDay.addMenuElement("21", "21");
    this.theDay.addMenuElement("22", "22");
    this.theDay.addMenuElement("23", "23");
    this.theDay.addMenuElement("24", "24");
    this.theDay.addMenuElement("25", "25");
    this.theDay.addMenuElement("26", "26");
    this.theDay.addMenuElement("27", "27");
    this.theDay.addMenuElement("28", "28");
    this.theDay.addMenuElement("29", "29");
    this.theDay.addMenuElement("30", "30");
    this.theDay.addMenuElement("31", "31");

    if (this.showYear && this.showNullValue) {
      this.theYear.addMenuElement("YY");
    }
  }