import java.io.*; import java.sql.*; import java.net.URL; import XMLDocuments; import oracle.xml.parser.v2.*; // Command-line utility to get, delete, list, and save XML documents public class XMLDoc { public static void main(String[] args) throws Exception { Connection conn = Examples.getConnection(); PrintWriter out = new PrintWriter(System.out); int argCount = args.length; if (argCount > 1) { String filename = null; try { String cmd = args[0]; filename = args[1]; if (cmd.equals("get")) { writeReader(XMLDocuments.getReader(conn,filename),out); } else if (cmd.equals("list")) { XMLDocuments.list(conn,filename,out);} else if (cmd.equals("delete")) { XMLDocuments.delete(conn,filename);} else if (cmd.equals("save") && argCount > 2) { String docname = args[2]; URL u = URLUtils.newURL(filename); Reader r = new InputStreamReader(u.openStream()); XMLDocuments.save(conn,docname,r); } } catch (FileNotFoundException fnf) { out.println("File '"+filename+"' not found."); } } else { out.println("usage: XMLDoc [get|delete|list|[save file]] docname"); } out.close(); conn.close(); } // Write a Reader to a Writer private static void writeReader(Reader r, Writer out) throws IOException { char[] buffer = new char[8192]; int length = -1; while ((length = r.read(buffer)) != -1) { out.write(buffer, 0, length); } out.flush(); } } |