Renamed the `cacheStorage` Configuration setting to `templateCacheStorage`.
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/a93023c7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/a93023c7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/a93023c7 Branch: refs/heads/3 Commit: a93023c76dfbf811da72bd0afcd9e5a47940567e Parents: 6457c9d Author: ddekany <[email protected]> Authored: Wed Jun 7 18:23:30 2017 +0200 Committer: ddekany <[email protected]> Committed: Wed Jun 7 18:31:22 2017 +0200 ---------------------------------------------------------------------- FM3-CHANGE-LOG.txt | 6 +- .../freemarker/core/ConfigurationTest.java | 24 +++--- .../core/CustomTemplateResolverTest.java | 24 +++--- .../core/ObjectBuilderSettingsTest.java | 8 +- .../freemarker/core/OutputFormatTest.java | 2 +- .../core/TemplateGetEncodingTest.java | 2 +- .../DefaultTemplateResolverTest.java | 12 +-- .../apache/freemarker/core/Configuration.java | 82 ++++++++++---------- .../core/MutableProcessingConfiguration.java | 7 +- .../core/TemplateResolverDependenciesImpl.java | 6 +- .../freemarker/core/TopLevelConfiguration.java | 4 +- .../core/templateresolver/CacheStorage.java | 2 +- .../core/templateresolver/TemplateResolver.java | 4 +- .../TemplateResolverDependencies.java | 4 +- .../impl/ByteArrayTemplateLoader.java | 9 ++- .../impl/DefaultTemplateResolver.java | 26 +++---- .../templateresolver/impl/MruCacheStorage.java | 2 +- .../templateresolver/impl/NullCacheStorage.java | 2 +- .../templateresolver/impl/SoftCacheStorage.java | 2 +- .../impl/StringTemplateLoader.java | 7 +- .../impl/StrongCacheStorage.java | 2 +- 21 files changed, 121 insertions(+), 116 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/FM3-CHANGE-LOG.txt ---------------------------------------------------------------------- diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt index 180db5c..3766831 100644 --- a/FM3-CHANGE-LOG.txt +++ b/FM3-CHANGE-LOG.txt @@ -80,14 +80,15 @@ the FreeMarer 3 changelog here: - Removed SimpleObjectWrapper deprecated paramerless constructor - Removed ResourceBundleLocalizedString and LocalizedString: Hardly anybody has discovered these, and they had no JUnit coverage. +- The `cacheStorage` Configiration setting was renamed to `templateCacheStorage`. - Added the org.apache.freemarker.core.templateresolver.TemplateResolver class and the `templateResolver` Configuration setting. This allows replacing the whole template lookup, loading and caching logic with a custom implementation, giving total control over this aspect of FreeMarker, in case replacing Configuration settings like `templateLoader` - or `cacheStorage` wasn't enough. The `TemplateResolver` implementation declares which of the template resolution + or `templateCacheStorage` wasn't enough. The `TemplateResolver` implementation declares which of the template resolution related Configuration settings it supports (for example, it may still want to rely on the `templateLoader`, but doesn't use the other settings). It's an error to set a template resolution related settings that the TemplateResolver doesn't support. The default implementation, `DefaultTemplateResolver`, supports all of them of course. Note that the - `TemplateCache` was removed, and was basically replaced by `DefaultTemplateResolver`. + `TemplateCache` class was removed, and was basically replaced by `DefaultTemplateResolver`. - Marked most static utility classes as internal, and renamed them to start with "_" (for example StringUtils was renamed to _StringUtil, thus people won't accidentally use it when they wanted to autocomplete to Apache Commons StringUtil). Created published static utility class, o.a.f.core.util.FTLUtil, which contains some methods moved @@ -258,3 +259,4 @@ the FreeMarer 3 changelog here: - FM2 Configuration.${c}_NAMING_CONVENTION with NamingConvention.${c} - FM2 Configuration.${c}_TAG_SYNTAX with TagSyntax.${c} - FM2 Configuration.${c}_AUTO_ESCAPING_POLICY with AutoEscapingPolicy.${c} +- Renamed the `cacheStorage` Configuration setting to `templateCacheStorage`. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java index bbc542d..222952d 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java @@ -181,20 +181,20 @@ public class ConfigurationTest extends TestCase { assertSame(DefaultTemplateNameFormatFM2.INSTANCE, cfgB.getTemplateNameFormat()); } - assertFalse(cfgB.isCacheStorageSet()); - assertTrue(cfgB.getCacheStorage() instanceof SoftCacheStorage); + assertFalse(cfgB.isTemplateCacheStorageSet()); + assertTrue(cfgB.getTemplateCacheStorage() instanceof SoftCacheStorage); // - cfgB.setCacheStorage(NullCacheStorage.INSTANCE); - assertTrue(cfgB.isCacheStorageSet()); - assertSame(NullCacheStorage.INSTANCE, cfgB.getCacheStorage()); + cfgB.setTemplateCacheStorage(NullCacheStorage.INSTANCE); + assertTrue(cfgB.isTemplateCacheStorageSet()); + assertSame(NullCacheStorage.INSTANCE, cfgB.getTemplateCacheStorage()); // for (int i = 0; i < 3; i++) { if (i == 2) { - cfgB.setCacheStorage(cfgB.getCacheStorage()); + cfgB.setTemplateCacheStorage(cfgB.getTemplateCacheStorage()); } - cfgB.unsetCacheStorage(); - assertFalse(cfgB.isCacheStorageSet()); - assertTrue(cfgB.getCacheStorage() instanceof SoftCacheStorage); + cfgB.unsetTemplateCacheStorage(); + assertFalse(cfgB.isTemplateCacheStorageSet()); + assertTrue(cfgB.getTemplateCacheStorage() instanceof SoftCacheStorage); } } @@ -377,10 +377,10 @@ public class ConfigurationTest extends TestCase { public void testTemplateResolverCache() throws Exception { Configuration.Builder cfgB = new Configuration.Builder(Configuration.VERSION_3_0_0); - CacheStorageWithGetSize cache = (CacheStorageWithGetSize) cfgB.getCacheStorage(); + CacheStorageWithGetSize cache = (CacheStorageWithGetSize) cfgB.getTemplateCacheStorage(); assertEquals(0, cache.getSize()); - cfgB.setCacheStorage(new StrongCacheStorage()); - cache = (CacheStorageWithGetSize) cfgB.getCacheStorage(); + cfgB.setTemplateCacheStorage(new StrongCacheStorage()); + cache = (CacheStorageWithGetSize) cfgB.getTemplateCacheStorage(); assertEquals(0, cache.getSize()); cfgB.setTemplateLoader(new ClassTemplateLoader(ConfigurationTest.class, "")); Configuration cfg = cfgB.build(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core-test/src/test/java/org/apache/freemarker/core/CustomTemplateResolverTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/CustomTemplateResolverTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/CustomTemplateResolverTest.java index 5658ac9..7444e23 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/CustomTemplateResolverTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/CustomTemplateResolverTest.java @@ -77,7 +77,7 @@ public class CustomTemplateResolverTest { assertNotNull(cfg.getTemplateLookupStrategy()); assertNotNull(cfg.getLocalizedLookup()); - assertNotNull(cfg.getCacheStorage()); + assertNotNull(cfg.getTemplateCacheStorage()); assertNotNull(cfg.getTemplateUpdateDelayMilliseconds()); assertNotNull(cfg.getNamingConvention()); @@ -96,7 +96,7 @@ public class CustomTemplateResolverTest { assertNull(cfg.getTemplateLookupStrategy()); assertNull(cfg.getLocalizedLookup()); - assertNull(cfg.getCacheStorage()); + assertNull(cfg.getTemplateCacheStorage()); assertNull(cfg.getTemplateUpdateDelayMilliseconds()); assertNull(cfg.getTemplateNameFormat()); @@ -116,7 +116,7 @@ public class CustomTemplateResolverTest { assertNull(cfg.getTemplateLookupStrategy()); assertNull(cfg.getLocalizedLookup()); - assertNull(cfg.getCacheStorage()); + assertNull(cfg.getTemplateCacheStorage()); assertNull(cfg.getTemplateUpdateDelayMilliseconds()); assertNotNull(cfg.getNamingConvention()); //! @@ -130,7 +130,7 @@ public class CustomTemplateResolverTest { @Test public void testInvalidConfigurationForDefaultTemplateResolver() { try { - new Configuration.Builder(Configuration.VERSION_3_0_0).cacheStorage(null).build(); + new Configuration.Builder(Configuration.VERSION_3_0_0).templateCacheStorage(null).build(); fail(); } catch (ConfigurationSettingValueException e) { // Expected @@ -168,7 +168,7 @@ public class CustomTemplateResolverTest { public void testConfigurationValidityForCustomTemplateResolver() { for (String supportedSetting : new String[]{ TEMPLATE_LOADER_KEY, TEMPLATE_LOOKUP_STRATEGY_KEY, LOCALIZED_LOOKUP_KEY, TEMPLATE_NAME_FORMAT_KEY, - CACHE_STORAGE_KEY, TEMPLATE_UPDATE_DELAY_KEY, TEMPLATE_CONFIGURATIONS_KEY }) { + TEMPLATE_CACHE_STORAGE_KEY, TEMPLATE_UPDATE_DELAY_KEY, TEMPLATE_CONFIGURATIONS_KEY }) { { Configuration.Builder cfgB = new Configuration.Builder(Configuration.VERSION_3_0_0) .templateResolver(new CustomTemplateResolver(supportedSetting)); @@ -198,8 +198,8 @@ public class CustomTemplateResolverTest { cfgB.setLocalizedLookup(true); } else if (TEMPLATE_NAME_FORMAT_KEY.equals(setting)) { cfgB.setTemplateNameFormat(DefaultTemplateNameFormat.INSTANCE); - } else if (CACHE_STORAGE_KEY.equals(setting)) { - cfgB.setCacheStorage(new SoftCacheStorage()); + } else if (TEMPLATE_CACHE_STORAGE_KEY.equals(setting)) { + cfgB.setTemplateCacheStorage(new SoftCacheStorage()); } else if (TEMPLATE_UPDATE_DELAY_KEY.equals(setting)) { cfgB.setTemplateUpdateDelayMilliseconds(1234L); } else if (TEMPLATE_CONFIGURATIONS_KEY.equals(setting)) { @@ -268,11 +268,11 @@ public class CustomTemplateResolverTest { } } - if (CACHE_STORAGE_KEY.equals(supportedSetting)) { - assertNotNull(deps.getCacheStorage()); + if (TEMPLATE_CACHE_STORAGE_KEY.equals(supportedSetting)) { + assertNotNull(deps.getTemplateCacheStorage()); } else { try { - deps.getCacheStorage(); + deps.getTemplateCacheStorage(); fail(); } catch (IllegalStateException e) { // Expected @@ -357,8 +357,8 @@ public class CustomTemplateResolverTest { } @Override - public boolean supportsCacheStorageSetting() { - return CACHE_STORAGE_KEY.equals(supportedSetting); + public boolean supportsTemplateCacheStorageSetting() { + return TEMPLATE_CACHE_STORAGE_KEY.equals(supportedSetting); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java index 7c0d841..543473b 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java @@ -366,7 +366,7 @@ public class ObjectBuilderSettingsTest { "org.apache.freemarker.core.ObjectBuilderSettingsTest$DummyArithmeticEngine"); props.setProperty(MutableProcessingConfiguration.TEMPLATE_EXCEPTION_HANDLER_KEY, "org.apache.freemarker.core.ObjectBuilderSettingsTest$DummyTemplateExceptionHandler"); - props.setProperty(Configuration.ExtendableBuilder.CACHE_STORAGE_KEY, + props.setProperty(Configuration.ExtendableBuilder.TEMPLATE_CACHE_STORAGE_KEY, "org.apache.freemarker.core.ObjectBuilderSettingsTest$DummyCacheStorage()"); props.setProperty(MutableProcessingConfiguration.NEW_BUILTIN_CLASS_RESOLVER_KEY, "org.apache.freemarker.core.ObjectBuilderSettingsTest$DummyNewBuiltinClassResolver()"); @@ -379,7 +379,7 @@ public class ObjectBuilderSettingsTest { Configuration.VERSION_3_0_0, ((DefaultObjectWrapper) cfgB.getObjectWrapper()).getIncompatibleImprovements()); assertEquals(DummyArithmeticEngine.class, cfgB.getArithmeticEngine().getClass()); assertEquals(DummyTemplateExceptionHandler.class, cfgB.getTemplateExceptionHandler().getClass()); - assertEquals(DummyCacheStorage.class, cfgB.getCacheStorage().getClass()); + assertEquals(DummyCacheStorage.class, cfgB.getTemplateCacheStorage().getClass()); assertEquals(DummyNewBuiltinClassResolver.class, cfgB.getNewBuiltinClassResolver().getClass()); assertEquals(DummyTemplateLoader.class, cfgB.getTemplateLoader().getClass()); assertEquals(StandardCharsets.UTF_8, cfgB.getSourceEncoding()); @@ -392,7 +392,7 @@ public class ObjectBuilderSettingsTest { "org.apache.freemarker.core.ObjectBuilderSettingsTest$DummyArithmeticEngine(x = 1)"); props.setProperty(MutableProcessingConfiguration.TEMPLATE_EXCEPTION_HANDLER_KEY, "org.apache.freemarker.core.ObjectBuilderSettingsTest$DummyTemplateExceptionHandler(x = 1)"); - props.setProperty(Configuration.ExtendableBuilder.CACHE_STORAGE_KEY, + props.setProperty(Configuration.ExtendableBuilder.TEMPLATE_CACHE_STORAGE_KEY, "soft: 500, strong: 100"); props.setProperty(MutableProcessingConfiguration.NEW_BUILTIN_CLASS_RESOLVER_KEY, "allows_nothing"); @@ -402,7 +402,7 @@ public class ObjectBuilderSettingsTest { assertEquals(1, ((DummyTemplateExceptionHandler) cfgB.getTemplateExceptionHandler()).getX()); assertEquals(Configuration.VERSION_3_0_0, ((DefaultObjectWrapper) cfgB.getObjectWrapper()).getIncompatibleImprovements()); - assertEquals(500, ((MruCacheStorage) cfgB.getCacheStorage()).getSoftSizeLimit()); + assertEquals(500, ((MruCacheStorage) cfgB.getTemplateCacheStorage()).getSoftSizeLimit()); assertEquals(TemplateClassResolver.ALLOWS_NOTHING_RESOLVER, cfgB.getNewBuiltinClassResolver()); assertEquals(StandardCharsets.UTF_8, cfgB.getSourceEncoding()); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java index c656cd3..a21cff7 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java @@ -1037,7 +1037,7 @@ public class OutputFormatTest extends TemplateTest { new TemplateConfiguration.Builder() .outputFormat(XMLOutputFormat.INSTANCE) .build())) - .cacheStorage(NullCacheStorage.INSTANCE); // Prevent caching as we change the cfgB between build(). + .templateCacheStorage(NullCacheStorage.INSTANCE); // Prevent caching as we change the cfgB between build(). } @Before http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateGetEncodingTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateGetEncodingTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateGetEncodingTest.java index 4b5bf59..af754c9 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateGetEncodingTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateGetEncodingTest.java @@ -49,7 +49,7 @@ public class TemplateGetEncodingTest { new ConditionalTemplateConfigurationFactory( new FileNameGlobMatcher("*-static*"), staticTextTCB.build())); cfgB.setTemplateLoader(tl); - cfgB.setCacheStorage(new StrongCacheStorage()); + cfgB.setTemplateCacheStorage(new StrongCacheStorage()); } Configuration cfg = cfgB.build(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core-test/src/test/java/org/apache/freemarker/core/templateresolver/DefaultTemplateResolverTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/templateresolver/DefaultTemplateResolverTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/templateresolver/DefaultTemplateResolverTest.java index 70254ba..9306af4 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/templateresolver/DefaultTemplateResolverTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/templateresolver/DefaultTemplateResolverTest.java @@ -50,7 +50,7 @@ public class DefaultTemplateResolverTest { MockTemplateLoader loader = new MockTemplateLoader(); Configuration cfg = new TestConfigurationBuilder() .templateLoader(loader) - .cacheStorage(new StrongCacheStorage()) + .templateCacheStorage(new StrongCacheStorage()) .templateUpdateDelayMilliseconds(100L) .build(); TemplateResolver tr = cfg.getTemplateResolver(); @@ -91,7 +91,7 @@ public class DefaultTemplateResolverTest { MockTemplateLoader loader = new MockTemplateLoader(); Configuration cfg = new TestConfigurationBuilder() .templateLoader(loader) - .cacheStorage(new StrongCacheStorage()) + .templateCacheStorage(new StrongCacheStorage()) .templateUpdateDelayMilliseconds(100L) .localizedLookup(false) .build(); @@ -147,7 +147,7 @@ public class DefaultTemplateResolverTest { public void testManualRemovalPlain() throws Exception { StringTemplateLoader loader = new StringTemplateLoader(); Configuration cfg = new TestConfigurationBuilder() - .cacheStorage(new StrongCacheStorage()) + .templateCacheStorage(new StrongCacheStorage()) .templateLoader(loader) .templateUpdateDelayMilliseconds(Long.MAX_VALUE) .build(); @@ -175,7 +175,7 @@ public class DefaultTemplateResolverTest { public void testManualRemovalI18ed() throws Exception { StringTemplateLoader loader = new StringTemplateLoader(); Configuration cfg = new TestConfigurationBuilder() - .cacheStorage(new StrongCacheStorage()) + .templateCacheStorage(new StrongCacheStorage()) .templateLoader(loader) .templateUpdateDelayMilliseconds(Long.MAX_VALUE) .build(); @@ -218,7 +218,7 @@ public class DefaultTemplateResolverTest { { Configuration cfg = new TestConfigurationBuilder() - .cacheStorage(new StrongCacheStorage()) + .templateCacheStorage(new StrongCacheStorage()) .templateLoader(loader) .templateUpdateDelayMilliseconds(0L) .build(); @@ -257,7 +257,7 @@ public class DefaultTemplateResolverTest { { Configuration cfg = new TestConfigurationBuilder() - .cacheStorage(new StrongCacheStorage()) + .templateCacheStorage(new StrongCacheStorage()) .templateLoader(loader) .templateUpdateDelayMilliseconds(0L) .localizedLookup(false) http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java index 356e6ed..d674662 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java @@ -145,7 +145,6 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc private static final String[] SETTING_NAMES_SNAKE_CASE = new String[] { // Must be sorted alphabetically! ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE, - ExtendableBuilder.CACHE_STORAGE_KEY_SNAKE_CASE, ExtendableBuilder.INCOMPATIBLE_IMPROVEMENTS_KEY_SNAKE_CASE, ExtendableBuilder.LOCALIZED_LOOKUP_KEY_SNAKE_CASE, ExtendableBuilder.NAMING_CONVENTION_KEY_SNAKE_CASE, @@ -156,6 +155,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc ExtendableBuilder.SOURCE_ENCODING_KEY_SNAKE_CASE, ExtendableBuilder.TAB_SIZE_KEY_SNAKE_CASE, ExtendableBuilder.TAG_SYNTAX_KEY_SNAKE_CASE, + ExtendableBuilder.TEMPLATE_CACHE_STORAGE_KEY_SNAKE_CASE, ExtendableBuilder.TEMPLATE_CONFIGURATIONS_KEY_SNAKE_CASE, ExtendableBuilder.TEMPLATE_LANGUAGE_KEY_SNAKE_CASE, ExtendableBuilder.TEMPLATE_LOADER_KEY_SNAKE_CASE, @@ -168,7 +168,6 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc private static final String[] SETTING_NAMES_CAMEL_CASE = new String[] { // Must be sorted alphabetically! ExtendableBuilder.AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE, - ExtendableBuilder.CACHE_STORAGE_KEY_CAMEL_CASE, ExtendableBuilder.INCOMPATIBLE_IMPROVEMENTS_KEY_CAMEL_CASE, ExtendableBuilder.LOCALIZED_LOOKUP_KEY_CAMEL_CASE, ExtendableBuilder.NAMING_CONVENTION_KEY_CAMEL_CASE, @@ -179,6 +178,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc ExtendableBuilder.SOURCE_ENCODING_KEY_CAMEL_CASE, ExtendableBuilder.TAB_SIZE_KEY_CAMEL_CASE, ExtendableBuilder.TAG_SYNTAX_KEY_CAMEL_CASE, + ExtendableBuilder.TEMPLATE_CACHE_STORAGE_KEY_CAMEL_CASE, ExtendableBuilder.TEMPLATE_CONFIGURATIONS_KEY_CAMEL_CASE, ExtendableBuilder.TEMPLATE_LANGUAGE_KEY_CAMEL_CASE, ExtendableBuilder.TEMPLATE_LOADER_KEY_CAMEL_CASE, @@ -239,7 +239,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc private final Version incompatibleImprovements; private final TemplateResolver templateResolver; private final TemplateLoader templateLoader; - private final CacheStorage cacheStorage; + private final CacheStorage templateCacheStorage; private final TemplateLookupStrategy templateLookupStrategy; private final TemplateNameFormat templateNameFormat; private final TemplateConfigurationFactory templateConfigurations; @@ -444,10 +444,10 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc templateResolver, TEMPLATE_LOADER_KEY, templateLoader); } - cacheStorage = builder.getCacheStorage(); - if (!templateResolver.supportsCacheStorageSetting()) { + templateCacheStorage = builder.getTemplateCacheStorage(); + if (!templateResolver.supportsTemplateCacheStorageSetting()) { checkSettingIsNullForThisTemplateResolver( - templateResolver, CACHE_STORAGE_KEY, cacheStorage); + templateResolver, TEMPLATE_CACHE_STORAGE_KEY, templateCacheStorage); } templateUpdateDelayMilliseconds = builder.getTemplateUpdateDelayMilliseconds(); @@ -606,8 +606,8 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc } @Override - public CacheStorage getCacheStorage() { - return cacheStorage; + public CacheStorage getTemplateCacheStorage() { + return templateCacheStorage; } /** @@ -615,7 +615,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc * value in the {@link Configuration}. */ @Override - public boolean isCacheStorageSet() { + public boolean isTemplateCacheStorageSet() { return true; } @@ -1706,11 +1706,11 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc /** Modern, camel case ({@code likeThis}) variation of the setting name. */ public static final String AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE = "autoEscapingPolicy"; /** Legacy, snake case ({@code like_this}) variation of the setting name. */ - public static final String CACHE_STORAGE_KEY_SNAKE_CASE = "cache_storage"; + public static final String TEMPLATE_CACHE_STORAGE_KEY_SNAKE_CASE = "template_cache_storage"; /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */ - public static final String CACHE_STORAGE_KEY = CACHE_STORAGE_KEY_SNAKE_CASE; + public static final String TEMPLATE_CACHE_STORAGE_KEY = TEMPLATE_CACHE_STORAGE_KEY_SNAKE_CASE; /** Modern, camel case ({@code likeThis}) variation of the setting name. */ - public static final String CACHE_STORAGE_KEY_CAMEL_CASE = "cacheStorage"; + public static final String TEMPLATE_CACHE_STORAGE_KEY_CAMEL_CASE = "templateCacheStorage"; /** Legacy, snake case ({@code like_this}) variation of the setting name. */ public static final String TEMPLATE_UPDATE_DELAY_KEY_SNAKE_CASE = "template_update_delay"; /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */ @@ -1790,9 +1790,9 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc private TemplateResolver cachedDefaultTemplateResolver; private TemplateLoader templateLoader; private boolean templateLoaderSet; - private CacheStorage cacheStorage; - private boolean cacheStorageSet; - private CacheStorage cachedDefaultCacheStorage; + private CacheStorage templateCacheStorage; + private boolean templateCacheStorageSet; + private CacheStorage cachedDefaultTemplateCacheStorage; private TemplateLookupStrategy templateLookupStrategy; private boolean templateLookupStrategySet; private TemplateNameFormat templateNameFormat; @@ -1880,9 +1880,9 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc } else { setRecognizeStandardFileExtensions(_StringUtil.getYesNo(value)); } - } else if (CACHE_STORAGE_KEY_SNAKE_CASE.equals(name) || CACHE_STORAGE_KEY_CAMEL_CASE.equals(name)) { + } else if (TEMPLATE_CACHE_STORAGE_KEY_SNAKE_CASE.equals(name) || TEMPLATE_CACHE_STORAGE_KEY_CAMEL_CASE.equals(name)) { if (value.equalsIgnoreCase(DEFAULT_VALUE)) { - unsetCacheStorage(); + unsetTemplateCacheStorage(); } if (value.indexOf('.') == -1) { int strongSize = 0; int softSize = 0; @@ -1913,9 +1913,9 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc throw new ConfigurationSettingValueException(name, value, "Either cache soft- or strong size must be set and non-0."); } - setCacheStorage(new MruCacheStorage(strongSize, softSize)); + setTemplateCacheStorage(new MruCacheStorage(strongSize, softSize)); } else { - setCacheStorage((CacheStorage) _ObjectBuilderSettingEvaluator.eval( + setTemplateCacheStorage((CacheStorage) _ObjectBuilderSettingEvaluator.eval( value, CacheStorage.class, false, _SettingEvaluationEnvironment.getCurrent())); } } else if (TEMPLATE_UPDATE_DELAY_KEY_SNAKE_CASE.equals(name) @@ -2178,55 +2178,55 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc } @Override - public CacheStorage getCacheStorage() { - return isCacheStorageSet() ? cacheStorage : getDefaultCacheStorageTRAware(); + public CacheStorage getTemplateCacheStorage() { + return isTemplateCacheStorageSet() ? templateCacheStorage : getDefaultTemplateCacheStorageTRAware(); } @Override - public boolean isCacheStorageSet() { - return cacheStorageSet; + public boolean isTemplateCacheStorageSet() { + return templateCacheStorageSet; } - private CacheStorage getDefaultCacheStorageTRAware() { - return isTemplateResolverSet() && !getTemplateResolver().supportsCacheStorageSetting() ? null - : getDefaultCacheStorage(); + private CacheStorage getDefaultTemplateCacheStorageTRAware() { + return isTemplateResolverSet() && !getTemplateResolver().supportsTemplateCacheStorageSetting() ? null + : getDefaultTemplateCacheStorage(); } /** * The default value when the {@link #getTemplateResolver() templateResolver} supports this setting (otherwise * the default is hardwired to be {@code null} and this method isn't called). */ - protected CacheStorage getDefaultCacheStorage() { - if (cachedDefaultCacheStorage == null) { + protected CacheStorage getDefaultTemplateCacheStorage() { + if (cachedDefaultTemplateCacheStorage == null) { // If this will depend on incompatibleImprovements, null it out in onIncompatibleImprovementsChanged()! - cachedDefaultCacheStorage = new DefaultSoftCacheStorage(); + cachedDefaultTemplateCacheStorage = new DefaultSoftCacheStorage(); } - return cachedDefaultCacheStorage; + return cachedDefaultTemplateCacheStorage; } /** - * Setter pair of {@link Configuration#getCacheStorage()} + * Setter pair of {@link Configuration#getTemplateCacheStorage()} */ - public void setCacheStorage(CacheStorage cacheStorage) { - this.cacheStorage = cacheStorage; - this.cacheStorageSet = true; - cachedDefaultCacheStorage = null; + public void setTemplateCacheStorage(CacheStorage templateCacheStorage) { + this.templateCacheStorage = templateCacheStorage; + this.templateCacheStorageSet = true; + cachedDefaultTemplateCacheStorage = null; } /** - * Fluent API equivalent of {@link #setCacheStorage(CacheStorage)} + * Fluent API equivalent of {@link #setTemplateCacheStorage(CacheStorage)} */ - public SelfT cacheStorage(CacheStorage cacheStorage) { - setCacheStorage(cacheStorage); + public SelfT templateCacheStorage(CacheStorage templateCacheStorage) { + setTemplateCacheStorage(templateCacheStorage); return self(); } /** * Resets this setting to its initial state, as if it was never set. */ - public void unsetCacheStorage() { - cacheStorage = null; - cacheStorageSet = false; + public void unsetTemplateCacheStorage() { + templateCacheStorage = null; + templateCacheStorageSet = false; } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java index 441a8e6..3f3a488 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java @@ -1688,8 +1688,8 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces * See {@link ParsingConfiguration#getWhitespaceStripping()}. * <br>String value: {@code "true"}, {@code "false"}, {@code yes}, etc. * - * <li><p>{@code "cache_storage"}: - * See {@link Configuration#getCacheStorage()}. + * <li><p>{@code "template_cache_storage"}: + * See {@link Configuration#getTemplateCacheStorage()}. * <br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder * expression</a>. * If the value does not contain dot, @@ -1697,7 +1697,8 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces * maximum strong and soft sizes specified with the setting value. Examples * of valid setting values: * - * <table style="width: auto; border-collapse: collapse" border="1" summary="cache_storage value examples"> + * <table style="width: auto; border-collapse: collapse" border="1" summary="template_cache_storage value + * examples"> * <tr><th>Setting value<th>max. strong size<th>max. soft size * <tr><td>{@code "strong:50, soft:500"}<td>50<td>500 * <tr><td>{@code "strong:100, soft"}<td>100<td>{@code Integer.MAX_VALUE} http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateResolverDependenciesImpl.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateResolverDependenciesImpl.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateResolverDependenciesImpl.java index 10b219f..ee61d33 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateResolverDependenciesImpl.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateResolverDependenciesImpl.java @@ -57,9 +57,9 @@ class TemplateResolverDependenciesImpl extends TemplateResolverDependencies { } @Override - public CacheStorage getCacheStorage() { - checkSettingSupported(CACHE_STORAGE_KEY, templateResolver.supportsCacheStorageSetting()); - return configuration.getCacheStorage(); + public CacheStorage getTemplateCacheStorage() { + checkSettingSupported(TEMPLATE_CACHE_STORAGE_KEY, templateResolver.supportsTemplateCacheStorageSetting()); + return configuration.getTemplateCacheStorage(); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/TopLevelConfiguration.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TopLevelConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TopLevelConfiguration.java index 64ae95b..abb2816 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/TopLevelConfiguration.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TopLevelConfiguration.java @@ -140,12 +140,12 @@ public interface TopLevelConfiguration extends ParsingAndProcessingConfiguration * something else that doesn't support this setting, then it must be {@code null}. These checks are postponed until * the {@link Configuration} instance is created. */ - CacheStorage getCacheStorage(); + CacheStorage getTemplateCacheStorage(); /** * Tells if this setting was explicitly set (otherwise its value will be the default value). */ - boolean isCacheStorageSet(); + boolean isTemplateCacheStorageSet(); /** * The time in milliseconds that must elapse before checking whether there is a newer version of a template http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/CacheStorage.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/CacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/CacheStorage.java index c70fa94..d3f7df4 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/CacheStorage.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/CacheStorage.java @@ -27,7 +27,7 @@ import org.apache.freemarker.core.Configuration; * small subset of the {@link java.util.Map} interface. * The implementations must be thread safe. * - * @see Configuration#getCacheStorage() + * @see Configuration#getTemplateCacheStorage() */ public interface CacheStorage { Object get(Object key); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolver.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolver.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolver.java index fe4a077..04d8a95 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolver.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolver.java @@ -217,9 +217,9 @@ public abstract class TemplateResolver { /** * Works like {@link #supportsTemplateLoaderSetting()}, but for the - * {@link Configuration#getCacheStorage() cacheStorage} setting. + * {@link Configuration#getTemplateCacheStorage() templateCacheStorage} setting. */ - public abstract boolean supportsCacheStorageSetting(); + public abstract boolean supportsTemplateCacheStorageSetting(); /** * Works like {@link #supportsTemplateLoaderSetting()}, but for the http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolverDependencies.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolverDependencies.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolverDependencies.java index 13820c3..ebc5cbb 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolverDependencies.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateResolverDependencies.java @@ -42,9 +42,9 @@ public abstract class TemplateResolverDependencies { public abstract TemplateLoader getTemplateLoader(); /** - * @throws IllegalStateException if {@link TemplateResolver#supportsCacheStorageSetting()} return {@code false}. + * @throws IllegalStateException if {@link TemplateResolver#supportsTemplateCacheStorageSetting()} return {@code false}. */ - public abstract CacheStorage getCacheStorage(); + public abstract CacheStorage getTemplateCacheStorage(); /** * @throws IllegalStateException if {@link TemplateResolver#supportsTemplateLookupStrategySetting()} return http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/ByteArrayTemplateLoader.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/ByteArrayTemplateLoader.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/ByteArrayTemplateLoader.java index 417566f..8df63ed 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/ByteArrayTemplateLoader.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/ByteArrayTemplateLoader.java @@ -29,7 +29,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicLong; -import org.apache.freemarker.core.templateresolver.CacheStorage; +import org.apache.freemarker.core.TopLevelConfiguration; import org.apache.freemarker.core.templateresolver.TemplateLoader; import org.apache.freemarker.core.templateresolver.TemplateLoaderSession; import org.apache.freemarker.core.templateresolver.TemplateLoadingResult; @@ -40,9 +40,10 @@ import org.apache.freemarker.core.util._StringUtil; * A {@link TemplateLoader} that uses a {@link Map} with {@code byte[]} as its source of templates. This is similar to * {@link StringTemplateLoader}, but uses {@code byte[]} instead of {@link String}; see more details there. * - * <p>Note that {@link ByteArrayTemplateLoader} can't be used with a distributed (cluster-wide) {@link CacheStorage}, - * as it produces {@link TemplateLoadingSource}-s that deliberately throw exception on serialization (because the - * content is only accessible within a single JVM, and is also volatile). + * <p>Note that {@link ByteArrayTemplateLoader} can't be used with a distributed (cluster-wide) + * {@link TopLevelConfiguration#getTemplateCacheStorage()} templateCacheStorage}, as it produces + * {@link TemplateLoadingSource}-s that deliberately throw exception on serialization (because the content is only + * accessible within a single JVM, and is also volatile). */ // TODO JUnit tests public class ByteArrayTemplateLoader implements TemplateLoader { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/DefaultTemplateResolver.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/DefaultTemplateResolver.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/DefaultTemplateResolver.java index 1ff38be..17401ee 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/DefaultTemplateResolver.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/DefaultTemplateResolver.java @@ -84,7 +84,7 @@ public class DefaultTemplateResolver extends TemplateResolver { private TemplateLoader templateLoader; /** Here we keep our cached templates */ - private CacheStorage cacheStorage; + private CacheStorage templateCacheStorage; private TemplateLookupStrategy templateLookupStrategy; private TemplateNameFormat templateNameFormat; private TemplateConfigurationFactory templateConfigurations; @@ -99,8 +99,8 @@ public class DefaultTemplateResolver extends TemplateResolver { this.templateLoader = deps.getTemplateLoader(); - this.cacheStorage = deps.getCacheStorage(); - checkDependencyNotNull(CACHE_STORAGE_KEY, this.cacheStorage); + this.templateCacheStorage = deps.getTemplateCacheStorage(); + checkDependencyNotNull(TEMPLATE_CACHE_STORAGE_KEY, this.templateCacheStorage); Long templateUpdateDelayMilliseconds = deps.getTemplateUpdateDelayMilliseconds(); checkDependencyNotNull(TEMPLATE_UPDATE_DELAY_KEY, templateUpdateDelayMilliseconds); @@ -197,7 +197,7 @@ public class DefaultTemplateResolver extends TemplateResolver { } @Override - public boolean supportsCacheStorageSetting() { + public boolean supportsTemplateCacheStorageSetting() { return true; } @@ -235,7 +235,7 @@ public class DefaultTemplateResolver extends TemplateResolver { : null; final CachedResultKey cacheKey = new CachedResultKey(name, locale, customLookupCondition); - CachedResult oldCachedResult = (CachedResult) cacheStorage.get(cacheKey); + CachedResult oldCachedResult = (CachedResult) templateCacheStorage.get(cacheKey); final long now = System.currentTimeMillis(); @@ -295,7 +295,7 @@ public class DefaultTemplateResolver extends TemplateResolver { + "(source: " + newTemplateLoaderResult.getSource() + ")" + " as it hasn't been changed on the backing store."); } - cacheStorage.put(cacheKey, newCachedResult); + templateCacheStorage.put(cacheKey, newCachedResult); return (Template) newCachedResult.templateOrException; } else { if (newTemplateLoaderResult.getStatus() != TemplateLoadingResultStatus.OPENED) { @@ -371,7 +371,7 @@ public class DefaultTemplateResolver extends TemplateResolver { } newCachedResult.templateOrException = template; newCachedResult.version = templateLoaderResult.getVersion(); - cacheStorage.put(cacheKey, newCachedResult); + templateCacheStorage.put(cacheKey, newCachedResult); return template; } catch (RuntimeException e) { if (newCachedResult != null) { @@ -492,7 +492,7 @@ public class DefaultTemplateResolver extends TemplateResolver { cachedResult.templateOrException = e; cachedResult.source = null; cachedResult.version = null; - cacheStorage.put(cacheKey, cachedResult); + templateCacheStorage.put(cacheKey, cachedResult); } private Template loadTemplate( @@ -606,8 +606,8 @@ public class DefaultTemplateResolver extends TemplateResolver { * Whether to call {@link TemplateLoader#resetState()}. on the template loader. */ public void clearTemplateCache(boolean resetTemplateLoader) { - synchronized (cacheStorage) { - cacheStorage.clear(); + synchronized (templateCacheStorage) { + templateCacheStorage.clear(); if (templateLoader != null && resetTemplateLoader) { templateLoader.resetState(); } @@ -619,8 +619,8 @@ public class DefaultTemplateResolver extends TemplateResolver { */ @Override public void clearTemplateCache() { - synchronized (cacheStorage) { - cacheStorage.clear(); + synchronized (templateCacheStorage) { + templateCacheStorage.clear(); if (templateLoader != null) { templateLoader.resetState(); } @@ -645,7 +645,7 @@ public class DefaultTemplateResolver extends TemplateResolver { : null; CachedResultKey tk = new CachedResultKey(name, locale, customLookupCondition); - cacheStorage.remove(tk); + templateCacheStorage.remove(tk); if (debug) { LOG.debug(debugPrefix + "Template was removed from the cache, if it was there"); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MruCacheStorage.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MruCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MruCacheStorage.java index 85f2be5..f86e746 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MruCacheStorage.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MruCacheStorage.java @@ -55,7 +55,7 @@ import org.apache.freemarker.core.templateresolver.CacheStorageWithGetSize; * memory-sensitive) most-recently-used caching through * {@link SoftCacheStorage} as well. * - * @see Configuration#getCacheStorage() + * @see Configuration#getTemplateCacheStorage() */ public class MruCacheStorage implements CacheStorageWithGetSize { private final MruEntry strongHead = new MruEntry(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java index 0de7410..904742a 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java @@ -27,7 +27,7 @@ import org.apache.freemarker.core.templateresolver.CacheStorageWithGetSize; * A cache storage that doesn't store anything. Use this if you * don't want caching. * - * @see Configuration#getCacheStorage() + * @see Configuration#getTemplateCacheStorage() */ public class NullCacheStorage implements CacheStorage, CacheStorageWithGetSize { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java index ad974c3..2cbaf33 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java @@ -35,7 +35,7 @@ import org.apache.freemarker.core.templateresolver.CacheStorageWithGetSize; * class is thread-safe to the extent that its underlying map is. The parameterless constructor uses a thread-safe map * since 2.3.24 or Java 5. * - * @see ExtendableBuilder#setCacheStorage(CacheStorage) + * @see ExtendableBuilder#setTemplateCacheStorage(CacheStorage) */ public class SoftCacheStorage implements CacheStorage, CacheStorageWithGetSize { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StringTemplateLoader.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StringTemplateLoader.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StringTemplateLoader.java index 887bfce..7cc52ac 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StringTemplateLoader.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StringTemplateLoader.java @@ -29,7 +29,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicLong; -import org.apache.freemarker.core.templateresolver.CacheStorage; +import org.apache.freemarker.core.Configuration; import org.apache.freemarker.core.templateresolver.TemplateLoader; import org.apache.freemarker.core.templateresolver.TemplateLoaderSession; import org.apache.freemarker.core.templateresolver.TemplateLoadingResult; @@ -40,8 +40,9 @@ import org.apache.freemarker.core.util._StringUtil; * A {@link TemplateLoader} that uses a {@link Map} with {@code String} as its source of templates. This is similar to * {@link StringTemplateLoader}, but uses {@code String} instead of {@link String}; see more details there. * - * <p>Note that {@link StringTemplateLoader} can't be used with a distributed (cluster-wide) {@link CacheStorage}, - * as it produces {@link TemplateLoadingSource}-s that deliberately throw exception on serialization (because the + * <p>Note that {@link StringTemplateLoader} can't be used with a distributed (cluster-wide) + * {@link Configuration#getTemplateCacheStorage()} templateCacheStorage}, as it produces + * {@link TemplateLoadingSource}-s that deliberately throw exception on serialization (because the * content is only accessible within a single JVM, and is also volatile). */ // TODO JUnit tests http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a93023c7/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java index b6eea51..bef7142 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java @@ -32,7 +32,7 @@ import org.apache.freemarker.core.templateresolver.CacheStorageWithGetSize; * it was passed, therefore prevents the cache from being purged during garbage collection. This class is always * thread-safe since 2.3.24, before that if we are running on Java 5 or later. * - * @see Configuration#getCacheStorage() + * @see Configuration#getTemplateCacheStorage() */ public class StrongCacheStorage implements CacheStorage, CacheStorageWithGetSize {
