Author: xavier
Date: Tue Nov 13 03:11:12 2007
New Revision: 594484
URL: http://svn.apache.org/viewvc?rev=594484&view=rev
Log:
FIX: Bad IvyContext scope causing memory leak and bad handling of subproject
builds (IVY-639)
-> fix a bug in the way problems were handled: consolidating problems from the
stack doesn't work since the stack may have been cleared before sumupProblems
is called
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/MessageLoggerEngine.java
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/MessageLoggerEngine.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/util/MessageLoggerEngine.java?rev=594484&r1=594483&r2=594484&view=diff
==============================================================================
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/MessageLoggerEngine.java
(original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/MessageLoggerEngine.java
Tue Nov 13 03:11:12 2007
@@ -37,6 +37,12 @@
private final Stack/*<MessageLogger>*/ loggerStack = new Stack();
private MessageLogger defaultLogger = Message.getDefaultLogger();
+
+ private List problems = new ArrayList();
+
+ private List warns = new ArrayList();
+
+ private List errors = new ArrayList();
public MessageLoggerEngine() {
}
@@ -87,34 +93,27 @@
}
// consolidated methods
+ public void warn(String msg) {
+ peekLogger().warn(msg);
+ problems.add("WARN: " + msg);
+ warns.add(msg);
+ }
+ public void error(String msg) {
+ peekLogger().error(msg);
+ problems.add("\tERROR: " + msg);
+ errors.add(msg);
+ }
+
public List getErrors() {
- List errors = new ArrayList();
- errors.addAll(defaultLogger.getErrors());
- for (Iterator iter = loggerStack.iterator(); iter.hasNext();) {
- MessageLogger l = (MessageLogger) iter.next();
- errors.addAll(l.getErrors());
- }
return errors;
}
public List getProblems() {
- List problems = new ArrayList();
- problems.addAll(defaultLogger.getProblems());
- for (Iterator iter = loggerStack.iterator(); iter.hasNext();) {
- MessageLogger l = (MessageLogger) iter.next();
- problems.addAll(l.getProblems());
- }
return problems;
}
public List getWarns() {
- List warns = new ArrayList();
- warns.addAll(defaultLogger.getWarns());
- for (Iterator iter = loggerStack.iterator(); iter.hasNext();) {
- MessageLogger l = (MessageLogger) iter.next();
- warns.addAll(l.getWarns());
- }
return warns;
}
@@ -129,6 +128,9 @@
MessageLogger l = (MessageLogger) iter.next();
l.clearProblems();
}
+ problems.clear();
+ errors.clear();
+ warns.clear();
}
public void setShowProgress(boolean progress) {
@@ -163,10 +165,6 @@
peekLogger().endProgress(msg);
}
- public void error(String msg) {
- peekLogger().error(msg);
- }
-
public void info(String msg) {
peekLogger().info(msg);
}
@@ -189,10 +187,6 @@
public void verbose(String msg) {
peekLogger().verbose(msg);
- }
-
- public void warn(String msg) {
- peekLogger().warn(msg);
}