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  */