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 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001