/*
* Created on Feb 2, 2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.mindswap.swoop.automation;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
/**
* @author Dave Wang
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class OntologyGrabber
{
public static void saveLocal( String uri, String localfile, BufferedWriter logWriter, int counter )
{
try
{
URL url = new URL( uri );
BufferedReader reader = new BufferedReader( new InputStreamReader( url.openConnection().getInputStream()) );
BufferedWriter writer = new BufferedWriter( new FileWriter( "onts/" + localfile) );
String line = null;
while ( ( line = reader.readLine()) != null )
{
writer.write( line );
writer.newLine();
}
logWriter.write( "[" + counter + "]" + uri + " saved. ");
logWriter.newLine();
logWriter.flush();
writer.flush();
writer.close();
reader.close();
}
catch ( Exception e )
{
e.printStackTrace();
try
{
logWriter.write( "[" + counter + "]" + uri + " failed at saving: " + Utils.getExceptionTrace( e ) );
logWriter.newLine();
logWriter.flush();
}
catch ( IOException ex )
{
System.err.println( "Writing log failed. ");
ex.printStackTrace();
}
}
}
public static String convertToFilename( String line )
{
line = line.replaceAll("\\\\", "" );
line = line.replaceAll("/", "" );
line = line.replaceAll("\\?", "" );
line = line.replaceAll("\\*", "" );
line = line.replaceAll(":", "" );
line = line.replaceAll("<", "" );
line = line.replaceAll(">", "" );
line = line.replaceAll("|", "" );
line = line.replaceAll("\"", "" );
return line;
}
public static String formatNumInDigits( int num, int numDig )
{
String n = "" + num ;
int length = n.length();
while ( length < numDig )
{
n = "0" + n;
length = n.length();
}
return n;
}
public static void main( String [] args )
{
try
{
BufferedReader reader = new BufferedReader( new FileReader( "physicalURIs.txt" ) );
String line = null;
int count = 1;
BufferedWriter logwriter = new BufferedWriter( new FileWriter( "OntoGrabberLog.txt") );
while ( (line = reader.readLine()) != null )
{
if ( line.startsWith("*") )
continue;
line = line.trim();
OntologyGrabber.saveLocal( line, OntologyGrabber.formatNumInDigits(count,4) + "-" + OntologyGrabber.convertToFilename( line ), logwriter, count );
count++;
System.out.println("Written " + line );
}
logwriter.close();
}
catch ( Exception e )
{
e.printStackTrace();
}
}
}