/*
* This file or a portion of this file is licensed under the terms of
* the Globus Toolkit Public License, found in file GTPL, or at
* http://www.globus.org/toolkit/download/license.html. This notice must
* appear in redistributions of this file, with or without modification.
*
* Redistributions of this Software, with or without modification, must
* reproduce the GTPL in: (1) the Software, or (2) the Documentation or
* some other similar material which is provided with the Software (if
* any).
*
* Copyright 1999-2004 University of Chicago and The University of
* Southern California. All rights reserved.
*/
package org.griphyn.vdl.router;
import org.griphyn.vdl.classes.*;
import org.griphyn.vdl.router.*;
import org.griphyn.vdl.dbschema.*;
import org.griphyn.vdl.dax.*;
import org.griphyn.vdl.util.Logging;
import java.io.*;
import java.sql.SQLException;
import java.lang.reflect.*;
public class DiamondTest {
public static void main( String[] args )
throws IllegalArgumentException, IOException, ClassNotFoundException,
NoSuchMethodException, InstantiationException, SQLException,
IllegalAccessException, InvocationTargetException
{
// create debug output
Logging.instance().register( "dag", System.err );
Logging.instance().register( "state", System.err );
Logging.instance().register( "route", System.err );
// create new route object, in memory classes
Definitions original = org.griphyn.vdl.router.CreateDiamond.create();
// serialize onto disk
Logging.instance().log( "default", 0, "serializing to disk" );
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("data.out"));
oos.writeObject(original);
oos.flush();
oos.close();
Logging.instance().log( "default", 0, "serializing done" );
// de-serialize from file
Logging.instance().log( "default", 0, "de-serialize from disk" );
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.out"));
Definitions diamond = (Definitions) ois.readObject();
ois.close();
Logging.instance().log( "default", 0, "de-serializing done" );
// create a router
Route r = new Route( new InMemorySchema(diamond) );
// request known production
BookKeeper bk = r.requestLfn("f.d");
// show us the result
System.out.println( bk.toString() );
// show the DAX
System.out.println( "----------" );
System.out.println( bk.getDAX("testing").toXML("",null) );
System.exit(0);
}
}