//==============================================================================
// DiskCacheTest.java
//------------------------------------------------------------------------------
package tribble.io;
// System imports
import java.io.File;
import java.io.IOException;
import java.lang.String;
import java.lang.Exception;
import java.util.Date;
// Local imports
import tribble.io.DiskCacheManager;
import tribble.io.FileCacheManagerI;
/*******************************************************************************
* Disk file cache manager test driver.
*
* @version $Revision: 1.2 $ $Date: 2002/06/07 04:11:17 $
* @since 2002-06-05
* @author
* David R. Tribble,
* david@tribble.com
*
* Copyright ©2002 by David R. Tribble, all rights reserved.
*
* @see DiskCacheManager
* @see FileCacheManagerI
*/
class DiskCacheTest
{
// Identification
/** Revision information. */
static final String REV =
"@(#)tribble/io/DiskCacheTest.java $Revision: 1.2 $ $Date: 2002/06/07 04:11:17 $\n";
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Private variables
/** Local cache directory name. */
private File m_dir =
new File("/tmp/cache");
/** Local cache directory control (index) file. */
private String m_indexFname =
"cache.ind";
/** Local cache directory lock (mutex) file. */
private File m_lockFname =
new File("cache.lck");
/** A disk cache manager. */
private FileCacheManagerI m_cache;
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Public static methods
/***************************************************************************
* Test driver.
*
* @param args
* Command line arguments.
*
* @since 1.1, 2002-06-05
*/
public static void main(String[] args)
{
(new DiskCacheTest()).run(args);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Private constructors
/***************************************************************************
* Default constructor.
*
* @since 1.1, 2002-06-05
*/
private DiskCacheTest()
{
// Do nothing
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Private methods
/***************************************************************************
* Test driver.
*
* @param args
* Command line arguments.
*
* @since 1.1, 2002-06-05
*
* @see #main
*/
private void run(String[] args)
{
try
{
Date now;
int r;
now = new Date();
// Get args
if (args.length > 0)
m_dir = new File(args[0]);
if (args.length > 1)
m_indexFname = args[1];
// Create and open a disk cache manager object
m_cache = new DiskCacheManager();
m_cache.open(m_dir, m_indexFname);
r = (int) now.getTime();
for (int i = 1; i <= 3; i++)
{
String docId;
File f;
// Create a new cached document file
r = 37*r + 5;
r = (r < 0 ? -r : r);
switch (r % 5)
{
case 0:
case 1:
docId = "Document No. " + (r % 100000);
break;
case 2:
case 3:
docId = "My File " + (r % 100000);
break;
case 4:
default:
docId = "le " + (r % 100000) + " fiche";
break;
}
f = m_cache.createFile(docId);
System.out.println("Created: docId=[" + docId + "]");
System.out.println(" fname=\"" + f.getAbsolutePath() + "\"");
}
///...
m_cache.close();
}
catch (IOException ex)
{
// Exception
System.out.println("*** IOException");
//System.out.println(ex);
ex.printStackTrace();
}
}
}
// End DiskCacheTest.java