use of org.craftercms.core.service.CachingOptions in project engine by craftercms.
the class TargetedContentStoreAdapterDecoratorTest method testFindItems.
@Test
public void testFindItems() throws Exception {
Context context = new DecoratedStoreAdapterContext(mock(Context.class), storeAdapter);
CachingOptions cachingOptions = CachingOptions.DEFAULT_CACHING_OPTIONS;
List<Item> items = storeAdapter.findItems(context, cachingOptions, "/site/website/en");
assertNotNull(items);
assertEquals(2, items.size());
assertEquals("index.xml", items.get(0).getName());
assertEquals("/site/website/en/index.xml", items.get(0).getUrl());
assertEquals("about-us", items.get(1).getName());
assertEquals("/site/website/en/about-us", items.get(1).getUrl());
items = storeAdapter.findItems(context, cachingOptions, "/site/website/ja_jp_jp");
assertNotNull(items);
assertEquals(2, items.size());
assertEquals("index.xml", items.get(0).getName());
assertEquals("/site/website/ja/index.xml", items.get(0).getUrl());
assertEquals("about-us", items.get(1).getName());
assertEquals("/site/website/en/about-us", items.get(1).getUrl());
config.setProperty(SiteProperties.MERGE_FOLDERS_CONFIG_KEY, false);
items = storeAdapter.findItems(context, cachingOptions, "/site/website/ja_jp_jp");
assertNotNull(items);
assertEquals(1, items.size());
assertEquals("index.xml", items.get(0).getName());
assertEquals("/site/website/ja/index.xml", items.get(0).getUrl());
}
use of org.craftercms.core.service.CachingOptions in project engine by craftercms.
the class UrlTransformationServiceImpl method transform.
public String transform(String transformerName, String url, boolean cache) {
SiteContext siteContext = SiteContext.getCurrent();
if (siteContext != null) {
CachingOptions cachingOptions = new CachingOptions();
cachingOptions.setDoCaching(cache);
return siteContext.getUrlTransformationEngine().transformUrl(siteContext.getContext(), cachingOptions, transformerName, url);
} else {
return url;
}
}
use of org.craftercms.core.service.CachingOptions in project engine by craftercms.
the class TargetedContentStoreAdapterTest method testFindItem.
@Test
public void testFindItem() throws Exception {
Context context = new TargetedContentStoreAdapter.ContextWrapper(storeAdapter, mock(Context.class));
CachingOptions cachingOptions = CachingOptions.DEFAULT_CACHING_OPTIONS;
Item item = storeAdapter.findItem(context, cachingOptions, "/site/website/en", true);
assertNotNull(item);
assertEquals("en", item.getName());
assertEquals("/site/website/en", item.getUrl());
item = storeAdapter.findItem(context, cachingOptions, "/site/website/ja_jp_jp", true);
assertNotNull(item);
assertEquals("en", item.getName());
assertEquals("/site/website/en", item.getUrl());
item = storeAdapter.findItem(context, cachingOptions, "/site/website/ja_jp_jp/index.xml", true);
assertNotNull(item);
assertEquals("index.xml", item.getName());
assertEquals("/site/website/en/index.xml", item.getUrl());
item = storeAdapter.findItem(context, cachingOptions, "/site/website/index.xml", true);
assertNotNull(item);
assertEquals("index.xml", item.getName());
assertEquals("/site/website/index.xml", item.getUrl());
item = storeAdapter.findItem(context, cachingOptions, "/static-assets/css/main.css", true);
assertNotNull(item);
assertEquals("main.css", item.getName());
assertEquals("/static-assets/css/main.css", item.getUrl());
}
use of org.craftercms.core.service.CachingOptions in project engine by craftercms.
the class TargetedContentStoreAdapterTest method testFindItems.
@Test
public void testFindItems() throws Exception {
Context context = new TargetedContentStoreAdapter.ContextWrapper(storeAdapter, mock(Context.class));
CachingOptions cachingOptions = CachingOptions.DEFAULT_CACHING_OPTIONS;
List<Item> items = storeAdapter.findItems(context, cachingOptions, "/site/website/en", true);
assertNotNull(items);
assertEquals(2, items.size());
assertEquals("index.xml", items.get(0).getName());
assertEquals("/site/website/en/index.xml", items.get(0).getUrl());
assertEquals("about-us", items.get(1).getName());
assertEquals("/site/website/en/about-us", items.get(1).getUrl());
items = storeAdapter.findItems(context, cachingOptions, "/site/website/ja_jp_jp", true);
assertNotNull(items);
assertEquals(2, items.size());
assertEquals("index.xml", items.get(0).getName());
assertEquals("/site/website/ja/index.xml", items.get(0).getUrl());
assertEquals("about-us", items.get(1).getName());
assertEquals("/site/website/en/about-us", items.get(1).getUrl());
config.setProperty(SiteProperties.MERGE_FOLDERS_CONFIG_KEY, false);
items = storeAdapter.findItems(context, cachingOptions, "/site/website/ja_jp_jp", true);
assertNotNull(items);
assertEquals(1, items.size());
assertEquals("index.xml", items.get(0).getName());
assertEquals("/site/website/ja/index.xml", items.get(0).getUrl());
}
use of org.craftercms.core.service.CachingOptions in project search by craftercms.
the class InheritedDescriptorsItemProcessor method process.
@Override
public Item process(final Context context, final CachingOptions cachingOptions, final Item item) throws ItemProcessingException {
if (item.getDescriptorDom() != null) {
DescriptorMergeStrategy mergeStrategy = mergeStrategyResolver.getStrategy(item.getDescriptorUrl(), item.getDescriptorDom());
if (mergeStrategy != null) {
List<MergeableDescriptor> inheritedDescriptors = mergeStrategy.getDescriptors(context, cachingOptions, item.getDescriptorUrl(), item.getDescriptorDom());
if (CollectionUtils.isNotEmpty(inheritedDescriptors)) {
inheritedDescriptors.stream().filter(descriptor -> !StringUtils.equals(descriptor.getUrl(), item.getDescriptorUrl())).forEach(descriptor -> {
Element inheritedFromElement = DocumentHelper.createElement(inheritsFromElementName);
inheritedFromElement.setText(descriptor.getUrl());
item.getDescriptorDom().getRootElement().add(inheritedFromElement);
});
}
}
}
return item;
}
Aggregations