EMMA Coverage Report (generated Mon Mar 20 21:27:43 EST 2006)
[all classes][com.webhydra.slug.process.xml]

COVERAGE SUMMARY FOR SOURCE FILE [XmlDtdProcessStatusTranslator.java]

nameclass, %method, %block, %line, %
XmlDtdProcessStatusTranslator.java100% (1/1)100% (3/3)100% (82/82)100% (18/18)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class XmlDtdProcessStatusTranslator100% (1/1)100% (3/3)100% (82/82)100% (18/18)
XmlDtdProcessStatusTranslator (): void 100% (1/1)100% (3/3)100% (2/2)
getDocType (): String 100% (1/1)100% (2/2)100% (1/1)
translate (ProcessStatus): String 100% (1/1)100% (77/77)100% (15/15)

1/*
2 * @(#) $Id: XmlDtdProcessStatusTranslator.java,v 1.1.1.1 2006/03/19 06:09:42 rossen Exp $
3 *
4 * Copyright (c) 2006, WebHydra.com
5 * All rights reserved.
6 * 
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 * 
10 *     * Redistributions of source code must retain the above copyright notice,
11 *       this list of conditions and the following disclaimer.
12 *     * Redistributions in binary form must reproduce the above copyright
13 *       notice, this list of conditions and the following disclaimer in the
14 *       documentation and/or other materials provided with the distribution.
15 *     * Neither the name of the WebHydra.com nor the names of its contributors
16 *       may be used to endorse or promote products derived from this software
17 *       without specific prior written permission.
18 * 
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31 
32package com.webhydra.slug.process.xml;
33 
34import com.webhydra.slug.process.IProcessStatusTranslator;
35import com.webhydra.slug.process.ProcessProgress;
36import com.webhydra.slug.process.ProcessStatus;
37 
38/**
39 * XML DTD based <code>ProcessStatus</code> Translator.
40 * @author rossen
41 */
42public class XmlDtdProcessStatusTranslator extends AbstractXmlProcessStatusTranslator implements IProcessStatusTranslator {
43 
44    /** Creates a new instance of XmlDtdProcessStatusTranslator */
45    public XmlDtdProcessStatusTranslator() {
46    }
47 
48    /**
49     * Retruns document's type.
50     *
51     * @return AbstractXmlProcessStatusTranslator.XML_TYPE_DTD.
52     */
53    protected String getDocType() {
54        return AbstractXmlProcessStatusTranslator.XML_TYPE_DTD;
55    }
56 
57    /**
58     * Generate process status instance.
59     * @param ps Process Status to be translated
60     * @return implementation dependent String representation of provided parameter instance.
61     */
62    public String translate(ProcessStatus ps) {
63        if (ps == null)
64            return ""; // TODO decide on is thisreally the right thing to do?
65        StringBuffer result = new StringBuffer();
66        result.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
67        if (shouldUseDocType())
68        {
69            result.append("<!DOCTYPE slug-process-status SYSTEM \"");
70            result.append(XML_TYPE_FILE_NAME).append(".").append(getDocType()).append("\">\n");
71        }
72        result.append("<slug-process-status>");
73        result.append("<status>").append(ps.getStatus()).append("</status>");
74        if (ps.hasMessage())
75        {
76            result.append("<message>").append(xmlEscape(ps.getMessage())).append("</message>");
77        }
78        if (ps instanceof ProcessProgress)
79        {
80            result.append("<progress>").append(((ProcessProgress) ps).getProgress()).append("</progress>");
81        }
82        result.append("</slug-process-status>\n");
83        return result.toString();
84    }
85 
86}

[all classes][com.webhydra.slug.process.xml]
EMMA 2.0.5312 (C) Vladimir Roubtsov