public static String createComponentMessage()

in shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/ManagementSupport.java [49:139]


     public static String createComponentMessage(Message msg) {
        try {
            StringBuffer sw = new StringBuffer();
            // component-task-result
            sw.append("<component-task-result ");
            sw.append("xmlns=\"http://java.sun.com/xml/ns/jbi/management-message\">");
            sw.append("\n\t");
            // component-name
            sw.append("<component-name>");
            sw.append(msg.getComponent());
            sw.append("</component-name>");
            // component-task-result-details
            sw.append("\n\t");
            sw.append("<component-task-result-details>");
            // task-result-details
            sw.append("\n\t\t");
            sw.append("<task-result-details>");
            // task-id
            sw.append("\n\t\t\t");
            sw.append("<task-id>");
            sw.append(msg.getTask());
            sw.append("</task-id>");
            // task-result
            sw.append("\n\t\t\t");
            sw.append("<task-result>");
            sw.append(msg.getResult());
            sw.append("</task-result>");
            // message-type
            if (msg.getType() != null) {
                sw.append("\n\t\t\t");
                sw.append("<message-type>");
                sw.append(msg.getType());
                sw.append("</message-type>");
            }
            // task-status-message
            if (msg.getMessage() != null) {
                sw.append("\n\t\t\t");
                sw.append("<task-status-msg>");
                sw.append("<msg-loc-info>");
                sw.append("<loc-token/>");
                sw.append("<loc-message>");
                sw.append(msg.getMessage());
                sw.append("</loc-message>");
                sw.append("</msg-loc-info>");
                sw.append("</task-status-msg>");
            }
            // exception-info
            if (msg.getException() != null) {
                sw.append("\n\t\t\t");
                sw.append("<exception-info>");
                sw.append("\n\t\t\t\t");
                sw.append("<nesting-level>1</nesting-level>");
                sw.append("\n\t\t\t\t");
                sw.append("<msg-loc-info>");
                sw.append("\n\t\t\t\t\t");
                sw.append("<loc-token />");
                sw.append("\n\t\t\t\t\t");
                sw.append("<loc-message>");
                sw.append(msg.getException().getMessage());
                sw.append("</loc-message>");
                sw.append("\n\t\t\t\t\t");
                sw.append("<stack-trace>");
                StringWriter sw2 = new StringWriter();
                PrintWriter pw = new PrintWriter(sw2);
                msg.getException().printStackTrace(pw);
                pw.close();
                sw.append("<![CDATA[");
                sw.append(sw2.toString());
                sw.append("]]>");
                sw.append("</stack-trace>");
                sw.append("\n\t\t\t\t");
                sw.append("</msg-loc-info>");
                sw.append("\n\t\t\t");
                sw.append("</exception-info>");
            }
            // end: task-result-details
            sw.append("\n\t\t");
            sw.append("</task-result-details>");
            // end: component-task-result-details
            sw.append("\n\t");
            sw.append("</component-task-result-details>");
            // end: component-task-result
            sw.append("\n");
            sw.append("</component-task-result>");
            // return result
            return sw.toString();
        } catch (Exception e) {
            logger.warn("Error generating component management message", e);
            return null;
        }
    }