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

📄 stockpickerclient.java

📁 source code of voyager yellow page
💻 JAVA
字号:
/*
 * RECURSION PROPRIETARY-NOT TO BE DISCLOSED OUTSIDE RECURSION, INC.
 */

/**
 * Created by twheeler on Mar 9, 2007 at 11:51:03 AM
 */
package examples.yellowpages;

import com.recursionsw.ve.StartupException;
import com.recursionsw.ve.Voyager;
import com.recursionsw.ve.yp.IYellowPages;
import com.recursionsw.ve.yp.ServiceResolutionException;
import com.recursionsw.ve.yp.YellowPages;
import com.recursionsw.ve.yp.YellowPagesAttributes;
import com.recursionsw.ve.yp.YellowPagesException;
import com.recursionsw.ve.yp.discovery.DiscoveryRequest;
import com.recursionsw.ve.yp.discovery.DiscoveryRequestExpression;
import com.recursionsw.ve.yp.discovery.ExpressionFactory;
import com.recursionsw.ve.yp.registry.ServiceDescription;

/**
 * 
 *
 * @author twheeler
 */
public class StockPickerClient
{
  public static void main(String[] args)
  {
    String exchangeBrokerUrl = "8000";
    if(args.length > 0)
      exchangeBrokerUrl = args[0];
    
    try
    {
      Voyager.startup();
      
      // Create a new discovery request to find services
      DiscoveryRequest discoveryRequest = new DiscoveryRequest();
      
      // Create a request expression and look for a service
      // named "StockRecommendationService"
      DiscoveryRequestExpression expr = new DiscoveryRequestExpression();
      expr.add(ExpressionFactory.eq(YellowPagesAttributes.ATTRIBUTE_SERVICENAME, "StockRecommendationService"));
      
      // We can optionally set the maximum number of matches...
      discoveryRequest.setMaxMatches(2);
      
      // Set the request expression
      discoveryRequest.setRequestExpression(expr);
      
      // Get the default Yellow Pages instance for the exchange broker 
      IYellowPages yp = YellowPages.getInstance(exchangeBrokerUrl);
      
      // Perform the request
      ServiceDescription[] serviceDescriptions = yp.lookup(discoveryRequest);
      System.out.println("Found " + serviceDescriptions.length + " services");
      
      // Resolve the services
      IStockRecommendationService[] services = new IStockRecommendationService[serviceDescriptions.length];
      for(int i = 0; i < serviceDescriptions.length; i++)
        services[i] = (IStockRecommendationService) serviceDescriptions[i].resolveService();
      
      // Get some recommendations!
      pickStocks(services);
    }
    catch (StartupException e)
    {
      System.out.println("Exception starting Voyager Edge: " + e.getMessage());
      System.exit(1);
    }
    catch (ServiceResolutionException e)
    {
      System.out.println("Service resolution exception: " + e.getMessage());
      System.exit(1);
    }
    catch (YellowPagesException e)
    {
      System.out.println("Yellow Pages exception: " + e.getMessage());
      System.exit(1);
    }
    System.exit(0);
  }
  
  private static void pickStocks(IStockRecommendationService[] services)
  {
    String[] exchanges = { "NASDAQ", "NYSE" };
    String[][] tickers = {{ "ABC", "DEF", "GHI" }, { "JKL", "MNO", "PQR" }};
    String[] recos = { "BUY LONG", "BUY SHORT", "NO TRADE" };
    for(int i = 0; i < exchanges.length; i++)
    {
      for(int j = 0; j < tickers[0].length; j++)
      {
        for(int k = 0; k < services.length; k++)
        {
          String rec = recos[services[k].getRecommendation(tickers[i][j], exchanges[i])];
          System.out.println("Reco #" + k + " for " + exchanges[i] + ":" + tickers[i][j] + " is " + rec);
        }
      }
    }
  }
}

⌨️ 快捷键说明

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