/* * $Id$ * * This file is part of the OpenLink Software Virtuoso Open-Source (VOS) * project. * * Copyright (C) 1998-2012 OpenLink Software * * This project is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; only version 2 of the License, dated June 1991. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * */ package virtuoso.jena.driver; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.jena.atlas.io.IndentedWriter; import com.hp.hpl.jena.update.UpdateException; public class VirtuosoUpdateRequest { private List requests = new ArrayList(); private VirtGraph graph; private String virt_query; java.sql.Statement stmt = null; public VirtuosoUpdateRequest(VirtGraph _graph) { graph = _graph; } public VirtuosoUpdateRequest(String query, VirtGraph _graph) { this(_graph); virt_query = query; requests.add((Object) query); } public void exec() { try { stmt = graph.createStatement(); for (Iterator iter = requests.iterator(); iter.hasNext();) { String query = "sparql\n " + (String) iter.next(); stmt.execute(query); } stmt.close(); stmt = null; } catch (Exception e) { throw new UpdateException("Convert results are FAILED.:", e); } } public void addUpdate(String update) { requests.add(update); } public Iterator iterator() { return requests.iterator(); } public String toString() { StringBuffer b = new StringBuffer(); for (Iterator iter = requests.iterator(); iter.hasNext();) { b.append((String) iter.next()); b.append("\n"); } return b.toString(); } public void output(IndentedWriter out) { boolean first = true; out.println(); for (Iterator iter = requests.iterator(); iter.hasNext();) { if (!first) out.println(" # ----------------"); else first = false; System.out.println((String) iter.next()); out.ensureStartOfLine(); } } }