Skip to content
This repository was archived by the owner on Dec 15, 2018. It is now read-only.

Commit 64bdf55

Browse files
authored
Implementation of ViewEngineContext#getLocale() (#184)
1 parent 6b579c2 commit 64bdf55

File tree

4 files changed

+30
-15
lines changed

4 files changed

+30
-15
lines changed

core/src/main/java/org/mvcspec/ozark/core/ViewableWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public void writeTo(Viewable viewable, Class<?> aClass, Type type, Annotation[]
163163

164164
// Process view using selected engine
165165
engine.processView(new ViewEngineContextImpl(viewable.getView(), models, request, responseWrapper,
166-
headers, responseStream, mediaType, uriInfo, resourceInfo, config));
166+
headers, responseStream, mediaType, uriInfo, resourceInfo, config, mvc.getLocale()));
167167

168168
// Fire AfterProcessView event
169169
if (OzarkCdiExtension.isEventObserved(AfterProcessViewEvent.class)) {

core/src/main/java/org/mvcspec/ozark/engine/ViewEngineContextImpl.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import javax.ws.rs.core.MultivaluedMap;
2424
import javax.ws.rs.core.UriInfo;
2525
import java.io.OutputStream;
26+
import java.util.Locale;
2627

2728
/**
2829
* Implementation of {@link javax.mvc.engine.ViewEngineContext}. Provides all the information
@@ -52,6 +53,8 @@ public class ViewEngineContextImpl implements ViewEngineContext {
5253

5354
private final Configuration configuration;
5455

56+
private final Locale locale;
57+
5558
/**
5659
* Constructor for view engine contexts.
5760
*
@@ -65,11 +68,12 @@ public class ViewEngineContextImpl implements ViewEngineContext {
6568
* @param uriInfo URI info about the request.
6669
* @param resourceInfo Resource matched info.
6770
* @param configuration the configuration.
71+
* @param locale the request locale
6872
*/
6973
public ViewEngineContextImpl(String view, Models models, Object request, Object response,
7074
MultivaluedMap<String, Object> responseHeaders, OutputStream outputStream,
7175
MediaType mediaType, UriInfo uriInfo, ResourceInfo resourceInfo,
72-
Configuration configuration) {
76+
Configuration configuration, Locale locale) {
7377
this.view = view;
7478
this.models = models;
7579
this.request = request;
@@ -80,6 +84,7 @@ public ViewEngineContextImpl(String view, Models models, Object request, Object
8084
this.uriInfo = uriInfo;
8185
this.resourceInfo = resourceInfo;
8286
this.configuration = configuration;
87+
this.locale = locale;
8388
}
8489

8590
@Override
@@ -92,6 +97,11 @@ public Models getModels() {
9297
return models;
9398
}
9499

100+
@Override
101+
public Locale getLocale() {
102+
return locale;
103+
}
104+
95105
@Override
96106
public <T> T getRequest(Class<T> type) {
97107
return type.cast(request);

core/src/test/java/org/mvcspec/ozark/core/ViewableWriterTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.mvcspec.ozark.core;
1717

1818
import org.easymock.EasyMock;
19+
import org.mvcspec.ozark.MvcContextImpl;
1920
import org.mvcspec.ozark.engine.ViewEngineFinder;
2021
import org.junit.Test;
2122

@@ -77,6 +78,10 @@ public void testGetSize() {
7778
public void testWriteTo() throws Exception {
7879
ViewableWriter writer = new ViewableWriter();
7980

81+
Field mvcField = writer.getClass().getDeclaredField("mvc");
82+
mvcField.setAccessible(true);
83+
mvcField.set(writer, new MvcContextImpl());
84+
8085
ViewEngineFinder finder = EasyMock.createStrictMock(ViewEngineFinder.class);
8186
Field finderField = writer.getClass().getDeclaredField("engineFinder");
8287
finderField.setAccessible(true);

core/src/test/java/org/mvcspec/ozark/engine/ViewEngineContextImplTest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class ViewEngineContextImplTest {
3939
*/
4040
@Test
4141
public void testGetView() {
42-
ViewEngineContextImpl context = new ViewEngineContextImpl("view", null, null, null, null, null, null, null, null, null);
42+
ViewEngineContextImpl context = new ViewEngineContextImpl("view", null, null, null, null, null, null, null, null, null, null);
4343
assertEquals("view", context.getView());
4444
}
4545

@@ -48,9 +48,9 @@ public void testGetView() {
4848
*/
4949
@Test
5050
public void testGetModels() {
51-
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null);
51+
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null, null);
5252
assertNull(context.getModels());
53-
context = new ViewEngineContextImpl(null, new ModelsImpl(), null, null, null, null, null, null, null, null);
53+
context = new ViewEngineContextImpl(null, new ModelsImpl(), null, null, null, null, null, null, null, null, null);
5454
assertNotNull(context.getModels());
5555
}
5656

@@ -59,11 +59,11 @@ public void testGetModels() {
5959
*/
6060
@Test
6161
public void testGetRequest() {
62-
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null);
62+
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null, null);
6363
assertNull(context.getRequest(Object.class));
6464
HttpServletRequest request = EasyMock.createMock(HttpServletRequest.class);
6565
replay(request);
66-
context = new ViewEngineContextImpl(null, null, request, null, null, null, null, null, null, null);
66+
context = new ViewEngineContextImpl(null, null, request, null, null, null, null, null, null, null, null);
6767
assertNotNull(context.getRequest(Object.class));
6868
verify(request);
6969
}
@@ -73,11 +73,11 @@ public void testGetRequest() {
7373
*/
7474
@Test
7575
public void testGetResponse() {
76-
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null);
76+
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null, null);
7777
assertNull(context.getResponse(Object.class));
7878
HttpServletResponse response = EasyMock.createMock(HttpServletResponse.class);
7979
replay(response);
80-
context = new ViewEngineContextImpl(null, null, null, response, null, null, null, null, null, null);
80+
context = new ViewEngineContextImpl(null, null, null, response, null, null, null, null, null, null, null);
8181
assertNotNull(context.getResponse(Object.class));
8282
verify(response);
8383
}
@@ -87,11 +87,11 @@ public void testGetResponse() {
8787
*/
8888
@Test
8989
public void testGetUriInfo() {
90-
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null);
90+
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null, null);
9191
assertNull(context.getUriInfo());
9292
UriInfo uriInfo = EasyMock.createMock(UriInfo.class);
9393
replay(uriInfo);
94-
context = new ViewEngineContextImpl(null, null, null, null, null, null, null, uriInfo, null, null);
94+
context = new ViewEngineContextImpl(null, null, null, null, null, null, null, uriInfo, null, null, null);
9595
assertNotNull(context.getUriInfo());
9696
verify(uriInfo);
9797
}
@@ -101,11 +101,11 @@ public void testGetUriInfo() {
101101
*/
102102
@Test
103103
public void testGetResourceInfo() {
104-
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null);
104+
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null, null);
105105
assertNull(context.getResourceInfo());
106106
ResourceInfo resourceInfo = EasyMock.createMock(ResourceInfo.class);
107107
replay(resourceInfo);
108-
context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, resourceInfo, null);
108+
context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, resourceInfo, null, null);
109109
assertNotNull(context.getResourceInfo());
110110
verify(resourceInfo);
111111
}
@@ -115,11 +115,11 @@ public void testGetResourceInfo() {
115115
*/
116116
@Test
117117
public void testGetConfiguration() {
118-
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null);
118+
ViewEngineContextImpl context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, null, null);
119119
assertNull(context.getConfiguration());
120120
Configuration config = EasyMock.createMock(Configuration.class);
121121
replay(config);
122-
context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, config);
122+
context = new ViewEngineContextImpl(null, null, null, null, null, null, null, null, null, config, null);
123123
assertNotNull(context.getConfiguration());
124124
verify(config);
125125
}

0 commit comments

Comments
 (0)