Package sos.net.sosftp

Examples of sos.net.sosftp.SOSFTPCommandReceive


              sosString.parseToString(schedulerParams.get("profile")),
              // "sos/net/sosftp/Configuration.xml",
              "sos/scheduler/ftp/SOSFTPConfiguration.xml", new SOSSchedulerLogger(spooler_log));
          con.checkConfigurationItems();

          SOSFTPCommandReceive ftpCommand = new SOSFTPCommandReceive(con, new SOSSchedulerLogger(spooler_log));
          ftpCommand.setSchedulerJob(this);
          rc = ftpCommand.transfer();
          filelist = ftpCommand.getFilelist();

          Iterator<String> iterator = filelist.iterator();
          if (spooler_job.order_queue() == null) {

            // parallel Transfer for standalone Job
            while (iterator.hasNext()) {
              String fileName = sosString.parseToString(iterator.next());
              String fileSpec = schedulerParams.containsKey(conVarname_file_spec) ? sosString.parseToString(schedulerParams.get(conVarname_file_spec))
                  : ".*";

              Pattern pattern = Pattern.compile(fileSpec, 0);
              Matcher matcher = pattern.matcher(fileName);
              if (matcher.find()) {
                Variable_set newParams = params;
                newParams.set_var(conVarname_ftp_file_path, (remoteDir.endsWith("/") || remoteDir.endsWith("\\") ? remoteDir : remoteDir + "/")
                    + fileName);
                spooler_log.info("launching job for parallel transfer with parameter: ftp_file_path "
                    + (remoteDir.endsWith("/") || remoteDir.endsWith("\\") ? remoteDir : remoteDir + "/") + fileName);
                spooler.job(spooler_task.job().name()).start(params);
              }
            }
            return false;
          }
          else {
            // parallel Transfer for order job
            while (iterator.hasNext()) {
              String fileName = (String) iterator.next();
              String fileSpec = schedulerParams.containsKey("file_spec") ? sosString.parseToString(schedulerParams.get("file_spec")) : ".*";
              Pattern pattern = Pattern.compile(fileSpec, 0);
              Matcher matcher = pattern.matcher(fileName);
              if (matcher.find()) {
                Variable_set newParams = spooler.create_variable_set();
                if (spooler_task.params() != null)
                  newParams.merge(params);

                newParams.set_var(conVarname_ftp_file_path, (remoteDir.endsWith("/") || remoteDir.endsWith("\\") ? remoteDir : remoteDir + "/")
                    + fileName);
                newParams.set_var("ftp_parent_order_id", spooler_task.order().id());
                newParams.set_var("ftp_order_self_destruct", "1");

                Order newOrder = spooler.create_order();
                newOrder.set_state(spooler_task.order().state());
                newOrder.set_params(newParams);

                spooler_task.order().job_chain().add_order(newOrder);

                getLogger().info(
                    "launching order for parallel transfer with parameter: ftp_file_path "
                        + (remoteDir.endsWith("/") || remoteDir.endsWith("\\") ? remoteDir : remoteDir + "/") + fileName);

                spooler.variables().set_var("ftp_order", normalize(spooler_task.order().id()) + "." + normalize(newOrder.id()) + "." + "0");
                spooler.variables().set_var("ftp_check_receive_" + normalize(spooler_task.order().id()) + "." + normalize(newOrder.id()), "0");
              }
            }
            // am aktuellen Auftrag speichern, dass im Wiederholungsfall per setback() nicht erneut Auftr�ge erzeugt werden
            // sollen, sondern dass deren Erledigungszustand gepr�ft wird:
            spooler_task.order().params().set_var(conVarname_ftp_check_parallel, "yes");
            spooler_job.set_delay_order_after_setback(1, parallelTransferCheckSetback);
            spooler_job.set_max_order_setbacks(parallelTransferCheckRetry);
            spooler_task.order().setback();
            spooler.variables().set_var("cur_transfer_retry" + normalize(spooler_task.order().id()), String.valueOf(parallelTransferCheckRetry));
            return false;

          }
        }
        // kb 2011-04-27 no more longer needed due to too much trouble with this file / concept
        // createIncludeConfigurationFile("sos/net/sosftp/Configuration.xml", "sos.net.sosftp.Configuration.xml");// Alle Parametern
        // sind hier auch
        // g�ltig
        SOSConfiguration con = new SOSConfiguration(null, schedulerParams, sosString.parseToString(schedulerParams.get("settings")),
            sosString.parseToString(schedulerParams.get("profile")),
            // "sos/net/sosftp/Configuration.xml",
            "sos/scheduler/ftp/SOSFTPConfiguration.xml", new SOSSchedulerLogger(spooler_log));
        con.checkConfigurationItems();
        sos.net.sosftp.SOSFTPCommandReceive ftpCommand = new sos.net.sosftp.SOSFTPCommandReceive(con, new SOSSchedulerLogger(spooler_log));
        ftpCommand.setSchedulerJob(this);
        rc = ftpCommand.transfer();

        createOrderParameter(ftpCommand);

        if (parallelTransfer && isFilePath && spooler_job.order_queue() != null) {
          spooler.variables().set_var(
              "ftp_check_receive_" + normalize(params.var("ftp_parent_order_id")) + "." + normalize(spooler_task.order().id()), "1");
        }

        processResult(rc, "");
        spooler_job.set_state_text(ftpCommand.getState() != null ? ftpCommand.getState() : "");
        return (spooler_task.job().order_queue() == null) ? false : rc;

      }
      catch (Exception e) {
        rc = false;
View Full Code Here

TOP

Related Classes of sos.net.sosftp.SOSFTPCommandReceive

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.