EMMA Coverage Report (generated Tue Jan 14 02:29:45 CET 2014)
[all classes][org.jdtaus.core.messages]

COVERAGE SUMMARY FOR SOURCE FILE [BugReportMessage.java]

nameclass, %method, %block, %line, %
BugReportMessage.java100% (1/1)86%  (6/7)62%  (131/212)67%  (18/27)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class BugReportMessage100% (1/1)86%  (6/7)62%  (131/212)67%  (18/27)
getFormatArguments (Locale): Object [] 0%   (0/1)0%   (0/70)0%   (0/7)
BugReportMessage (File, URL, String): void 100% (1/1)61%  (17/28)78%  (7/9)
getBugReportEmailMessage (Locale, String, String): String 100% (1/1)100% (16/16)100% (1/1)
getBugReportMessage (Locale, String): String 100% (1/1)100% (12/12)100% (1/1)
getBugReportUrlAndEmailMessage (Locale, String, String, String): String 100% (1/1)100% (20/20)100% (1/1)
getBugReportUrlMessage (Locale, String, String): String 100% (1/1)100% (16/16)100% (1/1)
getText (Locale): String 100% (1/1)100% (50/50)100% (7/7)

1/*
2 *  jDTAUS Core Messages
3 *  Copyright (C) 2005 Christian Schulte
4 *  <cs@schulte.it>
5 *
6 *  This library is free software; you can redistribute it and/or
7 *  modify it under the terms of the GNU Lesser General Public
8 *  License as published by the Free Software Foundation; either
9 *  version 2.1 of the License, or any later version.
10 *
11 *  This library is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 *  Lesser General Public License for more details.
15 *
16 *  You should have received a copy of the GNU Lesser General Public
17 *  License along with this library; if not, write to the Free Software
18 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19 *
20 */
21package org.jdtaus.core.messages;
22 
23import java.io.File;
24import java.net.URL;
25import java.util.Locale;
26import org.jdtaus.core.container.ContainerFactory;
27import org.jdtaus.core.text.Message;
28 
29/**
30 * {@code Message} stating how to report a bug.
31 *
32 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
33 * @version $JDTAUS: BugReportMessage.java 8794 2012-12-03 16:51:09Z schulte $
34 */
35public final class BugReportMessage extends Message
36{
37    //--Contstants--------------------------------------------------------------
38 
39    /** Serial version UID for backwards compatibility with 1.0.x classes. */
40    private static final long serialVersionUID = -6031830488657149254L;
41 
42    //---------------------------------------------------------------Constants--
43    //--Message-----------------------------------------------------------------
44 
45    /**
46     * {@inheritDoc}
47     *
48     * @return Strings giving information for where to report bugs and where
49     * to find any data to attach to any bug reports.
50     * <ul>
51     * <li>[0]: the absolute path of the directory holding the application's
52     * logfiles.</li>
53     * <li>[1]: URL of the online bugtracking system.</li>
54     * <li>[2]: email address to alternatively send the bugreport to.</li>
55     * </ul>
56     */
57    public Object[] getFormatArguments( final Locale locale )
58    {
59        if ( this.trackerUrl != null && this.reportAddress != null )
60        {
61            return new Object[]
62                {
63                    this.logDirectory.getAbsolutePath(),
64                    this.trackerUrl.toExternalForm(),
65                    this.reportAddress
66                };
67        }
68        else if ( this.trackerUrl != null )
69        {
70            return new Object[]
71                {
72                    this.logDirectory.getAbsolutePath(),
73                    this.trackerUrl.toExternalForm()
74                };
75 
76        }
77        else if ( this.reportAddress != null )
78        {
79            return new Object[]
80                {
81                    this.logDirectory.getAbsolutePath(),
82                    this.reportAddress
83                };
84 
85        }
86        else
87        {
88            return new Object[]
89                {
90                    this.logDirectory.getAbsolutePath()
91                };
92 
93        }
94    }
95 
96    /**
97     * {@inheritDoc}
98     *
99     * @return The corresponding text from the message's {@code ResourceBundle}:
100     * <blockquote><pre>
101     * Please report this at {1} or send
102     * an email to {2} including a copy of the logfiles located in directory
103     * {0}.
104     * </pre></blockquote>
105     */
106    public String getText( final Locale locale )
107    {
108        if ( this.trackerUrl != null && this.reportAddress != null )
109        {
110            return this.getBugReportUrlAndEmailMessage(
111                locale, this.logDirectory.getAbsolutePath(),
112                this.trackerUrl.toExternalForm(), this.reportAddress );
113 
114        }
115        else if ( this.trackerUrl != null )
116        {
117            return this.getBugReportUrlMessage(
118                locale, this.logDirectory.getAbsolutePath(),
119                this.trackerUrl.toExternalForm() );
120 
121        }
122        else if ( this.reportAddress != null )
123        {
124            return this.getBugReportEmailMessage(
125                locale, this.logDirectory.getAbsolutePath(),
126                this.reportAddress );
127 
128        }
129        else
130        {
131            return this.getBugReportMessage(
132                locale, this.logDirectory.getAbsolutePath() );
133 
134        }
135    }
136 
137    //-----------------------------------------------------------------Message--
138    //--BugReportMessage--------------------------------------------------------
139 
140    /**
141     * Directory holding the application's log files.
142     * @serial
143     */
144    private File logDirectory;
145 
146    /**
147     * URL of the online bugtracking system.
148     * @serial
149     */
150    private URL trackerUrl;
151 
152    /**
153     * Mail address to send the bugreport to.
154     * @serial
155     */
156    private String reportAddress;
157 
158    /**
159     * Creates a new {@code BugReportMessage} taking the application's logfile
160     * directory, an URL to the application's online bugtracking system, and
161     * an email address where to send bugreports to alternatively.
162     *
163     * @param logDirectory the directory holding the application's logfiles.
164     * @param trackerUrl an URL to the application's online bugtracking system.
165     * @param reportAddress an email address to alternatively send bugreports
166     * to.
167     *
168     * @throws NullPointerException if either {@code logDirectory} is
169     * {@code null}.
170     * @throws IllegalArgumentException if {@code logDirectory} is not a
171     * directory.
172     */
173    public BugReportMessage( final File logDirectory, final URL trackerUrl,
174                             final String reportAddress )
175    {
176        if ( logDirectory == null )
177        {
178            throw new NullPointerException( "logDirectory" );
179        }
180        if ( !logDirectory.isDirectory() )
181        {
182            throw new IllegalArgumentException( logDirectory.getAbsolutePath() );
183        }
184 
185        this.logDirectory = logDirectory;
186        this.trackerUrl = trackerUrl;
187        this.reportAddress = reportAddress;
188    }
189 
190    //--------------------------------------------------------BugReportMessage--
191    //--Messages----------------------------------------------------------------
192 
193// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:jdtausMessages
194    // This section is managed by jdtaus-container-mojo.
195 
196    /**
197     * Gets the text of message <code>bugReport</code>.
198     * <blockquote><pre>Bitte melden Sie dieses Problem. Fügen Sie Ihrem Fehlerbericht bitte eine Kopie der aktuellen Protokolldateien der Anwendung aus Verzeichnis {0} bei.</pre></blockquote>
199     * <blockquote><pre>Please report this including a copy of the logfiles located in directory {0}.</pre></blockquote>
200     *
201     * @param locale The locale of the message instance to return.
202     * @param logDirectory Directory holding the application's logfiles.
203     *
204     * @return Information about how to report a bug.
205     */
206    private String getBugReportMessage( final Locale locale,
207            final java.lang.String logDirectory )
208    {
209        return ContainerFactory.getContainer().
210            getMessage( this, "bugReport", locale,
211                new Object[]
212                {
213                    logDirectory
214                });
215 
216    }
217 
218    /**
219     * Gets the text of message <code>bugReportUrl</code>.
220     * <blockquote><pre>Bitte melden Sie dieses Problem unter {1}. Fügen Sie Ihrem Fehlerbericht bitte eine Kopie der aktuellen Protokolldateien der Anwendung aus Verzeichnis {0} bei.</pre></blockquote>
221     * <blockquote><pre>Please report this at {1} including a copy of the logfiles located in directory {0}.</pre></blockquote>
222     *
223     * @param locale The locale of the message instance to return.
224     * @param logDirectory Directory holding the application's logfiles.
225     * @param trackerUrl URL to the application's online bugtracking system.
226     *
227     * @return Information about how to report a bug.
228     */
229    private String getBugReportUrlMessage( final Locale locale,
230            final java.lang.String logDirectory,
231            final java.lang.String trackerUrl )
232    {
233        return ContainerFactory.getContainer().
234            getMessage( this, "bugReportUrl", locale,
235                new Object[]
236                {
237                    logDirectory,
238                    trackerUrl
239                });
240 
241    }
242 
243    /**
244     * Gets the text of message <code>bugReportEmail</code>.
245     * <blockquote><pre>Bitte melden Sie dieses Problem per eMail an {1}. Fügen Sie Ihrem Fehlerbericht bitte eine Kopie der aktuellen Protokolldateien der Anwendung aus Verzeichnis {0} bei.</pre></blockquote>
246     * <blockquote><pre>Please report this by sending an email to {1} including a copy of the logfiles located in directory {0}.</pre></blockquote>
247     *
248     * @param locale The locale of the message instance to return.
249     * @param logDirectory Directory holding the application's logfiles.
250     * @param reportAddress Email address to send bugreports to.
251     *
252     * @return Information about how to report a bug.
253     */
254    private String getBugReportEmailMessage( final Locale locale,
255            final java.lang.String logDirectory,
256            final java.lang.String reportAddress )
257    {
258        return ContainerFactory.getContainer().
259            getMessage( this, "bugReportEmail", locale,
260                new Object[]
261                {
262                    logDirectory,
263                    reportAddress
264                });
265 
266    }
267 
268    /**
269     * Gets the text of message <code>bugReportUrlAndEmail</code>.
270     * <blockquote><pre>Bitte melden Sie dieses Problem entweder unter {1} oder per eMail an {2}. Fügen Sie Ihrem Fehlerbericht bitte eine Kopie der aktuellen Protokolldateien der Anwendung aus Verzeichnis {0} bei.</pre></blockquote>
271     * <blockquote><pre>Please report this at {1} or send an email to {2} including a copy of the logfiles located in directory {0}.</pre></blockquote>
272     *
273     * @param locale The locale of the message instance to return.
274     * @param logDirectory Directory holding the application's logfiles.
275     * @param trackerUrl URL to the application's online bugtracking system.
276     * @param reportAddress Email address to alternatively send bugreports to.
277     *
278     * @return Information about how to report a bug.
279     */
280    private String getBugReportUrlAndEmailMessage( final Locale locale,
281            final java.lang.String logDirectory,
282            final java.lang.String trackerUrl,
283            final java.lang.String reportAddress )
284    {
285        return ContainerFactory.getContainer().
286            getMessage( this, "bugReportUrlAndEmail", locale,
287                new Object[]
288                {
289                    logDirectory,
290                    trackerUrl,
291                    reportAddress
292                });
293 
294    }
295 
296// </editor-fold>//GEN-END:jdtausMessages
297 
298    //----------------------------------------------------------------Messages--
299}

[all classes][org.jdtaus.core.messages]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov