From cc5a71a31a3b3bcd71c8734d56f61a2266ee5d2b Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 17 Jul 2018 14:55:31 +0800 Subject: [PATCH 1/7] =?UTF-8?q?REPORT-9757=20=E3=80=90=E9=98=BB=E5=A1=9E?= =?UTF-8?q?=E3=80=91=E7=A3=81=E7=9B=98=E6=96=87=E4=BB=B6=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=A1=86=E7=9A=84=E8=B7=AF=E5=BE=84=E5=B0=91=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E6=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/webattr/WebCssPane.java | 2 +- .../src/main/java/com/fr/design/webattr/WebJsPane.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java index cb9909e2e..b4600b753 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java @@ -85,7 +85,7 @@ public class WebCssPane extends BasicPane { if (!"css".equalsIgnoreCase(fileType)) { return; } - localText.setText(file.getPath().substring(1)); + localText.setText(file.getPath().replaceFirst("^/*", "")); // 去掉开头的"/"(如果有的话) centerPane.setAddEnabled(true); } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java index ac2217c02..0c92927f6 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java @@ -173,7 +173,7 @@ public class WebJsPane extends BasicPane { if (!"js".equalsIgnoreCase(fileType)) { return; } - localText.setText(file.getPath().substring(1)); + localText.setText(file.getPath().replaceFirst("^/*", "")); // 去掉相对路径开头的"/"(如果有的话) editingPane.setAddEnabled(true); } From dcbd491207618e230123adb6f58c2b946327a69b Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 17 Jul 2018 15:15:31 +0800 Subject: [PATCH 2/7] =?UTF-8?q?REPORT-9757=20=E3=80=90=E9=98=BB=E5=A1=9E?= =?UTF-8?q?=E3=80=91=E7=A3=81=E7=9B=98=E6=96=87=E4=BB=B6=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=A1=86=E7=9A=84=E8=B7=AF=E5=BE=84=E5=B0=91=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E6=AF=8D=3D>=E8=B0=83=E6=95=B4=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/webattr/WebCssPane.java | 2 +- .../src/main/java/com/fr/design/webattr/WebJsPane.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java index b4600b753..ff90867cb 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java @@ -85,7 +85,7 @@ public class WebCssPane extends BasicPane { if (!"css".equalsIgnoreCase(fileType)) { return; } - localText.setText(file.getPath().replaceFirst("^/*", "")); // 去掉开头的"/"(如果有的话) + localText.setText(file.getPath()); centerPane.setAddEnabled(true); } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java index 0c92927f6..7b7d00667 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java @@ -173,7 +173,7 @@ public class WebJsPane extends BasicPane { if (!"js".equalsIgnoreCase(fileType)) { return; } - localText.setText(file.getPath().replaceFirst("^/*", "")); // 去掉相对路径开头的"/"(如果有的话) + localText.setText(file.getPath()); editingPane.setAddEnabled(true); } From e15f0e1bd0f01101e10aa18befafcd75518d40e7 Mon Sep 17 00:00:00 2001 From: ju Date: Tue, 17 Jul 2018 19:28:42 +0800 Subject: [PATCH 3/7] =?UTF-8?q?DEC-3146=20=E6=96=B0=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E6=B5=8F=E8=A7=88=E5=99=A8=E8=AE=BE=E7=BD=AE=E6=88=90=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E7=9A=84=E5=90=8E=E5=8F=B0=E4=BC=9A=E6=8A=A5NPE=201?= =?UTF-8?q?=E3=80=81=E6=95=B4=E7=90=86=E6=89=80=E6=9C=89=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E5=8A=A0=E8=BD=BD=E7=9B=B8=E5=85=B3=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E7=BB=9F=E4=B8=80=E5=88=B0core=E4=B8=AD?= =?UTF-8?q?=E5=8E=BB=E5=8A=A0=E8=BD=BD=202=E3=80=81=E6=87=92=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=EF=BC=9ALocale=E6=87=92=E5=8A=A0=E8=BD=BD=EF=BC=8C?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=87=92=E5=8A=A0=E8=BD=BD=203=E3=80=81?= =?UTF-8?q?=E5=90=8E=E6=B7=BB=E5=8A=A0=E7=9A=84=E6=96=87=E4=BB=B6=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E5=85=88=E5=8A=A0=E8=BD=BD=E7=9A=84=EF=BC=88=E5=8D=B3?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=8F=92=E4=BB=B6=E7=9A=84=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E5=8F=AF=E4=BB=A5=E8=A6=86=E7=9B=96=E5=8E=9F=E5=A7=8B?= =?UTF-8?q?=E7=9A=84=E5=9B=BD=E9=99=85=E5=8C=96=EF=BC=89=204=E3=80=81?= =?UTF-8?q?=E6=94=AF=E6=8C=81remove=E6=93=8D=E4=BD=9C=EF=BC=8C=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E6=8E=89=E6=8F=92=E4=BB=B6=E5=90=8E=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E8=87=AA=E5=8A=A8=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/actions/file/LocalePane.java | 61 +++++-------------- 1 file changed, 15 insertions(+), 46 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java b/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java index 8d9715222..76258d8f1 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java @@ -12,10 +12,10 @@ import com.fr.design.gui.itextfield.UITextField; import com.fr.file.filetree.FileNode; import com.fr.general.GeneralUtils; import com.fr.general.Inter; +import com.fr.locale.InterProviderFactory; import com.fr.log.FineLoggerFactory; import com.fr.stable.ArrayUtils; import com.fr.stable.StableUtils; -import com.fr.stable.bridge.StableFactory; import com.fr.stable.project.ProjectConstants; import com.fr.workspace.WorkContext; import com.fr.workspace.resource.WorkResourceOutputStream; @@ -37,7 +37,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; -import java.util.ResourceBundle; import java.util.Set; import java.util.Vector; @@ -121,43 +120,26 @@ public class LocalePane extends BasicPane { } private void initPredefinedProperties() { - - Map supportLocaleMap = Inter.getSupportLocaleMap(); - - String[] localeFiles = StableFactory.getLocaleFiles(); - - - + + Map supportLocaleMap = InterProviderFactory.getProvider().getSupportLocaleMap(); + + Map map; List sortKeys = new ArrayList(); - - - for (String path : localeFiles) { - ResourceBundle chineseBundle = loadResourceBundle(path, Locale.SIMPLIFIED_CHINESE); - sortKeys.addAll(chineseBundle.keySet()); - } + + + map = InterProviderFactory.getProvider().getLocalBundle(Locale.SIMPLIFIED_CHINESE).getMap(); + sortKeys.addAll(map.keySet()); Collections.sort(sortKeys); - - Map> localeResourceBundleMap = new HashMap>(); - for (Map.Entry entry : supportLocaleMap.entrySet()) { - Locale locale = entry.getKey(); - List list = new ArrayList<>(); - for (String path : localeFiles) { - ResourceBundle chineseBundle = loadResourceBundle(path, locale); - list.add(chineseBundle); - } - localeResourceBundleMap.put(locale, list); - } - + Map> data = new HashMap>(); - for (Map.Entry> entry : localeResourceBundleMap.entrySet()) { + for (Locale locale : supportLocaleMap.keySet()) { Vector column = new Vector(); - List rbs = entry.getValue(); for (String key : sortKeys) { - column.add(readText(rbs, key)); + column.add(InterProviderFactory.getProvider().getLocText(key)); } - data.put(entry.getKey(), column); + data.put(locale, column); + } - Vector keyVector = new Vector(); keyVector.addAll(sortKeys); @@ -167,20 +149,7 @@ public class LocalePane extends BasicPane { predefineTableModel.addColumn(entry.getKey().getDisplayName(), entry.getValue()); } } - - private String readText(List rbs, String key) { - for (ResourceBundle rb : rbs) { - if (rb.containsKey(key)) { - return rb.getString(key); - } - } - return null; - } - - private ResourceBundle loadResourceBundle(String dir, Locale locale) { - return ResourceBundle.getBundle(dir, locale, Inter.class.getClassLoader()); - } - + private void initCustomProperties() throws Exception { FileNode[] fileNodes = FRContext.getFileNodes().list(ProjectConstants.LOCALE_NAME); From 3724be47b6be2d64062c1257db0607fbd371d917 Mon Sep 17 00:00:00 2001 From: richie Date: Tue, 17 Jul 2018 21:56:48 +0800 Subject: [PATCH 4/7] =?UTF-8?q?CORE-113=20Session=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=94=B9=E8=BF=9B+=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=BE=B5=E5=85=A5=E6=80=A7=E5=BC=BA=E7=9A=84=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=BE=85=E9=87=8D=E6=9E=84=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E5=BD=B1=E5=93=8D=E5=9F=BA=E6=9C=AC=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/file/FileFILE.java | 24 +++++++++---------- .../errorinfo/ErrorInfoLogAppender.java | 12 +++++----- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/designer-base/src/main/java/com/fr/file/FileFILE.java b/designer-base/src/main/java/com/fr/file/FileFILE.java index 4655ae1f3..decf027f0 100644 --- a/designer-base/src/main/java/com/fr/file/FileFILE.java +++ b/designer-base/src/main/java/com/fr/file/FileFILE.java @@ -1,23 +1,22 @@ package com.fr.file; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; - -import javax.swing.Icon; -import javax.swing.filechooser.FileSystemView; - import com.fr.base.io.XMLEncryptUtils; import com.fr.design.gui.itree.filetree.FileComparator; import com.fr.design.gui.itree.filetree.FileTreeIcon; import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogManager; +import com.fr.general.SessionLocalManager; import com.fr.stable.StableUtils; import com.fr.stable.project.ProjectConstants; +import javax.swing.*; +import javax.swing.filechooser.FileSystemView; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; + public class FileFILE implements FILE { private File file; @@ -199,12 +198,11 @@ public class FileFILE implements FILE { if (file == null || !file.exists()) { return null; } - FRLogManager.declareResourceWriteStart(file.getAbsolutePath()); java.io.OutputStream out = null; try { out = new FileOutputStream(file); } catch (Exception e) { - throw FRLogManager.createLogPackedException(e); + throw SessionLocalManager.createLogPackedException(e); } return out; } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java b/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java index 74b36372b..46efc1581 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java @@ -4,19 +4,19 @@ import com.fr.base.io.IOFile; import com.fr.base.io.XMLReadHelper; import com.fr.config.MarketConfig; import com.fr.design.DesignerEnvManager; -import com.fr.general.FRLogManager; +import com.fr.general.SessionLocalManager; import com.fr.general.Inter; -import com.fr.general.LogDuration; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; +import com.fr.stable.web.SessionProvider; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; import com.fr.third.apache.log4j.AppenderSkeleton; import com.fr.third.apache.log4j.Level; import com.fr.third.apache.log4j.spi.LoggingEvent; -import com.fr.web.core.SessionDealWith; -import com.fr.web.core.SessionIDInfor; +import com.fr.web.core.SessionPoolManager; +import com.fr.web.core.TemplateSessionIDInfo; import com.fr.workspace.WorkContext; import java.io.ByteArrayInputStream; @@ -96,13 +96,13 @@ public class ErrorInfoLogAppender extends AppenderSkeleton { } private String readTemplateID() { - LogDuration logDuration = FRLogManager.getSession(); + SessionProvider logDuration = SessionLocalManager.getSession(); if (logDuration == null) { return StringUtils.EMPTY; } String sessionID = logDuration.getSessionID(); - SessionIDInfor infor = SessionDealWith.getSessionIDInfor(sessionID); + TemplateSessionIDInfo infor = SessionPoolManager.getSessionIDInfor(sessionID, TemplateSessionIDInfo.class); if (infor == null) { return StringUtils.EMPTY; } From ac014703c1c78d562c2deb3ad2ba94f1ce3c7318 Mon Sep 17 00:00:00 2001 From: kerry Date: Wed, 18 Jul 2018 12:04:23 +0800 Subject: [PATCH 5/7] =?UTF-8?q?REPORT-9246=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E4=B8=AD=E6=9C=89=E5=A5=BD=E5=A4=9A=E9=85=8D=E7=BD=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=93=8D=E4=BD=9C=20=E4=B8=AD=E5=A4=B9=E6=9D=82?= =?UTF-8?q?=E4=BA=86=E5=BE=88=E5=A4=9A=E7=9A=84=E4=B8=9A=E5=8A=A1=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E5=B0=86=E4=B8=9A=E5=8A=A1=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=92=8C=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9=E5=89=A5=E7=A6=BB?= =?UTF-8?q?=E5=87=BA=E6=9D=A5=EF=BC=8CConfigurations.update=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E4=B8=AD=E5=B0=BD=E9=87=8F=E5=8F=AA=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE=E7=9A=84=E6=AD=A5=E9=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/server/ConnectionListAction.java | 36 +- .../actions/server/GlobalParameterAction.java | 20 +- .../actions/server/GlobalTableDataAction.java | 42 +- .../actions/server/ProcedureListAction.java | 18 +- .../connect/ConnectionComboBoxPanel.java | 29 +- .../java/com/fr/env/RemoteEnvURLTest.java | 398 +++++++++--------- .../actions/report/ReportWebAttrAction.java | 16 +- .../actions/server/WidgetManagerAction.java | 20 +- 8 files changed, 289 insertions(+), 290 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java b/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java index e14b22b6d..0be0a7c32 100644 --- a/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java @@ -1,7 +1,6 @@ package com.fr.design.actions.server; -import com.fr.config.Configuration; import com.fr.data.impl.Connection; import com.fr.design.actions.UpdateAction; import com.fr.design.data.datapane.connect.ConnectionManagerPane; @@ -16,10 +15,11 @@ import com.fr.file.ConnectionConfig; import com.fr.general.IOUtils; import com.fr.general.Inter; import com.fr.locale.InterProviderFactory; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; -import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; -import javax.swing.*; +import javax.swing.KeyStroke; import java.awt.event.ActionEvent; import java.util.Map; @@ -74,26 +74,27 @@ public class ConnectionListAction extends UpdateAction { final BasicDialog databaseListDialog = databaseManagerPane.showLargeWindow(designerFrame, null); databaseListDialog.addDialogActionListener(new DialogActionAdapter() { public void doOk() { - Configurations.update(new Worker() { + if (!databaseManagerPane.isNamePermitted()) { + databaseListDialog.setDoOKSucceed(false); + return; + } + Configurations.modify(new WorkerFacade(ConnectionConfig.class) { @Override public void run() { - if (!databaseManagerPane.isNamePermitted()) { - databaseListDialog.setDoOKSucceed(false); - return; - } - if (!doWithDatasourceManager(datasourceManager, databaseManagerPane, databaseListDialog)) { - //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 - return; - } - DesignerContext.getDesignerBean("databasename").refreshBeanElement(); + databaseManagerPane.update(datasourceManager); } - + }.addCallBack(new CallBackAdaptor() { @Override - public Class[] targets() { - return new Class[]{ConnectionConfig.class}; + public boolean beforeCommit() { + //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 + return doWithDatasourceManager(datasourceManager, databaseManagerPane, databaseListDialog); } - }); + @Override + public void afterCommit() { + DesignerContext.getDesignerBean("databasename").refreshBeanElement(); + } + })); } }); databaseListDialog.setVisible(true); @@ -109,7 +110,6 @@ public class ConnectionListAction extends UpdateAction { * @return boolean 是否更新成功 */ public static boolean doWithDatasourceManager(ConnectionConfig datasourceManager, ConnectionShowPane connectionShowPane, BasicDialog databaseListDialog) { - connectionShowPane.update(datasourceManager); boolean isFailed = false; //存在请重命名则不能更新 int index = isConnectionMapContainsRename(datasourceManager); diff --git a/designer-base/src/main/java/com/fr/design/actions/server/GlobalParameterAction.java b/designer-base/src/main/java/com/fr/design/actions/server/GlobalParameterAction.java index d141b3b7b..2e5294f35 100644 --- a/designer-base/src/main/java/com/fr/design/actions/server/GlobalParameterAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/server/GlobalParameterAction.java @@ -5,7 +5,6 @@ package com.fr.design.actions.server; import com.fr.base.BaseUtils; import com.fr.base.ParameterConfig; -import com.fr.config.Configuration; import com.fr.config.ServerPreferenceConfig; import com.fr.design.DesignModelAdapter; import com.fr.design.actions.UpdateAction; @@ -16,10 +15,11 @@ import com.fr.design.mainframe.DesignerFrame; import com.fr.design.menu.MenuKeySet; import com.fr.design.parameter.ParameterManagerPane; import com.fr.general.Inter; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; -import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; -import javax.swing.*; +import javax.swing.KeyStroke; import java.awt.event.ActionEvent; @@ -49,23 +49,21 @@ public class GlobalParameterAction extends UpdateAction { parameterManagerPane.populate(ParameterConfig.getInstance().getGlobalParameters()); parameterManagerDialog.addDialogActionListener(new DialogActionAdapter() { public void doOk() { - Configurations.update(new Worker() { + Configurations.modify(new WorkerFacade(ServerPreferenceConfig.class) { @Override public void run() { - //apply new parameter list. parameterManagerPane.update(); + } + }.addCallBack(new CallBackAdaptor() { + @Override + public void afterCommit() { DesignModelAdapter model = DesignModelAdapter.getCurrentModelAdapter(); if (model != null) { model.parameterChanged(); } parameterManagerDialog.setDoOKSucceed(!parameterManagerPane.isContainsRename()); } - - @Override - public Class[] targets() { - return new Class[]{ServerPreferenceConfig.class}; - } - }); + })); } }); diff --git a/designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java b/designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java index b723b9928..2969cf444 100644 --- a/designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java @@ -21,10 +21,12 @@ import com.fr.file.ProcedureConfig; import com.fr.file.TableDataConfig; import com.fr.general.Inter; import com.fr.locale.InterProviderFactory; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; -import javax.swing.*; +import javax.swing.KeyStroke; import java.awt.event.ActionEvent; import java.util.HashMap; import java.util.Map; @@ -92,33 +94,35 @@ public class GlobalTableDataAction extends UpdateAction implements ResponseDataS globalTableDataDialog.addDialogActionListener(new DialogActionAdapter() { + @Override public void doOk() { - Configurations.update(new Worker() { + if (!globalTableDataPane.isNamePermitted()) { + globalTableDataDialog.setDoOKSucceed(false); + return; + } + + DesignTableDataManager.clearGlobalDs(); + + Configurations.modify(new WorkerFacade(TableDataConfig.class) { @Override public void run() { - if (!globalTableDataPane.isNamePermitted()) { - globalTableDataDialog.setDoOKSucceed(false); - return; - } - - DesignTableDataManager.clearGlobalDs(); globalTableDataPane.update(tableDataConfig); - if (!doWithDatasourceManager(tableDataConfig, globalTableDataPane, globalTableDataDialog)) { - //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 - return; - } - // 刷新共有数据集 - TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); - fireDSChanged(globalTableDataPane.getDsChangedNameMap()); } - + }.addCallBack(new CallBackAdaptor() { @Override - public Class[] targets() { - return new Class[]{TableDataConfig.class}; + public boolean beforeCommit() { + //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 + return doWithDatasourceManager(tableDataConfig, globalTableDataPane, globalTableDataDialog); } - }); + @Override + public void afterCommit() { + // 刷新共有数据集 + TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); + fireDSChanged(globalTableDataPane.getDsChangedNameMap()); + } + })); } }); globalTableDataDialog.setVisible(true); diff --git a/designer-base/src/main/java/com/fr/design/actions/server/ProcedureListAction.java b/designer-base/src/main/java/com/fr/design/actions/server/ProcedureListAction.java index 53b41097e..60969bd8d 100644 --- a/designer-base/src/main/java/com/fr/design/actions/server/ProcedureListAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/server/ProcedureListAction.java @@ -1,7 +1,6 @@ package com.fr.design.actions.server; import com.fr.base.BaseUtils; -import com.fr.config.Configuration; import com.fr.design.DesignModelAdapter; import com.fr.design.actions.UpdateAction; import com.fr.design.data.DesignTableDataManager; @@ -13,8 +12,9 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; import com.fr.file.ProcedureConfig; import com.fr.general.Inter; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; -import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; import java.awt.event.ActionEvent; @@ -44,20 +44,18 @@ public class ProcedureListAction extends UpdateAction { BasicDialog databaseListDialog = databaseManagerPane.showLargeWindow(designerFrame, null); databaseListDialog.addDialogActionListener(new DialogActionAdapter() { public void doOk() { - Configurations.update(new Worker() { + DesignTableDataManager.clearGlobalDs(); + Configurations.modify(new WorkerFacade(ProcedureConfig.class) { @Override public void run() { - DesignTableDataManager.clearGlobalDs(); databaseManagerPane.update(procedureConfig); - TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); } - + }.addCallBack(new CallBackAdaptor() { @Override - public Class[] targets() { - return new Class[]{ProcedureConfig.class}; + public void afterCommit() { + TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); } - }); - + })); } }); databaseListDialog.setVisible(true); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java index f63b37d6c..68db344fb 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java @@ -1,7 +1,5 @@ package com.fr.design.data.datapane.connect; -import com.fr.base.FRContext; -import com.fr.config.Configuration; import com.fr.data.impl.AbstractDatabaseConnection; import com.fr.data.impl.Connection; import com.fr.data.impl.NameDatabaseConnection; @@ -13,11 +11,12 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.file.ConnectionConfig; import com.fr.general.ComparatorUtils; import com.fr.stable.StringUtils; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; -import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; import com.fr.workspace.WorkContext; -import javax.swing.*; +import javax.swing.SwingUtilities; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; @@ -100,22 +99,24 @@ public class ConnectionComboBoxPanel extends ItemEditableComboBoxPanel { connectionListDialog.setDoOKSucceed(false); return; } - Configurations.update(new Worker() { + + Configurations.modify(new WorkerFacade(ConnectionConfig.class) { @Override public void run() { - if (!ConnectionListAction.doWithDatasourceManager(connectionConfig, connectionListPane, - connectionListDialog)) { - //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 - return; - } - DesignerContext.getDesignerBean("databasename").refreshBeanElement(); + connectionListPane.update(connectionConfig); + } + }.addCallBack(new CallBackAdaptor() { + @Override + public boolean beforeCommit() { + //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 + return ConnectionListAction.doWithDatasourceManager(connectionConfig, connectionListPane, connectionListDialog); } @Override - public Class[] targets() { - return new Class[]{ConnectionConfig.class}; + public void afterCommit() { + DesignerContext.getDesignerBean("databasename").refreshBeanElement(); } - }); + })); } }); diff --git a/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java b/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java index f86720fc8..24dd6a73f 100644 --- a/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java +++ b/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java @@ -1,199 +1,199 @@ -package com.fr.env; - -import org.junit.Assert; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * @author yaohwu - */ -public class RemoteEnvURLTest { - - @Test - public void testURLParser() { - - String a; - RemoteEnvURL b; - - // https or http begin - a = "www.baidu.com:9090/web/servlet/a"; - b = new RemoteEnvURL(a); - Assert.assertFalse(b.getHttps()); - - a = "http://www.baidu.com:9090/web/servlet/a"; - b = new RemoteEnvURL(a); - Assert.assertFalse(b.getHttps()); - - a = "https://www.baidu.com:9090/web/servlet/a"; - b = new RemoteEnvURL(a); - Assert.assertTrue(b.getHttps()); - // https or http end - - // host begin - a = "https://www.baidu.com/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("www.baidu.com", b.getHost()); - - a = "https://baidu.com/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("baidu.com", b.getHost()); - - a = "https://192.168.1/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("192.168.1", b.getHost()); - - a = "https://中文·o((⊙﹏⊙))o囖/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("中文·o((⊙﹏⊙))o囖", b.getHost()); - - a = "https://a.b.c.d.e.f/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("a.b.c.d.e.f", b.getHost()); - // host end - - //port begin - a = "https://www.baidu.com:9090/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("9090", b.getPort()); - - a = "https://www.baidu.com:/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("", b.getPort()); - - a = "https://www.baidu.com/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("", b.getPort()); - - a = "https://www.baidu.com:kk/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("kk", b.getPort()); - - a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); - - a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖"; - b = new RemoteEnvURL(a); - assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); - - a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖///////"; - b = new RemoteEnvURL(a); - assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); - //port end - - - //web begin - - a = "https://www.baidu.com:9090///"; - b = new RemoteEnvURL(a); - assertEquals("", b.getWeb()); - - a = "https://www.baidu.com:9090"; - b = new RemoteEnvURL(a); - assertEquals("", b.getWeb()); - - a = "https://www.baidu.com:9090/"; - b = new RemoteEnvURL(a); - assertEquals("", b.getWeb()); - - a = "https://www.baidu.com:9090///web///servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("web", b.getWeb()); - - a = "https://www.baidu.com:9090/web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("web", b.getWeb()); - - a = "https://www.baidu.com:9090/中文·o((⊙﹏⊙))o囖/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("中文·o((⊙﹏⊙))o囖", b.getWeb()); - - a = "https://www.baidu.com:9090/web///servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("web", b.getWeb()); - - a = "https://www.baidu.com:9090///web/servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("web", b.getWeb()); - //web end - - //servlet begin - a = "https://www.baidu.com:9090///web////servlet/a"; - b = new RemoteEnvURL(a); - assertEquals("servlet", b.getServlet()); - - a = "https://www.baidu.com:9090"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090/"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090//"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090//web"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090//web//"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090//web/"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090//web//"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com:9090//web/a/"; - b = new RemoteEnvURL(a); - assertEquals("a", b.getServlet()); - - a = "https://www.baidu.com:9090//web/a"; - b = new RemoteEnvURL(a); - assertEquals("a", b.getServlet()); - - - a = "https://www.baidu.com:9090//web/a//"; - b = new RemoteEnvURL(a); - assertEquals("a", b.getServlet()); - - a = "https://www.baidu.com:9090//web/中文·o((⊙﹏⊙))o囖//"; - b = new RemoteEnvURL(a); - assertEquals("中文·o((⊙﹏⊙))o囖", b.getServlet()); - - a = "https://www.baidu.com//web//"; - b = new RemoteEnvURL(a); - assertEquals("", b.getServlet()); - - a = "https://www.baidu.com//web/a/"; - b = new RemoteEnvURL(a); - assertEquals("a", b.getServlet()); - - a = "https://www.baidu.com//web/a"; - b = new RemoteEnvURL(a); - assertEquals("a", b.getServlet()); - - - a = "https://www.baidu.com//web/a//"; - b = new RemoteEnvURL(a); - assertEquals("a", b.getServlet()); - // servlet end - - //others begin - a = "https://www.baidu.com/web/servlet/ahttps://www.baidu.com/web/servlet/a"; - b = new RemoteEnvURL(a); - Assert.assertTrue(b.getHttps()); - assertEquals("www.baidu.com", b.getHost()); - assertEquals("", b.getPort()); - assertEquals("web", b.getWeb()); - assertEquals("servlet", b.getServlet()); - //others begin - } -} +//package com.fr.env; +// +//import org.junit.Assert; +//import org.junit.Test; +// +//import static org.junit.Assert.assertEquals; +// +///** +// * @author yaohwu +// */ +//public class RemoteEnvURLTest { +// +// @Test +// public void testURLParser() { +// +// String a; +// RemoteEnvURL b; +// +// // https or http begin +// a = "www.baidu.com:9090/web/servlet/a"; +// b = new RemoteEnvURL(a); +// Assert.assertFalse(b.getHttps()); +// +// a = "http://www.baidu.com:9090/web/servlet/a"; +// b = new RemoteEnvURL(a); +// Assert.assertFalse(b.getHttps()); +// +// a = "https://www.baidu.com:9090/web/servlet/a"; +// b = new RemoteEnvURL(a); +// Assert.assertTrue(b.getHttps()); +// // https or http end +// +// // host begin +// a = "https://www.baidu.com/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("www.baidu.com", b.getHost()); +// +// a = "https://baidu.com/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("baidu.com", b.getHost()); +// +// a = "https://192.168.1/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("192.168.1", b.getHost()); +// +// a = "https://中文·o((⊙﹏⊙))o囖/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("中文·o((⊙﹏⊙))o囖", b.getHost()); +// +// a = "https://a.b.c.d.e.f/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("a.b.c.d.e.f", b.getHost()); +// // host end +// +// //port begin +// a = "https://www.baidu.com:9090/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("9090", b.getPort()); +// +// a = "https://www.baidu.com:/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getPort()); +// +// a = "https://www.baidu.com/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getPort()); +// +// a = "https://www.baidu.com:kk/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("kk", b.getPort()); +// +// a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); +// +// a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖"; +// b = new RemoteEnvURL(a); +// assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); +// +// a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖///////"; +// b = new RemoteEnvURL(a); +// assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); +// //port end +// +// +// //web begin +// +// a = "https://www.baidu.com:9090///"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getWeb()); +// +// a = "https://www.baidu.com:9090"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getWeb()); +// +// a = "https://www.baidu.com:9090/"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getWeb()); +// +// a = "https://www.baidu.com:9090///web///servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("web", b.getWeb()); +// +// a = "https://www.baidu.com:9090/web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("web", b.getWeb()); +// +// a = "https://www.baidu.com:9090/中文·o((⊙﹏⊙))o囖/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("中文·o((⊙﹏⊙))o囖", b.getWeb()); +// +// a = "https://www.baidu.com:9090/web///servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("web", b.getWeb()); +// +// a = "https://www.baidu.com:9090///web/servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("web", b.getWeb()); +// //web end +// +// //servlet begin +// a = "https://www.baidu.com:9090///web////servlet/a"; +// b = new RemoteEnvURL(a); +// assertEquals("servlet", b.getServlet()); +// +// a = "https://www.baidu.com:9090"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090/"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090//"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web//"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web/"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web//"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web/a/"; +// b = new RemoteEnvURL(a); +// assertEquals("a", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web/a"; +// b = new RemoteEnvURL(a); +// assertEquals("a", b.getServlet()); +// +// +// a = "https://www.baidu.com:9090//web/a//"; +// b = new RemoteEnvURL(a); +// assertEquals("a", b.getServlet()); +// +// a = "https://www.baidu.com:9090//web/中文·o((⊙﹏⊙))o囖//"; +// b = new RemoteEnvURL(a); +// assertEquals("中文·o((⊙﹏⊙))o囖", b.getServlet()); +// +// a = "https://www.baidu.com//web//"; +// b = new RemoteEnvURL(a); +// assertEquals("", b.getServlet()); +// +// a = "https://www.baidu.com//web/a/"; +// b = new RemoteEnvURL(a); +// assertEquals("a", b.getServlet()); +// +// a = "https://www.baidu.com//web/a"; +// b = new RemoteEnvURL(a); +// assertEquals("a", b.getServlet()); +// +// +// a = "https://www.baidu.com//web/a//"; +// b = new RemoteEnvURL(a); +// assertEquals("a", b.getServlet()); +// // servlet end +// +// //others begin +// a = "https://www.baidu.com/web/servlet/ahttps://www.baidu.com/web/servlet/a"; +// b = new RemoteEnvURL(a); +// Assert.assertTrue(b.getHttps()); +// assertEquals("www.baidu.com", b.getHost()); +// assertEquals("", b.getPort()); +// assertEquals("web", b.getWeb()); +// assertEquals("servlet", b.getServlet()); +// //others begin +// } +//} diff --git a/designer-realize/src/main/java/com/fr/design/actions/report/ReportWebAttrAction.java b/designer-realize/src/main/java/com/fr/design/actions/report/ReportWebAttrAction.java index 1c10ca25b..ef503b8cb 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/report/ReportWebAttrAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/report/ReportWebAttrAction.java @@ -3,7 +3,6 @@ */ package com.fr.design.actions.report; -import com.fr.config.Configuration; import com.fr.design.actions.JWorkBookAction; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; @@ -13,8 +12,9 @@ import com.fr.design.menu.KeySetUtils; import com.fr.design.webattr.ReportWebAttrPane; import com.fr.general.IOUtils; import com.fr.main.TemplateWorkBook; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; -import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; import com.fr.web.attr.ReportWebAttr; import java.awt.event.ActionEvent; @@ -56,19 +56,17 @@ public class ReportWebAttrAction extends JWorkBookAction { dialog.addDialogActionListener(new DialogActionAdapter() { @Override public void doOk() { - Configurations.update(new Worker() { + Configurations.modify(new WorkerFacade(ReportWebAttr.class) { @Override public void run() { wbTpl.setReportWebAttr(reportWebAttrPane.update()); - jwb.fireTargetModified(); } - + }.addCallBack(new CallBackAdaptor() { @Override - public Class[] targets() { - return new Class[]{ReportWebAttr.class}; + public void afterCommit() { + jwb.fireTargetModified(); } - }); - + })); } }); diff --git a/designer-realize/src/main/java/com/fr/design/actions/server/WidgetManagerAction.java b/designer-realize/src/main/java/com/fr/design/actions/server/WidgetManagerAction.java index b7cb025e8..f1001eafe 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/server/WidgetManagerAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/server/WidgetManagerAction.java @@ -1,7 +1,6 @@ package com.fr.design.actions.server; import com.fr.base.BaseUtils; -import com.fr.config.Configuration; import com.fr.design.DesignModelAdapter; import com.fr.design.actions.UpdateAction; import com.fr.design.dialog.BasicDialog; @@ -12,10 +11,11 @@ import com.fr.design.menu.MenuKeySet; import com.fr.design.webattr.WidgetManagerPane; import com.fr.form.ui.WidgetInfoConfig; import com.fr.general.Inter; +import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.Configurations; -import com.fr.transaction.Worker; +import com.fr.transaction.WorkerFacade; -import javax.swing.*; +import javax.swing.KeyStroke; import java.awt.event.ActionEvent; public class WidgetManagerAction extends UpdateAction { @@ -45,22 +45,22 @@ public class WidgetManagerAction extends UpdateAction { BasicDialog widgetConfigDialog = widgetManagerPane.showLargeWindow(designerFrame, new DialogActionAdapter() { @Override public void doOk() { - Configurations.update(new Worker() { + + Configurations.modify(new WorkerFacade(WidgetInfoConfig.class) { @Override public void run() { widgetManagerPane.update(widgetManager); + } + }.addCallBack(new CallBackAdaptor() { + @Override + public void afterCommit() { DesignModelAdapter model = DesignModelAdapter.getCurrentModelAdapter(); if (model != null) { model.widgetConfigChanged(); } designerFrame.getSelectedJTemplate().refreshToolArea(); } - - @Override - public Class[] targets() { - return new Class[]{WidgetInfoConfig.class}; - } - }); + })); } }); From 305b3960f4371fe4e91220829df6e1ef2b7a48fd Mon Sep 17 00:00:00 2001 From: richie Date: Wed, 18 Jul 2018 12:08:16 +0800 Subject: [PATCH 6/7] =?UTF-8?q?CORE-116=20fr=5Fusername->fine=5Fusername?= =?UTF-8?q?=E7=AD=89=E5=AF=B9=E5=BA=94=E7=9A=84=E4=BF=AE=E6=94=B9=EF=BC=8C?= =?UTF-8?q?KMS=E4=B8=8A=E8=A1=A5=E5=85=85=E6=96=87=E6=A1=A3=EF=BC=8C?= =?UTF-8?q?=E8=80=81=E7=9A=84=E4=BF=9D=E6=8C=81=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formula/VariableResolverAdapter.java | 132 +++++++++--------- 1 file changed, 67 insertions(+), 65 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java b/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java index e5d1545b7..e03fa0e18 100644 --- a/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java +++ b/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java @@ -3,10 +3,10 @@ package com.fr.design.formula; import com.fr.base.Parameter; import com.fr.base.ParameterConfig; import com.fr.design.DesignModelAdapter; +import com.fr.general.web.ParameterConstants; import com.fr.plugin.ExtraClassManager; import com.fr.script.ScriptConstants; import com.fr.stable.ArrayUtils; -import com.fr.stable.Constants; import com.fr.stable.fun.BuiltInParametersProvider; import com.fr.stable.script.CalculatorProvider; @@ -15,91 +15,93 @@ import java.util.List; import java.util.Set; public abstract class VariableResolverAdapter implements VariableResolver { - private static final int TABLE_DATA_PARA = 0; - private static final int REPORT_DATA_PARA = 1; + private static final int TABLE_DATA_PARA = 0; + private static final int REPORT_DATA_PARA = 1; /** * 获取模板内置的一些参数 * * @return 内置参数 */ - public String[] resolveCurReportVariables() { - String [] variables = new String[] { ScriptConstants.SUMMARY_TAG + "page_number", - ScriptConstants.SUMMARY_TAG + "totalPage_number", - // 下面是权限相关的参数 - ScriptConstants.DETAIL_TAG + Constants.P.PRIVILEGE_USERNAME, ScriptConstants.DETAIL_TAG + Constants.P.PRIVILEGE_AUTHORITY, - ScriptConstants.DETAIL_TAG + Constants.P.PRIVILEGE_DEPARTMETN_AND_POST, - // 空值参数 - "NULL", "NOFILTER", - // request变量 - CalculatorProvider.REPORT_NAME, CalculatorProvider.FORMLET_NAME, CalculatorProvider.SERVLET_URL, CalculatorProvider.SERVER_SCHEMA, CalculatorProvider.SERVER_NAME, - CalculatorProvider.SERVER_PORT, CalculatorProvider.SERVER_URL, CalculatorProvider.CONTEXT_PATH, CalculatorProvider.SESSION_ID - }; - Set set = ExtraClassManager.getInstance().getArray(BuiltInParametersProvider.XML_TAG); - for (BuiltInParametersProvider provider : set) { - return (String[]) ArrayUtils.addAll(variables, new String []{ - ScriptConstants.DETAIL_TAG + provider.getParametersName() - }); - } - return variables; - } - - private Parameter[] getCurrentModeParameters(int type) { - Parameter[] parameters = null; - if(DesignModelAdapter.getCurrentModelAdapter() == null) { - parameters = new Parameter[0]; - } else { - if(type == TABLE_DATA_PARA) { - parameters = DesignModelAdapter.getCurrentModelAdapter().getTableDataParameters(); - } else if(type == REPORT_DATA_PARA){ - parameters = DesignModelAdapter.getCurrentModelAdapter().getReportParameters(); - } - } - return parameters; - } + public String[] resolveCurReportVariables() { + String[] variables = new String[]{ + ScriptConstants.SUMMARY_TAG + "page_number", + ScriptConstants.SUMMARY_TAG + "totalPage_number", + // 下面是权限相关的参数 + ScriptConstants.DETAIL_TAG + ParameterConstants.FINE_USERNAME, + ScriptConstants.DETAIL_TAG + ParameterConstants.FINE_ROLE, + ScriptConstants.DETAIL_TAG + ParameterConstants.FINE_POSITION, + // 空值参数 + "NULL", "NOFILTER", + // request变量 + CalculatorProvider.REPORT_NAME, CalculatorProvider.FORMLET_NAME, CalculatorProvider.SERVLET_URL, CalculatorProvider.SERVER_SCHEMA, CalculatorProvider.SERVER_NAME, + CalculatorProvider.SERVER_PORT, CalculatorProvider.SERVER_URL, CalculatorProvider.CONTEXT_PATH, CalculatorProvider.SESSION_ID + }; + Set set = ExtraClassManager.getInstance().getArray(BuiltInParametersProvider.XML_TAG); + for (BuiltInParametersProvider provider : set) { + return (String[]) ArrayUtils.addAll(variables, new String[]{ + ScriptConstants.DETAIL_TAG + provider.getParametersName() + }); + } + return variables; + } + + private Parameter[] getCurrentModeParameters(int type) { + Parameter[] parameters = null; + if (DesignModelAdapter.getCurrentModelAdapter() == null) { + parameters = new Parameter[0]; + } else { + if (type == TABLE_DATA_PARA) { + parameters = DesignModelAdapter.getCurrentModelAdapter().getTableDataParameters(); + } else if (type == REPORT_DATA_PARA) { + parameters = DesignModelAdapter.getCurrentModelAdapter().getReportParameters(); + } + } + return parameters; + } /** * 获取数据集参数 * * @return 所有参数 */ - public String[] resolveTableDataParameterVariables() { - Parameter[] parameters = getCurrentModeParameters(TABLE_DATA_PARA); - String[] parameterNames = new String[parameters.length]; - for (int i = 0; i < parameters.length; i++) { - parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); - } - return parameterNames; - } + public String[] resolveTableDataParameterVariables() { + Parameter[] parameters = getCurrentModeParameters(TABLE_DATA_PARA); + String[] parameterNames = new String[parameters.length]; + for (int i = 0; i < parameters.length; i++) { + parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); + } + return parameterNames; + } /** * 获取模板参数 * * @return 所有参数 */ - public String[] resolveReportParameterVariables() { - Parameter[] parameters = getCurrentModeParameters(REPORT_DATA_PARA); - String[] parameterNames = new String[parameters.length]; - for (int i = 0; i < parameters.length; i++) { - parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); - } - return parameterNames; - } + public String[] resolveReportParameterVariables() { + Parameter[] parameters = getCurrentModeParameters(REPORT_DATA_PARA); + String[] parameterNames = new String[parameters.length]; + for (int i = 0; i < parameters.length; i++) { + parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); + } + return parameterNames; + } - /** - * 获取全局参数 + /** + * 获取全局参数 * * @return 所有参数 - */ - public String[] resolveGlobalParameterVariables() { - // 加上全局的参数 - Parameter[] globalParameters = ParameterConfig.getInstance().getGlobalParameters(); + */ + public String[] resolveGlobalParameterVariables() { + // 加上全局的参数 + Parameter[] globalParameters = ParameterConfig.getInstance().getGlobalParameters(); - List variablesList = new ArrayList(); - for (int i = 0; i < (globalParameters == null ? 0 : globalParameters.length); i++) { - variablesList.add(ScriptConstants.DETAIL_TAG + (globalParameters[i]).getName()); - } + List variablesList = new ArrayList(); + for (int i = 0; i < (globalParameters == null ? 0 : globalParameters.length); i++) { + variablesList.add(ScriptConstants.DETAIL_TAG + (globalParameters[i]).getName()); + } - return variablesList.toArray(new String[variablesList.size()]); - } + return variablesList.toArray(new String[variablesList.size()]); + } } \ No newline at end of file From ebcdebb688aa31c76796e0521ab6ff27c4a1080e Mon Sep 17 00:00:00 2001 From: kerry Date: Wed, 18 Jul 2018 12:48:45 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=97=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/env/RemoteEnvURLTest.java | 398 +++++++++--------- 1 file changed, 199 insertions(+), 199 deletions(-) diff --git a/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java b/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java index 24dd6a73f..f86720fc8 100644 --- a/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java +++ b/designer-base/src/test/java/com/fr/env/RemoteEnvURLTest.java @@ -1,199 +1,199 @@ -//package com.fr.env; -// -//import org.junit.Assert; -//import org.junit.Test; -// -//import static org.junit.Assert.assertEquals; -// -///** -// * @author yaohwu -// */ -//public class RemoteEnvURLTest { -// -// @Test -// public void testURLParser() { -// -// String a; -// RemoteEnvURL b; -// -// // https or http begin -// a = "www.baidu.com:9090/web/servlet/a"; -// b = new RemoteEnvURL(a); -// Assert.assertFalse(b.getHttps()); -// -// a = "http://www.baidu.com:9090/web/servlet/a"; -// b = new RemoteEnvURL(a); -// Assert.assertFalse(b.getHttps()); -// -// a = "https://www.baidu.com:9090/web/servlet/a"; -// b = new RemoteEnvURL(a); -// Assert.assertTrue(b.getHttps()); -// // https or http end -// -// // host begin -// a = "https://www.baidu.com/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("www.baidu.com", b.getHost()); -// -// a = "https://baidu.com/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("baidu.com", b.getHost()); -// -// a = "https://192.168.1/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("192.168.1", b.getHost()); -// -// a = "https://中文·o((⊙﹏⊙))o囖/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("中文·o((⊙﹏⊙))o囖", b.getHost()); -// -// a = "https://a.b.c.d.e.f/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("a.b.c.d.e.f", b.getHost()); -// // host end -// -// //port begin -// a = "https://www.baidu.com:9090/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("9090", b.getPort()); -// -// a = "https://www.baidu.com:/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getPort()); -// -// a = "https://www.baidu.com/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getPort()); -// -// a = "https://www.baidu.com:kk/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("kk", b.getPort()); -// -// a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); -// -// a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖"; -// b = new RemoteEnvURL(a); -// assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); -// -// a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖///////"; -// b = new RemoteEnvURL(a); -// assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); -// //port end -// -// -// //web begin -// -// a = "https://www.baidu.com:9090///"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getWeb()); -// -// a = "https://www.baidu.com:9090"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getWeb()); -// -// a = "https://www.baidu.com:9090/"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getWeb()); -// -// a = "https://www.baidu.com:9090///web///servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("web", b.getWeb()); -// -// a = "https://www.baidu.com:9090/web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("web", b.getWeb()); -// -// a = "https://www.baidu.com:9090/中文·o((⊙﹏⊙))o囖/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("中文·o((⊙﹏⊙))o囖", b.getWeb()); -// -// a = "https://www.baidu.com:9090/web///servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("web", b.getWeb()); -// -// a = "https://www.baidu.com:9090///web/servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("web", b.getWeb()); -// //web end -// -// //servlet begin -// a = "https://www.baidu.com:9090///web////servlet/a"; -// b = new RemoteEnvURL(a); -// assertEquals("servlet", b.getServlet()); -// -// a = "https://www.baidu.com:9090"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090/"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090//"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web//"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web/"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web//"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web/a/"; -// b = new RemoteEnvURL(a); -// assertEquals("a", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web/a"; -// b = new RemoteEnvURL(a); -// assertEquals("a", b.getServlet()); -// -// -// a = "https://www.baidu.com:9090//web/a//"; -// b = new RemoteEnvURL(a); -// assertEquals("a", b.getServlet()); -// -// a = "https://www.baidu.com:9090//web/中文·o((⊙﹏⊙))o囖//"; -// b = new RemoteEnvURL(a); -// assertEquals("中文·o((⊙﹏⊙))o囖", b.getServlet()); -// -// a = "https://www.baidu.com//web//"; -// b = new RemoteEnvURL(a); -// assertEquals("", b.getServlet()); -// -// a = "https://www.baidu.com//web/a/"; -// b = new RemoteEnvURL(a); -// assertEquals("a", b.getServlet()); -// -// a = "https://www.baidu.com//web/a"; -// b = new RemoteEnvURL(a); -// assertEquals("a", b.getServlet()); -// -// -// a = "https://www.baidu.com//web/a//"; -// b = new RemoteEnvURL(a); -// assertEquals("a", b.getServlet()); -// // servlet end -// -// //others begin -// a = "https://www.baidu.com/web/servlet/ahttps://www.baidu.com/web/servlet/a"; -// b = new RemoteEnvURL(a); -// Assert.assertTrue(b.getHttps()); -// assertEquals("www.baidu.com", b.getHost()); -// assertEquals("", b.getPort()); -// assertEquals("web", b.getWeb()); -// assertEquals("servlet", b.getServlet()); -// //others begin -// } -//} +package com.fr.env; + +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * @author yaohwu + */ +public class RemoteEnvURLTest { + + @Test + public void testURLParser() { + + String a; + RemoteEnvURL b; + + // https or http begin + a = "www.baidu.com:9090/web/servlet/a"; + b = new RemoteEnvURL(a); + Assert.assertFalse(b.getHttps()); + + a = "http://www.baidu.com:9090/web/servlet/a"; + b = new RemoteEnvURL(a); + Assert.assertFalse(b.getHttps()); + + a = "https://www.baidu.com:9090/web/servlet/a"; + b = new RemoteEnvURL(a); + Assert.assertTrue(b.getHttps()); + // https or http end + + // host begin + a = "https://www.baidu.com/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("www.baidu.com", b.getHost()); + + a = "https://baidu.com/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("baidu.com", b.getHost()); + + a = "https://192.168.1/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("192.168.1", b.getHost()); + + a = "https://中文·o((⊙﹏⊙))o囖/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("中文·o((⊙﹏⊙))o囖", b.getHost()); + + a = "https://a.b.c.d.e.f/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("a.b.c.d.e.f", b.getHost()); + // host end + + //port begin + a = "https://www.baidu.com:9090/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("9090", b.getPort()); + + a = "https://www.baidu.com:/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("", b.getPort()); + + a = "https://www.baidu.com/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("", b.getPort()); + + a = "https://www.baidu.com:kk/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("kk", b.getPort()); + + a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); + + a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖"; + b = new RemoteEnvURL(a); + assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); + + a = "https://www.baidu.com:中文·o((⊙﹏⊙))o囖///////"; + b = new RemoteEnvURL(a); + assertEquals("中文·o((⊙﹏⊙))o囖", b.getPort()); + //port end + + + //web begin + + a = "https://www.baidu.com:9090///"; + b = new RemoteEnvURL(a); + assertEquals("", b.getWeb()); + + a = "https://www.baidu.com:9090"; + b = new RemoteEnvURL(a); + assertEquals("", b.getWeb()); + + a = "https://www.baidu.com:9090/"; + b = new RemoteEnvURL(a); + assertEquals("", b.getWeb()); + + a = "https://www.baidu.com:9090///web///servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("web", b.getWeb()); + + a = "https://www.baidu.com:9090/web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("web", b.getWeb()); + + a = "https://www.baidu.com:9090/中文·o((⊙﹏⊙))o囖/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("中文·o((⊙﹏⊙))o囖", b.getWeb()); + + a = "https://www.baidu.com:9090/web///servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("web", b.getWeb()); + + a = "https://www.baidu.com:9090///web/servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("web", b.getWeb()); + //web end + + //servlet begin + a = "https://www.baidu.com:9090///web////servlet/a"; + b = new RemoteEnvURL(a); + assertEquals("servlet", b.getServlet()); + + a = "https://www.baidu.com:9090"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090/"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090//"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090//web"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090//web//"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090//web/"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090//web//"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com:9090//web/a/"; + b = new RemoteEnvURL(a); + assertEquals("a", b.getServlet()); + + a = "https://www.baidu.com:9090//web/a"; + b = new RemoteEnvURL(a); + assertEquals("a", b.getServlet()); + + + a = "https://www.baidu.com:9090//web/a//"; + b = new RemoteEnvURL(a); + assertEquals("a", b.getServlet()); + + a = "https://www.baidu.com:9090//web/中文·o((⊙﹏⊙))o囖//"; + b = new RemoteEnvURL(a); + assertEquals("中文·o((⊙﹏⊙))o囖", b.getServlet()); + + a = "https://www.baidu.com//web//"; + b = new RemoteEnvURL(a); + assertEquals("", b.getServlet()); + + a = "https://www.baidu.com//web/a/"; + b = new RemoteEnvURL(a); + assertEquals("a", b.getServlet()); + + a = "https://www.baidu.com//web/a"; + b = new RemoteEnvURL(a); + assertEquals("a", b.getServlet()); + + + a = "https://www.baidu.com//web/a//"; + b = new RemoteEnvURL(a); + assertEquals("a", b.getServlet()); + // servlet end + + //others begin + a = "https://www.baidu.com/web/servlet/ahttps://www.baidu.com/web/servlet/a"; + b = new RemoteEnvURL(a); + Assert.assertTrue(b.getHttps()); + assertEquals("www.baidu.com", b.getHost()); + assertEquals("", b.getPort()); + assertEquals("web", b.getWeb()); + assertEquals("servlet", b.getServlet()); + //others begin + } +}