]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java
Fix bugs with slc execution notifications
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / ant / SlcExecutionBuildListener.java
index 433d6b4b1cf331ea9192ce139422427d7050270b..7f0b30b2e2b4fa71112938b91ca2c5169d036d28 100644 (file)
@@ -12,6 +12,7 @@ import org.apache.tools.ant.Project;
 import org.argeo.slc.core.process.SlcExecution;\r
 import org.argeo.slc.core.process.SlcExecutionNotifier;\r
 import org.argeo.slc.core.process.SlcExecutionStep;\r
+import org.argeo.slc.core.process.WebServiceSlcExecutionNotifier;\r
 \r
 public class SlcExecutionBuildListener extends AppenderSkeleton implements\r
                ProjectRelatedBuildListener {\r
@@ -34,7 +35,7 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
 \r
        public void init(Project project) {\r
                if (this.project != null) {\r
-                       throw new SlcAntException("BuildListener already initialized");\r
+                       throw new SlcAntException("Build listener already initialized");\r
                }\r
 \r
                this.project = project;\r
@@ -74,6 +75,7 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
                        if (currentStep == null) {\r
                                currentStep = new SlcExecutionStep("LOG", event.getMessage());\r
                                notifyStep(slcExecution, currentStep);\r
+                               currentStep = null;\r
                        } else {\r
                                currentStep.addLog(event.getMessage());\r
                        }\r
@@ -193,6 +195,12 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
                        // avoid StackOverflow if notification calls Log4j itself.\r
                        return;\r
                }\r
+\r
+               if (event.getLoggerName().equals(\r
+                               WebServiceSlcExecutionNotifier.class.getName())) {\r
+                       return;\r
+               }\r
+\r
                isLogging = true;\r
 \r
                try {\r
@@ -202,10 +210,8 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
                                if (currentStep == null) {\r
                                        currentStep = new SlcExecutionStep("LOG", event\r
                                                        .getMessage().toString());\r
-                                       notifyStep(slcExecution, currentStep);\r
-                               } else {\r
-                                       currentStep.addLog(event.getMessage().toString());\r
                                }\r
+                               currentStep.addLog(event.getMessage().toString());\r
                        } else {\r
                                // TODO: log before initialization?\r
                        }\r