// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(3) fieldsfirst lnc
// Source File Name: SQLConnect.java
package com.icl.saxon.sql;
import com.icl.saxon.Context;
import com.icl.saxon.Controller;
import com.icl.saxon.expr.Expression;
import com.icl.saxon.expr.StringValue;
import com.icl.saxon.om.NodeInfo;
import com.icl.saxon.style.StyleElement;
import com.icl.saxon.tree.AttributeCollection;
import com.icl.saxon.tree.ElementWithAttributes;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
public class SQLConnect extends StyleElement
{
Expression database;
Expression driver;
Expression user;
Expression password;
public SQLConnect()
{
}
public boolean isInstruction()
{
/* 29*/ return true;
}
public boolean mayContainTemplateBody()
{
/* 38*/ return true;
}
public void prepareAttributes()
throws TransformerConfigurationException
{
/* 45*/ String s = super.attributeList.getValue("database");
/* 46*/ if(s == null)
/* 47*/ reportAbsence("database");
/* 48*/ database = makeAttributeValueTemplate(s);
/* 52*/ String s1 = super.attributeList.getValue("driver");
/* 53*/ if(s1 == null)
/* 54*/ if(s.substring(0, 9).equals("jdbc:odbc"))
/* 55*/ s1 = "sun.jdbc.odbc.JdbcOdbcDriver";
/* 57*/ else
/* 57*/ reportAbsence("driver");
/* 60*/ driver = makeAttributeValueTemplate(s1);
/* 65*/ String s2 = super.attributeList.getValue("user");
/* 66*/ if(s2 == null)
/* 67*/ user = new StringValue("");
/* 69*/ else
/* 69*/ user = makeAttributeValueTemplate(s2);
/* 74*/ String s3 = super.attributeList.getValue("password");
/* 75*/ if(s3 == null)
/* 76*/ password = new StringValue("");
/* 78*/ else
/* 78*/ password = makeAttributeValueTemplate(s3);
}
public void validate()
throws TransformerConfigurationException
{
/* 83*/ checkWithinTemplate();
}
public void process(Context context)
throws TransformerException
{
/* 90*/ Connection connection = null;
/* 91*/ java.sql.Statement statement = null;
/* 93*/ String s = database.evaluateAsString(context);
/* 94*/ String s1 = driver.evaluateAsString(context);
/* 95*/ String s2 = user.evaluateAsString(context);
/* 96*/ String s3 = password.evaluateAsString(context);
/* 100*/ try
{
/* 100*/ Class.forName(s1);
/* 102*/ connection = DriverManager.getConnection(s, s2, s3);
/* 103*/ statement = connection.createStatement();
}
/* 105*/ catch(Exception exception)
{
/* 105*/ throw new TransformerException("JDBC Connection Failure: " + exception.getMessage());
}
/* 108*/ com.icl.saxon.om.DocumentInfo documentinfo = context.getCurrentNodeInfo().getDocumentRoot();
/* 109*/ context.getController().setUserData(documentinfo, "sql:connection", connection);
/* 110*/ context.getController().setUserData(documentinfo, "sql:statement", statement);
}
}