📄 xmlpackage.java
字号:
package com.icbcsdc.ddlexp.pub.xml.nodeinfo;
import java.io.InputStream;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.icbcsdc.ddlexp.pub.staticLog.Logger;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCCnn;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCException;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCPool;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCPoolManager;
/**
/**
* @author zhangyc
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class XMLPackage extends XMLNode {
String rsComparedPackageLines="SELECT SRC_LINE,ATTR_NAME,SRC_ATTR_VALUE,DST_ATTR_VALUE FROM COMPARE_PACKAGE_LINES WHERE SRC_OWNER=? AND SRC_PACKAGE_NAME=? AND ATTR_NAME<>'MYSTYLE'";
private String sqlPackage = "select line,text from DBA_SOURCE where type like 'PACKAGE' and owner=? and name=? and line<1002 order by line";
private String text="";
//private boolean wrapped=false;
public XMLPackage(String packName,String text,boolean wrapped){
this.name = packName;
this.text = text;
this.wrapped = wrapped;
}
public XMLPackage(String packName){
this.name = packName;
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getType()
*/
public int getType() {
return XMLNode.XML_PACKAGE;
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#refresh()
*/
public void refresh() throws Exception{
refreshNodeNeedAccessDB();
//refreshChangedProperties();
}
/**从数据库中获取数据对象比较后的结果*/
public void refreshChangedProperties()throws Exception{
if(this.getCompareStatus()==XMLNode.SRC_DST_DIFF){
/**compare_package_lines相关的信息放到容器changedProperties中*/
JDBCPool cnn=null;
//try {
//XMLManager.getInstance().
XMLDatabase db=this.getDatabase();
if(db!=null) cnn = db.getConnPool();
else return;
//再修改比较节点
PreparedStatement pStmt=cnn.prepareStatement(rsComparedPackageLines);
pStmt.setString(1,this.getSchema().getName().toUpperCase());
pStmt.setString(2,this.getName().toUpperCase());
ResultSet rsUpPackages=pStmt.executeQuery();
while(rsUpPackages.next()){
//LPackage package1=(XMLPackage)this.getDirectChildren(XMLNode.XML_PACKAGE,this.getName().toUpperCase());
this.putChangedProperty(rsUpPackages.getString("SRC_LINE"),rsUpPackages.getString("SRC_ATTR_VALUE"),rsUpPackages.getString("DST_ATTR_VALUE"));
}
rsUpPackages.close();
pStmt.close();
}
}
/**从数据库中获取数据对象定义*/
public void refreshDDLInfo() throws Exception{
JDBCPool cnn=null;
XMLDatabase db=this.getDatabase();
if(db!=null) cnn = db.getConnPool();
else return;
if(this.isWrapped()) return;
//获取Function列表
PreparedStatement pStmt=cnn.prepareStatement(this.sqlPackage);
pStmt.setString(1,this.getSchema().getName().toUpperCase());
pStmt.setString(2,this.getName());
ResultSet rsPackage=pStmt.executeQuery();
this.text="";
while(rsPackage.next()){
this.text = this.text +rsPackage.getString(2);
/**
if(rsPackage.getInt(1)==1){
this.text = rsPackage.getString(2);
if(rsPackage.getString(2).indexOf("wrapped") > 0){
//是否被加密
this.wrapped = true;
//this.text = rsPackage.getString(2);
break;
}else
this.wrapped = false;
}else if(rsPackage.getInt(1)<=XMLNode.MAX_SOURCE_LINES){
this.text = this.text +rsPackage.getString(2);
}else{
this.overflow=true;
break;
}**/
//Logger.log(Logger.DEBUG,"XMLPackage refreshDDLInfo:"+this.getText());
}
//Logger.log(Logger.DEBUG,"XMLPackage refreshDDLInfo:"+this.getText());
rsPackage.close();
pStmt.close();
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#chkChildType(XMLNode)
*/
public boolean chkChildType(XMLNode node) {
return false;
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getXmlStream()
public InputStream getXmlStream() {
return null;
}
*/
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getSqlDDL()
*/
public String getSqlDDL() {
return text;
//return this.getSchemaDDLStr();
}
public static void main(String[] args) {
}
/**
* @return Returns the text.
*/
public String getText() {
if(this.overflow){
return XMLNode.overMaxLines;
}else
return text;
}
/**
* @return Returns the wrapped.
public boolean isWrapped() {
return wrapped;
}
*/
/**
* Sets the wrapped.
* @param wrapped The wrapped to set
public void setWrapped(boolean wrapped) {
this.wrapped = wrapped;
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -