1 /***
2 Copyright (C) 2005 The Java Community
3
4 This program is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free Software
6 Foundation; either version 2 of the License, or (at your option) any later
7 version.
8
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15 Place, Suite 330, Boston, MA 02111-1307 USA.
16 */
17 package org.bejug.javacareers.feeder.parser;
18
19 import java.util.ArrayList;
20 import java.util.Collections;
21 import java.util.List;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25 import org.bejug.javacareers.feeder.AggregatorFeederTask;
26 import org.bejug.javacareers.jobs.model.JobOffer;
27 import org.springframework.test.AbstractDependencyInjectionSpringContextTests;
28
29 /***
30 * Created by IntelliJ IDEA.
31 * User: bbr
32 * Date: 3-aug-2005
33 * Time: 16:47:08
34 * To change this template use File | Settings | File Templates.
35 */
36
37 /***
38 * @author bbr (last modified by $Author: shally $)
39 * @version $Revision: 1.7 $ - $Date: 2005/12/21 11:38:42 $
40 */
41 public class RssFeedCompareTests extends AbstractDependencyInjectionSpringContextTests {
42 private static final Log LOG = LogFactory.getLog(RssFeedCompareTests.class);
43 private AggregatorFeederTask aggregatorFeederTask;
44
45 /***
46 * @return locations
47 */
48 protected String[] getConfigLocations() {
49 return new String[]{"/org/bejug/javacareers/applicationContext-test.xml", "/org/bejug/javacareers/applicationContext-feeder.xml"};
50 }
51
52 /***
53 * @return aggregatorFeederTask
54 */
55 public AggregatorFeederTask getAggregatorFeederTask() {
56 return aggregatorFeederTask;
57 }
58
59 /***
60 * @param aggregatorFeederTask AggregatorFeederTask.
61 */
62 public void setAggregatorFeederTask(AggregatorFeederTask aggregatorFeederTask) {
63 this.aggregatorFeederTask = aggregatorFeederTask;
64 }
65
66 /***
67 *
68 */
69 public void testCompareFeeds() {
70 JobOffer offer1 = new JobOffer();
71 JobOffer offer2 = new JobOffer();
72 JobOffer offer3 = new JobOffer();
73 JobOffer offer4 = new JobOffer();
74 offer1.setFeedUrl("http://www.jcs.be");
75 offer2.setFeedUrl("http://www.jcs.be");
76 offer3.setFeedUrl("http://www.jcs.be");
77 offer4.setFeedUrl("http://www.jcs.be");
78 offer1.setUrl("http://www.jcs.be/1.jsp");
79 offer2.setUrl("http://www.jcs.be/2.jsp");
80 offer3.setUrl("http://www.jcs.be/3.jsp");
81 offer4.setUrl("http://www.jcs.be/4.jsp");
82 offer1.setTitle("Offer1");
83 offer2.setTitle("Offer2");
84 offer3.setTitle("Offer3");
85 offer4.setTitle("Offer4");
86 offer1.setDescription("Offer1 desc");
87 offer2.setDescription("Offer2 desc");
88 offer3.setDescription("Offer3 desc");
89 offer4.setDescription("Offer4 desc");
90
91 List oldList = new ArrayList();
92
93 oldList.add(offer2);
94
95 oldList.add(offer1);
96 oldList.add(offer3);
97 oldList.add(offer4);
98
99 JobOffer offer5 = new JobOffer();
100 offer5.setFeedUrl("http:///www.jcs.be");
101 offer5.setUrl(offer1.getUrl());
102 offer5.setTitle("Offer5");
103 offer5.setDescription("Offer5 desc");
104
105 JobOffer offer6 = new JobOffer();
106 offer6.setFeedUrl("http:///www.jcs.be");
107 offer6.setUrl("http:///www.jcs.be/6.jsp");
108 offer6.setTitle("Offer6");
109 offer6.setDescription("Offer6 desc");
110
111 List newList = new ArrayList();
112
113 newList.add(offer5);
114 newList.add(offer2);
115 newList.add(offer6);
116 LOG.info("Debug: newList.size: "+newList.size());
117 for (int i = 0; i < newList.size(); i++) {
118 JobOffer jobOffer = (JobOffer) newList.get(i);
119 LOG.info("Debug: Url at pos "+i+": "+jobOffer.getUrl());
120 }
121 LOG.info("Debug: oldList.size: "+oldList.size());
122 for (int i = 0; i < oldList.size(); i++) {
123 JobOffer jobOffer = (JobOffer) oldList.get(i);
124 LOG.info("Debug: Url at pos "+i+": "+jobOffer.getUrl());
125 }
126 LOG.info("Debug: ");
127 LOG.info("Debug: Done");
128
129 Collections.sort(newList, aggregatorFeederTask.getByFeedURL());
130 Collections.sort(oldList, aggregatorFeederTask.getByFeedURL());
131
132 for (int i = 0; i < newList.size(); i++) {
133 JobOffer jobOffer = (JobOffer) newList.get(i);
134 LOG.info("Debug: Url at pos "+i+": "+jobOffer.getUrl());
135 }
136 LOG.info("Debug: oldList.size: "+oldList.size());
137 for (int i = 0; i < oldList.size(); i++) {
138 JobOffer jobOffer = (JobOffer) oldList.get(i);
139 LOG.info("Debug: Url at pos "+i+": "+jobOffer.getUrl());
140 }
141 LOG.info("Debug: ");
142 LOG.info("Debug: Done");
143
144 aggregatorFeederTask.mergeAndUpdateLists(newList,oldList);
145
146 LOG.info("Debug: newList.size: "+newList.size());
147 for (int i = 0; i < newList.size(); i++) {
148 JobOffer jobOffer = (JobOffer) newList.get(i);
149 LOG.info("Debug: Url at pos "+i+": "+jobOffer.getUrl());
150 }
151 LOG.info("Debug: oldList.size: "+oldList.size());
152 for (int i = 0; i < oldList.size(); i++) {
153 JobOffer jobOffer = (JobOffer) oldList.get(i);
154 LOG.info("Debug: Url at pos "+i+": "+jobOffer.getUrl());
155 }
156
157
158
159
160 }
161
162
163 }
164
165 /***
166 * $Log: RssFeedCompareTests.java,v $
167 * Revision 1.7 2005/12/21 11:38:42 shally
168 * *** empty log message ***
169 *
170 * Revision 1.6 2005/12/08 14:53:46 shally
171 * Opkuis voor checkstyle.
172 *
173 * Revision 1.5 2005/09/30 14:38:08 bavo_jcs
174 * Fixed URL
175 *
176 * Revision 1.4 2005/09/13 08:11:06 schauwvliege
177 * organize imports
178 *
179 * Revision 1.3 2005/08/08 12:08:01 bme_jcs
180 * resolved checkstyle errors
181 *
182 * Revision 1.2 2005/08/05 14:21:27 bavo_jcs
183 * Feeder smart delete fix
184 *
185 * Revision 1.1 2005/08/03 15:23:19 bavo_jcs
186 * Feeder Smart delete
187 *
188 */