Package sos.scheduler.job

Source Code of sos.scheduler.job.SOSDExJSAdapterClass

/********************************************************* begin of preamble
**
** Copyright (C) 2003-2010 Software- und Organisations-Service GmbH.
** All rights reserved.
**
** This file may be used under the terms of either the
**
**   GNU General Public License version 2.0 (GPL)
**
**   as published by the Free Software Foundation
**   http://www.gnu.org/licenses/gpl-2.0.txt and appearing in the file
**   LICENSE.GPL included in the packaging of this file.
**
** or the
** 
**   Agreement for Purchase and Licensing
**
**   as offered by Software- und Organisations-Service GmbH
**   in the respective terms of supply that ship with this file.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
********************************************************** end of preamble*/
package sos.scheduler.job;

import java.util.HashMap;

import com.sos.DataExchange.SOSDataExchangeEngine;
import com.sos.VirtualFileSystem.FTP.SOSFTPOptions;

/**
* \file SOSDExJSAdapterClass.java
* \class     SOSDExJSAdapterClass
*
* \brief
* AdapterClass of SOSDEx for the SOSJobScheduler
*
* This Class SOSDExJSAdapterClass works as an adapter-class between the SOS
* JobScheduler and the worker-class SOSDEx.
*

*
* see \see J:\E\java\development\com.sos.scheduler\src\sos\scheduler\jobdoc\SOSDEx.xml for more details.
*
* \verbatim ;
* mechanicaly created by C:\Users\KB\eclipse\xsl\JSJobDoc2JSAdapterClass.xsl from http://www.sos-berlin.com at 20100930175652
* \endverbatim
*/
public class SOSDExJSAdapterClass extends JobSchedulerJobAdapter {
  private final String  conClassName  = "SOSDExJSAdapterClass"//$NON-NLS-1$
                                    // private static Logger logger =
                                    // Logger.getLogger(SOSDExJSAdapterClass.class);

  public void init() {
    @SuppressWarnings("unused")//$NON-NLS-1$
    final String conMethodName = conClassName + "::init"; //$NON-NLS-1$
    doInitialize();
  }

  private void doInitialize() {
  } // doInitialize

  @Override
  public boolean spooler_init() {
    @SuppressWarnings("unused")//$NON-NLS-1$
    final String conMethodName = conClassName + "::spooler_init"; //$NON-NLS-1$
    return super.spooler_init();
  }

  @Override
  public boolean spooler_process() throws Exception {
    @SuppressWarnings("unused")//$NON-NLS-1$
    final String conMethodName = conClassName + "::spooler_process"; //$NON-NLS-1$

    try {
      super.spooler_process();
      doProcessing();
    }
    catch (Exception e) {
      e.printStackTrace();
      logger.error(String.format("%1$s ended abnormal.", conClassName));
      logger.error(StackTrace2String(e));
      return false;
    }
    finally {
    } // finally
    // return value for classic and order driven processing
    // TODO create method in base-class for this functionality
    return (spooler_task.job().order_queue() != null);

  } // spooler_process

  @Override
  public void spooler_exit() {
    @SuppressWarnings("unused")//$NON-NLS-1$
    final String conMethodName = conClassName + "::spooler_exit"; //$NON-NLS-1$
    super.spooler_exit();
  }

  private void doProcessing() throws Exception {
    final String conMethodName = conClassName + "::doProcessing"; //$NON-NLS-1$

    SOSDataExchangeEngine objR = new SOSDataExchangeEngine();
    SOSFTPOptions objO = objR.Options();
    objO.CurrentNodeName(getCurrentNodeName());
    HashMap<String, String> hsmParameters = getSchedulerParameterAsProperties(getParameters());
    objO.setAllOptions(DeletePrefix(hsmParameters, "ftp_"));
    objO.CheckMandatory();
    int intLogLevel = spooler_log.level();
    if (intLogLevel < 0) {
      logger.debug(objO.toString());
    }
   
    logger.info(String.format("%1$s with operation %2$s started.", conMethodName, objO.operation.Value()));
    objR.setJSJobUtilites(this);
    objR.Execute();
    objR.Logout();
    logger.info(String.format("%1$s with operation %2$s ended.", conMethodName, objO.operation.Value()));
  } // doProcessing

}
TOP

Related Classes of sos.scheduler.job.SOSDExJSAdapterClass

TOP
Copyright © 2018 www.massapi.com. 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.