/** 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; }