Browse Source

REPORT-13094 设计器远程,选项中没有设置显示oracle所有表,有一部分逻辑不走服务器

bugfix/10.0
abel 6 years ago
parent
commit
d5ce3cd6e3
  1. 13
      designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java

13
designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java

@ -4,8 +4,6 @@ import com.fr.base.BaseUtils;
import com.fr.base.FRContext;
import com.fr.data.core.DataCoreUtils;
import com.fr.data.core.db.TableProcedure;
import com.fr.data.core.db.dialect.DialectFactory;
import com.fr.data.core.db.dialect.OracleDialect;
import com.fr.data.impl.Connection;
import com.fr.data.operator.DataOperator;
import com.fr.design.DesignerEnvManager;
@ -13,7 +11,6 @@ import com.fr.design.constants.UIConstants;
import com.fr.design.mainframe.dnd.SerializableTransferable;
import com.fr.file.ConnectionConfig;
import com.fr.general.ComparatorUtils;
import com.fr.stable.StringUtils;
import javax.swing.*;
@ -138,17 +135,15 @@ public class TableViewList extends UIList {
String[] schemas = DataCoreUtils.getDatabaseSchema(datasource);
searchFilter = searchFilter.toLowerCase();
boolean isOracle = DataOperator.getInstance().isOracle(datasource);
boolean isOracleSystemSpace = DesignerEnvManager.getEnvManager().isOracleSystemSpace();
// oracleb不勾选显示所有表,则只显示用户下的(包括存储过程和table表)
if (isOracle && !isOracleSystemSpace) {
java.sql.Connection connection = datasource.createConnection();
OracleDialect orcDialect = (OracleDialect)DialectFactory.generateDialect(connection);
schemas = new String[]{orcDialect.getOracleCurrentUserSchema(connection)};
String[] userSchemas = DataOperator.getInstance().getOracleConnectionSchemas(datasource);
if (userSchemas.length > 0) {
schemas = userSchemas;
}
}
if (typesFilter.length == 1 && ComparatorUtils.equals(typesFilter[0], TableProcedure.PROCEDURE)) {
return processStoreProcedure(defaultListModel, schemas, datasource, isOracle, searchFilter);
} else {

Loading…
Cancel
Save