Class xQuery

java.lang.Object
  extended by xQuery

public class xQuery
extends java.lang.Object

Hlavni class tohoto baliku
1. vezme xpath dotaz a naparsuje si ho do vnitrnich struktur
2. posklada sql dotaz
3. dotaz pusti proti DB


Field Summary
static int cnt
          pocet hitu (odpovedi)
(package private) static java.sql.Connection conn
          spojeni do databaze
(package private) static java.lang.Boolean dbg
          debugujeme -> true
(package private) static java.util.Vector index
          pole indexu do zaboniku prislusnych QN
(package private) static int ldocid
          posledni zpracovanavay document podle IDcka
(package private) static java.lang.String lres
          posledni vypsany vysledek (kvuli opakovani se)
(package private) static java.util.Vector S
          pole zasobniku jednotlivych QN od leaf k root
(package private) static java.util.Vector sbtr
          pomocny vector, ktery obsahuje vsechny QN od roota k listu
 
Constructor Summary
xQuery()
           
 
Method Summary
(package private) static int closeconn(java.sql.Connection cnt)
          zavre spojeni s DB
(package private) static java.lang.Boolean contIt(QueryNode qt)
          pomocna fce, kontroluje, zda ma cenu jeste pokracovat v iteraci
projde vsechny potomky QN az na listy a zjistuje, zda je u nich (=u listu) pridruzeny stream nakonci
(package private) static QueryNode getMinSource(QueryNode qn)
          vraci QN, ktery budeme zracovavat, vybira ten s minimalni pozici nextL na zasobniku
(package private) static void getSubtree(QueryNode qt, boolean first)
          z podstromu daneho elementu utvori seznam (vcetne korenoveho elemtu)
(package private) static java.lang.String iif(java.lang.Boolean a, java.lang.String b, java.lang.String c)
          pomocna fce, vraci 2.
static void main(java.lang.String[] args)
          spusteci procedura
1.
(package private) static int newconn()
          navaze spojeni do DB
(package private) static void printQT(QueryNode qt)
          vypisuje cely podstrom QT se vsemi moznymi parametry (pro ucely debuggingu)
(package private) static void printResults(int stc, int pos)
          vypisuje vysledky
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dbg

static java.lang.Boolean dbg
debugujeme -> true


cnt

public static int cnt
pocet hitu (odpovedi)


ldocid

static int ldocid
posledni zpracovanavay document podle IDcka


lres

static java.lang.String lres
posledni vypsany vysledek (kvuli opakovani se)


conn

static java.sql.Connection conn
spojeni do databaze


sbtr

static java.util.Vector sbtr
pomocny vector, ktery obsahuje vsechny QN od roota k listu


S

static java.util.Vector S
pole zasobniku jednotlivych QN od leaf k root


index

static java.util.Vector index
pole indexu do zaboniku prislusnych QN

Constructor Detail

xQuery

public xQuery()
Method Detail

newconn

static int newconn()
navaze spojeni do DB


closeconn

static int closeconn(java.sql.Connection cnt)
zavre spojeni s DB


iif

static java.lang.String iif(java.lang.Boolean a,
                            java.lang.String b,
                            java.lang.String c)
pomocna fce, vraci 2. parametr, pokud je splnena podminka a, jinak 3. parametr

Parameters:
a - podminka
b - par1
c - par2
Returns:
par1/par2

getSubtree

static void getSubtree(QueryNode qt,
                       boolean first)
z podstromu daneho elementu utvori seznam (vcetne korenoveho elemtu)

Parameters:
qt - - uzel, ve kterem zaciname
first - pokud je true, jde o prvni volani fce, jinak je to rekurze

printQT

static void printQT(QueryNode qt)
vypisuje cely podstrom QT se vsemi moznymi parametry (pro ucely debuggingu)

Parameters:
qt - QueryNode od ktereho nas to zajima

contIt

static java.lang.Boolean contIt(QueryNode qt)
pomocna fce, kontroluje, zda ma cenu jeste pokracovat v iteraci
projde vsechny potomky QN az na listy a zjistuje, zda je u nich (=u listu) pridruzeny stream nakonci

Parameters:
qt - QueryNode (nejcasteji koren)
Returns:
true/false (true, pokud existuje list, jez nema vycerpany datastream

printResults

static void printResults(int stc,
                         int pos)
vypisuje vysledky

Parameters:
stc - index do vektoru QueryNodu
pos - index do zasobniku aktulaniho datastreamu

getMinSource

static QueryNode getMinSource(QueryNode qn)
vraci QN, ktery budeme zracovavat, vybira ten s minimalni pozici nextL na zasobniku

Parameters:
qn - od ktereho QN zaciname
Returns:
vraci QN s min(nextL)

main

public static void main(java.lang.String[] args)
spusteci procedura
1. provede parse xpath dotazu
2. vytvori QT - queryTree z QN - queryNodu
3. najde reseni xpath dotazu a vypise je

Parameters:
args - - pole varcharru, 1. parametr je xpath dotaz