OpenKeyWord  Build_ID: 457, Datum: 01.02.2020 07:45:48
Dont repeat yourself. - Do it once and only once!
LogMessenger.java
1 /*
2  ==============================================================================
3  Author: Zoltán Hrabovszki <zh@openkeyword.de>
4 
5  Copyright © 2012 - 2019 IT-Beratung Hrabovszki
6  www.OpenKeyWord.de
7  ==============================================================================
8 
9  This file is part of OpenKeyWord.
10 
11  OpenKeyWord is free software: you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenKeyWord is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenKeyWord. If not, see <http://www.gnu.org/licenses/>.
23 
24  Diese Datei ist Teil von OpenKeyWord.
25 
26  OpenKeyWord ist Freie Software: Sie können es unter den Bedingungen
27  der GNU General Public License, wie von der Free Software Foundation,
28  Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren
29  veröffentlichten Version, weiterverbreiten und/oder modifizieren.
30 
31  OpenKeyWord wird in der Hoffnung, dass es nützlich sein wird, aber
32  OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
33  Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
34  Siehe die GNU General Public License für weitere Details.
35 
36  Sie sollten eine Kopie der GNU General Public License zusammen mit
37  OpenKeyWord erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
38 */
39 
40 package okw;
41 
42 import okw.exceptions.*;
43 import org.stringtemplate.v4.*;
44 
84 public class LogMessenger
85 {
86 
87  private String cvsClassName = "";
88  private OKW_XmlReader myXmlReader;
89 
90 
103  public LogMessenger(String fpsClassname)
104  {
105  try
106  {
107  this.cvsClassName = fpsClassname;
108  String myXMLFile = "/xml/logmessages/LM_" + this.cvsClassName + ".xml";
109  myXmlReader = new OKW_XmlReader(myXMLFile);
110  }
111  catch (Exception e)
112  {
113  OKW_HandleException.StopRunning(e, this.getClass());
114  }
115  }
116 
137  public String GetMessage( String MethodName, String TextKey )
138  {
139  String lvs_Return = "Message Not Found!";
140 
141  try
142  {
143  lvs_Return = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
144  }
145  catch (Exception e)
146  {
147  OKW_HandleException.StopRunning(e, this.getClass());
148  }
149 
150  return lvs_Return;
151  }
152 
175  public String GetMessage( String MethodName, String TextKey, Object Parameter_1 )
176  {
177  String lvsReturn = "";
178  String lvsTemplate = "";
179  try
180  {
181  lvsTemplate = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
182 
183  ST st = new ST(lvsTemplate, '$', '$');
184  st.add("P1", Parameter_1);
185  lvsReturn = st.render();
186 
187  }
188  catch (Exception e)
189  {
190  OKW_HandleException.StopRunning(e, this.getClass());
191  }
192 
193  return lvsReturn;
194  }
195 
219  public String GetMessage( String MethodName, String TextKey, Object Parameter_1, Object Parameter_2 )
220  {
221  String lvsReturn = "";
222  String lvsTemplate = "";
223  try
224  {
225  lvsTemplate = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
226 
227  ST st = new ST(lvsTemplate, '$', '$');
228  st.add("P1", Parameter_1);
229  st.add("P2", Parameter_2);
230  lvsReturn = st.render();
231 
232  }
233  catch (Exception e)
234  {
235  OKW_HandleException.StopRunning(e, this.getClass());
236  }
237 
238  return lvsReturn;
239  }
240 
241 
267  public String GetMessage( String MethodName, String TextKey, Object Parameter_1, Object Parameter_2,
268  Object Parameter_3 )
269  {
270  String lvsReturn = "";
271  String lvsTemplate = "";
272  try
273  {
274  lvsTemplate = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
275 
276  ST st = new ST(lvsTemplate, '$', '$');
277  st.add("P1", Parameter_1);
278  st.add("P2", Parameter_2);
279  st.add("P3", Parameter_3);
280  lvsReturn = st.render();
281 
282  }
283  catch (Exception e)
284  {
285  OKW_HandleException.StopRunning(e, this.getClass());
286  }
287 
288  return lvsReturn;
289  }
290 
291 
321  private String ReadMessage( String ClassName, String MethodName, String TextKey )
322  {
323  String lvsReturn = "Message Not Found!";
324 
325  try
326  {
327  String Language = OKWLanguage.getInstance().getLanguage();
328 
329  String myXPathExpression = "//Class[@name='" + ClassName + "']/Method[@name='" + MethodName + "']/Text[@key='" + TextKey + "']/" + Language;
330 
331  lvsReturn = myXmlReader.getTextContentSingleValue(myXPathExpression);
332 
333  if (lvsReturn.isEmpty())
334  {
335  throw new OKWMessageNotFoundException("Message not Found. Class: " + ClassName + ", Method: "
336  + MethodName + ", TextKey: " + TextKey);
337  }
338  }
340  {
341  OKW_HandleException.StopRunning(e, this.getClass());
342  }
343 
344  return lvsReturn;
345  }
346 }
okw.LogMessenger
LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugeh...
Definition: LogMessenger.java:84
okw.OKW_HandleException
Definition: OKW_HandleException.java:6
okw.LogMessenger.GetMessage
String GetMessage(String MethodName, String TextKey, Object Parameter_1, Object Parameter_2)
Holt die Log-Meldung für MethodeNmae/Textkey und einem Parameter.
Definition: LogMessenger.java:219
okw.OKW_XmlReader.getTextContentSingleValue
String getTextContentSingleValue(String fpsXPathExpression)
Liest den TextContent eines Tag.
Definition: OKW_XmlReader.java:103
okw.LogMessenger.GetMessage
String GetMessage(String MethodName, String TextKey, Object Parameter_1)
Holt die Log-Meldung für MethodeNmae/Textkey und einem Parameter.
Definition: LogMessenger.java:175
okw.LogMessenger.ReadMessage
String ReadMessage(String ClassName, String MethodName, String TextKey)
Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei.
Definition: LogMessenger.java:321
okw.exceptions.OKWMessageNotFoundException
Die Ausnahme OKWMessageNotFoundException wird ausgelöst, wenn ein Nachrichten-Eintrag in einer XML/Lo...
Definition: OKWMessageNotFoundException.java:56
okw.OKWLanguage
http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste
Definition: OKWLanguage.java:47
okw.OKW_XmlReader
Definition: OKW_XmlReader.java:24
okw.LogMessenger.GetMessage
String GetMessage(String MethodName, String TextKey)
Holt die Log-Meldung für MethodeNmae/Textkey ohne weitere Parameter.
Definition: LogMessenger.java:137
okw.LogMessenger.GetMessage
String GetMessage(String MethodName, String TextKey, Object Parameter_1, Object Parameter_2, Object Parameter_3)
Holt die Log-Meldung für MethodeNmae/Textkey und drei Parameter.
Definition: LogMessenger.java:267
okw.LogMessenger.LogMessenger
LogMessenger(String fpsClassname)
Definition: LogMessenger.java:103