Browse Source

Merge branch 'fbp/release' of ssh://code.fineres.com:7999/~renekton/design into fbp/release

fbp/merge
renekton 5 months ago
parent
commit
1a3dfe8364
  1. 3
      designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java
  2. 10
      designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java
  3. 2
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java
  4. 19
      designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java
  5. 9
      designer-base/src/main/java/com/fr/design/data/datapane/preview/ConnectionInfoBeanHelper.java
  6. 4
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java
  7. 11
      designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java
  8. 31
      designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java

3
designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java

@ -180,8 +180,9 @@ public class EnvChangeEntrance {
private boolean doSwitch2Env(final String envName, PopTipStrategy strategy) {
DesignerWorkspaceInfo selectedEnv = getSelectedEnv(envName);
EnvBackupHelper.getInstance().backup();
try {
EnvBackupHelper.getInstance().backup();
Workspace workspace = DesignerWorkspaceGenerator.generate(selectedEnv);
if (notValid(workspace, selectedEnv)) {
return false;

10
designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java

@ -25,6 +25,7 @@ import com.fr.esd.event.DSMapping;
import com.fr.esd.event.DsNameTarget;
import com.fr.esd.event.StrategyEventsNotifier;
import com.fr.log.FineLoggerFactory;
import com.fr.report.LockItem;
import com.fr.security.encryption.transmission.TransmissionEncryptionManager;
import com.fr.workspace.server.repository.connection.ConnectionRepository;
@ -86,14 +87,13 @@ public class GlobalTableDataAction extends UpdateAction implements ResponseDataS
final List<ServerDataSetBean> beans = TableDataRepository.getInstance().getAllTableData();
final Map<String, Connection> connectionMap = ConnectionInfoBeanHelper.createConnectionMap(ConnectionRepository.getInstance().getAll());
final Map<String, TableData> tableDataMap = new HashMap<>();
try {
for (ServerDataSetBean bean : beans) {
for (ServerDataSetBean bean : beans) {
try {
tableDataMap.put(bean.getDatasetName() , TableDataBeanHelper.getTableDataSet(connectionMap, bean.getDatasetType(), bean.getDatasetData()));
} catch (Exception e) {
FineLoggerFactory.getLogger().error("[TableData] getTableData :{} failed!", bean.getDatasetName(), e);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
final TableDataManagerPane globalTableDataPane = new TableDataManagerPane() {
public void complete() {
populate(tableDataMap);

2
designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java

@ -1022,7 +1022,7 @@ public class TableDataTreePane extends BasicTableDataTreePane {
@Override
public void actionPerformed(ActionEvent e) {
dgEdit(getTableDataInstance().creatTableDataPane(), createDsName(getNamePrefix()), false);
DesignCacheManager.processByCacheTableData(() -> dgEdit(getTableDataInstance().creatTableDataPane(), createDsName(getNamePrefix()), false));
}
}

19
designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java

@ -349,25 +349,6 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh
}
}
private boolean saveByOldWay(List<String> removedConnNames, List<ConnectionBean> addedOrUpdatedConnections) {
final int remaining = ConnectionConfigProviderFactory.getConfigProvider().getRemainingCon(removedConnNames.size(), addedOrUpdatedConnections.size());
try {
removedConnNames.forEach(n -> ConnectionConfigWriterFactory.getConfigWriter().removeConnection(n));
int innerRemaining = remaining;
for (ConnectionBean cb : addedOrUpdatedConnections) {
if (innerRemaining > 0) {
ConnectionConfigWriterFactory.getConfigWriter().addConnectionWithoutCheck(cb.getName(), cb.getConnection());
innerRemaining--;
} else {
break;
}
}
return true;
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return false;
}
public static void showDialog(Window parent) {
final Map<String, Connection> connectionMap = ConnectionInfoBeanHelper.createConnectionMap(ConnectionRepository.getInstance().getAll());

9
designer-base/src/main/java/com/fr/design/data/datapane/preview/ConnectionInfoBeanHelper.java

@ -82,16 +82,19 @@ public class ConnectionInfoBeanHelper {
* 根据bean创建连接
*/
public static Connection createConnection(ConnectionInfoBean infoBean) {
Connection connection = null;
try {
if (JDBCConnectionProcessor.KEY.acceptConnectionTypes().contains(infoBean.getConnectionType())) {
return createJDBCConnection(infoBean);
connection = createJDBCConnection(infoBean);
} else {
return ConnectionProcessorFactory.createConnection(infoBean, true);
connection = ConnectionProcessorFactory.createConnection(infoBean, true);
}
connection.setConnectionName(infoBean.getConnectionName());
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
return null;
return connection;
}
return connection;
}
/**

4
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java

@ -188,6 +188,10 @@ public class ProcedureDataPane extends AbstractTableDataPane<StoreProcedure> imp
}
private boolean isAutoParameterDatabase() {
String name = connectionTableProcedurePane.getSelectedDatabaseConnnectonName();
if (StringUtils.isEmpty(name)) {
return false;
}
Connection connection = ConnectionInfoBeanHelper.createConnection(ConnectionRepository.getInstance().getByName(connectionTableProcedurePane.getSelectedDatabaseConnnectonName()));
return connection != null && ArrayUtils.contains(DRIVERS, connection.getDriver());
}

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

@ -123,7 +123,7 @@ public class TableViewList extends UIList {
if (refresh) {
clearCache(datasource);
}
return processDataInAnotherThread(databaseName, searchFilter, typesFilter);
return processDataInAnotherThread(datasource, searchFilter, typesFilter);
}
@Override
@ -144,7 +144,7 @@ public class TableViewList extends UIList {
}
private void clearCache(Connection datasource) {
String[] schemas = DataCoreUtils.getDatabaseSchema(datasource);
String[] schemas = DataCoreUtils.getDatabaseSchemaByName(datasource);
schemas = (schemas == null || schemas.length == 0) ? new String[]{null} : schemas;
for (String schema : schemas) {
doClearCache(datasource, schema);
@ -166,18 +166,17 @@ public class TableViewList extends UIList {
* @param searchFilter
* @param typesFilter
*/
private DefaultListModel processDataInAnotherThread(String databaseName, String searchFilter, String... typesFilter) throws Exception {
private DefaultListModel processDataInAnotherThread(Connection datasource, String searchFilter, String... typesFilter) throws Exception {
DefaultListModel defaultListModel = new DefaultListModel();
Connection datasource = ConnectionInfoBeanHelper.createConnection(ConnectionRepository.getInstance().getByName(databaseName));
if (datasource == null) {
return defaultListModel;
}
String[] schemas = DataCoreUtils.getDatabaseSchema(datasource);
String[] schemas = DataCoreUtils.getDatabaseSchemaByName(datasource);
searchFilter = searchFilter.toLowerCase();
boolean isOracleSystemSpace = DesignerEnvManager.getEnvManager().isOracleSystemSpace();
// oracle不勾选显示所有表,则只显示用户下的(包括存储过程和table表)
DataBaseDetail detail = DataOperator.getInstance().getDataBaseDetail(datasource, isOracleSystemSpace);
DataBaseDetail detail = DataOperator.getInstance().getDataBaseDetail(datasource.getConnectionName(), isOracleSystemSpace);
if (ArrayUtils.isNotEmpty(detail.getSchemas())) {
schemas = detail.getSchemas();
}

31
designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java

@ -7,7 +7,6 @@ import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.components.tooltip.ModernToolTip;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.FRGraphics2D;
@ -22,7 +21,6 @@ import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JToolTip;
import javax.swing.JViewport;
import javax.swing.ScrollPaneConstants;
import java.awt.BasicStroke;
@ -57,9 +55,9 @@ public class StartupPageWorkspacePanel extends JPanel {
private static final Color PATH_COLOR = new Color(51, 51, 52, (int) Math.round(255 * 0.5));
/* 长度 */
private static final int SCROLL_BAR_WIDTH = 20;
private static final int CONTENT_WIDTH = scale(StartupPageConstants.CONTENT_WIDTH + SCROLL_BAR_WIDTH);
private static final int BORDER_THIN = 2;
@ -140,6 +138,7 @@ public class StartupPageWorkspacePanel extends JPanel {
this.contentPanel.setOpaque(false);
this.add(contentPanel, BorderLayout.NORTH);
}
private JComponent generateUnLimitContentPanel(List<List<StartupWorkspaceBean>> partitions) {
JComponent panel = generateUnLimitContentPanel0(partitions);
@ -228,7 +227,7 @@ public class StartupPageWorkspacePanel extends JPanel {
g.fillRoundRect(0, 0, preferredSize.width, preferredSize.height, 5, 5);
}
}
};
};
showAllPanel.setLayout(new BorderLayout());
UILabel fontLabel = new UILabel(Toolkit.i18nText("Fine-Design_Startup_Page_Expand_All"));
@ -287,10 +286,6 @@ public class StartupPageWorkspacePanel extends JPanel {
AtomicReference<Color> borderColorRef = new AtomicReference<>(null);
JPanel selectWorkspacePanel = new JPanel() {
@Override
public JToolTip createToolTip() {
return new ModernToolTip();
}
@Override
protected void paintComponent(Graphics g) {
@ -325,7 +320,7 @@ public class StartupPageWorkspacePanel extends JPanel {
}
};
selectWorkspacePanel.setLayout(new BorderLayout());
selectWorkspacePanel.setToolTipText(Toolkit.i18nText("Fine-Design_Startup_Page_Double_Click_Enter_Workspace"));
selectWorkspacePanel.setToolTipText(workspaceInfo.getPath());
selectWorkspacePanel.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
{
@ -348,7 +343,7 @@ public class StartupPageWorkspacePanel extends JPanel {
FineUIUtils.setFontSize(nameLabel, NAME_LABEL_SIZE);
nameLabel.setPreferredSize(PATH_DIMENSION);
Color nameForeground = nameLabel.getForeground();
simpleDescPanel.add(nameLabel,BorderLayout.NORTH);
simpleDescPanel.add(nameLabel, BorderLayout.NORTH);
UILabel pathLabel = new UILabel(workspaceInfo.getPath());
pathLabel.setPreferredSize(PATH_DIMENSION);
@ -369,7 +364,7 @@ public class StartupPageWorkspacePanel extends JPanel {
Color hoverColor = FlatUIUtils.getUIColor("brand.normal", HOVER_COLOR);
borderColorRef.set(hoverColor);
nameLabel.setForeground(hoverColor);
pathLabel.setForeground(hoverColor );
pathLabel.setForeground(hoverColor);
repaintAll();
}
@ -394,12 +389,7 @@ public class StartupPageWorkspacePanel extends JPanel {
};
UILabel arrowLabel = new UILabel(new LazyIcon("more_arrow", 20)) {
@Override
public JToolTip createToolTip() {
return new ModernToolTip();
}
};
UILabel arrowLabel = new UILabel(new LazyIcon("more_arrow", 20));
arrowLabel.setToolTipText(Toolkit.i18nText("Fine-Design_Startup_Page_Enter_Workspace"));
arrowLabel.addMouseListener(new MouseAdapter() {
@Override
@ -433,10 +423,6 @@ public class StartupPageWorkspacePanel extends JPanel {
// 选择并新建
AtomicReference<Color> borderColorRef = new AtomicReference<>(null);
JPanel selectAndCreatePanel = new JPanel() {
@Override
public JToolTip createToolTip() {
return new ModernToolTip();
}
@Override
protected void paintComponent(Graphics g) {
@ -481,6 +467,7 @@ public class StartupPageWorkspacePanel extends JPanel {
label.setIcon(new LazyIcon("add", 20));
repaintAll();
}
@Override
public void mousePressed(MouseEvent e) {
pageModel.setSelectWorkspaceInfo(workspaceInfo);

Loading…
Cancel
Save