/* * Copyright 2008 biaoping.yin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.frameworkset.persitent.util; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.frameworkset.spi.BaseApplicationContext; import com.frameworkset.common.poolman.sql.PoolManResultSetMetaData; import com.frameworkset.util.VariableHandler.SQLStruction; import com.frameworkset.velocity.BBossVelocityUtil; public class GloableSQLUtil extends SQLUtil { public GloableSQLUtil() { sqls = new HashMap<String,SQLInfo>(); } @Override public SQLStruction getSQLStruction(SQLInfo sqlinfo, String newsql) { // TODO Auto-generated method stub return super.getSQLStruction(sqlinfo, newsql); } @Override public SQLStruction getTotalsizeSQLStruction(SQLInfo totalsizesqlinfo, String totalsizesql) { // TODO Auto-generated method stub return super.getTotalsizeSQLStruction(totalsizesqlinfo, totalsizesql); } @Override public SQLInfo getSQLInfo(String dbname, String sql) { throw new java.lang.UnsupportedOperationException(); } @Override public String getSQL(String dbname, String sql) { return sql; } public String getSQL(String dbname, String sql, Map variablevalues) { throw new java.lang.UnsupportedOperationException(); } public String getSQL(String sql,boolean istpl,boolean multiparser, Map variablevalues) { SQLInfo sqlinfo = getSQLInfo(sql,istpl,multiparser); String newsql = null; newsql = _getSQL(sqlinfo,variablevalues); return newsql; } @Override public String[] getPropertyKeys() { throw new java.lang.UnsupportedOperationException(); } public SQLInfo getSQLInfo(String sql) { return getSQLInfo(sql,true,true); } public SQLInfo getSQLInfo(String sql,boolean istpl,boolean multiparser) { SQLInfo sqlinfo = null; // sql = sqlcontext.getProperty(sqlname + "-" + dbtype.toLowerCase()); sqlinfo = sqls.get(sql); if (sqlinfo == null) { // sql = sqlcontext.getProperty(sqlname); synchronized(GloableSQLUtil.class) { sqlinfo = sqls.get(sql); if (sqlinfo != null) return sqlinfo; SQLTemplate sqltpl = null; sqlinfo = new SQLInfo(sql,sql, istpl,multiparser); sqlinfo.setSqlutil(this); if(istpl) { sqltpl = new SQLTemplate(sqlinfo); sqlinfo.setSqltpl(sqltpl); BBossVelocityUtil.initTemplate(sqltpl); sqltpl.process(); } sqls.put(sql, sqlinfo); } } return sqlinfo; } @Override public String getSQL(String sql) { return sql; } @Override public PoolManResultSetMetaData getPoolManResultSetMetaData(com.frameworkset.orm.adapter.DB db,String dbname, String sqlkey, ResultSetMetaData rsmetadata) throws SQLException { // TODO Auto-generated method stub return super.getPoolManResultSetMetaData(db,dbname, sqlkey, rsmetadata); } @Override public String getSQLFile() { throw new java.lang.UnsupportedOperationException(); } @Override public String evaluateSQL(String name, String sql, Map variablevalues) { throw new java.lang.UnsupportedOperationException(); } @Override public String getDBName(String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public Map getMapSQLs(String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public Map getMapSQLs(String dbname, String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public List getListSQLs(String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public List getListSQLs(String dbname, String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public Set getSetSQLs(String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public Set getSetSQLs(String dbname, String sqlname) { throw new java.lang.UnsupportedOperationException(); } @Override public BaseApplicationContext getSqlcontext() { throw new java.lang.UnsupportedOperationException(); } @Override public long getRefresh_interval() { throw new java.lang.UnsupportedOperationException(); } }