[BACK]Return to OMproxy.java CVS log [TXT][DIR] Up to [local] / OpenXM / src / OpenMath

Diff for /OpenXM/src/OpenMath/OMproxy.java between version 1.9 and 1.20

version 1.9, 1999/11/11 17:18:48 version 1.20, 2000/01/19 15:19:29
Line 1 
Line 1 
 /**  /**
  * $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.8 1999/11/09 09:43:48 tam Exp $   * $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.19 2000/01/19 09:35:06 tam Exp $
  */   */
   
 import JP.ac.kobe_u.math.tam.OpenXM.*;  import JP.ac.kobe_u.math.tam.OpenXM.*;
Line 10  class OMproxy implements Runnable{
Line 10  class OMproxy implements Runnable{
   private OpenXM ox;    private OpenXM ox;
   private Stack stack = new Stack();    private Stack stack = new Stack();
   private boolean debug = true;    private boolean debug = true;
   final int version = 199911110;    final int version = 200001190;
   
   public OMproxy(String host,int ControlPort,int DataPort) throws IOException{    public OMproxy(String host,int ControlPort,int DataPort) throws IOException{
     ox = new OpenXM(this,host,ControlPort,DataPort);      ox = new OpenXM(this,host,ControlPort,DataPort);
Line 20  class OMproxy implements Runnable{
Line 20  class OMproxy implements Runnable{
     OM2OXM P = new OM2OXM();      OM2OXM P = new OM2OXM();
   
     debug("OMproxy started.");      debug("OMproxy started.");
     try{      while(true){
       while(true){        try{
         int ox_tag = ox.receiveOXtag();          int ox_tag = ox.receiveOXtag();
   
         switch(ox_tag){          switch(ox_tag){
Line 34  class OMproxy implements Runnable{
Line 34  class OMproxy implements Runnable{
           debug("push: "+ stack.peek());            debug("push: "+ stack.peek());
           break;            break;
         }          }
         }catch(Exception e){
           System.err.println(e.getMessage());
           e.printStackTrace();
           debug("error occured. stack was cleared.");
       }        }
     }catch(java.io.IOException e){  
       System.err.println(e.getMessage());  
       e.printStackTrace();  
     }      }
   
     System.out.println("breaking...");      System.out.println("breaking...");
Line 60  class OMproxy implements Runnable{
Line 61  class OMproxy implements Runnable{
     if(stack.empty()){      if(stack.empty()){
       ox.send(new CMO_NULL());        ox.send(new CMO_NULL());
     }else{      }else{
       debug("pushing CMO: "+ stack.peek());        debug("sending CMO: "+ stack.peek());
       ox.send(stack.pop());        ox.send(stack.pop());
     }      }
   }    }
Line 112  class OMproxy implements Runnable{
Line 113  class OMproxy implements Runnable{
     {      {
       CMO[] list = {new CMO_INT32(SM.SM_popCMO),        CMO[] list = {new CMO_INT32(SM.SM_popCMO),
                     new CMO_INT32(SM.SM_executeFunction),                      new CMO_INT32(SM.SM_executeFunction),
                     new CMO_INT32(SM.SM_mathcap)};                      new CMO_INT32(SM.SM_mathcap),
                       new CMO_INT32(SM.SM_setMathCap),
                       new CMO_INT32(SM.SM_control_kill),
                       new CMO_INT32(SM.SM_control_reset_connection)};
       mathcap[1] = new CMO_LIST(list);        mathcap[1] = new CMO_LIST(list);
     }      }
   
     {      {
       CMO[] DataFormat = {new CMO_INT32(OpenXM.OX_DATA)};  
       CMO[] CMOFormat = {new CMO_INT32(CMO.CMO_NULL),        CMO[] CMOFormat = {new CMO_INT32(CMO.CMO_NULL),
                          new CMO_INT32(CMO.CMO_INT32),                           new CMO_INT32(CMO.CMO_INT32),
                          new CMO_INT32(CMO.CMO_STRING),                           new CMO_INT32(CMO.CMO_STRING),
Line 126  class OMproxy implements Runnable{
Line 129  class OMproxy implements Runnable{
                          new CMO_INT32(CMO.CMO_ZZ),                           new CMO_INT32(CMO.CMO_ZZ),
                          new CMO_INT32(CMO.CMO_QQ),                           new CMO_INT32(CMO.CMO_QQ),
                          new CMO_INT32(CMO.CMO_ZERO),                           new CMO_INT32(CMO.CMO_ZERO),
                            new CMO_INT32(CMO.CMO_DMS_GENERIC),
                            new CMO_INT32(CMO.CMO_RECURSIVE_POLYNOMIAL),
                          new CMO_INT32(CMO.CMO_DISTRIBUTED_POLYNOMIAL),                           new CMO_INT32(CMO.CMO_DISTRIBUTED_POLYNOMIAL),
                          new CMO_INT32(CMO.CMO_DMS_GENERIC)};                           new CMO_INT32(CMO.CMO_POLYNOMIAL_IN_ONE_VARIABLE),
       CMO[] list = {new CMO_LIST(DataFormat),                           new CMO_INT32(CMO.CMO_BIGFLOAT),
                     new CMO_LIST(CMOFormat)};                           new CMO_INT32(CMO.CMO_INDETERMINATE),
                            new CMO_INT32(CMO.CMO_TREE)};
         CMO[] DataFormat1 = {new CMO_INT32(OpenXM.OX_DATA),
                              new CMO_LIST(CMOFormat)};
         CMO[] list = {new CMO_LIST(DataFormat1)};
   
       mathcap[2] = new CMO_LIST(list);        mathcap[2] = new CMO_LIST(list);
     }      }
   
Line 159  class OMproxy implements Runnable{
Line 169  class OMproxy implements Runnable{
   }    }
   
   private CMO CMO2OMXML(CMO obj){    private CMO CMO2OMXML(CMO obj){
     String str = OM2OXM.CMO2OM(obj);      String str;
   
       try{
         str = OM2OXM.CMO2OM(obj);
       }catch(NumberFormatException e){
         debug("CMO2OMXML occuered error in trans");
         return new CMO_ERROR2(new CMO_STRING(e.toString()));
       }
   
     return new CMO_STRING(str);      return new CMO_STRING(str);
   }    }
   
Line 172  class OMproxy implements Runnable{
Line 189  class OMproxy implements Runnable{
   
     debug("OMXML2CMO called: "+obj);      debug("OMXML2CMO called: "+obj);
     if(!(obj instanceof CMO_STRING)){      if(!(obj instanceof CMO_STRING)){
       return new CMO_ERROR2();        return new CMO_ERROR2(new CMO_STRING("It's not CMO_STRING."));
     }      }
   
     try{      try{
Line 181  class OMproxy implements Runnable{
Line 198  class OMproxy implements Runnable{
     }catch(IOException e){      }catch(IOException e){
       debug("OMXML2CMO occuered error in trans");        debug("OMXML2CMO occuered error in trans");
       return new CMO_ERROR2(new CMO_STRING(e.toString()));        return new CMO_ERROR2(new CMO_STRING(e.toString()));
       }catch(NumberFormatException e){
         debug("OMXML2CMO occuered error in trans");
         return new CMO_ERROR2(new CMO_STRING(e.toString()));
     }      }
   
     debug("push: "+ret);      debug("push: "+ret);
Line 203  class OMproxy implements Runnable{
Line 223  class OMproxy implements Runnable{
     ret += "\t -data port \t (default 1300)\n";      ret += "\t -data port \t (default 1300)\n";
     ret += "\t -control port \t (default 1200)\n";      ret += "\t -control port \t (default 1200)\n";
     ret += "\t -insecure \t this version ignore this option\n";      ret += "\t -insecure \t this version ignore this option\n";
       ret += "\t -nohup \t ignore signals (required libnative.so)\n";
   
     return ret;      return ret;
   }    }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.20

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>