}
public void createIdlOperation(org.apache.schemas.yoko.bindings.corba.OperationType opType, String name,
boolean isOneway) throws Exception {
IdlOperation idlOp = IdlOperation.create(intf, opType.getName(), isOneway);
intf.holdForScope(idlOp);
ArgType crt = opType.getReturn();
if (crt != null) {
IdlType rt = findType(crt.getIdltype());
idlOp.addReturnType(rt);
}
Iterator it = opType.getParam().iterator();
while (it.hasNext()) {
ParamType arg = (ParamType)it.next();
IdlType type = findType(arg.getIdltype());
String mode = arg.getMode().value();
IdlParam param = IdlParam.create(idlOp, arg.getName(), type, mode);
idlOp.addParameter(param);
}
Iterator iter = opType.getRaises().iterator();
while (iter.hasNext()) {
RaisesType rs = (RaisesType)iter.next();
IdlType type = findType(rs.getException());
if (type instanceof IdlException) {
idlOp.addException((IdlException)type);
} else {
String msgStr = type.fullName() + " is not a type.";
org.objectweb.celtix.common.i18n.Message msg =
new org.objectweb.celtix.common.i18n.Message(msgStr, LOG);
throw new Exception(msg.toString());