pestockrecommendationservice.java

来自「source code of voyager yellow page」· Java 代码 · 共 95 行

JAVA
95
字号
/*
 * RECURSION PROPRIETARY-NOT TO BE DISCLOSED OUTSIDE RECURSION, INC.
 */

/**
 * Created by twheeler on Mar 8, 2007 at 4:05:36 PM
 */
package examples.yellowpages;

import com.recursionsw.ve.Namespace;
import com.recursionsw.ve.NamespaceException;
import com.recursionsw.ve.StartupException;
import com.recursionsw.ve.Voyager;
import com.recursionsw.ve.yp.IYellowPages;
import com.recursionsw.ve.yp.ServiceDescriptionExistsException;
import com.recursionsw.ve.yp.ServiceResolutionException;
import com.recursionsw.ve.yp.YellowPages;
import com.recursionsw.ve.yp.YellowPagesException;
import com.recursionsw.ve.yp.registry.ServiceDescription;

/**
 * 
 *
 * @author twheeler
 */
public class PEStockRecommendationService extends AbstractStockRecommendationService
{
  static PEStockRecommendationService recommendationService; 
  
  public PEStockRecommendationService(IExchangeBroker exchangeBroker)
  {
    super(exchangeBroker);
  }
  
  public int getRecommendation(String ticker, String exchange)
  {
    StockData data = getStockDataFor(ticker, exchange);
    double pe = data.getPe();
    if(pe >= 14)
      return BUY_SHORT;
    else if(pe <= 12)
      return BUY_LONG;
    else
      return NO_TRADE;
  }

  public static void main(String[] args)
  {
    String serverUrl = "8001";
    String exchangeBrokerUrl = "8000"; 
    if(args.length > 0)
    {
      serverUrl = args[0];
      exchangeBrokerUrl = args[1];
    }

    try
    {
      Voyager.startup(serverUrl);
      IExchangeBroker exchangeBroker = (IExchangeBroker) Namespace.lookup(exchangeBrokerUrl + "/ExchangeBroker");
      recommendationService = new PEStockRecommendationService(exchangeBroker);
      IYellowPages yellowPages = YellowPages.getInstance(exchangeBrokerUrl);
      ServiceDescription serviceDescription = new ServiceDescription("StockRecommendationService", recommendationService);
      yellowPages.registerService(serviceDescription);
    }
    catch (StartupException e)
    {
      System.out.println("Exception starting Voyager Edge: " + e.getMessage());
      System.exit(1);
    }
    catch (NamespaceException e)
    {
      System.out.println("Exception binding PEStockRecommendationService: " + e.getMessage());
      System.exit(1);
    }
    catch (ServiceDescriptionExistsException e)
    {
      System.out.println("Exception registering service with Yellow Pages: " + e.getMessage());
      System.exit(1);
    }
    catch (ServiceResolutionException e)
    {
      System.out.println("Exception creating service resolver: " + e.getMessage());
      System.exit(1);
    }
    catch (YellowPagesException e)
    {
      System.out.println("Exception obtaining Yellow Pages at " + exchangeBrokerUrl + ":" + e.getCause().getMessage());
      System.exit(1);
    }
    System.out.println("PEStockRecommendationService started on " + serverUrl);
  }
  
}

⌨️ 快捷键说明

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