Repository: incubator-freemarker
Updated Branches:
  refs/heads/3 9b31510bb -> 52d114257


FREEMARKER-55: remove unnecessary exposures and package name change.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/519680ac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/519680ac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/519680ac

Branch: refs/heads/3
Commit: 519680accbb42aaf48eda1e656008249559d0ae8
Parents: 18e9399
Author: Woonsan Ko <woon...@apache.org>
Authored: Wed Jul 5 13:54:01 2017 -0400
Committer: Woonsan Ko <woon...@apache.org>
Committed: Wed Jul 5 13:54:01 2017 -0400

----------------------------------------------------------------------
 .../spring/SpringResourceTemplateLoader.java    | 168 +++++++++++++++++++
 .../SpringResourceTemplateLoader.java           | 168 -------------------
 .../spring/web/view/FreemarkerViewResolver.java |  32 ----
 .../SpringResourceTemplateLoaderTest.java       |   1 +
 .../spring/web/view/FreemarkerViewTest.java     |  24 ++-
 5 files changed, 188 insertions(+), 205 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/519680ac/freemarker-spring/src/main/java/org/apache/freemarker/spring/SpringResourceTemplateLoader.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/SpringResourceTemplateLoader.java
 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/SpringResourceTemplateLoader.java
new file mode 100644
index 0000000..2607e57
--- /dev/null
+++ 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/SpringResourceTemplateLoader.java
@@ -0,0 +1,168 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+package org.apache.freemarker.spring;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Objects;
+
+import org.apache.freemarker.core.templateresolver.TemplateLoader;
+import org.apache.freemarker.core.templateresolver.TemplateLoaderSession;
+import org.apache.freemarker.core.templateresolver.TemplateLoadingResult;
+import org.apache.freemarker.core.templateresolver.TemplateLoadingSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ResourceLoaderAware;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.ResourceLoader;
+
+/**
+ * A {@link TemplateLoader} that uses Spring Framework <code>Resource</code>s 
which are resolved by locations.
+ */
+public class SpringResourceTemplateLoader implements TemplateLoader, 
ResourceLoaderAware {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(SpringResourceTemplateLoader.class);
+
+    /**
+     * Base template resource location.
+     * <P>
+     * If this property is a non-null string, this is prepended to the 
template name internally when resolving
+     * a resource.
+     * </P>
+     */
+    private String baseLocation;
+
+    /**
+     * Spring Framework resource loader.
+     */
+    private ResourceLoader resourceLoader;
+
+    /**
+     * Base resource location which can be prepended to the template name 
internally when resolving a resource.
+     * @return
+     */
+    public String getBaseLocation() {
+        return baseLocation;
+    }
+
+    /**
+     * Set base resource location which can be prepended to the template name 
internally when resolving a resource.
+     * @param baseLocation
+     */
+    public void setBaseLocation(String baseLocation) {
+        this.baseLocation = baseLocation;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void setResourceLoader(ResourceLoader resourceLoader) {
+        this.resourceLoader = resourceLoader;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public TemplateLoaderSession createSession() {
+        return null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public TemplateLoadingResult load(String name, TemplateLoadingSource 
ifSourceDiffersFrom,
+            Serializable ifVersionDiffersFrom, TemplateLoaderSession session) 
throws IOException {
+        if (resourceLoader == null) {
+            throw new IllegalStateException("Spring Framework ResourceLoader 
was not set.");
+        }
+
+        String resourceLocation;
+
+        if (baseLocation == null) {
+            resourceLocation = name;
+        } else {
+            resourceLocation = baseLocation + "/" + name;
+        }
+
+        Resource resource = resourceLoader.getResource(resourceLocation);
+
+        if (!resource.exists()) {
+            return TemplateLoadingResult.NOT_FOUND;
+        }
+
+        ResourceTemplateLoadingSource source = new 
ResourceTemplateLoadingSource(resource);
+
+        Long version = null;
+
+        try {
+            long lmd = resource.lastModified();
+            if (lmd != -1) {
+                version = lmd;
+            }
+        } catch (IOException e) {
+            LOG.debug("The last modified timestamp of the resource at '{}' may 
not be resolved.", resourceLocation, e);
+        }
+
+        if (ifSourceDiffersFrom != null && ifSourceDiffersFrom.equals(source)
+                && Objects.equals(ifVersionDiffersFrom, version)) {
+            return TemplateLoadingResult.NOT_MODIFIED;
+        }
+
+        return new TemplateLoadingResult(source, version, 
resource.getInputStream(), null);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void resetState() {
+        // Does nothing
+    }
+
+    @SuppressWarnings("serial")
+    private static class ResourceTemplateLoadingSource implements 
TemplateLoadingSource {
+
+        private final Resource resource;
+
+        ResourceTemplateLoadingSource(Resource resource) {
+            this.resource = resource;
+        }
+
+        @Override
+        public int hashCode() {
+            return resource.hashCode();
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (this == obj)
+                return true;
+            if (obj == null)
+                return false;
+            if (getClass() != obj.getClass())
+                return false;
+            return resource.equals(((ResourceTemplateLoadingSource) 
obj).resource);
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/519680ac/freemarker-spring/src/main/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoader.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoader.java
 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoader.java
deleted file mode 100644
index e91fd68..0000000
--- 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoader.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.freemarker.spring.templateresolver;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Objects;
-
-import org.apache.freemarker.core.templateresolver.TemplateLoader;
-import org.apache.freemarker.core.templateresolver.TemplateLoaderSession;
-import org.apache.freemarker.core.templateresolver.TemplateLoadingResult;
-import org.apache.freemarker.core.templateresolver.TemplateLoadingSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.ResourceLoaderAware;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.ResourceLoader;
-
-/**
- * A {@link TemplateLoader} that uses Spring Framework <code>Resource</code>s 
which are resolved by locations.
- */
-public class SpringResourceTemplateLoader implements TemplateLoader, 
ResourceLoaderAware {
-
-    private static final Logger LOG = 
LoggerFactory.getLogger(SpringResourceTemplateLoader.class);
-
-    /**
-     * Base template resource location.
-     * <P>
-     * If this property is a non-null string, this is prepended to the 
template name internally when resolving
-     * a resource.
-     * </P>
-     */
-    private String baseLocation;
-
-    /**
-     * Spring Framework resource loader.
-     */
-    private ResourceLoader resourceLoader;
-
-    /**
-     * Base resource location which can be prepended to the template name 
internally when resolving a resource.
-     * @return
-     */
-    public String getBaseLocation() {
-        return baseLocation;
-    }
-
-    /**
-     * Set base resource location which can be prepended to the template name 
internally when resolving a resource.
-     * @param baseLocation
-     */
-    public void setBaseLocation(String baseLocation) {
-        this.baseLocation = baseLocation;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setResourceLoader(ResourceLoader resourceLoader) {
-        this.resourceLoader = resourceLoader;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public TemplateLoaderSession createSession() {
-        return null;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public TemplateLoadingResult load(String name, TemplateLoadingSource 
ifSourceDiffersFrom,
-            Serializable ifVersionDiffersFrom, TemplateLoaderSession session) 
throws IOException {
-        if (resourceLoader == null) {
-            throw new IllegalStateException("Spring Framework ResourceLoader 
was not set.");
-        }
-
-        String resourceLocation;
-
-        if (baseLocation == null) {
-            resourceLocation = name;
-        } else {
-            resourceLocation = baseLocation + "/" + name;
-        }
-
-        Resource resource = resourceLoader.getResource(resourceLocation);
-
-        if (!resource.exists()) {
-            return TemplateLoadingResult.NOT_FOUND;
-        }
-
-        ResourceTemplateLoadingSource source = new 
ResourceTemplateLoadingSource(resource);
-
-        Long version = null;
-
-        try {
-            long lmd = resource.lastModified();
-            if (lmd != -1) {
-                version = lmd;
-            }
-        } catch (IOException e) {
-            LOG.debug("The last modified timestamp of the resource at '{}' may 
not be resolved.", resourceLocation, e);
-        }
-
-        if (ifSourceDiffersFrom != null && ifSourceDiffersFrom.equals(source)
-                && Objects.equals(ifVersionDiffersFrom, version)) {
-            return TemplateLoadingResult.NOT_MODIFIED;
-        }
-
-        return new TemplateLoadingResult(source, version, 
resource.getInputStream(), null);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void resetState() {
-        // Does nothing
-    }
-
-    @SuppressWarnings("serial")
-    private static class ResourceTemplateLoadingSource implements 
TemplateLoadingSource {
-
-        private final Resource resource;
-
-        ResourceTemplateLoadingSource(Resource resource) {
-            this.resource = resource;
-        }
-
-        @Override
-        public int hashCode() {
-            return resource.hashCode();
-        }
-
-        @Override
-        public boolean equals(Object obj) {
-            if (this == obj)
-                return true;
-            if (obj == null)
-                return false;
-            if (getClass() != obj.getClass())
-                return false;
-            return resource.equals(((ResourceTemplateLoadingSource) 
obj).resource);
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/519680ac/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/FreemarkerViewResolver.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/FreemarkerViewResolver.java
 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/FreemarkerViewResolver.java
index 57e6c4c..c3f87a9 100644
--- 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/FreemarkerViewResolver.java
+++ 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/FreemarkerViewResolver.java
@@ -147,36 +147,4 @@ public class FreemarkerViewResolver extends 
AbstractTemplateViewResolver impleme
         return view;
     }
 
-    /**
-     * Get {@link ObjectWrapperAndUnwrapper} that is used in model building.
-     * @return {@link ObjectWrapperAndUnwrapper} that is used in model building
-     */
-    protected ObjectWrapperAndUnwrapper getObjectWrapper() {
-        return objectWrapper;
-    }
-
-    /**
-     * Get {@link GenericServlet} instance which is a page object in JSP tag 
library usages.
-     * @return {@link GenericServlet} instance which is a page object in JSP 
tag library usages
-     */
-    protected GenericServlet getPageContextServlet() {
-        return pageContextServlet;
-    }
-
-    /**
-     * Get {@link ServletContextHashModel} instance by which templates can 
access servlet context attributes.
-     * @return {@link ServletContextHashModel} instance by which templates can 
access servlet context attributes
-     */
-    protected ServletContextHashModel getServletContextModel() {
-        return servletContextModel;
-    }
-
-    /**
-     * Get {@link TaglibFactory} instance by which templates can use JSP tag 
libraries.
-     * @return {@link TaglibFactory} instance by which templates can use JSP 
tag libraries.
-     */
-    protected TaglibFactory getTaglibFactory() {
-        return taglibFactory;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/519680ac/freemarker-spring/src/test/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoaderTest.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/test/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoaderTest.java
 
b/freemarker-spring/src/test/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoaderTest.java
index bcf014a..30c7ed7 100644
--- 
a/freemarker-spring/src/test/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoaderTest.java
+++ 
b/freemarker-spring/src/test/java/org/apache/freemarker/spring/templateresolver/SpringResourceTemplateLoaderTest.java
@@ -28,6 +28,7 @@ import java.io.IOException;
 
 import org.apache.freemarker.core.Configuration;
 import org.apache.freemarker.core.TemplateNotFoundException;
+import org.apache.freemarker.spring.SpringResourceTemplateLoader;
 import org.apache.freemarker.test.TestConfigurationBuilder;
 import org.junit.After;
 import org.junit.Before;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/519680ac/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreemarkerViewTest.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreemarkerViewTest.java
 
b/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreemarkerViewTest.java
index 32862c5..093472c 100644
--- 
a/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreemarkerViewTest.java
+++ 
b/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreemarkerViewTest.java
@@ -24,10 +24,15 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicLong;
 
+import javax.servlet.GenericServlet;
 import javax.servlet.ServletContext;
 
 import org.apache.freemarker.core.Configuration;
+import org.apache.freemarker.core.model.ObjectWrapperAndUnwrapper;
 import org.apache.freemarker.core.templateresolver.impl.StringTemplateLoader;
+import org.apache.freemarker.servlet.ServletContextHashModel;
+import org.apache.freemarker.servlet.jsp.TaglibFactory;
+import org.apache.freemarker.servlet.jsp.TaglibFactoryBuilder;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -44,6 +49,10 @@ public class FreemarkerViewTest {
 
     private StringTemplateLoader templateLoader;
     private Configuration configuration;
+    private ObjectWrapperAndUnwrapper objectWrapper;
+
+    private GenericServlet pageContextServlet;
+    private TaglibFactory taglibFactory;
 
     private FreemarkerViewResolver viewResolver;
 
@@ -60,6 +69,11 @@ public class FreemarkerViewTest {
         templateLoader = new StringTemplateLoader();
         configuration = new 
Configuration.Builder(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS)
                 .templateLoader(templateLoader).build();
+        objectWrapper = (ObjectWrapperAndUnwrapper) 
configuration.getObjectWrapper();
+
+        pageContextServlet = new PageContextServlet();
+        pageContextServlet.init(new PageContextServletConfig(servletContext, 
PageContextServlet.class.getSimpleName()));
+        taglibFactory = new TaglibFactoryBuilder(servletContext, 
objectWrapper).build();
 
         viewResolver = new FreemarkerViewResolver();
         viewResolver.setServletContext(servletContext);
@@ -144,17 +158,17 @@ public class FreemarkerViewTest {
         assertEquals("Hello!", response.getContentAsString());
     }
 
-    private FreemarkerView createFreemarkerView(final String name) {
+    private FreemarkerView createFreemarkerView(final String name) throws 
Exception {
         FreemarkerView view = new FreemarkerView();
 
         view.setServletContext(servletContext);
         view.setApplicationContext(applicationContext);
         view.setConfiguration(configuration);
-        view.setObjectWrapper(viewResolver.getObjectWrapper());
+        view.setObjectWrapper(objectWrapper);
 
-        view.setPageContextServlet(viewResolver.getPageContextServlet());
-        view.setServletContextModel(viewResolver.getServletContextModel());
-        view.setTaglibFactory(viewResolver.getTaglibFactory());
+        view.setPageContextServlet(pageContextServlet);
+        view.setServletContextModel(new 
ServletContextHashModel(pageContextServlet, objectWrapper));
+        view.setTaglibFactory(taglibFactory);
 
         view.setUrl(name);
 

Reply via email to