Package org.springmodules.cache.integration.tangosol

Source Code of org.springmodules.cache.integration.tangosol.CoherenceIntegrationTests

/*
* Created on Sep 22, 2004
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
* Copyright @2007 the original author or authors.
*/
package org.springmodules.cache.integration.tangosol;

import com.tangosol.net.NamedCache;

import org.springmodules.cache.integration.AbstractIntegrationTests;
import org.springmodules.cache.integration.KeyAndModelListCachingListener.KeyAndModel;
import org.springmodules.cache.provider.tangosol.CoherenceCachingModel;
import org.springmodules.cache.util.TangosolUtils;

/**
* Template for test cases that verify that the caching module works correctly
* inside a Spring bean context when using Tangosol Coherence as the cache
* provider.
* <p/>
* <Strong>Note:</Strong> This class requires
* <a href="http://www.tangosol.com">Tangosol Coherence</a> jars in the
* classpath to work.
*
* @author Omar Irbouh
* @author Alex Ruiz
*/
public class CoherenceIntegrationTests extends
    AbstractIntegrationTests {

  // check whether required Tangosol API is on classpath
  public void runBare() throws Throwable {
    if (TangosolUtils.isApiPresent()) {
      super.runBare();
    } else {
      logger.info("Unable to run tests. Tangosol API is missing");
    }
  }

  /**
   * @see AbstractIntegrationTests#assertCacheWasFlushed()
   */
  protected final void assertCacheWasFlushed() throws Exception {
    int index = 0;
    Object entry = getCacheElement(index);
    assertCacheEntryFromCacheIsNull(entry, getKeyAndModel(index).key);
  }

  /**
   * @see AbstractIntegrationTests#assertObjectWasCached(Object,int)
   */
  protected final void assertObjectWasCached(Object expectedCachedObject,
                         int keyAndModelIndex) throws Exception {
    Object entry = getCacheElement(keyAndModelIndex);
    assertEquals(expectedCachedObject, entry);
  }

  private Object getCacheElement(int keyAndModelIndex) throws Exception {
    KeyAndModel keyAndModel = getKeyAndModel(keyAndModelIndex);
    CoherenceCachingModel model = (CoherenceCachingModel) keyAndModel.model;
    NamedCache cache = TangosolUtils.getNamedCache(model.getCacheName());
    return cache.get(keyAndModel.key);
  }

}
TOP

Related Classes of org.springmodules.cache.integration.tangosol.CoherenceIntegrationTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.