KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > io > arc > ARCReaderFactoryTest


1 /* ARCReaderFactoryTest.java
2  *
3  * $Id: ARCReaderFactoryTest.java,v 1.7 2006/08/19 00:22:10 stack-sf Exp $
4  *
5  * Created Jul 15, 2005
6  *
7  * Copyright (C) 2005 Internet Archive.
8  *
9  * This file is part of the Heritrix web crawler (crawler.archive.org).
10  *
11  * Heritrix is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser Public License as published by
13  * the Free Software Foundation; either version 2.1 of the License, or
14  * any later version.
15  *
16  * Heritrix is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser Public License
22  * along with Heritrix; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  */

25 package org.archive.io.arc;
26
27 import java.io.File JavaDoc;
28 import java.io.IOException JavaDoc;
29 import java.net.MalformedURLException JavaDoc;
30 import java.net.URL JavaDoc;
31 import java.util.Iterator JavaDoc;
32
33 import org.archive.util.TmpDirTestCase;
34
35 public class ARCReaderFactoryTest extends TmpDirTestCase {
36 // public void testGetHttpURL() throws MalformedURLException, IOException {
37
// ARCReader reader = null;
38
// try {
39
// // TODO: I can get a single ARCRecord but trying to iterate from
40
// // a certain point is getting an EOR when I go to read GZIP header.
41
// reader = ARCReaderFactory.
42
// get(new URL("http://localhost/test.arc.gz"), 0);
43
// for (final Iterator i = reader.iterator(); i.hasNext();) {
44
// ARCRecord ar = (ARCRecord)i.next();
45
// System.out.println(ar.getMetaData().getUrl());
46
// }
47
// } finally {
48
// if (reader != null) {
49
// reader.close();
50
// }
51
// }
52
// }
53

54     /**
55      * Test File URL.
56      * If a file url, we just use the pointed to file. There is no
57      * copying down to a file in tmp that gets cleaned up after close.
58      * @throws MalformedURLException
59      * @throws IOException
60      */

61     public void testGetFileURL() throws MalformedURLException JavaDoc, IOException JavaDoc {
62         File JavaDoc arc = ARCWriterTest.createARCFile(getTmpDir(), true);
63         doGetFileUrl(arc);
64     }
65     
66     protected void doGetFileUrl(File JavaDoc arc)
67     throws MalformedURLException JavaDoc, IOException JavaDoc {
68         ARCReader reader = null;
69         File JavaDoc tmpFile = null;
70         try {
71             reader = ARCReaderFactory.
72                 get(new URL JavaDoc("file:////" + arc.getAbsolutePath()));
73             tmpFile = null;
74             for (Iterator JavaDoc i = reader.iterator(); i.hasNext();) {
75                 ARCRecord r = (ARCRecord)i.next();
76                 if (tmpFile == null) {
77                     tmpFile = new File JavaDoc(r.getMetaData().getArc());
78                 }
79             }
80             assertTrue(tmpFile.exists());
81         } finally {
82             if (reader != null) {
83                 reader.close();
84             }
85         }
86         assertTrue(tmpFile.exists());
87     }
88     
89     /**
90      * Test path or url.
91      * @throws MalformedURLException
92      * @throws IOException
93      */

94     public void testGetPathOrURL() throws MalformedURLException JavaDoc, IOException JavaDoc {
95         File JavaDoc arc = ARCWriterTest.createARCFile(getTmpDir(), true);
96         ARCReader reader = ARCReaderFactory.get(arc.getAbsoluteFile());
97         assertNotNull(reader);
98         reader.close();
99         doGetFileUrl(arc);
100     }
101 }
102
Popular Tags