use of net.sf.ehcache.Ehcache in project uPortal by Jasig.
the class CachingResourceLoaderImplTest method testCachedWithinInterval.
@Test
public void testCachedWithinInterval() throws Exception {
final Resource doc1Resouce = new FileSystemResource(doc1);
final CachingResourceLoaderImpl loader = new CachingResourceLoaderImpl();
final Ehcache cache = createMock(Ehcache.class);
final CachedResource<?> cachedResource = createMock(CachedResource.class);
final ResourcesElementsProvider elementsProvider = createMock(ResourcesElementsProvider.class);
expect(elementsProvider.getDefaultIncludedType()).andReturn(Included.AGGREGATED);
expect(cache.getInternalContext()).andReturn(null).anyTimes();
expect(cache.getCacheConfiguration()).andReturn(new CacheConfiguration());
expect(cache.get(doc1Resouce)).andReturn(new Element(doc1Resouce, cachedResource));
expect(cachedResource.getLastCheckTime()).andReturn(System.currentTimeMillis());
replay(cache, cachedResource, elementsProvider);
loader.setResourceCache(cache);
loader.setResourcesElementsProvider(elementsProvider);
final CachedResource<String> cachedResource1 = loader.getResource(doc1Resouce, StringResourceBuilder.INSTANCE);
verify(cache, cachedResource, elementsProvider);
assertNotNull(cachedResource1);
assertTrue(cachedResource1 == cachedResource);
}
use of net.sf.ehcache.Ehcache in project uPortal by Jasig.
the class CachingCharacterPipelineComponentTest method testCacheMiss.
@Test
public void testCacheMiss() {
final MockHttpServletRequest mockReq = new MockHttpServletRequest();
final MockHttpServletResponse mockRes = new MockHttpServletResponse();
final CacheKey cacheKey = CacheKey.build("testCacheKey");
final List<CharacterEvent> eventBuffer = Collections.emptyList();
final PipelineEventReader<CharacterEventReader, CharacterEvent> eventReader = new PipelineEventReaderImpl<CharacterEventReader, CharacterEvent>(new CharacterEventBufferReader(eventBuffer.listIterator()));
final Ehcache cache = createMock(Ehcache.class);
final CharacterPipelineComponent targetComponent = createMock(CharacterPipelineComponent.class);
final ResourcesElementsProvider elementsProvider = createMock(ResourcesElementsProvider.class);
expect(elementsProvider.getDefaultIncludedType()).andReturn(Included.AGGREGATED);
expect(targetComponent.getCacheKey(mockReq, mockRes)).andReturn(cacheKey);
expect(cache.get(cacheKey)).andReturn(null);
expect(targetComponent.getEventReader(mockReq, mockRes)).andReturn(eventReader);
cache.put((Element) notNull());
expectLastCall();
replay(cache, targetComponent, elementsProvider);
final CachingCharacterPipelineComponent cachingComponent = new CachingCharacterPipelineComponent();
cachingComponent.setCache(cache);
cachingComponent.setWrappedComponent(targetComponent);
cachingComponent.setResourcesElementsProvider(elementsProvider);
final PipelineEventReader<CharacterEventReader, CharacterEvent> actualEventReader = cachingComponent.getEventReader(mockReq, mockRes);
Assert.assertNotNull(actualEventReader);
Assert.assertNotNull(actualEventReader.getEventReader());
Assert.assertFalse(actualEventReader.getEventReader().hasNext());
verify(cache, targetComponent, elementsProvider);
}
use of net.sf.ehcache.Ehcache in project uPortal by Jasig.
the class CachingCharacterPipelineComponentTest method testCacheHit.
@Test
public void testCacheHit() {
final MockHttpServletRequest mockReq = new MockHttpServletRequest();
final MockHttpServletResponse mockRes = new MockHttpServletResponse();
final CacheKey cacheKey = CacheKey.build("testCacheKey");
final CachedEventReader<CharacterEvent> eventReader = new CachedEventReader<CharacterEvent>(Collections.EMPTY_LIST, Collections.EMPTY_MAP);
final Element cacheElement = new Element(cacheKey, eventReader);
final Ehcache cache = createMock(Ehcache.class);
final CharacterPipelineComponent targetComponent = createMock(CharacterPipelineComponent.class);
final ResourcesElementsProvider elementsProvider = createMock(ResourcesElementsProvider.class);
expect(elementsProvider.getDefaultIncludedType()).andReturn(Included.AGGREGATED);
expect(targetComponent.getCacheKey(mockReq, mockRes)).andReturn(cacheKey);
expect(cache.get(cacheKey)).andReturn(cacheElement);
replay(cache, targetComponent, elementsProvider);
final CachingCharacterPipelineComponent cachingComponent = new CachingCharacterPipelineComponent();
cachingComponent.setCache(cache);
cachingComponent.setWrappedComponent(targetComponent);
cachingComponent.setResourcesElementsProvider(elementsProvider);
final PipelineEventReader<CharacterEventReader, CharacterEvent> actualEventReader = cachingComponent.getEventReader(mockReq, mockRes);
Assert.assertNotNull(actualEventReader);
Assert.assertNotNull(actualEventReader.getEventReader());
Assert.assertFalse(actualEventReader.getEventReader().hasNext());
verify(cache, targetComponent, elementsProvider);
}
use of net.sf.ehcache.Ehcache in project uPortal by Jasig.
the class CachingStAXPipelineComponentTest method testCacheMiss.
@Test
public void testCacheMiss() {
final MockHttpServletRequest mockReq = new MockHttpServletRequest();
final MockHttpServletResponse mockRes = new MockHttpServletResponse();
final CacheKey cacheKey = CacheKey.build("testCacheKey");
final List<XMLEvent> eventBuffer = Collections.emptyList();
final PipelineEventReader<XMLEventReader, XMLEvent> eventReader = new PipelineEventReaderImpl<XMLEventReader, XMLEvent>(new XMLEventBufferReader(eventBuffer.listIterator()));
final Ehcache cache = createMock(Ehcache.class);
final StAXPipelineComponent targetComponent = createMock(StAXPipelineComponent.class);
final ResourcesElementsProvider elementsProvider = createMock(ResourcesElementsProvider.class);
expect(elementsProvider.getDefaultIncludedType()).andReturn(Included.AGGREGATED);
expect(targetComponent.getCacheKey(mockReq, mockRes)).andReturn(cacheKey);
expect(cache.get(cacheKey)).andReturn(null);
expect(targetComponent.getEventReader(mockReq, mockRes)).andReturn(eventReader);
cache.put((Element) notNull());
expectLastCall();
replay(cache, targetComponent, elementsProvider);
final CachingStAXPipelineComponent cachingComponent = new CachingStAXPipelineComponent();
cachingComponent.setCache(cache);
cachingComponent.setWrappedComponent(targetComponent);
cachingComponent.setResourcesElementsProvider(elementsProvider);
final PipelineEventReader<XMLEventReader, XMLEvent> actualEventReader = cachingComponent.getEventReader(mockReq, mockRes);
Assert.assertNotNull(actualEventReader);
Assert.assertNotNull(actualEventReader.getEventReader());
Assert.assertFalse(actualEventReader.getEventReader().hasNext());
verify(cache, targetComponent, elementsProvider);
}
use of net.sf.ehcache.Ehcache in project simplejpa by appoxy.
the class EhCacheFactory method createCache.
public synchronized EhcacheWrapper createCache(String name) {
if (manager == null) {
throw new CacheException("CacheFactory was not initialized. Call init() before creating a cache.");
}
try {
Cache cache = manager.getCache(name);
if (cache == null) {
log.warning("Could not find a specific ehcache configuration for cache named [" + name + "]; using defaults.");
manager.addCache(name);
cache = manager.getCache(name);
}
Ehcache backingCache = cache;
if (!backingCache.getCacheEventNotificationService().hasCacheEventListeners()) {
if (listeners.size() > 0) {
for (CacheEventListener listener : listeners) {
if (!backingCache.getCacheEventNotificationService().getCacheEventListeners().contains(listener)) {
backingCache.getCacheEventNotificationService().registerListener(listener);
} else {
}
}
}
}
return new EhcacheWrapper(cache);
} catch (net.sf.ehcache.CacheException e) {
throw new CacheException("Could not create cache: " + name, e);
}
}
Aggregations