⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dummygridclientmediator.java

📁 JGAP是一种遗传算法和遗传规划的组成部分提供了一个Java框架。它提供了基本的遗传机制
💻 JAVA
字号:
/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licensing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package org.jgap.distr.grid;

import java.util.*;
import org.apache.log4j.*;
import org.homedns.dade.jcgrid.client.*;
import org.homedns.dade.jcgrid.cmd.*;
import org.homedns.dade.jcgrid.message.*;

/**
 * Mediates requests and responses either within a LAN or via internet (WAN).
 *
 * @author Klaus Meffert
 * @since 3.3.3
 */
public class DummyGridClientMediator
    implements IGridClientMediator {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.6 $";

  private transient Logger log = Logger.getLogger(getClass());

  protected GridNodeClientConfig m_gridconfig;

  /**
   * For LAN transmissions
   */
  private GridClient m_gc;

  /**
   *
   * @param a_gridconfig GridNodeClientConfig
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  public DummyGridClientMediator(GridNodeClientConfig a_gridconfig)
      throws Exception {
    // Setup logging.
    // --------------
    MainCmd.setUpLog4J("DummyClientMediator", true);
    //
    m_gridconfig = a_gridconfig;
    m_gc = startClient();
    log.info("LAN mode selected");
  }

  /**
   * Starts the underlying grid client service.
   *
   * @return GridClient
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  protected GridClient startClient()
      throws Exception {
    GridClient gc = new GridClient();
    gc.setNodeConfig(m_gridconfig);
    /**@todo allow asynchronous wait for server (check for "java.net.ConnectException: Connection refused: connect")*/
    gc.start();
    return gc;
  }

  /**
   * Stops this service.
   *
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  public void stop()
      throws Exception {
    m_gc.stop();
  }

  /**
   *
   * @param a_msg GridMessage
   * @param a_context MessageContext
   * @param a_headerData Map
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  public void send(GridMessage a_msg, MessageContext a_context,
                   Map<String, String> a_headerData)
      throws Exception {
    m_gc.send(a_msg);
  }

  /**
   *
   * @param a_context MessageContext
   * @param a_datetime String
   * @param a_timeoutSeconds int
   * @param a_waitTimeSeconds int
   * @param a_removeRequest boolean
   * @return GridMessage
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  public GridMessage getGridMessage(MessageContext a_context, String a_datetime,
                                    int a_timeoutSeconds, int a_waitTimeSeconds,
                                    boolean a_removeRequest)
      throws Exception {
    // This is asynchroneous
    /**@todo fallback solution*/
    m_gc.getGridMessageChannel();
    GridMessageWorkResult gmwr = (GridMessageWorkResult) m_gc.recv(
        a_timeoutSeconds * 1000);
    return gmwr;
  }

  /**
   *
   * @param a_context MessageContext
   * @param a_datetime String
   * @param a_pattern String
   * @return List
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  public List listRequests(MessageContext a_context, String a_datetime,
                           String a_pattern)
      throws Exception {
    // Not implemented yet.
    // --------------------
    return null;
  }

  /**
   *
   * @param a_context MessageContext
   * @param a_datetime String
   * @param a_pattern String
   * @return List
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.3.3
   */
  public List listResults(MessageContext a_context, String a_datetime,
                          String a_pattern)
      throws Exception {
    // Not implemented yet.
    // --------------------
    return null;
  }

  public void connect()
      throws Exception {
    // Not implemented yet.
    // --------------------
  }

  public void disconnect()
      throws Exception {
    // Not implemented yet.
    // --------------------
  }

  public void removeMessage(Object a_entry)
      throws Exception {
    // Not implemented yet.
    // --------------------
  }

  public void backupResult(Object a_result, String a_subDir, String a_title)
      throws Exception {
    // Not implemented yet.
    // --------------------
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -