Public Methods | |
IntRepManager (Repository ir) | |
void | buildMethodMenu (String entry, CorbaMenuBuilder builder) |
void | buildMethodMenu (CorbaMenuBuilder builder) |
OperationDef | describeOperation (String intfName, String opName) |
Any | getDefaultValue (String intfName, String opName, String paramName) |
SequenceDef | describeSequence (String seqName) |
String[] | listGroups (String intfName, String group) |
String[] | listOperations (String intfName, String group) |
Static Public Methods | |
IntRepManager | defaultIrMgr () |
|
00023 { 00024 if(ir == null) 00025 throw new IllegalArgumentException("null org.omg.CORBA.Repository"); 00026 00027 _ir = ir; 00028 } |
|
00032 { 00033 if(_default == null) { 00034 Repository ir = 00035 ServiceRepository.instance().getRepository(); 00036 if(ir != null) _default = new IntRepManager(ir); 00037 } 00038 return _default; 00039 } |
|
00043 { 00044 boolean built = buildMenu(entry, builder); 00045 if(!built) 00046 builder.createNullMenu(entry); 00047 } |
|
00050 { 00051 builder.openMainMenu("HxCorba"); 00052 String[] entries = listMenuEntries(); 00053 for (int i=0 ; i<entries.length ; i++) 00054 buildMenu(entries[i], builder); 00055 builder.closeMainMenu(); 00056 } |
|
00059 { 00060 //if(_ir == null) return null; 00061 00062 try { 00063 String path = "HxCorba/"+intfName+"/"+opName; 00064 org.omg.CORBA.Contained cont = _ir.lookup_id("IDL:"+path+":1.0"); 00065 if(cont != null) return OperationDefHelper.narrow(cont); 00066 00067 // try base interfaces 00068 cont = _ir.lookup_id("IDL:HxCorba/"+intfName+":1.0"); 00069 if(cont == null) return null; //Interface doesn't exists 00070 00071 InterfaceDef iDef = InterfaceDefHelper.narrow(cont); 00072 InterfaceDef[] baseIntf = iDef.base_interfaces(); 00073 for(int i=0; i<baseIntf.length; i++) { 00074 OperationDef op = describeOperation(baseIntf[i].name(), opName); 00075 if(op != null) return op; 00076 } 00077 00078 }catch(org.omg.CORBA.TRANSIENT e){ 00079 ErrorStreamArea.println("Cannot find InterfaceRepository server"); 00080 _ir = null; 00081 }catch(Exception e){ 00082 ErrorStreamArea.println(""+e); 00083 e.printStackTrace(); 00084 } 00085 return null; 00086 } |
|
00089 { 00090 try { 00091 String path = "HxCorbaDefParams/"+intfName+"/"+opName+"_"+paramName; 00092 org.omg.CORBA.Contained cont = _ir.lookup_id("IDL:"+path+":1.0"); 00093 if(cont != null) return ConstantDefHelper.narrow(cont).value(); 00094 00095 // try base interfaces ? 00096 00097 }catch(org.omg.CORBA.TRANSIENT e){ 00098 ErrorStreamArea.println("Cannot find InterfaceRepository server"); 00099 _ir = null; 00100 }catch(Exception e){ 00101 ErrorStreamArea.println(""+e); 00102 e.printStackTrace(); 00103 } 00104 return null; 00105 } |
|
00108 { 00109 //if(_ir == null) return null; 00110 00111 try { 00112 org.omg.CORBA.Contained cont = 00113 _ir.lookup_id("IDL:HxCorba/"+seqName+":1.0"); 00114 AliasDef alias = AliasDefHelper.narrow(cont); 00115 return SequenceDefHelper.narrow(alias.original_type_def()); 00116 00117 }catch(org.omg.CORBA.TRANSIENT e){ 00118 ErrorStreamArea.println("Cannot find InterfaceRepository server"); 00119 _ir = null; 00120 }catch(Exception e){ 00121 ErrorStreamArea.println(""+e); 00122 e.printStackTrace(); 00123 } 00124 return null; 00125 } |
|
00234 { 00235 //if(_ir == null) return new String[0]; 00236 00237 try { 00238 StructDef menu = lookupGroup(intfName, group); 00239 StructMember[] menuMembers = menu.members(); 00240 00241 String[] memberNames = new String[menuMembers.length]; 00242 int nGroups = 0; 00243 for (int i=0 ; i<menuMembers.length ; i++) { 00244 if(menuMembers[i].type.kind() == TCKind.tk_struct) 00245 memberNames[nGroups++] = menuMembers[i].type.name(); 00246 } 00247 00248 String[] res = new String[nGroups]; 00249 System.arraycopy(memberNames, 0, res, 0, nGroups); 00250 00251 return res; 00252 00253 }catch(org.omg.CORBA.TRANSIENT e){ 00254 ErrorStreamArea.println("Cannot find InterfaceRepository server"); 00255 _ir = null; 00256 }catch(Exception e){ 00257 ErrorStreamArea.println(""+e); 00258 e.printStackTrace(); 00259 } 00260 return new String[0]; 00261 } |
|
00264 { 00265 //if(_ir == null) return new String[0]; 00266 00267 try { 00268 StructDef menu = lookupGroup(intfName, group); 00269 StructMember[] menuMembers = menu.members(); 00270 00271 String[] memberNames = new String[menuMembers.length]; 00272 int nOps = 0; 00273 for (int i=0 ; i<menuMembers.length ; i++) { 00274 if(menuMembers[i].type.kind() != TCKind.tk_struct) 00275 memberNames[nOps++] = menuMembers[i].name; 00276 } 00277 00278 String[] res = new String[nOps]; 00279 System.arraycopy(memberNames, 0, res, 0, nOps); 00280 00281 return res; 00282 00283 }catch(org.omg.CORBA.TRANSIENT e){ 00284 ErrorStreamArea.println("Cannot find InterfaceRepository server"); 00285 _ir = null; 00286 }catch(Exception e){ 00287 ErrorStreamArea.println(""+e); 00288 e.printStackTrace(); 00289 } 00290 return new String[0]; 00291 } |