package org.xdams.xw.paging;
import it.highwaytech.db.QueryResult;
import it.highwaytech.db.Title;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.xdams.page.view.bean.TitleBean;
import org.xdams.xw.XWConnection;
import org.xdams.xw.exception.XWException;
public class QRPage implements Serializable {
private List elements = new ArrayList();
private List indexes = new ArrayList();
private List pageToShow = new ArrayList();
private int numPage;
public QRPage() {
elements = new ArrayList();
indexes = new ArrayList();
pageToShow = new ArrayList();
numPage = 0;
indexes = new ArrayList();
}
public List loadElements(QueryResult qr, XWConnection xwConn) throws SQLException {
elements = new ArrayList();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < indexes.size(); i++) {
int num = ((Integer) indexes.get(i)).intValue();
int numDoc = xwConn.getNumDoc(xwConn.connection, xwConn.getTheDb(), qr, num, buffer);
Title titArch = xwConn.getTitle(xwConn.connection, xwConn.getTheDb(), qr, num);
// elements.addElement(String.valueOf(numDoc) + "\260" + buffer.toString() + "[@archive@]" + titArch.getTitle());
elements.add(String.valueOf(numDoc) + "\260" + titArch.getTitle());
}
return elements;
}
/* DIEGO: AGGIUNTO PRIMO FIGLIO E GERARCHIA! */
public List loadTitlesElements(QueryResult qr, XWConnection xwConn) throws SQLException, XWException {
elements = new ArrayList();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < indexes.size(); i++) {
int num = ((Integer) indexes.get(i)).intValue();
int numDoc = xwConn.getNumDoc(xwConn.connection, xwConn.getTheDb(), qr, num, buffer);
Title titArch = xwConn.getTitle(xwConn.connection, xwConn.getTheDb(), qr, num);
int firstSon = xwConn.getNumDocFirstSon(numDoc);
String hierTitles = "";
try {
it.highwaytech.db.HierPath thePath = xwConn.getHierPath(numDoc);
for (int a = 1; a < thePath.depth(); a++) {
String titlePath = thePath.getTitle(a);
hierTitles += "|@|" + titlePath;
}
} catch (Exception e) {
}
elements.add(String.valueOf(numDoc) + "\260" + titArch.getTitle() + "@firstSon@" + firstSon + "@hierPath@" + hierTitles);
}
return elements;
}
public List loadTitleBean(QueryResult qr, XWConnection xwConn) throws SQLException, XWException {
elements = new ArrayList();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < indexes.size(); i++) {
TitleBean titleBean = new TitleBean();
int num = ((Integer) indexes.get(i)).intValue();
int numDoc = xwConn.getNumDoc(xwConn.connection, xwConn.getTheDb(), qr, num, buffer);
titleBean.setPhysDoc(String.valueOf(numDoc));
Title titArch = xwConn.getTitle(xwConn.connection, xwConn.getTheDb(), qr, num);
titleBean.setTitle(titArch.getTitle());
int firstSon = xwConn.getNumDocFirstSon(numDoc);
titleBean.setFirstSon(firstSon);
try {
it.highwaytech.db.HierPath thePath = xwConn.getHierPath(numDoc);
titleBean.setHierPath(thePath);
} catch (Exception e) {
}
elements.add(titleBean);
}
return elements;
}
public List loadElementsXML(QueryResult qr, XWConnection xwConn) throws SQLException, XWException {
elements = new ArrayList();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < indexes.size(); i++) {
TitleBean titleBean = new TitleBean();
int num = ((Integer) indexes.get(i)).intValue();
int numDoc = xwConn.getNumDoc(xwConn.connection, xwConn.getTheDb(), qr, num, buffer);
titleBean.setPhysDoc(String.valueOf(numDoc));
Title titArch = xwConn.getTitle(xwConn.connection, xwConn.getTheDb(), qr, num);
titleBean.setTitle(titArch.getTitle());
int firstSon = xwConn.getNumDocFirstSon(numDoc);
titleBean.setFirstSon(firstSon);
String xmlDoc = xwConn.getSingleXMLFromNumDoc(numDoc);
try {
it.highwaytech.db.HierPath thePath = xwConn.getHierPath(numDoc);
titleBean.setHierPath(thePath);
} catch (Exception e) {
}
titleBean.setXmlDoc(xmlDoc);
elements.add(titleBean);
}
return elements;
}
public void addElement(Object index) {
indexes.add(index);
}
public void setPageToShow(List pageToShow) {
this.pageToShow = pageToShow;
}
public int getNumPage() {
return numPage;
}
public List getPageToShow() {
return pageToShow;
}
public void setNumPage(int i) {
numPage = i;
}
public List getElements() {
return elements;
}
}