/**
 * 
 */
package com.github.podd.utils;

import info.aduna.iteration.Iterations;

import java.util.List;

import org.openrdf.model.Resource;
import org.openrdf.model.Statement;
import org.openrdf.model.URI;
import org.openrdf.repository.RepositoryConnection;

/**
 * This class contains static methods to help debug contents of an RDF repository
 * 
 * @author kutila
 * 
 */
public class DebugUtils
{
    
    /**
     * Helper method prints the contents of the given context of a Repository
     */
    public static void printContents(RepositoryConnection conn, final URI context) throws Exception
    {
        System.out.println("==================================================");
        System.out.println("Graph = " + context);
        System.out.println();
        final List<Statement> repoResults = Iterations.asList(conn.getStatements(null, null, null, false, context));
        for(final Statement stmt : repoResults)
        {
            System.out.println("   {" + stmt.getSubject() + "}   <" + stmt.getPredicate() + ">  {" + stmt.getObject()
                    + "}");
        }
        System.out.println("==================================================");
    }
    
    /**
     * Helper method prints the contents of the given context of a Repository
     */
    public static void printContexts(RepositoryConnection conn) throws Exception
    {
        System.out.println("==================================================");
        System.out.println("Contexts in Repository:  ");
        for(final Resource context : Iterations.asSet(conn.getContextIDs()))
        {
            System.out.println(context);
        }
        System.out.println("==================================================");
    }
    
}

@@ -102,16 +102,48 @@
 .List;%0A%0A
+import org.openrdf.model.Model;%0A
 import o
@@ -1762,20 +1762,648 @@
 ===%22);%0A    %7D
+%0A%0A    public static void printContents(final Model model) throws Exception%0A    %7B%0A        System.out.println(%22==================================================%22);%0A        System.out.println(%22Model Contents: %22);%0A        System.out.println();%0A        final Statement%5B%5D allStatements = model.toArray(new Statement%5B0%5D);%0A        %0A        for(final Statement stmt : allStatements)%0A        %7B%0A            System.out.println(%22   %7B%22 + stmt.getSubject() + %22%7D   %3C%22 + stmt.getPredicate() + %22%3E  %7B%22 + stmt.getObject()%0A                    + %22%7D%22);%0A        %7D%0A        System.out.println(%22==================================================%22);%0A    %7D
 %0A    %0A%7D%0A

add debug method to print all statements in a Model