package com.sun.j2ee.blueprints.petstore.tools.populate;
import java.util.*;
import java.sql.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
public class ItemDetailsPopulator {
private static final String XML_ITEMDETAILS = "ItemDetails";
private static final String XML_LISTPRICE = "ListPrice";
private static final String XML_UNITCOST = "UnitCost";
private static final String XML_ATTRIBUTE1 = "Attribute[0]";
private static final String XML_ATTRIBUTE2 = "Attribute[1]";
private static final String XML_ATTRIBUTE3 = "Attribute[2]";
private static final String XML_ATTRIBUTE4 = "Attribute[3]";
private static final String XML_ATTRIBUTE5 = "Attribute[4]";
private static final String XML_IMAGE = "Image";
private static final String XML_DESCRIPTION = "Description";
private static final String XML_LOCALE = "ItemDetails/@xml:lang";
private static final String[] PARAMETER_NAMES = { ItemPopulator.XML_ID,
XML_LISTPRICE,
XML_UNITCOST,
XML_LOCALE,
XML_ATTRIBUTE1,
XML_ATTRIBUTE2,
XML_ATTRIBUTE3,
XML_ATTRIBUTE4,
XML_ATTRIBUTE5,
XML_IMAGE,
XML_DESCRIPTION };
private Map sqlStatements;
private String rootTag;
public ItemDetailsPopulator(Map sqlStatements) {
this(ItemPopulator.XML_ITEM, sqlStatements);
return;
}
public ItemDetailsPopulator(String rootTag, Map sqlStatements) {
this.rootTag = rootTag;
this.sqlStatements = sqlStatements;
return;
}
public XMLFilter setup(XMLReader reader, final Connection connection) {
return new XMLDBHandler(reader, rootTag, XML_ITEMDETAILS) {
public void update() throws PopulateException {}
public void create() throws PopulateException {
if (connection == null) {
PopulateUtils.printSQLStatement(sqlStatements, PopulateUtils.makeSQLStatementKey(PopulateUtils.INSERT_OPERATION, "item_details"), PARAMETER_NAMES, this);
} else {
PopulateUtils.executeSQLStatement(connection, sqlStatements, PopulateUtils.makeSQLStatementKey(PopulateUtils.INSERT_OPERATION, "item_details"), PARAMETER_NAMES, this);
}
}
};
}
public boolean check(Connection connection) throws PopulateException {
return PopulateUtils.executeSQLStatement(connection, sqlStatements, PopulateUtils.makeSQLStatementKey(PopulateUtils.CHECK_OPERATION, "item_details"), null, null);
}
public void dropTables(Connection connection) throws PopulateException {
PopulateUtils.executeSQLStatement(connection, sqlStatements, PopulateUtils.makeSQLStatementKey(PopulateUtils.DROP_OPERATION, "item_details"), null, null);
return;
}
public void createTables(Connection connection) throws PopulateException {
PopulateUtils.executeSQLStatement(connection, sqlStatements, PopulateUtils.makeSQLStatementKey(PopulateUtils.CREATE_OPERATION, "item_details"), null, null);
return;
}
}