public void setSPFResult()

in resolver/src/main/java/org/apache/james/jspf/executor/FutureSPFResult.java [52:79]


    public void setSPFResult(SPFSession session) {
        Iterator<IFutureSPFResultListener> listenerIt = null;
        synchronized (this) {
            if (!isReady) {
                setSPFSession(session);
                isReady = true;
                if (waiters > 0) {
                    notifyAll();
                }
                if (listeners != null) {
                    listenerIt = listeners.iterator();
                    listeners = null;
                }
            }
        }
        if (listenerIt != null) {
            while (listenerIt.hasNext()) {
                IFutureSPFResultListener listener = listenerIt.next();
                try {
                    listener.onSPFResult(this);
                } catch (Throwable e) {
                    // catch exception. See JSPF-95
                    LOGGER.warn("An exception was thrown by the listener {}", listener, e);
                }
            }
            listenerIt = null;
        }
    }