public boolean equals(final Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    final TransFromFileConnection that = (TransFromFileConnection) o;

    if (connectionInfo != null
        ? !connectionInfo.equals(that.connectionInfo)
        : that.connectionInfo != null) {
      return false;
    }

    return true;
  }
 /**
  * @param query the name of the transformation step that should be polled.
  * @return the initialized transformation producer.
  */
 public KettleTransformationProducer createTransformationProducer(final String query) {
   if (CdaEngine.getInstance().isStandalone()) {
     return new KettleTransFromFileProducer(
         "",
         connectionInfo.getTransformationFile(),
         query,
         null,
         null,
         connectionInfo.getDefinedArgumentNames(),
         connectionInfo.getDefinedVariableNames());
   }
   return new PentahoKettleTransFromFileProducer(
       "",
       connectionInfo.getTransformationFile(),
       query,
       null,
       null,
       connectionInfo.getDefinedArgumentNames(),
       connectionInfo.getDefinedVariableNames());
 }
 public int hashCode() {
   return connectionInfo != null ? connectionInfo.hashCode() : 0;
 }