From c14cb882181746cdda72a2316d351f052d0cf34d Mon Sep 17 00:00:00 2001 From: sunmondong Date: Wed, 31 May 2017 17:15:08 +0800 Subject: [PATCH 01/76] fix --- designer_base/build.9.0.gradle | 1 + designer_base/build.9.0.gradle.bak | 24 ++++++++++++++++++++++-- designer_chart/build.9.0.gradle | 1 + designer_chart/build.9.0.gradle.bak | 24 ++++++++++++++++++++++-- designer_form/build.9.0.gradle | 2 +- designer_form/build.9.0.gradle.bak | 23 ++++++++++++++++++++++- 6 files changed, 69 insertions(+), 6 deletions(-) diff --git a/designer_base/build.9.0.gradle b/designer_base/build.9.0.gradle index fa144095e..c7c7ef515 100644 --- a/designer_base/build.9.0.gradle +++ b/designer_base/build.9.0.gradle @@ -1,3 +1,4 @@ +apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } diff --git a/designer_base/build.9.0.gradle.bak b/designer_base/build.9.0.gradle.bak index af0dc75f0..fa144095e 100644 --- a/designer_base/build.9.0.gradle.bak +++ b/designer_base/build.9.0.gradle.bak @@ -1,8 +1,28 @@ - -apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } +buildscript { + repositories { + maven { + url "https://maven.eveoh.nl/content/repositories/releases" + } + } + + dependencies { + classpath "nl.eveoh:gradle-aspectj:1.6" + } +} + +repositories { + mavenCentral() +} + +project.ext { + aspectjVersion = '1.8.4' +} + +apply plugin: 'aspectj' + //指定构建的jdk版本 sourceCompatibility=1.7 //指定生成jar包版本 diff --git a/designer_chart/build.9.0.gradle b/designer_chart/build.9.0.gradle index c24965912..f5a0b1f0a 100644 --- a/designer_chart/build.9.0.gradle +++ b/designer_chart/build.9.0.gradle @@ -1,3 +1,4 @@ +apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } diff --git a/designer_chart/build.9.0.gradle.bak b/designer_chart/build.9.0.gradle.bak index c8f7e2ac3..c24965912 100644 --- a/designer_chart/build.9.0.gradle.bak +++ b/designer_chart/build.9.0.gradle.bak @@ -1,8 +1,28 @@ - -apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } +buildscript { + repositories { + maven { + url "https://maven.eveoh.nl/content/repositories/releases" + } + } + + dependencies { + classpath "nl.eveoh:gradle-aspectj:1.6" + } +} + +repositories { + mavenCentral() +} + +project.ext { + aspectjVersion = '1.8.4' +} + +apply plugin: 'aspectj' + //指定构建的jdk版本 sourceCompatibility=1.7 //指定生成jar包版本 diff --git a/designer_form/build.9.0.gradle b/designer_form/build.9.0.gradle index ebe2c4b79..423b90a19 100644 --- a/designer_form/build.9.0.gradle +++ b/designer_form/build.9.0.gradle @@ -1,4 +1,4 @@ - +apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } diff --git a/designer_form/build.9.0.gradle.bak b/designer_form/build.9.0.gradle.bak index 1decff56b..ebe2c4b79 100644 --- a/designer_form/build.9.0.gradle.bak +++ b/designer_form/build.9.0.gradle.bak @@ -1,8 +1,29 @@ -apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } +buildscript { + repositories { + maven { + url "https://maven.eveoh.nl/content/repositories/releases" + } + } + + dependencies { + classpath "nl.eveoh:gradle-aspectj:1.6" + } +} + +repositories { + mavenCentral() +} + +project.ext { + aspectjVersion = '1.8.4' +} + +apply plugin: 'aspectj' + //指定构建的jdk版本 sourceCompatibility=1.7 //指定生成jar包版本 From 0e15a58aa20c2b5414124f92fe27c668391bc096 Mon Sep 17 00:00:00 2001 From: sunmondong Date: Wed, 31 May 2017 18:55:01 +0800 Subject: [PATCH 02/76] =?UTF-8?q?=E9=80=82=E9=85=8DaspectJ=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/build.9.0.gradle | 8 +++++++- designer_base/build.9.0.gradle.bak | 1 + designer_chart/build.9.0.gradle | 8 +++++++- designer_chart/build.9.0.gradle.bak | 1 + designer_form/build.9.0.gradle | 8 +++++++- designer_form/build.9.0.gradle.bak | 2 +- 6 files changed, 24 insertions(+), 4 deletions(-) diff --git a/designer_base/build.9.0.gradle b/designer_base/build.9.0.gradle index c7c7ef515..4116ce878 100644 --- a/designer_base/build.9.0.gradle +++ b/designer_base/build.9.0.gradle @@ -36,7 +36,13 @@ jar{ def srcDir="." def baseDir=".." - +ant{ + delete(dir:"src/main") + mkdir(dir:"src/main/java") + move(todir:"src/main/java"){ + fileset(dir:"src/com") + } +} //指定源码路径 sourceSets{ main{ diff --git a/designer_base/build.9.0.gradle.bak b/designer_base/build.9.0.gradle.bak index fa144095e..c7c7ef515 100644 --- a/designer_base/build.9.0.gradle.bak +++ b/designer_base/build.9.0.gradle.bak @@ -1,3 +1,4 @@ +apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } diff --git a/designer_chart/build.9.0.gradle b/designer_chart/build.9.0.gradle index f5a0b1f0a..7169cc654 100644 --- a/designer_chart/build.9.0.gradle +++ b/designer_chart/build.9.0.gradle @@ -36,7 +36,13 @@ jar{ def srcDir="." def baseDir=".." - +ant{ + delete(dir:"src/main") + mkdir(dir:"src/main/java") + move(todir:"src/main/java"){ + fileset(dir:"src/com") + } +} //指定源码路径 sourceSets{ main{ diff --git a/designer_chart/build.9.0.gradle.bak b/designer_chart/build.9.0.gradle.bak index c24965912..f5a0b1f0a 100644 --- a/designer_chart/build.9.0.gradle.bak +++ b/designer_chart/build.9.0.gradle.bak @@ -1,3 +1,4 @@ +apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } diff --git a/designer_form/build.9.0.gradle b/designer_form/build.9.0.gradle index 423b90a19..8c3b23bb8 100644 --- a/designer_form/build.9.0.gradle +++ b/designer_form/build.9.0.gradle @@ -36,7 +36,13 @@ jar{ def srcDir="." def baseDir=".." - +ant{ + delete(dir:"src/main") + mkdir(dir:"src/main/java") + move(todir:"src/main/java"){ + fileset(dir:"src/com") + } +} //指定源码路径 sourceSets{ main{ diff --git a/designer_form/build.9.0.gradle.bak b/designer_form/build.9.0.gradle.bak index ebe2c4b79..423b90a19 100644 --- a/designer_form/build.9.0.gradle.bak +++ b/designer_form/build.9.0.gradle.bak @@ -1,4 +1,4 @@ - +apply plugin: 'java' tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } From dbae3fa420edf0a9f45f53e6ea20ecba195bd78a Mon Sep 17 00:00:00 2001 From: sunmondong Date: Wed, 31 May 2017 20:37:16 +0800 Subject: [PATCH 03/76] fix --- designer_base/build.9.0.gradle | 20 ++++++++++---------- designer_base/build.9.0.gradle.bak | 12 +++++++++--- designer_chart/build.9.0.gradle | 20 ++++++++++---------- designer_chart/build.9.0.gradle.bak | 20 +++++++++++++------- designer_form/build.9.0.gradle | 29 +++++++++++++---------------- designer_form/build.9.0.gradle.bak | 29 ++++++++++++++++------------- 6 files changed, 71 insertions(+), 59 deletions(-) diff --git a/designer_base/build.9.0.gradle b/designer_base/build.9.0.gradle index 4116ce878..b3a829481 100644 --- a/designer_base/build.9.0.gradle +++ b/designer_base/build.9.0.gradle @@ -40,17 +40,17 @@ ant{ delete(dir:"src/main") mkdir(dir:"src/main/java") move(todir:"src/main/java"){ - fileset(dir:"src/com") + fileset(dir:"src",includes:"com/**") } } //指定源码路径 -sourceSets{ - main{ - java{ - srcDirs=["${srcDir}/src"] - } - } -} +//sourceSets{ +// main{ +// java{ +// srcDirs=["${srcDir}/src"] +// } +// } +//} //获取什么分支名 FileTree files =fileTree(dir:'./',include:'build.*.gradle') def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) @@ -66,7 +66,7 @@ dependencies{ //复制非.java文件到classes文件夹下参与打包 task copyFile(type:Copy,dependsOn:compileJava){ copy{ - from ("${srcDir}/src"){ + from ("${srcDir}/src/main/java"){ exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' } into 'build/classes/main' @@ -83,7 +83,7 @@ task compressJS{ } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/src"){ + fileset (dir:"${srcDir}/src/main/java"){ include (name:'**/*.js') include (name:'**/*.css') } diff --git a/designer_base/build.9.0.gradle.bak b/designer_base/build.9.0.gradle.bak index c7c7ef515..fce3a7f8d 100644 --- a/designer_base/build.9.0.gradle.bak +++ b/designer_base/build.9.0.gradle.bak @@ -36,7 +36,13 @@ jar{ def srcDir="." def baseDir=".." - +ant{ + delete(dir:"src/main") + mkdir(dir:"src/main/java") + move(todir:"src/main/java"){ + fileset(dir:"src",includes:"com/**") + } +} //指定源码路径 sourceSets{ main{ @@ -60,7 +66,7 @@ dependencies{ //复制非.java文件到classes文件夹下参与打包 task copyFile(type:Copy,dependsOn:compileJava){ copy{ - from ("${srcDir}/src"){ + from ("${srcDir}/src/main/java"){ exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' } into 'build/classes/main' @@ -77,7 +83,7 @@ task compressJS{ } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/src"){ + fileset (dir:"${srcDir}/src/main/java"){ include (name:'**/*.js') include (name:'**/*.css') } diff --git a/designer_chart/build.9.0.gradle b/designer_chart/build.9.0.gradle index 7169cc654..6b1b588e9 100644 --- a/designer_chart/build.9.0.gradle +++ b/designer_chart/build.9.0.gradle @@ -40,17 +40,17 @@ ant{ delete(dir:"src/main") mkdir(dir:"src/main/java") move(todir:"src/main/java"){ - fileset(dir:"src/com") + fileset(dir:"src",includes:"com/**") } } //指定源码路径 -sourceSets{ - main{ - java{ - srcDirs=["${srcDir}/src"] - } - } -} +//sourceSets{ +// main{ +// java{ +// srcDirs=["${srcDir}/src"] +// } +// } +//} //获取什么分支名 FileTree files =fileTree(dir:'./',include:'build.*.gradle') def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) @@ -66,7 +66,7 @@ dependencies{ //复制非.java文件到classes文件夹下参与打包 task copyFile(type:Copy,dependsOn:compileJava){ copy{ - from ("${srcDir}/src"){ + from ("${srcDir}/src/main/java"){ exclude '**/.setting/**','.classpath','.project','**/*.java','**/*.db','**/*.g','**/package.html' } into 'build/classes/main' @@ -83,7 +83,7 @@ task compressJS{ } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/src"){ + fileset (dir:"${srcDir}/src/main/java"){ include (name:'**/*.js') include (name:'**/*.css') } diff --git a/designer_chart/build.9.0.gradle.bak b/designer_chart/build.9.0.gradle.bak index f5a0b1f0a..76d8822b2 100644 --- a/designer_chart/build.9.0.gradle.bak +++ b/designer_chart/build.9.0.gradle.bak @@ -36,15 +36,21 @@ jar{ def srcDir="." def baseDir=".." - -//指定源码路径 -sourceSets{ - main{ - java{ - srcDirs=["${srcDir}/src"] - } +ant{ + delete(dir:"src/main") + mkdir(dir:"src/main/java") + move(todir:"src/main/java"){ + fileset(dir:"src",includes:"com/**") } } +//指定源码路径 +//sourceSets{ +// main{ +// java{ +// srcDirs=["${srcDir}/src"] +// } +// } +//} //获取什么分支名 FileTree files =fileTree(dir:'./',include:'build.*.gradle') def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) diff --git a/designer_form/build.9.0.gradle b/designer_form/build.9.0.gradle index 8c3b23bb8..b7da0345f 100644 --- a/designer_form/build.9.0.gradle +++ b/designer_form/build.9.0.gradle @@ -40,18 +40,19 @@ ant{ delete(dir:"src/main") mkdir(dir:"src/main/java") move(todir:"src/main/java"){ - fileset(dir:"src/com") + fileset(dir:"../designer/src",includes:"com/**") + fileset(dir:"src",includes:"com/**") } } //指定源码路径 -sourceSets{ - main{ - java{ - srcDirs=["${srcDir}/src", - "${srcDir}/../designer/src"] - } - } -} +//sourceSets{ +// main{ +// java{ +// srcDirs=["${srcDir}/src", +// "${srcDir}/../designer/src"] +// } +// } +//} //获取什么分支名 FileTree files =fileTree(dir:'./',include:'build.*.gradle') def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) @@ -77,8 +78,8 @@ def dataContent ={def dir -> task copyFile(type:Copy,dependsOn:compileJava){ copy{ - with dataContent.call("${srcDir}/src") - with dataContent.call("${srcDir}/../designer/src") + with dataContent.call("${srcDir}/src/main/java") + // with dataContent.call("${srcDir}/../designer/src") into 'build/classes/main' } @@ -93,11 +94,7 @@ task compressJS{ } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/src"){ - include (name:'**/*.js') - include (name:'**/*.css') - } - fileset (dir:"${srcDir}/../designer/src"){ + fileset (dir:"${srcDir}/src/main/java"){ include (name:'**/*.js') include (name:'**/*.css') } diff --git a/designer_form/build.9.0.gradle.bak b/designer_form/build.9.0.gradle.bak index 423b90a19..a38769eeb 100644 --- a/designer_form/build.9.0.gradle.bak +++ b/designer_form/build.9.0.gradle.bak @@ -36,16 +36,23 @@ jar{ def srcDir="." def baseDir=".." - -//指定源码路径 -sourceSets{ - main{ - java{ - srcDirs=["${srcDir}/src", - "${srcDir}/../designer/src"] - } +ant{ + delete(dir:"src/main") + mkdir(dir:"src/main/java") + move(todir:"src/main/java"){ + fileset(dir:"../designer/src",includes:"com/**") + fileset(dir:"src",includes:"com/**") } } +//指定源码路径 +//sourceSets{ +// main{ +// java{ +// srcDirs=["${srcDir}/src", +// "${srcDir}/../designer/src"] +// } +// } +//} //获取什么分支名 FileTree files =fileTree(dir:'./',include:'build.*.gradle') def buildDir=files[0].path.substring(0,files[0].path.lastIndexOf ('\\')) @@ -87,11 +94,7 @@ task compressJS{ } } ant.yuicompress(linebreak:"500",warn:"false", munge:"yes",preserveallsemicolons:"false",charset:"utf-8",encoding:"utf-8",outputfolder:'build/classes/main'){ - fileset (dir:"${srcDir}/src"){ - include (name:'**/*.js') - include (name:'**/*.css') - } - fileset (dir:"${srcDir}/../designer/src"){ + fileset (dir:"${srcDir}/src/main/java"){ include (name:'**/*.js') include (name:'**/*.css') } From cd0e098e4397504c7203575bfed48adc03275132 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 1 Jun 2017 21:39:40 +0800 Subject: [PATCH 04/76] =?UTF-8?q?alphafine=20=E8=AE=BE=E7=BD=AE=E7=9A=84?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=86=85=E5=AE=B9=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/ReportEngineAttrAction.java | 7 +- .../report/ReportExportAttrAction.java | 5 +- .../report/ReportMobileAttrAction.java | 4 +- .../actions/report/ReportPageAttrAction.java | 4 +- .../actions/report/ReportPageSetupAction.java | 4 +- .../actions/report/ReportWebAttrAction.java | 4 +- .../actions/report/ReportWriteAttrAction.java | 4 +- .../server/ServerConfigManagerAction.java | 4 +- .../actions/server/StyleListAction.java | 4 +- .../com/fr/design/actions/UpdateAction.java | 79 +++++++++++++++++++ .../design/actions/file/PreferenceAction.java | 56 ++++++------- .../fr/design/actions/help/AboutAction.java | 8 ++ .../help/alphafine/AlphafineAction.java | 4 +- .../actions/server/FunctionManagerAction.java | 4 +- .../design/gui/frpane/LoadingBasicPane.java | 7 ++ .../mainframe/toolbar/UpdateActionModel.java | 19 +++++ .../fr/design/module/ChartPreStyleAction.java | 4 +- 17 files changed, 182 insertions(+), 39 deletions(-) diff --git a/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java b/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java index 796e3b638..bb5942bd4 100644 --- a/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java +++ b/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java @@ -8,6 +8,7 @@ import com.fr.design.menu.KeySetUtils; import com.fr.design.report.LayerReportPane; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; +import com.fr.general.IOUtils; import com.fr.report.worksheet.WorkSheet; public class ReportEngineAttrAction extends ReportComponentAction { @@ -17,7 +18,11 @@ public class ReportEngineAttrAction extends ReportComponentAction componentMap; + private String searchText = StringUtils.EMPTY; + /** * Constructor */ @@ -426,4 +432,77 @@ public abstract class UpdateAction extends ShortCut implements Action { return menuItem; } + + public void setSearchText(JPanel panel) { + if (panel instanceof LoadingBasicPane) { + ((LoadingBasicPane) panel).initForSearch(); + } + this.searchText = getComponentTexts(panel, new StringBuffer()); + + } + + /** + * 获取搜索匹配字符串 + * @return + */ + public String getSearchText() { + return searchText; + } + + /** + * 遍历面板中所有控件,获取text用于alphafine的action搜索 + * @param panel + * @param stringBuffer + * @return + */ + public String getComponentTexts(JPanel panel, StringBuffer stringBuffer) { + Border border = panel.getBorder(); + if (border instanceof TitledBorder) { + stringBuffer.append(((TitledBorder) border).getTitle()); + } + Component[] components = panel.getComponents(); + for (Component component : components) { + if (component instanceof JPanel) { + getComponentTexts((JPanel) component, stringBuffer); + } else if (component instanceof JScrollPane) { + Component childComponent = ((JScrollPane) component).getViewport().getView(); + if (childComponent instanceof JPanel) { + getComponentTexts((JPanel) childComponent, stringBuffer); + } + } else if (component instanceof JLabel) { + stringBuffer.append(((JLabel) component).getText()); + } else if (component instanceof JCheckBox) { + stringBuffer.append(((JCheckBox) component).getText()); + } else if (component instanceof JButton) { + stringBuffer.append(((JButton) component).getText()); + } else if (component instanceof JRadioButton) { + stringBuffer.append(((JRadioButton) component).getText()); + } else if (component instanceof JComboBox) { + for (int i = 0; i < ((JComboBox) component).getItemCount(); i++) { + stringBuffer.append(((JComboBox) component).getItemAt(i)); + } + } else if (component instanceof JTabbedPane) { + getTabPaneTexts(stringBuffer, (JTabbedPane) component); + } + } + return String.valueOf(stringBuffer); + } + + /** + * 递归遍历tabbedPane + * @param stringBuffer + * @param component + */ + private void getTabPaneTexts(StringBuffer stringBuffer, JTabbedPane component) { + for (int i = 0; i < component.getTabCount(); i++) { + stringBuffer.append(component.getTitleAt(i)); + Component tabComponent = component.getComponentAt(i); + if (tabComponent instanceof JPanel) { + getComponentTexts((JPanel) tabComponent, stringBuffer); + } else if (tabComponent instanceof JTabbedPane) { + getTabPaneTexts(stringBuffer, (JTabbedPane) tabComponent); + } + } + } + } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/actions/file/PreferenceAction.java b/designer_base/src/com/fr/design/actions/file/PreferenceAction.java index 71c25837d..f9f222c1b 100644 --- a/designer_base/src/com/fr/design/actions/file/PreferenceAction.java +++ b/designer_base/src/com/fr/design/actions/file/PreferenceAction.java @@ -1,47 +1,49 @@ package com.fr.design.actions.file; -import java.awt.event.ActionEvent; - import com.fr.design.DesignerEnvManager; import com.fr.design.actions.UpdateAction; +import com.fr.design.dialog.BasicDialog; +import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; import com.fr.design.mainframe.JTemplate; import com.fr.design.menu.KeySetUtils; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.DialogActionAdapter; + +import java.awt.event.ActionEvent; public class PreferenceAction extends UpdateAction { - public PreferenceAction() { + public PreferenceAction() { this.setMenuKeySet(KeySetUtils.PREFERENCE); - this.setName(getMenuKeySet().getMenuKeySetName()+"..."); + this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setMnemonic(getMenuKeySet().getMnemonic()); - } + this.setSearchText(new PreferencePane()); + } /** * 动作 + * * @param e 事件 */ - public void actionPerformed(ActionEvent e) { - final DesignerFrame designerFrame = DesignerContext.getDesignerFrame(); - - final PreferencePane preferencePane = new PreferencePane(); - preferencePane.populate(DesignerEnvManager.getEnvManager()); - - BasicDialog basicDialog = preferencePane.showWindow(designerFrame); - basicDialog.addDialogActionListener(new DialogActionAdapter() { - public void doOk() { - preferencePane.update(DesignerEnvManager.getEnvManager()); - DesignerEnvManager.loadLogSetting(); - DesignerEnvManager.getEnvManager().saveXMLFile(); - JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - jt.refreshToolArea(); - preferencePane.showRestartDialog(); - } - }); - - basicDialog.setVisible(true); - } + public void actionPerformed(ActionEvent e) { + final DesignerFrame designerFrame = DesignerContext.getDesignerFrame(); + + final PreferencePane preferencePane = new PreferencePane(); + preferencePane.populate(DesignerEnvManager.getEnvManager()); + + BasicDialog basicDialog = preferencePane.showWindow(designerFrame); + basicDialog.addDialogActionListener(new DialogActionAdapter() { + public void doOk() { + preferencePane.update(DesignerEnvManager.getEnvManager()); + DesignerEnvManager.loadLogSetting(); + DesignerEnvManager.getEnvManager().saveXMLFile(); + JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + jt.refreshToolArea(); + preferencePane.showRestartDialog(); + } + }); + + basicDialog.setVisible(true); + } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/actions/help/AboutAction.java b/designer_base/src/com/fr/design/actions/help/AboutAction.java index 1c3c48d0e..0b7b77571 100644 --- a/designer_base/src/com/fr/design/actions/help/AboutAction.java +++ b/designer_base/src/com/fr/design/actions/help/AboutAction.java @@ -7,8 +7,12 @@ import com.fr.design.actions.UpdateAction; import com.fr.design.mainframe.DesignerContext; import com.fr.design.menu.MenuKeySet; import com.fr.general.Inter; +import com.fr.stable.StringUtils; +import org.eclipse.swt.internal.ole.win32.COM; +import javax.imageio.plugins.jpeg.JPEGHuffmanTable; import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; /** @@ -19,6 +23,7 @@ public class AboutAction extends UpdateAction { this.setMenuKeySet(ABOUT); this.setName(getMenuKeySet().getMenuKeySetName()+"..."); this.setMnemonic(getMenuKeySet().getMnemonic()); + this.setSearchText(new AboutPane()); } /** @@ -47,4 +52,7 @@ public class AboutAction extends UpdateAction { return null; } }; + + + } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java index fdd6e060e..23cf7de75 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java @@ -9,6 +9,7 @@ import com.fr.design.dialog.DialogActionListener; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; import com.fr.design.menu.MenuKeySet; +import com.fr.general.IOUtils; import javax.swing.*; import java.awt.event.ActionEvent; @@ -21,7 +22,8 @@ public class AlphafineAction extends UpdateAction { this.setMenuKeySet(ALPHAFINE); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png")); + this.setSmallIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png")); + this.setSearchText(new AlphafineConfigPane()); } public static final MenuKeySet ALPHAFINE = new MenuKeySet() { diff --git a/designer_base/src/com/fr/design/actions/server/FunctionManagerAction.java b/designer_base/src/com/fr/design/actions/server/FunctionManagerAction.java index 664d44862..7467a00ea 100644 --- a/designer_base/src/com/fr/design/actions/server/FunctionManagerAction.java +++ b/designer_base/src/com/fr/design/actions/server/FunctionManagerAction.java @@ -14,6 +14,7 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.design.menu.MenuKeySet; import com.fr.file.FunctionManager; import com.fr.file.FunctionManagerProvider; +import com.fr.general.IOUtils; import com.fr.general.Inter; import javax.swing.*; @@ -28,7 +29,8 @@ public class FunctionManagerAction extends UpdateAction { this.setMenuKeySet(FUNCTION_MANAGER); this.setName(getMenuKeySet().getMenuKeySetName()+"..."); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_web/function.png")); + this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_web/function.png")); + this.setSearchText(new FunctionManagerPane()); } /** diff --git a/designer_base/src/com/fr/design/gui/frpane/LoadingBasicPane.java b/designer_base/src/com/fr/design/gui/frpane/LoadingBasicPane.java index 32a211807..4ca17be09 100644 --- a/designer_base/src/com/fr/design/gui/frpane/LoadingBasicPane.java +++ b/designer_base/src/com/fr/design/gui/frpane/LoadingBasicPane.java @@ -74,6 +74,13 @@ public abstract class LoadingBasicPane extends BasicPane { } + /** + * 为了alphafine搜索,需要初始化的时候加载一次组件 + */ + public void initForSearch() { + initComponents(new JPanel()); + } + /** * 完成时 */ diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java index ad3db0348..4884f0f95 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java @@ -12,12 +12,15 @@ import com.fr.design.actions.UpdateAction; public class UpdateActionModel { private String parentName; private String actionName; + private String relatedKey; + private String searchKey; private UpdateAction action; public UpdateActionModel(String parentName, UpdateAction action) { this.parentName = parentName; this.action = action; this.actionName = action.getName(); + this.searchKey = action.getSearchText(); } /** @@ -55,4 +58,20 @@ public class UpdateActionModel { public void setActionName(String actionName) { this.actionName = actionName; } + + public String getRelatedKey() { + return relatedKey; + } + + public void setRelatedKey(String relatedKey) { + this.relatedKey = relatedKey; + } + + public String getSearchKey() { + return searchKey; + } + + public void setSearchKey(String searchKey) { + this.searchKey = searchKey; + } } diff --git a/designer_chart/src/com/fr/design/module/ChartPreStyleAction.java b/designer_chart/src/com/fr/design/module/ChartPreStyleAction.java index 36909565b..e93b271e2 100644 --- a/designer_chart/src/com/fr/design/module/ChartPreStyleAction.java +++ b/designer_chart/src/com/fr/design/module/ChartPreStyleAction.java @@ -9,6 +9,7 @@ import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; import com.fr.design.menu.MenuKeySet; +import com.fr.general.IOUtils; import com.fr.general.Inter; import javax.swing.*; @@ -25,7 +26,8 @@ public class ChartPreStyleAction extends UpdateAction { this.setMenuKeySet(CHART_DEFAULT_STYLE); this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/chart/ChartType.png")); + this.setSmallIcon(IOUtils.readIcon("com/fr/design/images/chart/ChartType.png")); + this.setSearchText(new ChartPreStyleManagerPane()); } /** From 28c21627b51c1451facabef6d4f0d2ff5e0cf3e6 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 11:26:32 +0800 Subject: [PATCH 05/76] =?UTF-8?q?alphafine=20bug=20fix=20=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/ReportEngineAttrAction.java | 11 +-- .../actions/report/ReportPageSetupAction.java | 9 +- .../actions/report/ReportWebAttrAction.java | 5 +- .../actions/report/ReportWriteAttrAction.java | 8 +- .../server/ServerConfigManagerAction.java | 5 +- .../EditReportServerParameterPane.java | 8 +- .../fr/design/webattr/ReportWebAttrPane.java | 11 ++- .../design/webattr/ReportWriteAttrPane.java | 2 +- .../com/fr/design/actions/UpdateAction.java | 90 +++++++++++++------ .../actions/server/ConnectionListAction.java | 6 +- .../design/gui/frpane/LoadingBasicPane.java | 25 +++--- 11 files changed, 105 insertions(+), 75 deletions(-) diff --git a/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java b/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java index bb5942bd4..894e25f36 100644 --- a/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java +++ b/designer/src/com/fr/design/actions/report/ReportEngineAttrAction.java @@ -1,13 +1,12 @@ package com.fr.design.actions.report; -import com.fr.base.BaseUtils; import com.fr.design.actions.ReportComponentAction; +import com.fr.design.dialog.BasicDialog; +import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.WorkSheetDesigner; import com.fr.design.menu.KeySetUtils; import com.fr.design.report.LayerReportPane; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.IOUtils; import com.fr.report.worksheet.WorkSheet; @@ -19,10 +18,8 @@ public class ReportEngineAttrAction extends ReportComponentAction Date: Sun, 4 Jun 2017 11:27:26 +0800 Subject: [PATCH 06/76] bug fix --- .../com/fr/design/mainframe/alphafine/AlphaFineHelper.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index d5901f8f4..a3c79f138 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -14,9 +14,7 @@ public class AlphaFineHelper { * 弹出alphafine搜索面板 */ public static void showAlphaFineDialog(boolean forceOpen) { - if (dialog == null) { - dialog = new AlphaFineDialog(DesignerContext.getDesignerFrame(), forceOpen); - } + dialog = new AlphaFineDialog(DesignerContext.getDesignerFrame(), forceOpen); dialog.setVisible(true); } From 59eea922d3fb884c5cc0aa27ecbf5367cf1b645f Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 16:54:28 +0800 Subject: [PATCH 07/76] bug fix --- .../fr/design/actions/insert/cell/DSColumnCellAction.java | 8 +++++--- .../mainframe/alphafine/component/AlphaFineDialog.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/designer/src/com/fr/design/actions/insert/cell/DSColumnCellAction.java b/designer/src/com/fr/design/actions/insert/cell/DSColumnCellAction.java index 632a8a2ee..90d0ccb8b 100644 --- a/designer/src/com/fr/design/actions/insert/cell/DSColumnCellAction.java +++ b/designer/src/com/fr/design/actions/insert/cell/DSColumnCellAction.java @@ -1,9 +1,10 @@ package com.fr.design.actions.insert.cell; -import com.fr.base.BaseUtils; import com.fr.design.actions.core.WorkBookSupportable; -import com.fr.design.menu.KeySetUtils; +import com.fr.design.dscolumn.DSColumnPane; import com.fr.design.mainframe.ElementCasePane; +import com.fr.design.menu.KeySetUtils; +import com.fr.general.IOUtils; import com.fr.report.cell.cellattr.core.group.DSColumn; public class DSColumnCellAction extends AbstractCellAction implements WorkBookSupportable { @@ -12,7 +13,8 @@ public class DSColumnCellAction extends AbstractCellAction implements WorkBookSu this.setMenuKeySet(KeySetUtils.INSERT_DATA_COLUMN); this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/bindColumn.png")); + this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_insert/bindColumn.png")); + this.setSearchText(new DSColumnPane()); } @Override diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 25bcef15f..dc47677c3 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -72,6 +72,7 @@ public class AlphaFineDialog extends UIDialog { public AlphaFineDialog(Frame parent, boolean foreOpen) { super(parent); + this.foreOpen = foreOpen; initProperties(); initListener(); initComponents(); From 7bcb2b0261a137cea7ca319bcf7c1c36525e56ca Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 23:22:54 +0800 Subject: [PATCH 08/76] bug fix --- .../alphafine/search/manager/ActionSearchManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 32b71eeb3..04b631652 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -39,7 +39,9 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { if (updateActionModel.getActionName() != null) { - if (updateActionModel.getActionName().toLowerCase().contains(searchText.toLowerCase()) || updateActionModel.getParentName().toLowerCase().contains(searchText.toLowerCase())) { + StringBuffer buffer = new StringBuffer(); + buffer.append(updateActionModel.getActionName()).append(updateActionModel.getParentName()).append(updateActionModel.getSearchKey()); + if (buffer.toString().toLowerCase().contains(searchText.toLowerCase()) ) { filterModelList.add(new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction())); } } @@ -53,7 +55,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { moreModelList.add(filterModelList.get(i)); } if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE) { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.ACTION)); + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION)); } else { lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION)); } From ee98544836648dc9823e425904162eeba9297476 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 23:23:37 +0800 Subject: [PATCH 09/76] bug fix --- .../src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index f80e20331..430314458 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -166,11 +166,10 @@ public abstract class ToolBarMenuDock { * @param menuDef */ private void addUpdateActionToList(MenuDef menuDef) { - - String ParentName = menuDef.getName(); if (menuDef instanceof OpenRecentReportMenuDef) { return; } + String ParentName = menuDef.getName(); for (ShortCut shortCut : menuDef.getShortcutList()) { if (shortCut instanceof UpdateAction) { shortCutsList.add(new UpdateActionModel(ParentName, (UpdateAction) shortCut)); From 4317084856e535ed0d8b9ec736f81c2a52246b4f Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 23:24:15 +0800 Subject: [PATCH 10/76] bug fix --- .../fr/design/mainframe/alphafine/cell/model/ActionModel.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java index 493c5ad10..fdc63feac 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java @@ -6,7 +6,6 @@ import com.fr.json.JSONException; import com.fr.json.JSONObject; import javax.swing.*; -import java.io.Serializable; /** * Created by XiaXiang on 2017/4/20. From 2cbd7359020010284585b08592c15bb39deb81ee Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 23:27:10 +0800 Subject: [PATCH 11/76] bug fix --- .../alphafine/component/AlphaFineDialog.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index dc47677c3..52a77574e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -68,11 +68,11 @@ public class AlphaFineDialog extends UIDialog { private SearchListModel searchListModel; private SwingWorker searchWorker; //是否强制打开,因为面板是否关闭绑定了全局鼠标事件,这里需要处理一下 - private boolean foreOpen; + private boolean forceOpen; - public AlphaFineDialog(Frame parent, boolean foreOpen) { + public AlphaFineDialog(Frame parent, boolean forceOpen) { super(parent); - this.foreOpen = foreOpen; + this.forceOpen = forceOpen; initProperties(); initListener(); initComponents(); @@ -488,9 +488,9 @@ public class AlphaFineDialog extends UIDialog { Point p = k.getLocationOnScreen(); Rectangle dialogRectangle = AlphaFineDialog.this.getBounds(); Rectangle paneRectangle = new Rectangle(AlphaFinePane.createAlphaFinePane().getLocationOnScreen(), AlphaFinePane.createAlphaFinePane().getSize()); - if (!dialogRectangle.contains(p) && !paneRectangle.contains(p) && !foreOpen) { + if (!dialogRectangle.contains(p) && !paneRectangle.contains(p) && !forceOpen) { AlphaFineDialog.this.dispose(); - foreOpen = false; + forceOpen = false; } } } @@ -670,11 +670,11 @@ public class AlphaFineDialog extends UIDialog { } - public boolean isForeOpen() { - return foreOpen; + public boolean isForceOpen() { + return forceOpen; } - public void setForeOpen(boolean foreOpen) { - this.foreOpen = foreOpen; + public void setForceOpen(boolean forceOpen) { + this.forceOpen = forceOpen; } } \ No newline at end of file From ec31aa0179b678afb64e09ea4a5e6116c0b64e35 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 4 Jun 2017 23:47:16 +0800 Subject: [PATCH 12/76] bug fix --- .../fr/design/actions/help/alphafine/AlphafineConfigManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java index eba6de79c..c119e09b9 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java @@ -95,6 +95,7 @@ public class AlphafineConfigManager implements XMLable { public void readXML(XMLableReader reader) { if (reader.isAttr()) { this.setEnabled(reader.getAttrAsBoolean("isEnabled", true)); + this.setSearchOnLine(reader.getAttrAsBoolean("isSearchOnline", true)); this.setContainPlugin(reader.getAttrAsBoolean("isContainDocument", true)); this.setContainDocument(reader.getAttrAsBoolean("isContainDocument", true)); this.setContainRecommend(reader.getAttrAsBoolean("isContainRecommend", true)); From 19ddad4e26159076568aa320f57e5ea061491764 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 09:41:36 +0800 Subject: [PATCH 13/76] bug fix --- .../mainframe/alphafine/component/AlphaFineDialog.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 52a77574e..71d46deb1 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -605,15 +605,20 @@ public class AlphaFineDialog extends UIDialog { } + /** + * 点击显示更多时,添加对应的model到list;点击收起是移除model + * @param index + * @param selectedValue + */ private void rebuildShowMoreList(int index, MoreModel selectedValue) { SearchResult moreResult = getMoreResult(selectedValue); if((selectedValue).getContent().equals(Inter.getLocText("FR-Designer_AlphaFine_ShowLess"))) { for (int i = 0; i < moreResult.size(); i++) { - this.searchListModel.insertElementAt(moreResult.get(i), index + AlphaFineConstants.SHOW_SIZE -1 + i); + this.searchListModel.insertElementAt(moreResult.get(i), index + AlphaFineConstants.SHOW_SIZE + 1 + i); } } else { for (int i = 0; i < moreResult.size(); i++) { - this.searchListModel.removeElementAt(index + AlphaFineConstants.SHOW_SIZE - 1); + this.searchListModel.removeElementAt(index + AlphaFineConstants.SHOW_SIZE + 1); } } From 160acaec730b3ae1fbda0f9146239b5255d808de Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 10:08:25 +0800 Subject: [PATCH 14/76] =?UTF-8?q?bug=20fix=20=E8=AE=BE=E7=BD=AE=E7=9A=84?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/component/AlphaFineDialog.java | 7 +++++++ .../search/manager/ActionSearchManager.java | 6 ++---- .../mainframe/toolbar/UpdateActionModel.java | 19 ++++++++++++++++++- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 71d46deb1..7eb3d1d7e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -231,6 +231,13 @@ public class AlphaFineDialog extends UIDialog { searchResultList.repaint(); validate(); repaint(); + /** + * 默认选中第1项,第0项为title + */ + if (searchResultList.getModel().getSize() > 0) { + searchResultList.setSelectedIndex(1); + } + } } catch (InterruptedException e) { FRLogger.getLogger().error(e.getMessage()); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 04b631652..232d14000 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -38,10 +38,8 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainAction()) { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { - if (updateActionModel.getActionName() != null) { - StringBuffer buffer = new StringBuffer(); - buffer.append(updateActionModel.getActionName()).append(updateActionModel.getParentName()).append(updateActionModel.getSearchKey()); - if (buffer.toString().toLowerCase().contains(searchText.toLowerCase()) ) { + if (updateActionModel.getActionName() != null && updateActionModel.getParentName() != null) { + if (updateActionModel.getSearchKey().toLowerCase().contains(searchText.toLowerCase()) ) { filterModelList.add(new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction())); } } diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java index 4884f0f95..fb1fdc1ee 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java @@ -1,6 +1,8 @@ package com.fr.design.mainframe.toolbar; import com.fr.design.actions.UpdateAction; +import com.fr.stable.pinyin.PinyinFormat; +import com.fr.stable.pinyin.PinyinHelper; /** * Created by XiaXiang on 2017/5/24. @@ -10,6 +12,7 @@ import com.fr.design.actions.UpdateAction; * action对象 */ public class UpdateActionModel { + private static final String SEPARATOR = "/"; private String parentName; private String actionName; private String relatedKey; @@ -20,7 +23,21 @@ public class UpdateActionModel { this.parentName = parentName; this.action = action; this.actionName = action.getName(); - this.searchKey = action.getSearchText(); + setSearchKey(parentName, action); + } + + /** + * 获取搜索关键字,包括上级菜单名,菜单名,以及对应打开面板的所有文字信息(使其能够支持模糊搜索) + * @param parentName + * @param action + */ + private void setSearchKey(String parentName, UpdateAction action) { + StringBuffer buffer = new StringBuffer(); + buffer.append(parentName).append(PinyinHelper.convertToPinyinString(parentName, SEPARATOR, PinyinFormat.WITHOUT_TONE)) + .append(PinyinHelper.getShortPinyin(parentName)) + .append(actionName).append(PinyinHelper.convertToPinyinString(actionName, SEPARATOR, PinyinFormat.WITHOUT_TONE)) + .append(PinyinHelper.getShortPinyin(actionName)).append(action.getSearchText()); + this.searchKey = buffer.toString(); } /** From 2bac4047dd822db44f5191628b769152326d4f70 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 10:21:06 +0800 Subject: [PATCH 15/76] bug fix --- .../src/com/fr/design/actions/help/AboutAction.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/designer_base/src/com/fr/design/actions/help/AboutAction.java b/designer_base/src/com/fr/design/actions/help/AboutAction.java index 0b7b77571..b8bcd4f2c 100644 --- a/designer_base/src/com/fr/design/actions/help/AboutAction.java +++ b/designer_base/src/com/fr/design/actions/help/AboutAction.java @@ -7,12 +7,8 @@ import com.fr.design.actions.UpdateAction; import com.fr.design.mainframe.DesignerContext; import com.fr.design.menu.MenuKeySet; import com.fr.general.Inter; -import com.fr.stable.StringUtils; -import org.eclipse.swt.internal.ole.win32.COM; -import javax.imageio.plugins.jpeg.JPEGHuffmanTable; import javax.swing.*; -import java.awt.*; import java.awt.event.ActionEvent; /** @@ -23,7 +19,6 @@ public class AboutAction extends UpdateAction { this.setMenuKeySet(ABOUT); this.setName(getMenuKeySet().getMenuKeySetName()+"..."); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSearchText(new AboutPane()); } /** From 6e5e18d88cebae03adcbb7e771814588220e4628 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 10:47:16 +0800 Subject: [PATCH 16/76] bug fix --- .../alphafine/component/AlphaFineDialog.java | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 7eb3d1d7e..e84e95601 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -78,6 +78,9 @@ public class AlphaFineDialog extends UIDialog { initComponents(); } + /** + * 初始化全部组件 + */ private void initComponents() { searchTextField = new AlphaFineTextField("AlphaFine"); searchTextField.setFont(AlphaFineConstants.GREATER_FONT); @@ -123,6 +126,9 @@ public class AlphaFineDialog extends UIDialog { }); } + /** + * + */ private void initProperties() { setUndecorated(true); addComponentListener(new ComponentHandler()); @@ -130,6 +136,10 @@ public class AlphaFineDialog extends UIDialog { centerWindow(this); } + /** + * 设置面板位置 + * @param win + */ private void centerWindow(Window win) { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); @@ -145,6 +155,10 @@ public class AlphaFineDialog extends UIDialog { win.setLocation((screenSize.width - winSize.width ) / 2, (screenSize.height - winSize.height) / AlphaFineConstants.SHOW_SIZE); } + /** + * 执行搜索,暂时字符要求超过两个才开始搜索 + * @param text + */ private void doSearch(String text) { if (text.length() < 2 || text.contains("'")) { return; @@ -157,6 +171,9 @@ public class AlphaFineDialog extends UIDialog { } + /** + * 移除搜索结果 + */ private void removeSearchResult() { if (searchResultPane != null) { remove(searchResultPane); @@ -179,7 +196,10 @@ public class AlphaFineDialog extends UIDialog { // } - + /** + * 展示搜索结果 + * @param searchText + */ private void showSearchResult(String searchText) { if (searchResultPane == null) { initSearchResultComponents(); @@ -188,6 +208,9 @@ public class AlphaFineDialog extends UIDialog { initSearchWorker(searchText); } + /** + * 初始化搜索面板 + */ private void initSearchResultComponents() { searchResultList = new JList(); searchResultPane = new JPanel(); @@ -209,6 +232,10 @@ public class AlphaFineDialog extends UIDialog { setSize(AlphaFineConstants.FULL_SIZE); } + /** + * 异步加载搜索结构 + * @param searchText + */ private void initSearchWorker(final String searchText) { searchResultList.setModel(new SearchListModel(AlphaSearchManager.getSearchManager().showDefaultSearchResult())); if (this.searchWorker != null && !this.searchWorker.isDone()) { @@ -251,7 +278,14 @@ public class AlphaFineDialog extends UIDialog { this.searchWorker.execute(); } + /** + * 初始化监听器 + * @param searchText + */ private void initListListener(final String searchText) { + /** + * 鼠标监听器 + */ searchResultList.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { @@ -270,7 +304,9 @@ public class AlphaFineDialog extends UIDialog { } }); - // TODO: 2017/5/8 xiaxiang: e.getClickCount() == 1 时,偶发性的不能触发,所以先放到valueChanged + /** + *单击时触发右侧面板动作 + */ searchResultList.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { @@ -281,6 +317,9 @@ public class AlphaFineDialog extends UIDialog { } }); + /** + * 键盘监听器 + */ searchResultList.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { From 65f4d551afd591033a406856b1827915e8b3b7bf Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 11:30:23 +0800 Subject: [PATCH 17/76] bug fix --- .../mainframe/alphafine/component/AlphaFineDialog.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index e84e95601..9dfba7af6 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -305,7 +305,7 @@ public class AlphaFineDialog extends UIDialog { }); /** - *单击时触发右侧面板动作 + *单击时触发右侧面板展示搜索结果 */ searchResultList.addListSelectionListener(new ListSelectionListener() { @Override @@ -482,6 +482,9 @@ public class AlphaFineDialog extends UIDialog { } + /** + * 窗口拖拽 + */ private void initMouseListener() { addMouseMotionListener(new MouseMotionAdapter() { @Override From ce9ed87d3e14a8710f22c079165d74906339d197 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 11:45:28 +0800 Subject: [PATCH 18/76] bug fix --- .../search/manager/ActionSearchManager.java | 3 ++- .../design/mainframe/toolbar/UpdateActionModel.java | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 232d14000..53fe4438a 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -11,6 +11,7 @@ import com.fr.design.mainframe.toolbar.UpdateActionManager; import com.fr.design.mainframe.toolbar.UpdateActionModel; import com.fr.general.FRLogger; import com.fr.general.Inter; +import com.fr.stable.StringUtils; import java.util.List; @@ -38,7 +39,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainAction()) { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { - if (updateActionModel.getActionName() != null && updateActionModel.getParentName() != null) { + if (StringUtils.isNotBlank(updateActionModel.getSearchKey())) { if (updateActionModel.getSearchKey().toLowerCase().contains(searchText.toLowerCase()) ) { filterModelList.add(new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction())); } diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java index fb1fdc1ee..9c701840f 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe.toolbar; import com.fr.design.actions.UpdateAction; +import com.fr.stable.StringUtils; import com.fr.stable.pinyin.PinyinFormat; import com.fr.stable.pinyin.PinyinHelper; @@ -33,10 +34,13 @@ public class UpdateActionModel { */ private void setSearchKey(String parentName, UpdateAction action) { StringBuffer buffer = new StringBuffer(); - buffer.append(parentName).append(PinyinHelper.convertToPinyinString(parentName, SEPARATOR, PinyinFormat.WITHOUT_TONE)) - .append(PinyinHelper.getShortPinyin(parentName)) - .append(actionName).append(PinyinHelper.convertToPinyinString(actionName, SEPARATOR, PinyinFormat.WITHOUT_TONE)) - .append(PinyinHelper.getShortPinyin(actionName)).append(action.getSearchText()); + if (actionName == null) { + return; + } + buffer.append(parentName).append(SEPARATOR).append(PinyinHelper.convertToPinyinString(parentName, "", PinyinFormat.WITHOUT_TONE)) + .append(SEPARATOR).append(PinyinHelper.getShortPinyin(parentName)).append(SEPARATOR) + .append(actionName).append(SEPARATOR).append(PinyinHelper.convertToPinyinString(actionName, "", PinyinFormat.WITHOUT_TONE)) + .append(SEPARATOR).append(PinyinHelper.getShortPinyin(actionName)).append(action.getSearchText()); this.searchKey = buffer.toString(); } From a7456326cb359fd06354e81ae231a39be6cf02e8 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 12:59:59 +0800 Subject: [PATCH 19/76] bug fix --- .../alphafine/cell/model/ActionModel.java | 15 +-- .../search/manager/ActionSearchManager.java | 22 ++-- .../search/manager/RecentSearchManager.java | 102 +++++++++++------- .../mainframe/toolbar/UpdateActionModel.java | 19 ++-- 4 files changed, 86 insertions(+), 72 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java index fdc63feac..12b19fe12 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java @@ -13,7 +13,7 @@ import javax.swing.*; public class ActionModel extends AlphaCellModel { private Action action; - private String actionName; + private String className; public ActionModel(String name, String content, CellType type) { super(name, content, type); @@ -43,11 +43,6 @@ public class ActionModel extends AlphaCellModel { this.setDescription(description); } - public ActionModel(String name, Action action) { - super(name, null, CellType.ACTION); - this.action = action; - } - public Action getAction() { return action; } @@ -69,14 +64,14 @@ public class ActionModel extends AlphaCellModel { @Override public String getStoreInformation() { - return getActionName(); + return getClassName(); } - public String getActionName() { + public String getClassName() { return getAction().getClass().getName(); } - public void setActionName(String actionName) { - this.actionName = actionName; + public void setClassName(String className) { + this.className = className; } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 53fe4438a..59182594f 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -9,6 +9,7 @@ import com.fr.design.mainframe.alphafine.cell.model.ActionModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.design.mainframe.toolbar.UpdateActionManager; import com.fr.design.mainframe.toolbar.UpdateActionModel; +import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.stable.StringUtils; @@ -71,24 +72,17 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { } /** - * 根据类名反射获取对象 + * 根据类名获取对象 * @param actionName * @return */ public static ActionModel getModelFromCloud(String actionName ) { - UpdateAction action = null; - String name = null; - try { - Class className = Class.forName(actionName); - action = (UpdateAction) className.newInstance(); - name = action.getName(); - } catch (ClassNotFoundException e) { - FRLogger.getLogger().error(e.getMessage()); - } catch (IllegalAccessException e) { - FRLogger.getLogger().error(e.getMessage()); - } catch (InstantiationException e) { - FRLogger.getLogger().error(e.getMessage()); + List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); + for (UpdateActionModel updateActionModel : updateActions) { + if (ComparatorUtils.equals(actionName, updateActionModel.getClassName())) { + return new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction()); + } } - return new ActionModel(name, action); + return null; } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 8742c09ba..e755a1477 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -3,9 +3,9 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.base.FRContext; import com.fr.base.Utils; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.CellModelHelper; -import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; -import com.fr.design.mainframe.alphafine.cell.model.MoreModel; +import com.fr.design.mainframe.alphafine.cell.model.*; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.file.XMLFileManager; import com.fr.general.ComparatorUtils; @@ -38,11 +38,11 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear private static final int MAX_SIZE = 3; private static RecentSearchManager recentSearchManager = null; private static File recentFile = null; - private List fileList; - private List actionList; - private List documentList; private SearchResult modelList; - private List pluginList; + private List fileList = new ArrayList<>(); + private List actionList = new ArrayList<>(); + private List documentList = new ArrayList<>(); + private List pluginList = new ArrayList<>(); private List recentModelList = new ArrayList<>(); private Map> recentKVModelMap = new HashMap<>(); @@ -95,17 +95,73 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear } } + private void addModelToList(List list, String name) { try { - AlphaCellModel model = CellModelHelper.getModelFromJson(new JSONObject(name)); + AlphaCellModel model = getModelFromJson(new JSONObject(name)); if (model != null) { - list.add(CellModelHelper.getModelFromJson(new JSONObject(name))); + list.add(model); } } catch (JSONException e) { FRLogger.getLogger().error(e.getMessage()); } } + /** + * 转成cellModel + * @param object + * @return + */ + private AlphaCellModel getModelFromJson(JSONObject object) { + int typeValue = object.optInt("cellType"); + AlphaCellModel cellModel = null; + switch (CellType.parse(typeValue)) { + case ACTION: + cellModel = ActionSearchManager.getModelFromCloud(object.optString("result")); + if (cellModel != null) { + actionList.add(cellModel); + } + break; + case DOCUMENT: + cellModel = DocumentSearchManager.getModelFromCloud(object.optJSONObject("result")); + if (cellModel != null) { + documentList.add(cellModel); + } + break; + case FILE: + cellModel = FileSearchManager.getModelFromCloud(object.optString("result")); + if (cellModel != null) { + fileList.add(cellModel); + } + break; + case PLUGIN: + case REUSE: + cellModel = PluginSearchManager.getModelFromCloud(object.optJSONObject("result")); + if (cellModel != null) { + pluginList.add(cellModel); + } + break; + + } + return cellModel; + } + + public List getFileList() { + return fileList; + } + + public List getActionList() { + return actionList; + } + + public List getDocumentList() { + return documentList; + } + + public List getPluginList() { + return pluginList; + } + @Override public void writeXML(XMLPrintWriter writer) { writer.startTAG(XML_TAG); @@ -135,37 +191,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear return "alphafine_recent.xml"; } - public List getFileList() { - return fileList; - } - public void setFileList(List fileList) { - this.fileList = fileList; - } - - public List getActionList() { - return actionList; - } - - public void setActionList(List actionList) { - this.actionList = actionList; - } - - public List getDocumentList() { - return documentList; - } - - public void setDocumentList(List documentList) { - this.documentList = documentList; - } - - public List getPluginList() { - return pluginList; - } - - public void setPluginList(List pluginList) { - this.pluginList = pluginList; - } /** * 获取xml diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java index 9c701840f..4ded05f71 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java @@ -1,7 +1,6 @@ package com.fr.design.mainframe.toolbar; import com.fr.design.actions.UpdateAction; -import com.fr.stable.StringUtils; import com.fr.stable.pinyin.PinyinFormat; import com.fr.stable.pinyin.PinyinHelper; @@ -16,7 +15,7 @@ public class UpdateActionModel { private static final String SEPARATOR = "/"; private String parentName; private String actionName; - private String relatedKey; + private String className; private String searchKey; private UpdateAction action; @@ -80,14 +79,6 @@ public class UpdateActionModel { this.actionName = actionName; } - public String getRelatedKey() { - return relatedKey; - } - - public void setRelatedKey(String relatedKey) { - this.relatedKey = relatedKey; - } - public String getSearchKey() { return searchKey; } @@ -95,4 +86,12 @@ public class UpdateActionModel { public void setSearchKey(String searchKey) { this.searchKey = searchKey; } + + public String getClassName() { + return getAction().getClass().getName(); + } + + public void setClassName(String className) { + this.className = className; + } } From bddc2fff5741a6578152a94822ea081ecbb375b9 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 13:37:41 +0800 Subject: [PATCH 20/76] bug fix --- .../alphafine/search/manager/RecommendSearchManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index d1213822b..94f718be2 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -47,7 +47,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { if (jsonArray != null && jsonArray.length() > 0) { for (int i = 0; i < jsonArray.length(); i++) { AlphaCellModel alphaCellModel = CellModelHelper.getModelFromJson((JSONObject) jsonArray.get(i)); - if (!RecentSearchManager.getRecentSearchManger().getRecentModelList().contains(alphaCellModel)) { + if (alphaCellModel != null && !RecentSearchManager.getRecentSearchManger().getRecentModelList().contains(alphaCellModel)) { this.modelList.add(alphaCellModel); } } From d6717b9a71afd37db49e4b145cf1bbaec347901a Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 13:43:36 +0800 Subject: [PATCH 21/76] bug fix --- .../src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 430314458..6a3079f9d 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -169,10 +169,10 @@ public abstract class ToolBarMenuDock { if (menuDef instanceof OpenRecentReportMenuDef) { return; } - String ParentName = menuDef.getName(); + String parentName = menuDef.getName(); for (ShortCut shortCut : menuDef.getShortcutList()) { if (shortCut instanceof UpdateAction) { - shortCutsList.add(new UpdateActionModel(ParentName, (UpdateAction) shortCut)); + shortCutsList.add(new UpdateActionModel(parentName, (UpdateAction) shortCut)); } else if (shortCut instanceof MenuDef) { addUpdateActionToList((MenuDef) shortCut); } From 1d7d09eee657d4e08dc9e0782092a90832da8914 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 13:45:31 +0800 Subject: [PATCH 22/76] bug fix --- .../src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index a3c79f138..3507978d2 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -8,13 +8,12 @@ import com.fr.stable.StringUtils; * Created by XiaXiang on 2017/5/8. */ public class AlphaFineHelper { - private static AlphaFineDialog dialog; /** * 弹出alphafine搜索面板 */ public static void showAlphaFineDialog(boolean forceOpen) { - dialog = new AlphaFineDialog(DesignerContext.getDesignerFrame(), forceOpen); + AlphaFineDialog dialog = new AlphaFineDialog(DesignerContext.getDesignerFrame(), forceOpen); dialog.setVisible(true); } From d705d50fa21418af0872eed06a6e3dde7cc3b11c Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 13:48:02 +0800 Subject: [PATCH 23/76] bug fix --- .../alphafine/search/manager/ActionSearchManager.java | 4 +--- .../alphafine/search/manager/RecentSearchManager.java | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 59182594f..b174e0b73 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -1,16 +1,14 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.UpdateAction; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.CellType; -import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.cell.model.ActionModel; +import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.design.mainframe.toolbar.UpdateActionManager; import com.fr.design.mainframe.toolbar.UpdateActionModel; import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.stable.StringUtils; diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index e755a1477..535d6b1a6 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -4,8 +4,8 @@ import com.fr.base.FRContext; import com.fr.base.Utils; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.CellType; -import com.fr.design.mainframe.alphafine.cell.CellModelHelper; -import com.fr.design.mainframe.alphafine.cell.model.*; +import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; +import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.file.XMLFileManager; import com.fr.general.ComparatorUtils; From 1ab9909905abf7ead5f1096d724455cac77c53a1 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 14:26:41 +0800 Subject: [PATCH 24/76] bug fix --- .../alphafine/cell/render/ContentCellRender.java | 6 ++++-- .../design/mainframe/toolbar/ToolBarMenuDock.java | 13 +++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java b/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java index ba2371421..e358df8c1 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java @@ -4,6 +4,7 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; +import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; @@ -38,8 +39,9 @@ public class ContentCellRender implements ListCellRenderer { name.setForeground(AlphaFineConstants.BLACK); name.setVerticalTextPosition(SwingConstants.CENTER); name.setHorizontalTextPosition(SwingConstants.RIGHT); - if (model.getDescription() != null) { - content.setText("-" + model.getDescription()); + String description = model.getDescription(); + if (StringUtils.isNotBlank(description)) { + content.setText("-" + description); content.setForeground(AlphaFineConstants.LIGHT_GRAY); panel.add(content, BorderLayout.CENTER); } diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 6a3079f9d..9c9a35631 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -34,6 +34,7 @@ import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; import com.fr.stable.ProductConstants; +import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; @@ -157,7 +158,7 @@ public abstract class ToolBarMenuDock { private void addAllUpdateActionsToList(List menuList) { shortCutsList = new ArrayList<>(); for (MenuDef menuDef : menuList) { - addUpdateActionToList(menuDef); + addUpdateActionToList(menuDef, 0); } } @@ -165,16 +166,20 @@ public abstract class ToolBarMenuDock { * 递归获取所有UpdateAction * @param menuDef */ - private void addUpdateActionToList(MenuDef menuDef) { + private void addUpdateActionToList(MenuDef menuDef, int level) { if (menuDef instanceof OpenRecentReportMenuDef) { return; } - String parentName = menuDef.getName(); + String parentName = StringUtils.EMPTY; + if (level > 0) { + parentName = menuDef.getName(); + } + level++; for (ShortCut shortCut : menuDef.getShortcutList()) { if (shortCut instanceof UpdateAction) { shortCutsList.add(new UpdateActionModel(parentName, (UpdateAction) shortCut)); } else if (shortCut instanceof MenuDef) { - addUpdateActionToList((MenuDef) shortCut); + addUpdateActionToList((MenuDef) shortCut, level); } } } From aa8fc97a5fa702bca04ae0e0435f2580a9c4e790 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 14:33:55 +0800 Subject: [PATCH 25/76] bug fix --- .../fr/design/actions/report/ReportExportAttrAction.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/actions/report/ReportExportAttrAction.java b/designer/src/com/fr/design/actions/report/ReportExportAttrAction.java index fd08d511d..033725f64 100644 --- a/designer/src/com/fr/design/actions/report/ReportExportAttrAction.java +++ b/designer/src/com/fr/design/actions/report/ReportExportAttrAction.java @@ -1,17 +1,15 @@ package com.fr.design.actions.report; -import java.awt.event.ActionEvent; - -import com.fr.base.BaseUtils; import com.fr.design.actions.JWorkBookAction; +import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JWorkBook; import com.fr.design.menu.KeySetUtils; import com.fr.design.report.ReportExportAttrPane; -import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.IOUtils; import com.fr.main.TemplateWorkBook; -import com.fr.plugin.chart.designer.other.HyperlinkMapFactory; + +import java.awt.event.ActionEvent; public class ReportExportAttrAction extends JWorkBookAction { From 68c23280ec9c013eb753bb158d59d6837dd4221e Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 5 Jun 2017 19:31:23 +0800 Subject: [PATCH 26/76] bug fix --- .../mainframe/alphafine/component/AlphaFineDialog.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 9dfba7af6..15d613304 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -156,15 +156,15 @@ public class AlphaFineDialog extends UIDialog { } /** - * 执行搜索,暂时字符要求超过两个才开始搜索 + * 执行搜索 * @param text */ private void doSearch(String text) { - if (text.length() < 2 || text.contains("'")) { - return; - } + if (StringUtils.isBlank(text) || text.equals("AlphaFine")) { removeSearchResult(); + } else if (text.contains("'")) { + return; } else { showSearchResult(text); } From ff84369039240851e4f1f6fb3ba7f2ab585de2e1 Mon Sep 17 00:00:00 2001 From: hzzz Date: Tue, 6 Jun 2017 09:53:08 +0800 Subject: [PATCH 27/76] =?UTF-8?q?REPORT-2773=20mac=E4=B8=AD=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E5=BF=AB=E6=8D=B7=E9=94=AE=E7=9A=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/report/UnitFieldPane.java | 3 +++ .../common/inputevent/InputEventBaseOnOS.java | 23 ++++++++++++++++ .../com/fr/design/gui/frpane/UITextPane.java | 3 +++ .../fr/design/gui/itextarea/UITextArea.java | 24 +++-------------- .../design/gui/itextfield/UINumberField.java | 16 +++++------ .../fr/design/gui/itextfield/UITextField.java | 27 +++++-------------- 6 files changed, 46 insertions(+), 50 deletions(-) diff --git a/designer/src/com/fr/design/report/UnitFieldPane.java b/designer/src/com/fr/design/report/UnitFieldPane.java index b091738d0..6e5717031 100644 --- a/designer/src/com/fr/design/report/UnitFieldPane.java +++ b/designer/src/com/fr/design/report/UnitFieldPane.java @@ -6,6 +6,8 @@ package com.fr.design.report; import java.awt.Dimension; import javax.swing.JFormattedTextField; + +import com.fr.common.inputevent.InputEventBaseOnOS; import com.fr.design.gui.ilable.UILabel; import javax.swing.JPanel; import javax.swing.JSpinner; @@ -67,6 +69,7 @@ public class UnitFieldPane extends JPanel { valueSpinner = new UIBasicSpinner(new SpinnerNumberModel(0.0, 0.0, Double.MAX_VALUE, 1.0)); textField = ((JSpinner.DefaultEditor) valueSpinner.getEditor()).getTextField(); textField.setColumns(4); + InputEventBaseOnOS.addBasicEditInputMap(textField); this.add(valueSpinner); unitLable = new UnitLabel(unitType, valueSpinner.getPreferredSize().height); this.add(unitLable); diff --git a/designer_base/src/com/fr/common/inputevent/InputEventBaseOnOS.java b/designer_base/src/com/fr/common/inputevent/InputEventBaseOnOS.java index 29b6b9ce3..c0e195ced 100644 --- a/designer_base/src/com/fr/common/inputevent/InputEventBaseOnOS.java +++ b/designer_base/src/com/fr/common/inputevent/InputEventBaseOnOS.java @@ -2,9 +2,13 @@ package com.fr.common.inputevent; import com.fr.stable.OperatingSystem; +import javax.swing.*; +import javax.swing.text.DefaultEditorKit; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; +import static com.fr.design.gui.syntax.ui.rtextarea.RTADefaultInputMap.DEFAULT_MODIFIER; + /** * Created by hzzz on 2017/5/26. */ @@ -18,4 +22,23 @@ public class InputEventBaseOnOS { public static boolean isControlDown(KeyEvent e) { return IS_MACOS ? e.isMetaDown() : e.isControlDown(); } + + public static void addBasicEditInputMap(JComponent jComponent) { + InputMap inputMap = jComponent.getInputMap(); + while (inputMap.getParent() != null) { + inputMap = inputMap.getParent(); + } + if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_A, DEFAULT_MODIFIER)) == null) { + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_A, DEFAULT_MODIFIER), DefaultEditorKit.selectAllAction); + } + if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER)) == null) { + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER), DefaultEditorKit.copyAction); + } + if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER)) == null) { + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER), DefaultEditorKit.pasteAction); + } + if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER)) == null) { + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER), DefaultEditorKit.cutAction); + } + } } diff --git a/designer_base/src/com/fr/design/gui/frpane/UITextPane.java b/designer_base/src/com/fr/design/gui/frpane/UITextPane.java index ab7fed53a..16a35ce2f 100644 --- a/designer_base/src/com/fr/design/gui/frpane/UITextPane.java +++ b/designer_base/src/com/fr/design/gui/frpane/UITextPane.java @@ -1,5 +1,6 @@ package com.fr.design.gui.frpane; +import com.fr.common.inputevent.InputEventBaseOnOS; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; @@ -22,11 +23,13 @@ public class UITextPane extends JTextPane implements UIObserver { public UITextPane() { super(); + InputEventBaseOnOS.addBasicEditInputMap(this); iniListener(); } public UITextPane(StyledDocument doc) { super(doc); + InputEventBaseOnOS.addBasicEditInputMap(this); iniListener(); } diff --git a/designer_base/src/com/fr/design/gui/itextarea/UITextArea.java b/designer_base/src/com/fr/design/gui/itextarea/UITextArea.java index 6e04eacb8..534be62ee 100644 --- a/designer_base/src/com/fr/design/gui/itextarea/UITextArea.java +++ b/designer_base/src/com/fr/design/gui/itextarea/UITextArea.java @@ -1,5 +1,6 @@ package com.fr.design.gui.itextarea; +import com.fr.common.inputevent.InputEventBaseOnOS; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import com.fr.design.utils.gui.GUICoreUtils; @@ -7,33 +8,14 @@ import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; -import javax.swing.text.DefaultEditorKit; import java.awt.*; -import java.awt.event.KeyEvent; - -import static com.fr.design.gui.syntax.ui.rtextarea.RTADefaultInputMap.DEFAULT_MODIFIER; public class UITextArea extends JTextArea implements UIObserver { private UIObserverListener uiObserverListener; public UITextArea(int i, int j) { super(i, j); - InputMap inputMap = this.getInputMap(); - while (inputMap.getParent() != null) { - inputMap = inputMap.getParent(); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_A, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_A, DEFAULT_MODIFIER), DefaultEditorKit.selectAllAction); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER), DefaultEditorKit.copyAction); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER), DefaultEditorKit.pasteAction); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER), DefaultEditorKit.cutAction); - } + InputEventBaseOnOS.addBasicEditInputMap(this); initComponents(); } @@ -44,11 +26,13 @@ public class UITextArea extends JTextArea implements UIObserver { public UITextArea() { super(); + InputEventBaseOnOS.addBasicEditInputMap(this); initComponents(); } public UITextArea(String s) { super(s); + InputEventBaseOnOS.addBasicEditInputMap(this); initComponents(); } diff --git a/designer_base/src/com/fr/design/gui/itextfield/UINumberField.java b/designer_base/src/com/fr/design/gui/itextfield/UINumberField.java index eb24fab9b..439e98d56 100644 --- a/designer_base/src/com/fr/design/gui/itextfield/UINumberField.java +++ b/designer_base/src/com/fr/design/gui/itextfield/UINumberField.java @@ -1,20 +1,17 @@ package com.fr.design.gui.itextfield; -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.Toolkit; - -import javax.swing.JFrame; -import javax.swing.text.AttributeSet; -import javax.swing.text.BadLocationException; -import javax.swing.text.PlainDocument; - import com.fr.base.Utils; import com.fr.design.gui.ilable.UILabel; import com.fr.general.ComparatorUtils; import com.fr.stable.CoreConstants; import com.fr.stable.StringUtils; +import javax.swing.*; +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.PlainDocument; +import java.awt.*; + /** * Number Field. */ @@ -54,7 +51,6 @@ public class UINumberField extends UITextField { this.maxDecimalLength = maxDecimalLength; this.minValue = minValue; this.maxValue = maxValue; - setFieldDocument(); } diff --git a/designer_base/src/com/fr/design/gui/itextfield/UITextField.java b/designer_base/src/com/fr/design/gui/itextfield/UITextField.java index 4f15b1f81..7df91335c 100644 --- a/designer_base/src/com/fr/design/gui/itextfield/UITextField.java +++ b/designer_base/src/com/fr/design/gui/itextfield/UITextField.java @@ -1,5 +1,6 @@ package com.fr.design.gui.itextfield; +import com.fr.common.inputevent.InputEventBaseOnOS; import com.fr.design.event.GlobalNameListener; import com.fr.design.event.GlobalNameObserver; import com.fr.design.event.UIObserver; @@ -10,12 +11,8 @@ import com.fr.stable.Constants; import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; -import javax.swing.text.DefaultEditorKit; import javax.swing.text.Document; import java.awt.*; -import java.awt.event.KeyEvent; - -import static com.fr.design.gui.syntax.ui.rtextarea.RTADefaultInputMap.DEFAULT_MODIFIER; /** * @author Jerry @@ -31,42 +28,32 @@ public class UITextField extends JTextField implements UIObserver, GlobalNameObs public UITextField() { super(); - InputMap inputMap = this.getInputMap(); - while (inputMap.getParent() != null) { - inputMap = inputMap.getParent(); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_A, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_A, DEFAULT_MODIFIER), DefaultEditorKit.selectAllAction); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER), DefaultEditorKit.copyAction); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER), DefaultEditorKit.pasteAction); - } - if (inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER)) == null) { - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER), DefaultEditorKit.cutAction); - } + InputEventBaseOnOS.addBasicEditInputMap(this); initListener(); } public UITextField(int columns) { super(columns); + InputEventBaseOnOS.addBasicEditInputMap(this); initListener(); } public UITextField(String text, int columns) { super(text, columns); + InputEventBaseOnOS.addBasicEditInputMap(this); initListener(); } public UITextField(String text) { super(text); + InputEventBaseOnOS.addBasicEditInputMap(this); + initListener(); } public UITextField(Document doc, String text, int columns) { super(doc, text, columns); + InputEventBaseOnOS.addBasicEditInputMap(this); initListener(); } From 79b0c94c75ccd777da8ab05060d5c7c8d8099582 Mon Sep 17 00:00:00 2001 From: hzzz Date: Tue, 6 Jun 2017 11:01:32 +0800 Subject: [PATCH 28/76] PMD --- .../src/com/fr/design/report/UnitFieldPane.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/designer/src/com/fr/design/report/UnitFieldPane.java b/designer/src/com/fr/design/report/UnitFieldPane.java index 6e5717031..e74155a93 100644 --- a/designer/src/com/fr/design/report/UnitFieldPane.java +++ b/designer/src/com/fr/design/report/UnitFieldPane.java @@ -43,13 +43,13 @@ public class UnitFieldPane extends JPanel { } public void setUnitType(int unitType) { - if (unitType == Constants.UNIT_CM) { - this.setText(Inter.getLocText("Unit_CM")); - } else if (unitType == Constants.UNIT_INCH) { - this.setText(Inter.getLocText("PageSetup-inches")); - } else { - this.setText(Inter.getLocText("PageSetup-mm")); - } + if (unitType == Constants.UNIT_CM) { + this.setText(Inter.getLocText("FR-Designer_Unit_CM")); + } else if (unitType == Constants.UNIT_INCH) { + this.setText(Inter.getLocText("FR-Designer_Unit_INCH")); + } else { + this.setText(Inter.getLocText("FR-Designer_Unit_MM-mm")); + } //ajust the heigt of unitLabel. Dimension unitDimension = new Dimension(this.getPreferredSize().width, From d85e904dff7372b76ae1f2220de533b15afc9e2b Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 6 Jun 2017 15:29:08 +0800 Subject: [PATCH 29/76] =?UTF-8?q?REPORT-2561=20=E5=A4=A7=E5=B1=8F-?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E6=97=B6=E9=92=9F=E6=8F=92=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E8=A1=A8=E5=B7=A6=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/designer/properties/WidgetPropertyTable.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java index f69771a54..b57e050b6 100644 --- a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java +++ b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java @@ -26,6 +26,7 @@ import com.fr.general.ComparatorUtils; public class WidgetPropertyTable extends AbstractPropertyTable { private FormDesigner designer; + private static final int LEFT_COLUMN_WIDTH = 97; // "属性名"列的宽度 public WidgetPropertyTable(FormDesigner designer) { super(); @@ -86,7 +87,9 @@ public class WidgetPropertyTable extends AbstractPropertyTable { setModel(model); this.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); TableColumn tc = this.getColumn(this.getColumnName(0)); - tc.setPreferredWidth(30); + tc.setPreferredWidth(LEFT_COLUMN_WIDTH); + tc.setMinWidth(LEFT_COLUMN_WIDTH); + tc.setMaxWidth(LEFT_COLUMN_WIDTH); this.repaint(); } From 3629b13723aec662dbc8df31a64fbbf91997bd4a Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 6 Jun 2017 18:43:07 +0800 Subject: [PATCH 30/76] bug fix alphafine --- .../fr/design/mainframe/alphafine/model/SearchListModel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java b/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java index 4369633e6..f030f2240 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java @@ -36,4 +36,9 @@ public class SearchListModel extends DefaultListModel { public int getSize() { return this.myDelegate.size(); } + + @Override + public void removeAllElements() { + this.myDelegate.clear(); + } } From d5e54e07f93b03497c8a2357fe76edb1403b09ee Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 6 Jun 2017 21:00:17 +0800 Subject: [PATCH 31/76] bug fix --- .../mainframe/alphafine/model/SearchListModel.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java b/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java index f030f2240..2f3dd48c0 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java @@ -14,7 +14,9 @@ public class SearchListModel extends DefaultListModel { @Override public void addElement(Object element) { + int index = myDelegate.size(); myDelegate.add(element); + fireContentsChanged(this, index, index); } @Override @@ -23,13 +25,17 @@ public class SearchListModel extends DefaultListModel { } @Override - public void insertElementAt(Object element, int index) { - this.myDelegate.add(index, element); + public void add(int index, Object element) { + myDelegate.add(index, element); + fireIntervalAdded(this, index, index); } @Override - public void removeElementAt(int index) { - this.myDelegate.remove(index); + public Object remove(int index) { + Object object = myDelegate.get(index); + myDelegate.remove(object); + fireIntervalRemoved(this, index, index); + return object; } @Override From db79a6a67248afd3e4b84fa7f68bbb743e0d8e6e Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 13:06:47 +0800 Subject: [PATCH 32/76] alphafine bug fix --- .../alphafine/AlphaFineConstants.java | 2 + .../mainframe/alphafine/AlphaFineHelper.java | 6 + .../design/mainframe/alphafine/CellType.java | 2 +- .../alphafine/cell/model/NoResultModel.java | 24 +++ .../cell/render/ContentCellRender.java | 10 +- .../alphafine/component/AlphaFineDialog.java | 166 +++++++++++++----- .../search/manager/ActionSearchManager.java | 30 ++-- .../search/manager/DocumentSearchManager.java | 42 ++++- .../search/manager/FileSearchManager.java | 42 +++-- .../search/manager/PluginSearchManager.java | 40 ++++- .../manager/RecommendSearchManager.java | 10 +- .../com/fr/design/locale/designer.properties | 4 +- .../design/locale/designer_en_US.properties | 4 +- .../design/locale/designer_zh_CN.properties | 4 +- .../design/locale/designer_zh_TW.properties | 4 +- 15 files changed, 296 insertions(+), 94 deletions(-) create mode 100644 designer/src/com/fr/design/mainframe/alphafine/cell/model/NoResultModel.java diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java index b258cd727..5d91ef5cc 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java @@ -47,6 +47,8 @@ public class AlphaFineConstants { public static final Color LIGHT_GRAY = new Color(0xcccccc); + public static final Color MEDIUM_GRAY = new Color(0x999999); + public static final Color BLUE = new Color(0x3394f0); public static final Color BLACK = new Color(0x222222); diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 3507978d2..993a7cc03 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -1,13 +1,18 @@ package com.fr.design.mainframe.alphafine; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.component.AlphaFineDialog; +import com.fr.design.mainframe.alphafine.model.SearchResult; +import com.fr.general.Inter; import com.fr.stable.StringUtils; /** * Created by XiaXiang on 2017/5/8. */ public class AlphaFineHelper { + public static final NoResultModel noResultModel = new NoResultModel(Inter.getLocText("FR-Designere_AlphaFine_NoResult")); + public static final NoResultModel noConnectionModel = new NoResultModel(Inter.getLocText("FR-Designer_ConnectionFailed")); /** * 弹出alphafine搜索面板 @@ -17,6 +22,7 @@ public class AlphaFineHelper { dialog.setVisible(true); } + /** * 获取文件名上级目录 * @param text diff --git a/designer/src/com/fr/design/mainframe/alphafine/CellType.java b/designer/src/com/fr/design/mainframe/alphafine/CellType.java index 96b7db609..d196a0138 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/CellType.java +++ b/designer/src/com/fr/design/mainframe/alphafine/CellType.java @@ -4,7 +4,7 @@ package com.fr.design.mainframe.alphafine; * Created by XiaXiang on 2017/4/27. */ public enum CellType { - RECOMMEND(0), ACTION(1), DOCUMENT(2), FILE(3), PLUGIN(4), REUSE(5); + RECOMMEND(0), ACTION(1), DOCUMENT(2), FILE(3), PLUGIN(4), REUSE(5), NO_RESULT(6); private int typeValue; diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/NoResultModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/NoResultModel.java new file mode 100644 index 000000000..1dbdb450b --- /dev/null +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/NoResultModel.java @@ -0,0 +1,24 @@ +package com.fr.design.mainframe.alphafine.cell.model; + +import com.fr.design.mainframe.alphafine.CellType; +import com.fr.json.JSONException; +import com.fr.json.JSONObject; + +/** + * Created by XiaXiang on 2017/6/8. + */ +public class NoResultModel extends AlphaCellModel { + public NoResultModel(String name) { + super(name, null, CellType.NO_RESULT); + } + + @Override + public JSONObject ModelToJson() throws JSONException { + return null; + } + + @Override + public String getStoreInformation() { + return null; + } +} diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java b/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java index e358df8c1..3380d092b 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe.alphafine.cell.render; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.stable.StringUtils; @@ -34,9 +35,14 @@ public class ContentCellRender implements ListCellRenderer { AlphaCellModel model = (AlphaCellModel) value; name.setText(model.getName()); String iconUrl = "/com/fr/design/mainframe/alphafine/images/alphafine" + model.getType().getTypeValue() + ".png"; - name.setIcon(new ImageIcon(getClass().getResource(iconUrl))); + if (model.getType() == CellType.NO_RESULT) { + name.setIcon(null); + name.setForeground(AlphaFineConstants.MEDIUM_GRAY); + } else { + name.setIcon(new ImageIcon(getClass().getResource(iconUrl))); + name.setForeground(AlphaFineConstants.BLACK); + } name.setFont(AlphaFineConstants.MEDIUM_FONT); - name.setForeground(AlphaFineConstants.BLACK); name.setVerticalTextPosition(SwingConstants.CENTER); name.setHorizontalTextPosition(SwingConstants.RIGHT); String description = model.getDescription(); diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 15d613304..3daa354d6 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe.alphafine.component; import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; +import com.fr.design.actions.help.alphafine.AlphafineContext; import com.fr.design.dialog.UIDialog; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icontainer.UIScrollPane; @@ -27,6 +28,7 @@ import com.fr.form.main.FormIO; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; +import com.fr.general.ProcessCanceledException; import com.fr.general.http.HttpClient; import com.fr.io.TemplateWorkBookIO; import com.fr.io.exporter.ImageExporter; @@ -39,6 +41,7 @@ import com.fr.stable.project.ProjectConstants; import javax.imageio.ImageIO; import javax.swing.*; +import javax.swing.Timer; import javax.swing.event.DocumentEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -50,8 +53,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.HashMap; +import java.util.*; import java.util.concurrent.ExecutionException; /** @@ -69,6 +71,10 @@ public class AlphaFineDialog extends UIDialog { private SwingWorker searchWorker; //是否强制打开,因为面板是否关闭绑定了全局鼠标事件,这里需要处理一下 private boolean forceOpen; + //。。。 + private boolean isSearchCancel; + private boolean waitingForSearch; + private long lastUpdateTime; public AlphaFineDialog(Frame parent, boolean forceOpen) { super(parent); @@ -76,6 +82,23 @@ public class AlphaFineDialog extends UIDialog { initProperties(); initListener(); initComponents(); + //initSearcheTimer(); + } + + private void initSearcheTimer() { + java.util.Timer timer = new java.util.Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + if (waitingForSearch) { + long currentTime = System.currentTimeMillis(); + if (currentTime - lastUpdateTime > 1000) { + doSearch(searchTextField.getText()); + waitingForSearch = false; + } + } + } + }, 1000, 1000); } /** @@ -134,6 +157,7 @@ public class AlphaFineDialog extends UIDialog { addComponentListener(new ComponentHandler()); setSize(AlphaFineConstants.FIELD_SIZE); centerWindow(this); + } /** @@ -164,9 +188,9 @@ public class AlphaFineDialog extends UIDialog { if (StringUtils.isBlank(text) || text.equals("AlphaFine")) { removeSearchResult(); } else if (text.contains("'")) { - return; + return; } else { - showSearchResult(text); + showSearchResult(); } } @@ -198,14 +222,13 @@ public class AlphaFineDialog extends UIDialog { /** * 展示搜索结果 - * @param searchText */ - private void showSearchResult(String searchText) { + private void showSearchResult() { if (searchResultPane == null) { initSearchResultComponents(); - initListListener(searchText); + initListListener(); } - initSearchWorker(searchText); + initSearchWorker(); } /** @@ -213,6 +236,8 @@ public class AlphaFineDialog extends UIDialog { */ private void initSearchResultComponents() { searchResultList = new JList(); + searchListModel = new SearchListModel(new SearchResult()); + searchResultList.setModel(searchListModel); searchResultPane = new JPanel(); searchResultPane.setPreferredSize(AlphaFineConstants.CONTENT_SIZE); searchResultPane.setLayout(new BorderLayout()); @@ -233,56 +258,99 @@ public class AlphaFineDialog extends UIDialog { } /** - * 异步加载搜索结构 - * @param searchText + * 异步加载搜索结果 */ - private void initSearchWorker(final String searchText) { - searchResultList.setModel(new SearchListModel(AlphaSearchManager.getSearchManager().showDefaultSearchResult())); + private void initSearchWorker() { if (this.searchWorker != null && !this.searchWorker.isDone()) { this.searchWorker.cancel(true); this.searchWorker = null; } - this.searchWorker = new SwingWorker() { - + this.searchWorker = new SwingWorker() { @Override - protected SearchListModel doInBackground() { - return setListModel(new SearchListModel(AlphaSearchManager.getSearchManager().getLessSearchResult(searchText))); + protected Object doInBackground() throws Exception { + rebuildList(searchTextField.getText()); + return null; } + }; + this.searchWorker.execute(); + } - @Override - protected void done() { - try { - if (!isCancelled()) { - searchResultList.setModel(get()); - searchResultList.validate(); - searchResultList.repaint(); - validate(); - repaint(); - /** - * 默认选中第1项,第0项为title - */ - if (searchResultList.getModel().getSize() > 0) { - searchResultList.setSelectedIndex(1); - } + private synchronized void rebuildList(String searchText) { + System.out.print("background===" + searchText + "\n"); + searchListModel.removeAllElements(); + getRecentList(searchText); + getRecommendList(searchText); + getActionList(searchText); + getFileList(searchText); + getDocumentList(searchText); + getPluginList(searchText); + } - } - } catch (InterruptedException e) { - FRLogger.getLogger().error(e.getMessage()); - } catch (ExecutionException e) { - FRLogger.getLogger().error(e.getMessage()); - } + private void checkCancel() { + if (Thread.interrupted()) { + throw new ProcessCanceledException(); + } + } + private synchronized void getDocumentList(final String searchText) { - } + SearchResult documentModelList = DocumentSearchManager.getDocumentSearchManager().getLessSearchResult(searchText); + checkCancel(); + for (Object object : documentModelList) { - }; - this.searchWorker.execute(); + searchListModel.addElement(object); + } + System.out.print("document" + "-----" + searchText + "\n"); + + + + + } + + private synchronized void getFileList(final String searchText) { + SearchResult fileModelList = FileSearchManager.getFileSearchManager().getLessSearchResult(searchText); + for (Object object : fileModelList) { + searchListModel.addElement(object); + } + System.out.print("file" + "-----" + searchText + "\n"); + } + + private synchronized void getActionList(final String searchText) { + SearchResult actionModelList = ActionSearchManager.getActionSearchManager().getLessSearchResult(searchText); + for (Object object : actionModelList) { + searchListModel.addElement(object); + } + System.out.print("action" + "-----" + searchText + "\n"); + } + + private synchronized void getPluginList(final String searchText) { + SearchResult pluginModelList = PluginSearchManager.getPluginSearchManager().getLessSearchResult(searchText); + for (Object object : pluginModelList) { + searchListModel.addElement(object); + } + System.out.print("plugin" + "-----" + searchText + "\n"); } + private synchronized void getRecommendList(final String searchText) { + SearchResult recommendModelList = RecommendSearchManager.getRecommendSearchManager().getLessSearchResult(searchText); + for (Object object : recommendModelList) { + searchListModel.addElement(object); + } + System.out.print("recommend" + "-----" + searchText + "\n"); + } + + private synchronized void getRecentList(final String searchText) { + SearchResult recentModelList = RecentSearchManager.getRecentSearchManger().getLessSearchResult(searchText); + for (Object object : recentModelList) { + searchListModel.addElement(object); + } + System.out.print("recent" + "-----" + searchText + "\n"); + } + + /** * 初始化监听器 - * @param searchText */ - private void initListListener(final String searchText) { + private void initListListener() { /** * 鼠标监听器 */ @@ -663,11 +731,11 @@ public class AlphaFineDialog extends UIDialog { SearchResult moreResult = getMoreResult(selectedValue); if((selectedValue).getContent().equals(Inter.getLocText("FR-Designer_AlphaFine_ShowLess"))) { for (int i = 0; i < moreResult.size(); i++) { - this.searchListModel.insertElementAt(moreResult.get(i), index + AlphaFineConstants.SHOW_SIZE + 1 + i); + this.searchListModel.add(index + AlphaFineConstants.SHOW_SIZE + 1 + i, moreResult.get(i)); } } else { for (int i = 0; i < moreResult.size(); i++) { - this.searchListModel.removeElementAt(index + AlphaFineConstants.SHOW_SIZE + 1); + this.searchListModel.remove(index + AlphaFineConstants.SHOW_SIZE + 1); } } @@ -701,7 +769,7 @@ public class AlphaFineDialog extends UIDialog { moreResult = ActionSearchManager.getActionSearchManager().getMoreSearchResult(); break; default: - moreResult = AlphaSearchManager.getSearchManager().getMoreSearchResult(); + moreResult = new SearchResult(); } return moreResult; } @@ -731,4 +799,12 @@ public class AlphaFineDialog extends UIDialog { public void setForceOpen(boolean forceOpen) { this.forceOpen = forceOpen; } + + public boolean isSearchCancel() { + return isSearchCancel; + } + + public void setSearchCancel(boolean searchCancel) { + isSearchCancel = searchCancel; + } } \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index b174e0b73..4ab43181b 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.model.ActionModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; @@ -44,21 +45,24 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { } } } - if (filterModelList != null && filterModelList.size() > 0) { - final int length = Math.min(AlphaFineConstants.SHOW_SIZE, filterModelList.size()); - for (int i = 0; i < length; i++) { - lessModelList.add(filterModelList.get(i)); - } - for (int i = length; i < filterModelList.size(); i++) { - moreModelList.add(filterModelList.get(i)); - } - if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE) { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION)); - } else { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION)); - } + final int length = Math.min(AlphaFineConstants.SHOW_SIZE, filterModelList.size()); + for (int i = 0; i < length; i++) { + lessModelList.add(filterModelList.get(i)); + } + for (int i = length; i < filterModelList.size(); i++) { + moreModelList.add(filterModelList.get(i)); } + if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE) { + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION)); + } else { + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION)); + if (lessModelList.size() == 1) { + lessModelList.add(AlphaFineHelper.noResultModel); + } + } + + } return lessModelList; diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 8065554bc..1ccee441e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -1,13 +1,17 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; +import com.fr.design.actions.help.alphafine.AlphafineContext; +import com.fr.design.actions.help.alphafine.AlphafineListener; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.model.DocumentModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.FRLogger; import com.fr.general.Inter; +import com.fr.general.ProcessCanceledException; import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; import com.fr.json.JSONException; @@ -20,6 +24,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { private static DocumentSearchManager documentSearchManager = null; private SearchResult lessModelList; private SearchResult moreModelList; + private static final MoreModel titleModel = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); public synchronized static DocumentSearchManager getDocumentSearchManager() { if (documentSearchManager == null) { @@ -40,13 +45,23 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { httpClient.setTimeout(5000); httpClient.asGet(); if (!httpClient.isServerAlive()) { - return lessModelList; + return getNoConnectList(); + } + if (Thread.interrupted()) { + System.out.print(searchText + "--------崩了1111\n"); + throw new ProcessCanceledException(); + } result = httpClient.getResponseText(); + if (Thread.interrupted()) { + System.out.print(searchText + "--------崩了22222\n"); + throw new ProcessCanceledException(); + + } try { JSONObject jsonObject = new JSONObject(result); JSONArray jsonArray = jsonObject.optJSONArray("docdata"); - if (jsonArray != null && jsonArray.length() > 0) { + if (jsonArray != null) { final int length = Math.min(AlphaFineConstants.SHOW_SIZE, jsonArray.length()); for (int i = 0; i < length; i++) { DocumentModel cellModel = getModelFromCloud(jsonArray.optJSONObject(i)); @@ -59,7 +74,10 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { if (jsonArray.length() > AlphaFineConstants.SHOW_SIZE) { lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT)); } else { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT)); + lessModelList.add(0, titleModel); + if (lessModelList.size() == 1) { + lessModelList.add(AlphaFineHelper.noResultModel); + } } @@ -67,14 +85,28 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { } catch (JSONException e) { FRLogger.getLogger().error(e.getMessage()); - return lessModelList; + return getNoResultList(); } - } return lessModelList; } + private SearchResult getNoResultList() { + SearchResult result = new SearchResult(); + result.add(0, titleModel); + result.add(AlphaFineHelper.noResultModel); + return result; + + } + + private SearchResult getNoConnectList() { + SearchResult result = new SearchResult(); + result.add(0, titleModel); + result.add(AlphaFineHelper.noConnectionModel); + return result; + } + /** * 根据json信息获取文档model * @param object diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 712331826..63020b54b 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -44,32 +44,38 @@ public class FileSearchManager implements AlphaFineSearchProcessor { this.filterModelList = new SearchResult(); this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); - Env env = FRContext.getCurrentEnv(); - fileNodes = new ArrayList<>(); - fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); - for (FileNode node : fileNodes) { - boolean isAlreadyContain = false; - String fileEnvPath = node.getEnvPath(); - String filePath = StableUtils.pathJoin(env.getPath(), fileEnvPath); - isAlreadyContain = searchFile(searchText, node, isAlreadyContain); - searchFileContent(searchText, node, isAlreadyContain, filePath); + if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainTemplate()) { + Env env = FRContext.getCurrentEnv(); + fileNodes = new ArrayList<>(); + fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); + for (FileNode node : fileNodes) { + boolean isAlreadyContain = false; + String fileEnvPath = node.getEnvPath(); + String filePath = StableUtils.pathJoin(env.getPath(), fileEnvPath); + isAlreadyContain = searchFile(searchText, node, isAlreadyContain); + searchFileContent(searchText, node, isAlreadyContain, filePath); - } + } + + final int length = Math.min(AlphaFineConstants.SHOW_SIZE, filterModelList.size()); + for (int i = 0; i < length; i++) { + lessModelList.add(filterModelList.get(i)); + } + for (int i = length; i< filterModelList.size(); i++) { + moreModelList.add(filterModelList.get(i)); + } - final int length = Math.min(AlphaFineConstants.SHOW_SIZE, filterModelList.size()); - for (int i = 0; i < length; i++) { - lessModelList.add(filterModelList.get(i)); - } - for (int i = length; i< filterModelList.size(); i++) { - moreModelList.add(filterModelList.get(i)); - } - if (filterModelList.size() > 0) { if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE) { lessModelList.add(0,new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.FILE)); } else { lessModelList.add(0,new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE)); + if (lessModelList.size() == 1) { + lessModelList.add(AlphaFineHelper.noResultModel); + } } } + + return this.lessModelList; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index 7e4f6b358..65717dda8 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -1,8 +1,12 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; +import com.fr.design.actions.help.alphafine.AlphafineContext; +import com.fr.design.actions.help.alphafine.AlphafineListener; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; +import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.cell.model.PluginModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; @@ -21,9 +25,14 @@ import java.net.URLEncoder; */ public class PluginSearchManager implements AlphaFineSearchProcessor { private static PluginSearchManager pluginSearchManager = null; + + private static final MoreModel titleModel = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN); + + private SearchResult lessModelList; private SearchResult moreModelList; + public synchronized static PluginSearchManager getPluginSearchManager() { if (pluginSearchManager == null) { pluginSearchManager = new PluginSearchManager(); @@ -34,7 +43,6 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { @Override public synchronized SearchResult getLessSearchResult(String searchText) { - this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainPlugin()) { @@ -46,12 +54,12 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { httpClient.setTimeout(5000); httpClient.asGet(); if (!httpClient.isServerAlive()) { - return lessModelList; + return getNoConnectList(); } result = httpClient.getResponseText(); JSONObject jsonObject = new JSONObject(result); JSONArray jsonArray = jsonObject.optJSONArray("result"); - if (jsonArray != null && jsonArray.length() > 0) { + if (jsonArray != null) { int length = Math.min(AlphaFineConstants.SHOW_SIZE, jsonArray.length()); for (int i = 0; i < length; i++) { PluginModel cellModel = getPluginModel(jsonArray.optJSONObject(i), false); @@ -64,17 +72,39 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { if (jsonArray.length() > AlphaFineConstants.SHOW_SIZE) { lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN)); } else { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN)); + lessModelList.add(0, titleModel); + if (lessModelList.size() == 1) { + lessModelList.add(AlphaFineHelper.noResultModel); + } } + } else { + return getNoResultList(); } } catch (Exception e) { FRLogger.getLogger().error(e.getMessage()); - return lessModelList; + return getNoResultList(); } } return this.lessModelList; + + + } + + private SearchResult getNoResultList() { + SearchResult result = new SearchResult(); + result.add(0, titleModel); + result.add(AlphaFineHelper.noResultModel); + return result; + + } + + private SearchResult getNoConnectList() { + SearchResult result = new SearchResult(); + result.add(0, titleModel); + result.add(AlphaFineHelper.noConnectionModel); + return result; } private static PluginModel getPluginModel(JSONObject object, boolean isFromCloud) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 94f718be2..342148719 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.cell.CellModelHelper; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; @@ -37,7 +38,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { httpClient.asGet(); httpClient.setTimeout(5000); if (!httpClient.isServerAlive()) { - return modelList; + return getNoConnectList(); } result = httpClient.getResponseText(); try { @@ -65,6 +66,13 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { return modelList; } + private SearchResult getNoConnectList() { + SearchResult result = new SearchResult(); + result.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Conclude"), false)); + result.add(AlphaFineHelper.noConnectionModel); + return result; + } + @Override public SearchResult getMoreSearchResult() { return new SearchResult(); diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index e632fafd2..a4c185e6f 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2006,4 +2006,6 @@ FR-Designer_AlphaFine_ShowAll=show all FR-Designer_AlphaFine_Latest=Latest FR-Designer_AlphaFine_ShowLess=show less FR-Designer_Alphafine=AlphaFine -FR-Designer-Alphafine_No_Remind= \ No newline at end of file +FR-Designer-Alphafine_No_Remind= +FR-Designere_AlphaFine_NoResult=no results +FR-Designer_ConnectionFailed=connection failed \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 774beedf5..c47970e1d 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2004,4 +2004,6 @@ FR-Designer_AlphaFine_ShowAll=show all FR-Designer_AlphaFine_Latest=Recent FR-Designer_AlphaFine_ShowLess=show less FR-Designer_Alphafine=AlphaFine -FR-Designer-Alphafine_No_Remind=don't remind \ No newline at end of file +FR-Designer-Alphafine_No_Remind=don't remind +FR-Designere_AlphaFine_NoResult=no results +FR-Designer_ConnectionFailed=connection failed \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 008f2df8d..749dba173 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2002,4 +2002,6 @@ FR-Designer_AlphaFine_Conclude=\u731C\u60A8\u9700\u8981 FR-Designer_AlphaFine_Latest=\u672C\u5730\u5E38\u7528 FR-Designer_AlphaFine_ShowLess=\u6536\u8D77 FR-Designer_Alphafine=AlphaFine\u667A\u80FD\u641C\u7D22 -FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A \ No newline at end of file +FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A +FR-Designere_AlphaFine_NoResult=\u6682\u65E0\u76F8\u5173\u5185\u5BB9 +FR-Designer_ConnectionFailed=\u94FE\u63A5\u5931\u8D25 \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 4a8a86d71..0e0e2ee32 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2000,4 +2000,6 @@ FR-Designer_AlphaFine_Latest=\u6700\u8FD1\u5E38\u7528 FR-Designer_AlphaFine_ShowLess=\u6536\u8D77 FR-Designer_Alphafine=AlphaFine\u667A\u80FD\u641C\u7D22 FR-Designer_AlphaFine_ShowAll=\u986F\u793A\u5168\u90E8 -FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A \ No newline at end of file +FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A +FR-Designere_AlphaFine_NoResult=\u66AB\u7121\u76F8\u95DC\u5167\u5BB9 +FR-Designer_ConnectionFailed=\u93C8\u63A5\u5931\u6557 \ No newline at end of file From 1efe1eefcadcdbdc9008358da7d15731cbea5f81 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 16:45:54 +0800 Subject: [PATCH 33/76] =?UTF-8?q?alphafine=20=E5=BC=82=E6=AD=A5=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E4=BC=98=E5=8C=96=20=E4=B8=AD=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/AlphaFineHelper.java | 10 +++ .../alphafine/component/AlphaFineDialog.java | 33 ++++----- .../search/manager/AlphaSearchManager.java | 69 ------------------- .../search/manager/DocumentSearchManager.java | 13 +--- .../search/manager/PluginSearchManager.java | 4 ++ .../search/manager/RecentSearchManager.java | 4 +- .../manager/RecommendSearchManager.java | 2 + 7 files changed, 39 insertions(+), 96 deletions(-) delete mode 100644 designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaSearchManager.java diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 993a7cc03..1f0aa8452 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -5,6 +5,7 @@ import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.component.AlphaFineDialog; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.Inter; +import com.fr.general.ProcessCanceledException; import com.fr.stable.StringUtils; /** @@ -57,6 +58,15 @@ public class AlphaFineHelper { return getSplitText(text, 1); } + /** + * 中断当前线程的搜索 + */ + public static void checkCancel() { + if (Thread.interrupted()) { + throw new ProcessCanceledException(); + } + } + diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 3daa354d6..9c88aef1a 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -2,7 +2,6 @@ package com.fr.design.mainframe.alphafine.component; import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.help.alphafine.AlphafineContext; import com.fr.design.dialog.UIDialog; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icontainer.UIScrollPane; @@ -93,6 +92,7 @@ public class AlphaFineDialog extends UIDialog { if (waitingForSearch) { long currentTime = System.currentTimeMillis(); if (currentTime - lastUpdateTime > 1000) { + System.out.print(searchTextField.getText() + "............\n"); doSearch(searchTextField.getText()); waitingForSearch = false; } @@ -144,6 +144,8 @@ public class AlphaFineDialog extends UIDialog { searchTextField.getDocument().addDocumentListener(new DocumentAdapter() { @Override protected void textChanged(DocumentEvent e) { +// lastUpdateTime = System.currentTimeMillis(); +// waitingForSearch = true; doSearch(searchTextField.getText()); } }); @@ -275,8 +277,11 @@ public class AlphaFineDialog extends UIDialog { this.searchWorker.execute(); } - private synchronized void rebuildList(String searchText) { - System.out.print("background===" + searchText + "\n"); + /** + * 重新构建搜索结果列表 + * @param searchText + */ + private void rebuildList(String searchText) { searchListModel.removeAllElements(); getRecentList(searchText); getRecommendList(searchText); @@ -286,20 +291,15 @@ public class AlphaFineDialog extends UIDialog { getPluginList(searchText); } - private void checkCancel() { - if (Thread.interrupted()) { - throw new ProcessCanceledException(); - } - } + + private synchronized void getDocumentList(final String searchText) { SearchResult documentModelList = DocumentSearchManager.getDocumentSearchManager().getLessSearchResult(searchText); - checkCancel(); for (Object object : documentModelList) { - + AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - System.out.print("document" + "-----" + searchText + "\n"); @@ -309,41 +309,42 @@ public class AlphaFineDialog extends UIDialog { private synchronized void getFileList(final String searchText) { SearchResult fileModelList = FileSearchManager.getFileSearchManager().getLessSearchResult(searchText); for (Object object : fileModelList) { + AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - System.out.print("file" + "-----" + searchText + "\n"); } private synchronized void getActionList(final String searchText) { SearchResult actionModelList = ActionSearchManager.getActionSearchManager().getLessSearchResult(searchText); for (Object object : actionModelList) { + AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - System.out.print("action" + "-----" + searchText + "\n"); } private synchronized void getPluginList(final String searchText) { SearchResult pluginModelList = PluginSearchManager.getPluginSearchManager().getLessSearchResult(searchText); for (Object object : pluginModelList) { + AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - System.out.print("plugin" + "-----" + searchText + "\n"); } private synchronized void getRecommendList(final String searchText) { SearchResult recommendModelList = RecommendSearchManager.getRecommendSearchManager().getLessSearchResult(searchText); for (Object object : recommendModelList) { + AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - System.out.print("recommend" + "-----" + searchText + "\n"); } private synchronized void getRecentList(final String searchText) { SearchResult recentModelList = RecentSearchManager.getRecentSearchManger().getLessSearchResult(searchText); for (Object object : recentModelList) { + AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - System.out.print("recent" + "-----" + searchText + "\n"); + } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaSearchManager.java deleted file mode 100644 index cb60f9aa1..000000000 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaSearchManager.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.fr.design.mainframe.alphafine.search.manager; - -import com.fr.design.mainframe.alphafine.cell.model.MoreModel; -import com.fr.design.mainframe.alphafine.model.SearchResult; -import com.fr.general.Inter; - -/** - * Created by XiaXiang on 2017/3/28. - */ -public class AlphaSearchManager implements AlphaFineSearchProcessor { - private static AlphaSearchManager searchManager; - private static PluginSearchManager pluginSearchManager; - private static DocumentSearchManager documentSearchManager; - private static FileSearchManager fileSearchManager; - private static ActionSearchManager actionSearchManager; - private static RecommendSearchManager recommendSearchManager; - private static RecentSearchManager recentSearchManager; - - public synchronized static AlphaSearchManager getSearchManager() { - init(); - return searchManager; - - } - - private synchronized static void init() { - if (searchManager == null) { - searchManager = new AlphaSearchManager(); - pluginSearchManager = PluginSearchManager.getPluginSearchManager(); - documentSearchManager = DocumentSearchManager.getDocumentSearchManager(); - fileSearchManager = FileSearchManager.getFileSearchManager(); - actionSearchManager = ActionSearchManager.getActionSearchManager(); - recommendSearchManager = RecommendSearchManager.getRecommendSearchManager(); - recentSearchManager = RecentSearchManager.getRecentSearchManger(); - } - } - - @Override - public synchronized SearchResult getLessSearchResult(String searchText) { - SearchResult recentModelList = recentSearchManager.getLessSearchResult(searchText); - SearchResult recommendModelList = recommendSearchManager.getLessSearchResult(searchText); - SearchResult actionModelList = actionSearchManager.getLessSearchResult(searchText); - SearchResult fileModelList = fileSearchManager.getLessSearchResult(searchText); - SearchResult documentModelList = documentSearchManager.getLessSearchResult(searchText); - SearchResult pluginModelList = pluginSearchManager.getLessSearchResult(searchText); - recentModelList.addAll(recommendModelList); - recentModelList.addAll(actionModelList); - recentModelList.addAll(fileModelList); - recentModelList.addAll(documentModelList); - recentModelList.addAll(pluginModelList); - return recentModelList; - } - - public SearchResult showDefaultSearchResult() { - SearchResult searchResult = new SearchResult(); - searchResult.add(new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Latest"))); - searchResult.add(new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Conclude"))); - searchResult.add(new MoreModel(Inter.getLocText("FR-Designer_Set"))); - searchResult.add(new MoreModel(Inter.getLocText("FR-Designer_Templates"))); - searchResult.add(new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"))); - searchResult.add(new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"))); - return searchResult; - } - - @Override - public SearchResult getMoreSearchResult() { - return null; - } - -} diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 1ccee441e..45076ae18 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -47,27 +47,20 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { if (!httpClient.isServerAlive()) { return getNoConnectList(); } - if (Thread.interrupted()) { - System.out.print(searchText + "--------崩了1111\n"); - throw new ProcessCanceledException(); - - } result = httpClient.getResponseText(); - if (Thread.interrupted()) { - System.out.print(searchText + "--------崩了22222\n"); - throw new ProcessCanceledException(); - - } + AlphaFineHelper.checkCancel(); try { JSONObject jsonObject = new JSONObject(result); JSONArray jsonArray = jsonObject.optJSONArray("docdata"); if (jsonArray != null) { final int length = Math.min(AlphaFineConstants.SHOW_SIZE, jsonArray.length()); for (int i = 0; i < length; i++) { + AlphaFineHelper.checkCancel(); DocumentModel cellModel = getModelFromCloud(jsonArray.optJSONObject(i)); this.lessModelList.add(cellModel); } for (int i = length; i < jsonArray.length(); i++) { + AlphaFineHelper.checkCancel(); DocumentModel cellModel = getModelFromCloud(jsonArray.optJSONObject(i)); this.moreModelList.add(cellModel); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index 65717dda8..3ce21d9fe 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -13,6 +13,7 @@ import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; +import com.fr.general.ProcessCanceledException; import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; import com.fr.json.JSONObject; @@ -57,15 +58,18 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { return getNoConnectList(); } result = httpClient.getResponseText(); + AlphaFineHelper.checkCancel(); JSONObject jsonObject = new JSONObject(result); JSONArray jsonArray = jsonObject.optJSONArray("result"); if (jsonArray != null) { int length = Math.min(AlphaFineConstants.SHOW_SIZE, jsonArray.length()); for (int i = 0; i < length; i++) { + AlphaFineHelper.checkCancel(); PluginModel cellModel = getPluginModel(jsonArray.optJSONObject(i), false); this.lessModelList.add(cellModel); } for (int i = length; i < jsonArray.length(); i++) { + AlphaFineHelper.checkCancel(); PluginModel cellModel = getPluginModel(jsonArray.optJSONObject(i), false); this.moreModelList.add(cellModel); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 535d6b1a6..8f818fd9d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -3,6 +3,7 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.base.FRContext; import com.fr.base.Utils; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; @@ -273,9 +274,10 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear * @param searchText * @return */ - public List getRecentModelList(String searchText) { + public synchronized List getRecentModelList(String searchText) { recentModelList = new ArrayList<>(); for (String key : recentKVModelMap.keySet()) { + AlphaFineHelper.checkCancel(); if (ComparatorUtils.equals(key, searchText)) { recentModelList = recentKVModelMap.get(searchText); int size = recentModelList.size(); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 342148719..bc0f66eaf 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -41,12 +41,14 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { return getNoConnectList(); } result = httpClient.getResponseText(); + AlphaFineHelper.checkCancel(); try { JSONObject jsonObject = new JSONObject(result); if (jsonObject.optString("status").equals("success")) { JSONArray jsonArray = jsonObject.optJSONArray("result"); if (jsonArray != null && jsonArray.length() > 0) { for (int i = 0; i < jsonArray.length(); i++) { + AlphaFineHelper.checkCancel(); AlphaCellModel alphaCellModel = CellModelHelper.getModelFromJson((JSONObject) jsonArray.get(i)); if (alphaCellModel != null && !RecentSearchManager.getRecentSearchManger().getRecentModelList().contains(alphaCellModel)) { this.modelList.add(alphaCellModel); From e9edf6f37455f6a37bd08704320555b09b4fc3cc Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 16:47:40 +0800 Subject: [PATCH 34/76] bug fix --- .../src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 1f0aa8452..1b7b20a5d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -3,7 +3,6 @@ package com.fr.design.mainframe.alphafine; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.component.AlphaFineDialog; -import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.Inter; import com.fr.general.ProcessCanceledException; import com.fr.stable.StringUtils; From d32472299981b5f825b7e88fc5d2ee0396a60f37 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 17:21:06 +0800 Subject: [PATCH 35/76] alphafine bug fix --- .../mainframe/alphafine/AlphaFineHelper.java | 4 ++ .../alphafine/component/AlphaFineDialog.java | 44 +++++-------------- 2 files changed, 15 insertions(+), 33 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 1b7b20a5d..22336aec0 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -1,5 +1,7 @@ package com.fr.design.mainframe.alphafine; +import com.fr.design.DesignerEnvManager; +import com.fr.design.actions.help.alphafine.AlphafineConfigManager; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.component.AlphaFineDialog; @@ -19,6 +21,8 @@ public class AlphaFineHelper { */ public static void showAlphaFineDialog(boolean forceOpen) { AlphaFineDialog dialog = new AlphaFineDialog(DesignerContext.getDesignerFrame(), forceOpen); + final AlphafineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphafineConfigManager(); + manager.setNeedRemind(false); dialog.setVisible(true); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 9c88aef1a..f742c5e7e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -10,8 +10,8 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.cell.CellModelHelper; -import com.fr.design.mainframe.alphafine.cell.render.ContentCellRender; import com.fr.design.mainframe.alphafine.cell.model.*; +import com.fr.design.mainframe.alphafine.cell.render.ContentCellRender; import com.fr.design.mainframe.alphafine.listener.ComponentHandler; import com.fr.design.mainframe.alphafine.listener.DocumentAdapter; import com.fr.design.mainframe.alphafine.model.SearchListModel; @@ -27,7 +27,6 @@ import com.fr.form.main.FormIO; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; -import com.fr.general.ProcessCanceledException; import com.fr.general.http.HttpClient; import com.fr.io.TemplateWorkBookIO; import com.fr.io.exporter.ImageExporter; @@ -40,19 +39,19 @@ import com.fr.stable.project.ProjectConstants; import javax.imageio.ImageIO; import javax.swing.*; -import javax.swing.Timer; import javax.swing.event.DocumentEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; -import java.io.*; +import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Calendar; +import java.util.HashMap; import java.util.concurrent.ExecutionException; /** @@ -70,10 +69,6 @@ public class AlphaFineDialog extends UIDialog { private SwingWorker searchWorker; //是否强制打开,因为面板是否关闭绑定了全局鼠标事件,这里需要处理一下 private boolean forceOpen; - //。。。 - private boolean isSearchCancel; - private boolean waitingForSearch; - private long lastUpdateTime; public AlphaFineDialog(Frame parent, boolean forceOpen) { super(parent); @@ -81,25 +76,8 @@ public class AlphaFineDialog extends UIDialog { initProperties(); initListener(); initComponents(); - //initSearcheTimer(); } - private void initSearcheTimer() { - java.util.Timer timer = new java.util.Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (waitingForSearch) { - long currentTime = System.currentTimeMillis(); - if (currentTime - lastUpdateTime > 1000) { - System.out.print(searchTextField.getText() + "............\n"); - doSearch(searchTextField.getText()); - waitingForSearch = false; - } - } - } - }, 1000, 1000); - } /** * 初始化全部组件 @@ -273,6 +251,13 @@ public class AlphaFineDialog extends UIDialog { rebuildList(searchTextField.getText()); return null; } + + @Override + protected void done() { + if (!isCancelled()) { + searchResultList.setSelectedIndex(1); + } + } }; this.searchWorker.execute(); } @@ -801,11 +786,4 @@ public class AlphaFineDialog extends UIDialog { this.forceOpen = forceOpen; } - public boolean isSearchCancel() { - return isSearchCancel; - } - - public void setSearchCancel(boolean searchCancel) { - isSearchCancel = searchCancel; - } } \ No newline at end of file From d6e14d54ae4d5131009a94b14c8ef05bdcd28be9 Mon Sep 17 00:00:00 2001 From: plough Date: Thu, 8 Jun 2017 17:26:42 +0800 Subject: [PATCH 36/76] =?UTF-8?q?REPORT-2561=20=E5=A4=A7=E5=B1=8F-?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E6=97=B6=E9=92=9F=E6=8F=92=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E8=A1=A8=E5=B7=A6=E7=A7=BB=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/properties/WidgetPropertyTable.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java index b57e050b6..c33d4296c 100644 --- a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java +++ b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java @@ -27,6 +27,8 @@ public class WidgetPropertyTable extends AbstractPropertyTable { private FormDesigner designer; private static final int LEFT_COLUMN_WIDTH = 97; // "属性名"列的宽度 + private static final int RIGHT_COLUMN_WIDTH = 138; // "属性值"列的宽度 + public WidgetPropertyTable(FormDesigner designer) { super(); @@ -85,11 +87,13 @@ public class WidgetPropertyTable extends AbstractPropertyTable { } TableModel model = new BeanTableModel(); setModel(model); - this.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); TableColumn tc = this.getColumn(this.getColumnName(0)); - tc.setPreferredWidth(LEFT_COLUMN_WIDTH); tc.setMinWidth(LEFT_COLUMN_WIDTH); tc.setMaxWidth(LEFT_COLUMN_WIDTH); + TableColumn tcRight = this.getColumn(this.getColumnName(1)); + tcRight.setMinWidth(RIGHT_COLUMN_WIDTH); + tcRight.setMaxWidth(RIGHT_COLUMN_WIDTH); + this.repaint(); } From 7ba402254493ab4a0fccb34e69bfa114cbd7185e Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 17:49:42 +0800 Subject: [PATCH 37/76] =?UTF-8?q?=E6=94=B9=E4=BA=86=E5=87=A0=E4=B8=AA?= =?UTF-8?q?=E7=B1=BB=E7=9A=84=E7=B1=BB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/AlphaFineHelper.java | 4 +- .../alphafine/component/AlphaFineDialog.java | 2 +- .../alphafine/component/AlphaFinePane.java | 8 +-- .../search/manager/ActionSearchManager.java | 2 +- .../search/manager/DocumentSearchManager.java | 5 +- .../search/manager/FileSearchManager.java | 6 +- .../search/manager/PluginSearchManager.java | 6 +- .../manager/RecommendSearchManager.java | 2 +- .../design/mainframe/bbs/UserInfoLabel.java | 18 +++--- .../aspectj/designerbase/AlphaFineReminder.aj | 4 +- .../src/com/fr/design/DesignerEnvManager.java | 18 +++--- ...hafineAction.java => AlphaFineAction.java} | 15 +++-- ...nager.java => AlphaFineConfigManager.java} | 8 +-- ...nfigPane.java => AlphaFineConfigPane.java} | 61 ++++++++++--------- ...fineContext.java => AlphaFineContext.java} | 8 +-- ...neListener.java => AlphaFineListener.java} | 2 +- .../actions/help/alphafine/RemindDialog.java | 2 +- .../actions/help/alphafine/RemindPane.java | 6 +- .../fr/design/mainframe/DesignerFrame.java | 2 +- .../mainframe/toolbar/ToolBarMenuDock.java | 4 +- 20 files changed, 88 insertions(+), 95 deletions(-) rename designer_base/src/com/fr/design/actions/help/alphafine/{AlphafineAction.java => AlphaFineAction.java} (77%) rename designer_base/src/com/fr/design/actions/help/alphafine/{AlphafineConfigManager.java => AlphaFineConfigManager.java} (96%) rename designer_base/src/com/fr/design/actions/help/alphafine/{AlphafineConfigPane.java => AlphaFineConfigPane.java} (80%) rename designer_base/src/com/fr/design/actions/help/alphafine/{AlphafineContext.java => AlphaFineContext.java} (63%) rename designer_base/src/com/fr/design/actions/help/alphafine/{AlphafineListener.java => AlphaFineListener.java} (75%) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 22336aec0..53b60c6b2 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -1,7 +1,7 @@ package com.fr.design.mainframe.alphafine; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.help.alphafine.AlphafineConfigManager; +import com.fr.design.actions.help.alphafine.AlphaFineConfigManager; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.component.AlphaFineDialog; @@ -21,7 +21,7 @@ public class AlphaFineHelper { */ public static void showAlphaFineDialog(boolean forceOpen) { AlphaFineDialog dialog = new AlphaFineDialog(DesignerContext.getDesignerFrame(), forceOpen); - final AlphafineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphafineConfigManager(); + final AlphaFineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); manager.setNeedRemind(false); dialog.setVisible(true); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index f742c5e7e..81188d9f4 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -613,7 +613,7 @@ public class AlphaFineDialog extends UIDialog { if (event instanceof KeyEvent) { KeyEvent e = (KeyEvent) event; KeyStroke keyStroke = (KeyStroke) KeyStroke.getAWTKeyStrokeForEvent(e); - KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphafineConfigManager().getShortCutKeyStore(); + KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().getShortCutKeyStore(); if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString())) { doClickAction(); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java index 6c23ab403..754ceab1c 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java @@ -2,8 +2,8 @@ package com.fr.design.mainframe.alphafine.component; import com.fr.base.BaseUtils; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.help.alphafine.AlphafineContext; -import com.fr.design.actions.help.alphafine.AlphafineListener; +import com.fr.design.actions.help.alphafine.AlphaFineContext; +import com.fr.design.actions.help.alphafine.AlphaFineListener; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.mainframe.alphafine.AlphaFineHelper; @@ -28,7 +28,7 @@ public class AlphaFinePane extends BasicPane { } public AlphaFinePane() { setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 14)); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isEnabled()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) { Toolkit.getDefaultToolkit().addAWTEventListener(AlphaFineDialog.listener(), AWTEvent.KEY_EVENT_MASK); } UIButton refreshButton = new UIButton(); @@ -42,7 +42,7 @@ public class AlphaFinePane extends BasicPane { AlphaFineHelper.showAlphaFineDialog(false); } }); - AlphafineContext.addAlphafineContextListener(new AlphafineListener() { + AlphaFineContext.addAlphafineContextListener(new AlphaFineListener() { @Override public void showDialog() { AlphaFineHelper.showAlphaFineDialog(true); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 4ab43181b..aefb27432 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -36,7 +36,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { filterModelList = new SearchResult(); lessModelList = new SearchResult(); moreModelList = new SearchResult(); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainAction()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainAction()) { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { if (StringUtils.isNotBlank(updateActionModel.getSearchKey())) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 45076ae18..1468d36e7 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -1,8 +1,6 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.help.alphafine.AlphafineContext; -import com.fr.design.actions.help.alphafine.AlphafineListener; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; @@ -11,7 +9,6 @@ import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.FRLogger; import com.fr.general.Inter; -import com.fr.general.ProcessCanceledException; import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; import com.fr.json.JSONException; @@ -38,7 +35,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { public synchronized SearchResult getLessSearchResult(String searchText) { lessModelList = new SearchResult(); moreModelList = new SearchResult(); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainDocument()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainDocument()) { String result; String url = AlphaFineConstants.DOCUMENT_SEARCH_URL + searchText + "-1"; HttpClient httpClient = new HttpClient(url); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 63020b54b..96bdba265 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -44,7 +44,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { this.filterModelList = new SearchResult(); this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainTemplate()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainTemplate()) { Env env = FRContext.getCurrentEnv(); fileNodes = new ArrayList<>(); fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); @@ -87,7 +87,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { * @param filePath */ private void searchFileContent(String searchText, FileNode node, boolean isAlreadyContain, String filePath) { - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainFileContent()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent()) { try { BufferedReader reader = new BufferedReader(new FileReader(filePath)); @@ -121,7 +121,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { * @return */ private boolean searchFile(String searchText, FileNode node, boolean isAlreadyContain) { - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainTemplate()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainTemplate()) { if (node.getName().toLowerCase().contains(searchText.toLowerCase())) { FileModel model = new FileModel(node.getName(), node.getEnvPath()); this.filterModelList.add(model); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index 3ce21d9fe..fe2e0d8ce 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -1,19 +1,15 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.help.alphafine.AlphafineContext; -import com.fr.design.actions.help.alphafine.AlphafineListener; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; -import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.cell.model.PluginModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; -import com.fr.general.ProcessCanceledException; import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; import com.fr.json.JSONObject; @@ -46,7 +42,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { public synchronized SearchResult getLessSearchResult(String searchText) { this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainPlugin()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainPlugin()) { String result; try { String encodedKey = URLEncoder.encode(searchText, "UTF-8"); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index bc0f66eaf..7e887dd3a 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -32,7 +32,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { @Override public synchronized SearchResult getLessSearchResult(String searchText) { this.modelList = new SearchResult(); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isContainRecommend()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainRecommend()) { String result; HttpClient httpClient = new HttpClient(SEARCHAPI + CodeUtils.cjkEncode(searchText)); httpClient.asGet(); diff --git a/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java b/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java index 90d84059b..a2c11639a 100644 --- a/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java +++ b/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java @@ -213,15 +213,15 @@ public class UserInfoLabel extends UILabel { para.put("username", encode(encode(userName))); HttpClient getMessage = new HttpClient(SiteCenter.getInstance().acquireUrlByKind("bbs.message"), para); getMessage.asGet(); - if (getMessage.isServerAlive()) { - try { - String res = getMessage.getResponseText(); - if (StringUtils.isNotEmpty(res)) { - setMessageCount(Integer.parseInt(res)); - } - } catch (Exception e) { - } - } +// if (getMessage.isServerAlive()) { +// try { +// String res = getMessage.getResponseText(); +// if (StringUtils.isNotEmpty(res)) { +// setMessageCount(Integer.parseInt(res)); +// } +// } catch (Exception e) { +// } +// } sleep(CHECK_MESSAGE_TIME); } } diff --git a/designer_base/src/com/fr/aspectj/designerbase/AlphaFineReminder.aj b/designer_base/src/com/fr/aspectj/designerbase/AlphaFineReminder.aj index 48701f764..aef3d7a40 100644 --- a/designer_base/src/com/fr/aspectj/designerbase/AlphaFineReminder.aj +++ b/designer_base/src/com/fr/aspectj/designerbase/AlphaFineReminder.aj @@ -1,7 +1,7 @@ package com.fr.aspectj.designerbase; import com.fr.design.DesignerEnvManager; -import com.fr.design.actions.help.alphafine.AlphafineConfigManager; +import com.fr.design.actions.help.alphafine.AlphaFineConfigManager; import com.fr.design.actions.help.alphafine.RemindDialog; import com.fr.design.mainframe.DesignerContext; @@ -30,7 +30,7 @@ public aspect AlphaFineReminder { * 判断是否弹出广告框 */ private static void remind() { - AlphafineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphafineConfigManager(); + AlphaFineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); if (manager.isNeedRemind()) { if (manager.getOperateCount() > 4) { diff --git a/designer_base/src/com/fr/design/DesignerEnvManager.java b/designer_base/src/com/fr/design/DesignerEnvManager.java index 75b4749d8..2dd6bef37 100644 --- a/designer_base/src/com/fr/design/DesignerEnvManager.java +++ b/designer_base/src/com/fr/design/DesignerEnvManager.java @@ -5,7 +5,7 @@ package com.fr.design; import com.fr.base.*; import com.fr.dav.LocalEnv; -import com.fr.design.actions.help.alphafine.AlphafineConfigManager; +import com.fr.design.actions.help.alphafine.AlphaFineConfigManager; import com.fr.design.constants.UIConstants; import com.fr.env.RemoteEnv; import com.fr.env.SignIn; @@ -108,7 +108,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { /** * alphafine */ - private AlphafineConfigManager alphafineConfigManager = new AlphafineConfigManager(); + private AlphaFineConfigManager alphaFineConfigManager = new AlphaFineConfigManager(); public static final String CAS_CERTIFICATE_PATH = "certificatePath"; @@ -1344,7 +1344,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } private void readAlphaFineAttr(XMLableReader reader) { - reader.readXMLObject(this.alphafineConfigManager = new AlphafineConfigManager()); + reader.readXMLObject(this.alphaFineConfigManager = new AlphaFineConfigManager()); } private void readHttpsParas(XMLableReader reader){ @@ -1551,8 +1551,8 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } private void writeAlphaFineAttr(XMLPrintWriter writer) { - if (this.alphafineConfigManager != null) { - this.alphafineConfigManager.writeXML(writer); + if (this.alphaFineConfigManager != null) { + this.alphaFineConfigManager.writeXML(writer); } } @@ -1830,11 +1830,11 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { return env; } - public AlphafineConfigManager getAlphafineConfigManager() { - return alphafineConfigManager; + public AlphaFineConfigManager getAlphaFineConfigManager() { + return alphaFineConfigManager; } - public void setAlphafineConfigManager(AlphafineConfigManager alphafineConfigManager) { - this.alphafineConfigManager = alphafineConfigManager; + public void setAlphaFineConfigManager(AlphaFineConfigManager alphaFineConfigManager) { + this.alphaFineConfigManager = alphaFineConfigManager; } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java similarity index 77% rename from designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java rename to designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java index 23cf7de75..ea10361b1 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineAction.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java @@ -1,6 +1,5 @@ package com.fr.design.actions.help.alphafine; -import com.fr.base.BaseUtils; import com.fr.design.DesignerEnvManager; import com.fr.design.actions.UpdateAction; import com.fr.design.dialog.BasicDialog; @@ -17,13 +16,13 @@ import java.awt.event.ActionEvent; /** * Created by XiaXiang on 2017/4/1. */ -public class AlphafineAction extends UpdateAction { - public AlphafineAction() { +public class AlphaFineAction extends UpdateAction { + public AlphaFineAction() { this.setMenuKeySet(ALPHAFINE); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); this.setSmallIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png")); - this.setSearchText(new AlphafineConfigPane()); + this.setSearchText(new AlphaFineConfigPane()); } public static final MenuKeySet ALPHAFINE = new MenuKeySet() { @@ -49,15 +48,15 @@ public class AlphafineAction extends UpdateAction { public void actionPerformed(ActionEvent e) { final DesignerFrame designerFrame = DesignerContext.getDesignerFrame(); - final AlphafineConfigPane alphafineConfigPane = new AlphafineConfigPane(); - alphafineConfigPane.populate(DesignerEnvManager.getEnvManager().getAlphafineConfigManager()); + final AlphaFineConfigPane alphaFineConfigPane = new AlphaFineConfigPane(); + alphaFineConfigPane.populate(DesignerEnvManager.getEnvManager().getAlphaFineConfigManager()); DialogActionListener dialogActionListener = new DialogActionAdapter() { public void doOk() { - alphafineConfigPane.update(); + alphaFineConfigPane.update(); designerFrame.refreshToolbar(); } }; - BasicDialog basicDialog = alphafineConfigPane.showMediumWindow(designerFrame, dialogActionListener); + BasicDialog basicDialog = alphaFineConfigPane.showMediumWindow(designerFrame, dialogActionListener); basicDialog.setVisible(true); } } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigManager.java similarity index 96% rename from designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java rename to designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigManager.java index c119e09b9..5df9691ad 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigManager.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigManager.java @@ -11,7 +11,7 @@ import javax.swing.*; /** * Created by XiaXiang on 2017/4/5. */ -public class AlphafineConfigManager implements XMLable { +public class AlphaFineConfigManager implements XMLable { /** * 是否开启alphafine @@ -80,10 +80,10 @@ public class AlphafineConfigManager implements XMLable { - private static AlphafineConfigManager alphafineConfigManager = new AlphafineConfigManager(); + private static AlphaFineConfigManager alphaFineConfigManager = new AlphaFineConfigManager(); - public static AlphafineConfigManager getInstance() { - return alphafineConfigManager; + public static AlphaFineConfigManager getInstance() { + return alphaFineConfigManager; } @Override diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigPane.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java similarity index 80% rename from designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigPane.java rename to designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java index d982cbeec..79d887dc6 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineConfigPane.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java @@ -20,7 +20,7 @@ import java.awt.event.KeyEvent; /** * Created by XiaXiang on 2017/4/6. */ -public class AlphafineConfigPane extends BasicPane { +public class AlphaFineConfigPane extends BasicPane { private static final String TYPE = "pressed"; private static final String DISPLAY_TYPE = "+"; private static final String BACK_SLASH = "BACK_SLASH"; @@ -56,7 +56,7 @@ public class AlphafineConfigPane extends BasicPane { private UICheckBox isEnabledCheckbox, isSearchOnlineCheckbox, isContainRecommendCheckbox, isContainActionCheckbox, isContainDocumentCheckbox, isContainTemplateCheckbox, isContainPluginCheckbox, isContainFileContentCheckbox; private UITextField shortcutsField; - public AlphafineConfigPane() { + public AlphaFineConfigPane() { this.initComponents(); } @@ -71,7 +71,7 @@ public class AlphafineConfigPane extends BasicPane { } - private Component[][] initsearchRangeComponents() { + private Component[][] initSearchRangeComponents() { Component[][] components = new Component[][]{ new Component[]{isContainRecommendCheckbox, isContainActionCheckbox, isContainDocumentCheckbox}, new Component[]{isContainTemplateCheckbox, isContainPluginCheckbox, isContainFileContentCheckbox} @@ -91,7 +91,7 @@ public class AlphafineConfigPane extends BasicPane { isContainDocumentCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_COMMUNITY_HELP")); isContainTemplateCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_Templates")); isContainFileContentCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_Templates_Content")); - JPanel searchConfigPane = TableLayoutHelper.createTableLayoutPane(initsearchRangeComponents(), rowSize, columnSize); + JPanel searchConfigPane = TableLayoutHelper.createTableLayoutPane(initSearchRangeComponents(), rowSize, columnSize); northPane.add(searchConfigPane); contentPane.add(northPane); } @@ -154,34 +154,35 @@ public class AlphafineConfigPane extends BasicPane { return "AlphaFine"; } - public void populate(AlphafineConfigManager alphafineConfigManager) { - this.isEnabledCheckbox.setSelected(alphafineConfigManager.isEnabled()); - this.isSearchOnlineCheckbox.setSelected(alphafineConfigManager.isSearchOnLine()); - this.isContainActionCheckbox.setSelected(alphafineConfigManager.isContainAction()); - this.isContainTemplateCheckbox.setSelected(alphafineConfigManager.isContainTemplate()); - this.isContainDocumentCheckbox.setSelected(alphafineConfigManager.isContainDocument() && alphafineConfigManager.isSearchOnLine()); - this.isContainDocumentCheckbox.setEnabled(alphafineConfigManager.isSearchOnLine()); - this.isContainPluginCheckbox.setSelected(alphafineConfigManager.isContainPlugin() && alphafineConfigManager.isSearchOnLine()); - this.isContainPluginCheckbox.setEnabled(alphafineConfigManager.isSearchOnLine()); - this.isContainRecommendCheckbox.setSelected(alphafineConfigManager.isContainRecommend() && alphafineConfigManager.isSearchOnLine()); - this.isContainRecommendCheckbox.setEnabled(alphafineConfigManager.isSearchOnLine()); - this.shortcutsField.setText(getDisplayShortCut(alphafineConfigManager.getShortcuts())); - shortCutKeyStore = convert2KeyStroke(alphafineConfigManager.getShortcuts()); + public void populate(AlphaFineConfigManager alphaFineConfigManager) { + this.isEnabledCheckbox.setSelected(alphaFineConfigManager.isEnabled()); + this.isSearchOnlineCheckbox.setSelected(alphaFineConfigManager.isSearchOnLine()); + this.isContainActionCheckbox.setSelected(alphaFineConfigManager.isContainAction()); + this.isContainTemplateCheckbox.setSelected(alphaFineConfigManager.isContainTemplate()); + this.isContainFileContentCheckbox.setSelected(alphaFineConfigManager.isContainFileContent()); + this.isContainDocumentCheckbox.setSelected(alphaFineConfigManager.isContainDocument() && alphaFineConfigManager.isSearchOnLine()); + this.isContainDocumentCheckbox.setEnabled(alphaFineConfigManager.isSearchOnLine()); + this.isContainPluginCheckbox.setSelected(alphaFineConfigManager.isContainPlugin() && alphaFineConfigManager.isSearchOnLine()); + this.isContainPluginCheckbox.setEnabled(alphaFineConfigManager.isSearchOnLine()); + this.isContainRecommendCheckbox.setSelected(alphaFineConfigManager.isContainRecommend() && alphaFineConfigManager.isSearchOnLine()); + this.isContainRecommendCheckbox.setEnabled(alphaFineConfigManager.isSearchOnLine()); + this.shortcutsField.setText(getDisplayShortCut(alphaFineConfigManager.getShortcuts())); + shortCutKeyStore = convert2KeyStroke(alphaFineConfigManager.getShortcuts()); } public void update() { DesignerEnvManager designerEnvManager = DesignerEnvManager.getEnvManager(); - AlphafineConfigManager alphafineConfigManager = designerEnvManager.getAlphafineConfigManager(); - alphafineConfigManager.setContainPlugin(this.isContainPluginCheckbox.isSelected()); - alphafineConfigManager.setContainAction(this.isContainActionCheckbox.isSelected()); - alphafineConfigManager.setContainDocument(this.isContainDocumentCheckbox.isSelected()); - alphafineConfigManager.setContainRecommend(this.isContainRecommendCheckbox.isSelected()); - alphafineConfigManager.setEnabled(this.isEnabledCheckbox.isSelected()); - alphafineConfigManager.setSearchOnLine(this.isSearchOnlineCheckbox.isSelected()); - alphafineConfigManager.setContainTemplate(this.isContainTemplateCheckbox.isSelected()); - alphafineConfigManager.setContainFileContent(this.isContainFileContentCheckbox.isSelected()); - alphafineConfigManager.setShortcuts(shortCutKeyStore != null ? shortCutKeyStore.toString().replace(TYPE, DISPLAY_TYPE) : this.shortcutsField.getText()); - designerEnvManager.setAlphafineConfigManager(alphafineConfigManager); + AlphaFineConfigManager alphaFineConfigManager = designerEnvManager.getAlphaFineConfigManager(); + alphaFineConfigManager.setContainPlugin(this.isContainPluginCheckbox.isSelected()); + alphaFineConfigManager.setContainAction(this.isContainActionCheckbox.isSelected()); + alphaFineConfigManager.setContainDocument(this.isContainDocumentCheckbox.isSelected()); + alphaFineConfigManager.setContainRecommend(this.isContainRecommendCheckbox.isSelected()); + alphaFineConfigManager.setEnabled(this.isEnabledCheckbox.isSelected()); + alphaFineConfigManager.setSearchOnLine(this.isSearchOnlineCheckbox.isSelected()); + alphaFineConfigManager.setContainTemplate(this.isContainTemplateCheckbox.isSelected()); + alphaFineConfigManager.setContainFileContent(this.isContainFileContentCheckbox.isSelected()); + alphaFineConfigManager.setShortcuts(shortCutKeyStore != null ? shortCutKeyStore.toString().replace(TYPE, DISPLAY_TYPE) : this.shortcutsField.getText()); + designerEnvManager.setAlphaFineConfigManager(alphaFineConfigManager); try { DesignerEnvManager.loadLogSetting(); DesignerEnvManager.getEnvManager().saveXMLFile(); @@ -192,8 +193,8 @@ public class AlphafineConfigPane extends BasicPane { } - private String getDisplayShortCut(String shotrCut) { - return shotrCut.replace(TYPE, DISPLAY_TYPE).replace(BACK_SLASH, DISPLAY_BACK_SLASH).replace(SLASH, DISPLAY_SLASH) + private String getDisplayShortCut(String shortCut) { + return shortCut.replace(TYPE, DISPLAY_TYPE).replace(BACK_SLASH, DISPLAY_BACK_SLASH).replace(SLASH, DISPLAY_SLASH) .replace(CONTROL, DISPLAY_CONTROL).replace(OPEN_BRACKET, DISPLAY_OPEN_BRACKET).replace(CLOSE_BRACKET, DISPLAY_CLOSE_BRACKET) .replace(COMMA, DISPLAY_COMMA).replace(PERIOD, DISPLAY_PERIOD).replace(SEMICOLON, DISPLAY_SEMICOLON).replace(QUOTE, DISPLAY_QUOTE) .replace(EQUALS, DISPLAY_EQUALS).replace(MINUS, DISPLAY_MINUS).replace(COMMAND, DISPLAY_COMMAND).replace(SMALL_COMMAND, DISPLAY_COMMAND); diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineContext.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java similarity index 63% rename from designer_base/src/com/fr/design/actions/help/alphafine/AlphafineContext.java rename to designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java index 429f299d6..ef14b0753 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineContext.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java @@ -6,14 +6,14 @@ import java.util.List; /** * Created by XiaXiang on 2017/5/27. */ -public class AlphafineContext { - private static List fireLoginContextListener = new ArrayList(); +public class AlphaFineContext { + private static List fireLoginContextListener = new ArrayList(); /** * 触发AlphaFine弹窗 */ public static void fireAlphaFineContextListener() { - for (AlphafineListener l : fireLoginContextListener) { + for (AlphaFineListener l : fireLoginContextListener) { l.showDialog(); } } @@ -23,7 +23,7 @@ public class AlphafineContext { * * @param l AlphaFine框弹出监听事件 */ - public static void addAlphafineContextListener(AlphafineListener l) { + public static void addAlphafineContextListener(AlphaFineListener l) { fireLoginContextListener.add(l); } } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineListener.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java similarity index 75% rename from designer_base/src/com/fr/design/actions/help/alphafine/AlphafineListener.java rename to designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java index 01c7905d6..c7c593126 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphafineListener.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java @@ -3,6 +3,6 @@ package com.fr.design.actions.help.alphafine; /** * Created by XiaXiang on 2017/5/27. */ -public interface AlphafineListener { +public interface AlphaFineListener { void showDialog(); } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java b/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java index 9ae6f864a..eca6eab55 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java @@ -22,7 +22,7 @@ public class RemindDialog extends UIDialog { } private void initComponent() { - final AlphafineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphafineConfigManager(); + final AlphaFineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); remindPane = new RemindPane(manager, this); this.add(remindPane); diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java b/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java index 1e8261965..acecfb08b 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java @@ -42,7 +42,7 @@ public class RemindPane extends JPanel { } }; - public RemindPane(AlphafineConfigManager manager, UIDialog remindDialog) { + public RemindPane(AlphaFineConfigManager manager, UIDialog remindDialog) { this.setPreferredSize(new Dimension(WIDTH, HEIGHT)); initUI(manager, remindDialog); this.setLayout(getAbsoluteLayout()); @@ -53,7 +53,7 @@ public class RemindPane extends JPanel { * @param manager * @param dialog */ - private void initUI(final AlphafineConfigManager manager, final UIDialog dialog) { + private void initUI(final AlphaFineConfigManager manager, final UIDialog dialog) { openButton = new UIButton(); openButton.setIcon(openIcon); @@ -63,7 +63,7 @@ public class RemindPane extends JPanel { public void mousePressed(MouseEvent e) { manager.setOperateCount(0); dialog.dispose(); - AlphafineContext.fireAlphaFineContextListener(); + AlphaFineContext.fireAlphaFineContextListener(); } }); diff --git a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java index f67608aca..c3b6abee2 100644 --- a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java +++ b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java @@ -197,7 +197,7 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta } }); - if (DesignerEnvManager.getEnvManager().getAlphafineConfigManager().isEnabled()) { + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) { northEastPane.add(ad.createAlphafinePane(), BorderLayout.CENTER); } return northEastPane; diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 9c9a35631..d71bd9b5f 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -11,7 +11,7 @@ import com.fr.design.actions.UpdateAction; import com.fr.design.actions.community.*; import com.fr.design.actions.file.*; import com.fr.design.actions.help.AboutAction; -import com.fr.design.actions.help.alphafine.AlphafineAction; +import com.fr.design.actions.help.alphafine.AlphaFineAction; import com.fr.design.actions.help.TutorialAction; import com.fr.design.actions.help.WebDemoAction; import com.fr.design.actions.server.*; @@ -374,7 +374,7 @@ public abstract class ToolBarMenuDock { shortCuts.add(SeparatorDef.DEFAULT); shortCuts.add(new AboutAction()); shortCuts.add(SeparatorDef.DEFAULT); - shortCuts.add(new AlphafineAction()); + shortCuts.add(new AlphaFineAction()); return shortCuts.toArray(new ShortCut[shortCuts.size()]); } From bbd221fd9878a8edade1bd6513297f86ac4206d0 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 18:20:33 +0800 Subject: [PATCH 38/76] alphafine bug fix --- .../mainframe/alphafine/search/manager/FileSearchManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 96bdba265..b3d8ee941 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -171,7 +171,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { } else { nodeList.add(fns[i]); } - } else { + } else if (fileNode.isFileType("cpt") || fileNode.isFileType("frm")) { nodeList.add(fileNode); } } From aeec29f711896ecd7daf6c8b6206017134dd1da2 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 18:36:54 +0800 Subject: [PATCH 39/76] bug fix alphafine --- .../alphafine/search/manager/ActionSearchManager.java | 2 +- .../alphafine/search/manager/DocumentSearchManager.java | 8 ++++---- .../alphafine/search/manager/PluginSearchManager.java | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index aefb27432..a38c52b43 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -40,7 +40,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { if (StringUtils.isNotBlank(updateActionModel.getSearchKey())) { - if (updateActionModel.getSearchKey().toLowerCase().contains(searchText.toLowerCase()) ) { + if (updateActionModel.getSearchKey().toLowerCase().contains(searchText.toLowerCase()) && updateActionModel.getAction().isEnabled()) { filterModelList.add(new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction())); } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 1468d36e7..7d5d4a6df 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -21,7 +21,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { private static DocumentSearchManager documentSearchManager = null; private SearchResult lessModelList; private SearchResult moreModelList; - private static final MoreModel titleModel = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); public synchronized static DocumentSearchManager getDocumentSearchManager() { if (documentSearchManager == null) { @@ -64,7 +64,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { if (jsonArray.length() > AlphaFineConstants.SHOW_SIZE) { lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT)); } else { - lessModelList.add(0, titleModel); + lessModelList.add(0, TITLE_MODEL); if (lessModelList.size() == 1) { lessModelList.add(AlphaFineHelper.noResultModel); } @@ -84,7 +84,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { private SearchResult getNoResultList() { SearchResult result = new SearchResult(); - result.add(0, titleModel); + result.add(0, TITLE_MODEL); result.add(AlphaFineHelper.noResultModel); return result; @@ -92,7 +92,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); - result.add(0, titleModel); + result.add(0, TITLE_MODEL); result.add(AlphaFineHelper.noConnectionModel); return result; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index fe2e0d8ce..44266cad2 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -23,7 +23,7 @@ import java.net.URLEncoder; public class PluginSearchManager implements AlphaFineSearchProcessor { private static PluginSearchManager pluginSearchManager = null; - private static final MoreModel titleModel = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN); + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN); private SearchResult lessModelList; @@ -72,7 +72,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { if (jsonArray.length() > AlphaFineConstants.SHOW_SIZE) { lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN)); } else { - lessModelList.add(0, titleModel); + lessModelList.add(0, TITLE_MODEL); if (lessModelList.size() == 1) { lessModelList.add(AlphaFineHelper.noResultModel); } @@ -94,7 +94,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { private SearchResult getNoResultList() { SearchResult result = new SearchResult(); - result.add(0, titleModel); + result.add(0, TITLE_MODEL); result.add(AlphaFineHelper.noResultModel); return result; @@ -102,7 +102,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); - result.add(0, titleModel); + result.add(0, TITLE_MODEL); result.add(AlphaFineHelper.noConnectionModel); return result; } From e65dda5529702ac0eb5f5d9bb3bd8b9e605fdeb9 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 20:00:55 +0800 Subject: [PATCH 40/76] bug fix --- .../fr/design/mainframe/bbs/UserInfoLabel.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java b/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java index a2c11639a..90d84059b 100644 --- a/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java +++ b/designer/src/com/fr/design/mainframe/bbs/UserInfoLabel.java @@ -213,15 +213,15 @@ public class UserInfoLabel extends UILabel { para.put("username", encode(encode(userName))); HttpClient getMessage = new HttpClient(SiteCenter.getInstance().acquireUrlByKind("bbs.message"), para); getMessage.asGet(); -// if (getMessage.isServerAlive()) { -// try { -// String res = getMessage.getResponseText(); -// if (StringUtils.isNotEmpty(res)) { -// setMessageCount(Integer.parseInt(res)); -// } -// } catch (Exception e) { -// } -// } + if (getMessage.isServerAlive()) { + try { + String res = getMessage.getResponseText(); + if (StringUtils.isNotEmpty(res)) { + setMessageCount(Integer.parseInt(res)); + } + } catch (Exception e) { + } + } sleep(CHECK_MESSAGE_TIME); } } From be32292bbdd72bddee878276498eb0f3fabcf0e9 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 21:48:58 +0800 Subject: [PATCH 41/76] alphafine bug fix --- .../alphafine/component/AlphaFineDialog.java | 6 ++---- .../alphafine/component/AlphaFinePane.java | 16 +++++++++++----- designer/src/com/fr/start/Designer.java | 2 +- .../actions/help/alphafine/AlphaFineAction.java | 9 +++++++-- .../help/alphafine/AlphaFineContext.java | 17 ++++++++++++----- .../help/alphafine/AlphaFineListener.java | 1 + .../actions/help/alphafine/RemindPane.java | 2 +- 7 files changed, 35 insertions(+), 18 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 81188d9f4..1b975f948 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -122,8 +122,6 @@ public class AlphaFineDialog extends UIDialog { searchTextField.getDocument().addDocumentListener(new DocumentAdapter() { @Override protected void textChanged(DocumentEvent e) { -// lastUpdateTime = System.currentTimeMillis(); -// waitingForSearch = true; doSearch(searchTextField.getText()); } }); @@ -590,7 +588,7 @@ public class AlphaFineDialog extends UIDialog { if (SwingUtilities.isLeftMouseButton(k)) { Point p = k.getLocationOnScreen(); Rectangle dialogRectangle = AlphaFineDialog.this.getBounds(); - Rectangle paneRectangle = new Rectangle(AlphaFinePane.createAlphaFinePane().getLocationOnScreen(), AlphaFinePane.createAlphaFinePane().getSize()); + Rectangle paneRectangle = new Rectangle(AlphaFinePane.getAlphaFinePane().getLocationOnScreen(), AlphaFinePane.getAlphaFinePane().getSize()); if (!dialogRectangle.contains(p) && !paneRectangle.contains(p) && !forceOpen) { AlphaFineDialog.this.dispose(); forceOpen = false; @@ -614,7 +612,7 @@ public class AlphaFineDialog extends UIDialog { KeyEvent e = (KeyEvent) event; KeyStroke keyStroke = (KeyStroke) KeyStroke.getAWTKeyStrokeForEvent(e); KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().getShortCutKeyStore(); - if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString())) { + if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString()) && AlphaFinePane.getAlphaFinePane().isVisible()) { doClickAction(); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java index 754ceab1c..3d4173bc5 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java @@ -1,12 +1,12 @@ package com.fr.design.mainframe.alphafine.component; -import com.fr.base.BaseUtils; import com.fr.design.DesignerEnvManager; import com.fr.design.actions.help.alphafine.AlphaFineContext; import com.fr.design.actions.help.alphafine.AlphaFineListener; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.mainframe.alphafine.AlphaFineHelper; +import com.fr.general.IOUtils; import com.fr.general.Inter; import javax.swing.*; @@ -20,7 +20,7 @@ import java.awt.event.ActionListener; public class AlphaFinePane extends BasicPane { private static AlphaFinePane alphaFinePane; - public static AlphaFinePane createAlphaFinePane() { + public static AlphaFinePane getAlphaFinePane() { if (alphaFinePane == null) { alphaFinePane = new AlphaFinePane(); } @@ -32,8 +32,8 @@ public class AlphaFinePane extends BasicPane { Toolkit.getDefaultToolkit().addAWTEventListener(AlphaFineDialog.listener(), AWTEvent.KEY_EVENT_MASK); } UIButton refreshButton = new UIButton(); - refreshButton.setIcon(BaseUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png")); - refreshButton.setToolTipText(Inter.getLocText("FR-Designer_Alphafine")); + refreshButton.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png")); + refreshButton.setToolTipText(Inter.getLocText("AlphaFine")); refreshButton.set4ToolbarButton(); this.add(refreshButton); refreshButton.addActionListener(new ActionListener() { @@ -42,11 +42,17 @@ public class AlphaFinePane extends BasicPane { AlphaFineHelper.showAlphaFineDialog(false); } }); - AlphaFineContext.addAlphafineContextListener(new AlphaFineListener() { + AlphaFineContext.addAlphaFineListener(new AlphaFineListener() { @Override public void showDialog() { AlphaFineHelper.showAlphaFineDialog(true); } + + @Override + public void setEnable(boolean isEnable) { + alphaFinePane.setVisible(isEnable); + + } }); } diff --git a/designer/src/com/fr/start/Designer.java b/designer/src/com/fr/start/Designer.java index 276c11b96..b6855fdb0 100644 --- a/designer/src/com/fr/start/Designer.java +++ b/designer/src/com/fr/start/Designer.java @@ -346,7 +346,7 @@ public class Designer extends BaseDesigner { * @return 面板组件 */ public Component createAlphafinePane() { - return AlphaFinePane.createAlphaFinePane(); + return AlphaFinePane.getAlphaFinePane(); } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java index ea10361b1..221354108 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineAction.java @@ -1,5 +1,6 @@ package com.fr.design.actions.help.alphafine; +import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.actions.UpdateAction; import com.fr.design.dialog.BasicDialog; @@ -49,11 +50,15 @@ public class AlphaFineAction extends UpdateAction { final DesignerFrame designerFrame = DesignerContext.getDesignerFrame(); final AlphaFineConfigPane alphaFineConfigPane = new AlphaFineConfigPane(); - alphaFineConfigPane.populate(DesignerEnvManager.getEnvManager().getAlphaFineConfigManager()); + final AlphaFineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); + if (!FRContext.isChineseEnv()) { + manager.setSearchOnLine(false); + } + alphaFineConfigPane.populate(manager); DialogActionListener dialogActionListener = new DialogActionAdapter() { public void doOk() { alphaFineConfigPane.update(); - designerFrame.refreshToolbar(); + AlphaFineContext.fireAlphaFineEnable(manager.isEnabled()); } }; BasicDialog basicDialog = alphaFineConfigPane.showMediumWindow(designerFrame, dialogActionListener); diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java index ef14b0753..77ff93c1d 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java @@ -7,23 +7,30 @@ import java.util.List; * Created by XiaXiang on 2017/5/27. */ public class AlphaFineContext { - private static List fireLoginContextListener = new ArrayList(); + private static List fireAlphaFineListener = new ArrayList(); /** * 触发AlphaFine弹窗 */ - public static void fireAlphaFineContextListener() { - for (AlphaFineListener l : fireLoginContextListener) { + public static void fireAlphaFineShowDialog() { + for (AlphaFineListener l : fireAlphaFineListener) { l.showDialog(); } } + public static void fireAlphaFineEnable(boolean isEnable) { + for (AlphaFineListener l : fireAlphaFineListener) { + l.setEnable(isEnable); + } + } + /** * 添加一个弹出AlphaFine的监听事件 * * @param l AlphaFine框弹出监听事件 */ - public static void addAlphafineContextListener(AlphaFineListener l) { - fireLoginContextListener.add(l); + public static void addAlphaFineListener(AlphaFineListener l) { + fireAlphaFineListener.add(l); } + } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java index c7c593126..b11696640 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java @@ -5,4 +5,5 @@ package com.fr.design.actions.help.alphafine; */ public interface AlphaFineListener { void showDialog(); + void setEnable(boolean isEnable); } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java b/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java index acecfb08b..dce47b97a 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/RemindPane.java @@ -63,7 +63,7 @@ public class RemindPane extends JPanel { public void mousePressed(MouseEvent e) { manager.setOperateCount(0); dialog.dispose(); - AlphaFineContext.fireAlphaFineContextListener(); + AlphaFineContext.fireAlphaFineShowDialog(); } }); From 9df5b1442942ea556a11cad556785962b63cff9e Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Thu, 8 Jun 2017 22:10:44 +0800 Subject: [PATCH 42/76] alphafine bug fix --- .../manager/RecommendSearchManager.java | 4 ++-- .../help/alphafine/AlphaFineConfigPane.java | 4 +++- .../com/fr/design/locale/designer.properties | 2 +- .../design/locale/designer_en_US.properties | 20 ++++++++++--------- .../design/locale/designer_zh_CN.properties | 2 +- .../design/locale/designer_zh_TW.properties | 2 +- 6 files changed, 19 insertions(+), 15 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 7e887dd3a..b63241868 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -61,7 +61,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { FRLogger.getLogger().error("data transform error! :" + e.getMessage()); } if (modelList.size() > 0) { - modelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Conclude"), false)); + modelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); } } @@ -70,7 +70,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); - result.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Conclude"), false)); + result.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); result.add(AlphaFineHelper.noConnectionModel); return result; } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java index 79d887dc6..59fef5952 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigPane.java @@ -1,5 +1,6 @@ package com.fr.design.actions.help.alphafine; +import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.icheckbox.UICheckBox; @@ -85,7 +86,7 @@ public class AlphaFineConfigPane extends BasicPane { double[] columnSize = {COLUMN_GAP, COLUMN_GAP, COLUMN_GAP}; JPanel northPane = FRGUIPaneFactory.createTitledBorderPane(Inter.getLocText("FR-Designer_AlphaFine_SearchRange")); - isContainRecommendCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_AlphaFine_Conclude")); + isContainRecommendCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_AlphaFine_Recommend")); isContainActionCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_Set")); isContainPluginCheckbox = new UICheckBox(Inter.getLocText("FR-Designer-Plugin_Addon")); isContainDocumentCheckbox = new UICheckBox(Inter.getLocText("FR-Designer_COMMUNITY_HELP")); @@ -156,6 +157,7 @@ public class AlphaFineConfigPane extends BasicPane { public void populate(AlphaFineConfigManager alphaFineConfigManager) { this.isEnabledCheckbox.setSelected(alphaFineConfigManager.isEnabled()); + this.isSearchOnlineCheckbox.setEnabled(FRContext.isChineseEnv()); this.isSearchOnlineCheckbox.setSelected(alphaFineConfigManager.isSearchOnLine()); this.isContainActionCheckbox.setSelected(alphaFineConfigManager.isContainAction()); this.isContainTemplateCheckbox.setSelected(alphaFineConfigManager.isContainTemplate()); diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index a4c185e6f..3dda9c1dd 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -1998,7 +1998,7 @@ FR-Designer_AlphaFine_EnableInternet=Designer_AlphaFine_EnableInternet FR-Designer_AlphaFine_EnableInternetSearch=SearchOnLine FR-Designer_AlphaFine_Shortcut_Config=Shortcut Config FR-Designer_AlphaFine_SearchRange=Search Range -FR-Designer_AlphaFine_Conclude=Conclude +FR-Designer_AlphaFine_Recommend=Recommend FR-Designer-Plugin_Addon=Plugin Addon FR-Designer_Templates=FR-Designer_Templates FR-Designer_Templates_Content=Templates Contents diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index c47970e1d..5afd87f46 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -1993,17 +1993,19 @@ FR-Designer_Permissions=Permissions FR-Designer_Form_Button=Button FR-Designer_WF_Name=Name FR-Designer_AlphaFine_Enable=Enable -FR-Designer_AlphaFine_EnableInternetSearch=SearchOnLine +FR-Designer_AlphaFine_EnableInternetSearch=Search OnLine FR-Designer_AlphaFine_Shortcut_Config=Shortcut Config FR-Designer_AlphaFine_SearchRange=Search Range -FR-Designer_AlphaFine_Conclude=Conclude +FR-Designer_AlphaFine_Recommend=Recommend FR-Designer-Plugin_Addon=Plugin Addon -FR-Designer_Templates=Templates -FR-Designer_Templates_Content=Template'Contents -FR-Designer_AlphaFine_ShowAll=show all +FR-Designer_Templates=Files +FR-Designer_Templates_Content=Files'contents +FR-Designer_AlphaFine_ShowAll=Show all FR-Designer_AlphaFine_Latest=Recent -FR-Designer_AlphaFine_ShowLess=show less +FR-Designer_AlphaFine_ShowLess=Show less FR-Designer_Alphafine=AlphaFine -FR-Designer-Alphafine_No_Remind=don't remind -FR-Designere_AlphaFine_NoResult=no results -FR-Designer_ConnectionFailed=connection failed \ No newline at end of file +FR-Designer-Alphafine_No_Remind=Don't remind +FR-Designere_AlphaFine_NoResult=No results +FR-Designer_ConnectionFailed=Connection failed +FR-Designer_AlphaFine_EnableAlphaFine=Enable AlphaFine +FR-Designer_AlphaFine_EnableInternet=Internet \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 749dba173..104508b77 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -1998,7 +1998,7 @@ FR-Designer-Plugin_Addon=\u5E94\u7528\u4E2D\u5FC3 FR-Designer_Templates=\u6A21\u677F FR-Designer_Templates_Content=\u6A21\u677F\u5185\u5BB9 FR-Designer_AlphaFine_ShowAll=\u663E\u793A\u5168\u90E8 -FR-Designer_AlphaFine_Conclude=\u731C\u60A8\u9700\u8981 +FR-Designer_AlphaFine_Recommend=\u731C\u60A8\u9700\u8981 FR-Designer_AlphaFine_Latest=\u672C\u5730\u5E38\u7528 FR-Designer_AlphaFine_ShowLess=\u6536\u8D77 FR-Designer_Alphafine=AlphaFine\u667A\u80FD\u641C\u7D22 diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 0e0e2ee32..2380dfe76 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -1992,7 +1992,7 @@ FR-Designer_AlphaFine_EnableAlphaFine=\u958B\u555FAlphaFine\u529F\u80FD FR-Designer_AlphaFine_EnableInternetSearch=\u806F\u7DB2\u641C\u7D22 FR-Designer_AlphaFine_Shortcut_Config=\u5FEB\u6377\u9375\u914D\u7F6E FR-Designer_AlphaFine_SearchRange=\u641C\u7D22\u7BC4\u570D -FR-Designer_AlphaFine_Conclude=\u731C\u60A8\u9700\u8981 +FR-Designer_AlphaFine_Recommend=\u731C\u60A8\u9700\u8981 FR-Designer-Plugin_Addon=\u61C9\u7528\u4E2D\u5FC3 FR-Designer_Templates=\u6A21\u677F FR-Designer_Templates_Content=\u6A21\u677F\u5167\u5BB9 From d3f52129030b2236508c737297e7de5e2f64419b Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 9 Jun 2017 15:38:40 +0800 Subject: [PATCH 43/76] =?UTF-8?q?REPORT-2860=209.0=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/locale/designer_en_US.properties | 4 ++-- .../src/com/fr/design/locale/designer_ja_JP.properties | 4 ++-- .../src/com/fr/design/locale/designer_ko_KR.properties | 4 ++-- .../src/com/fr/design/locale/designer_zh_CN.properties | 4 ++-- .../src/com/fr/design/locale/designer_zh_TW.properties | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 774beedf5..25c2921e1 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -1044,7 +1044,7 @@ FR-Designer-Tree_Width=Tree Width Record=Record Poly-Report_Component=Aggregate Report Component Options=Options -NS-war-remote=Error codes\:1117 Compression deployment does not support remote design +NS-war-remote=Error codes\:11100017 Compression deployment does not support remote design Sche-Minute=Minute Three_Rows_Of_Three_Grid=A grid with 3 rows and 3 columns WorkSheet=Free Report @@ -1412,7 +1412,7 @@ Rename=Rename Widget-Load_By_Async=Async load Shape=Shape BindColumn-This_Condition_has_been_existed=The Condition Already Exists -NS-exception_readError=Error codes\:1305 Template file parsing error +NS-exception_readError=Error codes\:11300005 Template file parsing error Set_Column_Title_Start=Set Duplicate Title Columns Fri=Fri M_Report-Report_Parameter=Report Parameter diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index 9cb8cd654..794181a57 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -1039,7 +1039,7 @@ FR-Designer-Tree_Width=\u5E45 Record=\u8A18\u9332 Poly-Report_Component=\u805A\u5408\u5E33\u7968\u30A2\u30BB\u30F3\u30D6\u30EA Options=\u30AA\u30D7\u30B7\u30E7\u30F3 -NS-war-remote=\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\:1117 \u5727\u7E2E\u914D\u7F6E\u306F\u9060\u9694\u30C7\u30B6\u30A4\u30F3\u306B\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093 +NS-war-remote=\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\:11100017 \u5727\u7E2E\u914D\u7F6E\u306F\u9060\u9694\u30C7\u30B6\u30A4\u30F3\u306B\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093 Sche-Minute=\u5206 Three_Rows_Of_Three_Grid=3\u4E57\u306E3\u3064\u306E\u884C WorkSheet=\u30EF\u30FC\u30AF\u30B7\u30FC\u30C8 @@ -1407,7 +1407,7 @@ Rename=\u540D\u79F0\u306E\u5909\u66F4 Widget-Load_By_Async=\u975E\u540C\u671F\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9 Shape=\u56F3\u5F62 BindColumn-This_Condition_has_been_existed=\u5F53\u8A72\u6761\u4EF6\u306F\u5B58\u5728\u3057\u3066\u3044\u307E\u3059 -NS-exception_readError=\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\:1305 \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u89E3\u6790\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F +NS-exception_readError=\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\:11300005 \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u89E3\u6790\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F Set_Column_Title_Start=\u91CD\u8907\u3059\u308B\u6A19\u984C\u5217\u3092\u8A2D\u5B9A Fri=\u91D1 M_Report-Report_Parameter=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index 93a796d79..593f372a5 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -1040,7 +1040,7 @@ FR-Designer-Tree_Width=\uB108\uBE44 Record=\uB808\uCF54\uB4DC Poly-Report_Component=\uCDE8\uD569\uBB38\uC11C\uC5B4\uC148\uBE14\uB9AC Options=\uC635\uC158 -NS-war-remote=\uC624\uB958\uCF54\uB4DC\:1117 \uC555\uCD95\uC124\uCE58\uB97C\uC9C0\uC6D0\uD558\uC9C0\uC54A\uC2B5\uB2C8\uB2E4. \uC6D0\uACA9\uB514\uC790\uC778 +NS-war-remote=\uC624\uB958\uCF54\uB4DC\:11100017 \uC555\uCD95\uC124\uCE58\uB97C\uC9C0\uC6D0\uD558\uC9C0\uC54A\uC2B5\uB2C8\uB2E4. \uC6D0\uACA9\uB514\uC790\uC778 Sche-Minute=\uBD84 Three_Rows_Of_Three_Grid=3\uD589 3\uC5F4\uC758\uADF8\uB9AC\uB4DC WorkSheet=\uC790\uC720\uBB38\uC11C @@ -1408,7 +1408,7 @@ Rename=\uB9AC\uB124\uC784 Widget-Load_By_Async=\uBE44\uB3D9\uAE30\uB85C\uB529 Shape=\uADF8\uB798\uD504 BindColumn-This_Condition_has_been_existed=\uC774\uC870\uAC74\uC740\uC774\uBBF8\uC874\uC7AC\uD569\uB2C8\uB2E4. -NS-exception_readError=\uC624\uB958\uCF54\uB4DC\:1305 \uD15C\uD50C\uB9BF\uD30C\uC77C\uD574\uC11D\uC624\uB958 +NS-exception_readError=\uC624\uB958\uCF54\uB4DC\:11300005 \uD15C\uD50C\uB9BF\uD30C\uC77C\uD574\uC11D\uC624\uB958 Set_Column_Title_Start=\uC911\uBCF5\uC81C\uBAA9\uC5F4\uC124\uC815 Fri=5 M_Report-Report_Parameter=\uD15C\uD50C\uB9BF\uB9E4\uAC1C\uBCC0\uC218 diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 008f2df8d..08d9d3285 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -1039,7 +1039,7 @@ FR-Designer-Tree_Width=\u5BBD\u5EA6 Record=\u8BB0\u5F55 Poly-Report_Component=\u805A\u5408\u62A5\u8868\u7EC4\u4EF6 Options=\u9009\u9879 -NS-war-remote=\u9519\u8BEF\u4EE3\u7801\:1117 \u538B\u7F29\u90E8\u7F72\u4E0D\u652F\u6301\u8FDC\u7A0B\u8BBE\u8BA1 +NS-war-remote=\u9519\u8BEF\u4EE3\u7801\:11100017 \u538B\u7F29\u90E8\u7F72\u4E0D\u652F\u6301\u8FDC\u7A0B\u8BBE\u8BA1 Sche-Minute=\u5206 Three_Rows_Of_Three_Grid=\u4E09\u884C\u4E09\u5217\u7684\u683C\u5B50 WorkSheet=\u81EA\u7531\u62A5\u8868 @@ -1407,7 +1407,7 @@ Rename=\u91CD\u547D\u540D Widget-Load_By_Async=\u5F02\u6B65\u52A0\u8F7D Shape=\u56FE\u5F62 BindColumn-This_Condition_has_been_existed=\u6B64\u6761\u4EF6\u5DF2\u7ECF\u5B58\u5728 -NS-exception_readError=\u9519\u8BEF\u4EE3\u7801\:1305 \u6A21\u677F\u6587\u4EF6\u89E3\u6790\u51FA\u9519 +NS-exception_readError=\u9519\u8BEF\u4EE3\u7801\:11300005 \u6A21\u677F\u6587\u4EF6\u89E3\u6790\u51FA\u9519 Set_Column_Title_Start=\u8BBE\u7F6E\u91CD\u590D\u6807\u9898\u5217 Fri=\u4E94 M_Report-Report_Parameter=\u6A21\u677F\u53C2\u6570 diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 4a8a86d71..156339cfe 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -1039,7 +1039,7 @@ FR-Designer-Tree_Width=\u5BEC\u5EA6 Record=\u8A18\u9304 Poly-Report_Component=\u8907\u5408\u5F0F\u5831\u8868\u5143\u4EF6 Options=\u9078\u9805 -NS-war-remote=\u932F\u8AA4\u4EE3\u78BC\:1117 \u58D3\u7E2E\u90E8\u7F72\u4E0D\u652F\u6301\u9060\u7A0B\u8A2D\u8A08 +NS-war-remote=\u932F\u8AA4\u4EE3\u78BC\:11100017 \u58D3\u7E2E\u90E8\u7F72\u4E0D\u652F\u6301\u9060\u7A0B\u8A2D\u8A08 Sche-Minute=\u5206 Three_Rows_Of_Three_Grid=\u4E09\u5217\u4E09\u6B04\u7684\u683C\u5B50 WorkSheet=\u81EA\u7531\u5831\u8868 @@ -1407,7 +1407,7 @@ Rename=\u91CD\u547D\u540D Widget-Load_By_Async=\u975E\u540C\u6B65\u8F09\u5165 Shape=\u5716\u5F62 BindColumn-This_Condition_has_been_existed=\u6B64\u689D\u4EF6\u5DF2\u7D93\u5B58\u5728 -NS-exception_readError=\u932F\u8AA4\u4EE3\u78BC\:1305 \u6A21\u677F\u6A94\u6848\u89E3\u6790\u51FA\u932F +NS-exception_readError=\u932F\u8AA4\u4EE3\u78BC\:11300005 \u6A21\u677F\u6A94\u6848\u89E3\u6790\u51FA\u932F Set_Column_Title_Start=\u8A2D\u5B9A\u91CD\u8907\u6A19\u984C\u6B04 Fri=\u4E94 M_Report-Report_Parameter=\u6A21\u677F\u53C3\u6578 From 9ce19d1b69929ccde74c1b38e68723932f5e5136 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 9 Jun 2017 17:12:28 +0800 Subject: [PATCH 44/76] =?UTF-8?q?REPORT-2561=20=E5=A4=A7=E5=B1=8F-?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E6=97=B6=E9=92=9F=E6=8F=92=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E8=A1=A8=E5=B7=A6=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../properties/WidgetPropertyTable.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java index c33d4296c..a4ffae310 100644 --- a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java +++ b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java @@ -4,10 +4,12 @@ import java.awt.event.MouseEvent; import java.util.ArrayList; import javax.swing.JTable; +import javax.swing.event.TableModelEvent; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import com.fr.design.beans.GroupModel; +import com.fr.design.event.ChangeEvent; import com.fr.design.gui.itable.AbstractPropertyTable; import com.fr.design.gui.itable.PropertyGroup; import com.fr.design.mainframe.FormDesigner; @@ -27,8 +29,6 @@ public class WidgetPropertyTable extends AbstractPropertyTable { private FormDesigner designer; private static final int LEFT_COLUMN_WIDTH = 97; // "属性名"列的宽度 - private static final int RIGHT_COLUMN_WIDTH = 138; // "属性值"列的宽度 - public WidgetPropertyTable(FormDesigner designer) { super(); @@ -87,15 +87,20 @@ public class WidgetPropertyTable extends AbstractPropertyTable { } TableModel model = new BeanTableModel(); setModel(model); + this.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); TableColumn tc = this.getColumn(this.getColumnName(0)); tc.setMinWidth(LEFT_COLUMN_WIDTH); tc.setMaxWidth(LEFT_COLUMN_WIDTH); - TableColumn tcRight = this.getColumn(this.getColumnName(1)); - tcRight.setMinWidth(RIGHT_COLUMN_WIDTH); - tcRight.setMaxWidth(RIGHT_COLUMN_WIDTH); this.repaint(); } + + private void setRightColumnWidth(boolean automode) { + int rightColumnWidth = this.getWidth() - LEFT_COLUMN_WIDTH; + TableColumn tcRight = this.getColumn(this.getColumnName(1)); + tcRight.setMinWidth(automode ? 0 : rightColumnWidth); + tcRight.setMaxWidth(automode ? this.getWidth() : rightColumnWidth); + } private void setDesigner(FormDesigner designer) { this.designer = designer; @@ -117,7 +122,14 @@ public class WidgetPropertyTable extends AbstractPropertyTable { } return null; } - + + @Override + public void columnMarginChanged(javax.swing.event.ChangeEvent e) { + setRightColumnWidth(false); + super.columnMarginChanged(e); + setRightColumnWidth(true); + } + /** * 待说明 */ From a49ee35fa1db355bd89d77558c7e633dba2d5e6a Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 9 Jun 2017 17:14:48 +0800 Subject: [PATCH 45/76] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/designer/properties/WidgetPropertyTable.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java index a4ffae310..531d7abc5 100644 --- a/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java +++ b/designer_form/src/com/fr/design/designer/properties/WidgetPropertyTable.java @@ -4,12 +4,10 @@ import java.awt.event.MouseEvent; import java.util.ArrayList; import javax.swing.JTable; -import javax.swing.event.TableModelEvent; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import com.fr.design.beans.GroupModel; -import com.fr.design.event.ChangeEvent; import com.fr.design.gui.itable.AbstractPropertyTable; import com.fr.design.gui.itable.PropertyGroup; import com.fr.design.mainframe.FormDesigner; From ee6890d7bc04653811cbac57ea2701456c3d5b83 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 9 Jun 2017 17:17:40 +0800 Subject: [PATCH 46/76] =?UTF-8?q?alphafine=20bug=20fix=20=E5=8E=BB?= =?UTF-8?q?=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/AlphaFineHelper.java | 17 ++++- .../alphafine/component/AlphaFinePane.java | 2 +- .../search/manager/ActionSearchManager.java | 33 +++++----- .../search/manager/DocumentSearchManager.java | 42 +++++-------- .../search/manager/FileSearchManager.java | 33 +++++----- .../search/manager/PluginSearchManager.java | 54 +++++++--------- .../search/manager/RecentSearchManager.java | 62 +------------------ .../manager/RecommendSearchManager.java | 20 ++++-- 8 files changed, 107 insertions(+), 156 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 53b60c6b2..1cfe25c4d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -3,18 +3,24 @@ package com.fr.design.mainframe.alphafine; import com.fr.design.DesignerEnvManager; import com.fr.design.actions.help.alphafine.AlphaFineConfigManager; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.component.AlphaFineDialog; +import com.fr.design.mainframe.alphafine.search.manager.RecentSearchManager; +import com.fr.design.mainframe.alphafine.search.manager.RecommendSearchManager; import com.fr.general.Inter; import com.fr.general.ProcessCanceledException; import com.fr.stable.StringUtils; +import java.util.ArrayList; +import java.util.List; + /** * Created by XiaXiang on 2017/5/8. */ public class AlphaFineHelper { - public static final NoResultModel noResultModel = new NoResultModel(Inter.getLocText("FR-Designere_AlphaFine_NoResult")); - public static final NoResultModel noConnectionModel = new NoResultModel(Inter.getLocText("FR-Designer_ConnectionFailed")); + public static final NoResultModel NO_RESULT_MODEL = new NoResultModel(Inter.getLocText("FR-Designer_AlphaFine_NoResult")); + public static final NoResultModel NO_CONNECTION_MODEL = new NoResultModel(Inter.getLocText("FR-Designer_ConnectionFailed")); /** * 弹出alphafine搜索面板 @@ -70,6 +76,13 @@ public class AlphaFineHelper { } } + public static List getFilterResult() { + List recentList = RecentSearchManager.getRecentSearchManger().getRecentModelList(); + List recommendList = RecommendSearchManager.getRecommendSearchManager().getRecommendModelList(); + recentList.addAll(recommendList); + return recentList; + } + diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java index 3d4173bc5..e5ea8e258 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java @@ -33,7 +33,7 @@ public class AlphaFinePane extends BasicPane { } UIButton refreshButton = new UIButton(); refreshButton.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png")); - refreshButton.setToolTipText(Inter.getLocText("AlphaFine")); + refreshButton.setToolTipText(Inter.getLocText("FR-Designer_AlphaFine")); refreshButton.set4ToolbarButton(); this.add(refreshButton); refreshButton.addActionListener(new ActionListener() { diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index a38c52b43..8d21c239d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -12,6 +12,7 @@ import com.fr.design.mainframe.toolbar.UpdateActionModel; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.StringUtils; +import com.fr.third.com.lowagie.text.pdf.PRAcroForm; import java.util.List; @@ -24,6 +25,9 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { private SearchResult lessModelList; private SearchResult moreModelList; + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION); + private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION); + public synchronized static ActionSearchManager getActionSearchManager() { if (actionSearchManager == null) { actionSearchManager = new ActionSearchManager(); @@ -45,25 +49,24 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { } } } - - final int length = Math.min(AlphaFineConstants.SHOW_SIZE, filterModelList.size()); - for (int i = 0; i < length; i++) { - lessModelList.add(filterModelList.get(i)); - } - for (int i = length; i < filterModelList.size(); i++) { - moreModelList.add(filterModelList.get(i)); + SearchResult result = new SearchResult(); + for (Object object : filterModelList) { + if (!AlphaFineHelper.getFilterResult().contains(object)) + result.add(object); } - if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE) { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION)); - } else { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION)); - if (lessModelList.size() == 1) { - lessModelList.add(AlphaFineHelper.noResultModel); + if (result.size() < AlphaFineConstants.SHOW_SIZE + 1) { + lessModelList.add(0, TITLE_MODEL); + if (result.size() == 0) { + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + } else { + lessModelList.addAll(result); } + } else { + lessModelList.add(0, MORE_MODEL); + lessModelList.addAll(result.subList(0, AlphaFineConstants.SHOW_SIZE)); + moreModelList.addAll(result.subList(AlphaFineConstants.SHOW_SIZE, result.size())); } - - } return lessModelList; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 7d5d4a6df..2c4e5546f 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -22,6 +22,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { private SearchResult lessModelList; private SearchResult moreModelList; private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); + private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT); public synchronized static DocumentSearchManager getDocumentSearchManager() { if (documentSearchManager == null) { @@ -50,50 +51,41 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { JSONObject jsonObject = new JSONObject(result); JSONArray jsonArray = jsonObject.optJSONArray("docdata"); if (jsonArray != null) { - final int length = Math.min(AlphaFineConstants.SHOW_SIZE, jsonArray.length()); - for (int i = 0; i < length; i++) { + SearchResult searchResult = new SearchResult(); + for (int i = 0; i < jsonArray.length(); i++) { AlphaFineHelper.checkCancel(); DocumentModel cellModel = getModelFromCloud(jsonArray.optJSONObject(i)); - this.lessModelList.add(cellModel); - } - for (int i = length; i < jsonArray.length(); i++) { - AlphaFineHelper.checkCancel(); - DocumentModel cellModel = getModelFromCloud(jsonArray.optJSONObject(i)); - this.moreModelList.add(cellModel); + if (!AlphaFineHelper.getFilterResult().contains(cellModel)) { + searchResult.add(cellModel); + } } - if (jsonArray.length() > AlphaFineConstants.SHOW_SIZE) { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT)); - } else { + if (searchResult.size() < AlphaFineConstants.SHOW_SIZE + 1) { lessModelList.add(0, TITLE_MODEL); - if (lessModelList.size() == 1) { - lessModelList.add(AlphaFineHelper.noResultModel); + if (searchResult.size() == 0) { + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + } else { + lessModelList.addAll(searchResult); } + } else { + lessModelList.add(0, MORE_MODEL); + lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); + moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } - - } } catch (JSONException e) { - FRLogger.getLogger().error(e.getMessage()); - return getNoResultList(); + FRLogger.getLogger().error("document search error: " + e.getMessage()); } } return lessModelList; } - private SearchResult getNoResultList() { - SearchResult result = new SearchResult(); - result.add(0, TITLE_MODEL); - result.add(AlphaFineHelper.noResultModel); - return result; - - } private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); result.add(0, TITLE_MODEL); - result.add(AlphaFineHelper.noConnectionModel); + result.add(AlphaFineHelper.NO_CONNECTION_MODEL); return result; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index b3d8ee941..99e76ada1 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -29,6 +29,9 @@ public class FileSearchManager implements AlphaFineSearchProcessor { private List fileNodes = null; private static FileSearchManager fileSearchManager = null; + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE); + private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.FILE); + public synchronized static FileSearchManager getFileSearchManager() { init(); return fileSearchManager; @@ -56,26 +59,24 @@ public class FileSearchManager implements AlphaFineSearchProcessor { searchFileContent(searchText, node, isAlreadyContain, filePath); } - - final int length = Math.min(AlphaFineConstants.SHOW_SIZE, filterModelList.size()); - for (int i = 0; i < length; i++) { - lessModelList.add(filterModelList.get(i)); - } - for (int i = length; i< filterModelList.size(); i++) { - moreModelList.add(filterModelList.get(i)); + SearchResult result = new SearchResult(); + for (Object object : filterModelList) { + if (!AlphaFineHelper.getFilterResult().contains(object)) + result.add(object); } - - if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE) { - lessModelList.add(0,new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.FILE)); - } else { - lessModelList.add(0,new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE)); - if (lessModelList.size() == 1) { - lessModelList.add(AlphaFineHelper.noResultModel); + if (result.size() < AlphaFineConstants.SHOW_SIZE + 1) { + lessModelList.add(0, TITLE_MODEL); + if (result.size() == 0) { + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + } else { + lessModelList.addAll(result); } + } else { + lessModelList.add(0, MORE_MODEL); + lessModelList.addAll(result.subList(0, AlphaFineConstants.SHOW_SIZE)); + moreModelList.addAll(result.subList(AlphaFineConstants.SHOW_SIZE, result.size())); } } - - return this.lessModelList; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index 44266cad2..53fc0bb17 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -12,6 +12,7 @@ import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; +import com.fr.json.JSONException; import com.fr.json.JSONObject; import java.io.UnsupportedEncodingException; @@ -24,7 +25,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { private static PluginSearchManager pluginSearchManager = null; private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN); - + private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN); private SearchResult lessModelList; private SearchResult moreModelList; @@ -58,33 +59,32 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { JSONObject jsonObject = new JSONObject(result); JSONArray jsonArray = jsonObject.optJSONArray("result"); if (jsonArray != null) { - int length = Math.min(AlphaFineConstants.SHOW_SIZE, jsonArray.length()); - for (int i = 0; i < length; i++) { - AlphaFineHelper.checkCancel(); - PluginModel cellModel = getPluginModel(jsonArray.optJSONObject(i), false); - this.lessModelList.add(cellModel); - } - for (int i = length; i < jsonArray.length(); i++) { - AlphaFineHelper.checkCancel(); + SearchResult searchResult = new SearchResult(); + for (int i = 0; i < jsonArray.length(); i++) { PluginModel cellModel = getPluginModel(jsonArray.optJSONObject(i), false); - this.moreModelList.add(cellModel); + if (!AlphaFineHelper.getFilterResult().contains(cellModel)) { + searchResult.add(cellModel); + } } - if (jsonArray.length() > AlphaFineConstants.SHOW_SIZE) { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN)); - } else { + if (searchResult.size() < AlphaFineConstants.SHOW_SIZE + 1) { lessModelList.add(0, TITLE_MODEL); - if (lessModelList.size() == 1) { - lessModelList.add(AlphaFineHelper.noResultModel); + if (searchResult.size() == 0) { + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + } else { + lessModelList.addAll(searchResult); } + } else { + lessModelList.add(0, MORE_MODEL); + lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); + moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } - } else { - return getNoResultList(); } - } catch (Exception e) { - FRLogger.getLogger().error(e.getMessage()); - return getNoResultList(); + } catch (JSONException e) { + FRLogger.getLogger().error("plugin search json error :" + e.getMessage()); + } catch (UnsupportedEncodingException e) { + FRLogger.getLogger().error("plugin search encode error :" + e.getMessage()); } } return this.lessModelList; @@ -92,18 +92,10 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { } - private SearchResult getNoResultList() { - SearchResult result = new SearchResult(); - result.add(0, TITLE_MODEL); - result.add(AlphaFineHelper.noResultModel); - return result; - - } - private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); result.add(0, TITLE_MODEL); - result.add(AlphaFineHelper.noConnectionModel); + result.add(AlphaFineHelper.NO_CONNECTION_MODEL); return result; } @@ -151,8 +143,4 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { } } - - - - } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 8f818fd9d..2d88acbe4 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -5,6 +5,7 @@ import com.fr.base.Utils; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; +import com.fr.design.mainframe.alphafine.cell.CellModelHelper; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; @@ -40,10 +41,6 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear private static RecentSearchManager recentSearchManager = null; private static File recentFile = null; private SearchResult modelList; - private List fileList = new ArrayList<>(); - private List actionList = new ArrayList<>(); - private List documentList = new ArrayList<>(); - private List pluginList = new ArrayList<>(); private List recentModelList = new ArrayList<>(); private Map> recentKVModelMap = new HashMap<>(); @@ -99,7 +96,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear private void addModelToList(List list, String name) { try { - AlphaCellModel model = getModelFromJson(new JSONObject(name)); + AlphaCellModel model = CellModelHelper.getModelFromJson(new JSONObject(name)); if (model != null) { list.add(model); } @@ -108,60 +105,6 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear } } - /** - * 转成cellModel - * @param object - * @return - */ - private AlphaCellModel getModelFromJson(JSONObject object) { - int typeValue = object.optInt("cellType"); - AlphaCellModel cellModel = null; - switch (CellType.parse(typeValue)) { - case ACTION: - cellModel = ActionSearchManager.getModelFromCloud(object.optString("result")); - if (cellModel != null) { - actionList.add(cellModel); - } - break; - case DOCUMENT: - cellModel = DocumentSearchManager.getModelFromCloud(object.optJSONObject("result")); - if (cellModel != null) { - documentList.add(cellModel); - } - break; - case FILE: - cellModel = FileSearchManager.getModelFromCloud(object.optString("result")); - if (cellModel != null) { - fileList.add(cellModel); - } - break; - case PLUGIN: - case REUSE: - cellModel = PluginSearchManager.getModelFromCloud(object.optJSONObject("result")); - if (cellModel != null) { - pluginList.add(cellModel); - } - break; - - } - return cellModel; - } - - public List getFileList() { - return fileList; - } - - public List getActionList() { - return actionList; - } - - public List getDocumentList() { - return documentList; - } - - public List getPluginList() { - return pluginList; - } @Override public void writeXML(XMLPrintWriter writer) { @@ -210,7 +153,6 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear if (!envFile.exists()) { createRecentFile(envFile); } - return envFile; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index b63241868..051c8e66e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -14,12 +14,16 @@ import com.fr.json.JSONException; import com.fr.json.JSONObject; import com.fr.stable.CodeUtils; +import java.util.ArrayList; +import java.util.List; + /** * Created by XiaXiang on 2017/3/31. */ public class RecommendSearchManager implements AlphaFineSearchProcessor { private static RecommendSearchManager recommendSearchManager = null; private SearchResult modelList; + private List recommendModelList = new ArrayList<>(); //todo:for test private static final String SEARCHAPI = "http://localhost:8080/monitor/alphafine/search/recommend?searchKey="; @@ -51,17 +55,18 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { AlphaFineHelper.checkCancel(); AlphaCellModel alphaCellModel = CellModelHelper.getModelFromJson((JSONObject) jsonArray.get(i)); if (alphaCellModel != null && !RecentSearchManager.getRecentSearchManger().getRecentModelList().contains(alphaCellModel)) { - this.modelList.add(alphaCellModel); + this.recommendModelList.add(alphaCellModel); } } } } } catch (JSONException e) { - FRLogger.getLogger().error("data transform error! :" + e.getMessage()); + FRLogger.getLogger().error("recommend search error! :" + e.getMessage()); } if (modelList.size() > 0) { - modelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); + modelList.add(new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); + modelList.addAll(recommendModelList); } } @@ -71,7 +76,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); result.add(0, new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); - result.add(AlphaFineHelper.noConnectionModel); + result.add(AlphaFineHelper.NO_CONNECTION_MODEL); return result; } @@ -80,4 +85,11 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { return new SearchResult(); } + public List getRecommendModelList() { + return recommendModelList; + } + + public void setRecommendModelList(List recommendModelList) { + this.recommendModelList = recommendModelList; + } } From 785b0749f32d5a297c2ee6967fd164b7bfa9e71b Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 9 Jun 2017 17:26:37 +0800 Subject: [PATCH 47/76] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/search/manager/ActionSearchManager.java | 1 - .../alphafine/search/manager/DocumentSearchManager.java | 5 ++++- .../alphafine/search/manager/RecentSearchManager.java | 1 - .../design/actions/help/alphafine/AlphaFineContext.java | 8 ++++++-- .../design/actions/help/alphafine/AlphaFineListener.java | 9 +++++++++ .../fr/design/actions/help/alphafine/RemindDialog.java | 1 + 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 8d21c239d..e2ecebb80 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -12,7 +12,6 @@ import com.fr.design.mainframe.toolbar.UpdateActionModel; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.StringUtils; -import com.fr.third.com.lowagie.text.pdf.PRAcroForm; import java.util.List; diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 2c4e5546f..4fb8a060d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -81,7 +81,10 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { return lessModelList; } - + /** + * 无连接 + * @return + */ private SearchResult getNoConnectList() { SearchResult result = new SearchResult(); result.add(0, TITLE_MODEL); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 2d88acbe4..76de3b84e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -4,7 +4,6 @@ import com.fr.base.FRContext; import com.fr.base.Utils; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; -import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.CellModelHelper; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java index 77ff93c1d..4dd92bc3d 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineContext.java @@ -18,6 +18,10 @@ public class AlphaFineContext { } } + /** + * 触发开启或关闭AlphaFine功能 + * @param isEnable + */ public static void fireAlphaFineEnable(boolean isEnable) { for (AlphaFineListener l : fireAlphaFineListener) { l.setEnable(isEnable); @@ -25,9 +29,9 @@ public class AlphaFineContext { } /** - * 添加一个弹出AlphaFine的监听事件 + * 添加一个AlphaFine的监听事件 * - * @param l AlphaFine框弹出监听事件 + * @param l AlphaFine监听事件 */ public static void addAlphaFineListener(AlphaFineListener l) { fireAlphaFineListener.add(l); diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java index b11696640..078bbdfd5 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineListener.java @@ -2,8 +2,17 @@ package com.fr.design.actions.help.alphafine; /** * Created by XiaXiang on 2017/5/27. + * AlphaFine监听器 */ public interface AlphaFineListener { + /** + * 显示dialog + */ void showDialog(); + + /** + * 设置可用性 + * @param isEnable + */ void setEnable(boolean isEnable); } diff --git a/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java b/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java index eca6eab55..fe894437d 100644 --- a/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java +++ b/designer_base/src/com/fr/design/actions/help/alphafine/RemindDialog.java @@ -8,6 +8,7 @@ import java.awt.*; /** * Created by XiaXiang on 2017/5/26. + * 提示弹窗 */ public class RemindDialog extends UIDialog { private RemindPane remindPane; From f3f841487cf8534550809af9fe9587fe1ba1f278 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 9 Jun 2017 17:33:50 +0800 Subject: [PATCH 48/76] =?UTF-8?q?bug=20fix=20=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java | 2 +- designer_base/src/com/fr/design/locale/designer.properties | 2 +- .../src/com/fr/design/locale/designer_en_US.properties | 2 +- .../src/com/fr/design/locale/designer_zh_CN.properties | 2 +- .../src/com/fr/design/locale/designer_zh_TW.properties | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index 1cfe25c4d..c294218dc 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -12,7 +12,7 @@ import com.fr.general.Inter; import com.fr.general.ProcessCanceledException; import com.fr.stable.StringUtils; -import java.util.ArrayList; + import java.util.List; /** diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 3dda9c1dd..1453ff2df 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2007,5 +2007,5 @@ FR-Designer_AlphaFine_Latest=Latest FR-Designer_AlphaFine_ShowLess=show less FR-Designer_Alphafine=AlphaFine FR-Designer-Alphafine_No_Remind= -FR-Designere_AlphaFine_NoResult=no results +FR-Designer_AlphaFine_NoResult=no results FR-Designer_ConnectionFailed=connection failed \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 5afd87f46..6277a96fa 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2005,7 +2005,7 @@ FR-Designer_AlphaFine_Latest=Recent FR-Designer_AlphaFine_ShowLess=Show less FR-Designer_Alphafine=AlphaFine FR-Designer-Alphafine_No_Remind=Don't remind -FR-Designere_AlphaFine_NoResult=No results +FR-Designer_AlphaFine_NoResult=No results FR-Designer_ConnectionFailed=Connection failed FR-Designer_AlphaFine_EnableAlphaFine=Enable AlphaFine FR-Designer_AlphaFine_EnableInternet=Internet \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 104508b77..27046e608 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2003,5 +2003,5 @@ FR-Designer_AlphaFine_Latest=\u672C\u5730\u5E38\u7528 FR-Designer_AlphaFine_ShowLess=\u6536\u8D77 FR-Designer_Alphafine=AlphaFine\u667A\u80FD\u641C\u7D22 FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A -FR-Designere_AlphaFine_NoResult=\u6682\u65E0\u76F8\u5173\u5185\u5BB9 +FR-Designer_AlphaFine_NoResult=\u6682\u65E0\u76F8\u5173\u5185\u5BB9 FR-Designer_ConnectionFailed=\u94FE\u63A5\u5931\u8D25 \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 2380dfe76..4f75594bc 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2001,5 +2001,5 @@ FR-Designer_AlphaFine_ShowLess=\u6536\u8D77 FR-Designer_Alphafine=AlphaFine\u667A\u80FD\u641C\u7D22 FR-Designer_AlphaFine_ShowAll=\u986F\u793A\u5168\u90E8 FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A -FR-Designere_AlphaFine_NoResult=\u66AB\u7121\u76F8\u95DC\u5167\u5BB9 +FR-Designer_AlphaFine_NoResult=\u66AB\u7121\u76F8\u95DC\u5167\u5BB9 FR-Designer_ConnectionFailed=\u93C8\u63A5\u5931\u6557 \ No newline at end of file From 4fbe80e858c8d084c838fd8bebeda1ba59668ab5 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 9 Jun 2017 17:36:54 +0800 Subject: [PATCH 49/76] fix pmd --- .../alphafine/search/manager/ActionSearchManager.java | 4 +++- .../alphafine/search/manager/FileSearchManager.java | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index e2ecebb80..85c43b794 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -50,8 +50,10 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { } SearchResult result = new SearchResult(); for (Object object : filterModelList) { - if (!AlphaFineHelper.getFilterResult().contains(object)) + if (!AlphaFineHelper.getFilterResult().contains(object)) { result.add(object); + } + } if (result.size() < AlphaFineConstants.SHOW_SIZE + 1) { lessModelList.add(0, TITLE_MODEL); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 99e76ada1..6fe9f5d23 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -61,8 +61,10 @@ public class FileSearchManager implements AlphaFineSearchProcessor { } SearchResult result = new SearchResult(); for (Object object : filterModelList) { - if (!AlphaFineHelper.getFilterResult().contains(object)) - result.add(object); + if (!AlphaFineHelper.getFilterResult().contains(object)) { + result.add(object); + } + } if (result.size() < AlphaFineConstants.SHOW_SIZE + 1) { lessModelList.add(0, TITLE_MODEL); From f0b782d7555204e17b98bdd49eebe343522c41a4 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 9 Jun 2017 21:19:25 +0800 Subject: [PATCH 50/76] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=B8=B8=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E7=89=87=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/search/manager/PluginSearchManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index 53fc0bb17..a24368ba6 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -105,7 +105,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { int pluginId = object.optInt("id"); String imageUrl = null; try { - imageUrl = AlphaFineConstants.PLUGIN_IMAGE_URL + URLEncoder.encode(object.optString("pic").toString().substring(AlphaFineConstants.PLUGIN_IMAGE_URL.length()), "utf8"); + imageUrl = isFromCloud? AlphaFineConstants.PLUGIN_IMAGE_URL + URLEncoder.encode(object.optString("pic").toString().substring(AlphaFineConstants.PLUGIN_IMAGE_URL.length()), "utf8") : object.optString("pic"); } catch (UnsupportedEncodingException e) { FRLogger.getLogger().error(e.getMessage()); } From eb5a7a7cb3a6b2e1a77ff455a6da3c8ec9150e95 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 10 Jun 2017 11:20:50 +0800 Subject: [PATCH 51/76] =?UTF-8?q?=E9=9A=90=E8=97=8F=E7=9A=84=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/component/AlphaFineDialog.java | 35 ++++++++++++--- .../search/manager/FileSearchManager.java | 44 +++++++++++++++++-- 2 files changed, 69 insertions(+), 10 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 1b975f948..b1a3c1858 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -246,7 +246,7 @@ public class AlphaFineDialog extends UIDialog { this.searchWorker = new SwingWorker() { @Override protected Object doInBackground() throws Exception { - rebuildList(searchTextField.getText()); + rebuildList(searchTextField.getText().toLowerCase()); return null; } @@ -262,10 +262,38 @@ public class AlphaFineDialog extends UIDialog { /** * 重新构建搜索结果列表 + * 先根据输入判断是不是隐藏的搜索功能 * @param searchText */ private void rebuildList(String searchText) { searchListModel.removeAllElements(); + if (searchText.startsWith("k:1 ") || searchText.startsWith("k:setting ")) { + getActionList(searchText.substring(4, searchText.length())); + return; + } else if (searchText.startsWith("k:2 ") || searchText.startsWith("k:help ")) { + getDocumentList(searchText.substring(4, searchText.length())); + return; + + } else if (searchText.startsWith("k:3 ") || searchText.startsWith("k:reportlets ")) { + getFileList(searchText.substring(4, searchText.length())); + return; + + } else if (searchText.startsWith("k:cpt ") || searchText.startsWith("k:frm ")) { + getFileList(searchText); + return; + } else if (searchText.startsWith("k:4 ") || searchText.startsWith("k:shop ")) { + getPluginList(searchText.substring(4, searchText.length())); + return; + + } + doNormalSearch(searchText.trim()); + } + + /** + * 普通搜索 + * @param searchText + */ + private void doNormalSearch(String searchText) { getRecentList(searchText); getRecommendList(searchText); getActionList(searchText); @@ -275,18 +303,13 @@ public class AlphaFineDialog extends UIDialog { } - private synchronized void getDocumentList(final String searchText) { - SearchResult documentModelList = DocumentSearchManager.getDocumentSearchManager().getLessSearchResult(searchText); for (Object object : documentModelList) { AlphaFineHelper.checkCancel(); searchListModel.addElement(object); } - - - } private synchronized void getFileList(final String searchText) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 6fe9f5d23..68adf0c44 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -27,7 +27,11 @@ public class FileSearchManager implements AlphaFineSearchProcessor { private SearchResult lessModelList; private SearchResult moreModelList; private List fileNodes = null; + //隐藏的搜索功能,可根据特殊的字符标记判断搜索分类 + private boolean isContainCpt = true; + private boolean isContainFrm = true; private static FileSearchManager fileSearchManager = null; + private static final int MARK_LENGTH = 6; private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE); private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.FILE); @@ -47,6 +51,13 @@ public class FileSearchManager implements AlphaFineSearchProcessor { this.filterModelList = new SearchResult(); this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); + if (searchText.startsWith("k:frm ")) { + isContainCpt = false; + searchText = searchText.substring(MARK_LENGTH, searchText.length()); + } else if (searchText.startsWith("k:cpt ")) { + isContainFrm = false; + searchText = searchText.substring(MARK_LENGTH, searchText.length()); + } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainTemplate()) { Env env = FRContext.getCurrentEnv(); fileNodes = new ArrayList<>(); @@ -151,7 +162,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { try { listAll(env, rootFilePath, fileNodeList, recurse); } catch (Exception e) { - FRContext.getLogger().error(e.getMessage(), e); + FRContext.getLogger().error("file search error: " + e.getMessage(), e); } return fileNodeList; } @@ -168,14 +179,16 @@ public class FileSearchManager implements AlphaFineSearchProcessor { FileNode[] fns = env.listFile(rootFilePath); for (int i = 0; i < fns.length; i++) { FileNode fileNode = fns[i]; - if (fileNode.isDirectory()) { + if (isContainCpt && fileNode.isFileType("cpt")) { + nodeList.add(fileNode); + } else if (isContainFrm && fileNode.isFileType("frm")) { + nodeList.add(fileNode); + } else if (fileNode.isDirectory()) { if (recurse) { listAll(env, rootFilePath + File.separator + fns[i].getName(), nodeList, true); } else { nodeList.add(fns[i]); } - } else if (fileNode.isFileType("cpt") || fileNode.isFileType("frm")) { - nodeList.add(fileNode); } } } @@ -190,4 +203,27 @@ public class FileSearchManager implements AlphaFineSearchProcessor { return new FileModel(name, filePath); } + /** + * 是否包含cpt + * @return + */ + public boolean isContainCpt() { + return isContainCpt; + } + + public void setContainCpt(boolean containCpt) { + isContainCpt = containCpt; + } + + /** + * 是否包含frm + * @return + */ + public boolean isContainFrm() { + return isContainFrm; + } + + public void setContainFrm(boolean containFrm) { + isContainFrm = containFrm; + } } From 230832651de10ee641e0de2859e41bc7ea0b519d Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 10 Jun 2017 11:58:43 +0800 Subject: [PATCH 52/76] =?UTF-8?q?=E9=9A=90=E8=97=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/component/AlphaFineDialog.java | 12 ++++++++---- .../search/manager/ActionSearchManager.java | 5 +++++ .../search/manager/DocumentSearchManager.java | 8 ++++++++ .../alphafine/search/manager/FileSearchManager.java | 8 ++++++++ .../search/manager/PluginSearchManager.java | 6 ++++++ 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index b1a3c1858..324f0c75c 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -268,21 +268,25 @@ public class AlphaFineDialog extends UIDialog { private void rebuildList(String searchText) { searchListModel.removeAllElements(); if (searchText.startsWith("k:1 ") || searchText.startsWith("k:setting ")) { - getActionList(searchText.substring(4, searchText.length())); + int index = searchText.indexOf(" "); + getActionList(searchText.substring(index + 1, searchText.length())); return; } else if (searchText.startsWith("k:2 ") || searchText.startsWith("k:help ")) { - getDocumentList(searchText.substring(4, searchText.length())); + int index = searchText.indexOf(" "); + getDocumentList(searchText.substring(index + 1, searchText.length())); return; } else if (searchText.startsWith("k:3 ") || searchText.startsWith("k:reportlets ")) { - getFileList(searchText.substring(4, searchText.length())); + int index = searchText.indexOf(" "); + getFileList(searchText.substring(index + 1, searchText.length())); return; } else if (searchText.startsWith("k:cpt ") || searchText.startsWith("k:frm ")) { getFileList(searchText); return; } else if (searchText.startsWith("k:4 ") || searchText.startsWith("k:shop ")) { - getPluginList(searchText.substring(4, searchText.length())); + int index = searchText.indexOf(" "); + getPluginList(searchText.substring(index + 1, searchText.length())); return; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 85c43b794..a8f9434de 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -39,6 +39,11 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { filterModelList = new SearchResult(); lessModelList = new SearchResult(); moreModelList = new SearchResult(); + if (StringUtils.isBlank(searchText)) { + lessModelList.add(TITLE_MODEL); + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + return lessModelList; + } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainAction()) { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 4fb8a060d..466ff8a06 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -6,6 +6,7 @@ import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.model.DocumentModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; +import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.FRLogger; import com.fr.general.Inter; @@ -13,6 +14,7 @@ import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; import com.fr.json.JSONException; import com.fr.json.JSONObject; +import com.fr.stable.StringUtils; /** * Created by XiaXiang on 2017/3/27. @@ -36,6 +38,11 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { public synchronized SearchResult getLessSearchResult(String searchText) { lessModelList = new SearchResult(); moreModelList = new SearchResult(); + if (StringUtils.isBlank(searchText)) { + lessModelList.add(TITLE_MODEL); + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + return lessModelList; + } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainDocument()) { String result; String url = AlphaFineConstants.DOCUMENT_SEARCH_URL + searchText + "-1"; @@ -75,6 +82,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { } catch (JSONException e) { FRLogger.getLogger().error("document search error: " + e.getMessage()); + return lessModelList; } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 68adf0c44..c27e180df 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -13,6 +13,7 @@ import com.fr.file.filetree.FileNode; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.stable.StableUtils; +import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; import java.io.*; @@ -58,10 +59,17 @@ public class FileSearchManager implements AlphaFineSearchProcessor { isContainFrm = false; searchText = searchText.substring(MARK_LENGTH, searchText.length()); } + if (StringUtils.isBlank(searchText)) { + lessModelList.add(TITLE_MODEL); + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + return lessModelList; + } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainTemplate()) { Env env = FRContext.getCurrentEnv(); fileNodes = new ArrayList<>(); fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); + isContainCpt = true; + isContainFrm = true; for (FileNode node : fileNodes) { boolean isAlreadyContain = false; String fileEnvPath = node.getEnvPath(); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index a24368ba6..f3f8d0b20 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -14,6 +14,7 @@ import com.fr.general.http.HttpClient; import com.fr.json.JSONArray; import com.fr.json.JSONException; import com.fr.json.JSONObject; +import com.fr.stable.StringUtils; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; @@ -43,6 +44,11 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { public synchronized SearchResult getLessSearchResult(String searchText) { this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); + if (StringUtils.isBlank(searchText)) { + lessModelList.add(TITLE_MODEL); + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); + return lessModelList; + } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainPlugin()) { String result; try { From eb0e66a99a61398c0af70442754d107166f429eb Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 10 Jun 2017 12:00:28 +0800 Subject: [PATCH 53/76] bug fix --- .../alphafine/search/manager/DocumentSearchManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 466ff8a06..e6f8df0fa 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -6,7 +6,6 @@ import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.model.DocumentModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; -import com.fr.design.mainframe.alphafine.cell.model.NoResultModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.FRLogger; import com.fr.general.Inter; From 46232eb4e1110a11f46e3dcd0079d6fb1accc4aa Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 10 Jun 2017 12:06:42 +0800 Subject: [PATCH 54/76] bug fix --- .../mainframe/alphafine/search/manager/ActionSearchManager.java | 2 +- .../src/com/fr/design/mainframe/toolbar/UpdateActionModel.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index a8f9434de..6b208c490 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -48,7 +48,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { if (StringUtils.isNotBlank(updateActionModel.getSearchKey())) { - if (updateActionModel.getSearchKey().toLowerCase().contains(searchText.toLowerCase()) && updateActionModel.getAction().isEnabled()) { + if (updateActionModel.getSearchKey().contains(searchText) && updateActionModel.getAction().isEnabled()) { filterModelList.add(new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction())); } } diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java index 4ded05f71..cb16c62ee 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionModel.java @@ -40,7 +40,7 @@ public class UpdateActionModel { .append(SEPARATOR).append(PinyinHelper.getShortPinyin(parentName)).append(SEPARATOR) .append(actionName).append(SEPARATOR).append(PinyinHelper.convertToPinyinString(actionName, "", PinyinFormat.WITHOUT_TONE)) .append(SEPARATOR).append(PinyinHelper.getShortPinyin(actionName)).append(action.getSearchText()); - this.searchKey = buffer.toString(); + this.searchKey = buffer.toString().toLowerCase(); } /** From e0b6a138afa0e384efe2daa44f02bac7ac381f38 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sat, 10 Jun 2017 12:13:16 +0800 Subject: [PATCH 55/76] fix --- .../alphafine/component/AlphaFineDialog.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 324f0c75c..a2f3c9cc6 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -268,25 +268,21 @@ public class AlphaFineDialog extends UIDialog { private void rebuildList(String searchText) { searchListModel.removeAllElements(); if (searchText.startsWith("k:1 ") || searchText.startsWith("k:setting ")) { - int index = searchText.indexOf(" "); - getActionList(searchText.substring(index + 1, searchText.length())); + getActionList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; } else if (searchText.startsWith("k:2 ") || searchText.startsWith("k:help ")) { - int index = searchText.indexOf(" "); - getDocumentList(searchText.substring(index + 1, searchText.length())); + getDocumentList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; } else if (searchText.startsWith("k:3 ") || searchText.startsWith("k:reportlets ")) { - int index = searchText.indexOf(" "); - getFileList(searchText.substring(index + 1, searchText.length())); + getFileList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; } else if (searchText.startsWith("k:cpt ") || searchText.startsWith("k:frm ")) { getFileList(searchText); return; } else if (searchText.startsWith("k:4 ") || searchText.startsWith("k:shop ")) { - int index = searchText.indexOf(" "); - getPluginList(searchText.substring(index + 1, searchText.length())); + getPluginList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; } From af957ba00cd91956098a23ab4183fb7e4e09da2c Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 11 Jun 2017 13:29:22 +0800 Subject: [PATCH 56/76] bug fix --- .../search/manager/ActionSearchManager.java | 7 +- .../search/manager/DocumentSearchManager.java | 4 +- .../search/manager/FileSearchManager.java | 104 +++++++++--------- .../search/manager/PluginSearchManager.java | 6 +- .../manager/RecommendSearchManager.java | 4 +- 5 files changed, 61 insertions(+), 64 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 6b208c490..928f68a3d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -23,9 +23,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { private SearchResult filterModelList; private SearchResult lessModelList; private SearchResult moreModelList; - private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION); - private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION); public synchronized static ActionSearchManager getActionSearchManager() { if (actionSearchManager == null) { @@ -41,7 +39,6 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { moreModelList = new SearchResult(); if (StringUtils.isBlank(searchText)) { lessModelList.add(TITLE_MODEL); - lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); return lessModelList; } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainAction()) { @@ -68,7 +65,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { lessModelList.addAll(result); } } else { - lessModelList.add(0, MORE_MODEL); + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Set"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.ACTION)); lessModelList.addAll(result.subList(0, AlphaFineConstants.SHOW_SIZE)); moreModelList.addAll(result.subList(AlphaFineConstants.SHOW_SIZE, result.size())); } @@ -90,7 +87,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { public static ActionModel getModelFromCloud(String actionName ) { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { - if (ComparatorUtils.equals(actionName, updateActionModel.getClassName())) { + if (ComparatorUtils.equals(actionName, updateActionModel.getClassName()) && updateActionModel.getAction().isEnabled()) { return new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction()); } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index e6f8df0fa..695101986 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -23,7 +23,6 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { private SearchResult lessModelList; private SearchResult moreModelList; private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); - private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT); public synchronized static DocumentSearchManager getDocumentSearchManager() { if (documentSearchManager == null) { @@ -39,7 +38,6 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { moreModelList = new SearchResult(); if (StringUtils.isBlank(searchText)) { lessModelList.add(TITLE_MODEL); - lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); return lessModelList; } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainDocument()) { @@ -73,7 +71,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { lessModelList.addAll(searchResult); } } else { - lessModelList.add(0, MORE_MODEL); + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT)); lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index c27e180df..80c9d4b64 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -24,6 +24,9 @@ import java.util.List; * Created by XiaXiang on 2017/3/27. */ public class FileSearchManager implements AlphaFineSearchProcessor { + private static final int MARK_LENGTH = 6; + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE); + private static FileSearchManager fileSearchManager = null; private SearchResult filterModelList; private SearchResult lessModelList; private SearchResult moreModelList; @@ -31,11 +34,6 @@ public class FileSearchManager implements AlphaFineSearchProcessor { //隐藏的搜索功能,可根据特殊的字符标记判断搜索分类 private boolean isContainCpt = true; private boolean isContainFrm = true; - private static FileSearchManager fileSearchManager = null; - private static final int MARK_LENGTH = 6; - - private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE); - private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.FILE); public synchronized static FileSearchManager getFileSearchManager() { init(); @@ -48,6 +46,17 @@ public class FileSearchManager implements AlphaFineSearchProcessor { } } + /** + * 根据文件路径获取文件模型 + * + * @param filePath + * @return + */ + public static FileModel getModelFromCloud(String filePath) { + String name = AlphaFineHelper.findFileName(filePath); + return new FileModel(name, filePath); + } + public synchronized SearchResult getLessSearchResult(String searchText) { this.filterModelList = new SearchResult(); this.lessModelList = new SearchResult(); @@ -61,48 +70,48 @@ public class FileSearchManager implements AlphaFineSearchProcessor { } if (StringUtils.isBlank(searchText)) { lessModelList.add(TITLE_MODEL); - lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); return lessModelList; } - if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainTemplate()) { - Env env = FRContext.getCurrentEnv(); - fileNodes = new ArrayList<>(); - fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); - isContainCpt = true; - isContainFrm = true; - for (FileNode node : fileNodes) { - boolean isAlreadyContain = false; - String fileEnvPath = node.getEnvPath(); - String filePath = StableUtils.pathJoin(env.getPath(), fileEnvPath); - isAlreadyContain = searchFile(searchText, node, isAlreadyContain); - searchFileContent(searchText, node, isAlreadyContain, filePath); - } - SearchResult result = new SearchResult(); - for (Object object : filterModelList) { - if (!AlphaFineHelper.getFilterResult().contains(object)) { - result.add(object); - } + Env env = FRContext.getCurrentEnv(); + fileNodes = new ArrayList<>(); + fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); + isContainCpt = true; + isContainFrm = true; + for (FileNode node : fileNodes) { + boolean isAlreadyContain = false; + String fileEnvPath = node.getEnvPath(); + String filePath = StableUtils.pathJoin(env.getPath(), fileEnvPath); + isAlreadyContain = searchFile(searchText, node, isAlreadyContain); + searchFileContent(searchText, node, isAlreadyContain, filePath); + } + SearchResult result = new SearchResult(); + for (Object object : filterModelList) { + if (!AlphaFineHelper.getFilterResult().contains(object)) { + result.add(object); } - if (result.size() < AlphaFineConstants.SHOW_SIZE + 1) { - lessModelList.add(0, TITLE_MODEL); - if (result.size() == 0) { - lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); - } else { - lessModelList.addAll(result); - } + + } + if (result.size() < AlphaFineConstants.SHOW_SIZE + 1) { + lessModelList.add(0, TITLE_MODEL); + if (result.size() == 0) { + lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); } else { - lessModelList.add(0, MORE_MODEL); - lessModelList.addAll(result.subList(0, AlphaFineConstants.SHOW_SIZE)); - moreModelList.addAll(result.subList(AlphaFineConstants.SHOW_SIZE, result.size())); + lessModelList.addAll(result); } + } else { + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.FILE)); + lessModelList.addAll(result.subList(0, AlphaFineConstants.SHOW_SIZE)); + moreModelList.addAll(result.subList(AlphaFineConstants.SHOW_SIZE, result.size())); } + return this.lessModelList; } /** * 搜索文件内容 + * * @param searchText * @param node * @param isAlreadyContain @@ -137,6 +146,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { /** * 搜索模板 + * * @param searchText * @param node * @param isAlreadyContain @@ -144,7 +154,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { */ private boolean searchFile(String searchText, FileNode node, boolean isAlreadyContain) { if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainTemplate()) { - if (node.getName().toLowerCase().contains(searchText.toLowerCase())) { + if (node.getName().toLowerCase().contains(searchText)) { FileModel model = new FileModel(node.getName(), node.getEnvPath()); this.filterModelList.add(model); isAlreadyContain = true; @@ -160,6 +170,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { /** * 获取工作目录下所有符合要求的模板 + * * @param env * @param rootFilePath * @param recurse @@ -177,6 +188,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { /** * 获取当前工作目录下所有模板 + * * @param env * @param rootFilePath * @param nodeList @@ -187,32 +199,23 @@ public class FileSearchManager implements AlphaFineSearchProcessor { FileNode[] fns = env.listFile(rootFilePath); for (int i = 0; i < fns.length; i++) { FileNode fileNode = fns[i]; - if (isContainCpt && fileNode.isFileType("cpt")) { - nodeList.add(fileNode); - } else if (isContainFrm && fileNode.isFileType("frm")) { - nodeList.add(fileNode); - } else if (fileNode.isDirectory()) { + if (fileNode.isDirectory()) { if (recurse) { listAll(env, rootFilePath + File.separator + fns[i].getName(), nodeList, true); } else { nodeList.add(fns[i]); } + } else if (isContainCpt && fileNode.isFileType("cpt")) { + nodeList.add(fileNode); + } else if (isContainFrm && fileNode.isFileType("frm")) { + nodeList.add(fileNode); } } } - /** - * 根据文件路径获取文件模型 - * @param filePath - * @return - */ - public static FileModel getModelFromCloud(String filePath) { - String name = AlphaFineHelper.findFileName(filePath); - return new FileModel(name, filePath); - } - /** * 是否包含cpt + * * @return */ public boolean isContainCpt() { @@ -225,6 +228,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { /** * 是否包含frm + * * @return */ public boolean isContainFrm() { diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index f3f8d0b20..dcdda514e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -24,10 +24,7 @@ import java.net.URLEncoder; */ public class PluginSearchManager implements AlphaFineSearchProcessor { private static PluginSearchManager pluginSearchManager = null; - private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN); - private static final MoreModel MORE_MODEL = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN); - private SearchResult lessModelList; private SearchResult moreModelList; @@ -46,7 +43,6 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { this.moreModelList = new SearchResult(); if (StringUtils.isBlank(searchText)) { lessModelList.add(TITLE_MODEL); - lessModelList.add(AlphaFineHelper.NO_RESULT_MODEL); return lessModelList; } if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainPlugin()) { @@ -80,7 +76,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { lessModelList.addAll(searchResult); } } else { - lessModelList.add(0, MORE_MODEL); + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN)); lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 051c8e66e..9b38f7144 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -13,6 +13,7 @@ import com.fr.json.JSONArray; import com.fr.json.JSONException; import com.fr.json.JSONObject; import com.fr.stable.CodeUtils; +import com.fr.stable.StringUtils; import java.util.ArrayList; import java.util.List; @@ -36,6 +37,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { @Override public synchronized SearchResult getLessSearchResult(String searchText) { this.modelList = new SearchResult(); + this.recommendModelList = new ArrayList<>(); if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainRecommend()) { String result; HttpClient httpClient = new HttpClient(SEARCHAPI + CodeUtils.cjkEncode(searchText)); @@ -64,7 +66,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { } catch (JSONException e) { FRLogger.getLogger().error("recommend search error! :" + e.getMessage()); } - if (modelList.size() > 0) { + if (recommendModelList.size() > 0) { modelList.add(new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); modelList.addAll(recommendModelList); } From aa2f1279688fdf34d033b177bfbfe091b7a69c74 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 11 Jun 2017 22:11:22 +0800 Subject: [PATCH 57/76] bug fix --- .../actions/server/ConnectionListAction.java | 11 ++++++++++- .../data/datapane/connect/JDBCDefPane.java | 16 +++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java b/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java index a91ab6af1..b8c42c978 100644 --- a/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java +++ b/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java @@ -9,6 +9,7 @@ import com.fr.design.actions.UpdateAction; import com.fr.design.data.datapane.connect.ConnectionManagerPane; import com.fr.design.data.datapane.connect.ConnectionShowPane; import com.fr.design.data.datapane.connect.DatabaseConnectionPane; +import com.fr.design.data.datapane.connect.JDBCDefPane; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.mainframe.DesignerContext; @@ -33,7 +34,15 @@ public class ConnectionListAction extends UpdateAction { this.setName(getMenuKeySet().getMenuKeySetName()); this.setMnemonic(getMenuKeySet().getMnemonic()); this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_web/connection.png")); - this.setSearchText(new DatabaseConnectionPane.JDBC()); + this.setSearchText(getContainer()); + } + + private JPanel getContainer() { + JPanel panel = new JPanel(); + panel.add(new DatabaseConnectionPane.JDBC()); + panel.add(new DatabaseConnectionPane.JNDI()); + panel.add(new JDBCDefPane().getAllComponents()); + return panel; } public static final MenuKeySet DEFINE_DATA_CONNECTION = new MenuKeySet() { diff --git a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java index 07c5b9100..d836f849a 100644 --- a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -1,21 +1,21 @@ package com.fr.design.data.datapane.connect; -import com.fr.design.constants.UIConstants; import com.fr.data.impl.JDBCDatabaseConnection; import com.fr.data.pool.DBCPConnectionPoolAttr; import com.fr.design.border.UITitledBorder; +import com.fr.design.constants.UIConstants; +import com.fr.design.dialog.BasicPane; +import com.fr.design.editor.editor.IntegerEditor; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.gui.ilable.ActionLabel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ipasswordfield.UIPassWordField; import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.gui.ilable.ActionLabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; -import com.fr.design.dialog.BasicPane; -import com.fr.design.editor.editor.IntegerEditor; import com.fr.file.filter.ChooseFileFilter; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; @@ -158,6 +158,11 @@ public class JDBCDefPane extends JPanel { }); } + public JPanel getAllComponents() { + this.add(new DBCPAttrPane()); + return this; + } + public void populate(JDBCDatabaseConnection jdbcDatabase) { if (jdbcDatabase == null) { jdbcDatabase = new JDBCDatabaseConnection(); @@ -315,7 +320,7 @@ public class JDBCDefPane extends JPanel { return new DBCPAttrPane().showWindow(SwingUtilities.getWindowAncestor(JDBCDefPane.this)); } - class DBCPAttrPane extends BasicPane { + public class DBCPAttrPane extends BasicPane { public DBCPAttrPane() { JPanel defaultPane = this; @@ -374,4 +379,5 @@ public class JDBCDefPane extends JPanel { private String driver; private String url; } + } \ No newline at end of file From 3a4766d654283c66268538f507b42aab2af4a461 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 11 Jun 2017 22:14:19 +0800 Subject: [PATCH 58/76] bug fix --- .../src/com/fr/design/data/datapane/connect/JDBCDefPane.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java index d836f849a..f9edfbe6e 100644 --- a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -158,6 +158,10 @@ public class JDBCDefPane extends JPanel { }); } + /** + * 获取全部组件 + * @return + */ public JPanel getAllComponents() { this.add(new DBCPAttrPane()); return this; From 7c9fd9b5a4cb54949993773c086b9795c3a650a9 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 00:16:45 +0800 Subject: [PATCH 59/76] =?UTF-8?q?=E5=8A=A0=E4=B8=AA=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/component/AlphaFineDialog.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index a2f3c9cc6..1ddf7958a 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -70,6 +70,19 @@ public class AlphaFineDialog extends UIDialog { //是否强制打开,因为面板是否关闭绑定了全局鼠标事件,这里需要处理一下 private boolean forceOpen; + private static final String ACTION_MARK_SHORT = "k:1 "; + private static final String ACTION_MARK = "k:setting "; + private static final String DOCUMENT_MARK_SHORT = "k:2 "; + private static final String DOCUMENT_MARK = "k:help "; + private static final String FILE_MARK_SHORT = "k:3 "; + private static final String FILE_MARK = "k:reportlets "; + private static final String CPT_MARK = "k:cpt "; + private static final String FRM_MARK = "k:frm "; + private static final String DS_MARK = "k:ds "; + private static final String PLUGIN_MARK_SHORT = "k:4 "; + private static final String PLUGIN_MARK = "k:shop "; + + public AlphaFineDialog(Frame parent, boolean forceOpen) { super(parent); this.forceOpen = forceOpen; @@ -254,6 +267,7 @@ public class AlphaFineDialog extends UIDialog { protected void done() { if (!isCancelled()) { searchResultList.setSelectedIndex(1); + showResult(searchResultList.getSelectedIndex(), searchResultList.getSelectedValue()); } } }; @@ -267,21 +281,21 @@ public class AlphaFineDialog extends UIDialog { */ private void rebuildList(String searchText) { searchListModel.removeAllElements(); - if (searchText.startsWith("k:1 ") || searchText.startsWith("k:setting ")) { + if (searchText.startsWith(ACTION_MARK_SHORT) || searchText.startsWith(ACTION_MARK)) { getActionList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; - } else if (searchText.startsWith("k:2 ") || searchText.startsWith("k:help ")) { + } else if (searchText.startsWith(DOCUMENT_MARK_SHORT) || searchText.startsWith(DOCUMENT_MARK)) { getDocumentList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; - } else if (searchText.startsWith("k:3 ") || searchText.startsWith("k:reportlets ")) { + } else if (searchText.startsWith(FILE_MARK_SHORT) || searchText.startsWith(FILE_MARK)) { getFileList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; - } else if (searchText.startsWith("k:cpt ") || searchText.startsWith("k:frm ")) { + } else if (searchText.startsWith(CPT_MARK) || searchText.startsWith(FRM_MARK)) { getFileList(searchText); return; - } else if (searchText.startsWith("k:4 ") || searchText.startsWith("k:shop ")) { + } else if (searchText.startsWith(PLUGIN_MARK_SHORT) || searchText.startsWith(PLUGIN_MARK)) { getPluginList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; From 4535d0cea2ee4e9e7e0e18d6b46653280aae3359 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 08:20:44 +0800 Subject: [PATCH 60/76] bug fix --- .../design/mainframe/alphafine/component/AlphaFineDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 1ddf7958a..eac17200a 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -265,7 +265,7 @@ public class AlphaFineDialog extends UIDialog { @Override protected void done() { - if (!isCancelled()) { + if (!isCancelled() && searchListModel.getSize() > 0) { searchResultList.setSelectedIndex(1); showResult(searchResultList.getSelectedIndex(), searchResultList.getSelectedValue()); } From a876212e28bcf7e5dd317fa22e2edba1d2578e3c Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 08:29:35 +0800 Subject: [PATCH 61/76] bug fix --- .../actions/server/ConnectionListAction.java | 11 +-------- .../data/datapane/connect/JDBCDefPane.java | 24 ++++++------------- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java b/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java index b8c42c978..a91ab6af1 100644 --- a/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java +++ b/designer_base/src/com/fr/design/actions/server/ConnectionListAction.java @@ -9,7 +9,6 @@ import com.fr.design.actions.UpdateAction; import com.fr.design.data.datapane.connect.ConnectionManagerPane; import com.fr.design.data.datapane.connect.ConnectionShowPane; import com.fr.design.data.datapane.connect.DatabaseConnectionPane; -import com.fr.design.data.datapane.connect.JDBCDefPane; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.mainframe.DesignerContext; @@ -34,15 +33,7 @@ public class ConnectionListAction extends UpdateAction { this.setName(getMenuKeySet().getMenuKeySetName()); this.setMnemonic(getMenuKeySet().getMnemonic()); this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_web/connection.png")); - this.setSearchText(getContainer()); - } - - private JPanel getContainer() { - JPanel panel = new JPanel(); - panel.add(new DatabaseConnectionPane.JDBC()); - panel.add(new DatabaseConnectionPane.JNDI()); - panel.add(new JDBCDefPane().getAllComponents()); - return panel; + this.setSearchText(new DatabaseConnectionPane.JDBC()); } public static final MenuKeySet DEFINE_DATA_CONNECTION = new MenuKeySet() { diff --git a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java index f9edfbe6e..d2804f9c4 100644 --- a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -1,21 +1,21 @@ package com.fr.design.data.datapane.connect; +import com.fr.design.constants.UIConstants; import com.fr.data.impl.JDBCDatabaseConnection; import com.fr.data.pool.DBCPConnectionPoolAttr; import com.fr.design.border.UITitledBorder; -import com.fr.design.constants.UIConstants; -import com.fr.design.dialog.BasicPane; -import com.fr.design.editor.editor.IntegerEditor; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.ilable.ActionLabel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ipasswordfield.UIPassWordField; import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.gui.ilable.ActionLabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.dialog.BasicPane; +import com.fr.design.editor.editor.IntegerEditor; import com.fr.file.filter.ChooseFileFilter; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; @@ -34,7 +34,7 @@ import java.util.Map.Entry; public class JDBCDefPane extends JPanel { public static final String DRIVER_TYPE = "driver_type"; public static final String USER_NAME = "user_name"; - public static final int TIME_MULTIPLE = 1000; + public static final int TIME_MULTIPLE = 1000; private static Map jdbcMap = new HashMap(); @@ -43,7 +43,7 @@ public class JDBCDefPane extends JPanel { new DriverURLName("org.hsqldb.jdbcDriver", "jdbc:hsqldb:file:[PATH_TO_DB_FILES]"), new DriverURLName("com.inet.tds.TdsDriver", "jdbc:inetdae7:localhost:1433/"), new DriverURLName("COM.cloudscape.JDBCDriver", "jdbc:cloudscape:/cloudscape/"), new DriverURLName("com.internetcds.jdbc.tds.Driver", "jdbc:freetds:sqlserver://localhost/")}); - jdbcMap.put("Inceptor",new DriverURLName[]{new DriverURLName("org.apache.hive.jdbc.HiveDriver","jdbc:inceptor2://localhost:10000/default"), + jdbcMap.put("Inceptor",new DriverURLName[]{new DriverURLName("org.apache.hive.jdbc.HiveDriver","jdbc:inceptor2://localhost:10000/default"), new DriverURLName("org.apache.hadoop.hive.jdbc.HiveDriver","jdbc:inceptor://localhost:10000/default")}); jdbcMap.put("Oracle", new DriverURLName[]{new DriverURLName("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@localhost:1521:databaseName")}); jdbcMap.put("DB2", new DriverURLName[]{new DriverURLName("com.ibm.db2.jcc.DB2Driver", "jdbc:db2://localhost:50000/")}); @@ -158,15 +158,6 @@ public class JDBCDefPane extends JPanel { }); } - /** - * 获取全部组件 - * @return - */ - public JPanel getAllComponents() { - this.add(new DBCPAttrPane()); - return this; - } - public void populate(JDBCDatabaseConnection jdbcDatabase) { if (jdbcDatabase == null) { jdbcDatabase = new JDBCDatabaseConnection(); @@ -324,7 +315,7 @@ public class JDBCDefPane extends JPanel { return new DBCPAttrPane().showWindow(SwingUtilities.getWindowAncestor(JDBCDefPane.this)); } - public class DBCPAttrPane extends BasicPane { + class DBCPAttrPane extends BasicPane { public DBCPAttrPane() { JPanel defaultPane = this; @@ -383,5 +374,4 @@ public class JDBCDefPane extends JPanel { private String driver; private String url; } - } \ No newline at end of file From 4a509632fad965d4385eada5ed55a5af563a341b Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 10:00:06 +0800 Subject: [PATCH 62/76] bug fix --- .../src/com/fr/design/data/datapane/connect/JDBCDefPane.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java index d2804f9c4..07c5b9100 100644 --- a/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer_base/src/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -34,7 +34,7 @@ import java.util.Map.Entry; public class JDBCDefPane extends JPanel { public static final String DRIVER_TYPE = "driver_type"; public static final String USER_NAME = "user_name"; - public static final int TIME_MULTIPLE = 1000; + public static final int TIME_MULTIPLE = 1000; private static Map jdbcMap = new HashMap(); @@ -43,7 +43,7 @@ public class JDBCDefPane extends JPanel { new DriverURLName("org.hsqldb.jdbcDriver", "jdbc:hsqldb:file:[PATH_TO_DB_FILES]"), new DriverURLName("com.inet.tds.TdsDriver", "jdbc:inetdae7:localhost:1433/"), new DriverURLName("COM.cloudscape.JDBCDriver", "jdbc:cloudscape:/cloudscape/"), new DriverURLName("com.internetcds.jdbc.tds.Driver", "jdbc:freetds:sqlserver://localhost/")}); - jdbcMap.put("Inceptor",new DriverURLName[]{new DriverURLName("org.apache.hive.jdbc.HiveDriver","jdbc:inceptor2://localhost:10000/default"), + jdbcMap.put("Inceptor",new DriverURLName[]{new DriverURLName("org.apache.hive.jdbc.HiveDriver","jdbc:inceptor2://localhost:10000/default"), new DriverURLName("org.apache.hadoop.hive.jdbc.HiveDriver","jdbc:inceptor://localhost:10000/default")}); jdbcMap.put("Oracle", new DriverURLName[]{new DriverURLName("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@localhost:1521:databaseName")}); jdbcMap.put("DB2", new DriverURLName[]{new DriverURLName("com.ibm.db2.jcc.DB2Driver", "jdbc:db2://localhost:50000/")}); From 7a642fc6410b4c490118d19eaf35e02983182ed2 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 16:57:42 +0800 Subject: [PATCH 63/76] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=9D=A2=E6=9D=BF=20al?= =?UTF-8?q?phafine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/component/AlphaFineDialog.java | 6 +++- .../mainframe/alphafine/images/noresult.png | Bin 0 -> 6691 bytes .../alphafine/preview/ActionPreviewPane.java | 32 ++++++++++++++++-- .../com/fr/design/locale/designer.properties | 3 +- .../design/locale/designer_en_US.properties | 1 + .../design/locale/designer_zh_CN.properties | 1 + .../design/locale/designer_zh_TW.properties | 1 + 7 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 designer/src/com/fr/design/mainframe/alphafine/images/noresult.png diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index eac17200a..d8293f772 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -16,6 +16,7 @@ import com.fr.design.mainframe.alphafine.listener.ComponentHandler; import com.fr.design.mainframe.alphafine.listener.DocumentAdapter; import com.fr.design.mainframe.alphafine.model.SearchListModel; import com.fr.design.mainframe.alphafine.model.SearchResult; +import com.fr.design.mainframe.alphafine.preview.ActionPreviewPane; import com.fr.design.mainframe.alphafine.preview.DocumentPreviewPane; import com.fr.design.mainframe.alphafine.preview.FilePreviewPane; import com.fr.design.mainframe.alphafine.preview.PluginPreviewPane; @@ -539,7 +540,10 @@ public class AlphaFineDialog extends UIDialog { this.searchWorker.execute(); } else if (selectedValue instanceof ActionModel) { - showDefaultPreviewPane(); + rightSearchResultPane.removeAll(); + rightSearchResultPane.add(new ActionPreviewPane()); + validate(); + repaint(); } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/images/noresult.png b/designer/src/com/fr/design/mainframe/alphafine/images/noresult.png new file mode 100644 index 0000000000000000000000000000000000000000..388bb84ffa88282e41b0f5c692f1c4a279ca7eb6 GIT binary patch literal 6691 zcmW+*byyT{7ez!u0qJg*?hXlw1(uR-iA6v z)3v#?3_heh4`(sG;w9}@H|`$wvpN$u#=CrhQNz=yAk+Juee!Z@!4zrFD8yf*Y=s#e z=O=Ikz6VN7G4irWto7eAZhoC*)O70c-uQ!^Kd_$jm+v{*w={?IuKjclSH$g(!4y6uRv`Ny9XLGgSFyuG{h9tirxZpa> zhQM54NSc1jbdwMtJ)A^Uc~b~%TZ=Zr9)@f}LPVrRiMYaeh!8#@ldqchw&7wA$g*rG zVX9)4UY}%dBiIq?{i#O9+iyzD$K=KFgriUtDu)jb(RUPNB=d=8(%N%J%_j*@^V}ag zw>h?Du_NsFvRUOxMWHaxkcH=hi?uVGfg1WqAUlBo7W7S^FK*^dedXY&4;i=LcA0i?od|3 zR00&ZXwk8;LLwrhPuf$Hq7Y_B)s!$~zV7WeHRL$@%?o*QLAHnlF2n8I(Zjzz^g=Q+ zbp1ua3<$VmJ~7u=zikHA9VZMa)cvZSWrQ3qnBuAPUbX1wPkE0w)+QSVCBFg!5{*)n z`IS+846?HHA-{gXl$4Y%E>>eZ#;v2LA2+4F!|k$$mX^Snl7r}m_?N9BzJ8@aV`XJc z&d8X&r@yKfKg@S{YU^Aou7Kvsx^>c{75|-c!~|(mn>JwkQji1j6G6)5DIXIZ%`YL* zFr73MhZ8zd%V<#DT&ve^$zSQQ-lv>9c5&gGY!YbJn;<$sqDD$9MuAHaqr}R_rcGkw z?hSR}4P*GD)P!P>j)`HJb#jvu{@|0!%-oycZJy1Jpmp$C zle0z7hQ;eq6}>XH_4k+Dtr6}vXe-JeuI^M73$w4v`}^1ZmGMSd{mB#z0buY&_;JVc*eDFopuv?0Wk7k`LP57qu`BcTg>&)GgUxY#%7VnjEc?n1li z2Qzp{`ul`-R(n%|UpH-n(r!T;T8p*V96%03qWP{wve99Aczsr~PDH}3d4@maEz{c0 zE-wgtor00XT}DRY1YeD1G9j1{C@phyOHL+bV_dIPyn^jW@}@qVI{M)a>UQQ)H3AIHSRj89CsU!OUHRobeo zd&K=u*u`8I)i2~Tr2LQ|PP^XEyc^SZrYcrF^XH8nVM%TFE<}(7q3+LZVGDf@U3Q(1 zKb9C)j4mu_z+gCUFZ(Sny7+=a2W%fcCxPxSHmjMMQZq9%laP=MkBnqvDXxZ|1uQHq zT={kP^a!L4jE|3N>FPer+Qf04|DH|%cC|a^74;EMzb2_Fat(c(%rDhP&%@!hZD`Xn zc)HIvDc#*lVeJgMQ)Zwg=z68P*^HMQET24J3-0Rb>MAv@ z$FHB$aCYX&yxp~XAnvnI6Wp5VJon9gy)U8iP18{y7r2Gjei=)fB+1Ny(!|u1n4|3O z*@J>&%lx0Z*RJhQPF~*pf`SMnl1Ndz(@8Xk{jtyf{0L6ogzC#C-?%!*siT|YA!W$m z`1lvPgv>pHo3r{>C<(OXtgb>^Pw(B(ruFOBACHbawzp;c3i|r`4t=HOTY}O6&}i_n z^!4?9rRc7%uP=X+w-B78uWxQz3#Ry994?!^75!B$#f}{oz!90CQsD-}3|jyoF-{bq zii!U830`MHNlUxFJ5vKf%g`^#!oo5>HDxVKrA_iko5b(__MAS>$hGzM8}CbXR^lP4 zV_b{7qomW;04X{&CsAspoVem*&f?inn7&|>XI|KiVSa7kM`{wLUSX@}B^5V_$RO-+aq3aaTxW21z}8a7%*>zyQsNqhTY*b}JspRKLzl9H(Ma$f&{ z0D2A@8Y(LI-fW$Fgp6%{;)AvIb!c&s>nHdv&F|daS)yAf!Bis+PN^JA!D^j~PZ}H$!eS4y$>HhB8 zy{k`2S^4zp66-0Q+x=Y-lendZ_GeW`@hTPMn#$Tunc|?!YgRuELc--!|E+_A&AtS# z@ySUYef=(wlRx|W-L^H1{etKF3)bKOXmZ=1mjDdU&d0aeu$hsQm4z092_0JJiNTT{vP%7)wr*AS03D6O|`O$i5WhXWk;X_ zqM~q6WF#b&@GiuqN?x`{Ic|^CubX!Rl`nETx7S8e{=k%>&__ek=QK(=+DXqHCrg*} zlFZ=)sUmuYhR367d|Mb{DI_lx6cncIQcdQoZTgv8wG9n>vK1mc(;R$#jo9@0DLO6r zrQ|t7DuPc-ezaG>N&!#c(@CjVTQg5pSj3uo00km=uk{g9CpljEY0{ru>wY1wknH{) zp&HNJYik@gfXZkkYop!b%1VN?0VO{_zhq|}UEPkZDDn>U1hBXNxd()=qPF&nLIl43 zr^lOv>0^52PMpa>!{NKM!hB5!F@hCa|RcpDeuT4UWVrS+4o;nPvWk-~4pCp$R znKgrwm$~@wAtn}_&%I-b+$`xiy0lsq)X#ly2sy>x+D zpqakX9YY;>GNNo$X7E*$ZFO}ucD#S7$xkSHH&t3xT)dE&*I-CciF-W%K)+7?r?q(l z%wMfMA8CY#hvzi^J?;rPZ>7tEq3QtvnTSfXh$TU+*nnXm5wbUozqML}u0>n#Zx6gY9Fc!dw#L3MxJc1G z1snW|ZhKgo$>&p8EFHkaqW?4ITmrY#Kz}?xur~$8ezR*QYdw~)fe|hTwA^p6uJ^W5 z_GbC1m%fpyX@3-7i+BYDl*E6VviA~bd`*YwKu0!iE{`t)WdKc{Sa0v_bo9GL;+}=cpSPQji#b_ls?0!;m6a7jZtfdO%4MJ^ zb+_CR@sDUhl?Teu0~Bn&$-Fk}JOG>|#Lo|mI51WdGGwE`8wPgY$zWi_d0gQ{^w2DR8U3b_^DFgwh6*2R0*NU7IXQnG zoWI!|qy@#Q%TlL=A$PH411lv6dxRnP=ZnqdbRb5J5jSvM(hQV1yh%~d8A8|*z16>` zrztu*IzYmCU;g+fWpFrp{4WyLfei(q_TU9KLEu5YT8E;I@oT7t02( zec3p9ygAe(RLHaUx&DhRF9Idzc^nG7@zIe?LvB-(6fR~*SefxGwK*_afDeqCdiT7+ zzMqy33P2@qJ92Swv>%+W9$#)mcSm$*xy*lW2h`f}6Ayu^^gng@m!h4D*768pCQ|aV z^Ye#?DMNvnH8a0YPJ|ICegT0{6#J`LvVOlUPl24AoMd&@+t6RtH0Q4wwMht}+J<~p zvt}cOgDWd5{7gR?%+8WI(#JiBa zzZ_E6&|t*=*w=3xaCHR^|j2A&eq08J+IMJ9sS&G01gU<5&$rSEK>mo&B_4*&&I~az9c3Nmdpy*k-T8= z=C!Z$JKpd+jyIXMChSz@Xdi9wMg-hwdU=U}C<7L2e#C`*RZ>y0`Sbk~P!i=9t(qDd zF?XKN|Ief0&)#0TAqy~pe~VrOApjhSaWO&Be>aQWumv_;imwO_kbX5c@I2I$bY!tq z<9%N?b;DC<%gW0?Nrn?(wVNc@37O`X$REI4nu4yqkB*Q3Uf*6lOdevLtFe1}dU`tT zBwA{~Wl*C3q64V@(VpvD>hN{~fnZh`QYOCL#bVxD%w!|0wpK58h3!`h0&{kF9$_O_ z+SS5H7WIDU?cFh&SxcZqvCe-$>AiQS<$$7!h={0bYBFJ?^R-+s)w?X9>g#<5&v-&s zdt#aU1wpCo&em};o=pTM;3FYhWsWe`#0|M`Jmis&gx=q{cPzVE)|s60CL5tnQ(x+v zm>?Lit+JzL7B~K`_WbpgT3cJ=_U9g*o;K36!qj+dS~mHru)U%386mOb=zF86$(?}n zeHOrKFeKg9X4+E|6Q!slM|%ovR|4taoA2iPU*qF*3e3s4%4)~Q}dfN0H(lc$&0gW>skn)>Ve_{36c!h!>h7^4(wEnqP>Q)B0M z(0tBBmvhSBayn@WvYWCuS3fp9Od#}N1u~t*d27Vm>A>2~b9H-r>*?dO!$JJq)jL^( zAF543LxVeqK4{5*xEB9HhUqT}bb0MpJlIb`;o)4pYb-*`WLG`vX3j~J20y~3DPq>W zuCC6k(HqY=(Qh?IjEN=VsS@#Ybetv5);5d{&Z15`2<5Mz8;GC}rZ|;4XUp&nv&#%R zBP4a;r>Hb3J2^dd2k8NF%EQBR?C%6raDU$=T?@tjPYa~ki|e)`id(hj1j4Asow${2 z8PgtNi~jswx%^47)X!v3Jr02<&}?2|elJXIP?E5`Z1u0*m~pZNHrJ|?2pR`;biq_A z@Pc0^^J(LPjNL{1p7*M!q*o*d0wv=C>o`2*|JUl_dCC#Ic6Oea@W_2L^i#lgRB(|3 zds6-4PPni25&|*+4RdNL6^2|^Y3XiUYQ=E(gqFhM&MD}T z%L*L9&sA0KgSlsIZ6S2yJe-{Hjt_XX_4PZ0onQ!HjT7CiSow;ntj|_&;cigJJp9+I zQ9K*a!dh7|PE1U^AtQ2Fjke4u9oRWN+DLO99T^E-I+((ln4P7n(qXD?lBk7H+dAA? zM}Ko9E;LQ@=k}4@ul%v5^CT-L=V8TE)PU_+!EeRy=J@n7H!75;V=rX?HO?r9^-)OT zjMF3=I=a;5T72Mf+EVm6nUdbt#M!i3sb`!?h|83(RK_FIHevfO@$ul1siy(I49Q%V zwy1T<5C14g*DTO1o}V`hnz#ANj((?HXIj&#GxB4c+_K8(gkS!TaBBnTc0RHr)L*;+ zbXKCq;jFYRPXYYj;c~}UNiS8lKaLg6-~KSkYe*Nf2yj4EpJnH~XTUZ$PIL^}&TIMv zvUT@2_AS4pq@-)3^luCiK8u!U2&~k&Mu}}|ZS9p}7%ncZ+e+uZo({CeEMj6wG1Ov5 z+a(pybADFQ=v|px;(22x1zSED$?^a%XHTB`d|&#Z!QbK z5E;5jrURJ;ZChfcgdq@mLobtxoGy6#vK#l0zf2F@@{f8v1ns2;rJix-;>v;?d(~~Y zi5HfXtbz$0@W0JG>ddH)<&VX=tk6Pr8+-w_u?^ll6gpf67at!K0HM3NK5#-7H!I|) zDf#wc*4tT)rJbsF9zmdOx&e?GFCn+gCu;$L&(F{IWFq;!hRdaADgtoLmh|B{1HoAI zSeFW|tD_YO00B}^#QXq)L- z@{C{UYf2)AcPW04(+T&RWH~V#=BF}^N*GZ#WH1B_}<Wz_1{M+ z=c4ji^;O$`%Zv+T8j8HDTN+j&jMW`ccc@0oKL46vg!9>i=S^XQriOD7Mr4ASGkCht z&r7e-Il-!PM7}YRN}D%s36k)T~L zH0~h&)&2IBWJ7haTRy)FB&K|mlfz}APqlOnR`wW4!x5`ZiYXYRaZmr@iTqL`$38ar P>VpP@YATk?TZa7)#)JsY literal 0 HcmV?d00001 diff --git a/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java b/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java index ec2d6ca38..f0f209901 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java @@ -1,8 +1,36 @@ package com.fr.design.mainframe.alphafine.preview; + +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; +import com.fr.general.IOUtils; + +import javax.swing.*; +import java.awt.*; + + /** * Created by XiaXiang on 2017/5/5. */ -public class ActionPreviewPane { - //todo:还没确定要不要使用面板截图 +public class ActionPreviewPane extends JPanel { + private static final Font NAME = new Font("Song_TypeFace",0,14); + public ActionPreviewPane() { + setLayout(new BorderLayout()); + setBackground(null); + setBorder(BorderFactory.createEmptyBorder(120,0,0,0)); + UILabel image = new UILabel(); + image.setPreferredSize(new Dimension(150,111)); + image.setHorizontalAlignment(SwingConstants.CENTER); + image.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); + image.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/noresult.png")); + UILabel name = new UILabel("暂不支持显示"); + name.setForeground(AlphaFineConstants.MEDIUM_GRAY); + name.setFont(NAME); + name.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); + name.setHorizontalAlignment(SwingConstants.CENTER); + this.add(image, BorderLayout.CENTER); + this.add(name, BorderLayout.SOUTH); + } + } diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 1453ff2df..96aaff01c 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2008,4 +2008,5 @@ FR-Designer_AlphaFine_ShowLess=show less FR-Designer_Alphafine=AlphaFine FR-Designer-Alphafine_No_Remind= FR-Designer_AlphaFine_NoResult=no results -FR-Designer_ConnectionFailed=connection failed \ No newline at end of file +FR-Designer_ConnectionFailed=connection failed +FR-Designer_NoResult=No results \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 96d737429..8c8e4046a 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2009,3 +2009,4 @@ FR-Designer_AlphaFine_NoResult=No results FR-Designer_ConnectionFailed=Connection failed FR-Designer_AlphaFine_EnableAlphaFine=Enable AlphaFine FR-Designer_AlphaFine_EnableInternet=Internet +FR-Designer_NoResult=No results diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index d63b22e16..f37ed736f 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2005,3 +2005,4 @@ FR-Designer_Alphafine=AlphaFine\u667A\u80FD\u641C\u7D22 FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A FR-Designer_AlphaFine_NoResult=\u6682\u65E0\u76F8\u5173\u5185\u5BB9 FR-Designer_ConnectionFailed=\u94FE\u63A5\u5931\u8D25 +FR-Designer_NoResult=\u6682\u4E0D\u652F\u6301\u663E\u793A diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 9e59a18a0..01fb047ff 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2003,3 +2003,4 @@ FR-Designer_AlphaFine_ShowAll=\u986F\u793A\u5168\u90E8 FR-Designer-Alphafine_No_Remind=\u4E0D\u518D\u63D0\u793A FR-Designer_AlphaFine_NoResult=\u66AB\u7121\u76F8\u95DC\u5167\u5BB9 FR-Designer_ConnectionFailed=\u93C8\u63A5\u5931\u6557 +FR-Designer_NoResult=\u66AB\u4E0D\u652F\u6301\u986F\u793A From bfdf0e71e59a827bd58587e041d0c1c02e2062b2 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 17:10:40 +0800 Subject: [PATCH 64/76] bug fix --- .../alphafine/preview/ActionPreviewPane.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java b/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java index f0f209901..416c9512b 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java @@ -3,8 +3,8 @@ package com.fr.design.mainframe.alphafine.preview; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.alphafine.AlphaFineConstants; -import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.general.IOUtils; +import com.fr.general.Inter; import javax.swing.*; import java.awt.*; @@ -18,19 +18,19 @@ public class ActionPreviewPane extends JPanel { public ActionPreviewPane() { setLayout(new BorderLayout()); setBackground(null); - setBorder(BorderFactory.createEmptyBorder(120,0,0,0)); + setBorder(BorderFactory.createEmptyBorder(135,0,0,0)); UILabel image = new UILabel(); image.setPreferredSize(new Dimension(150,111)); image.setHorizontalAlignment(SwingConstants.CENTER); image.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); image.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/noresult.png")); - UILabel name = new UILabel("暂不支持显示"); - name.setForeground(AlphaFineConstants.MEDIUM_GRAY); - name.setFont(NAME); - name.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); - name.setHorizontalAlignment(SwingConstants.CENTER); + UILabel description = new UILabel(Inter.getLocText("FR-Designer_NoResult")); + description.setForeground(AlphaFineConstants.MEDIUM_GRAY); + description.setFont(NAME); + description.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); + description.setHorizontalAlignment(SwingConstants.CENTER); this.add(image, BorderLayout.CENTER); - this.add(name, BorderLayout.SOUTH); + this.add(description, BorderLayout.SOUTH); } } From 9b2405bf34f46d4280f9e72f956c5cde46e62016 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 19:30:56 +0800 Subject: [PATCH 65/76] =?UTF-8?q?bug=20fix=20ds=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/component/AlphaFineDialog.java | 5 +++++ .../alphafine/search/manager/FileSearchManager.java | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index d8293f772..eb986cb13 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -80,6 +80,7 @@ public class AlphaFineDialog extends UIDialog { private static final String CPT_MARK = "k:cpt "; private static final String FRM_MARK = "k:frm "; private static final String DS_MARK = "k:ds "; + private static final String DS_NAME = "dsname=\""; private static final String PLUGIN_MARK_SHORT = "k:4 "; private static final String PLUGIN_MARK = "k:shop "; @@ -296,6 +297,10 @@ public class AlphaFineDialog extends UIDialog { } else if (searchText.startsWith(CPT_MARK) || searchText.startsWith(FRM_MARK)) { getFileList(searchText); return; + } else if (searchText.startsWith(DS_MARK)) { + getFileList(DS_NAME + searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); + return; + } else if (searchText.startsWith(PLUGIN_MARK_SHORT) || searchText.startsWith(PLUGIN_MARK)) { getPluginList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); return; diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 80c9d4b64..a7d9fbe65 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -10,6 +10,7 @@ import com.fr.design.mainframe.alphafine.cell.model.FileModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.file.filetree.FileNode; +import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.stable.StableUtils; @@ -25,6 +26,7 @@ import java.util.List; */ public class FileSearchManager implements AlphaFineSearchProcessor { private static final int MARK_LENGTH = 6; + private static final String DS_NAME = "dsname=\""; private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Templates"), CellType.FILE); private static FileSearchManager fileSearchManager = null; private SearchResult filterModelList; @@ -68,7 +70,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { isContainFrm = false; searchText = searchText.substring(MARK_LENGTH, searchText.length()); } - if (StringUtils.isBlank(searchText)) { + if (StringUtils.isBlank(searchText) || ComparatorUtils.equals(searchText, DS_NAME)) { lessModelList.add(TITLE_MODEL); return lessModelList; } From 96c8994c49c7bed5dda399363c25b861b601712f Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 19:35:11 +0800 Subject: [PATCH 66/76] bug fix --- .../alphafine/search/manager/DocumentSearchManager.java | 2 -- .../alphafine/search/manager/PluginSearchManager.java | 4 ---- 2 files changed, 6 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index 695101986..fc10e8f9c 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -76,12 +76,10 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } } - } catch (JSONException e) { FRLogger.getLogger().error("document search error: " + e.getMessage()); return lessModelList; } - } return lessModelList; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index dcdda514e..cadbbe119 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -80,9 +80,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } - } - } catch (JSONException e) { FRLogger.getLogger().error("plugin search json error :" + e.getMessage()); } catch (UnsupportedEncodingException e) { @@ -90,8 +88,6 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { } } return this.lessModelList; - - } private SearchResult getNoConnectList() { From da5f6844bd4962ce1da5603d38ad718e78c6fa41 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Mon, 12 Jun 2017 23:00:17 +0800 Subject: [PATCH 67/76] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=B8=80?= =?UTF-8?q?=E4=B8=8B=E4=BB=A3=E7=A0=81=20=E6=B2=A1=E6=94=B9=E4=B8=9C?= =?UTF-8?q?=E8=A5=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/AlphaFineConstants.java | 16 +-- .../mainframe/alphafine/AlphaFineHelper.java | 10 +- .../design/mainframe/alphafine/CellType.java | 1 + .../alphafine/cell/CellModelHelper.java | 3 +- .../alphafine/cell/model/ActionModel.java | 12 +- .../alphafine/cell/model/AlphaCellModel.java | 2 + .../alphafine/cell/model/FileModel.java | 2 +- .../alphafine/cell/model/MoreModel.java | 1 + .../alphafine/cell/model/PluginModel.java | 6 +- .../cell/render/ContentCellRender.java | 5 +- .../cell/render/TitleCellRender.java | 8 +- .../alphafine/component/AlphaFineDialog.java | 126 +++++++++--------- .../alphafine/component/AlphaFinePane.java | 13 +- .../component/AlphaFineTextField.java | 4 +- .../alphafine/listener/DocumentAdapter.java | 6 +- .../alphafine/model/SearchListModel.java | 2 +- .../alphafine/model/SearchResult.java | 1 - .../alphafine/preview/ActionPreviewPane.java | 7 +- .../preview/DocumentPreviewPane.java | 2 +- .../alphafine/preview/PluginPreviewPane.java | 10 +- .../search/manager/ActionSearchManager.java | 33 ++--- .../manager/AlphaFineSearchProcessor.java | 2 + .../search/manager/DocumentSearchManager.java | 30 +++-- .../search/manager/PluginSearchManager.java | 87 ++++++------ .../search/manager/RecentSearchManager.java | 5 +- .../manager/RecommendSearchManager.java | 6 +- 26 files changed, 207 insertions(+), 193 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java index 5d91ef5cc..c0ca472c6 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineConstants.java @@ -57,21 +57,13 @@ public class AlphaFineConstants { public static final Color RED = new Color(0xf46c4c); - public static final Font SMALL_FONT = new Font("Song_TypeFace",0,10); - - public static final Font MEDIUM_FONT = new Font("Song_TypeFace",0,12); - - public static final Font LARGE_FONT = new Font("Song_TypeFace",0,18); - - public static final Font GREATER_FONT = new Font("Song_TypeFace",0,20); - - - - - + public static final Font SMALL_FONT = new Font("Song_TypeFace", 0, 10); + public static final Font MEDIUM_FONT = new Font("Song_TypeFace", 0, 12); + public static final Font LARGE_FONT = new Font("Song_TypeFace", 0, 18); + public static final Font GREATER_FONT = new Font("Song_TypeFace", 0, 20); public static final String PLUGIN_SEARCH_URL = SiteCenter.getInstance().acquireUrlByKind("plugin.searchAPI"); diff --git a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java index c294218dc..0e36d371d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/AlphaFineHelper.java @@ -12,7 +12,6 @@ import com.fr.general.Inter; import com.fr.general.ProcessCanceledException; import com.fr.stable.StringUtils; - import java.util.List; /** @@ -35,15 +34,17 @@ public class AlphaFineHelper { /** * 获取文件名上级目录 + * * @param text * @return */ - public static String findFolderName (String text) { + public static String findFolderName(String text) { return getSplitText(text, 2); } /** * 分割字符串,获取文件名,文件名上级目录等 + * * @param text * @param index * @return @@ -60,10 +61,11 @@ public class AlphaFineHelper { /** * 获取文件名 + * * @param text * @return */ - public static String findFileName (String text) { + public static String findFileName(String text) { return getSplitText(text, 1); } @@ -84,6 +86,4 @@ public class AlphaFineHelper { } - - } diff --git a/designer/src/com/fr/design/mainframe/alphafine/CellType.java b/designer/src/com/fr/design/mainframe/alphafine/CellType.java index d196a0138..23c6cc699 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/CellType.java +++ b/designer/src/com/fr/design/mainframe/alphafine/CellType.java @@ -21,6 +21,7 @@ public enum CellType { return FILE; } + public int getTypeValue() { return typeValue; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/CellModelHelper.java b/designer/src/com/fr/design/mainframe/alphafine/cell/CellModelHelper.java index e8380cb81..52a8fafd4 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/CellModelHelper.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/CellModelHelper.java @@ -1,7 +1,7 @@ package com.fr.design.mainframe.alphafine.cell; import com.fr.design.mainframe.alphafine.CellType; -import com.fr.design.mainframe.alphafine.cell.model.*; +import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.search.manager.ActionSearchManager; import com.fr.design.mainframe.alphafine.search.manager.DocumentSearchManager; import com.fr.design.mainframe.alphafine.search.manager.FileSearchManager; @@ -13,6 +13,7 @@ import com.fr.json.JSONObject; */ public class CellModelHelper { private static final String RESULT = "result"; + public static AlphaCellModel getModelFromJson(JSONObject object) { int typeValue = object.optInt("cellType"); AlphaCellModel cellModel = null; diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java index 12b19fe12..2850e0156 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/ActionModel.java @@ -19,6 +19,12 @@ public class ActionModel extends AlphaCellModel { super(name, content, type); } + public ActionModel(String name, String description, Action action) { + super(name, null, CellType.ACTION); + this.action = action; + this.setDescription(description); + } + @Override public boolean equals(Object o) { if (this == o) { @@ -37,12 +43,6 @@ public class ActionModel extends AlphaCellModel { return action != null ? action.hashCode() : 0; } - public ActionModel(String name, String description, Action action) { - super(name, null, CellType.ACTION); - this.action = action; - this.setDescription(description); - } - public Action getAction() { return action; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/AlphaCellModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/AlphaCellModel.java index 082f1f8e7..5241fee0e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/AlphaCellModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/AlphaCellModel.java @@ -62,6 +62,7 @@ public abstract class AlphaCellModel { /** * model转json + * * @return * @throws JSONException */ @@ -69,6 +70,7 @@ public abstract class AlphaCellModel { /** * 获取需要保存到云中心的信息 + * * @return */ abstract public String getStoreInformation(); diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/FileModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/FileModel.java index 6961962b7..3d5289cca 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/FileModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/FileModel.java @@ -9,7 +9,7 @@ import com.fr.json.JSONObject; /** * Created by XiaXiang on 2017/4/20. */ -public class FileModel extends AlphaCellModel{ +public class FileModel extends AlphaCellModel { private String filePath; public FileModel(String name, String content, CellType type) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/MoreModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/MoreModel.java index de9b4fd2e..79281d04d 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/MoreModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/MoreModel.java @@ -29,6 +29,7 @@ public class MoreModel { this.name = name; this.isLoading = true; } + public MoreModel(String name, boolean isLoading) { this.name = name; this.isLoading = isLoading; diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/model/PluginModel.java b/designer/src/com/fr/design/mainframe/alphafine/cell/model/PluginModel.java index c8c4d65dc..dce1dd281 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/model/PluginModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/model/PluginModel.java @@ -10,6 +10,8 @@ import com.fr.json.JSONObject; * Created by XiaXiang on 2017/4/20. */ public class PluginModel extends AlphaCellModel { + private static final String PLUGIN_INFORMATION_URL = "http://shop.finereport.com/ShopServer?pg=plugin&pid="; + private static final String REUSE_INFORMATION_URL = "http://shop.finereport.com/reuses/"; private String pluginUrl; private String imageUrl; private String version; @@ -18,12 +20,11 @@ public class PluginModel extends AlphaCellModel { private String informationUrl; private int pluginId; private int price; - private static final String PLUGIN_INFORMATION_URL = "http://shop.finereport.com/ShopServer?pg=plugin&pid="; - private static final String REUSE_INFORMATION_URL = "http://shop.finereport.com/reuses/"; public PluginModel(String name, String content, CellType type) { super(name, content, type); } + public PluginModel(String name, String content, String imageUrl, String version, String jartime, String link, CellType type, int price, int pluginId) { super(name, content); this.link = link; @@ -130,7 +131,6 @@ public class PluginModel extends AlphaCellModel { } - public int getPluginId() { return pluginId; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java b/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java index 3380d092b..98dd3abb4 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/render/ContentCellRender.java @@ -16,6 +16,7 @@ import java.awt.*; public class ContentCellRender implements ListCellRenderer { private UILabel name; private UILabel content; + public ContentCellRender() { this.name = new UILabel(); this.content = new UILabel(); @@ -24,14 +25,14 @@ public class ContentCellRender implements ListCellRenderer { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if (value instanceof MoreModel) { - return new TitleCellRender().getListCellRendererComponent(list, value,index,isSelected,cellHasFocus); + return new TitleCellRender().getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); } JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(Color.white); if (isSelected) { panel.setBackground(AlphaFineConstants.BLUE); } - panel.setBorder(BorderFactory.createEmptyBorder(0,15,0,0)); + panel.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 0)); AlphaCellModel model = (AlphaCellModel) value; name.setText(model.getName()); String iconUrl = "/com/fr/design/mainframe/alphafine/images/alphafine" + model.getType().getTypeValue() + ".png"; diff --git a/designer/src/com/fr/design/mainframe/alphafine/cell/render/TitleCellRender.java b/designer/src/com/fr/design/mainframe/alphafine/cell/render/TitleCellRender.java index 84784ecdb..a03b68a6e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/cell/render/TitleCellRender.java +++ b/designer/src/com/fr/design/mainframe/alphafine/cell/render/TitleCellRender.java @@ -3,6 +3,7 @@ package com.fr.design.mainframe.alphafine.cell.render; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; + import javax.swing.*; import java.awt.*; @@ -17,12 +18,13 @@ public class TitleCellRender implements ListCellRenderer { this.name = new UILabel(); this.more = new UILabel(); } + @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - MoreModel moreModel = (MoreModel)value; + MoreModel moreModel = (MoreModel) value; JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(AlphaFineConstants.WHITE); - panel.setBorder(BorderFactory.createEmptyBorder(0,15,0,0)); + panel.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 0)); name.setText(moreModel.getName()); name.setFont(AlphaFineConstants.SMALL_FONT); more.setFont(AlphaFineConstants.SMALL_FONT); @@ -31,7 +33,7 @@ public class TitleCellRender implements ListCellRenderer { more.setForeground(AlphaFineConstants.DARK_GRAY); panel.add(name, BorderLayout.WEST); if (moreModel.isNeedMore()) { - this.more.setBorder(BorderFactory.createEmptyBorder(0,0,0,10)); + this.more.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10)); panel.add(this.more, BorderLayout.EAST); } if (moreModel.isLoading()) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index eb986cb13..42336a9c8 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -59,18 +59,6 @@ import java.util.concurrent.ExecutionException; * Created by XiaXiang on 2017/3/21. */ public class AlphaFineDialog extends UIDialog { - private AlphaFineTextField searchTextField; - private UIButton closeButton; - private JPanel searchResultPane; - private Point pressedPoint; - private UIScrollPane leftSearchResultPane; - private JPanel rightSearchResultPane; - private JList searchResultList; - private SearchListModel searchListModel; - private SwingWorker searchWorker; - //是否强制打开,因为面板是否关闭绑定了全局鼠标事件,这里需要处理一下 - private boolean forceOpen; - private static final String ACTION_MARK_SHORT = "k:1 "; private static final String ACTION_MARK = "k:setting "; private static final String DOCUMENT_MARK_SHORT = "k:2 "; @@ -83,6 +71,17 @@ public class AlphaFineDialog extends UIDialog { private static final String DS_NAME = "dsname=\""; private static final String PLUGIN_MARK_SHORT = "k:4 "; private static final String PLUGIN_MARK = "k:shop "; + private AlphaFineTextField searchTextField; + private UIButton closeButton; + private JPanel searchResultPane; + private Point pressedPoint; + private UIScrollPane leftSearchResultPane; + private JPanel rightSearchResultPane; + private JList searchResultList; + private SearchListModel searchListModel; + private SwingWorker searchWorker; + //是否强制打开,因为面板是否关闭绑定了全局鼠标事件,这里需要处理一下 + private boolean forceOpen; public AlphaFineDialog(Frame parent, boolean forceOpen) { @@ -93,6 +92,32 @@ public class AlphaFineDialog extends UIDialog { initComponents(); } + /** + * 全局快捷键 + * + * @return + */ + public static AWTEventListener listener() { + return new AWTEventListener() { + + @Override + public void eventDispatched(AWTEvent event) { + if (event instanceof KeyEvent) { + KeyEvent e = (KeyEvent) event; + KeyStroke keyStroke = (KeyStroke) KeyStroke.getAWTKeyStrokeForEvent(e); + KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().getShortCutKeyStore(); + if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString()) && AlphaFinePane.getAlphaFinePane().isVisible()) { + doClickAction(); + } + + } + } + }; + } + + private static void doClickAction() { + AlphaFineHelper.showAlphaFineDialog(false); + } /** * 初始化全部组件 @@ -113,7 +138,7 @@ public class AlphaFineDialog extends UIDialog { closeButton = new UIButton() { @Override public void paintComponent(Graphics g) { - g.setColor( Color.white ); + g.setColor(Color.white); g.fillRect(0, 0, getSize().width, getSize().height); super.paintComponent(g); } @@ -155,6 +180,7 @@ public class AlphaFineDialog extends UIDialog { /** * 设置面板位置 + * * @param win */ private void centerWindow(Window win) { @@ -169,11 +195,24 @@ public class AlphaFineDialog extends UIDialog { winSize.width = screenSize.width; } //这里设置位置:水平居中,竖直偏上 - win.setLocation((screenSize.width - winSize.width ) / 2, (screenSize.height - winSize.height) / AlphaFineConstants.SHOW_SIZE); + win.setLocation((screenSize.width - winSize.width) / 2, (screenSize.height - winSize.height) / AlphaFineConstants.SHOW_SIZE); } + // TODO: 2017/5/8 xiaxiang: 窗体圆角setShape()有毛边,重写paint方法可以解决毛边问题,但带来了别的问题,处理比较麻烦,暂用setShape(); +// public void paint(Graphics g){ +// +// Graphics2D g2 = (Graphics2D) g.create(); +// RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); +// qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); +// g2.setRenderingHints(qualityHints); +// g2.setPaint(Color.WHITE); +// g2.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25); +// g2.dispose(); +// } + /** * 执行搜索 + * * @param text */ private void doSearch(String text) { @@ -181,7 +220,7 @@ public class AlphaFineDialog extends UIDialog { if (StringUtils.isBlank(text) || text.equals("AlphaFine")) { removeSearchResult(); } else if (text.contains("'")) { - return; + return; } else { showSearchResult(); } @@ -200,19 +239,6 @@ public class AlphaFineDialog extends UIDialog { repaint(); } - // TODO: 2017/5/8 xiaxiang: 窗体圆角setShape()有毛边,重写paint方法可以解决毛边问题,但带来了别的问题,处理比较麻烦,暂用setShape(); -// public void paint(Graphics g){ -// -// Graphics2D g2 = (Graphics2D) g.create(); -// RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); -// qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); -// g2.setRenderingHints(qualityHints); -// g2.setPaint(Color.WHITE); -// g2.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25); -// g2.dispose(); -// } - - /** * 展示搜索结果 */ @@ -239,7 +265,7 @@ public class AlphaFineDialog extends UIDialog { leftSearchResultPane = new UIScrollPane(searchResultList); leftSearchResultPane.setBackground(Color.white); - leftSearchResultPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); + leftSearchResultPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); leftSearchResultPane.setPreferredSize(new Dimension(AlphaFineConstants.LEFT_WIDTH, AlphaFineConstants.CONTENT_HEIGHT)); rightSearchResultPane = new JPanel(); rightSearchResultPane.setBackground(Color.white); @@ -279,6 +305,7 @@ public class AlphaFineDialog extends UIDialog { /** * 重新构建搜索结果列表 * 先根据输入判断是不是隐藏的搜索功能 + * * @param searchText */ private void rebuildList(String searchText) { @@ -311,6 +338,7 @@ public class AlphaFineDialog extends UIDialog { /** * 普通搜索 + * * @param searchText */ private void doNormalSearch(String searchText) { @@ -322,7 +350,6 @@ public class AlphaFineDialog extends UIDialog { getPluginList(searchText); } - private synchronized void getDocumentList(final String searchText) { SearchResult documentModelList = DocumentSearchManager.getDocumentSearchManager().getLessSearchResult(searchText); for (Object object : documentModelList) { @@ -373,7 +400,6 @@ public class AlphaFineDialog extends UIDialog { } - /** * 初始化监听器 */ @@ -567,7 +593,7 @@ public class AlphaFineDialog extends UIDialog { private void showDefaultPreviewPane() { rightSearchResultPane.removeAll(); UILabel label = new UILabel(new ImageIcon(getClass().getResource("/com/fr/design/mainframe/alphafine/images/opening.gif"))); - label.setBorder(BorderFactory.createEmptyBorder(120,0,0,0)); + label.setBorder(BorderFactory.createEmptyBorder(120, 0, 0, 0)); rightSearchResultPane.add(label, BorderLayout.CENTER); validate(); repaint(); @@ -642,36 +668,9 @@ public class AlphaFineDialog extends UIDialog { } } } - }, AWTEvent.MOUSE_EVENT_MASK|AWTEvent.KEY_EVENT_MASK); + }, AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK); } - /** - * 全局快捷键 - * @return - */ - public static AWTEventListener listener() { - return new AWTEventListener() { - - @Override - public void eventDispatched(AWTEvent event) { - if (event instanceof KeyEvent) { - KeyEvent e = (KeyEvent) event; - KeyStroke keyStroke = (KeyStroke) KeyStroke.getAWTKeyStrokeForEvent(e); - KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().getShortCutKeyStore(); - if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString()) && AlphaFinePane.getAlphaFinePane().isVisible()) { - doClickAction(); - } - - } - } - }; - } - - private static void doClickAction() { - AlphaFineHelper.showAlphaFineDialog(false); - } - - @Override public void checkValid() throws Exception { @@ -683,7 +682,7 @@ public class AlphaFineDialog extends UIDialog { if (value instanceof ActionModel) { ((ActionModel) value).getAction().actionPerformed(null); } else if (value instanceof FileModel) { - DesignerContext.getDesignerFrame().openTemplate(new FileNodeFILE(new FileNode(((FileModel)value).getFilePath(), false))); + DesignerContext.getDesignerFrame().openTemplate(new FileNodeFILE(new FileNode(((FileModel) value).getFilePath(), false))); } else if (value instanceof PluginModel) { String url = ((PluginModel) value).getPluginUrl(); try { @@ -709,6 +708,7 @@ public class AlphaFineDialog extends UIDialog { /** * 保存本地(本地常用) + * * @param cellModel */ private void saveHistory(AlphaCellModel cellModel) { @@ -722,6 +722,7 @@ public class AlphaFineDialog extends UIDialog { /** * 上传数据到服务器 + * * @param searchKey * @param cellModel */ @@ -754,12 +755,13 @@ public class AlphaFineDialog extends UIDialog { /** * 点击显示更多时,添加对应的model到list;点击收起是移除model + * * @param index * @param selectedValue */ private void rebuildShowMoreList(int index, MoreModel selectedValue) { SearchResult moreResult = getMoreResult(selectedValue); - if((selectedValue).getContent().equals(Inter.getLocText("FR-Designer_AlphaFine_ShowLess"))) { + if ((selectedValue).getContent().equals(Inter.getLocText("FR-Designer_AlphaFine_ShowLess"))) { for (int i = 0; i < moreResult.size(); i++) { this.searchListModel.add(index + AlphaFineConstants.SHOW_SIZE + 1 + i, moreResult.get(i)); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java index e5ea8e258..0aab6a7d4 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java @@ -20,12 +20,6 @@ import java.awt.event.ActionListener; public class AlphaFinePane extends BasicPane { private static AlphaFinePane alphaFinePane; - public static AlphaFinePane getAlphaFinePane() { - if (alphaFinePane == null) { - alphaFinePane = new AlphaFinePane(); - } - return alphaFinePane; - } public AlphaFinePane() { setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 14)); if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) { @@ -56,6 +50,13 @@ public class AlphaFinePane extends BasicPane { }); } + public static AlphaFinePane getAlphaFinePane() { + if (alphaFinePane == null) { + alphaFinePane = new AlphaFinePane(); + } + return alphaFinePane; + } + @Override protected String title4PopupWindow() { return "AlphaFine"; diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineTextField.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineTextField.java index a1ef67df5..f75f9dec5 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineTextField.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineTextField.java @@ -6,7 +6,8 @@ import com.fr.report.web.button.Image; import com.fr.stable.StringUtils; import java.awt.*; -import java.awt.event.*; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; import static java.awt.event.KeyEvent.VK_ESCAPE; @@ -64,6 +65,7 @@ public class AlphaFineTextField extends UITextField { /** * 添加键盘监听器 + * * @param component */ public void initKeyListener(final Component component) { diff --git a/designer/src/com/fr/design/mainframe/alphafine/listener/DocumentAdapter.java b/designer/src/com/fr/design/mainframe/alphafine/listener/DocumentAdapter.java index 086fd7034..a34ae9f7a 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/listener/DocumentAdapter.java +++ b/designer/src/com/fr/design/mainframe/alphafine/listener/DocumentAdapter.java @@ -25,17 +25,17 @@ public abstract class DocumentAdapter implements DocumentListener { @Override public void insertUpdate(DocumentEvent e) { - textChanged(e); + textChanged(e); } @Override public void removeUpdate(DocumentEvent e) { - textChanged(e); + textChanged(e); } @Override public void changedUpdate(DocumentEvent e) { - textChanged(e); + textChanged(e); } protected abstract void textChanged(DocumentEvent e); diff --git a/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java b/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java index 2f3dd48c0..05eb401de 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java +++ b/designer/src/com/fr/design/mainframe/alphafine/model/SearchListModel.java @@ -8,7 +8,7 @@ import javax.swing.*; public class SearchListModel extends DefaultListModel { SearchResult myDelegate; - public SearchListModel( SearchResult searchResult) { + public SearchListModel(SearchResult searchResult) { this.myDelegate = searchResult; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/model/SearchResult.java b/designer/src/com/fr/design/mainframe/alphafine/model/SearchResult.java index 9efb2d59c..523ead7e0 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/model/SearchResult.java +++ b/designer/src/com/fr/design/mainframe/alphafine/model/SearchResult.java @@ -9,7 +9,6 @@ public class SearchResult extends ArrayList { private boolean needMore; - public boolean isNeedMore() { return needMore; } diff --git a/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java b/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java index 416c9512b..c7286850f 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/preview/ActionPreviewPane.java @@ -14,13 +14,14 @@ import java.awt.*; * Created by XiaXiang on 2017/5/5. */ public class ActionPreviewPane extends JPanel { - private static final Font NAME = new Font("Song_TypeFace",0,14); + private static final Font NAME = new Font("Song_TypeFace", 0, 14); + public ActionPreviewPane() { setLayout(new BorderLayout()); setBackground(null); - setBorder(BorderFactory.createEmptyBorder(135,0,0,0)); + setBorder(BorderFactory.createEmptyBorder(135, 0, 0, 0)); UILabel image = new UILabel(); - image.setPreferredSize(new Dimension(150,111)); + image.setPreferredSize(new Dimension(150, 111)); image.setHorizontalAlignment(SwingConstants.CENTER); image.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); image.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/noresult.png")); diff --git a/designer/src/com/fr/design/mainframe/alphafine/preview/DocumentPreviewPane.java b/designer/src/com/fr/design/mainframe/alphafine/preview/DocumentPreviewPane.java index 8464a8e41..89ed81387 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/preview/DocumentPreviewPane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/preview/DocumentPreviewPane.java @@ -20,7 +20,7 @@ public class DocumentPreviewPane extends JPanel { UITextArea contentArea = new UITextArea(summary); titleArea.setOpaque(false); contentArea.setOpaque(false); - titleArea.setBorder(BorderFactory.createEmptyBorder(0,0,0,0)); + titleArea.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); titleArea.setForeground(AlphaFineConstants.BLUE); contentArea.setForeground(AlphaFineConstants.BLACK); titleArea.setPreferredSize(new Dimension(360, 30)); diff --git a/designer/src/com/fr/design/mainframe/alphafine/preview/PluginPreviewPane.java b/designer/src/com/fr/design/mainframe/alphafine/preview/PluginPreviewPane.java index 6b8af31cb..5df3b8ac2 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/preview/PluginPreviewPane.java +++ b/designer/src/com/fr/design/mainframe/alphafine/preview/PluginPreviewPane.java @@ -15,7 +15,7 @@ import java.awt.*; public class PluginPreviewPane extends JPanel { public PluginPreviewPane(String title, Image image, String version, String jartime, CellType type, int price) { setLayout(new BorderLayout()); - setBorder(BorderFactory.createEmptyBorder(50,0,0,0)); + setBorder(BorderFactory.createEmptyBorder(50, 0, 0, 0)); setBackground(Color.white); UILabel imageLabel = new UILabel(); image = image.getScaledInstance(200, 200, Image.SCALE_SMOOTH); @@ -26,17 +26,17 @@ public class PluginPreviewPane extends JPanel { nameLabel.setBackground(Color.yellow); nameLabel.setHorizontalAlignment(SwingConstants.CENTER); JPanel line = new JPanel(); - line.setPreferredSize(new Dimension(200,1)); + line.setPreferredSize(new Dimension(200, 1)); line.setBackground(AlphaFineConstants.GRAY); JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(Color.white); JPanel bottomPane = new JPanel(new BorderLayout()); bottomPane.setBackground(Color.white); - bottomPane.setBorder(BorderFactory.createEmptyBorder(10,0,0,0)); + bottomPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); if (type == CellType.PLUGIN) { UILabel versionLabel = new UILabel("V" + version); versionLabel.setHorizontalAlignment(SwingConstants.CENTER); - versionLabel.setBorder(BorderFactory.createEmptyBorder(0,0,10,0)); + versionLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); versionLabel.setForeground(AlphaFineConstants.DARK_GRAY); versionLabel.setFont(AlphaFineConstants.MEDIUM_FONT); panel.add(versionLabel, BorderLayout.CENTER); @@ -47,7 +47,7 @@ public class PluginPreviewPane extends JPanel { } nameLabel.setFont(AlphaFineConstants.LARGE_FONT); nameLabel.setBackground(AlphaFineConstants.BLUE); - nameLabel.setBorder(BorderFactory.createEmptyBorder(20,20,10,20)); + nameLabel.setBorder(BorderFactory.createEmptyBorder(20, 20, 10, 20)); line.setBorder(BorderFactory.createEmptyBorder(20, 0, 10, 0)); String price0 = price == 0 ? Inter.getLocText("FR-Designer-Collect_Information_free") : String.valueOf(price); UILabel priceLabel = new UILabel(price0); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index 928f68a3d..c52c8b938 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -19,11 +19,11 @@ import java.util.List; * Created by XiaXiang on 2017/3/27. */ public class ActionSearchManager implements AlphaFineSearchProcessor { + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION); private static ActionSearchManager actionSearchManager = null; private SearchResult filterModelList; private SearchResult lessModelList; private SearchResult moreModelList; - private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_Set"), CellType.ACTION); public synchronized static ActionSearchManager getActionSearchManager() { if (actionSearchManager == null) { @@ -32,6 +32,22 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { return actionSearchManager; } + /** + * 根据类名获取对象 + * + * @param actionName + * @return + */ + public static ActionModel getModelFromCloud(String actionName) { + List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); + for (UpdateActionModel updateActionModel : updateActions) { + if (ComparatorUtils.equals(actionName, updateActionModel.getClassName()) && updateActionModel.getAction().isEnabled()) { + return new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction()); + } + } + return null; + } + @Override public synchronized SearchResult getLessSearchResult(String searchText) { filterModelList = new SearchResult(); @@ -78,19 +94,4 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { public SearchResult getMoreSearchResult() { return moreModelList; } - - /** - * 根据类名获取对象 - * @param actionName - * @return - */ - public static ActionModel getModelFromCloud(String actionName ) { - List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); - for (UpdateActionModel updateActionModel : updateActions) { - if (ComparatorUtils.equals(actionName, updateActionModel.getClassName()) && updateActionModel.getAction().isEnabled()) { - return new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction()); - } - } - return null; - } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaFineSearchProcessor.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaFineSearchProcessor.java index 26ed7c128..df5b36c09 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaFineSearchProcessor.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/AlphaFineSearchProcessor.java @@ -8,6 +8,7 @@ import com.fr.design.mainframe.alphafine.model.SearchResult; public interface AlphaFineSearchProcessor { /** * 获取默认显示条数 + * * @param searchText * @return */ @@ -15,6 +16,7 @@ public interface AlphaFineSearchProcessor { /** * 获取剩余条数 + * * @return */ SearchResult getMoreSearchResult(); diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java index fc10e8f9c..b56b975aa 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/DocumentSearchManager.java @@ -19,10 +19,10 @@ import com.fr.stable.StringUtils; * Created by XiaXiang on 2017/3/27. */ public class DocumentSearchManager implements AlphaFineSearchProcessor { + private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); private static DocumentSearchManager documentSearchManager = null; private SearchResult lessModelList; private SearchResult moreModelList; - private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), CellType.DOCUMENT); public synchronized static DocumentSearchManager getDocumentSearchManager() { if (documentSearchManager == null) { @@ -32,6 +32,19 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { return documentSearchManager; } + /** + * 根据json信息获取文档model + * + * @param object + * @return + */ + public static DocumentModel getModelFromCloud(JSONObject object) { + String name = object.optString("title"); + String content = object.optString("summary"); + int documentId = object.optInt("did"); + return new DocumentModel(name, content, documentId); + } + @Override public synchronized SearchResult getLessSearchResult(String searchText) { lessModelList = new SearchResult(); @@ -71,7 +84,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { lessModelList.addAll(searchResult); } } else { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.DOCUMENT)); + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_COMMUNITY_HELP"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.DOCUMENT)); lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } @@ -86,6 +99,7 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { /** * 无连接 + * * @return */ private SearchResult getNoConnectList() { @@ -95,18 +109,6 @@ public class DocumentSearchManager implements AlphaFineSearchProcessor { return result; } - /** - * 根据json信息获取文档model - * @param object - * @return - */ - public static DocumentModel getModelFromCloud(JSONObject object) { - String name = object.optString("title"); - String content = object.optString("summary"); - int documentId = object.optInt("did"); - return new DocumentModel(name, content, documentId); - } - @Override public SearchResult getMoreSearchResult() { return moreModelList; diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java index cadbbe119..569ae7936 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/PluginSearchManager.java @@ -4,8 +4,8 @@ import com.fr.design.DesignerEnvManager; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.CellType; -import com.fr.design.mainframe.alphafine.cell.model.PluginModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; +import com.fr.design.mainframe.alphafine.cell.model.PluginModel; import com.fr.design.mainframe.alphafine.model.SearchResult; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; @@ -23,8 +23,8 @@ import java.net.URLEncoder; * Created by XiaXiang on 2017/3/27. */ public class PluginSearchManager implements AlphaFineSearchProcessor { - private static PluginSearchManager pluginSearchManager = null; private static final MoreModel TITLE_MODEL = new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), CellType.PLUGIN); + private static PluginSearchManager pluginSearchManager = null; private SearchResult lessModelList; private SearchResult moreModelList; @@ -37,6 +37,47 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { } + private static PluginModel getPluginModel(JSONObject object, boolean isFromCloud) { + String name = object.optString("name"); + String content = object.optString("description"); + int pluginId = object.optInt("id"); + String imageUrl = null; + try { + imageUrl = isFromCloud ? AlphaFineConstants.PLUGIN_IMAGE_URL + URLEncoder.encode(object.optString("pic").toString().substring(AlphaFineConstants.PLUGIN_IMAGE_URL.length()), "utf8") : object.optString("pic"); + } catch (UnsupportedEncodingException e) { + FRLogger.getLogger().error(e.getMessage()); + } + String version = null; + String jartime = null; + CellType type; + String link = object.optString("link"); + if (ComparatorUtils.equals(link, "plugin")) { + version = isFromCloud ? object.optString("pluginversion") : object.optString("version"); + jartime = object.optString("jartime"); + type = CellType.PLUGIN; + } else { + type = CellType.REUSE; + } + int price = object.optInt("price"); + return new PluginModel(name, content, imageUrl, version, jartime, link, type, price, pluginId); + } + + /** + * 根据json获取对应的插件model + * + * @param object + * @return + */ + public static PluginModel getModelFromCloud(JSONObject object) { + JSONObject jsonObject = object.optJSONObject("result"); + if (jsonObject != null) { + return getPluginModel(jsonObject, true); + } else { + return getPluginModel(object, false); + } + + } + @Override public synchronized SearchResult getLessSearchResult(String searchText) { this.lessModelList = new SearchResult(); @@ -76,7 +117,7 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { lessModelList.addAll(searchResult); } } else { - lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"),true, CellType.PLUGIN)); + lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer-Plugin_Addon"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.PLUGIN)); lessModelList.addAll(searchResult.subList(0, AlphaFineConstants.SHOW_SIZE)); moreModelList.addAll(searchResult.subList(AlphaFineConstants.SHOW_SIZE, searchResult.size())); } @@ -97,48 +138,8 @@ public class PluginSearchManager implements AlphaFineSearchProcessor { return result; } - private static PluginModel getPluginModel(JSONObject object, boolean isFromCloud) { - String name = object.optString("name"); - String content = object.optString("description"); - int pluginId = object.optInt("id"); - String imageUrl = null; - try { - imageUrl = isFromCloud? AlphaFineConstants.PLUGIN_IMAGE_URL + URLEncoder.encode(object.optString("pic").toString().substring(AlphaFineConstants.PLUGIN_IMAGE_URL.length()), "utf8") : object.optString("pic"); - } catch (UnsupportedEncodingException e) { - FRLogger.getLogger().error(e.getMessage()); - } - String version = null; - String jartime = null; - CellType type; - String link = object.optString("link"); - if (ComparatorUtils.equals(link, "plugin")) { - version = isFromCloud? object.optString("pluginversion") : object.optString("version"); - jartime = object.optString("jartime"); - type = CellType.PLUGIN; - } else { - type = CellType.REUSE; - } - int price = object.optInt("price"); - return new PluginModel(name, content, imageUrl, version, jartime, link, type, price, pluginId); - } - @Override public SearchResult getMoreSearchResult() { return this.moreModelList; } - - /** - * 根据json获取对应的插件model - * @param object - * @return - */ - public static PluginModel getModelFromCloud(JSONObject object) { - JSONObject jsonObject = object.optJSONObject("result"); - if (jsonObject != null) { - return getPluginModel(jsonObject, true); - } else { - return getPluginModel(object, false); - } - - } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 76de3b84e..7e97c6ecd 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -135,9 +135,9 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear } - /** * 获取xml + * * @return */ private File getRecentFile() { @@ -157,6 +157,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear /** * 创建XML + * * @param envFile */ private void createRecentFile(File envFile) { @@ -212,6 +213,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear /** * 根据搜索字段获取对应的model列表 + * * @param searchText * @return */ @@ -233,6 +235,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear /** * 将搜索结果加入到当前MAP中 + * * @param searchKey * @param cellModel */ diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 9b38f7144..053eac54e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -13,7 +13,6 @@ import com.fr.json.JSONArray; import com.fr.json.JSONException; import com.fr.json.JSONObject; import com.fr.stable.CodeUtils; -import com.fr.stable.StringUtils; import java.util.ArrayList; import java.util.List; @@ -22,11 +21,11 @@ import java.util.List; * Created by XiaXiang on 2017/3/31. */ public class RecommendSearchManager implements AlphaFineSearchProcessor { + //todo:for test + private static final String SEARCHAPI = "http://localhost:8080/monitor/alphafine/search/recommend?searchKey="; private static RecommendSearchManager recommendSearchManager = null; private SearchResult modelList; private List recommendModelList = new ArrayList<>(); - //todo:for test - private static final String SEARCHAPI = "http://localhost:8080/monitor/alphafine/search/recommend?searchKey="; public synchronized static RecommendSearchManager getRecommendSearchManager() { if (recommendSearchManager == null) { @@ -34,6 +33,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { } return recommendSearchManager; } + @Override public synchronized SearchResult getLessSearchResult(String searchText) { this.modelList = new SearchResult(); From 9b2ec269544278e16ed40a4a8bfb2e25d36925f2 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 14:33:05 +0800 Subject: [PATCH 68/76] alphafine bug fix --- .../alphafine/component/AlphaFineDialog.java | 16 +++++++--------- .../search/manager/FileSearchManager.java | 3 ++- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 42336a9c8..97ac47fdf 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -71,6 +71,8 @@ public class AlphaFineDialog extends UIDialog { private static final String DS_NAME = "dsname=\""; private static final String PLUGIN_MARK_SHORT = "k:4 "; private static final String PLUGIN_MARK = "k:shop "; + private static final String BLANK = " "; + private AlphaFineTextField searchTextField; private UIButton closeButton; private JPanel searchResultPane; @@ -311,27 +313,23 @@ public class AlphaFineDialog extends UIDialog { private void rebuildList(String searchText) { searchListModel.removeAllElements(); if (searchText.startsWith(ACTION_MARK_SHORT) || searchText.startsWith(ACTION_MARK)) { - getActionList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); + getActionList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); return; } else if (searchText.startsWith(DOCUMENT_MARK_SHORT) || searchText.startsWith(DOCUMENT_MARK)) { - getDocumentList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); + getDocumentList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); return; - } else if (searchText.startsWith(FILE_MARK_SHORT) || searchText.startsWith(FILE_MARK)) { - getFileList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); + getFileList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); return; - } else if (searchText.startsWith(CPT_MARK) || searchText.startsWith(FRM_MARK)) { getFileList(searchText); return; } else if (searchText.startsWith(DS_MARK)) { - getFileList(DS_NAME + searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); + getFileList(DS_NAME + searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); return; - } else if (searchText.startsWith(PLUGIN_MARK_SHORT) || searchText.startsWith(PLUGIN_MARK)) { - getPluginList(searchText.substring(searchText.indexOf(" ") + 1, searchText.length())); + getPluginList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); return; - } doNormalSearch(searchText.trim()); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index a7d9fbe65..00779c69f 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -123,7 +123,8 @@ public class FileSearchManager implements AlphaFineSearchProcessor { if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent()) { try { - BufferedReader reader = new BufferedReader(new FileReader(filePath)); + InputStreamReader isr = new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8"); + BufferedReader reader = new BufferedReader(isr); String line; int columnNumber; boolean isFoundInContent = false; From 24f7fb70d16a5e654332dd2bc03086ffa31ddd1a Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 14:49:14 +0800 Subject: [PATCH 69/76] bug fix --- .../mainframe/alphafine/search/manager/FileSearchManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java index 00779c69f..19cc5d526 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/FileSearchManager.java @@ -132,6 +132,7 @@ public class FileSearchManager implements AlphaFineSearchProcessor { columnNumber = line.toLowerCase().indexOf(searchText); if (columnNumber != -1) { isFoundInContent = true; + break; } } if (isFoundInContent && !isAlreadyContain) { From 9f1a6d2f8467b5d2ce22f735cc1a72a816d80c0d Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 15:10:01 +0800 Subject: [PATCH 70/76] bug fix --- .../alphafine/component/AlphaFineDialog.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 97ac47fdf..aebcf227b 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -71,7 +71,6 @@ public class AlphaFineDialog extends UIDialog { private static final String DS_NAME = "dsname=\""; private static final String PLUGIN_MARK_SHORT = "k:4 "; private static final String PLUGIN_MARK = "k:shop "; - private static final String BLANK = " "; private AlphaFineTextField searchTextField; private UIButton closeButton; @@ -313,22 +312,22 @@ public class AlphaFineDialog extends UIDialog { private void rebuildList(String searchText) { searchListModel.removeAllElements(); if (searchText.startsWith(ACTION_MARK_SHORT) || searchText.startsWith(ACTION_MARK)) { - getActionList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); + getActionList(searchText.substring(searchText.indexOf(StringUtils.BLANK) + 1, searchText.length())); return; } else if (searchText.startsWith(DOCUMENT_MARK_SHORT) || searchText.startsWith(DOCUMENT_MARK)) { - getDocumentList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); + getDocumentList(searchText.substring(searchText.indexOf(StringUtils.BLANK) + 1, searchText.length())); return; } else if (searchText.startsWith(FILE_MARK_SHORT) || searchText.startsWith(FILE_MARK)) { - getFileList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); + getFileList(searchText.substring(searchText.indexOf(StringUtils.BLANK) + 1, searchText.length())); return; } else if (searchText.startsWith(CPT_MARK) || searchText.startsWith(FRM_MARK)) { getFileList(searchText); return; } else if (searchText.startsWith(DS_MARK)) { - getFileList(DS_NAME + searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); + getFileList(DS_NAME + searchText.substring(searchText.indexOf(StringUtils.BLANK) + 1, searchText.length())); return; } else if (searchText.startsWith(PLUGIN_MARK_SHORT) || searchText.startsWith(PLUGIN_MARK)) { - getPluginList(searchText.substring(searchText.indexOf(BLANK) + 1, searchText.length())); + getPluginList(searchText.substring(searchText.indexOf(StringUtils.BLANK) + 1, searchText.length())); return; } doNormalSearch(searchText.trim()); From b50ce9f52b7996a2cf7abc9794f26082044c540f Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 15:59:36 +0800 Subject: [PATCH 71/76] =?UTF-8?q?alphafine=20=E7=8C=9C=E6=82=A8=E5=96=9C?= =?UTF-8?q?=E6=AC=A2=E5=92=8C=E6=9C=AC=E5=9C=B0=E5=B8=B8=E7=94=A8=E5=8E=BB?= =?UTF-8?q?=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/search/manager/RecentSearchManager.java | 7 +++++++ .../alphafine/search/manager/RecommendSearchManager.java | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 7e97c6ecd..ef9a8bcd9 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -4,7 +4,9 @@ import com.fr.base.FRContext; import com.fr.base.Utils; import com.fr.design.mainframe.alphafine.AlphaFineConstants; import com.fr.design.mainframe.alphafine.AlphaFineHelper; +import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.CellModelHelper; +import com.fr.design.mainframe.alphafine.cell.model.ActionModel; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; @@ -224,6 +226,11 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear if (ComparatorUtils.equals(key, searchText)) { recentModelList = recentKVModelMap.get(searchText); int size = recentModelList.size(); + for (AlphaCellModel model : recentModelList) { + if (model.getType() == CellType.ACTION && !((ActionModel)model).getAction().isEnabled()) { + recentModelList.remove(model); + } + } if (size > MAX_SIZE) { return recentModelList.subList(size - MAX_SIZE, size); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 053eac54e..17287b59b 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -2,7 +2,9 @@ package com.fr.design.mainframe.alphafine.search.manager; import com.fr.design.DesignerEnvManager; import com.fr.design.mainframe.alphafine.AlphaFineHelper; +import com.fr.design.mainframe.alphafine.CellType; import com.fr.design.mainframe.alphafine.cell.CellModelHelper; +import com.fr.design.mainframe.alphafine.cell.model.ActionModel; import com.fr.design.mainframe.alphafine.cell.model.AlphaCellModel; import com.fr.design.mainframe.alphafine.cell.model.MoreModel; import com.fr.design.mainframe.alphafine.model.SearchResult; @@ -66,6 +68,11 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { } catch (JSONException e) { FRLogger.getLogger().error("recommend search error! :" + e.getMessage()); } + for (AlphaCellModel model : recommendModelList) { + if (model.getType() == CellType.ACTION && !((ActionModel)model).getAction().isEnabled()) { + recommendModelList.remove(model); + } + } if (recommendModelList.size() > 0) { modelList.add(new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); modelList.addAll(recommendModelList); From ddbc91055df42ebe61b4138c186ce71bf7b73794 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 16:25:42 +0800 Subject: [PATCH 72/76] =?UTF-8?q?bug=20fix=20=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/search/manager/RecentSearchManager.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index ef9a8bcd9..40502274c 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -225,16 +225,17 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear AlphaFineHelper.checkCancel(); if (ComparatorUtils.equals(key, searchText)) { recentModelList = recentKVModelMap.get(searchText); - int size = recentModelList.size(); - for (AlphaCellModel model : recentModelList) { + List resultModelList = new ArrayList<>(recentModelList); + int size = resultModelList.size(); + for (AlphaCellModel model : resultModelList) { if (model.getType() == CellType.ACTION && !((ActionModel)model).getAction().isEnabled()) { - recentModelList.remove(model); + resultModelList.remove(model); } } if (size > MAX_SIZE) { - return recentModelList.subList(size - MAX_SIZE, size); + return resultModelList.subList(size - MAX_SIZE, size); } - return recentModelList; + return resultModelList; } } return recentModelList; From 89da3df2641d4ff526306062fa6300463e0381c7 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 16:28:47 +0800 Subject: [PATCH 73/76] reformat --- .../mainframe/alphafine/search/manager/RecentSearchManager.java | 2 +- .../alphafine/search/manager/RecommendSearchManager.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 40502274c..7716de32e 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -228,7 +228,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear List resultModelList = new ArrayList<>(recentModelList); int size = resultModelList.size(); for (AlphaCellModel model : resultModelList) { - if (model.getType() == CellType.ACTION && !((ActionModel)model).getAction().isEnabled()) { + if (model.getType() == CellType.ACTION && !((ActionModel) model).getAction().isEnabled()) { resultModelList.remove(model); } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index 17287b59b..c3030ede5 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -69,7 +69,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { FRLogger.getLogger().error("recommend search error! :" + e.getMessage()); } for (AlphaCellModel model : recommendModelList) { - if (model.getType() == CellType.ACTION && !((ActionModel)model).getAction().isEnabled()) { + if (model.getType() == CellType.ACTION && !((ActionModel) model).getAction().isEnabled()) { recommendModelList.remove(model); } } From 9c6f0e254b339143cb937d8cc57b3a968075b3f7 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 16:55:25 +0800 Subject: [PATCH 74/76] bug fix --- .../search/manager/RecentSearchManager.java | 12 ++++++------ .../search/manager/RecommendSearchManager.java | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index 7716de32e..cc5ef1f48 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -27,10 +27,7 @@ import com.fr.stable.xml.XMLTools; import com.fr.stable.xml.XMLableReader; import java.io.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by XiaXiang on 2017/5/15. @@ -226,12 +223,15 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear if (ComparatorUtils.equals(key, searchText)) { recentModelList = recentKVModelMap.get(searchText); List resultModelList = new ArrayList<>(recentModelList); - int size = resultModelList.size(); - for (AlphaCellModel model : resultModelList) { + Iterator modelIterator = resultModelList.iterator(); + while (modelIterator.hasNext()) { + AlphaCellModel model = modelIterator.next(); if (model.getType() == CellType.ACTION && !((ActionModel) model).getAction().isEnabled()) { resultModelList.remove(model); } + } + int size = resultModelList.size(); if (size > MAX_SIZE) { return resultModelList.subList(size - MAX_SIZE, size); } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index c3030ede5..e1f4fee71 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -17,6 +17,7 @@ import com.fr.json.JSONObject; import com.fr.stable.CodeUtils; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; /** @@ -68,10 +69,13 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { } catch (JSONException e) { FRLogger.getLogger().error("recommend search error! :" + e.getMessage()); } - for (AlphaCellModel model : recommendModelList) { + Iterator modelIterator = recommendModelList.iterator(); + while (modelIterator.hasNext()) { + AlphaCellModel model = modelIterator.next(); if (model.getType() == CellType.ACTION && !((ActionModel) model).getAction().isEnabled()) { recommendModelList.remove(model); } + } if (recommendModelList.size() > 0) { modelList.add(new MoreModel(Inter.getLocText("FR-Designer_AlphaFine_Recommend"), false)); From 08fbc8ec6773e2d5f194ba92e3b068203b5b727e Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 17:00:04 +0800 Subject: [PATCH 75/76] bug fix --- .../mainframe/alphafine/search/manager/ActionSearchManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java index c52c8b938..03a63e063 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/ActionSearchManager.java @@ -41,7 +41,7 @@ public class ActionSearchManager implements AlphaFineSearchProcessor { public static ActionModel getModelFromCloud(String actionName) { List updateActions = UpdateActionManager.getUpdateActionManager().getUpdateActions(); for (UpdateActionModel updateActionModel : updateActions) { - if (ComparatorUtils.equals(actionName, updateActionModel.getClassName()) && updateActionModel.getAction().isEnabled()) { + if (ComparatorUtils.equals(actionName, updateActionModel.getClassName())) { return new ActionModel(updateActionModel.getActionName(), updateActionModel.getParentName(), updateActionModel.getAction()); } } From 842f691442c61e472ad7e5327ab35031a8e3cd39 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 13 Jun 2017 17:27:52 +0800 Subject: [PATCH 76/76] =?UTF-8?q?bug=20fix=E9=81=8D=E5=8E=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/search/manager/RecentSearchManager.java | 2 +- .../alphafine/search/manager/RecommendSearchManager.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java index cc5ef1f48..6dcebbf63 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java @@ -227,7 +227,7 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear while (modelIterator.hasNext()) { AlphaCellModel model = modelIterator.next(); if (model.getType() == CellType.ACTION && !((ActionModel) model).getAction().isEnabled()) { - resultModelList.remove(model); + modelIterator.remove(); } } diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java index e1f4fee71..217eccb83 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/RecommendSearchManager.java @@ -73,7 +73,7 @@ public class RecommendSearchManager implements AlphaFineSearchProcessor { while (modelIterator.hasNext()) { AlphaCellModel model = modelIterator.next(); if (model.getType() == CellType.ACTION && !((ActionModel) model).getAction().isEnabled()) { - recommendModelList.remove(model); + modelIterator.remove(); } }