-
-
Notifications
You must be signed in to change notification settings - Fork 9.4k
/
ModelMapUtils.java
53 lines (49 loc) · 1.77 KB
/
ModelMapUtils.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package run.halo.app.theme.router;
import java.util.HashMap;
import java.util.Map;
import run.halo.app.core.extension.content.Post;
import run.halo.app.core.extension.content.SinglePage;
import run.halo.app.extension.Scheme;
import run.halo.app.theme.DefaultTemplateEnum;
import run.halo.app.theme.finders.vo.PostVo;
import run.halo.app.theme.finders.vo.SinglePageVo;
/**
* A util class for building model map.
*
* @author guqing
* @since 2.6.0
*/
public abstract class ModelMapUtils {
private static final Scheme POST_SCHEME = Scheme.buildFromType(Post.class);
private static final Scheme SINGLE_PAGE_SCHEME = Scheme.buildFromType(SinglePage.class);
/**
* Build post view model.
*
* @param postVo post vo
* @return model map
*/
public static Map<String, Object> postModel(PostVo postVo) {
Map<String, Object> model = new HashMap<>();
model.put("name", postVo.getMetadata().getName());
model.put(ModelConst.TEMPLATE_ID, DefaultTemplateEnum.POST.getValue());
model.put("groupVersionKind", POST_SCHEME.groupVersionKind());
model.put("plural", POST_SCHEME.plural());
model.put("post", postVo);
return model;
}
/**
* Build single page view model.
*
* @param pageVo page vo
* @return model map
*/
public static Map<String, Object> singlePageModel(SinglePageVo pageVo) {
Map<String, Object> model = new HashMap<>();
model.put("name", pageVo.getMetadata().getName());
model.put("groupVersionKind", SINGLE_PAGE_SCHEME.groupVersionKind());
model.put("plural", SINGLE_PAGE_SCHEME.plural());
model.put(ModelConst.TEMPLATE_ID, DefaultTemplateEnum.SINGLE_PAGE.getValue());
model.put("singlePage", pageVo);
return model;
}
}