xml-xindice-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Todd Byrne <by...@cns.montana.edu>
Subject Re: how to get collections tree from xindice
Date Thu, 26 May 2005 22:27:37 GMT
Try collection.getResourceCount() it will return you the number of
documents in the collection and start.getChildCollectionCount() to get
the number of child collections.

Change
  //int  liczbaDokumentow = (int)kolekcja.getDocumentCount();
to
int  liczbaDokumentow = (int)kolekcja.getResourceCount();

And that should get you going.

Todd


Marcin Goldyn wrote:
> i know how to get ChildCollections and built collection tree
> but also i have to get documents stores in particular collections. There 
> are methods like getDocumentsCount() and listDocuments() in 
> org.apache.xindice.core.Collection class but this class isn`t work with 
> org.xmldb.api.DatabaseManager so i cant register database. Maybe there 
> is another way to register database using 
> org.apache.xindice.core.Collection class? or there is another way to 
> listDocumetns and count their number??
> 
> DBConnection.java
> package praca.app;
> 
> 
> 
> import org.xmldb.api.base.Database;
> import org.xmldb.api.DatabaseManager;
> 
> 
> 
> public final class DBConnection
> {
>  public String addressIP;
>  public String port;
>  protected static Database db = null;
> 
> 
> 
> 
>  Database getDB() throws Exception
>  {
> 
>     try
>  {
>     db = 
> (Database)Class.forName("org.apache.xindice.client.xmldb.DatabaseImpl").newInstance();

> 
>     DatabaseManager.registerDatabase(db);
>  }
>     catch(Exception e)
>  {
>      System.out.println(e.getMessage());
>      e.printStackTrace();
>  }
>    return db;
>  }
> 
> 
> }
> 
> CollectionTree.java
> import org.xmldb.api.DatabaseManager;
> import org.xmldb.api.base.Collection;
> import org.xmldb.api.base.Database;
> 
> //import org.apache.xindice.client.xmldb.DatabaseImpl;
> //import org.apache.xindice.core.Collection;
> //import org.apache.xindice.core.Database;
> 
> public class CollectionTree
> {
>    public static  Database db = null;
>    public static final String 
> XINDICEURI="xmldb:xindice://localhost:8080/db/";
>    protected static Collection collection;
>    static int errorCode = 0;
> static int okCode = 1;
> static int liczbaSpacji = 0;
> 
> public static void ileSpacji(int liczba)
> {
>  if (liczba>0)
>  {
>    for (int i=0; i<liczba; i++)
>     System.out.print("  ");
>  }
> }
> 
>    public static int treeCreate(Collection kolekcja) throws Exception
>    {
> 
>     int  liczbaKolekcji = (int)kolekcja.getChildCollectionCount();
>     //int  liczbaDokumentow = (int)kolekcja.getDocumentCount();
> 
>     if (liczbaKolekcji > 0)
>      {
>        String tablica[] = new String[liczbaKolekcji];
>        tablica = kolekcja.listChildCollections();
> 
>        for (int i=0; i<liczbaKolekcji; i++)
>        {
>         ileSpacji(liczbaSpacji);
>         System.out.println("<"+tablica[i]+">");
>         liczbaSpacji++;
>         treeCreate(kolekcja.getChildCollection(tablica[i]));
>         liczbaSpacji--;
>         ileSpacji(liczbaSpacji);
>         kolekcja.getClass();
>         /*if (liczbaDokumentow > 0)
>         {
>          String tablicaDok[] = new String[liczbaDokumentow];
>           tablicaDok = kolekcja.listDocuments();
>           for (int j=0; j<liczbaDokumentow; j++)
>             {
>            System.out.println("<DOC "+tablicaDok[j]+" /");
>             }
>         }
>         */
>         System.out.println("</"+tablica[i]+">");
> 
>        }
> 
>      }
>     else
>          return errorCode;
>     return okCode;
>    }
>    public static void main(String[] args) throws Exception
> {
> 
> 
> 
>  try
>  {
>    DBConnection dbcon = new DBConnection();
>    db = dbcon.getDB();
>    collection = DatabaseManager.getCollection(XINDICEURI);
> 
>  }
>  catch(Exception e)
>  {
>   System.err.println("XML:DB Exception occured " +
>          e.getMessage());
>   e.printStackTrace();
>  }
> 
> 
>  if (collection.getChildCollectionCount() > 0)
>   treeCreate(collection);
> 
> }
> 
> }
> 


Mime
View raw message