| 1 60 package com.ivata.groupware.navigation; 61 62 63 import java.util.Collection ; 64 import java.util.Collections ; 65 66 import javax.ejb.EJBException ; 67 68 import com.ivata.groupware.admin.security.server.SecuritySession; 69 import com.ivata.groupware.business.BusinessLogic; 70 import com.ivata.groupware.container.persistence.QueryPersistenceManager; 71 import com.ivata.groupware.navigation.menu.item.MenuItemDO; 72 import com.ivata.mask.persistence.PersistenceSession; 73 import com.ivata.mask.util.SystemException; 74 75 76 85 public class NavigationImpl extends BusinessLogic implements Navigation { 86 90 private QueryPersistenceManager persistenceManager; 91 92 98 public NavigationImpl(QueryPersistenceManager persistenceManager) { 99 this.persistenceManager = persistenceManager; 100 } 101 102 117 public void addMenuItem(final SecuritySession securitySession, 118 final MenuItemDO menuItem) 119 throws SystemException { 120 PersistenceSession persistenceSession = persistenceManager.openSession(securitySession); 121 try { 122 persistenceManager.add(persistenceSession, menuItem); 123 } catch (Exception e) { 124 persistenceSession.cancel(); 125 throw new SystemException(e); 126 } finally { 127 persistenceSession.close(); 128 } 129 } 130 131 144 public void amendMenuItem(final SecuritySession securitySession, 145 final MenuItemDO menuItem) 146 throws SystemException { 147 PersistenceSession persistenceSession = persistenceManager.openSession(securitySession); 148 try { 149 persistenceManager.amend(persistenceSession, menuItem); 150 } catch (Exception e) { 151 persistenceSession.cancel(); 152 throw new SystemException(e); 153 } finally { 154 persistenceSession.close(); 155 } 156 } 157 158 173 public Collection findMenues(final SecuritySession securitySession) 174 throws SystemException { 175 PersistenceSession persistenceSession = persistenceManager.openSession(securitySession); 176 try { 177 return Collections.synchronizedCollection(persistenceManager.find( 178 persistenceSession, 179 "navigationMenuByUserNameOrderByPriority", 180 new Object [] {securitySession.getUser().getName()})); 181 } catch (Exception e) { 182 persistenceSession.cancel(); 183 throw new SystemException(e); 184 } finally { 185 persistenceSession.close(); 186 } 187 } 188 189 198 public void removeMenuItem(final SecuritySession securitySession, 199 final String menuItemId) 200 throws SystemException { 201 PersistenceSession persistenceSession = 202 persistenceManager.openSession(securitySession); 203 try { 204 persistenceManager.remove(persistenceSession, 205 MenuItemDO.class, menuItemId); 206 } catch (Exception e) { 207 persistenceSession.cancel(); 208 throw new SystemException(e); 209 } finally { 210 persistenceSession.close(); 211 } 212 } 213 } 214 | Popular Tags |