From 633dd6dbdafc4c45e34126e3ee46055fc6c27662 Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 26 Feb 2020 11:24:21 +0800 Subject: [PATCH 01/10] =?UTF-8?q?MOBILE-25615=20=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=E9=87=8D=E7=BD=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/actions/FormMobileAttrAction.java | 18 +++++++++++++++--- .../mobile/FormMobileTemplateSettingsPane.java | 4 +--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java b/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java index d77078fad6..63cb6a6061 100644 --- a/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java +++ b/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java @@ -56,6 +56,9 @@ public class FormMobileAttrAction extends JTemplateAction { final FormMobileAttrPane mobileAttrPane = new FormMobileAttrPane(); mobileAttrPane.populateBean(mobileAttr); + + final boolean oldMobileOnly = mobileAttr.isMobileOnly(); + final boolean oldAdaptive = mobileAttr.isAdaptivePropertyAutoMatch(); BasicDialog dialog = mobileAttrPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { @Override public void doOk() { @@ -75,11 +78,16 @@ public class FormMobileAttrAction extends JTemplateAction { recordFunction(); // 设置移动端属性并刷新界面 formTpl.setFormMobileAttr(formMobileAttr); // 会调整 body 的自适应布局,放到最后 - ((FormArea)jf.getFormDesign().getParent()).onMobileAttrModified(); + boolean changeSize = (!oldMobileOnly && formMobileAttr.isMobileOnly()) || (oldMobileOnly && !formMobileAttr.isMobileOnly()); + if (changeSize) { + ((FormArea)jf.getFormDesign().getParent()).onMobileAttrModified(); + } jf.getFormDesign().getSelectionModel().setSelectedCreator(jf.getFormDesign().getRootComponent()); //改变布局为自适应布局,只在移动端属性设置保存后改变一次 - doChangeBodyLayout(); - + boolean changeLayout = !oldAdaptive && formMobileAttr.isAdaptivePropertyAutoMatch(); + if (changeLayout) { + doChangeBodyLayout(); + } WidgetPropertyPane.getInstance().refreshDockingView(); jf.fireTargetModified(); } @@ -87,6 +95,10 @@ public class FormMobileAttrAction extends JTemplateAction { dialog.setVisible(true); } + private boolean isAttrChange(boolean oldValue, boolean newValue) { + return !oldValue && newValue; + } + private void doChangeBodyLayout(){ FormDesigner formDesigner = WidgetPropertyPane.getInstance().getEditingFormDesigner(); XLayoutContainer rootLayout = formDesigner.getRootComponent(); diff --git a/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java b/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java index 21f6d3b09f..2eac9c5863 100644 --- a/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java +++ b/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java @@ -47,9 +47,7 @@ public class FormMobileTemplateSettingsPane extends BasicBeanPane Date: Wed, 26 Feb 2020 11:25:39 +0800 Subject: [PATCH 02/10] fix --- .../main/java/com/fr/design/actions/FormMobileAttrAction.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java b/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java index 63cb6a6061..b387cbc703 100644 --- a/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java +++ b/designer-form/src/main/java/com/fr/design/actions/FormMobileAttrAction.java @@ -95,10 +95,6 @@ public class FormMobileAttrAction extends JTemplateAction { dialog.setVisible(true); } - private boolean isAttrChange(boolean oldValue, boolean newValue) { - return !oldValue && newValue; - } - private void doChangeBodyLayout(){ FormDesigner formDesigner = WidgetPropertyPane.getInstance().getEditingFormDesigner(); XLayoutContainer rootLayout = formDesigner.getRootComponent(); From 4d8f4b2f5c5fa36f470b6c0e52af3ceaf12c05fe Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Tue, 3 Mar 2020 16:44:43 +0800 Subject: [PATCH 03/10] =?UTF-8?q?REPORT-26915=20=E7=96=AB=E6=83=85?= =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=87=BA=E5=86=85?= =?UTF-8?q?=E7=BD=AE=E6=A8=A1=E6=9D=BF=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/actions/file/export/AbstractExportAction.java | 4 ++-- .../src/main/java/com/fr/file/RenameExportFILE.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java b/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java index 17d19aab71..4f8424c41f 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java @@ -177,9 +177,9 @@ public abstract class AbstractExportAction> extends JT } catch (RemoteDesignPermissionDeniedException exp) { + FineLoggerFactory.getLogger().error(exp.getMessage(), exp); this.setProgress(100); target.closeTemplate(); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); JOptionPane.showMessageDialog( DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Engine_Remote_Design_Permission_Denied"), @@ -188,9 +188,9 @@ public abstract class AbstractExportAction> extends JT UIManager.getIcon("OptionPane.errorIcon") ); } catch (Exception exp) { + FineLoggerFactory.getLogger().error(exp.getMessage(), exp); this.setProgress(100); target.closeTemplate(); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); JOptionPane.showMessageDialog( DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Report_Export_Failed") + "\n" + path, diff --git a/designer-base/src/main/java/com/fr/file/RenameExportFILE.java b/designer-base/src/main/java/com/fr/file/RenameExportFILE.java index 8b03e943f6..75583051dc 100644 --- a/designer-base/src/main/java/com/fr/file/RenameExportFILE.java +++ b/designer-base/src/main/java/com/fr/file/RenameExportFILE.java @@ -99,4 +99,9 @@ public class RenameExportFILE extends AbstractFILE { } return out; } + + @Override + public void closeTemplate() throws Exception { + //do nothing + } } \ No newline at end of file From c0f0f90e353b6955294b4777f7532e09006f7a5d Mon Sep 17 00:00:00 2001 From: pengda Date: Mon, 16 Mar 2020 09:53:37 +0800 Subject: [PATCH 04/10] =?UTF-8?q?REPORT-27985=20frm=E9=87=8C=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E5=9D=97=E5=8D=95=E5=85=83=E6=A0=BC=E8=B6=85=E9=93=BE?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=BC=BA=E5=B0=91=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer-form/src/main/java/com/fr/design/mainframe/JForm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/JForm.java b/designer-form/src/main/java/com/fr/design/mainframe/JForm.java index a5b76e1fca..9424a1f15e 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/JForm.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/JForm.java @@ -811,6 +811,7 @@ public class JForm extends JTemplate implements BaseJForm implements BaseJForm Date: Tue, 24 Mar 2020 14:14:30 +0800 Subject: [PATCH 05/10] CHART-13168 && REPORT-27122 --- .../data/tabledata/wrapper/AbstractTableDataWrapper.java | 2 +- .../main/java/com/fr/design/mainframe/DesignerFrame.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/AbstractTableDataWrapper.java b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/AbstractTableDataWrapper.java index a5d20cfcfb..82022bea60 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/AbstractTableDataWrapper.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/AbstractTableDataWrapper.java @@ -54,7 +54,7 @@ public abstract class AbstractTableDataWrapper implements TableDataWrapper { if(ArrayUtils.isNotEmpty(colNames)){ return toColumnNameList(colNames); } else if (ArrayUtils.isNotEmpty(colNamesInCache)) { - return toColumnNameList(colNames); + return toColumnNameList(colNamesInCache); } EmbeddedTableData embeddedTableData = null; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java index e66515fe9a..6d9dc3b619 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java @@ -1141,8 +1141,10 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta Thread.currentThread().interrupt(); } - DesignerEnvManager.getEnvManager().setLastOpenFile( - HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().getEditingFILE().getPath()); + JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); + if (jt != null) { + DesignerEnvManager.getEnvManager().setLastOpenFile(jt.getEditingFILE().getPath()); + } DesignerEnvManager.getEnvManager().setLastWestRegionToolPaneY( WestRegionContainerPane.getInstance().getToolPaneY()); From 2f42c6c52ae82ed619f0ea861041047db79b7898 Mon Sep 17 00:00:00 2001 From: hades Date: Tue, 24 Mar 2020 17:46:29 +0800 Subject: [PATCH 06/10] =?UTF-8?q?REPORT-28368=20=E6=AD=BB=E9=94=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E5=B8=B8=E9=87=8F=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E6=AF=8F=E6=AC=A1=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/loghandler/DesignerLogHandler.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/loghandler/DesignerLogHandler.java b/designer-base/src/main/java/com/fr/design/mainframe/loghandler/DesignerLogHandler.java index 57d1d457f6..5937770c4e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/loghandler/DesignerLogHandler.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/loghandler/DesignerLogHandler.java @@ -53,6 +53,12 @@ public class DesignerLogHandler { private static final int SERVER_GAP_Y = -20; + private static final String ERROR_MARK = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Alert") + ":"; + + private static final String WARN_MARK = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Seriously") + ":"; + + private static final String NORMAL_MARK = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Normal") + ":"; + public static DesignerLogHandler getInstance() { return HOLDER.singleton; @@ -310,11 +316,11 @@ public class DesignerLogHandler { private String appendLocaleMark(String str, int style) { if (style == DesignerLogger.ERROR_INT) { - str = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Alert") + ":" + str + "\n"; + str = ERROR_MARK + str + "\n"; } else if (style == DesignerLogger.WARN_INT) { - str = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Seriously") + ":" + str + "\n"; + str = WARN_MARK + str + "\n"; } else { - str = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Normal") + ":" + str + "\n"; + str = NORMAL_MARK + str + "\n"; } return str; } From 2ac41d22f71d91eab15690a4f156a9cea9491409 Mon Sep 17 00:00:00 2001 From: neil <459208047@qq.com> Date: Wed, 25 Mar 2020 10:40:43 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E5=90=88=E4=BB=A3=E7=A0=81=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/export/AbstractExportAction.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java b/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java index 4f8424c41f..5277d2ebf1 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java @@ -2,6 +2,7 @@ package com.fr.design.actions.file.export; import com.fr.design.actions.JTemplateAction; import com.fr.design.base.mode.DesignModeContext; +import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.iprogressbar.FRProgressBar; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.DesignerContext; @@ -132,10 +133,10 @@ public abstract class AbstractExportAction> extends JT E e = getEditingComponent(); if (!e.isALLSaved() && !DesignModeContext.isVcsMode()) { e.stopEditing(); - int returnVal = JOptionPane.showConfirmDialog( + int returnVal = FineJOptionPane.showConfirmDialog( DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Basic_Utils_Would_You_Like_To_Save") + " \"" + e.getEditingFILE() + "\" ?", - ProductConstants.PRODUCT_NAME, + Toolkit.i18nText("Fine-Design_Basic_Confirm"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE ); @@ -171,30 +172,30 @@ public abstract class AbstractExportAction> extends JT this.setProgress(100); FineLoggerFactory.getLogger().info("\"" + name + "\"" + Toolkit.i18nText("Fine-Design_Report_Finish_Export") + "!"); - JOptionPane.showMessageDialog( + FineJOptionPane.showMessageDialog( DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Report_Exported_Successfully") + "\n" + name); } catch (RemoteDesignPermissionDeniedException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); this.setProgress(100); target.closeTemplate(); - JOptionPane.showMessageDialog( + FineLoggerFactory.getLogger().error(exp.getMessage(), exp); + FineJOptionPane.showMessageDialog( DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Engine_Remote_Design_Permission_Denied"), - UIManager.getString("OptionPane.messageDialogTitle"), + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Error"), JOptionPane.ERROR_MESSAGE, UIManager.getIcon("OptionPane.errorIcon") ); } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); this.setProgress(100); target.closeTemplate(); - JOptionPane.showMessageDialog( + FineLoggerFactory.getLogger().error(exp.getMessage(), exp); + FineJOptionPane.showMessageDialog( DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Report_Export_Failed") + "\n" + path, - UIManager.getString("OptionPane.messageDialogTitle"), + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Error"), JOptionPane.ERROR_MESSAGE, UIManager.getIcon("OptionPane.errorIcon") ); From e215b36f5e43ef1fce974ab9cf33f0b36ce3a9c5 Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 25 Mar 2020 14:26:09 +0800 Subject: [PATCH 08/10] REPORT-28257 && REPORT-28257 --- .../com/fr/design/formula/FunctionManagerPane.java | 6 ++++-- .../com/fr/design/write/submit/CustomJobPane.java | 2 +- .../main/java/com/fr/start/DesignerLauncher.java | 1 + .../src/main/java/com/fr/start/FineDesigner.java | 14 ++++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 designer-realize/src/main/java/com/fr/start/FineDesigner.java diff --git a/designer-base/src/main/java/com/fr/design/formula/FunctionManagerPane.java b/designer-base/src/main/java/com/fr/design/formula/FunctionManagerPane.java index 3d56dd925e..c40a917e39 100644 --- a/designer-base/src/main/java/com/fr/design/formula/FunctionManagerPane.java +++ b/designer-base/src/main/java/com/fr/design/formula/FunctionManagerPane.java @@ -142,8 +142,10 @@ public class FunctionManagerPane extends BasicPane { editorButton.setPreferredSize(new Dimension(editorButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(editorButton); editorButton.addActionListener(createEditorButtonActionListener()); - northPane.add(GUICoreUtils.createFlowPane(new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Class_Name") + ":"), - reportletNamePane}, FlowLayout.LEFT)); + JPanel classNamePane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + classNamePane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Class_Name") + ":"), BorderLayout.NORTH); + classNamePane.add(reportletNamePane, BorderLayout.CENTER); + northPane.add(classNamePane); DescriptionTextArea descriptionArea = new DescriptionTextArea(); descriptionArea.setWrapStyleWord(true); descriptionArea.setLineWrap(true); diff --git a/designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java b/designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java index fcb272dd54..d07d42b3e2 100644 --- a/designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java +++ b/designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java @@ -29,7 +29,7 @@ import java.awt.event.ActionListener; public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; - public static final int DEFAULT_LENGTH = 30; + private static final int DEFAULT_LENGTH = 25; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); diff --git a/designer-realize/src/main/java/com/fr/start/DesignerLauncher.java b/designer-realize/src/main/java/com/fr/start/DesignerLauncher.java index 9e98fcb400..90ebc1a319 100644 --- a/designer-realize/src/main/java/com/fr/start/DesignerLauncher.java +++ b/designer-realize/src/main/java/com/fr/start/DesignerLauncher.java @@ -46,6 +46,7 @@ public class DesignerLauncher { jvmSettings(DesignerJavaRuntime.getInstance().getJvmOptions()). arguments(args). directory(BIN_HOME). + entryPackage(FineDesigner.class). startProcess(DesignerProcessType.INSTANCE); DesignerSuperListener.getInstance().start(); } diff --git a/designer-realize/src/main/java/com/fr/start/FineDesigner.java b/designer-realize/src/main/java/com/fr/start/FineDesigner.java new file mode 100644 index 0000000000..a3e202308b --- /dev/null +++ b/designer-realize/src/main/java/com/fr/start/FineDesigner.java @@ -0,0 +1,14 @@ +package com.fr.start; + +import com.fr.process.engine.core.FineProcessEntry; + +/** + * 包装类 改变子进程的进程名 + * + * @author hades + * @version 10.0 + * Created by hades on 2020/3/24 + */ +public class FineDesigner extends FineProcessEntry { + +} From fc9c029ec720f7402429dc0b21fcea29fbc71359 Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 25 Mar 2020 19:45:56 +0800 Subject: [PATCH 09/10] =?UTF-8?q?REPORT-28368=20=E6=AD=BB=E9=94=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E5=B8=B8=E9=87=8F=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E6=AF=8F=E6=AC=A1=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/os/impl/SupportOSImpl.java | 14 ++++++++++ .../resources/com/fr/design/icon/logo.png | Bin 0 -> 2478 bytes .../src/main/java/com/fr/start/Designer.java | 4 ++- .../com/fr/start/DesignerJavaRuntime.java | 26 ++++++++++++++++-- 4 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 designer-base/src/main/resources/com/fr/design/icon/logo.png diff --git a/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java b/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java index 2518ef57c5..f6c0e30549 100644 --- a/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java +++ b/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java @@ -83,6 +83,20 @@ public enum SupportOSImpl implements SupportOS { public boolean support() { return OperatingSystem.isMacos(); } + }, + + NON_GUARDIAN_START { + @Override + public boolean support() { + return OperatingSystem.isLinux() || Arch.getArch() == Arch.ARM; + } + }, + + DOCK_ICON { + @Override + public boolean support() { + return OperatingSystem.isMacos(); + } } } diff --git a/designer-base/src/main/resources/com/fr/design/icon/logo.png b/designer-base/src/main/resources/com/fr/design/icon/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d4c7d8b24d0c6dc5c2792e5749f70a2e1b3e54b5 GIT binary patch literal 2478 zcmb_eX;_n27CuQZp~zw>DhLvkQE)3*6tocd#JJ!Z6;T0Md{hun+)yBpd}9@?&L~5b zT53$j(UGDBt1JRSqKH;eK?H#ygoq+2A#4(|k=`5U&-BrM{c)f3e&^itp5<=e_nbA$ zEX*dE0f0roa`t)v3W5|cr6Uo#KW8Vv7YPCEMS+P@MJp@bA;D47KW)Y0zY~oa$B$f_ za(; zlRg?cm-HG=>7t0Fq1J)j`$axG778baiz6FXFqQAy(bN(bcfA+gyOLIQT`)7RJAQRl zEz;)d5+Z^bhKPN+{8HN+$}4;NC?bt6FfmfI=0ixi>f{E!_Xh6~;OvGjx3$kE>wEsW zEvG`Dxx*l13N}X@7zV%U8k@?Ys`{5NX(Y9(vTbv2YIEaCL>H zFPM<64j+D$#S}bmIqS#+Q}7P1I$UIXK76L14#vS!JDq{G$$a(tli1b$?r?wI$qnTq z22dp?!WXeodZ~pU;&2I5id&}u= zLE3CVvxFrkq7<=MPA890YkO1o+@gqbpx{PXnmwE_m7tAf;b~-1{^JgvyhyEG<7OWR zu2bQS)DTn}bDbhO4hOSN*~NhCY`7yHWIz?&sXRKz$nyMs+9Wt(M$8KFsK+_^ZuvG& zge?c_w$Ln4DiSjSTnFq3&nTmMGu0fHRG9QpIpEr7M-)XP?X4*AvX}=pDo4p~$7zS8?~dv8GTl=%>X$sR0wE3MnIJh!9^vNFH19w`)Ov?4uycSa8 zPD5A4I5g0;@mT=2odU}BrUgPly~)pIs(ApSoYa)TF#rViG(qFfpwj#^>EIlpoj(tS zvj%YbYXr`MiiXoCfNeB7HdGSXJ|WNr36O!j{u+U*`Tu5;sd<7qp5JzRXGa`RT|n3J zf5($6Em{KOaH0?)!VacrkZ61ce7e7X?l?ryh|5|##6r|&2k@8})Mx6JVctkemki5s zD(i?ZktANOBxAAS?gh$_8{PoNxpa31l1_1IOaY6yNxU5s5Fl#96ut}0v8i({8Een2 z!5gL@x;h(i>i1Z*TR45E-nC>DR+uO*Z{Lfj6SWV>^h)^#1mW)2l+oQDkC9R`p2P}& z&jSe`ToEA8T`?Rs+)|l)pzOXNYp{{c(udpLwnWIO#~Tc{?a(XcbpM&(!x|jmxca%Q zqw}n`2B&SRrPhjDurtR{W*GZj2hxGRuU01hpq29R$8W*5=cOr1%prO@mS3SXPseov zJEfP;do%RnV?7C}N|^vZH#ouqjgh*(_-C0K&*i8#@(t3qHe&(h*)`&((T`Y=rRy}@ z9%wgqY;L$p-y8iuI(4)1>NC}aNVMMX_I4J{mAyK~Y`&Ky!1o4}u{Hl;r~{Lx)EY zbm7+@z$cOx#1Jk!8@wvkH(&}FY zVeYj6lGhW4&M>=E1~w(DV!efed05xPe=bhg9=SKy!@==fZ+YX4?J+z2Y-7-gG51ns z>VgkM?oC0DZ82MP_$~)6mp3o^?fq4m{61;p)%4u5iQe5;==K0j!-e|Ri#0BWg0`^T zZ)S`|7Zv%W_f`G`8oy+u`03-&t*l^Kc?oY}`vrhk)Y?@8h1=TmC-U90tlr)}V}5Gm z`)r1;mMmCTC~{|=0p3sBpWwo>5Nmaz0i+Hs5o+yW5W+Ac|JG9KH_h*F{(TA b<=S4uzIAu2m_gHz;`RkBS;Nlrk2vxN5SNVE literal 0 HcmV?d00001 diff --git a/designer-realize/src/main/java/com/fr/start/Designer.java b/designer-realize/src/main/java/com/fr/start/Designer.java index fb974da986..1f8d181ce3 100644 --- a/designer-realize/src/main/java/com/fr/start/Designer.java +++ b/designer-realize/src/main/java/com/fr/start/Designer.java @@ -1,5 +1,6 @@ package com.fr.start; +import com.fr.design.os.impl.SupportOSImpl; import com.fr.log.FineLoggerFactory; /** @@ -14,7 +15,8 @@ public class Designer { public static void main(String[] args) { try { - if (DesignerJavaRuntime.getInstance().isInValidVmOptions()) { + if (DesignerJavaRuntime.getInstance().isInValidVmOptions() + || SupportOSImpl.NON_GUARDIAN_START.support()) { runNonGuardianDesigner(args); } else { // 创建进程 diff --git a/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java b/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java index c264e79cb0..ed7553620a 100644 --- a/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java +++ b/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java @@ -1,12 +1,18 @@ package com.fr.start; +import com.fr.design.os.impl.SupportOSImpl; import com.fr.general.ComparatorUtils; +import com.fr.general.IOUtils; import com.fr.process.engine.core.AbstractJavaRuntime; +import com.fr.stable.ArrayUtils; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.os.OperatingSystem; -import java.util.Set; +import javax.imageio.ImageIO; +import java.io.File; +import java.io.IOException; + /** * 设计器Java运行环境 @@ -23,8 +29,20 @@ public class DesignerJavaRuntime extends AbstractJavaRuntime { private static final String JAVA_EXEC = "java"; private static final String WIN_JRE_BIN = StableUtils.pathJoin("jre", "bin"); private static final String MAC_JRE_BIN = StableUtils.pathJoin("jre.bundle", "Contents", "Home", "jre", "bin"); + private static final String BIN_HOME = StableUtils.pathJoin(StableUtils.getInstallHome(), "bin"); + private static final String LOGO_PATH = StableUtils.pathJoin(BIN_HOME, "logo.png"); + private static final String DOCK_OPTIONS = "-Xdock:icon=" + StableUtils.pathJoin(StableUtils.getInstallHome(), "bin", "logo.png"); private static final String[] DEBUG_OPTIONS = new String[]{"-Dfile.encoding=UTF-8", "-Xmx2048m"}; + static { + if (SupportOSImpl.DOCK_ICON.support()) { + try { + ImageIO.write(IOUtils.readImage("com/fr/design/icon/logo.png"), "png", new File(LOGO_PATH)); + } catch (IOException ignore) { + } + } + } + private static final DesignerJavaRuntime INSTANCE = new DesignerJavaRuntime(); public static DesignerJavaRuntime getInstance() { @@ -79,7 +97,11 @@ public class DesignerJavaRuntime extends AbstractJavaRuntime { @Override public String[] getJvmOptions() { if (isInstallVersion()) { - return super.getJvmOptions(); + String[] options = super.getJvmOptions(); + if (SupportOSImpl.DOCK_ICON.support()) { + options = ArrayUtils.add(options, DOCK_OPTIONS); + } + return options; } else { return DEBUG_OPTIONS; } From a4584870bd2fa7b88e18d18c7233ffbd7e341208 Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 25 Mar 2020 19:52:24 +0800 Subject: [PATCH 10/10] =?UTF-8?q?REPORT-28186=20mac=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E7=9F=AD=E6=9A=82=E5=8E=9F=E7=94=9Fjava=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/start/DesignerJavaRuntime.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java b/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java index ed7553620a..6b0c45eab1 100644 --- a/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java +++ b/designer-realize/src/main/java/com/fr/start/DesignerJavaRuntime.java @@ -31,7 +31,7 @@ public class DesignerJavaRuntime extends AbstractJavaRuntime { private static final String MAC_JRE_BIN = StableUtils.pathJoin("jre.bundle", "Contents", "Home", "jre", "bin"); private static final String BIN_HOME = StableUtils.pathJoin(StableUtils.getInstallHome(), "bin"); private static final String LOGO_PATH = StableUtils.pathJoin(BIN_HOME, "logo.png"); - private static final String DOCK_OPTIONS = "-Xdock:icon=" + StableUtils.pathJoin(StableUtils.getInstallHome(), "bin", "logo.png"); + private static final String DOCK_OPTIONS = "-Xdock:icon=" + LOGO_PATH; private static final String[] DEBUG_OPTIONS = new String[]{"-Dfile.encoding=UTF-8", "-Xmx2048m"}; static {