コード例 #1
0
ファイル: SqlServiceImpl.java プロジェクト: femto/scooter
  /** execute a collection of InputInfo objects in one transaction */
  public Collection execute(Collection inputInfoList) throws BaseSQLException {
    if (inputInfoList == null) throw new IllegalArgumentException("inputs list is null.");

    ImplicitTransactionManager tm = TransactionManagerUtil.getImplicitTransactionManager();
    Collection returnTOList = new ArrayList();

    try {
      tm.beginTransactionImplicit();

      Iterator it = inputInfoList.iterator();
      while (it.hasNext()) {
        InputInfo ip = (InputInfo) it.next();
        UserDatabaseConnection connection = findOrCreateConnection(ip);
        OmniDTO returnTO =
            executeKeepConnection(
                connection,
                ip.getInputs(),
                ip.getProcessorType(),
                ip.getProcessorName(),
                ip.getOutputFilters());
        returnTOList.add(returnTO);

        // now execute child InputInfo
        Collection childList = ip.getChildInputInfoObjects();
        Iterator childIt = childList.iterator();
        while (childIt.hasNext()) {
          InputInfo childIp = (InputInfo) childIt.next();
          OmniDTO returnTO2 =
              executeKeepConnection(
                  connection,
                  childIp.getInputs(),
                  childIp.getProcessorType(),
                  childIp.getProcessorName(),
                  childIp.getOutputFilters());
          returnTO.addChildrenOmniDTOToList(returnTO2);
        }
      }

      tm.commitTransactionImplicit();
    } catch (BaseSQLException bdex) {
      tm.rollbackTransactionImplicit();
      throw bdex;
    } finally {
      tm.releaseResourcesImplicit();
    }

    return returnTOList;
  }
コード例 #2
0
ファイル: SqlServiceImpl.java プロジェクト: femto/scooter
  /** execute with output filter */
  public OmniDTO execute(Map inputs, String processorType, String processorName, Map outputFilters)
      throws BaseSQLException {
    if (processorType == null || processorName == null)
      throw new IllegalArgumentException("processorType or processorName is null.");

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

    ImplicitTransactionManager tm = TransactionManagerUtil.getImplicitTransactionManager();
    OmniDTO returnTO = null;

    try {
      tm.beginTransactionImplicit();

      // if (log.isDebugEnabled())
      // displayDS((String)inputs.get(DataProcessor.input_key_database_connection_name),
      // "beforeConnection");

      UserDatabaseConnection connection = findOrCreateConnection(inputs);

      // if (log.isDebugEnabled())
      // displayDS((String)inputs.get(DataProcessor.input_key_database_connection_name),
      // "beforeExecute");
      returnTO =
          executeKeepConnection(connection, inputs, processorType, processorName, outputFilters);
      // if (log.isDebugEnabled())
      // displayDS((String)inputs.get(DataProcessor.input_key_database_connection_name),
      // "afterExecute");

      tm.commitTransactionImplicit();
      // if (log.isDebugEnabled())
      // displayDS((String)inputs.get(DataProcessor.input_key_database_connection_name),
      // "afterCommit");
    } catch (BaseSQLException bdex) {
      tm.rollbackTransactionImplicit();
      throw bdex;
    } finally {
      tm.releaseResourcesImplicit();
      displayDS(
          (String) inputs.get(DataProcessor.input_key_database_connection_name), "afterRelease");
    }

    return returnTO;
  }