From 672d03266e6ed516fae41ecd68b1073c1470bbf3 Mon Sep 17 00:00:00 2001 From: Lanlan Date: Wed, 16 Jun 2021 18:02:40 +0800 Subject: [PATCH 01/10] =?UTF-8?q?REPORT-53875=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=BA=93=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../icontainer/UIEastResizableContainer.java | 38 ++++++++++++++----- .../message/DesignerModuleClickType.java | 10 ++++- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java index 77407a3eda..53ee3bb9c1 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java @@ -172,7 +172,7 @@ public class UIEastResizableContainer extends JPanel { leftPane.setBounds(0, topToolPaneHeight, leftPaneWidth, getHeight() - topToolPaneHeight); // parameterPane.setBounds(20, 0, 230, getParameterPaneHeight());//10,0,230,462 - rightPane.setBounds(leftPaneWidth, 0, containerWidth-leftPaneWidth, getHeight());//20,0,230,0 + rightPane.setBounds(leftPaneWidth, 0, containerWidth - leftPaneWidth, getHeight());//20,0,230,0 } @Override @@ -245,6 +245,31 @@ public class UIEastResizableContainer extends JPanel { // do nothing here } + public void showContainer() { + if (containerWidth != leftPaneWidth) { + return; + } + containerWidth = preferredWidth; + onResize(); + refreshContainer(); + if (DesignModeContext.isAuthorityEditing()) { + DesignerContext.getDesignerFrame().doResize(); + } + } + + public void hideContainer() { + if (containerWidth == leftPaneWidth) { + return; + } + setPreferredWidth(containerWidth); + containerWidth = leftPaneWidth; + onResize(); + refreshContainer(); + if (DesignModeContext.isAuthorityEditing()) { + DesignerContext.getDesignerFrame().doResize(); + } + } + private class TopToolPane extends JPanel { private int model = UIConstants.MODEL_NORMAL; @@ -281,15 +306,9 @@ public class UIEastResizableContainer extends JPanel { public void mouseClicked(MouseEvent e) { if (e.getX() <= ARROW_RANGE) { if (containerWidth == leftPaneWidth) { - containerWidth = preferredWidth; + showContainer(); } else { - setPreferredWidth(containerWidth); - containerWidth = leftPaneWidth; - } - onResize(); - refreshContainer(); - if (DesignModeContext.isAuthorityEditing()) { - DesignerContext.getDesignerFrame().doResize(); + hideContainer(); } } } @@ -316,5 +335,4 @@ public class UIEastResizableContainer extends JPanel { g.drawImage(button, 18, 7, 5, 10, null); } } - } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/login/message/DesignerModuleClickType.java b/designer-base/src/main/java/com/fr/design/login/message/DesignerModuleClickType.java index 85b8983f11..fb7ff4d0c3 100644 --- a/designer-base/src/main/java/com/fr/design/login/message/DesignerModuleClickType.java +++ b/designer-base/src/main/java/com/fr/design/login/message/DesignerModuleClickType.java @@ -3,11 +3,16 @@ package com.fr.design.login.message; import com.fr.config.ServerPreferenceConfig; import com.fr.design.dialog.NotificationDialogAction; import com.fr.design.extra.WebViewDlgHelper; +import com.fr.design.mainframe.BaseJForm; +import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.EastRegionContainerPane; +import com.fr.design.mainframe.JTemplate; import com.fr.design.os.impl.SupportOSImpl; import com.fr.design.upm.UpmFinder; import com.fr.design.utils.DesignUtils; import com.fr.log.FineLoggerFactory; import com.fr.stable.StringUtils; +import com.fr.stable.bridge.StableFactory; import com.fr.stable.os.Arch; import com.fr.stable.os.OperatingSystem; @@ -39,7 +44,10 @@ public enum DesignerModuleClickType { @Override public void doClick() { try { - // TODO + BaseJForm jform = StableFactory.getMarkedInstanceObjectFromClass(BaseJForm.XML_TAG, BaseJForm.class); + DesignerContext.getDesignerFrame().addAndActivateJTemplate((JTemplate) jform); + EastRegionContainerPane.getInstance().showContainer(); + EastRegionContainerPane.getInstance().switchTabTo(EastRegionContainerPane.KEY_WIDGET_LIB); } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); } From 4aec5671a5b0edda1327a52f18f1cc7a9372d891 Mon Sep 17 00:00:00 2001 From: Lanlan Date: Wed, 16 Jun 2021 18:14:10 +0800 Subject: [PATCH 02/10] fix --- .../gui/icontainer/UIEastResizableContainer.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java index 53ee3bb9c1..125cd3aa16 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java @@ -242,7 +242,10 @@ public class UIEastResizableContainer extends JPanel { * 伸缩右子面板时,触发此方法 */ public void onResize() { - // do nothing here + refreshContainer(); + if (DesignModeContext.isAuthorityEditing()) { + DesignerContext.getDesignerFrame().doResize(); + } } public void showContainer() { @@ -251,10 +254,6 @@ public class UIEastResizableContainer extends JPanel { } containerWidth = preferredWidth; onResize(); - refreshContainer(); - if (DesignModeContext.isAuthorityEditing()) { - DesignerContext.getDesignerFrame().doResize(); - } } public void hideContainer() { @@ -264,10 +263,6 @@ public class UIEastResizableContainer extends JPanel { setPreferredWidth(containerWidth); containerWidth = leftPaneWidth; onResize(); - refreshContainer(); - if (DesignModeContext.isAuthorityEditing()) { - DesignerContext.getDesignerFrame().doResize(); - } } private class TopToolPane extends JPanel { From 6072f19b3c636ed0b2ad204f253f45c22665dffc Mon Sep 17 00:00:00 2001 From: pengda Date: Thu, 17 Jun 2021 15:38:57 +0800 Subject: [PATCH 03/10] =?UTF-8?q?REPORT-53873=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4-=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92-?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92=E6=A1=86=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/EnvChangeEntrance.java | 2 + .../fr/design/dialog/NotificationDialog.java | 83 +++++++++++++----- .../login/message/DesignerMessageHelper.java | 4 +- .../ui/NotificationCenterDialog.java | 11 ++- .../ui/NotificationCenterPane.java | 6 +- .../versioncheck/VersionCheckUtils.java | 2 +- .../notification/ui}/notificationCenter.png | Bin .../ui}/notificationCenterDot.png | Bin 8 files changed, 79 insertions(+), 29 deletions(-) rename {designer-realize/src/main/resources/com/fr/design/mainframe/notificationCenter => designer-base/src/main/resources/com/fr/design/notification/ui}/notificationCenter.png (100%) rename {designer-realize/src/main/resources/com/fr/design/mainframe/notificationCenter => designer-base/src/main/resources/com/fr/design/notification/ui}/notificationCenterDot.png (100%) diff --git a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java index 4ab6b30896..f386437376 100644 --- a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java +++ b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java @@ -17,6 +17,7 @@ import com.fr.design.file.TemplateTreePane; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JTemplate; +import com.fr.design.notification.NotificationCenter; import com.fr.design.utils.DesignUtils; import com.fr.design.versioncheck.VersionCheckUtils; import com.fr.env.EnvListPane; @@ -182,6 +183,7 @@ public class EnvChangeEntrance { if (model != null) { model.envChanged(); } + NotificationCenter.getInstance().clearAllNotifications(); return true; } diff --git a/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java b/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java index 4b18ab3e04..ee2a17a871 100644 --- a/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java +++ b/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java @@ -1,12 +1,14 @@ package com.fr.design.dialog; +import com.fr.concurrent.NamedThreadFactory; import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.DesignerContext; import com.fr.design.notification.Notification; import com.fr.design.notification.NotificationCenter; -import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.module.ModuleContext; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; @@ -14,6 +16,8 @@ import java.awt.Frame; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import javax.swing.BorderFactory; import javax.swing.Icon; import javax.swing.JDialog; @@ -24,7 +28,6 @@ import javax.swing.UIManager; /** * 带查看详情的简要通知框 - * */ public class NotificationDialog extends JDialog { public static final int ERROR_MESSAGE = 0; @@ -32,13 +35,18 @@ public class NotificationDialog extends JDialog { public static final int WARNING_MESSAGE = 2; public static final String HTML_TAG_1 = ""; public static final String HTML_TAG_2 = ""; + private static final String HIDE_MSG = "HIDE_MSG_TIMER"; private UILabel messageText; private NotificationDialogAction notificationDialogAction; + private ScheduledExecutorService TIMER; - public NotificationDialog(Frame owner, String title, boolean isModal, int messageType, String message,NotificationDialogAction action) { + public NotificationDialog(Frame owner, String title, boolean isModal, int messageType, String message, NotificationDialogAction action) { super(owner); + setFocusable(false); + setAutoRequestFocus(false); + setResizable(false); setTitle(title); - initComponents(messageType, message, isModal,action); + initComponents(messageType, message, isModal, action); } public NotificationDialog(Builder builder) { @@ -47,27 +55,29 @@ public class NotificationDialog extends JDialog { initComponents(builder.messageType, builder.message, builder.modal, builder.action); } - public void initComponents(int messageType, String message, boolean isModal,NotificationDialogAction action) { - NotificationCenter.getInstance().addNotification(new Notification(messageType,message,action)); + public void initComponents(int messageType, String message, boolean isModal, NotificationDialogAction action) { + NotificationCenter.getInstance().addNotification(new Notification(messageType, message, action)); notificationDialogAction = action; setModal(isModal); - setResizable(false); + JPanel body = FRGUIPaneFactory.createBorderLayout_L_Pane(); + body.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); //消息内容 UILabel icon = new UILabel(getIconForType(messageType)); JPanel iconPanel = FRGUIPaneFactory.createBorderLayout_L_Pane(); - iconPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 8)); + iconPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 10, 8)); iconPanel.add(icon); - add(iconPanel, BorderLayout.WEST); + body.add(iconPanel, BorderLayout.WEST); messageText = new UILabel(HTML_TAG_1 + message + HTML_TAG_2); messageText.setForeground(new Color(51, 51, 52)); JPanel centerPanel = FRGUIPaneFactory.createBorderLayout_L_Pane(); - centerPanel.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 10)); + centerPanel.setBorder(BorderFactory.createEmptyBorder(8, 0, 5, 20)); JScrollPane jScrollPane = new JScrollPane(messageText, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); jScrollPane.setBorder(BorderFactory.createEmptyBorder()); centerPanel.add(jScrollPane, BorderLayout.CENTER); - add(centerPanel, BorderLayout.CENTER); + centerPanel.setPreferredSize(new Dimension(230, 95)); + body.add(centerPanel, BorderLayout.CENTER); //查看详情 UILabel detailLabel = new UILabel(); @@ -75,37 +85,67 @@ public class NotificationDialog extends JDialog { detailLabel.setForeground(Color.BLUE); JPanel detailPanel = FRGUIPaneFactory.createBorderLayout_L_Pane(); detailPanel.add(detailLabel, BorderLayout.EAST); - add(detailPanel, BorderLayout.SOUTH); - setPreferredSize(new Dimension(262, 135)); + body.add(detailPanel, BorderLayout.SOUTH); detailLabel.addMouseListener(detailClickListener); messageText.addMouseListener(detailClickListener); - - pack(); - if (getOwner() != null) { - GUICoreUtils.setWindowCenter(getOwner(), this); - } + addMouseListener(bodyMouseListener); + + add(body); + Dimension dimension = body.getPreferredSize(); + setSize(dimension.width, dimension.height); + setLocation((DesignerContext.getDesignerFrame().getWidth() - dimension.width - 30 + DesignerContext.getDesignerFrame().getX()), + DesignerContext.getDesignerFrame().getY() + DesignerContext.getDesignerFrame().getHeight() - dimension.height - 30); + disappear(); } private MouseListener detailClickListener = new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if(notificationDialogAction != null){ + if (notificationDialogAction != null) { hideDialog(); notificationDialogAction.doClick(); } } }; + private MouseListener bodyMouseListener = new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + if (TIMER != null) { + TIMER.shutdownNow(); + } + } + + @Override + public void mouseExited(MouseEvent e) { + disappear(); + } + }; + + public void disappear() { + TIMER = createScheduleExecutorService(); + TIMER.schedule(new Runnable() { + @Override + public void run() { + hideDialog(); + } + }, 10000, TimeUnit.MILLISECONDS); + } + + private ScheduledExecutorService createScheduleExecutorService() { + return ModuleContext.getExecutor().newSingleThreadScheduledExecutor(new NamedThreadFactory(HIDE_MSG)); + } /** * 设置通知消息 */ - public void setMessage(String message){ + public void setMessage(String message) { messageText.setText(HTML_TAG_1 + message + HTML_TAG_2); } - private void hideDialog(){ + private void hideDialog() { + this.setVisible(false); this.dispose(); } @@ -138,6 +178,7 @@ public class NotificationDialog extends JDialog { public Frame owner = null; public String title; public NotificationDialogAction action; + private Builder() { } diff --git a/designer-base/src/main/java/com/fr/design/login/message/DesignerMessageHelper.java b/designer-base/src/main/java/com/fr/design/login/message/DesignerMessageHelper.java index dbb2d69c44..68072b9402 100644 --- a/designer-base/src/main/java/com/fr/design/login/message/DesignerMessageHelper.java +++ b/designer-base/src/main/java/com/fr/design/login/message/DesignerMessageHelper.java @@ -90,7 +90,7 @@ public class DesignerMessageHelper { NotificationDialog.Builder() .owner(DesignerContext.getDesignerFrame()) .title(title) - .modal(true) + .modal(false) .messageType(NotificationDialog.NEW_MESSAGE) .message(body) .notificationDialogAction(new NotificationDialogAction() { @@ -107,7 +107,7 @@ public class DesignerMessageHelper { NotificationDialog.Builder() .owner(DesignerContext.getDesignerFrame()) .title(title) - .modal(true) + .modal(false) .messageType(NotificationDialog.NEW_MESSAGE) .message(body) .notificationDialogAction(designerModuleClickType.getAction()) diff --git a/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterDialog.java b/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterDialog.java index 3048959c57..de6374a801 100644 --- a/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterDialog.java +++ b/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterDialog.java @@ -15,8 +15,9 @@ import java.awt.Window; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.util.ArrayList; -import java.util.List; import javax.swing.BorderFactory; import javax.swing.Icon; import javax.swing.JDialog; @@ -32,10 +33,16 @@ public class NotificationCenterDialog extends JDialog { private static final int NOTIFICATIONCOUNT = 5; public NotificationCenterDialog(Frame parent) { - super(parent, true); + super(parent); setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Notification")); setResizable(false); notificationNeedShow = new ArrayList<>(); + addWindowFocusListener(new WindowAdapter() { + @Override + public void windowLostFocus(WindowEvent e) { + hideDialog(); + } + }); initComponents(); } diff --git a/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterPane.java b/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterPane.java index d0f09df00f..f5af0bfc06 100644 --- a/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterPane.java +++ b/designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterPane.java @@ -20,7 +20,7 @@ public class NotificationCenterPane extends BasicPane { setPreferredSize(new Dimension(24, 24)); setLayout(new BorderLayout()); notificationCenterButton = new UIButton(); - notificationCenterButton.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/notificationcenter/notificationCenter.png")); + notificationCenterButton.setIcon(IOUtils.readIcon("/com/fr/design/notification/ui/notificationCenter.png")); notificationCenterButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Show_Notification")); notificationCenterButton.set4ToolbarButton(); notificationCenterButton.setRolloverEnabled(false); @@ -41,9 +41,9 @@ public class NotificationCenterPane extends BasicPane { public void refreshButton() { if (NotificationCenter.getInstance().getNotificationsCount() > 0) { - notificationCenterButton.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/notificationcenter/notificationCenterDot.png")); + notificationCenterButton.setIcon(IOUtils.readIcon("/com/fr/design/notification/ui/notificationCenterDot.png")); } else { - notificationCenterButton.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/notificationcenter/notificationCenter.png")); + notificationCenterButton.setIcon(IOUtils.readIcon("/com/fr/design/notification/ui/notificationCenter.png")); } } diff --git a/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java b/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java index daf6452701..26406b3854 100644 --- a/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java +++ b/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java @@ -73,7 +73,7 @@ public class VersionCheckUtils { public static void showVersionCheckDialog(String envName) { if (!VersionCheckUtils.versionCheck(envName)) { NotificationDialog notificationDialog = new NotificationDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Basic_Sync_Prompt"), - true, NotificationDialog.WARNING_MESSAGE, Toolkit.i18nText("Fine-Design_Basic_Sync_Check_Brief_Info"), new NotificationDialogAction() { + false, NotificationDialog.WARNING_MESSAGE, Toolkit.i18nText("Fine-Design_Basic_Sync_Check_Brief_Info"), new NotificationDialogAction() { @Override public void doClick() { CheckServiceDialog checkServiceDialog = new CheckServiceDialog(DesignerContext.getDesignerFrame(), GeneralUtils.readFullBuildNO(), getRemoteBranch(envName),getNoExistServiceDescription(envName)); diff --git a/designer-realize/src/main/resources/com/fr/design/mainframe/notificationCenter/notificationCenter.png b/designer-base/src/main/resources/com/fr/design/notification/ui/notificationCenter.png similarity index 100% rename from designer-realize/src/main/resources/com/fr/design/mainframe/notificationCenter/notificationCenter.png rename to designer-base/src/main/resources/com/fr/design/notification/ui/notificationCenter.png diff --git a/designer-realize/src/main/resources/com/fr/design/mainframe/notificationCenter/notificationCenterDot.png b/designer-base/src/main/resources/com/fr/design/notification/ui/notificationCenterDot.png similarity index 100% rename from designer-realize/src/main/resources/com/fr/design/mainframe/notificationCenter/notificationCenterDot.png rename to designer-base/src/main/resources/com/fr/design/notification/ui/notificationCenterDot.png From cfcdb21c80a56e457eb4ebf1bbb6b7ec538f5cc1 Mon Sep 17 00:00:00 2001 From: pengda Date: Thu, 17 Jun 2021 16:01:44 +0800 Subject: [PATCH 04/10] =?UTF-8?q?REPORT-53873=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4-=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92-?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92=E6=A1=86=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/dialog/NotificationDialog.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java b/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java index ee2a17a871..b3398c53db 100644 --- a/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java +++ b/designer-base/src/main/java/com/fr/design/dialog/NotificationDialog.java @@ -42,9 +42,6 @@ public class NotificationDialog extends JDialog { public NotificationDialog(Frame owner, String title, boolean isModal, int messageType, String message, NotificationDialogAction action) { super(owner); - setFocusable(false); - setAutoRequestFocus(false); - setResizable(false); setTitle(title); initComponents(messageType, message, isModal, action); } @@ -59,6 +56,9 @@ public class NotificationDialog extends JDialog { NotificationCenter.getInstance().addNotification(new Notification(messageType, message, action)); notificationDialogAction = action; setModal(isModal); + setFocusable(false); + setAutoRequestFocus(false); + setResizable(false); JPanel body = FRGUIPaneFactory.createBorderLayout_L_Pane(); body.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); From 13542e7d680cf099a6602ade7166df987359a55e Mon Sep 17 00:00:00 2001 From: hades Date: Fri, 18 Jun 2021 10:41:59 +0800 Subject: [PATCH 05/10] =?UTF-8?q?REPORT-53775=20=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=BC=B9=E7=AA=97=E6=A6=82=E7=8E=87=E6=80=A7?= =?UTF-8?q?=20=E5=85=B3=E9=97=AD=E4=B8=8D=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/write/submit/SmartInsertDBManipulationPane.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java b/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java index 3fe1268793..7b78673728 100644 --- a/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java +++ b/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java @@ -249,8 +249,13 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane { while (dialog.getParent() != null) { dialog = dialog.getParent(); if (dialog instanceof Dialog) { + final Dialog finalDialog = (Dialog) dialog; + // 非模态的 直接设置可见 不会阻塞 + if (!finalDialog.isModal()) { + finalDialog.setVisible(true); + continue; + } //这边需要另起一个线程设置可见,防止阻塞 - final Container finalDialog = dialog; SwingWorker worker = new SwingWorker() { @Override protected Object doInBackground() throws Exception { From ddcfd7cea6384e2bad2557acb10548398c8597a5 Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 18 Jun 2021 14:40:35 +0800 Subject: [PATCH 06/10] =?UTF-8?q?REPORT-53647=E3=80=90=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E6=B6=89=E5=8F=8A=E5=88=B0=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E3=80=91=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=9C=AC=E8=BA=AB=E6=98=AF=E6=B2=A1=E6=9C=89=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=9A=84=EF=BC=8C=E6=8D=A2=E6=88=90=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=9A=84nightly=E5=90=8E=EF=BC=8C=E6=89=93=E5=BC=80=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E5=90=8E=E6=97=A0=E8=AE=BA=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=8C=E4=B8=8B=E8=BD=BD=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E9=83=BD=E4=BC=9A=E6=8F=90=E7=A4=BA=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5@lanla?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/share/util/DownloadUtils.java | 60 +++++++++++++------ 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java index 93a8f73b0f..7f9a379b5d 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java @@ -1,9 +1,9 @@ package com.fr.design.mainframe.share.util; -import com.fr.config.MarketConfig; import com.fr.design.extra.PluginConstants; import com.fr.form.share.base.CancelCheck; import com.fr.form.share.constants.ShareComponentConstants; +import com.fr.ftp.util.Base64; import com.fr.general.CloudCenter; import com.fr.log.FineLoggerFactory; import com.fr.stable.ProductConstants; @@ -21,31 +21,27 @@ import com.fr.third.org.apache.http.impl.client.CloseableHttpClient; import com.fr.third.org.apache.http.impl.client.HttpClients; import org.jetbrains.annotations.NotNull; +import javax.crypto.Cipher; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.security.KeyFactory; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.X509EncodedKeySpec; /** * created by Harrison on 2020/05/27 **/ public class DownloadUtils { - private static final String MARKET_LOGIN_URL = CloudCenter.getInstance().acquireUrlByKind("market.login"); private static final String REUSES_URL = CloudCenter.getInstance().acquireUrlByKind("af.reuseInfo") + "file/"; private static final String PACKAGE_REUSES_URL = CloudCenter.getInstance().acquireUrlByKind("af.reuseInfo") + "package/download/"; + private static final String CERTIFICATE_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtsz62CPSWXZE/IYZRiAuTSZkw\n" + + "1WOwer8+JFktK0uKLAUuQoBr+UjAMFtRA8W7JgKMDwZy/2liEAiXEOSPU/hrdV8D\n" + + "tT541LnGi1X/hXiRwuttPWYN3L2GYm/d5blU+FBNwghBIrdAxXTzYBc6P4KL/oYX\n" + + "nMdTIrkz8tYkG3QoFQIDAQAB"; - public static boolean login(CloseableHttpClient client) throws Exception { - - HttpUriRequest login = RequestBuilder.post() - .setUri(MARKET_LOGIN_URL) - .setHeader("User-Agent", "Mozilla/5.0") - .addParameter("username", MarketConfig.getInstance().getBbsUsername()) - .addParameter("password", MarketConfig.getInstance().getBbsPassword()) - .build(); - CloseableHttpResponse loginResponse = client.execute(login); - return loginResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK; - } - private static CloseableHttpClient createClient() { BasicCookieStore cookieStore = new BasicCookieStore(); @@ -59,8 +55,10 @@ public class DownloadUtils { @NotNull public static String download(String id, String fileName, com.fr.design.extra.Process process) throws Exception { CloseableHttpResponse fileRes = getHttpResponse(REUSES_URL, id); + if (fileRes.getStatusLine().getStatusCode() == HttpStatus.SC_MOVED_TEMPORARILY) { + fileRes = getHttpResponse(fileRes.getHeaders("Location")[0].getValue()); + } if (fileRes.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { - String realPath = StableUtils.pathJoin(ProductConstants.getEnvHome(), ShareComponentConstants.PLUGIN_CACHE, ShareComponentConstants.DOWNLOAD_SHARE); String filePath; @@ -95,7 +93,9 @@ public class DownloadUtils { public static String downloadPackage(String id, String fileName, CancelCheck cancelCheck) throws Exception { CloseableHttpResponse fileRes = getHttpResponse(PACKAGE_REUSES_URL, id); - + if (fileRes.getStatusLine().getStatusCode() == HttpStatus.SC_MOVED_TEMPORARILY) { + fileRes = getHttpResponse(fileRes.getHeaders("Location")[0].getValue()); + } String realPath = StableUtils.pathJoin(ProductConstants.getEnvHome(), ShareComponentConstants.PLUGIN_CACHE, ShareComponentConstants.DOWNLOAD_PACKAGE_SHARE); String filePath; if (fileRes.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { @@ -133,11 +133,35 @@ public class DownloadUtils { //先登录一下。不然可能失败 CloseableHttpClient client = createClient(); FineLoggerFactory.getLogger().info("login fr-market"); - login(client); FineLoggerFactory.getLogger().info("start download widget {}", id); + HttpUriRequest file = RequestBuilder.post() + .setHeader("User-Agent", "Mozilla/5.0") + .setUri(url).addParameter("id", encrypt(id)) + .build(); + return client.execute(file); + } + + + private static CloseableHttpResponse getHttpResponse(String url) throws Exception { + //先登录一下。不然可能失败 + CloseableHttpClient client = createClient(); HttpUriRequest file = RequestBuilder.get() - .setUri(url + id) + .setUri(url) .build(); return client.execute(file); } + + + private static String encrypt(String str) throws Exception { + //base64编码的公钥 + byte[] decoded = Base64.decodeBase64(CERTIFICATE_PUBLIC_KEY); + RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); + //RSA加密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, pubKey); + String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes(StandardCharsets.UTF_8))); + return outStr; + } + + } From 2bd3625d692b717982573762d3a1a51a80b65f1b Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 18 Jun 2021 15:39:30 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0username=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/share/util/DownloadUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java index 7f9a379b5d..e415f00558 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.share.util; +import com.fr.design.DesignerEnvManager; import com.fr.design.extra.PluginConstants; import com.fr.form.share.base.CancelCheck; import com.fr.form.share.constants.ShareComponentConstants; @@ -136,7 +137,8 @@ public class DownloadUtils { FineLoggerFactory.getLogger().info("start download widget {}", id); HttpUriRequest file = RequestBuilder.post() .setHeader("User-Agent", "Mozilla/5.0") - .setUri(url).addParameter("id", encrypt(id)) + .setUri(url).addParameter("id", encrypt(id)).addParameter("username", + DesignerEnvManager.getEnvManager().getDesignerLoginUsername() ) .build(); return client.execute(file); } From cc792aae6bce6712722897bc31bd848fc6a3b25f Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 18 Jun 2021 15:49:57 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/share/util/DownloadUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java index e415f00558..499c701568 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java @@ -137,7 +137,7 @@ public class DownloadUtils { FineLoggerFactory.getLogger().info("start download widget {}", id); HttpUriRequest file = RequestBuilder.post() .setHeader("User-Agent", "Mozilla/5.0") - .setUri(url).addParameter("id", encrypt(id)).addParameter("username", + .setUri(url).addParameter("id", encrypt(id)).addParameter("userId", DesignerEnvManager.getEnvManager().getDesignerLoginUsername() ) .build(); return client.execute(file); From 52663464441fc47d316c7fd58cddf94584b7d3e2 Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 18 Jun 2021 16:15:20 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/share/util/DownloadUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java index 499c701568..2b4dc70c38 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java @@ -138,7 +138,7 @@ public class DownloadUtils { HttpUriRequest file = RequestBuilder.post() .setHeader("User-Agent", "Mozilla/5.0") .setUri(url).addParameter("id", encrypt(id)).addParameter("userId", - DesignerEnvManager.getEnvManager().getDesignerLoginUsername() ) + String.valueOf(DesignerEnvManager.getEnvManager().getDesignerLoginUid())) .build(); return client.execute(file); } From 43d83202ed22283948ef20980ccd026d0b950ff3 Mon Sep 17 00:00:00 2001 From: Lanlan Date: Fri, 18 Jun 2021 17:27:17 +0800 Subject: [PATCH 10/10] =?UTF-8?q?REPORT-53625=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4-=E7=99=BB=E5=BD=95=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/com/fr/design/login/guide.html | 13 +++++++------ .../fr/design/login/img/icon_close_normal.png | Bin 5057 -> 0 bytes .../resources/com/fr/design/login/login.html | 13 +++++++------ 3 files changed, 14 insertions(+), 12 deletions(-) delete mode 100644 designer-base/src/main/resources/com/fr/design/login/img/icon_close_normal.png diff --git a/designer-base/src/main/resources/com/fr/design/login/guide.html b/designer-base/src/main/resources/com/fr/design/login/guide.html index aeb50ce18b..aada842a10 100644 --- a/designer-base/src/main/resources/com/fr/design/login/guide.html +++ b/designer-base/src/main/resources/com/fr/design/login/guide.html @@ -14,12 +14,13 @@ - - + + \ No newline at end of file diff --git a/designer-base/src/main/resources/com/fr/design/login/img/icon_close_normal.png b/designer-base/src/main/resources/com/fr/design/login/img/icon_close_normal.png deleted file mode 100644 index 01855d5632dca882691be00b89e0f93110709173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5057 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 X@O{GnapI8z00000NkvXXu0mjf;);@X diff --git a/designer-base/src/main/resources/com/fr/design/login/login.html b/designer-base/src/main/resources/com/fr/design/login/login.html index e5091a1cf3..2bd5491a33 100644 --- a/designer-base/src/main/resources/com/fr/design/login/login.html +++ b/designer-base/src/main/resources/com/fr/design/login/login.html @@ -14,12 +14,13 @@ - - + + \ No newline at end of file