diff --git a/designer/src/com/fr/start/module/DesignerStartup.java b/designer/src/com/fr/start/module/DesignerStartup.java index 9abb23dfe5..dd2b09c538 100644 --- a/designer/src/com/fr/start/module/DesignerStartup.java +++ b/designer/src/com/fr/start/module/DesignerStartup.java @@ -1,11 +1,7 @@ package com.fr.start.module; -import com.fr.design.DesignerEnvManager; -import com.fr.design.utils.DesignUtils; -import com.fr.general.ComparatorUtils; import com.fr.module.Activator; import com.fr.stable.CoreActivator; -import com.fr.stable.ProductConstants; import com.fr.stable.module.ModuleListener; import com.fr.start.Designer; import com.fr.start.EnvSwitcher; @@ -13,25 +9,15 @@ import com.fr.start.ReportSplashPane; import com.fr.start.SplashWindow; import com.fr.startup.activators.BasicActivator; -import java.io.File; - /** * Created by juhaoyu on 2018/1/8. */ public class DesignerStartup extends Activator { - - private static final int MESSAGE_PORT = 51462; - - private static final int DEBUG_PORT = 51463; - + @Override public void start() { - + startSub(PreStartActivator.class); - - if (checkMultiStart()) { - return; - } //启动基础部分 startSub(BasicActivator.class); //启动画面 @@ -51,53 +37,17 @@ public class DesignerStartup extends Activator { splashWindow.dispose(); startSub(StartFinishActivator.class); } - + private SplashWindow createSplashWindow() { - + ReportSplashPane reportSplashPane = new ReportSplashPane(); SplashWindow splashWindow = new SplashWindow(reportSplashPane); getModule().setSingleton(ModuleListener.class, reportSplashPane.getModuleListener()); return splashWindow; } - - private boolean checkMultiStart() { - - if (isDebug()) { - setDebugEnv(); - } else { - DesignUtils.setPort(getStartPort()); - } - // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 - if (DesignUtils.isStarted()) { - DesignUtils.clientSend(getModule().upFindSingleton(StartupArgs.class).get()); - return true; - } - return false; - } - - private int getStartPort() { - - return MESSAGE_PORT; - } - - - //在VM options里加入-Ddebug=true激活 - private boolean isDebug() { - - return ComparatorUtils.equals("true", System.getProperty("debug")); - } - - - //端口改一下,环境配置文件改一下。便于启动两个设计器,进行对比调试 - private void setDebugEnv() { - - DesignUtils.setPort(DEBUG_PORT); - DesignerEnvManager.setEnvFile(new File(ProductConstants.getEnvHome() + File.separator + ProductConstants.APP_NAME + "Env_debug.xml")); - } - - + @Override public void stop() { - + } } diff --git a/designer/src/com/fr/start/module/PreStartActivator.java b/designer/src/com/fr/start/module/PreStartActivator.java index 9ef1af8dc7..eba3996b16 100644 --- a/designer/src/com/fr/start/module/PreStartActivator.java +++ b/designer/src/com/fr/start/module/PreStartActivator.java @@ -3,32 +3,79 @@ package com.fr.start.module; import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.RestartHelper; +import com.fr.design.utils.DesignUtils; +import com.fr.general.ComparatorUtils; import com.fr.general.SiteCenter; import com.fr.module.Activator; import com.fr.stable.BuildContext; +import com.fr.stable.ProductConstants; + +import java.io.File; /** * Created by juhaoyu on 2018/1/8. */ public class PreStartActivator extends Activator { - + + private static final int MESSAGE_PORT = 51462; + + private static final int DEBUG_PORT = 51463; + @Override public void start() { - + RestartHelper.deleteRecordFilesWhenStart(); BuildContext.setBuildFilePath("/com/fr/stable/build.properties"); SiteCenter.getInstance(); + if (checkMultiStart()) { + return; + } initLanguage(); } - + + private boolean checkMultiStart() { + + if (isDebug()) { + setDebugEnv(); + } else { + DesignUtils.setPort(getStartPort()); + } + // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 + if (DesignUtils.isStarted()) { + DesignUtils.clientSend(getModule().upFindSingleton(StartupArgs.class).get()); + return true; + } + return false; + } + + private int getStartPort() { + + return MESSAGE_PORT; + } + + + //在VM options里加入-Ddebug=true激活 + private boolean isDebug() { + + return ComparatorUtils.equals("true", System.getProperty("debug")); + } + + + //端口改一下,环境配置文件改一下。便于启动两个设计器,进行对比调试 + private void setDebugEnv() { + + DesignUtils.setPort(DEBUG_PORT); + DesignerEnvManager.setEnvFile(new File(ProductConstants.getEnvHome() + File.separator + ProductConstants.APP_NAME + "Env_debug.xml")); + } + private void initLanguage() { //这两句的位置不能随便调换,因为会影响语言切换的问题 FRContext.setLanguage(DesignerEnvManager.getEnvManager(false).getLanguage()); DesignerEnvManager.checkNameEnvMap(); } - + @Override public void stop() { - + } } diff --git a/designer_base/src/com/fr/design/style/FormatPane.java b/designer_base/src/com/fr/design/style/FormatPane.java index 59e3cda2f2..5b642bdb4e 100644 --- a/designer_base/src/com/fr/design/style/FormatPane.java +++ b/designer_base/src/com/fr/design/style/FormatPane.java @@ -3,15 +3,20 @@ */ package com.fr.design.style; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.text.DecimalFormat; -import java.text.Format; -import java.text.SimpleDateFormat; -import java.util.Date; +import com.fr.base.FRContext; +import com.fr.base.TextFormat; +import com.fr.data.core.FormatField; +import com.fr.data.core.FormatField.FormatContents; +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.ibutton.UIRadioButton; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.general.ComparatorUtils; +import com.fr.general.Inter; +import com.fr.stable.ArrayUtils; +import com.fr.stable.StringUtils; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; @@ -25,21 +30,15 @@ import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; - -import com.fr.base.FRContext; -import com.fr.base.TextFormat; -import com.fr.data.core.FormatField; -import com.fr.data.core.FormatField.FormatContents; -import com.fr.design.gui.ibutton.UIRadioButton; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.dialog.BasicPane; -import com.fr.general.ComparatorUtils; -import com.fr.general.Inter; -import com.fr.stable.ArrayUtils; -import com.fr.stable.StringUtils; -import com.fr.design.utils.gui.GUICoreUtils; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.text.DecimalFormat; +import java.text.Format; +import java.text.SimpleDateFormat; +import java.util.Date; /** * 属性界面中的格式面板 @@ -316,6 +315,9 @@ public class FormatPane extends BasicPane { */ public Format update() { String text = patternTextField.getText(); + if (getFormatContents() == FormatContents.TEXT) { + return FormatField.getInstance().getFormat(getFormatContents(), text); + } if(StringUtils.isEmpty(text)) { return null; } diff --git a/designer_base/src/com/fr/start/server/TomcatHost.java b/designer_base/src/com/fr/start/server/TomcatHost.java index 2889751041..c8a3c0a921 100644 --- a/designer_base/src/com/fr/start/server/TomcatHost.java +++ b/designer_base/src/com/fr/start/server/TomcatHost.java @@ -71,6 +71,7 @@ public class TomcatHost { this.listener = new AprLifecycleListener(); this.server.addLifecycleListener(listener); this.tomcat.getHost().setAppBase(StableUtils.getInstallHome() + File.separator + "."); + this.tomcat.getConnector().setURIEncoding("UTF-8"); } catch (Exception e) { //todo 最好加一个用server.xml FRContext.getLogger().error(e.getMessage(), e); diff --git a/designer_chart/src/com/fr/van/chart/map/server/ChartMapEditorAction.java b/designer_chart/src/com/fr/van/chart/map/server/ChartMapEditorAction.java index 10ccfdb6b9..9c8096cde0 100644 --- a/designer_chart/src/com/fr/van/chart/map/server/ChartMapEditorAction.java +++ b/designer_chart/src/com/fr/van/chart/map/server/ChartMapEditorAction.java @@ -25,7 +25,7 @@ public class ChartMapEditorAction extends UpdateAction { public void actionPerformed(ActionEvent evt) { int port = DesignerEnvManager.getEnvManager().getJettyServerPort(); String web = GeneralContext.getCurrentAppNameOfEnv(); - String serverlet = ServerConfig.getInstance().getServletMapping(); + String serverlet = ServerConfig.getInstance().getReportServletName(); Env env = FRContext.getCurrentEnv(); StartServer.browserURLWithLocalEnv(env.isLocalEnv() ? String.format("http://localhost:%d/%s/%s?op=map", port, web, serverlet) : env.getPath() + "?op=map"); }