public static Filter getFilter(Env env, Value filterIdV) { int filterId; int defaultFilterId = FILTER_UNSAFE_RAW; if (filterIdV.isDefault()) { // XXX: lookup in ini filterId = defaultFilterId; } else if (filterIdV.isArray()) { Value value = filterIdV.get(env.createString("filter")); if (value.isNull()) { filterId = defaultFilterId; } else { filterId = value.toInt(); } } else { filterId = filterIdV.toInt(); } Filter filter = _filterMap.get(filterId); if (filter == null) { throw new UnimplementedException( L.l("filter not implemented: {0} ({1})", filterIdV, filterId)); } return filter; }
/** Calls a method. */ public Object __call(String name, Value values) { try { int size = values.getSize(); Object[] args = new Object[values.getSize()]; for (int i = 0; i < size; i++) { args[i] = values.get(LongValue.create(i)).toJavaObject(); } MBeanOperationInfo opInfo = findClosestOperation(name, args); if (opInfo != null) { String[] mbeanSig = createMBeanSig(opInfo); marshall(args, mbeanSig); Object value = _server.invoke(_name, name, args, mbeanSig); return unmarshall(value); } else { return _server.invoke(_name, name, args, null); } } catch (Exception e) { log.log(Level.FINE, e.toString(), e); return null; } }