1 package com.teamkonzept.webman; 2 3 import com.teamkonzept.lib.*; 4 import com.teamkonzept.web.*; 5 import com.teamkonzept.webman.mainint.events.*; 6 import de.webman.acl.*; 7 import java.util.*; 8 import org.apache.log4j.Category; 9 16 public class WebManEvent 17 { 18 19 private static Category cat = Category.getInstance(WebManEvent.class); 20 21 24 public static Login getWMLogin(String user) 25 throws Throwable 26 { 27 return LoginFactory.getInstance().getLogin(user); 28 } 29 30 38 public static void fillEventsIntoTemplate(String user, TemplateBasic t, Integer contextId, Integer type, Integer ref) 39 throws Throwable 40 { 41 Context c = ContextFactory.getInstance().getContext(contextId); 42 Login l = getWMLogin(user); 43 44 TKVector vec = l.getAllowedEvents(c.getID(), type, ref); 45 if (vec != null) 46 { 47 Enumeration e = vec.elements(); 48 while (e.hasMoreElements()) 49 { 50 Event ev = (Event) e.nextElement(); 51 t.set(ev.getName(), "1"); 52 } 53 } 54 } 55 56 61 public static void fillEventsIntoTemplate(String user, TemplateBasic t, Integer contextId) 62 throws Throwable 63 { 64 Context c = ContextFactory.getInstance().getContext(contextId); 65 Login l = getWMLogin(user); 66 67 TKVector vec = l.getAllowedEvents(c.getID()); 68 if (vec != null) 69 { 70 Enumeration e = vec.elements(); 71 while (e.hasMoreElements()) 72 { 73 Event ev = (Event) e.nextElement(); 74 t.set(ev.getName(), "1"); 75 } 76 } 77 } 78 79 85 public static void fillEventsIntoHash(String user, TKHashtable hash, Integer contextId) 86 throws Throwable 87 { 88 Context c = ContextFactory.getInstance().getContext(contextId); 89 Login l = getWMLogin(user); 90 91 TKVector vec = l.getAllowedEvents(c.getID()); 92 if (vec != null) 93 { 94 Enumeration e = vec.elements(); 95 while (e.hasMoreElements()) 96 { 97 Event ev = (Event) e.nextElement(); 98 hash.put(ev.getName(), "1"); 99 } 100 } 101 } 102 103 111 public static void fillEventsIntoHash(TKEvent evt,TKHashtable hash, Integer contextId, Integer type, Integer ref) 112 throws Throwable 113 { 114 Context c = ContextFactory.getInstance().getContext(contextId); 115 Login l = getWMLogin(evt.getRemoteUser()); 116 117 TKVector vec = l.getAllowedEvents(c.getID(), type, ref); 118 if (vec != null) 119 { 120 Enumeration e = vec.elements(); 121 while (e.hasMoreElements()) 122 { 123 Event ev = (Event) e.nextElement(); 124 hash.put(ev.getName(), "1"); 125 } 126 } 127 } 128 129 130 137 public static void checkEvent(String user, String eventName, Integer contextId, Integer type, Integer ref) 138 throws Throwable 139 { 140 Login l = getWMLogin(user); 141 Event event = EventFactory.getInstance().getEvent(eventName); 142 if (l == null) 143 { 144 cat.warn("------- Login ist NULL!!!!!!"); 145 return; 146 } 147 if (event == null) 148 { 149 cat.warn("----------Event not found:"+eventName); 150 152 return; 153 } 155 if (l != null 156 && event != null 157 && (! l.isAllowed(event.getID(), contextId, type, ref)) 158 && (! l.isAllowed(event.getID(), contextId)) 159 ) 160 { 161 throw new TKUserException("Der Zugriff auf die Funktion "+eventName+" ist für "+l.getName()+" nicht gestattet!(ObjectType: "+type.toString()+", ObjektID: "+ref.toString()+")", 162 UserCodes.EVENT_NOT_ALLOWED, ErrorCodes.USER_SEVERITY, 163 true, new Object [] {eventName, l.getName()}, null); 164 } 165 } 166 167 174 public static void checkEvent(String user, String evtName, Integer contextId) 175 throws Throwable 176 { 177 Login l = getWMLogin(user); 178 Event event = EventFactory.getInstance().getEvent(evtName); 179 if (l == null) 180 { 181 cat.warn("------- Login ist NULL!!!!!!"); 182 return; 183 } 184 if (event == null) 185 { 186 cat.warn("----------Event not found:"+evtName); 187 191 return; 192 } 193 if (l != null && event != null && (! l.isAllowed(event.getID(), contextId))) 194 { 195 throw new TKUserException("Der Zugriff auf die Funktion " + evtName + " ist für "+l.getName()+" nicht gestattet!", 196 UserCodes.EVENT_NOT_ALLOWED, ErrorCodes.USER_SEVERITY, 197 true, new Object [] {evtName, l.getName()}, null); 198 } 199 } 200 201 207 public static boolean insertNewEvent(TKEvent evt, Integer contextId) 208 { 209 return false; 210 260 } 261 262 272 public static boolean isAllowed(String user, String evtName, Integer contextId, Integer type, Integer ref) 273 throws Throwable 274 { 275 Login l = getWMLogin(user); 276 Event event = EventFactory.getInstance().getEvent(evtName); 277 return l.isAllowed(event.getID(), contextId, type, ref); 278 } 279 280 286 public static void fillInContentEvents(String user, String evtName, Integer contextId, TKDBResult tree) 287 throws Throwable 288 { 289 Login l = getWMLogin(user); 290 Context c = ContextFactory.getInstance().getContext(contextId); 291 292 Enumeration e = tree.elements(); 293 while (e.hasMoreElements()) 294 { 295 TKDBResultRowHash t = (TKDBResultRowHash) e.nextElement(); 296 String nodeId = (String ) t.get("CONTENT_NODE_ID"); 298 TKVector events = l.getAllowedEvents(c.getID(), Policy.CONTENT_TREE_ID, new Integer (nodeId)); 299 300 if (events != null) 302 { 303 Enumeration en = events.elements(); 304 while (en.hasMoreElements()) 305 { 306 Event ev = (Event) en.nextElement(); 307 t.addColumn(ev.getName(), "1"); 308 } 309 } 310 } 311 } 312 } 313 | Popular Tags |