View Javadoc

1   package de.tivsource.page.admin.actions;
2   
3   import java.util.Map;
4   
5   import javax.servlet.http.HttpServletRequest;
6   import javax.servlet.http.HttpServletResponse;
7   
8   import org.apache.logging.log4j.LogManager;
9   import org.apache.logging.log4j.Logger;
10  import org.apache.struts2.convention.annotation.Action;
11  import org.apache.struts2.convention.annotation.Actions;
12  import org.apache.struts2.convention.annotation.Result;
13  import org.apache.struts2.interceptor.ServletRequestAware;
14  import org.apache.struts2.interceptor.ServletResponseAware;
15  import org.apache.struts2.interceptor.SessionAware;
16  import org.apache.struts2.tiles.annotation.TilesDefinition;
17  import org.apache.struts2.tiles.annotation.TilesDefinitions;
18  
19  import com.opensymphony.xwork2.ActionContext;
20  import com.opensymphony.xwork2.ActionSupport;
21  import com.opensymphony.xwork2.Preparable;
22  
23  import de.tivsource.ejb3plugin.InjectEJB;
24  import de.tivsource.page.dao.property.PropertyDaoLocal;
25  
26  /**
27   * 
28   * @author Marc Michele
29   */
30  @TilesDefinitions({
31      @TilesDefinition(name="index",  extend = "adminTemplate"),
32      @TilesDefinition(name="logout", template = "/WEB-INF/tiles/active/view/logout.jsp")
33  })
34  public class EmptyAction extends ActionSupport implements Preparable, ServletRequestAware,
35  		ServletResponseAware, SessionAware {
36  
37  	/**
38  	 * Serial Version UID.
39  	 */
40      private static final long serialVersionUID = -7504444800754220704L;
41  
42      /**
43  	 * Statischer Logger der Klasse.
44  	 */
45      private static final Logger LOGGER = LogManager.getLogger(EmptyAction.class);
46  
47      @InjectEJB(name="PropertyDao")
48      private PropertyDaoLocal propertyDaoLocal;
49  
50  	/**
51  	 * Servlet-Request der die Post und Get Daten der Session enthält.
52  	 */
53  	private HttpServletRequest servletRequest;
54  
55  	private HttpServletResponse servletResponse;
56  
57  	private Map<String, Object> session;
58  
59  	/**
60  	 * Attribut das die ausgelesene Sprache enthält.
61  	 */
62  	private String language = null;
63  
64  	public EmptyAction() {
65  		super();
66  	}
67  
68  	public static Logger getLogger() {
69  		return LOGGER;
70  	}
71  
72  	public HttpServletRequest getServletRequest() {
73  		return servletRequest;
74  	}
75  
76  	public void setServletRequest(HttpServletRequest httpServletRequest) {
77  		this.servletRequest = httpServletRequest;
78  	}
79  
80  	public HttpServletResponse getServletResponse() {
81  		return servletResponse;
82  	}
83  
84  	public void setServletResponse(HttpServletResponse servletResponse) {
85  		this.servletResponse = servletResponse;
86  	}
87  
88  	public Map<String, Object> getSession() {
89  		return session;
90  	}
91  
92  	public void setSession(Map<String, Object> session) {
93  		this.session = session;
94  	}
95  
96      @Override
97      public void prepare() {
98      }
99  
100 	@Override
101 	@Actions({ 
102 		@Action(value = "index", results = { @Result(name = "success", type = "tiles", location = "index") }),
103 		@Action(value = "logout", results = { @Result(name = "success", type = "tiles", location = "logout") })
104 		})
105 	public String execute() throws Exception {
106 		LOGGER.info("execute() aufgerufen.");
107 
108 		// Hole Action Locale
109 		this.getLanguageFromActionContext();
110 
111 		return SUCCESS;
112 	}
113 
114 	public String getActionName() {
115 		return ActionContext.getContext().getName();
116 	}
117 
118     public String getProperty(String key) {
119         return propertyDaoLocal.findByKey(key).getValue();
120     }
121 
122 	/**
123 	 * Methode die die aktuelle Sprache aus dem Context holt.
124 	 */
125 	protected void getLanguageFromActionContext() {
126 		LOGGER.info("getLanguageFromSession() aufgerufen.");
127 		ActionContext actionContext = ActionContext.getContext();
128 		language = actionContext.getLocale().getLanguage();
129 		LOGGER.info("Action Locale: " + language);
130 	}
131 
132 }// Ende class