Adapt web services to lazy loading
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 27 Jun 2008 22:03:53 +0000 (22:03 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 27 Jun 2008 22:03:53 +0000 (22:03 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1301 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/AntSlcApplication.java
org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java
org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/unit/MinimalAntClasspathTestCase.java
org.argeo.slc.agent/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java

index 76c8331178a6f5a02dd7141d0482ec5cd939af71..7c85fc2397ca9d921ccb148ba55951648521208e 100644 (file)
@@ -28,6 +28,7 @@ import org.argeo.slc.core.structure.tree.TreeSPath;
 import org.argeo.slc.core.structure.tree.TreeSRegistry;
 import org.argeo.slc.logging.Log4jUtils;
 import org.argeo.slc.runtime.SlcExecutionOutput;
+import org.springframework.beans.factory.BeanFactoryUtils;
 import org.springframework.beans.factory.ListableBeanFactory;
 import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
@@ -248,8 +249,9 @@ public class AntSlcApplication {
                ListableBeanFactory context = (ListableBeanFactory) project
                                .getReference(AntConstants.REF_ROOT_CONTEXT);
                // Register build listeners
-               Map<String, BuildListener> listeners = context.getBeansOfType(
-                               BuildListener.class, false, true);
+               Map<String, BuildListener> listeners = BeanFactoryUtils
+                               .beansOfTypeIncludingAncestors(context, BuildListener.class,
+                                               false, false);
                for (BuildListener listener : listeners.values()) {
                        project.addBuildListener(listener);
                }
index 64dc33e98bd2736431c88722cd907757d4389b56..d2661792bcefef3a12d891b81877fdf63fc5ba5e 100644 (file)
@@ -63,7 +63,7 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
                if (slcExecution != null) {\r
                        if (currentStepNotified) {\r
                                slcExecution.getSteps().add(\r
-                                               new SlcExecutionStep("LOG", event.getMessage()));\r
+                                               new SlcExecutionStep(event.getMessage()));\r
                                notifyStep(slcExecution, slcExecution.currentStep());\r
                                currentStepNotified = true;\r
                        } else {\r
@@ -99,7 +99,7 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
                if (logTaskStartFinish)\r
                        msg = "Task " + event.getTask().getTaskName() + " started";\r
 \r
-               slcExecution.getSteps().add(new SlcExecutionStep("LOG", msg));\r
+               slcExecution.getSteps().add(new SlcExecutionStep(msg));\r
 \r
                currentStepNotified = false;\r
        }\r
@@ -139,7 +139,7 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
 \r
        protected void addLogStep(BuildEvent event, String msg) {\r
                SlcExecution slcExecution = getSlcExecution(event);\r
-               slcExecution.getSteps().add(new SlcExecutionStep("LOG", msg));\r
+               slcExecution.getSteps().add(new SlcExecutionStep(msg));\r
 \r
                notifyStep(slcExecution, slcExecution.currentStep());\r
                currentStepNotified = true;\r
@@ -169,7 +169,7 @@ public class SlcExecutionBuildListener extends AppenderSkeleton implements
                SlcExecution slcExecution = getSlcExecution(project);\r
                if (currentStepNotified) {\r
                        slcExecution.getSteps().add(\r
-                                       new SlcExecutionStep("LOG", event.getMessage().toString()));\r
+                                       new SlcExecutionStep(event.getMessage().toString()));\r
                        currentStepNotified = false;\r
                } else {\r
                        slcExecution.currentStep().addLog(event.getMessage().toString());\r
index 42ff5dabfe8499183417d0dd37ee157637edb098..e86887e249ef70d2b3e485675eecb1080f5cb559 100644 (file)
@@ -22,6 +22,7 @@ public class MinimalAntClasspathTestCase extends AbstractSpringTestCase {
                slcExecution.setUuid(UUID.randomUUID().toString());
                slcExecution.getAttributes().put(AntConstants.EXECATTR_ANT_FILE,
                                scriptPath);
+               slcExecution.setUser("user");
 
                slcApp.execute(slcExecution, null, null, null);
        }
index a7aaea1352f23841a7b0d162dfc824ead216a684..6073044581a706c92fdc585ba874f57cd8bafb71 100644 (file)
@@ -11,6 +11,7 @@ import org.springframework.ws.soap.SoapFaultDetailElement;
 import org.springframework.ws.soap.client.SoapFaultClientException;\r
 import org.springframework.xml.transform.StringResult;\r
 import org.w3c.dom.Node;\r
+import org.w3c.dom.Text;\r
 \r
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
@@ -51,24 +52,31 @@ public abstract class WebServiceUtils {
                log\r
                                .error("WS root cause: "\r
                                                + e.getSoapFault().getFaultStringOrReason());\r
-               StringBuffer stack = new StringBuffer("");\r
-               SoapFaultDetail detail = e.getSoapFault().getFaultDetail();\r
-               if (detail != null) {\r
-                       Iterator<SoapFaultDetailElement> it = (Iterator<SoapFaultDetailElement>) detail\r
-                                       .getDetailEntries();\r
-                       while (it.hasNext()) {\r
-                               SoapFaultDetailElement elem = it.next();\r
-                               if (elem.getName().getLocalPart().equals("StackElement")) {\r
-                                       Source source = elem.getSource();\r
-                                       if (source instanceof DOMSource) {\r
-                                               Node node = ((DOMSource) source).getNode();\r
-                                               stack.append(node.getTextContent()).append('\n');\r
+               if (log.isTraceEnabled()) {\r
+                       StringBuffer stack = new StringBuffer("");\r
+                       SoapFaultDetail detail = e.getSoapFault().getFaultDetail();\r
+                       if (detail != null) {\r
+                               Iterator<SoapFaultDetailElement> it = (Iterator<SoapFaultDetailElement>) detail\r
+                                               .getDetailEntries();\r
+                               while (it.hasNext()) {\r
+                                       SoapFaultDetailElement elem = it.next();\r
+                                       if (elem.getName().getLocalPart().equals("StackElement")) {\r
+                                               Source source = elem.getSource();\r
+                                               if (source instanceof DOMSource) {\r
+                                                       Node node = ((DOMSource) source).getNode();\r
+                                                       // stack.append(node.getTextContent()).append('\n');\r
+                                                       stack\r
+                                                                       .append(\r
+                                                                                       node.getChildNodes().item(0)\r
+                                                                                                       .getNodeValue()).append(\r
+                                                                                       '\n');\r
+                                               }\r
                                        }\r
                                }\r
-                       }\r
 \r
-                       if (stack.length() > 0 && log.isTraceEnabled())\r
-                               log.error("WS root cause stack: " + stack);\r
+                               if (stack.length() > 0)\r
+                                       log.error("WS root cause stack: " + stack);\r
+                       }\r
                }\r
        }\r
 \r