diff --git a/README.md b/README.md
index 4fba8fc..da9b59e 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,7 @@ Spring Configuration
-
+
Localization Support
---------------
@@ -72,8 +72,55 @@ Localization Support
+
+Spring Boot 3 - Configuration
+-------------
+Once you have a spring boot 3 web application running, register the mustache spring view dependency via the pom.xml:
+```
+
+ com.github.sps.mustache
+ mustache-spring-view
+ 1.5-SNAPSHOT
+
+```
+Create the localization implementation for mustache i18n lambda
+```
+public class LocalizationMessageInterceptor extends MustacheLocalizationMessageInterceptor {
+ public LocalizationMessageInterceptor() {
+ }
+
+ protected Object createHelper(final HttpServletRequest request) {
+ return new Mustache.Lambda() {
+ public void execute(Template.Fragment frag, Writer out) throws IOException {
+ LocalizationMessageInterceptor.this.localize(request, frag.execute(), out);
+ }
+ };
+ }
+}
+```
+Register the localization implementation
+```
+@Component
+public class InterceptorRegistration implements WebMvcConfigurer {
+ @Autowired
+ LocalizationMessageInterceptor localizationMessageInterceptor;
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(localizationMessageInterceptor);
+ }
+}
+```
+Ensure to add your `messages.properties` files in your application.yaml:
+```
+spring:
+ messages:
+ basename: "messages.error.messages,messages.business.messages"
+```
+This means: having a directory `messages` containing `error` and `business` directory, having messages bundle within it (messages.properties messages_uk.
+properties etc)
+
Thanks
---------------
-Thanks to [Eric White](https://github.com/ericdwhite) for [forking](https://github.com/ericdwhite/mustache.java-spring-webmvc/) this code base and providing the mustache.java implementation.
+Thanks to [Eric White](https://github.com/ericdwhite) for [forking](https://github.com/ericdwhite/mustache.java-spring-webmvc/) this code base and providing the mustache.java implementation.
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 072e15c..f60ac97 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,12 +34,12 @@
- 4.0.3.RELEASE
- 1.9
- 0.8.14
- 1.9.0
- 4.11
- 1.5
+ 6.0.2
+ 1.15
+ 0.9.10
+ 4.9.0
+ 4.13.2
+ 17
@@ -56,7 +56,7 @@
maven-compiler-plugin
- 2.3.2
+ 3.10.1
${jdk.version}
${jdk.version}
@@ -80,27 +80,48 @@
+
+
+
+
+
+
+
+
- org.codehaus.mojo
- findbugs-maven-plugin
- 3.0.4
-
- Max
- Default
- true
-
-
-
-
- check
-
-
-
+ com.github.spotbugs
+ spotbugs-maven-plugin
+ 4.7.3.0
+
+
+
+ com.github.spotbugs
+ spotbugs
+ 4.7.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
org.jacoco
jacoco-maven-plugin
- 0.7.0.201403182114
+ 0.8.8
default-prepare-agent
@@ -122,11 +143,11 @@
-
+
BUNDLE
-
+
COMPLEXITY
COVEREDRATIO
@@ -201,14 +222,14 @@
provided
-
- javax.servlet
- servlet-api
- 2.4
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
provided
+
junit
junit
@@ -230,4 +251,4 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/i18n/MustacheLocalizationMessageInterceptor.java b/src/main/java/org/springframework/web/servlet/i18n/MustacheLocalizationMessageInterceptor.java
index c8db26e..dd78e1a 100644
--- a/src/main/java/org/springframework/web/servlet/i18n/MustacheLocalizationMessageInterceptor.java
+++ b/src/main/java/org/springframework/web/servlet/i18n/MustacheLocalizationMessageInterceptor.java
@@ -1,12 +1,12 @@
/*
* Copyright 2012 the original author or authors.
- *
+ *
* 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
@@ -15,14 +15,14 @@
*/
package org.springframework.web.servlet.i18n;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.springframework.context.MessageSource;
import org.springframework.context.MessageSourceAware;
+import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
@@ -37,25 +37,19 @@
*
* e.g. {{#i18n}}labels.global.mustache [arg1]...[argN]{{/i18n}}
*/
-public abstract class MustacheLocalizationMessageInterceptor extends HandlerInterceptorAdapter implements
- MessageSourceAware {
-
+public abstract class MustacheLocalizationMessageInterceptor implements HandlerInterceptor, MessageSourceAware {
/**
* Default key to be used in message templates.
*
* e.g. {{i18n}}internationalize.this.key.please{{/i18n}}
*/
public static final String DEFAULT_MODEL_KEY = "i18n";
-
private static final Pattern KEY_PATTERN = Pattern.compile("(.*?)[\\s\\[]");
private static final Pattern ARGS_PATTERN = Pattern.compile("\\[(.*?)\\]");
-
private String messageKey = DEFAULT_MODEL_KEY;
-
private MessageSource messageSource;
private LocaleResolver localeResolver;
-
protected final void localize(final HttpServletRequest request, String frag, Writer out) throws IOException {
final Locale locale = localeResolver.resolveLocale(request);
final String key = extractKey(frag);
@@ -66,19 +60,13 @@ protected final void localize(final HttpServletRequest request, String frag, Wri
protected abstract Object createHelper(final HttpServletRequest request);
- @Override
- public void postHandle(final HttpServletRequest request, final HttpServletResponse response,
- final Object handler,
- final ModelAndView modelAndView) throws Exception {
+ public void postHandle(final HttpServletRequest request, final HttpServletResponse response, final Object handler, final ModelAndView modelAndView) throws Exception {
if (modelAndView != null) {
modelAndView.addObject(messageKey, createHelper(request));
}
-
- super.postHandle(request, response, handler, modelAndView);
}
-
/**
* Split key from (optional) arguments.
*
@@ -90,7 +78,6 @@ private String extractKey(String key) {
if (matcher.find()) {
return matcher.group(1);
}
-
return key;
}
@@ -132,6 +119,4 @@ public void setMessageSource(MessageSource messageSource) {
public void setLocaleResolver(LocaleResolver localeResolver) {
this.localeResolver = localeResolver;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/MustacheView.java b/src/main/java/org/springframework/web/servlet/view/mustache/MustacheView.java
index b9c5cb3..c0ac9b8 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/MustacheView.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/MustacheView.java
@@ -15,11 +15,8 @@
*/
package org.springframework.web.servlet.view.mustache;
-import com.samskivert.mustache.Template;
import org.springframework.web.servlet.view.AbstractTemplateView;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.io.Writer;
import java.util.Map;
@@ -27,13 +24,9 @@
* @author Sean Scanlon
*/
public class MustacheView extends AbstractTemplateView {
-
private MustacheTemplate template;
- @Override
- protected void renderMergedTemplateModel(Map model, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
-
+ protected void renderMergedTemplateModel(Map model, final jakarta.servlet.http.HttpServletRequest request, final jakarta.servlet.http.HttpServletResponse response) throws Exception {
response.setContentType(getContentType());
final Writer writer = response.getWriter();
template.execute(model, writer);
@@ -47,4 +40,5 @@ public void setTemplate(MustacheTemplate template) {
public MustacheTemplate getTemplate() {
return template;
}
-}
+
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/MustacheViewResolver.java b/src/main/java/org/springframework/web/servlet/view/mustache/MustacheViewResolver.java
index d2aa424..e8f3e50 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/MustacheViewResolver.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/MustacheViewResolver.java
@@ -15,7 +15,6 @@
*/
package org.springframework.web.servlet.view.mustache;
-import org.springframework.beans.factory.annotation.Required;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.view.AbstractTemplateViewResolver;
import org.springframework.web.servlet.view.AbstractUrlBasedView;
@@ -25,9 +24,10 @@
*/
public class MustacheViewResolver extends AbstractTemplateViewResolver implements ViewResolver {
- private MustacheTemplateFactory templateFactory;
+ private final MustacheTemplateFactory templateFactory;
- public MustacheViewResolver() {
+ public MustacheViewResolver(final MustacheTemplateFactory templateFactory) {
+ this.templateFactory = templateFactory;
setViewClass(MustacheView.class);
}
@@ -47,8 +47,4 @@ protected AbstractUrlBasedView buildView(String viewName) throws Exception {
return view;
}
- @Required
- public void setTemplateFactory(MustacheTemplateFactory templateFactory) {
- this.templateFactory = templateFactory;
- }
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptor.java b/src/main/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptor.java
index e59231c..bd28261 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptor.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptor.java
@@ -15,13 +15,12 @@
*/
package org.springframework.web.servlet.view.mustache.java;
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.servlet.i18n.MustacheLocalizationMessageInterceptor;
-import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.StringWriter;
+import java.util.function.Function;
/**
* @author Sean Scanlon
@@ -30,16 +29,14 @@ public class LocalizationMessageInterceptor extends MustacheLocalizationMessageI
@Override
protected Object createHelper(final HttpServletRequest request) {
- return new Function() {
- public String apply(String input) {
- final StringWriter out = new StringWriter();
- try {
- localize(request, input, out);
- } catch (IOException e) {
- Throwables.propagate(e);
- }
- return out.toString();
+ return (Function) input -> {
+ final StringWriter out = new StringWriter();
+ try {
+ localize(request, input, out);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
}
+ return out.toString();
};
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactory.java b/src/main/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactory.java
index 37639b4..bcc76ee 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactory.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactory.java
@@ -1,12 +1,12 @@
/*
* Copyright 2011-2014 the original author or authors.
- *
+ *
* 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
@@ -27,8 +27,8 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.util.Objects;
-import static com.google.common.base.Objects.firstNonNull;
import static java.lang.System.getProperty;
/**
@@ -46,7 +46,7 @@ public class MustacheJTemplateFactory extends DefaultMustacheFactory implements
private ResourceLoader resourceLoader;
private String prefix = "";
- private String encoding = firstNonNull(getProperty("mustache.template.encoding"), "UTF-8");
+ private String encoding = Objects.requireNonNullElse(getProperty("mustache.template.encoding"), "UTF-8");
public void setSuffix(String suffix) {
@@ -109,4 +109,4 @@ private String getFullyQualifiedResourceName(String resourceName) {
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactory.java b/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactory.java
index 704f884..2632ceb 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactory.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactory.java
@@ -17,7 +17,6 @@
import com.samskivert.mustache.Mustache;
import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.annotation.Required;
import org.springframework.web.servlet.view.mustache.MustacheTemplate;
import org.springframework.web.servlet.view.mustache.MustacheTemplateException;
import org.springframework.web.servlet.view.mustache.MustacheTemplateFactory;
@@ -68,7 +67,6 @@ public void setSuffix(String suffix) {
this.suffix = suffix;
}
- @Required
public void setTemplateLoader(JMustacheTemplateLoader templateLoader) {
this.templateLoader = templateLoader;
}
@@ -101,4 +99,4 @@ public void setCompiler(Mustache.Compiler compiler) {
this.compiler = compiler;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoader.java b/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoader.java
index 3238182..260b9a6 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoader.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoader.java
@@ -27,12 +27,14 @@
public class JMustacheTemplateLoader implements Mustache.TemplateLoader, ResourceLoaderAware {
- private ResourceLoader resourceLoader;
+ private final ResourceLoader resourceLoader;
private String prefix = "";
private String suffix = "";
+ public JMustacheTemplateLoader(final ResourceLoader resourceLoader) {this.resourceLoader = resourceLoader;}
+
public void setPrefix(String prefix) {
this.prefix = prefix;
}
@@ -56,8 +58,7 @@ public Reader getTemplate(String filename) throws Exception {
throw new FileNotFoundException(filename);
}
-
- public void setResourceLoader(ResourceLoader resourceLoader) {
- this.resourceLoader = resourceLoader;
+ @Override
+ public void setResourceLoader(final ResourceLoader resourceLoader) {
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptor.java b/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptor.java
index cd335bf..c7f8907 100644
--- a/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptor.java
+++ b/src/main/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptor.java
@@ -17,9 +17,9 @@
import com.samskivert.mustache.Mustache;
import com.samskivert.mustache.Template;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.servlet.i18n.MustacheLocalizationMessageInterceptor;
-import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.Writer;
@@ -36,4 +36,4 @@ public void execute(Template.Fragment frag, Writer out) throws IOException {
}
};
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewResolverTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewResolverTest.java
index c4eb51a..098b1ed 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewResolverTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewResolverTest.java
@@ -19,7 +19,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.doReturn;
@@ -43,8 +43,7 @@ public class MustacheViewResolverTest {
@Before
public void setUp() throws Exception {
- viewResolver = new MustacheViewResolver();
- viewResolver.setTemplateFactory(templateFactory);
+ viewResolver = new MustacheViewResolver(templateFactory);
}
@Test
@@ -57,4 +56,4 @@ public void testBuildView() throws Exception {
verify(templateFactory).getTemplate(viewName);
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewTest.java
index 61550e5..324c3df 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/MustacheViewTest.java
@@ -15,13 +15,13 @@
*/
package org.springframework.web.servlet.view.mustache;
+import jakarta.servlet.http.HttpServletResponse;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
-import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.Map;
@@ -68,4 +68,4 @@ public void testRenderMergedTemplateModel() throws Exception {
assertEquals(template, view.getTemplate());
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptorTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptorTest.java
index 901222e..9683a05 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptorTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/java/LocalizationMessageInterceptorTest.java
@@ -3,7 +3,8 @@
*/
package org.springframework.web.servlet.view.mustache.java;
-import com.google.common.base.Function;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -11,12 +12,11 @@
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ModelAndView;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.util.Locale;
+import java.util.function.Function;
import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.eq;
+
import static org.mockito.Mockito.*;
/**
@@ -78,4 +78,4 @@ public void test() throws Exception {
verifyNoMoreInteractions(messageSource);
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactoryTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactoryTest.java
index 5174360..018e6d9 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactoryTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateFactoryTest.java
@@ -21,7 +21,7 @@
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
@@ -87,7 +87,7 @@ public void testResourceFound() throws Exception {
.when(resource)
.getInputStream();
- doReturn(TEST_TEMPLATE.getFile()).when(resource).getFile();
+// doReturn(TEST_TEMPLATE.getFile()).when(resource).getFile();
assertNotNull(templateFactory.getTemplate("test_template"));
assertEquals(templateNameCaptor.getValue(), "prefix/test_template");
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateTest.java
index 6465d06..3d8a0f2 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/java/MustacheJTemplateTest.java
@@ -5,7 +5,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import java.io.Writer;
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactoryTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactoryTest.java
index 81dea1f..4bcfec6 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactoryTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateFactoryTest.java
@@ -5,7 +5,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.web.servlet.view.mustache.MustacheTemplateException;
import java.io.FileNotFoundException;
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoaderTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoaderTest.java
index 41d0401..667ea33 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoaderTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateLoaderTest.java
@@ -48,7 +48,7 @@ public void setUp() throws Exception {
resourceLoader = Mockito.mock(ResourceLoader.class);
Mockito.doReturn(resource).when(resourceLoader).getResource(templateNameCaptor.capture());
- loader = new JMustacheTemplateLoader();
+ loader = new JMustacheTemplateLoader(resourceLoader);
loader.setResourceLoader(resourceLoader);
}
@@ -77,4 +77,4 @@ public void testResourceFound() throws Exception {
assertEquals(templateNameCaptor.getValue(), "prefix/test_template.suffix");
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateTest.java
index 292433e..dd66a2b 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/JMustacheTemplateTest.java
@@ -20,7 +20,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import java.io.Writer;
diff --git a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptorTest.java b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptorTest.java
index e96eb8a..6fe0326 100644
--- a/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptorTest.java
+++ b/src/test/java/org/springframework/web/servlet/view/mustache/jmustache/LocalizationMessageInterceptorTest.java
@@ -6,6 +6,8 @@
import com.samskivert.mustache.Mustache;
import com.samskivert.mustache.Mustache.Lambda;
import com.samskivert.mustache.Template;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -13,13 +15,11 @@
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ModelAndView;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.io.Writer;
import java.util.Locale;
import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.eq;
+
import static org.mockito.Mockito.*;
/**
@@ -89,4 +89,4 @@ public void test() throws Exception {
verifyNoMoreInteractions(messageSource);
}
-}
+}
\ No newline at end of file