1 6 7 package SOFA.Connector.EEG.EEM.Actions; 8 9 import SOFA.Connector.EEG.CodeWriter.CDL2JavaMapping; 10 import SOFA.Connector.EEG.CodeWriter.JWriterDirectorException; 11 import SOFA.SOFAnode.Made.TIR.ExceptionDef; 12 import SOFA.SOFAnode.Made.TIR.OperationDef; 13 import SOFA.SOFAnode.Made.TIR.ParamDescr; 14 import SOFA.SOFAnode.Made.TIR.ParamMode; 15 import SOFA.SOFAnode.Made.TIR.TIRExceptLock; 16 17 22 public class JIfaceCNRMI { 23 public static String targetCallParams(OperationDef method) throws JWriterDirectorException { 24 try { 25 StringBuffer ret=new StringBuffer (); 26 27 int j; 28 ParamDescr[] params=method.params(); 29 for (j=0;j<params.length;j++) { 30 if (j>0) { 31 ret.append(", "); 32 } 33 ret.append(params[j].name()); 34 } 35 if (j>0) { 36 ret.append(", "); 37 } 38 ret.append("thr_id"); 39 return ret.toString(); 40 } catch (java.rmi.RemoteException e) { 41 throw new JWriterDirectorException("Cannot access TIR.",e); 42 } catch (TIRExceptLock e) { 43 throw new JWriterDirectorException("Cannot access TIR.",e); 44 } 45 } 46 47 public static String getMethodDef(OperationDef mt) throws JWriterDirectorException { 48 try { 49 StringBuffer ret=new StringBuffer (CDL2JavaMapping.getTypeName(mt.result(),ParamMode.PARAM_IN)+" "+mt.get_identification().name()+"("); 50 51 int j; 52 ParamDescr[] params=mt.params(); 53 for (j=0;j<params.length;j++) { 54 if (j>0) { 55 ret.append(", "); 56 } 57 ret.append(CDL2JavaMapping.getTypeName(params[j].type(),params[j].mode().value())+" "+params[j].name()); 58 } 59 if (j>0) { 60 ret.append(", "); 61 } 62 ret.append("String thr_id"); 63 ret.append(")"); 64 65 ret.append(" throws java.rmi.RemoteException"); 66 ExceptionDef[] exceptions=mt.exceptions(); 67 for (j=0;j<exceptions.length;j++) { 68 ret.append(", "); 69 ret.append(CDL2JavaMapping.getAbsoluteName(exceptions[j].get_identification().absolute_name())); 70 } 71 return ret.toString(); 72 } catch (Exception e) { 73 throw new JWriterDirectorException("Cannot create method declaration.",e); 74 } 75 } 76 } 77 | Popular Tags |