Clover Coverage Report - Pebble 2.5-SNAPSHOT
Coverage timestamp: Sat Jun 12 2010 09:39:29 EST
../../../../../img/srcFileCovDistChart9.png 23% of files have more coverage
11   86   5   3,67
4   27   0,45   3
3     1,67  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  XmlRpcNotificationListener       Line # 44 11 0% 5 2 88,9% 0.8888889
 
  (180)
 
1    /*
2    * Copyright (c) 2003-2006, Simon Brown
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * - Redistributions of source code must retain the above copyright
9    * notice, this list of conditions and the following disclaimer.
10    *
11    * - Redistributions in binary form must reproduce the above copyright
12    * notice, this list of conditions and the following disclaimer in
13    * the documentation and/or other materials provided with the
14    * distribution.
15    *
16    * - Neither the name of Pebble nor the names of its contributors may
17    * be used to endorse or promote products derived from this software
18    * without specific prior written permission.
19    *
20    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21    * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22    * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23    * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30    * POSSIBILITY OF SUCH DAMAGE.
31    */
32    package net.sourceforge.pebble.event.blogentry;
33   
34    import net.sourceforge.pebble.domain.BlogEntry;
35    import net.sourceforge.pebble.domain.Blog;
36    import net.sourceforge.pebble.webservice.UpdateNotificationPingsClient;
37    import net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent;
38   
39    /**
40    * Sends XML-RPC pings to websites when a blog entry is added.
41    *
42    * @author Simon Brown
43    */
 
44    public class XmlRpcNotificationListener extends BlogEntryListenerSupport {
45   
46    /** the name of the URL list property */
47    public static final String URL_LIST_KEY = "XmlRpcNotificationListener.urlList";
48   
49    /**
50    * Called when a blog entry has been added.
51    *
52    * @param event a BlogEntryEvent instance
53    */
 
54  276 toggle public void blogEntryAdded(BlogEntryEvent event) {
55  276 BlogEntry blogEntry = event.getBlogEntry();
56   
57  276 if (blogEntry.isPublished()) {
58  78 sendNotification(blogEntry);
59    }
60    }
61   
62    /**
63    * Called when a blog entry has been published.
64    *
65    * @param event a BlogEntryEvent instance
66    */
 
67  14 toggle public void blogEntryPublished(BlogEntryEvent event) {
68  14 sendNotification(event.getBlogEntry());
69    }
70   
71    /**
72    * Sends the notification.
73    *
74    * @param blogEntry the BlogEntry instance
75    */
 
76  92 toggle private void sendNotification(BlogEntry blogEntry) {
77  92 Blog blog = blogEntry.getBlog();
78  92 String urlList = blog.getPluginProperties().getProperty(URL_LIST_KEY);
79  92 String urls[] = new String[0];
80  92 if (urlList != null) {
81  0 urls = urlList.split(",");
82    }
83  92 UpdateNotificationPingsClient client = new UpdateNotificationPingsClient();
84  92 client.sendUpdateNotificationPing(blog, urls);
85    }
86    }