KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > events > TKUserEvent


1 package com.teamkonzept.webman.mainint.events;
2
3 import com.teamkonzept.lib.TKException;
4 import com.teamkonzept.web.TKEvent;
5 import com.teamkonzept.web.TKHTMLTemplate;
6 import com.teamkonzept.web.TKHttpInterface;
7 import com.teamkonzept.webman.mainint.events.*;
8 import de.webman.acl.*;
9 import de.webman.acl.*;
10 import java.util.Properties JavaDoc;
11 import org.apache.log4j.Category;
12
13 // $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/webman/mainint/events/TKUserEvent.java,v 1.6 2001/08/21 10:38:11 mischa Exp $
14

15 /**
16  * Simple extension of <CODE>TKEvent</CODE> to provide
17  * correct, Webman-specific login information.
18  *
19  * @since 1.0
20  * @author $Author: mischa $
21  * @version $Revision: 1.6 $
22  */

23 public class TKUserEvent
24     extends TKEvent
25 {
26     /** Logging Framework */
27     private static Category cat = Category.getInstance(TKUserEvent.class);
28     
29     public static final String JavaDoc LOGIN = "LOGIN";
30
31     /**
32      * selected language of the current user
33      */

34     String JavaDoc selectedLanguage = null;
35     boolean calledGetSelectedLanguage = false;
36
37     public TKUserEvent (TKHttpInterface http)
38     {
39         super(http);
40     }
41
42     /**
43      * gibt die Sprache des Users zurueck
44      * falls diese schon einmal ermittelt wurde,
45      * wird das ergebnis des letzten aufrufes zurückgegeben
46      * das hat (abhängig von dem anteil sprachspezifischer tags)
47      * performanzverbesserungen um die 20% zur folge
48     */

49     public String JavaDoc getSelectedLanguage()
50     {
51         // test if this method was called earlier
52
// this is better than to test ( selectedLanguage == null )
53
// to avoid repeating failures in login.getProperties while generating
54
if ( !calledGetSelectedLanguage ){
55             // mark that this method is called
56
calledGetSelectedLanguage = true;
57             try
58                 {
59                     LoginFactory factory = LoginFactory.getInstance();
60                     Login login = factory.getLogin(getRemoteUser());
61                     
62                     Properties JavaDoc props = login.getProperties();
63                     selectedLanguage = (String JavaDoc)props.get("LANGUAGE");
64                 }
65             catch (Exception JavaDoc e)
66                 {
67                     // das kann beim Generieren passieren, da gibt es keinen User
68
cat.debug("TKUserEvent : " + e);
69                     return null;
70                 }
71         }
72         return selectedLanguage;
73     }
74
75     public void prepTemplate (TKHTMLTemplate template)
76     {
77         super.prepTemplate(template);
78
79         try
80         {
81             template.set(LOGIN, LoginFactory.getInstance().getLogin(getRemoteUser()).getName());
82         }
83         catch (TKException x)
84         {
85             template.set(LOGIN, getRemoteUser());
86         }
87     }
88
89 }
90
91
92
93
Popular Tags