From 4c4e2c3ea77b318664f327c36a7e3c62c597bf33 Mon Sep 17 00:00:00 2001 From: ju Date: Tue, 18 Sep 2018 16:55:50 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20=20?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E7=9B=91=E5=90=AC=E7=9A=84=E4=BC=98=E5=85=88?= =?UTF-8?q?=E7=BA=A7=EF=BC=8C=E5=85=88=E5=90=AF=E5=8A=A8activator=E5=86=8D?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E8=80=81=E7=9A=84env=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/start/module/DesignerStartup.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java index 1ca077f41d..237a19fa90 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java @@ -86,7 +86,7 @@ public class DesignerStartup extends Activator { getSub(EnvBasedModule.class).stop(); } }); - listenEvent(WorkspaceEvent.AfterSwitch, new Listener() { + listenEvent(WorkspaceEvent.AfterSwitch, new Listener(Integer.MAX_VALUE) { @Override public void on(Event event, Workspace param) { From c3741d27034a79e939907550066ee21829124f02 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 19 Sep 2018 16:54:10 +0800 Subject: [PATCH 02/12] =?UTF-8?q?REPORT-11445=20@plough:=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=AD=E6=89=93=E5=8D=B0=E4=BB=BD=E6=95=B0?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=B8=BA0=E4=B8=8D=E5=90=88=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/webattr/printsettings/NativePrintSettingPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NativePrintSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NativePrintSettingPane.java index cc6154aec1..a000cc2096 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NativePrintSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NativePrintSettingPane.java @@ -166,7 +166,7 @@ public class NativePrintSettingPane extends JPanel { printerPane.add(printerComboBox); // 份数 - copySpinner = new UIBasicSpinner(new SpinnerNumberModel(1, 0, Integer.MAX_VALUE, 1)); + copySpinner = new UIBasicSpinner(new SpinnerNumberModel(1, 1, Integer.MAX_VALUE, 1)); GUICoreUtils.setColumnForSpinner(copySpinner, 5); JPanel copyPane = FRGUIPaneFactory.createLeftFlowZeroGapBorderPane(); copyPane.add(copySpinner); From b7a81c4daccf6047e9d8c43f58853547f183355a Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Wed, 19 Sep 2018 17:35:53 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E4=B8=BA=E8=AF=B4=E6=98=8E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=92=8C=E5=80=BC=E4=B8=8B=E6=8B=89=E6=A1=86=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=80=89=E9=A1=B9=E2=80=9C=E6=97=A0=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/ExtendedCustomFieldComboBoxPane.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java index 5ff47c128e..dfa7d793ed 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java @@ -11,16 +11,12 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itable.UITable; import com.fr.design.gui.itable.UITableEditor; import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.i18n.Toolkit; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.gui.data.CalculateComboBox; import com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper; import com.fr.stable.StringUtils; - -import javax.swing.JComponent; -import javax.swing.JPanel; -import javax.swing.JTable; -import javax.swing.SwingConstants; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; @@ -30,6 +26,10 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.JTable; +import javax.swing.SwingConstants; /** * Created by shine on 2018/9/12. @@ -119,6 +119,7 @@ public class ExtendedCustomFieldComboBoxPane extends UIComboBoxPane Date: Wed, 19 Sep 2018 18:16:00 +0800 Subject: [PATCH 04/12] =?UTF-8?q?REPORT-11403=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=87=BA=E6=9D=A5=E7=9A=84=E6=A8=AA=E5=90=91?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E6=9D=A1=E4=BD=8D=E7=BD=AE=E5=81=8F=E4=B8=8A?= =?UTF-8?q?=E4=BA=86=20=E8=B0=83=E6=95=B4=E4=B8=8B=E7=BA=B5=E5=90=91?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E6=9D=A1=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/alphafine/preview/RobotPreviewPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/RobotPreviewPane.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/RobotPreviewPane.java index bd13d6aae8..4582d186be 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/RobotPreviewPane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/RobotPreviewPane.java @@ -77,7 +77,7 @@ public class RobotPreviewPane extends JPanel { }); editorPane.setEditable(false); UIScrollPane jScrollPane = new UIScrollPane(editorPane); - jScrollPane.getVerticalScrollBar().setBorder(BorderFactory.createEmptyBorder(0, 2, 30, 0)); + jScrollPane.getVerticalScrollBar().setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0)); jScrollPane.setBorder(BorderFactory.createMatteBorder(5, 10, 0, 10, Color.white)); if (((RobotModel) model).isHotItemModel()) { this.setPreferredSize(new Dimension(AlphaFineConstants.RIGHT_WIDTH, AlphaFineConstants.CONTENT_HEIGHT - HOT_TITLE_AREA_HEIGHT)); From 611df1e0ab70d8d78035c35ba8f5070deb335710 Mon Sep 17 00:00:00 2001 From: "alex.sung" Date: Wed, 19 Sep 2018 18:18:27 +0800 Subject: [PATCH 05/12] UT --- .../alphafine/cell/model/ModelTest.java | 77 +++++++++++++ .../component/AlphaFineDialogTest.java | 33 ++++++ .../manager/impl/SearchManegerTest.java | 104 ++++++++++++++++++ 3 files changed, 214 insertions(+) create mode 100644 designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java create mode 100644 designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java create mode 100644 designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java new file mode 100644 index 0000000000..e2ba354d56 --- /dev/null +++ b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java @@ -0,0 +1,77 @@ +package com.fr.design.mainframe.alphafine.cell.model; + +import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.CellType; +import com.fr.json.JSONException; +import com.fr.json.JSONObject; +import org.junit.Assert; +import org.junit.Test; + +public class ModelTest { + @Test + public void documentModelTest(){ + DocumentModel documentModel = new DocumentModel("name","content",1); + Assert.assertEquals("name",documentModel.getName()); + Assert.assertEquals("content",documentModel.getContent()); + Assert.assertEquals(1,documentModel.getDocumentId()); + Assert.assertEquals(AlphaFineConstants.DOCUMENT_DOC_URL + documentModel.getDocumentId() + ".html", documentModel.getDocumentUrl()); + Assert.assertEquals(AlphaFineConstants.DOCUMENT_INFORMATION_URL + documentModel.getDocumentId(), documentModel.getInformationUrl()); + Assert.assertEquals(documentModel.getStoreInformation(), documentModel.getInformationUrl()); + Assert.assertEquals(CellType.DOCUMENT, documentModel.getType()); + Assert.assertEquals(true, documentModel.hasAction()); + Assert.assertEquals(true, documentModel.isNeedToSendToServer()); + + documentModel.setDescription("test"); + Assert.assertEquals("test", documentModel.getDescription()); + + DocumentModel another = new DocumentModel("another","another",1); + documentModel.doAction(); + Assert.assertTrue(another.equals(documentModel)); + Assert.assertNotNull(documentModel.modelToJson()); + } + + @Test + public void bottomModelTest(){ + BottomModel bottomModel = new BottomModel(); + Assert.assertEquals(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Internet_Forum"), bottomModel.getGoToWeb()); + Assert.assertEquals(CellType.BOTTOM, bottomModel.getType()); + try { + Assert.assertEquals(JSONObject.EMPTY, bottomModel.modelToJson()); + } catch (JSONException e) { + e.printStackTrace(); + } + Assert.assertEquals(true, bottomModel.hasAction()); + bottomModel.doAction(); + + } + + @Test + public void fileModelTest(){ + FileModel fileModel = new FileModel("name", "test\\\\"); + Assert.assertEquals(CellType.FILE, fileModel.getType()); + Assert.assertNotNull(fileModel.modelToJson()); + FileModel anotherFileModel = new FileModel("anotherFileModel", "test\\\\"); + Assert.assertTrue(anotherFileModel.equals(fileModel)); + } + + @Test + public void moreModelTest(){ + MoreModel moreModel = new MoreModel("name"); + Assert.assertTrue(!moreModel.hasAction()); + Assert.assertTrue(!moreModel.isNeedToSendToServer()); + Assert.assertEquals(CellType.MORE, moreModel.getType()); + } + + @Test + public void noResultModelTest(){ + NoResultModel noResultModel = new NoResultModel("test"); + Assert.assertTrue(!noResultModel.hasAction()); + Assert.assertTrue(!noResultModel.isNeedToSendToServer()); + Assert.assertEquals(CellType.NO_RESULT, noResultModel.getType()); + } + + @Test + public void pluginModelTest(){ +// PluginModel pluginModel = new PluginModel("name","content"); + } +} diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java new file mode 100644 index 0000000000..25a555ed8d --- /dev/null +++ b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java @@ -0,0 +1,33 @@ +package com.fr.design.mainframe.alphafine.component; + +import org.junit.Before; +import org.junit.Test; + +public class AlphaFineDialogTest { + +// AlphaFineDialog alphaFineDialog; + + @Before + public void setUp() { +// alphaFineDialog = EasyMock.createMock(AlphaFineDialog.class); + + } + + + @Test + public void doNormalSearchTest() { +// try { +// EasyMock.expect(AlphaFineConfigManager.isALPHALicAvailable()).andReturn(true); +// AlphaFineHelper.showAlphaFineDialog(false); +// Method format = AlphaFineDialog.class.getDeclaredMethod("doNormalSearch", String.class); +// format.setAccessible(true); +// EasyMock.expect(alphaFineDialog.getSegmentationResult()).andReturn(new String[]{"数据集"}); +// format.invoke(alphaFineDialog, "数据集"); +//// EasyMock.replay(alphaFineDialog); +// Assert.assertNotNull(alphaFineDialog.getSegmentationResult()); +// } catch (Exception e) { +// e.printStackTrace(); +// } + + } +} diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java new file mode 100644 index 0000000000..f7a377c53f --- /dev/null +++ b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java @@ -0,0 +1,104 @@ +package com.fr.design.mainframe.alphafine.search.manager.impl; + +import com.fr.design.mainframe.alphafine.AlphaFineHelper; +import com.fr.design.mainframe.alphafine.CellType; +import com.fr.design.mainframe.alphafine.model.SearchResult; +import com.fr.json.JSONObject; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class SearchManegerTest { + SimilarSearchManeger similarSearchManeger; + ComplementAdviceManager complementAdviceManager; + DocumentSearchManager documentSearchManager; + PluginSearchManager pluginSearchManager; + RecommendSearchManager recommendSearchManager; + RecentSearchManager recentSearchManager; + ActionSearchManager actionSearchManager; + FileSearchManager fileSearchManager; + SegmentationManager segmentationManager; + + @Before + public void setUp() { + recentSearchManager = RecentSearchManager.getInstance(); + recommendSearchManager = RecommendSearchManager.getInstance(); + similarSearchManeger = SimilarSearchManeger.getInstance(); + complementAdviceManager = ComplementAdviceManager.getInstance(); + documentSearchManager = DocumentSearchManager.getInstance(); + pluginSearchManager = PluginSearchManager.getInstance(); + actionSearchManager = ActionSearchManager.getInstance(); + fileSearchManager = FileSearchManager.getInstance(); + segmentationManager = SegmentationManager.getInstance(); + } + + @Test + public void getSearchResultTest() { + + //断网情况 + SearchResult noConnectList; + noConnectList = similarSearchManeger.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(similarSearchManeger).get(1).getName()); + + noConnectList = documentSearchManager.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(documentSearchManager).get(1).getName()); + + noConnectList = pluginSearchManager.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(pluginSearchManager).get(1).getName()); + + noConnectList = recommendSearchManager.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(recommendSearchManager).get(1).getName()); + + //正常搜索情况 + String[][] hotData = HotIssuesManager.getInstance().getHotIssues(); + SearchResult lessModelList; + lessModelList = recentSearchManager.getLessSearchResult(new String[]{"数据集"}); + Assert.assertNotNull(lessModelList); + + lessModelList = similarSearchManeger.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(lessModelList.get(1).getType(), CellType.ROBOT); + + lessModelList = complementAdviceManager.getAllSearchResult(new String[]{"数据集"}); + Assert.assertEquals(lessModelList.get(1).getType(), CellType.ROBOT); + + lessModelList = documentSearchManager.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(lessModelList.get(1).getType(), CellType.DOCUMENT); + + lessModelList = pluginSearchManager.getLessSearchResult(new String[]{"数据集"}); + Assert.assertEquals(lessModelList.get(1).getType(), CellType.PLUGIN); + + //返回MoreSearchResult + SearchResult moreModelList; + moreModelList = similarSearchManeger.getMoreSearchResult("数据集"); + Assert.assertNotNull(moreModelList); + + moreModelList = documentSearchManager.getMoreSearchResult("数据集"); + Assert.assertNotNull(moreModelList); + + moreModelList = pluginSearchManager.getMoreSearchResult("数据集"); + Assert.assertNotNull(moreModelList); + + moreModelList = recommendSearchManager.getMoreSearchResult("数据集"); + Assert.assertNotNull(moreModelList); + } + + @Test + public void getModelFromCloudTest() { + Assert.assertNotNull(SimilarSearchManeger.getModelFromCloud(new JSONObject())); + Assert.assertNotNull(DocumentSearchManager.getModelFromCloud(new JSONObject())); + Assert.assertNotNull(PluginSearchManager.getModelFromCloud(new JSONObject())); + } + + @Test + public void isNeedSegmentationTest() { + Assert.assertEquals(segmentationManager.isNeedSegmentation("多维数据集"), true); + } + + @Test + public void startSegmentationTest() { + String[] result = {"结果报表", "结果", "报表"}; + Assert.assertEquals(segmentationManager.startSegmentation("结果报表"), result); + + } + +} From 687bc4a92358ee49107a873ed8bfa31d185f059a Mon Sep 17 00:00:00 2001 From: "alex.sung" Date: Wed, 19 Sep 2018 18:22:18 +0800 Subject: [PATCH 06/12] =?UTF-8?q?UT=E6=9A=82=E6=97=B6=E4=B8=8D=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/cell/model/ModelTest.java | 77 ------------- .../component/AlphaFineDialogTest.java | 33 ------ .../manager/impl/SearchManegerTest.java | 104 ------------------ 3 files changed, 214 deletions(-) delete mode 100644 designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java delete mode 100644 designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java delete mode 100644 designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java deleted file mode 100644 index e2ba354d56..0000000000 --- a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/cell/model/ModelTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.fr.design.mainframe.alphafine.cell.model; - -import com.fr.design.mainframe.alphafine.AlphaFineConstants; -import com.fr.design.mainframe.alphafine.CellType; -import com.fr.json.JSONException; -import com.fr.json.JSONObject; -import org.junit.Assert; -import org.junit.Test; - -public class ModelTest { - @Test - public void documentModelTest(){ - DocumentModel documentModel = new DocumentModel("name","content",1); - Assert.assertEquals("name",documentModel.getName()); - Assert.assertEquals("content",documentModel.getContent()); - Assert.assertEquals(1,documentModel.getDocumentId()); - Assert.assertEquals(AlphaFineConstants.DOCUMENT_DOC_URL + documentModel.getDocumentId() + ".html", documentModel.getDocumentUrl()); - Assert.assertEquals(AlphaFineConstants.DOCUMENT_INFORMATION_URL + documentModel.getDocumentId(), documentModel.getInformationUrl()); - Assert.assertEquals(documentModel.getStoreInformation(), documentModel.getInformationUrl()); - Assert.assertEquals(CellType.DOCUMENT, documentModel.getType()); - Assert.assertEquals(true, documentModel.hasAction()); - Assert.assertEquals(true, documentModel.isNeedToSendToServer()); - - documentModel.setDescription("test"); - Assert.assertEquals("test", documentModel.getDescription()); - - DocumentModel another = new DocumentModel("another","another",1); - documentModel.doAction(); - Assert.assertTrue(another.equals(documentModel)); - Assert.assertNotNull(documentModel.modelToJson()); - } - - @Test - public void bottomModelTest(){ - BottomModel bottomModel = new BottomModel(); - Assert.assertEquals(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Internet_Forum"), bottomModel.getGoToWeb()); - Assert.assertEquals(CellType.BOTTOM, bottomModel.getType()); - try { - Assert.assertEquals(JSONObject.EMPTY, bottomModel.modelToJson()); - } catch (JSONException e) { - e.printStackTrace(); - } - Assert.assertEquals(true, bottomModel.hasAction()); - bottomModel.doAction(); - - } - - @Test - public void fileModelTest(){ - FileModel fileModel = new FileModel("name", "test\\\\"); - Assert.assertEquals(CellType.FILE, fileModel.getType()); - Assert.assertNotNull(fileModel.modelToJson()); - FileModel anotherFileModel = new FileModel("anotherFileModel", "test\\\\"); - Assert.assertTrue(anotherFileModel.equals(fileModel)); - } - - @Test - public void moreModelTest(){ - MoreModel moreModel = new MoreModel("name"); - Assert.assertTrue(!moreModel.hasAction()); - Assert.assertTrue(!moreModel.isNeedToSendToServer()); - Assert.assertEquals(CellType.MORE, moreModel.getType()); - } - - @Test - public void noResultModelTest(){ - NoResultModel noResultModel = new NoResultModel("test"); - Assert.assertTrue(!noResultModel.hasAction()); - Assert.assertTrue(!noResultModel.isNeedToSendToServer()); - Assert.assertEquals(CellType.NO_RESULT, noResultModel.getType()); - } - - @Test - public void pluginModelTest(){ -// PluginModel pluginModel = new PluginModel("name","content"); - } -} diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java deleted file mode 100644 index 25a555ed8d..0000000000 --- a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/component/AlphaFineDialogTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.fr.design.mainframe.alphafine.component; - -import org.junit.Before; -import org.junit.Test; - -public class AlphaFineDialogTest { - -// AlphaFineDialog alphaFineDialog; - - @Before - public void setUp() { -// alphaFineDialog = EasyMock.createMock(AlphaFineDialog.class); - - } - - - @Test - public void doNormalSearchTest() { -// try { -// EasyMock.expect(AlphaFineConfigManager.isALPHALicAvailable()).andReturn(true); -// AlphaFineHelper.showAlphaFineDialog(false); -// Method format = AlphaFineDialog.class.getDeclaredMethod("doNormalSearch", String.class); -// format.setAccessible(true); -// EasyMock.expect(alphaFineDialog.getSegmentationResult()).andReturn(new String[]{"数据集"}); -// format.invoke(alphaFineDialog, "数据集"); -//// EasyMock.replay(alphaFineDialog); -// Assert.assertNotNull(alphaFineDialog.getSegmentationResult()); -// } catch (Exception e) { -// e.printStackTrace(); -// } - - } -} diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java deleted file mode 100644 index f7a377c53f..0000000000 --- a/designer-realize/src/test/java/com.fr/design/mainframe/alphafine/search/manager/impl/SearchManegerTest.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.fr.design.mainframe.alphafine.search.manager.impl; - -import com.fr.design.mainframe.alphafine.AlphaFineHelper; -import com.fr.design.mainframe.alphafine.CellType; -import com.fr.design.mainframe.alphafine.model.SearchResult; -import com.fr.json.JSONObject; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class SearchManegerTest { - SimilarSearchManeger similarSearchManeger; - ComplementAdviceManager complementAdviceManager; - DocumentSearchManager documentSearchManager; - PluginSearchManager pluginSearchManager; - RecommendSearchManager recommendSearchManager; - RecentSearchManager recentSearchManager; - ActionSearchManager actionSearchManager; - FileSearchManager fileSearchManager; - SegmentationManager segmentationManager; - - @Before - public void setUp() { - recentSearchManager = RecentSearchManager.getInstance(); - recommendSearchManager = RecommendSearchManager.getInstance(); - similarSearchManeger = SimilarSearchManeger.getInstance(); - complementAdviceManager = ComplementAdviceManager.getInstance(); - documentSearchManager = DocumentSearchManager.getInstance(); - pluginSearchManager = PluginSearchManager.getInstance(); - actionSearchManager = ActionSearchManager.getInstance(); - fileSearchManager = FileSearchManager.getInstance(); - segmentationManager = SegmentationManager.getInstance(); - } - - @Test - public void getSearchResultTest() { - - //断网情况 - SearchResult noConnectList; - noConnectList = similarSearchManeger.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(similarSearchManeger).get(1).getName()); - - noConnectList = documentSearchManager.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(documentSearchManager).get(1).getName()); - - noConnectList = pluginSearchManager.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(pluginSearchManager).get(1).getName()); - - noConnectList = recommendSearchManager.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(noConnectList.get(1).getName(), AlphaFineHelper.getNoConnectList(recommendSearchManager).get(1).getName()); - - //正常搜索情况 - String[][] hotData = HotIssuesManager.getInstance().getHotIssues(); - SearchResult lessModelList; - lessModelList = recentSearchManager.getLessSearchResult(new String[]{"数据集"}); - Assert.assertNotNull(lessModelList); - - lessModelList = similarSearchManeger.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(lessModelList.get(1).getType(), CellType.ROBOT); - - lessModelList = complementAdviceManager.getAllSearchResult(new String[]{"数据集"}); - Assert.assertEquals(lessModelList.get(1).getType(), CellType.ROBOT); - - lessModelList = documentSearchManager.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(lessModelList.get(1).getType(), CellType.DOCUMENT); - - lessModelList = pluginSearchManager.getLessSearchResult(new String[]{"数据集"}); - Assert.assertEquals(lessModelList.get(1).getType(), CellType.PLUGIN); - - //返回MoreSearchResult - SearchResult moreModelList; - moreModelList = similarSearchManeger.getMoreSearchResult("数据集"); - Assert.assertNotNull(moreModelList); - - moreModelList = documentSearchManager.getMoreSearchResult("数据集"); - Assert.assertNotNull(moreModelList); - - moreModelList = pluginSearchManager.getMoreSearchResult("数据集"); - Assert.assertNotNull(moreModelList); - - moreModelList = recommendSearchManager.getMoreSearchResult("数据集"); - Assert.assertNotNull(moreModelList); - } - - @Test - public void getModelFromCloudTest() { - Assert.assertNotNull(SimilarSearchManeger.getModelFromCloud(new JSONObject())); - Assert.assertNotNull(DocumentSearchManager.getModelFromCloud(new JSONObject())); - Assert.assertNotNull(PluginSearchManager.getModelFromCloud(new JSONObject())); - } - - @Test - public void isNeedSegmentationTest() { - Assert.assertEquals(segmentationManager.isNeedSegmentation("多维数据集"), true); - } - - @Test - public void startSegmentationTest() { - String[] result = {"结果报表", "结果", "报表"}; - Assert.assertEquals(segmentationManager.startSegmentation("结果报表"), result); - - } - -} From 7452f05304f7da97c6718375a943241e36dc83c4 Mon Sep 17 00:00:00 2001 From: "alex.sung" Date: Wed, 19 Sep 2018 20:34:28 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E5=8E=9F=E5=85=88=E7=9A=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E7=BD=91=E7=BB=9C=E6=96=AD=E5=BC=80=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E7=94=A8swingworker=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E5=81=B6=E7=8E=B0=E6=80=A7?= =?UTF-8?q?=E7=9A=84=E4=BC=9A=E5=8D=A1=E4=BD=8F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/alphafine/AlphaFineHelper.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 7b20a44cf2..93e60182c2 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -22,9 +22,6 @@ import com.fr.json.JSONException; import com.fr.json.JSONObject; import com.fr.json.JSONUtils; import com.fr.stable.StringUtils; -import com.fr.third.org.apache.http.HttpStatus; -import com.fr.third.org.apache.http.StatusLine; -import com.fr.third.org.apache.http.client.methods.HttpGet; import java.util.List; @@ -159,10 +156,9 @@ public class AlphaFineHelper { * @return */ public static boolean isNetworkOk(){ - HttpGet getHelp = new HttpGet(URL_FOR_TEST_NETWORK); try { - StatusLine statusLine = HttpToolbox.getHttpClient(URL_FOR_TEST_NETWORK).execute(getHelp).getStatusLine(); - return statusLine.getStatusCode() == HttpStatus.SC_OK; + HttpToolbox.get(URL_FOR_TEST_NETWORK); + return true; } catch (Exception ignore) { // 网络异常 return false; From ca1ab3c67077139b31f0935d29174481aaa89487 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Thu, 20 Sep 2018 10:37:54 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E4=B8=BA=E2=80=9C=E5=80=BC=E2=80=9D?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E6=B7=BB=E5=8A=A0=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E2=80=9C=E6=97=A0=E2=80=9D=E7=9A=84=E5=88=A4=E6=96=AD=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractExtendedChartTableDataPane.java | 13 ++++++---- .../ExtendedCustomFieldComboBoxPane.java | 26 ++++++++++++++++--- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java b/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java index 19a7b8e16b..0ac4546345 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java @@ -10,14 +10,13 @@ import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.gui.data.CalculateComboBox; import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; import com.fr.general.GeneralUtils; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.SwingConstants; import java.awt.BorderLayout; import java.awt.Component; import java.util.Arrays; import java.util.List; +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import javax.swing.SwingConstants; /** * Created by shine on 2018/3/2. @@ -54,7 +53,7 @@ public abstract class AbstractExtendedChartTableDataPane fieldList = new ArrayList(); + public ExtendedCustomFieldComboBoxPane(boolean hasNoneItem) { + this.hasNoneItem = hasNoneItem; + } + @Override protected void initLayout() { this.setLayout(new BorderLayout(0, 6)); @@ -119,7 +126,11 @@ public class ExtendedCustomFieldComboBoxPane extends UIComboBoxPane list = ob.getCustomFields(); + if (hasNoneItem) { + value.addItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); + } + if (list.size() == 2) { series.setSelectedItem(list.get(0).getFieldName()); value.setSelectedItem(list.get(1).getFieldName()); - value.addItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); function.populateBean((AbstractDataFunction) list.get(1).getDataFunction()); } + + if (value.getSelectedItem() == null) { + value.setSelectedItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); + } } @Override From 319e23a029f4d6442b08167ed2e81595840ec8a9 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Thu, 20 Sep 2018 14:23:02 +0800 Subject: [PATCH 09/12] REPORT-11448 & REPORT-10678 --- .../design/actions/file/PreferencePane.java | 42 ------------------- .../form/mobile/FormMobileAttrPane.java | 5 --- .../report/mobile/ReportMobileAttrPane.java | 5 --- 3 files changed, 52 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 325df90e09..c6aebd2a28 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -155,8 +155,6 @@ public class PreferencePane extends BasicPane { createServerPane(advancePane); - createJdkHomePane(advancePane); - JPanel oraclePane = FRGUIPaneFactory.createTitledBorderPane("Oracle" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Oracle_All_Tables")); oracleSpace = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Show_All_Oracle_Tables")); oraclePane.add(oracleSpace); @@ -470,42 +468,6 @@ public class PreferencePane extends BasicPane { serverPortPane.add(choosePortPane, BorderLayout.CENTER); } - private void createJdkHomePane(JPanel advancePane) { - double p = TableLayout.PREFERRED; - double rowSize[] = {p}; - double columnSize[] = {p, p, p}; - - JPanel serverPortPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_JDK_Home")); - advancePane.add(serverPortPane); - jdkHomeTextField = new UITextField(); - UIButton chooseBtn = new UIButton("..."); - chooseBtn.setPreferredSize(new Dimension(20, 20)); - JPanel panel = GUICoreUtils.createBorderLayoutPane( - jdkHomeTextField, BorderLayout.CENTER, - chooseBtn, BorderLayout.EAST - ); - chooseBtn.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - JFileChooser fileChooser = new JFileChooser(); - fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - int returnValue = fileChooser.showOpenDialog(PreferencePane.this); - if (returnValue == JFileChooser.APPROVE_OPTION) { - File file = fileChooser.getSelectedFile(); - jdkHomeTextField.setText(file.getAbsolutePath()); - } - } - }); - panel.setPreferredSize(new Dimension(300, 20)); - UILabel notiJlabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Work_After_Restart_Designer")); - UILabel serverPortLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_JDK_Home") + ":"); - Component[][] portComponents = { - {serverPortLabel, panel, notiJlabel}, - }; - JPanel choosePortPane = TableLayoutHelper.createTableLayoutPane(portComponents, rowSize, columnSize); - serverPortPane.add(choosePortPane, BorderLayout.CENTER); - } - private JPanel createMemoryPane() { JPanel memoryPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Caching_Template")); UILabel memoryLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Max_Caching_Template")); @@ -575,8 +537,6 @@ public class PreferencePane extends BasicPane { this.portEditor.setValue(new Integer(designerEnvManager.getEmbedServerPort())); - this.jdkHomeTextField.setText(designerEnvManager.getJdkHome()); - this.oracleSpace.setSelected(designerEnvManager.isOracleSystemSpace()); this.cachingTemplateSpinner.setValue(designerEnvManager.getCachingTemplateLimit()); this.joinProductImprove.setSelected(designerEnvManager.isJoinProductImprove()); @@ -636,8 +596,6 @@ public class PreferencePane extends BasicPane { designerEnvManager.setJettyServerPort(portEditor.getValue().intValue()); - designerEnvManager.setJdkHome(jdkHomeTextField.getText()); - designerEnvManager.setOracleSystemSpace(this.oracleSpace.isSelected()); designerEnvManager.setCachingTemplateLimit((int) this.cachingTemplateSpinner.getValue()); designerEnvManager.setJoinProductImprove(this.joinProductImprove.isSelected()); diff --git a/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileAttrPane.java b/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileAttrPane.java index 297e854699..a274048a45 100644 --- a/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileAttrPane.java +++ b/designer-form/src/main/java/com/fr/design/form/mobile/FormMobileAttrPane.java @@ -13,8 +13,6 @@ import java.awt.*; * Created by fanglei on 2016/11/17. */ public class FormMobileAttrPane extends BasicBeanPane{ - //工具栏容器 - private MobileToolBarPane mobileToolBarPane; // 模版设置面板 private FormMobileTemplateSettingsPane formMobileTemplateSettingsPane; // 其他 @@ -33,7 +31,6 @@ public class FormMobileAttrPane extends BasicBeanPane{ panel.setBorder(BorderFactory.createEmptyBorder(PADDING, PADDING, PADDING, PADDING)); panel.add(formMobileTemplateSettingsPane = new FormMobileTemplateSettingsPane()); - panel.add(mobileToolBarPane = new MobileToolBarPane()); panel.add(formMobileOthersPane = new FormMobileOthersPane()); JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane(); @@ -47,7 +44,6 @@ public class FormMobileAttrPane extends BasicBeanPane{ if (ob == null) { ob = new FormMobileAttr(); } - this.mobileToolBarPane.populateBean(ob); this.formMobileTemplateSettingsPane.populateBean(ob); this.formMobileOthersPane.populateBean(ob); } @@ -55,7 +51,6 @@ public class FormMobileAttrPane extends BasicBeanPane{ @Override public FormMobileAttr updateBean() { FormMobileAttr formMobileAttr = new FormMobileAttr(); - this.mobileToolBarPane.updateBean(formMobileAttr); this.formMobileTemplateSettingsPane.updateBean(formMobileAttr); this.formMobileOthersPane.updateBean(formMobileAttr); return formMobileAttr; diff --git a/designer-realize/src/main/java/com/fr/design/report/mobile/ReportMobileAttrPane.java b/designer-realize/src/main/java/com/fr/design/report/mobile/ReportMobileAttrPane.java index 28030a37d5..668027f5f8 100644 --- a/designer-realize/src/main/java/com/fr/design/report/mobile/ReportMobileAttrPane.java +++ b/designer-realize/src/main/java/com/fr/design/report/mobile/ReportMobileAttrPane.java @@ -15,8 +15,6 @@ public class ReportMobileAttrPane extends BasicBeanPane{ private ReportMobileTemplateSettingsPane reportMobileTemplateSettingsPane; // 模版设置面板 private AppFitBrowserPane appFitBrowserPane; - //工具栏容器 - private MobileToolBarPane mobileToolBarPane; // 其他 private MobileOthersPane mobileOthersPane; @@ -38,7 +36,6 @@ public class ReportMobileAttrPane extends BasicBeanPane{ appFitBrowserPane.setAppFitPreviewPane(appFitPreviewPane); jPanel.add(appFitBrowserPane); - jPanel.add(mobileToolBarPane = new MobileToolBarPane()); jPanel.add(mobileOthersPane = new MobileOthersPane()); jPanel.add(appFitPreviewPane); @@ -52,7 +49,6 @@ public class ReportMobileAttrPane extends BasicBeanPane{ ob = new ElementCaseMobileAttr(); } appFitBrowserPane.populateBean(ob); - mobileToolBarPane.populateBean(ob); mobileOthersPane.populateBean(ob); reportMobileTemplateSettingsPane.populateBean(ob); } @@ -60,7 +56,6 @@ public class ReportMobileAttrPane extends BasicBeanPane{ @Override public ElementCaseMobileAttr updateBean() { ElementCaseMobileAttr caseMobileAttr = appFitBrowserPane.updateBean(); - mobileToolBarPane.updateBean(caseMobileAttr); mobileOthersPane.updateBean(caseMobileAttr); reportMobileTemplateSettingsPane.updateBean(caseMobileAttr); From c3fc7be77cfde08fb878fefc316e206ca904f254 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Thu, 20 Sep 2018 14:35:16 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/ExtendedCustomFieldComboBoxPane.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java index 426540d134..c4e23faf90 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java @@ -166,24 +166,19 @@ public class ExtendedCustomFieldComboBoxPane extends UIComboBoxPane list = ob.getCustomFields(); - if (hasNoneItem) { - value.addItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); - } - if (list.size() == 2) { series.setSelectedItem(list.get(0).getFieldName()); value.setSelectedItem(list.get(1).getFieldName()); function.populateBean((AbstractDataFunction) list.get(1).getDataFunction()); } - - if (value.getSelectedItem() == null) { - value.setSelectedItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); - } } @Override From c62de9f2020e3ddb1274c84f17d2058891e934cc Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Thu, 20 Sep 2018 18:51:42 +0800 Subject: [PATCH 11/12] =?UTF-8?q?REPORT-11487=20=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E4=B8=8B=20=E6=96=B0=E5=BB=BA=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E7=8A=B6=E6=80=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/DesignerFrameFileDealerPane.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index d0800c087d..7127c9763e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -246,6 +246,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } new MkdirDialog(); + stateChange(); } } @@ -263,7 +264,6 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt @Override public void actionPerformed(ActionEvent evt) { - selectedOperation.showInExplorer(); } } @@ -281,10 +281,8 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt @Override public void actionPerformed(ActionEvent evt) { - selectedOperation.refresh(); stateChange(); - } } @@ -322,6 +320,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt new FileRenameDialog(node); MutilTempalteTabPane.getInstance().repaint(); + stateChange(); } } @@ -347,8 +346,8 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt WARNING_MESSAGE); return; } - selectedOperation.deleteFile(); + stateChange(); } } From 8dfe80a6a58c5e05e6e5cbc4235f73e6274fb945 Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Tue, 25 Sep 2018 12:20:43 +0800 Subject: [PATCH 12/12] =?UTF-8?q?REPORT-11538=20=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=8F=90=E4=BA=A4=E4=BA=8B=E4=BB=B6=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/gui/columnrow/ColumnRowPane.java | 475 +++++++++--------- .../design/javascript/ListenerEditPane.java | 260 +++++----- 2 files changed, 371 insertions(+), 364 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java b/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java index 8f9e508d93..615a17bcef 100644 --- a/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java @@ -1,8 +1,17 @@ package com.fr.design.gui.columnrow; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.GridLayout; +import com.fr.design.designer.IntervalConstants; +import com.fr.design.event.UIObserver; +import com.fr.design.event.UIObserverListener; +import com.fr.design.gui.ispinner.ColumnRowSpinner; +import com.fr.design.gui.ispinner.UIBasicSpinner; +import com.fr.design.gui.ispinner.UpperCaseSpinner; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.general.ComparatorUtils; +import com.fr.stable.ColumnRow; +import com.fr.stable.StableUtils; +import com.fr.stable.StringUtils; import javax.swing.JFormattedTextField; import javax.swing.JPanel; @@ -16,19 +25,9 @@ import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DocumentFilter; - -import com.fr.design.designer.IntervalConstants; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.gui.ispinner.UIBasicSpinner; -import com.fr.design.gui.ispinner.UpperCaseSpinner; -import com.fr.design.gui.ispinner.ColumnRowSpinner; -import com.fr.general.ComparatorUtils; -import com.fr.stable.ColumnRow; -import com.fr.stable.StableUtils; -import com.fr.stable.StringUtils; -import com.fr.design.utils.gui.GUICoreUtils; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.GridLayout; /** * the component to edit ColumnRow @@ -37,224 +36,228 @@ import com.fr.design.utils.gui.GUICoreUtils; */ public class ColumnRowPane extends JPanel implements UIObserver { - private static final long serialVersionUID = 1L; - private static String[] columnarray = new String[1000]; - private static String[] rowarray = new String[5000]; - - - protected UpperCaseSpinner columnSpinner; - protected UIBasicSpinner rowSpinner; - - static { - for (int i = 1; i < 1000; i++) { - columnarray[i - 1] = StableUtils.convertIntToABC(i); - } - for (int i = 1; i < 5000; i++) { - rowarray[i - 1] = StringUtils.EMPTY + i; - } - } - - protected DocumentListener d = new DocumentListener() { - - - @Override - public void removeUpdate(DocumentEvent e) { - String rolText = ((DefaultEditor) columnSpinner.getEditor()).getTextField().getText(); - String rowText = ((DefaultEditor) rowSpinner.getEditor()).getTextField().getText(); - if (rolText == null || rolText.length() == 0 || rowText == null || rowText.length() == 0) { - return; - } - int col = StableUtils.convertABCToInt(rolText) - 1; - int row = Integer.parseInt(rowText) - 1; - setColumnRow(ColumnRow.valueOf(col, row)); - } - - @Override - public void insertUpdate(DocumentEvent e) { - int col = StableUtils.convertABCToInt(((DefaultEditor) columnSpinner.getEditor()).getTextField().getText()) - 1; - int row = Integer.parseInt(((DefaultEditor) rowSpinner.getEditor()).getTextField().getText()) - 1; - setColumnRow(ColumnRow.valueOf(col, row)); - } - - @Override - public void changedUpdate(DocumentEvent e) { - - } - }; - - - private UIObserverListener uiObserverListener; - private ColumnRow cr; - - - public ColumnRowPane() { - this.initComponents(); - iniListener(); - } - - - /** - * 初始化元素 - */ - public void initComponents() { - this.setLayout(new GridLayout(0, 2, IntervalConstants.INTERVAL_L6, 0)); - initColSpinner(); - this.add(columnSpinner, BorderLayout.WEST); - initRowSpinner(); - this.add(rowSpinner); - this.addDocumentListener(d); - } - - private void iniListener() { - if (shouldResponseChangeListener()) { - this.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - if (uiObserverListener == null) { - return; - } - uiObserverListener.doChange(); - } - }); - } - } - - - protected void initRowSpinner() { - rowSpinner = new ColumnRowSpinner((new SpinnerListModel(rowarray))) { - public boolean shouldResponseChangeListener() { - return false; - } - - }; - rowSpinner.setPreferredSize(new Dimension(60, 24)); - JFormattedTextField rftf = GUICoreUtils.getSpinnerTextField(rowSpinner); - if (rftf != null) { - rftf.setColumns(4); // specify more width than we need - rftf.setHorizontalAlignment(UITextField.LEFT); - } - } - - protected void initColSpinner() { - SpinnerListModel columnSpinnerListModel = new SpinnerListModel(columnarray); - columnSpinner = new UpperCaseSpinner(columnSpinnerListModel) { - public boolean shouldResponseChangeListener() { - return false; - } - }; - columnSpinner.setPreferredSize(new Dimension(60, 24)); - JFormattedTextField cftf = GUICoreUtils.getSpinnerTextField(columnSpinner); - if (cftf != null) { - cftf.setColumns(3); // specify more width than we need - cftf.setHorizontalAlignment(UITextField.LEFT); - } - - ((AbstractDocument) cftf.getDocument()).setDocumentFilter(new DocumentFilter() { - public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { - fb.insertString(offset, string.toUpperCase(), attr); - } - - public void replace(FilterBypass fb, int offset, int length, String string, AttributeSet attr) throws BadLocationException { - if (string != null) { - string = string.toUpperCase(); - } - fb.replace(offset, length, string, attr); - } - }); - } - - protected void addDocumentListener(DocumentListener l) { - ((DefaultEditor) columnSpinner.getEditor()).getTextField().getDocument().addDocumentListener(l); - ((DefaultEditor) rowSpinner.getEditor()).getTextField().getDocument().addDocumentListener(l); - } - - private void removeDocumentListener(DocumentListener l) { - ((DefaultEditor) columnSpinner.getEditor()).getTextField().getDocument().removeDocumentListener(l); - ((DefaultEditor) rowSpinner.getEditor()).getTextField().getDocument().removeDocumentListener(l); - } - - /** - * columnSpinner与rowSpinner应该整体考虑,设置ColumnRow应该只触发一次事件 - * - * @param columnRow - */ - public void setColumnRow(ColumnRow columnRow) { - if (!ComparatorUtils.equals(cr, columnRow)) { - setGlobalName(); - removeDocumentListener(d); - cr = columnRow; - addDocumentListener(d); - fireChanged(); - } - } - - public void setGlobalName(){ - - } - - public void populate(ColumnRow columnRow) { - cr = columnRow; - int column = columnRow.getColumn(); - if (column < 0) { - column = 0; - } - removeDocumentListener(d); - columnSpinner.setValue(StableUtils.convertIntToABC(column + 1)); - int row = columnRow.getRow(); - // shoc 小于0就蹦了 - if (row < 0) { - row = 0; - } - rowSpinner.setValue("" + (row + 1)); - addDocumentListener(d); - fireChanged(); - } - - - public ColumnRow update() { - return cr; - } - - /** - * 添加一个listener到listenerList中 - * @param l 监听 - */ - public void addChangeListener(ChangeListener l) { - this.listenerList.add(ChangeListener.class, l); - } - - /** - * 从listenerList中移除一个listener - * @param l 监听 - */ - public void removeChangeListener(ChangeListener l) { - this.listenerList.remove(ChangeListener.class, l); - } - - // august: Process the listeners last to first - protected void fireChanged() { - Object[] listeners = listenerList.getListenerList(); - - for (int i = listeners.length - 2; i >= 0; i -= 2) { - if (listeners[i] == ChangeListener.class) { - ((ChangeListener) listeners[i + 1]).stateChanged(new ChangeEvent(this)); - } - } - } - - /** - * 给组件登记一个观察者监听事件 - * @param listener 监听 - */ - public void registerChangeListener(UIObserverListener listener) { - uiObserverListener = listener; - } - - /** - * 组件是否需要响应添加的观察者事件 - * @return 如果需要响应观察者事件则返回true,否则返回false - */ - public boolean shouldResponseChangeListener() { - return true; - } + private static final long serialVersionUID = 1L; + private static String[] columnarray = new String[1000]; + private static String[] rowarray = new String[5000]; + + + protected UpperCaseSpinner columnSpinner; + protected UIBasicSpinner rowSpinner; + + static { + for (int i = 1; i <= 1000; i++) { + columnarray[i - 1] = StableUtils.convertIntToABC(i); + } + for (int i = 1; i <= 5000; i++) { + rowarray[i - 1] = StringUtils.EMPTY + i; + } + } + + protected DocumentListener d = new DocumentListener() { + + + @Override + public void removeUpdate(DocumentEvent e) { + String rolText = ((DefaultEditor) columnSpinner.getEditor()).getTextField().getText(); + String rowText = ((DefaultEditor) rowSpinner.getEditor()).getTextField().getText(); + if (rolText == null || rolText.length() == 0 || rowText == null || rowText.length() == 0) { + return; + } + int col = StableUtils.convertABCToInt(rolText) - 1; + int row = Integer.parseInt(rowText) - 1; + setColumnRow(ColumnRow.valueOf(col, row)); + } + + @Override + public void insertUpdate(DocumentEvent e) { + int col = StableUtils.convertABCToInt(((DefaultEditor) columnSpinner.getEditor()).getTextField().getText()) - 1; + int row = Integer.parseInt(((DefaultEditor) rowSpinner.getEditor()).getTextField().getText()) - 1; + setColumnRow(ColumnRow.valueOf(col, row)); + } + + @Override + public void changedUpdate(DocumentEvent e) { + + } + }; + + + private UIObserverListener uiObserverListener; + private ColumnRow cr; + + + public ColumnRowPane() { + this.initComponents(); + iniListener(); + } + + + /** + * 初始化元素 + */ + public void initComponents() { + this.setLayout(new GridLayout(0, 2, IntervalConstants.INTERVAL_L6, 0)); + initColSpinner(); + this.add(columnSpinner, BorderLayout.WEST); + initRowSpinner(); + this.add(rowSpinner); + this.addDocumentListener(d); + } + + private void iniListener() { + if (shouldResponseChangeListener()) { + this.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + if (uiObserverListener == null) { + return; + } + uiObserverListener.doChange(); + } + }); + } + } + + + protected void initRowSpinner() { + rowSpinner = new ColumnRowSpinner((new SpinnerListModel(rowarray))) { + public boolean shouldResponseChangeListener() { + return false; + } + + }; + rowSpinner.setPreferredSize(new Dimension(60, 24)); + JFormattedTextField rftf = GUICoreUtils.getSpinnerTextField(rowSpinner); + if (rftf != null) { + rftf.setColumns(4); // specify more width than we need + rftf.setHorizontalAlignment(UITextField.LEFT); + } + } + + protected void initColSpinner() { + SpinnerListModel columnSpinnerListModel = new SpinnerListModel(columnarray); + columnSpinner = new UpperCaseSpinner(columnSpinnerListModel) { + public boolean shouldResponseChangeListener() { + return false; + } + }; + columnSpinner.setPreferredSize(new Dimension(60, 24)); + JFormattedTextField cftf = GUICoreUtils.getSpinnerTextField(columnSpinner); + if (cftf != null) { + cftf.setColumns(3); // specify more width than we need + cftf.setHorizontalAlignment(UITextField.LEFT); + } + + ((AbstractDocument) cftf.getDocument()).setDocumentFilter(new DocumentFilter() { + public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { + fb.insertString(offset, string.toUpperCase(), attr); + } + + public void replace(FilterBypass fb, int offset, int length, String string, AttributeSet attr) throws BadLocationException { + if (string != null) { + string = string.toUpperCase(); + } + fb.replace(offset, length, string, attr); + } + }); + } + + protected void addDocumentListener(DocumentListener l) { + ((DefaultEditor) columnSpinner.getEditor()).getTextField().getDocument().addDocumentListener(l); + ((DefaultEditor) rowSpinner.getEditor()).getTextField().getDocument().addDocumentListener(l); + } + + private void removeDocumentListener(DocumentListener l) { + ((DefaultEditor) columnSpinner.getEditor()).getTextField().getDocument().removeDocumentListener(l); + ((DefaultEditor) rowSpinner.getEditor()).getTextField().getDocument().removeDocumentListener(l); + } + + /** + * columnSpinner与rowSpinner应该整体考虑,设置ColumnRow应该只触发一次事件 + * + * @param columnRow + */ + public void setColumnRow(ColumnRow columnRow) { + if (!ComparatorUtils.equals(cr, columnRow)) { + setGlobalName(); + removeDocumentListener(d); + cr = columnRow; + addDocumentListener(d); + fireChanged(); + } + } + + public void setGlobalName() { + + } + + public void populate(ColumnRow columnRow) { + cr = columnRow; + int column = columnRow.getColumn(); + if (column < 0) { + column = 0; + } + removeDocumentListener(d); + columnSpinner.setValue(StableUtils.convertIntToABC(column + 1)); + int row = columnRow.getRow(); + // shoc 小于0就蹦了 + if (row < 0) { + row = 0; + } + rowSpinner.setValue("" + (row + 1)); + addDocumentListener(d); + fireChanged(); + } + + + public ColumnRow update() { + return cr; + } + + /** + * 添加一个listener到listenerList中 + * + * @param l 监听 + */ + public void addChangeListener(ChangeListener l) { + this.listenerList.add(ChangeListener.class, l); + } + + /** + * 从listenerList中移除一个listener + * + * @param l 监听 + */ + public void removeChangeListener(ChangeListener l) { + this.listenerList.remove(ChangeListener.class, l); + } + + // august: Process the listeners last to first + protected void fireChanged() { + Object[] listeners = listenerList.getListenerList(); + + for (int i = listeners.length - 2; i >= 0; i -= 2) { + if (listeners[i] == ChangeListener.class) { + ((ChangeListener) listeners[i + 1]).stateChanged(new ChangeEvent(this)); + } + } + } + + /** + * 给组件登记一个观察者监听事件 + * + * @param listener 监听 + */ + public void registerChangeListener(UIObserverListener listener) { + uiObserverListener = listener; + } + + /** + * 组件是否需要响应添加的观察者事件 + * + * @return 如果需要响应观察者事件则返回true,否则返回false + */ + public boolean shouldResponseChangeListener() { + return true; + } } \ No newline at end of file diff --git a/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java b/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java index 196da69c42..91ccd38028 100644 --- a/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java +++ b/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java @@ -7,6 +7,7 @@ import com.fr.design.fun.JavaScriptActionProvider; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JTemplate; @@ -28,140 +29,143 @@ import java.util.List; import java.util.Set; public class ListenerEditPane extends BasicBeanPane { - private UITextField nameText; - private UIComboBox styleBox; - private CardLayout card; - private List> cards; - private JPanel hyperlinkPane; - - private JavaScriptImplPane javaScriptPane; - private FormSubmitJavaScriptPane formSubmitScriptPane; - private Commit2DBJavaScriptPane commit2DBJavaScriptPane; - // 自定义事件 - private CustomActionPane customActionPane; - // 发送邮件 - private EmailPane emailPane; - - private static final String JS = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JavaScript"); - private static final String FORMSUBMIT = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JavaScript_Form_Submit"); - private static final String DBCOMMIT = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JavaScript_Commit_To_Database"); - private static final String CUSTOMACTION= com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JavaScript_Custom_Submit"); - private static final String EMAIL = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Email_Sent_Email"); - - private Listener listener; - - public ListenerEditPane() { - this.initComponents(new String[0]); - } + private UITextField nameText; + private UIComboBox styleBox; + private CardLayout card; + private List> cards; + private JPanel hyperlinkPane; - public ListenerEditPane(String[] defaultArgs) { - this.initComponents(defaultArgs); - } + private static final String JS = Toolkit.i18nText("Fine-Design_Report_JavaScript"); + private static final String DBCOMMIT = Toolkit.i18nText("Fine-Design_Basic_JavaScript_Commit_To_Database"); + private static final String CUSTOMACTION = Toolkit.i18nText("Fine-Design_Report_Submit_Type_Custom"); + private static final String EMAIL = Toolkit.i18nText("Fine-Design_Report_Email_Sent_Email"); - /** - * 初始化各个组件 - * @param defaultArgs 初始化参数 - */ - public void initComponents(String[] defaultArgs) { - cards = new ArrayList>(); - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel namePane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); - nameText = new UITextField(8); - nameText.setEditable(false); - namePane.add(nameText, BorderLayout.WEST); - String[] style = {JS, DBCOMMIT, CUSTOMACTION,EMAIL}; - styleBox = new UIComboBox(style); - namePane.add(styleBox); - namePane = GUICoreUtils.createFlowPane(new Component[]{new UILabel(" " + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Name") + ":"), nameText, new UILabel(" " + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Type") + ":"), styleBox}, FlowLayout.LEFT); - namePane.setBorder(BorderFactory.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Name_Type"))); - this.add(namePane, BorderLayout.NORTH); - card = new CardLayout(); - hyperlinkPane = FRGUIPaneFactory.createCardLayout_S_Pane(); - hyperlinkPane.setLayout(card); - javaScriptPane = new JavaScriptImplPane(defaultArgs); - hyperlinkPane.add(JS, javaScriptPane); - // 提交入库 - List dbmaniList = new ArrayList(); - dbmaniList.add(autoCreateDBManipulationPane()); - commit2DBJavaScriptPane = new Commit2DBJavaScriptPane(JavaScriptActionPane.defaultJavaScriptActionPane, - dbmaniList); - hyperlinkPane.add(DBCOMMIT, commit2DBJavaScriptPane); - // 自定义事件 - customActionPane = new CustomActionPane(); - hyperlinkPane.add(CUSTOMACTION, customActionPane); - // 发送邮件 - emailPane = new EmailPane(); - hyperlinkPane.add(EMAIL,emailPane); - cards.add(javaScriptPane); - cards.add(commit2DBJavaScriptPane); - cards.add(customActionPane); - cards.add(emailPane); - //其他事件 - addOtherEvent(); - hyperlinkPane.setBorder(BorderFactory.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JavaScript_Set"))); - this.add(hyperlinkPane); - styleBox.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - card.show(hyperlinkPane, styleBox.getSelectedItem().toString()); - } - }); - } + private Listener listener; - private void addOtherEvent(){ - Set javaScriptActionProviders = ExtraDesignClassManager.getInstance().getArray(JavaScriptActionProvider.XML_TAG); - if (javaScriptActionProviders != null) { - for (JavaScriptActionProvider jsp : javaScriptActionProviders) { - FurtherBasicBeanPane pane = jsp.getJavaScriptActionPane(); - String title = pane.title4PopupWindow(); - styleBox.addItem(title); - hyperlinkPane.add(title, pane); - cards.add(pane); - } - } - } + public ListenerEditPane() { + this.initComponents(new String[0]); + } + + public ListenerEditPane(String[] defaultArgs) { + this.initComponents(defaultArgs); + } /** - * 根据有无单元格创建 DBManipulationPane - * @return 有单元格。有智能添加单元格等按钮,返回 SmartInsertDBManipulationPane + * 初始化各个组件 + * + * @param defaultArgs 初始化参数 */ - private DBManipulationPane autoCreateDBManipulationPane() { - JTemplate jTemplate = DesignerContext.getDesignerFrame().getSelectedJTemplate(); - return jTemplate.createDBManipulationPane(); - } - - @Override - protected String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Set"); - } - - @Override - public void populateBean(Listener listener) { - this.listener = listener; - if (this.listener == null) { - this.listener = new Listener(); - } - this.nameText.setText(listener.getEventName()); - JavaScript js = listener.getAction(); - for (int i = 0; i < this.cards.size(); i++) { - FurtherBasicBeanPane pane = cards.get(i); - if (pane.accept(js)) { - styleBox.setSelectedItem(pane.title4PopupWindow()); - card.show(hyperlinkPane, pane.title4PopupWindow()); - pane.populateBean(js); - return; - } - } - } + public void initComponents(String[] defaultArgs) { + cards = new ArrayList<>(); + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + JPanel namePane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + nameText = new UITextField(8); + nameText.setEditable(false); + namePane.add(nameText, BorderLayout.WEST); + final String[] style = {JS, DBCOMMIT, CUSTOMACTION, EMAIL}; + styleBox = new UIComboBox(style); + namePane.add(styleBox); + namePane = GUICoreUtils.createFlowPane(new Component[]{ + new UILabel(" " + Toolkit.i18nText("Fine-Design_Report_Event_Name") + ":"), + nameText, + new UILabel(" " + Toolkit.i18nText("Fine-Design_Report_Event_Type") + ":"), + styleBox}, + FlowLayout.LEFT); + namePane.setBorder(BorderFactory.createTitledBorder(Toolkit.i18nText("Fine-Design_Report_Event_Name_Type"))); + this.add(namePane, BorderLayout.NORTH); + card = new CardLayout(); + hyperlinkPane = FRGUIPaneFactory.createCardLayout_S_Pane(); + hyperlinkPane.setLayout(card); + JavaScriptImplPane javaScriptPane = new JavaScriptImplPane(defaultArgs); + hyperlinkPane.add(JS, javaScriptPane); + // 提交入库 + List dbManiList = new ArrayList(); + dbManiList.add(autoCreateDBManipulationPane()); + Commit2DBJavaScriptPane commit2DBJavaScriptPane = new Commit2DBJavaScriptPane(JavaScriptActionPane.defaultJavaScriptActionPane, + dbManiList); + hyperlinkPane.add(DBCOMMIT, commit2DBJavaScriptPane); + // 自定义事件 + CustomActionPane customActionPane = new CustomActionPane(); + hyperlinkPane.add(CUSTOMACTION, customActionPane); + // 发送邮件 + EmailPane emailPane = new EmailPane(); + hyperlinkPane.add(EMAIL, emailPane); + cards.add(javaScriptPane); + cards.add(commit2DBJavaScriptPane); + cards.add(customActionPane); + cards.add(emailPane); + //其他事件 + addOtherEvent(); + hyperlinkPane.setBorder(BorderFactory.createTitledBorder(Toolkit.i18nText("Fine-Design_Report_JavaScript_Set"))); + this.add(hyperlinkPane); + styleBox.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + Object selected = styleBox.getSelectedItem(); + if (selected == null) { + return; + } + card.show(hyperlinkPane, selected.toString()); + } + }); + } + + private void addOtherEvent() { + Set javaScriptActionProviders = ExtraDesignClassManager.getInstance().getArray(JavaScriptActionProvider.XML_TAG); + if (javaScriptActionProviders != null) { + for (JavaScriptActionProvider jsp : javaScriptActionProviders) { + FurtherBasicBeanPane pane = jsp.getJavaScriptActionPane(); + String title = pane.title4PopupWindow(); + styleBox.addItem(title); + hyperlinkPane.add(title, pane); + cards.add(pane); + } + } + } + + /** + * 根据有无单元格创建 DBManipulationPane + * + * @return 有单元格。有智能添加单元格等按钮,返回 SmartInsertDBManipulationPane + */ + private DBManipulationPane autoCreateDBManipulationPane() { + JTemplate jTemplate = DesignerContext.getDesignerFrame().getSelectedJTemplate(); + return jTemplate.createDBManipulationPane(); + } + + @Override + protected String title4PopupWindow() { + return Toolkit.i18nText("Fine-Design_Report_Event_Set"); + } + + @Override + public void populateBean(Listener listener) { + this.listener = listener; + if (this.listener == null) { + this.listener = new Listener(); + } + this.nameText.setText(listener.getEventName()); + JavaScript js = listener.getAction(); + for (int i = 0; i < this.cards.size(); i++) { + FurtherBasicBeanPane pane = cards.get(i); + if (pane.accept(js)) { + styleBox.setSelectedItem(pane.title4PopupWindow()); + card.show(hyperlinkPane, pane.title4PopupWindow()); + pane.populateBean(js); + return; + } + } + } - public void checkValid() throws Exception{ - this.cards.get(this.styleBox.getSelectedIndex()).checkValid(); - } + public void checkValid() throws Exception { + this.cards.get(this.styleBox.getSelectedIndex()).checkValid(); + } - @Override - public Listener updateBean(){ - this.listener.setEventName(this.nameText.getText()); - FurtherBasicBeanPane pane = this.cards.get(this.styleBox.getSelectedIndex()); - this.listener.setAction(pane.updateBean()); - return this.listener; - } + @Override + public Listener updateBean() { + this.listener.setEventName(this.nameText.getText()); + FurtherBasicBeanPane pane = this.cards.get(this.styleBox.getSelectedIndex()); + this.listener.setAction(pane.updateBean()); + return this.listener; + } } \ No newline at end of file