Exemple #1
0
  /** execute with output filter */
  private OmniDTO executeKeepConnection(
      UserDatabaseConnection udc,
      Map inputs,
      String processorType,
      String processorName,
      Map outputFilters)
      throws BaseSQLException {
    if (udc == null) throw new IllegalArgumentException("UserDatabaseConnection object is null.");

    if (processorType == null || processorName == null)
      throw new IllegalArgumentException("processorType or processorName is null.");

    cleanUpInputs(inputs);
    if (inputs == null) inputs = new HashMap();

    OmniDTO returnTO = null;

    try {
      DataProcessor dp =
          DataProcessorFactory.getInstance().getDataProcessor(udc, processorType, processorName);
      returnTO = dp.execute(udc, convertKeyCase(inputs), outputFilters);
      if (returnTO != null) {
        returnTO.setProcessorType(processorType);
        returnTO.setProcessorName(processorName);
      }
    } catch (UnsupportedDataProcessorTypeException udptEx) {
      throw new BaseSQLException("Unsupported DataProcessor Type: " + processorType);
    } catch (UnsupportedDataProcessorNameException udpnEx) {
      throw new BaseSQLException("Unsupported DataProcessor Name: " + processorName);
    } catch (UnsupportedStoredProcedureAPINameException udpnEx) {
      throw new BaseSQLException("Unsupported DataProcessor Name: " + processorName);
    }

    return returnTO;
  }