summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--logging/src/main/java/java/util/logging/FileHandler.java2
-rw-r--r--logging/src/main/java/java/util/logging/LogManager.java3
-rw-r--r--logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java19
-rw-r--r--tools/integrate/Module.java2
4 files changed, 23 insertions, 3 deletions
diff --git a/logging/src/main/java/java/util/logging/FileHandler.java b/logging/src/main/java/java/util/logging/FileHandler.java
index e1eba9e..dd7790e 100644
--- a/logging/src/main/java/java/util/logging/FileHandler.java
+++ b/logging/src/main/java/java/util/logging/FileHandler.java
@@ -571,7 +571,7 @@ public class FileHandler extends StreamHandler {
* the log record to publish.
*/
@Override
- public void publish(LogRecord record) {
+ public synchronized void publish(LogRecord record) {
super.publish(record);
flush();
if (limit > 0 && output.getLength() >= limit) {
diff --git a/logging/src/main/java/java/util/logging/LogManager.java b/logging/src/main/java/java/util/logging/LogManager.java
index d7ade24..413efb3 100644
--- a/logging/src/main/java/java/util/logging/LogManager.java
+++ b/logging/src/main/java/java/util/logging/LogManager.java
@@ -401,7 +401,6 @@ public class LogManager {
* not have the required permissions to perform this action.
*/
public void readConfiguration() throws IOException {
- checkAccess();
// check config class
String configClassName = System
.getProperty("java.util.logging.config.class"); //$NON-NLS-1$
@@ -436,7 +435,7 @@ public class LogManager {
"logging.properties"), 8192);
}
// END android-added
- readConfigurationImpl(input);
+ readConfiguration(input);
} finally {
if (input != null) {
try {
diff --git a/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java b/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
index 44389be..3083dc9 100644
--- a/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
+++ b/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
@@ -837,6 +837,16 @@ public class LogManagerTest extends TestCase {
assertNull(m.getProperty("java.util.logging.FileHandler.pattern"));
}
+ public void testReadConfiguration() throws SecurityException,
+ IOException {
+
+ MockConfigLogManager lm = new MockConfigLogManager();
+ assertFalse(lm.isCalled);
+
+ lm.readConfiguration();
+ assertTrue(lm.isCalled);
+ }
+
private static void checkProperty(LogManager m) {
// assertEquals(m.getProperty(".level"), "INFO");
assertEquals(m.getProperty("java.util.logging.FileHandler.limit"), "50000");
@@ -1363,6 +1373,15 @@ public class LogManagerTest extends TestCase {
public static class MockLogManager extends LogManager {
}
+ public static class MockConfigLogManager extends LogManager {
+ public boolean isCalled = false;
+
+ public void readConfiguration(InputStream ins) throws IOException {
+ isCalled = true;
+ super.readConfiguration(ins);
+ }
+ }
+
public static class MockHandler extends Handler {
static int number = 0;
diff --git a/tools/integrate/Module.java b/tools/integrate/Module.java
index 63d35a2..02cdb6a 100644
--- a/tools/integrate/Module.java
+++ b/tools/integrate/Module.java
@@ -48,6 +48,8 @@ class Module {
"crypto/src/test/java")
.build());
+ valuesMutable.put("logging", new Module.Builder(svnRoot, "logging").build());
+
valuesMutable.put("regex", new Module.Builder(svnRoot, "regex").build());
valuesMutable.put("security", new Module.Builder(svnRoot, "security")