parent
6d316112a9
commit
e02f2c65c0
@ -1,31 +0,0 @@
|
|||||||
package com.xxl.job.admin.util;
|
|
||||||
|
|
||||||
import freemarker.ext.beans.BeansWrapper;
|
|
||||||
import freemarker.ext.beans.BeansWrapperBuilder;
|
|
||||||
import freemarker.template.Configuration;
|
|
||||||
import freemarker.template.TemplateHashModel;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ftl util
|
|
||||||
*
|
|
||||||
* @author xuxueli 2018-01-17 20:37:48
|
|
||||||
*/
|
|
||||||
public class FtlUtil {
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(FtlUtil.class);
|
|
||||||
|
|
||||||
private static BeansWrapper wrapper = new BeansWrapperBuilder(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).build(); //BeansWrapper.getDefaultInstance();
|
|
||||||
|
|
||||||
public static TemplateHashModel generateStaticModel(String packageName) {
|
|
||||||
try {
|
|
||||||
TemplateHashModel staticModels = wrapper.getStaticModels();
|
|
||||||
TemplateHashModel fileStatics = (TemplateHashModel) staticModels.get(packageName);
|
|
||||||
return fileStatics;
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -0,0 +1,31 @@
|
|||||||
|
//package com.xxl.job.admin.util;
|
||||||
|
//
|
||||||
|
//import freemarker.ext.beans.BeansWrapper;
|
||||||
|
//import freemarker.ext.beans.BeansWrapperBuilder;
|
||||||
|
//import freemarker.template.Configuration;
|
||||||
|
//import freemarker.template.TemplateHashModel;
|
||||||
|
//import org.slf4j.Logger;
|
||||||
|
//import org.slf4j.LoggerFactory;
|
||||||
|
//
|
||||||
|
///**
|
||||||
|
// * ftl util
|
||||||
|
// *
|
||||||
|
// * @author xuxueli 2018-01-17 20:37:48
|
||||||
|
// */
|
||||||
|
//public class FtlUtil {
|
||||||
|
// private static Logger logger = LoggerFactory.getLogger(FtlUtil.class);
|
||||||
|
//
|
||||||
|
// private static BeansWrapper wrapper = new BeansWrapperBuilder(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).build(); //BeansWrapper.getDefaultInstance();
|
||||||
|
//
|
||||||
|
// public static TemplateHashModel generateStaticModel(String packageName) {
|
||||||
|
// try {
|
||||||
|
// TemplateHashModel staticModels = wrapper.getStaticModels();
|
||||||
|
// TemplateHashModel fileStatics = (TemplateHashModel) staticModels.get(packageName);
|
||||||
|
// return fileStatics;
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// logger.error(e.getMessage(), e);
|
||||||
|
// }
|
||||||
|
// return null;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//}
|
@ -1,4 +1,4 @@
|
|||||||
package com.xxl.job.admin.web.resolver;
|
package com.xxl.job.admin.web.error;
|
||||||
|
|
||||||
import org.springframework.boot.web.server.ErrorPage;
|
import org.springframework.boot.web.server.ErrorPage;
|
||||||
import org.springframework.boot.web.server.ErrorPageRegistrar;
|
import org.springframework.boot.web.server.ErrorPageRegistrar;
|
@ -0,0 +1,51 @@
|
|||||||
|
package com.xxl.job.admin.web.interceptor;
|
||||||
|
|
||||||
|
import com.xxl.job.admin.util.I18nUtil;
|
||||||
|
import com.xxl.tool.freemarker.FtlTool;
|
||||||
|
import jakarta.servlet.http.Cookie;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.servlet.AsyncHandlerInterceptor;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* push cookies to model as cookieMap
|
||||||
|
*
|
||||||
|
* @author xuxueli 2015-12-12 18:09:04
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class CommonDataInterceptor implements WebMvcConfigurer {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInterceptors(InterceptorRegistry registry) {
|
||||||
|
registry.addInterceptor(new AsyncHandlerInterceptor() {
|
||||||
|
@Override
|
||||||
|
public void postHandle(HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Object handler,
|
||||||
|
ModelAndView modelAndView) throws Exception {
|
||||||
|
|
||||||
|
// cookie
|
||||||
|
if (modelAndView!=null && request.getCookies()!=null && request.getCookies().length>0) {
|
||||||
|
HashMap<String, Cookie> cookieMap = new HashMap<String, Cookie>();
|
||||||
|
for (Cookie ck : request.getCookies()) {
|
||||||
|
cookieMap.put(ck.getName(), ck);
|
||||||
|
}
|
||||||
|
modelAndView.addObject("cookieMap", cookieMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
// static method
|
||||||
|
if (modelAndView != null) {
|
||||||
|
modelAndView.addObject("I18nUtil", FtlTool.generateStaticModel(I18nUtil.class.getName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}).addPathPatterns("/**");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,42 +0,0 @@
|
|||||||
package com.xxl.job.admin.web.interceptor;
|
|
||||||
|
|
||||||
import com.xxl.job.admin.util.FtlUtil;
|
|
||||||
import com.xxl.job.admin.util.I18nUtil;
|
|
||||||
import jakarta.servlet.http.Cookie;
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.web.servlet.AsyncHandlerInterceptor;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* push cookies to model as cookieMap
|
|
||||||
*
|
|
||||||
* @author xuxueli 2015-12-12 18:09:04
|
|
||||||
*/
|
|
||||||
@Component
|
|
||||||
public class CookieInterceptor implements AsyncHandlerInterceptor {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
|
|
||||||
ModelAndView modelAndView) throws Exception {
|
|
||||||
|
|
||||||
// cookie
|
|
||||||
if (modelAndView!=null && request.getCookies()!=null && request.getCookies().length>0) {
|
|
||||||
HashMap<String, Cookie> cookieMap = new HashMap<String, Cookie>();
|
|
||||||
for (Cookie ck : request.getCookies()) {
|
|
||||||
cookieMap.put(ck.getName(), ck);
|
|
||||||
}
|
|
||||||
modelAndView.addObject("cookieMap", cookieMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
// static method
|
|
||||||
if (modelAndView != null) {
|
|
||||||
modelAndView.addObject("I18nUtil", FtlUtil.generateStaticModel(I18nUtil.class.getName()));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.xxl.job.admin.web.interceptor;
|
package com.xxl.job.admin.web.xxlsso;
|
||||||
|
|
||||||
import com.xxl.job.admin.annotation.PermissionLimit;
|
import com.xxl.job.admin.annotation.PermissionLimit;
|
||||||
import com.xxl.job.admin.model.XxlJobGroup;
|
import com.xxl.job.admin.model.XxlJobGroup;
|
@ -1,41 +1,41 @@
|
|||||||
package com.xxl.job.admin.core.util;
|
//package com.xxl.job.admin.core.util;
|
||||||
|
//
|
||||||
import com.xxl.job.admin.util.JacksonUtil;
|
//import com.xxl.job.admin.util.JacksonUtil;
|
||||||
import org.junit.jupiter.api.Test;
|
//import org.junit.jupiter.api.Test;
|
||||||
|
//
|
||||||
import java.util.HashMap;
|
//import java.util.HashMap;
|
||||||
import java.util.Map;
|
//import java.util.Map;
|
||||||
|
//
|
||||||
import static com.xxl.job.admin.util.JacksonUtil.writeValueAsString;
|
//import static com.xxl.job.admin.util.JacksonUtil.writeValueAsString;
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
//import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
//
|
||||||
public class JacksonUtilTest {
|
//public class JacksonUtilTest {
|
||||||
|
//
|
||||||
@Test
|
// @Test
|
||||||
public void shouldWriteValueAsString() {
|
// public void shouldWriteValueAsString() {
|
||||||
//given
|
// //given
|
||||||
Map<String, String> map = new HashMap<>();
|
// Map<String, String> map = new HashMap<>();
|
||||||
map.put("aaa", "111");
|
// map.put("aaa", "111");
|
||||||
map.put("bbb", "222");
|
// map.put("bbb", "222");
|
||||||
|
//
|
||||||
//when
|
// //when
|
||||||
String json = writeValueAsString(map);
|
// String json = writeValueAsString(map);
|
||||||
|
//
|
||||||
//then
|
// //then
|
||||||
assertEquals(json, "{\"aaa\":\"111\",\"bbb\":\"222\"}");
|
// assertEquals(json, "{\"aaa\":\"111\",\"bbb\":\"222\"}");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Test
|
// @Test
|
||||||
public void shouldReadValueAsObject() {
|
// public void shouldReadValueAsObject() {
|
||||||
//given
|
// //given
|
||||||
String jsonString = "{\"aaa\":\"111\",\"bbb\":\"222\"}";
|
// String jsonString = "{\"aaa\":\"111\",\"bbb\":\"222\"}";
|
||||||
|
//
|
||||||
//when
|
// //when
|
||||||
Map result = JacksonUtil.readValue(jsonString, Map.class);
|
// Map result = JacksonUtil.readValue(jsonString, Map.class);
|
||||||
|
//
|
||||||
//then
|
// //then
|
||||||
assertEquals(result.get("aaa"), "111");
|
// assertEquals(result.get("aaa"), "111");
|
||||||
assertEquals(result.get("bbb"),"222");
|
// assertEquals(result.get("bbb"),"222");
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
Loading…
Reference in new issue