Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.99 KB | None | 0 0
  1. @ApplicationScoped
  2. @Named("menu")
  3. public class MenuFacade extends NestMB implements Serializable {
  4.  
  5. private MenuModel modelMain;
  6. private MenuModel modelBar;
  7. private List<Menunavigation> menuNavMainList;
  8. private List<Menunavigation> menuNavBarList;
  9. private String content = "homepage.xhtml";
  10. private String titleContent = msg.getString("nest");
  11.  
  12. public MenuFacade() {
  13.  
  14. }
  15.  
  16. @PostConstruct
  17. public void init(){
  18. this.modelMain = menuBuilder("mainMenu");
  19. this.modelBar = menuBuilder("menuBar");
  20. }
  21.  
  22. public MenuModel menuBuilder(String menuType) {
  23. MenuModel menuModel = new DefaultMenuModel();
  24. String label;
  25. Map<String, String> parameters = new HashMap<>();
  26. parameters.put("menuclass", menuType);
  27. List<Menunavigation> menunavigationlList = crudService.findWithNamedQuery("Menunavigation.findByMenuclass", parameters, 0);
  28. for (int i = 0; i < menunavigationlList.size(); i++) {
  29. Menunavigation m = menunavigationlList.get(i);
  30. if ("none".equalsIgnoreCase(m.getParent()) && m.getMenutype().equalsIgnoreCase("menu")) {
  31. DefaultSubMenu defaultSubMenu = new DefaultSubMenu(m.getMenuvalue());
  32. defaultSubMenu.setIcon(m.getIcon());
  33. menunavigationlList.remove(m);
  34. i -= 1;
  35. defaultSubMenu = addItem(defaultSubMenu, menunavigationlList);
  36. menuModel.addElement(defaultSubMenu);
  37. }
  38. }
  39. return menuModel;
  40. }
  41.  
  42. private DefaultSubMenu addItem(DefaultSubMenu defaultSubMenu, List<Menunavigation> menunavigationlList) {
  43. for (int i = 0; i < menunavigationlList.size(); i++) {
  44. Menunavigation m = menunavigationlList.get(i);
  45. if (m.getParent().equalsIgnoreCase(defaultSubMenu.getLabel()) && m.getMenutype().equalsIgnoreCase("item")) {
  46. DefaultMenuItem defaultMenuItem = new DefaultMenuItem(m.getMenuvalue());
  47. defaultMenuItem.setCommand("#{loginFcd.setTitleAndContent('" + m.getUrl() + "', '"+m.getMenuvalue()+ "')}");
  48. defaultMenuItem.setUpdate(":contentPage");
  49. defaultMenuItem.setGlobal(true);
  50. defaultMenuItem.setIcon(m.getIcon());
  51. defaultSubMenu.addElement(defaultMenuItem);
  52. menunavigationlList.remove(m);
  53. i -= 1;
  54. } else if (m.getParent().equalsIgnoreCase(defaultSubMenu.getLabel()) && m.getMenutype().equalsIgnoreCase("menu")) {
  55. DefaultSubMenu addDefaultSubMenu = new DefaultSubMenu(m.getMenuvalue());
  56. addDefaultSubMenu.setIcon(m.getIcon());
  57. menunavigationlList.remove(m);
  58. i -= 1;
  59. defaultSubMenu.addElement(addItem(addDefaultSubMenu, menunavigationlList));
  60. }
  61. }
  62. return defaultSubMenu;
  63. }
  64.  
  65. public MenuModel getModelMain() {
  66. return modelMain;
  67. }
  68.  
  69. public void setModelMain(MenuModel modelMain) {
  70. this.modelMain = modelMain;
  71. }
  72.  
  73. public MenuModel getModelBar() {
  74. return modelBar;
  75. }
  76.  
  77. public void setModelBar(MenuModel modelBar) {
  78. this.modelBar = modelBar;
  79. }
  80.  
  81. public String getContent() {
  82. return content;
  83. }
  84.  
  85. public void setContent(String content) {
  86. this.content = content;
  87. }
  88.  
  89. public String getTitleContent() {
  90. return titleContent;
  91. }
  92.  
  93. public void setTitleContent(String titleContent) {
  94. this.titleContent = titleContent;
  95. }
  96.  
  97. }
  98.  
  99. @SessionScoped
  100. @Named("loginFcd")
  101. public class LoginFacade extends NestMB implements Serializable {
  102.  
  103. private Users user = new Users();
  104. private List<Users> listUser;
  105. private String username;
  106. private String password;
  107. private String content = "homepage.xhtml";
  108. private String titleContent = msg.getString("nest");
  109.  
  110. public LoginFacade() {
  111. }
  112.  
  113. public String doLogin() {
  114. boolean result;
  115. HashMap<String, Object> parameters = new HashMap<>();
  116. parameters.put("username", username);
  117. parameters.put("password", Md5Maker.md5Java(password));
  118. listUser = crudService.findWithNamedQuery("Users.findByUsername&Password", parameters, 0);
  119. if (!listUser.isEmpty()) {
  120. user = listUser.get(0);
  121. HttpSession session = SessionUtil.getSession();
  122. session.setAttribute("username", username);
  123. return "nest?faces-redirect=true";
  124. } else {
  125. createMessage("INFO", inf.getString("sessionIsExist"));
  126. return "login.xhtml";
  127. }
  128. }
  129.  
  130. public String doLogout() {
  131. HttpSession session = SessionUtil.getSession();
  132. session.invalidate();
  133. return "login?faces-redirect=true";
  134. }
  135.  
  136. public void idleSessionTimeoutHandler(){
  137. executeInstance("idleDialog.show()");
  138. }
  139.  
  140. public void setTitleAndContent(String url, String title){
  141. setTitleContent(title);
  142. setContent(url);
  143. }
  144.  
  145. public Users getUser() {
  146. return user;
  147. }
  148.  
  149. public void setUser(Users user) {
  150. this.user = user;
  151. }
  152.  
  153. public String getUsername() {
  154. return username;
  155. }
  156.  
  157. public void setUsername(String username) {
  158. this.username = username;
  159. }
  160.  
  161. public String getPassword() {
  162. return password;
  163. }
  164.  
  165. public void setPassword(String password) {
  166. this.password = password;
  167. }
  168.  
  169. public String getContent() {
  170. return content;
  171. }
  172.  
  173. public void setContent(String content) {
  174. this.content = content;
  175. }
  176.  
  177. public String getTitleContent() {
  178. return titleContent;
  179. }
  180.  
  181. public void setTitleContent(String titleContent) {
  182. this.titleContent = titleContent;
  183. }
  184.  
  185. }
  186.  
  187. <?xml version='1.0' encoding='UTF-8' ?>
  188. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  189. <html xmlns="http://www.w3.org/1999/xhtml"
  190. xmlns:h="http://xmlns.jcp.org/jsf/html"
  191. xmlns:f="http://java.sun.com/jsf/core"
  192. xmlns:p="http://primefaces.org/ui"
  193. xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
  194. xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
  195. <h:head>
  196. <title>Nest</title>
  197. <link href="#{facesContext.externalContext.requestContextPath}/resources/css/default.css" rel="stylesheet" type="text/css" />
  198. <link href="#{facesContext.externalContext.requestContextPath}/resources/css/style.css" rel="stylesheet" type="text/css" />
  199. <link rel="shortcut icon" type="image/x-icon" href="#{facesContext.externalContext.requestContextPath}/resources/images/favicon.png"/>
  200. </h:head>
  201. <h:body id="all">
  202. <h:form>
  203. <p:growl id="growl" autoUpdate="true" showDetail="true"/>
  204. </h:form>
  205. <p:layout fullPage="true">
  206. <p:layoutUnit position="north"
  207. size="50">
  208. <ui:include src="menuTop.xhtml" />
  209. </p:layoutUnit>
  210.  
  211. <p:layoutUnit id="west"
  212. position="west"
  213. size="190"
  214. header="#{cmn.welcome}, #{loginFcd.user.username}"
  215. resizable="true"
  216. collapsible="true"
  217. style="overflow: auto;">
  218. <ui:include src="menu.xhtml" />
  219. </p:layoutUnit>
  220.  
  221. <p:layoutUnit id="center"
  222. position="center"
  223. style="overflow: auto;">
  224. <ui:insert name="content"></ui:insert>
  225. </p:layoutUnit>
  226. </p:layout>
  227. </h:body>
  228. </html>
  229.  
  230. <?xml version='1.0' encoding='UTF-8' ?>
  231. <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  232. <ui:composition xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
  233. template="./layout/layout.xhtml"
  234. xmlns:h="http://xmlns.jcp.org/jsf/html"
  235. xmlns:p="http://primefaces.org/ui">
  236.  
  237. <ui:define name="content">
  238. <h:panelGroup id="contentPage">
  239. </ui:define>
  240.  
  241. </ui:composition>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement