KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > blojsom > plugin > syndication > module > BlojsomImplementation


1 /**
2  * Copyright (c) 2003-2006, David A. Czarnecki
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 notice, this list of conditions and the
9  * following disclaimer.
10  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
11  * following disclaimer in the documentation and/or other materials provided with the distribution.
12  * Neither the name of "David A. Czarnecki" and "blojsom" nor the names of its contributors may be used to
13  * endorse or promote products derived from this software without specific prior written permission.
14  * Products derived from this software may not be called "blojsom", nor may "blojsom" appear in their name,
15  * without prior written permission of David A. Czarnecki.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
18  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
19  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
21  * EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */

31 package org.blojsom.plugin.syndication.module;
32
33 import com.sun.syndication.feed.module.ModuleImpl;
34
35 import java.util.ArrayList JavaDoc;
36 import java.util.List JavaDoc;
37
38 /**
39  * Implementation of module for parsing blojsom-specific information using ROME
40  *
41  * @author David Czarnecki
42  * @since blojsom 3.0
43  * @version $Id: BlojsomImplementation.java,v 1.4 2006/08/18 17:24:12 czarneckid Exp $
44  */

45 public class BlojsomImplementation extends ModuleImpl implements Blojsom {
46
47     private String JavaDoc _author;
48     private String JavaDoc _technoratiTags;
49     private String JavaDoc _postSlug;
50     private boolean _allowsComments;
51     private boolean _allowsTrackbacks;
52     private boolean _allowsPingbacks;
53     private List JavaDoc _comments;
54     private List JavaDoc _trackbacks;
55     private List JavaDoc _pingbacks;
56     private List JavaDoc _metadata;
57
58     public BlojsomImplementation() {
59         super(Blojsom.class, Blojsom.BLOJSOM_URI);
60     }
61
62     public Class JavaDoc getInterface() {
63         return Blojsom.class;
64     }
65
66     public void copyFrom(Object JavaDoc object) {
67         Blojsom blojsom = (Blojsom) object;
68
69         setAuthor(blojsom.getAuthor());
70         setTechnoratiTags(blojsom.getTechnoratiTags());
71         setPostSlug(blojsom.getPostSlug());
72         setAllowsComments(blojsom.getAllowsComments());
73         setAllowsTrackbacks(blojsom.getAllowsTrackbacks());
74         setAllowsPingbacks(blojsom.getAllowsPingbacks());
75
76         // Process comments
77
List JavaDoc comments = blojsom.getComments();
78         List JavaDoc copiedComments = new ArrayList JavaDoc();
79         for (int i = 0; i < comments.size(); i++) {
80             SimpleComment comment = (SimpleComment) comments.get(i);
81             SimpleComment copiedComment = new SimpleComment();
82             copiedComment.setAuthor(comment.getAuthor());
83             copiedComment.setAuthorEmail(comment.getAuthorEmail());
84             copiedComment.setAuthorURL(comment.getAuthorURL());
85             copiedComment.setComment(comment.getComment());
86             copiedComment.setIp(comment.getIp());
87             copiedComment.setCommentDate(comment.getCommentDate());
88             copiedComment.setStatus(comment.getStatus());
89             copiedComment.setMetadata(comment.getMetadata());
90
91             copiedComments.add(copiedComment);
92         }
93         setComments(copiedComments);
94
95         // Process trackbacks
96
List JavaDoc trackbacks = blojsom.getTrackbacks();
97         List JavaDoc copiedTrackbacks = new ArrayList JavaDoc();
98         for (int i = 0; i < trackbacks.size(); i++) {
99             SimpleTrackback trackback = (SimpleTrackback) trackbacks.get(i);
100             SimpleTrackback copiedTrackback = new SimpleTrackback();
101             copiedTrackback.setBlogName(trackback.getBlogName());
102             copiedTrackback.setExcerpt(trackback.getExcerpt());
103             copiedTrackback.setIp(trackback.getIp());
104             copiedTrackback.setStatus(trackback.getStatus());
105             copiedTrackback.setTitle(trackback.getTitle());
106             copiedTrackback.setTrackbackDate(trackback.getTrackbackDate());
107             copiedTrackback.setUrl(trackback.getUrl());
108             copiedTrackback.setMetadata(trackback.getMetadata());
109
110             copiedTrackbacks.add(copiedTrackback);
111         }
112         setTrackbacks(copiedTrackbacks);
113
114         // Process pingbacks
115
List JavaDoc pingbacks = blojsom.getPingbacks();
116         List JavaDoc copiedPingbacks = new ArrayList JavaDoc();
117         for (int i = 0; i < pingbacks.size(); i++) {
118             SimplePingback pingback = (SimplePingback) pingbacks.get(i);
119             SimplePingback copiedPingback = new SimplePingback();
120             copiedPingback.setBlogName(pingback.getBlogName());
121             copiedPingback.setExcerpt(pingback.getExcerpt());
122             copiedPingback.setIp(pingback.getIp());
123             copiedPingback.setStatus(pingback.getStatus());
124             copiedPingback.setTitle(pingback.getTitle());
125             copiedPingback.setPingbackDate(pingback.getPingbackDate());
126             copiedPingback.setUrl(pingback.getUrl());
127             copiedPingback.setSourceURI(pingback.getSourceURI());
128             copiedPingback.setTargetURI(pingback.getTargetURI());
129             copiedPingback.setMetadata(pingback.getMetadata());
130
131             copiedPingbacks.add(copiedPingback);
132         }
133         setPingbacks(copiedPingbacks);
134
135         // Process metadata
136
List JavaDoc metadata = blojsom.getMetadata();
137         List JavaDoc copiedMetadata = new ArrayList JavaDoc();
138         for (int i = 0; i < metadata.size(); i++) {
139             Metadata metadataItem = (Metadata) metadata.get(i);
140             Metadata copiedMetadataItem = new Metadata();
141             copiedMetadataItem.setKey(metadataItem.getKey());
142             copiedMetadataItem.setValue(metadataItem.getValue());
143
144             copiedMetadata.add(copiedMetadataItem);
145         }
146         setMetadata(copiedMetadata);
147     }
148
149     public String JavaDoc getAuthor() {
150         return _author;
151     }
152
153     public void setAuthor(String JavaDoc author) {
154         _author = author;
155     }
156
157     public String JavaDoc getTechnoratiTags() {
158         return _technoratiTags;
159     }
160
161     public void setTechnoratiTags(String JavaDoc technoratiTags) {
162         _technoratiTags = technoratiTags;
163     }
164
165     public String JavaDoc getPostSlug() {
166         return _postSlug;
167     }
168
169     public void setPostSlug(String JavaDoc postSlug) {
170         _postSlug = postSlug;
171     }
172
173     public boolean getAllowsComments() {
174         return _allowsComments;
175     }
176
177     public void setAllowsComments(boolean allowsComments) {
178         _allowsComments = allowsComments;
179     }
180
181     public boolean getAllowsTrackbacks() {
182         return _allowsTrackbacks;
183     }
184
185     public void setAllowsTrackbacks(boolean allowsTrackbacks) {
186         _allowsTrackbacks = allowsTrackbacks;
187     }
188
189     public boolean getAllowsPingbacks() {
190         return _allowsPingbacks;
191     }
192
193     public void setAllowsPingbacks(boolean allowsPingbacks) {
194         _allowsPingbacks = allowsPingbacks;
195     }
196
197     public List JavaDoc getComments() {
198         return _comments;
199     }
200
201     public void setComments(List JavaDoc comments) {
202         _comments = comments;
203     }
204
205     public List JavaDoc getTrackbacks() {
206         return _trackbacks;
207     }
208
209     public void setTrackbacks(List JavaDoc trackbacks) {
210         _trackbacks = trackbacks;
211     }
212
213     public List JavaDoc getPingbacks() {
214         return _pingbacks;
215     }
216
217     public void setPingbacks(List JavaDoc pingbacks) {
218         _pingbacks = pingbacks;
219     }
220
221     public List JavaDoc getMetadata() {
222         return _metadata;
223     }
224
225     public void setMetadata(List JavaDoc metadata) {
226         _metadata = metadata;
227     }
228
229     public String JavaDoc getUri() {
230         return Blojsom.BLOJSOM_URI;
231     }
232 }
233
Popular Tags