package com.hackerdude.apps.sqlide.plugins.movedata.model; import org.apache.xerces.dom.DocumentImpl; import org.apache.xerces.dom.ElementImpl; import org.w3c.dom.Document; import org.w3c.dom.Node; /** * Represents a Query Statement (anything that returns a resultset, really) */ public class DataSourceNode extends AbstractScriptNode { private String catalog; private String tableName; private String selectStatement; private String whereClause; // Optional Where Clause public DataSourceNode() { } public String toString() { StringBuffer sb = new StringBuffer(); if ( tableName == null ) { sb.append("Source Statement: "); if ( selectStatement != null ) { sb.append(selectStatement.substring(0, 25)); if ( selectStatement.length()> 25) sb.append("..."); } } else { sb.append("Source Table ").append(tableName); if ( whereClause != null ) { sb.append(" (WHERE)"); } } return sb.toString(); } public String getNodeName() { return "SOURCE"; } public Node getNode(Document doc) { ElementImpl element = new ElementImpl((DocumentImpl)doc, getNodeName()); if ( catalog != null ) element.setAttribute("catalog", catalog); if ( whereClause != null ) element.setAttribute("whereclause", whereClause); if ( tableName != null ) element.setAttribute("tablename", tableName); if ( selectStatement != null ) element.setAttribute("selectstatement", selectStatement); Node result = element; return result; } public void setCatalog(String catalogName) { catalog = catalogName; } public String getCatalog() { return catalog; } public void setTableName(String tableName) { this.tableName = tableName; } public String getTableName() { return tableName; } public void setWhereClause(String whereClause) { this.whereClause = whereClause; } public void setSelectStatement(String selectStatement) { this.selectStatement = selectStatement; } public String getSelectStatement() { return selectStatement; } }