Example usage for org.apache.commons.cache BaseStorageListener BaseStorageListener

List of usage examples for org.apache.commons.cache BaseStorageListener BaseStorageListener

Introduction

In this page you can find the example usage for org.apache.commons.cache BaseStorageListener BaseStorageListener.

Prototype

BaseStorageListener

Source Link

Usage

From source file:com.adito.policyframework.PrincipalCache.java

private StorageListener getStorageListener(final String messageBundle, final String cacheFullText) {
    return new BaseStorageListener() {
        private static final long serialVersionUID = 4283488241230531541L;
        private int storageCounter = 0;
        private boolean addedWarning;

        public synchronized void stored(Serializable arg0, Serializable arg1, Long arg2, Long arg3,
                Serializable arg4) {
            storageCounter++;/*from   w  w w  .j a  v  a2s. c om*/
        }

        public synchronized void cleared(Serializable arg0) {
            if (storageCounter == cacheSize && !addedWarning) {
                BundleActionMessage message = new BundleActionMessage(messageBundle, cacheFullText,
                        String.valueOf(cacheSize));
                GlobalWarningManager.getInstance().addMultipleGlobalWarning(new GlobalWarning(
                        GlobalWarning.MANAGEMENT_USERS, message, DismissType.DISMISS_FOR_USER));
                addedWarning = true;
            }
            storageCounter--;
        }

        public synchronized void cleared() {
            storageCounter = 0;
            addedWarning = false;
            GlobalWarningManager.getInstance().removeGlobalWarningFromAllSessions(cacheFullText);
        }
    };
}