/hg/icedtea-web: Logging methods made synchronized

jvanek at icedtea.classpath.org jvanek at icedtea.classpath.org
Wed Jan 9 09:46:13 PST 2013


changeset d95b456959e5 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d95b456959e5
author: Jiri Vanek <jvanek at redhat.com>
date: Wed Jan 09 18:32:08 2013 +0100

	Logging methods made synchronized


diffstat:

 ChangeLog                                                         |   8 +++
 tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java |  23 ++++++---
 2 files changed, 22 insertions(+), 9 deletions(-)

diffs (98 lines):

diff -r 02981a272327 -r d95b456959e5 ChangeLog
--- a/ChangeLog	Mon Jan 07 11:47:32 2013 -0500
+++ b/ChangeLog	Wed Jan 09 18:32:08 2013 +0100
@@ -1,3 +1,11 @@
+2013-01-09  Jiri Vanek  <jvanek at redhat.com>
+
+	Logging methods made synchronized
+	* tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java:
+	(processLogs) (getDefaultLoggingBottleneck) (writeXmlLog) (addToXmlLog)
+	(modifyMethodWithForBrowser) (setLoggedBrowser) (logIntoPlaintextLog)
+	made synchronised
+
 2013-01-07  Deepak Bhole <dbhole at redhat.com>
 
 	* netx/net/sourceforge/jnlp/resources/Messages.properties: Converted to
diff -r 02981a272327 -r d95b456959e5 tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java
--- a/tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java	Mon Jan 07 11:47:32 2013 -0500
+++ b/tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java	Wed Jan 09 18:32:08 2013 +0100
@@ -45,6 +45,7 @@
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.lang.reflect.Method;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -80,10 +81,10 @@
      * map of classes, each have map of methods, each have errorlist, outLIst, and allList (allist contains also not std or err messages)
      * class.testMethod.logs
      */
-    final Map<String, Map<String, TestsLogs>> processLogs = new HashMap<String, Map<String, TestsLogs>>(100);
+    final Map<String, Map<String, TestsLogs>> processLogs = Collections.synchronizedMap(new HashMap<String, Map<String, TestsLogs>>(1000));
     private boolean added = false;
 
-    public static LoggingBottleneck getDefaultLoggingBottleneck() {
+    synchronized public static LoggingBottleneck getDefaultLoggingBottleneck() {
         if (loggingBottleneck == null) {
             loggingBottleneck = new LoggingBottleneck();
         }
@@ -101,11 +102,15 @@
         }
     }
 
-    void writeXmlLog() throws FileNotFoundException, IOException {
+   synchronized void writeXmlLog() throws FileNotFoundException, IOException {
         writeXmlLog(DEFAULT_LOG_FILE);
     }
 
-    void writeXmlLog(File f) throws FileNotFoundException, IOException {
+    synchronized void writeXmlLog(File f) throws FileNotFoundException, IOException {
+        writeXmlLog(f, Collections.unmodifiableMap(processLogs));
+    }
+        
+    synchronized static void writeXmlLog(File f, Map<String, Map<String, TestsLogs>> processLogs) throws FileNotFoundException, IOException {
         Writer w = new OutputStreamWriter(new FileOutputStream(f));
         Set<Entry<String, Map<String, TestsLogs>>> classes = processLogs.entrySet();
         w.write("<" + LOGS_ELEMENT + ">");
@@ -127,7 +132,7 @@
         w.close();
     }
 
-    void addToXmlLog(String message, boolean printToOut, boolean printToErr, StackTraceElement ste) {
+    synchronized  void addToXmlLog(String message, boolean printToOut, boolean printToErr, StackTraceElement ste) {
         Map<String, TestsLogs> classLog = processLogs.get(ste.getClassName());
         if (classLog == null) {
             classLog = new HashMap<String, TestsLogs>(50);
@@ -157,7 +162,7 @@
         methodLog.add(printToErr, printToOut, message);
     }
 
-    public String modifyMethodWithForBrowser(String methodBrowseredName, String className) {
+   synchronized public String modifyMethodWithForBrowser(String methodBrowseredName, String className) {
         try {
             Class clazz = Class.forName(className);
             /*
@@ -180,11 +185,11 @@
         return methodBrowseredName;
     }
 
-    public void setLoggedBrowser(String loggedBrowser) {
+   synchronized public void setLoggedBrowser(String loggedBrowser) {
         this.loggedBrowser = loggedBrowser;
     }
 
-    public void logIntoPlaintextLog(String message, boolean printToOut, boolean printToErr) {
+  synchronized  public void logIntoPlaintextLog(String message, boolean printToOut, boolean printToErr) {
         try {
             if (printToOut) {
                 LoggingBottleneck.getDefaultLoggingBottleneck().stdout(message);
@@ -216,7 +221,7 @@
         DEFAULT_STDLOGS_WRITER.flush();
     }
     
-    public static String clearChars(String ss) {
+   synchronized public  static String clearChars(String ss) {
         StringBuilder s = new StringBuilder(ss);
         for (int i = 0; i < s.length(); i++) {
             char q = s.charAt(i);



More information about the distro-pkg-dev mailing list