Mata.Li
6 years ago
28 changed files with 887 additions and 597 deletions
@ -1,59 +0,0 @@
|
||||
package com.fr.design.gui; |
||||
|
||||
import com.fr.design.file.HistoryTemplateListPane; |
||||
import com.fr.design.mainframe.BaseJForm; |
||||
import com.fr.design.mainframe.JTemplate; |
||||
import com.fr.general.ComparatorUtils; |
||||
|
||||
|
||||
/** |
||||
* Created by mengao on 2017/9/22. |
||||
* 单元格超链、图表超链在不同类型模版中,下拉选项不同 |
||||
*/ |
||||
public class HyperlinkFilterHelper { |
||||
|
||||
public static boolean whetherAddHyperlink4cell(String itemName) { |
||||
JTemplate jTemplate = getCurrentEditingTemplate(); |
||||
if (jTemplate == null) { |
||||
return false; |
||||
} |
||||
//先屏蔽掉这个,之后还有别的
|
||||
String[] names = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ Hyperlink_Chart_Float")}; |
||||
for (String name : names) { |
||||
if (!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, name)) { |
||||
return false; |
||||
} |
||||
} |
||||
return whetherAddFormLink(jTemplate, itemName); |
||||
} |
||||
|
||||
public static boolean whetherAddHyperlink4Chart(String itemName) { |
||||
JTemplate jTemplate = getCurrentEditingTemplate(); |
||||
if (jTemplate == null) { |
||||
return false; |
||||
} |
||||
//先屏蔽掉这个,之后还有别的
|
||||
String[] names = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ Hyperlink_Chart_Float"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Chart_Cell")}; |
||||
for (String name : names) { |
||||
if (!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, name)) { |
||||
if (jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])) { |
||||
//表单报表块中图表悬浮元素超链,只屏蔽联动悬浮元素
|
||||
return false; |
||||
} else if (jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { |
||||
//表单图表超链屏蔽掉联动悬浮元素和联动单元格
|
||||
return false; |
||||
} |
||||
} |
||||
} |
||||
return whetherAddFormLink(jTemplate, itemName); |
||||
} |
||||
|
||||
private static JTemplate getCurrentEditingTemplate() { |
||||
return HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); |
||||
} |
||||
|
||||
private static boolean whetherAddFormLink(JTemplate jTemplate, String itemName) { |
||||
String formName = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Form_Link"); |
||||
return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); |
||||
} |
||||
} |
@ -0,0 +1,22 @@
|
||||
package com.fr.design.gui.frpane; |
||||
|
||||
import com.fr.js.JavaScript; |
||||
|
||||
public interface HyperLinkGroupFilter { |
||||
|
||||
/** |
||||
* @param clazz clazz |
||||
* @return 是否可用,返回true表示可用,返回false表示不可用 |
||||
*/ |
||||
boolean filter(Class<? extends JavaScript> clazz); |
||||
|
||||
/** |
||||
* 兼容老图表 |
||||
* |
||||
* @param object object |
||||
* @return 是否可用,返回true表示可用,返回false表示不可用 |
||||
* @see HyperLinkGroupFilter#filter(Class) |
||||
*/ |
||||
boolean filter(Object object); |
||||
|
||||
} |
@ -0,0 +1,44 @@
|
||||
package com.fr.extended.chart; |
||||
|
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.i18n.Toolkit; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* Created by shine on 2018/9/27. |
||||
*/ |
||||
public class UIComboBoxWithNone extends UIComboBox { |
||||
|
||||
private static String getNoneLocaleString() { |
||||
return Toolkit.i18nText("Fine-Design_Chart_Use_None"); |
||||
} |
||||
|
||||
@Override |
||||
public void refreshBoxItems(List list) { |
||||
super.refreshBoxItems(list); |
||||
addNoneItem(); |
||||
} |
||||
|
||||
@Override |
||||
public void clearBoxItems() { |
||||
super.clearBoxItems(); |
||||
addNoneItem(); |
||||
} |
||||
|
||||
|
||||
private void addNoneItem() { |
||||
addItem(getNoneLocaleString()); |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void setSelectedItem(Object anObject) { |
||||
super.setSelectedItem(anObject); |
||||
|
||||
if (getSelectedIndex() == -1) {//找不到的都选中无。中文的无 英文下是none。
|
||||
super.setSelectedItem(getNoneLocaleString()); |
||||
} |
||||
} |
||||
|
||||
} |
@ -0,0 +1,94 @@
|
||||
package com.fr.design.mainframe.alphafine.cell.model; |
||||
|
||||
import com.fr.design.mainframe.alphafine.AlphaFineConstants; |
||||
import com.fr.design.mainframe.alphafine.CellType; |
||||
import com.fr.json.JSONException; |
||||
import com.fr.json.JSONObject; |
||||
import org.junit.Assert; |
||||
import org.junit.Test; |
||||
|
||||
public class ModelTest { |
||||
@Test |
||||
public void documentModelTest() { |
||||
DocumentModel documentModel = new DocumentModel("name", "content", 1); |
||||
Assert.assertEquals("name", documentModel.getName()); |
||||
Assert.assertEquals("content", documentModel.getContent()); |
||||
Assert.assertEquals(1, documentModel.getDocumentId()); |
||||
Assert.assertEquals(AlphaFineConstants.DOCUMENT_DOC_URL + documentModel.getDocumentId() + ".html", documentModel.getDocumentUrl()); |
||||
Assert.assertEquals(AlphaFineConstants.DOCUMENT_INFORMATION_URL + documentModel.getDocumentId(), documentModel.getInformationUrl()); |
||||
Assert.assertEquals(documentModel.getStoreInformation(), documentModel.getInformationUrl()); |
||||
Assert.assertEquals(CellType.DOCUMENT, documentModel.getType()); |
||||
Assert.assertEquals(true, documentModel.hasAction()); |
||||
Assert.assertEquals(true, documentModel.isNeedToSendToServer()); |
||||
|
||||
documentModel.setDescription("test"); |
||||
Assert.assertEquals("test", documentModel.getDescription()); |
||||
|
||||
DocumentModel another = new DocumentModel("another", "another", 1); |
||||
documentModel.doAction(); |
||||
Assert.assertTrue(another.equals(documentModel)); |
||||
Assert.assertNotNull(documentModel.modelToJson()); |
||||
} |
||||
|
||||
@Test |
||||
public void bottomModelTest() { |
||||
BottomModel bottomModel = new BottomModel(); |
||||
Assert.assertEquals(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Internet_Forum"), bottomModel.getGoToWeb()); |
||||
Assert.assertEquals(CellType.BOTTOM, bottomModel.getType()); |
||||
try { |
||||
Assert.assertEquals(JSONObject.EMPTY, bottomModel.modelToJson()); |
||||
} catch (JSONException e) { |
||||
e.printStackTrace(); |
||||
} |
||||
Assert.assertEquals(true, bottomModel.hasAction()); |
||||
bottomModel.doAction(); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void fileModelTest() { |
||||
FileModel fileModel = new FileModel("name", "test\\\\"); |
||||
Assert.assertEquals(CellType.FILE, fileModel.getType()); |
||||
Assert.assertNotNull(fileModel.modelToJson()); |
||||
FileModel anotherFileModel = new FileModel("anotherFileModel", "test\\\\"); |
||||
Assert.assertTrue(anotherFileModel.equals(fileModel)); |
||||
} |
||||
|
||||
@Test |
||||
public void moreModelTest() { |
||||
MoreModel moreModel = new MoreModel("name"); |
||||
Assert.assertTrue(!moreModel.hasAction()); |
||||
Assert.assertTrue(!moreModel.isNeedToSendToServer()); |
||||
Assert.assertEquals(CellType.MORE, moreModel.getType()); |
||||
} |
||||
|
||||
@Test |
||||
public void noResultModelTest() { |
||||
NoResultModel noResultModel = new NoResultModel("test"); |
||||
Assert.assertTrue(!noResultModel.hasAction()); |
||||
Assert.assertTrue(!noResultModel.isNeedToSendToServer()); |
||||
Assert.assertEquals(CellType.NO_RESULT, noResultModel.getType()); |
||||
} |
||||
|
||||
@Test |
||||
public void pluginModelTest() { |
||||
PluginModel pluginModel = new PluginModel("name", "content", "url", "version", "jartime", "link", "pluginId", CellType.PLUGIN, 10000, 1); |
||||
Assert.assertTrue(pluginModel.hasAction()); |
||||
Assert.assertTrue(pluginModel.isNeedToSendToServer()); |
||||
Assert.assertEquals(CellType.PLUGIN, pluginModel.getType()); |
||||
Assert.assertNotNull(pluginModel.modelToJson()); |
||||
} |
||||
|
||||
@Test |
||||
public void robotModelTest(){ |
||||
RobotModel robotModel = new RobotModel("title","content"); |
||||
Assert.assertTrue(robotModel.hasAction()); |
||||
Assert.assertTrue(robotModel.isNeedToSendToServer()); |
||||
Assert.assertEquals(CellType.ROBOT, robotModel.getType()); |
||||
try { |
||||
Assert.assertNotNull(robotModel.modelToJson()); |
||||
} catch (JSONException e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,80 @@
|
||||
package com.fr.design.mainframe.alphafine.search.manager.impl; |
||||
|
||||
import com.fr.design.mainframe.alphafine.AlphaFineHelper; |
||||
import com.fr.design.mainframe.alphafine.CellType; |
||||
import com.fr.design.mainframe.alphafine.model.SearchResult; |
||||
import com.fr.json.JSONObject; |
||||
import org.junit.Assert; |
||||
import org.junit.Before; |
||||
import org.junit.Test; |
||||
|
||||
public class SearchManegerTest { |
||||
SimilarSearchManeger similarSearchManeger; |
||||
ComplementAdviceManager complementAdviceManager; |
||||
DocumentSearchManager documentSearchManager; |
||||
PluginSearchManager pluginSearchManager; |
||||
RecommendSearchManager recommendSearchManager; |
||||
RecentSearchManager recentSearchManager; |
||||
ActionSearchManager actionSearchManager; |
||||
FileSearchManager fileSearchManager; |
||||
SegmentationManager segmentationManager; |
||||
|
||||
@Before |
||||
public void setUp() { |
||||
recentSearchManager = RecentSearchManager.getInstance(); |
||||
recommendSearchManager = RecommendSearchManager.getInstance(); |
||||
similarSearchManeger = SimilarSearchManeger.getInstance(); |
||||
complementAdviceManager = ComplementAdviceManager.getInstance(); |
||||
documentSearchManager = DocumentSearchManager.getInstance(); |
||||
pluginSearchManager = PluginSearchManager.getInstance(); |
||||
actionSearchManager = ActionSearchManager.getInstance(); |
||||
fileSearchManager = FileSearchManager.getInstance(); |
||||
segmentationManager = SegmentationManager.getInstance(); |
||||
} |
||||
|
||||
@Test |
||||
public void getSearchResultTest() { |
||||
|
||||
//检测网络情况
|
||||
Assert.assertTrue(AlphaFineHelper.isNetworkOk()); |
||||
|
||||
//正常搜索情况
|
||||
SearchResult lessModelList; |
||||
lessModelList = recentSearchManager.getLessSearchResult(new String[]{"数据集"}); |
||||
Assert.assertNotNull(lessModelList); |
||||
|
||||
lessModelList = similarSearchManeger.getLessSearchResult(new String[]{"数据集"}); |
||||
Assert.assertEquals(lessModelList.get(1).getType(), CellType.ROBOT); |
||||
|
||||
lessModelList = complementAdviceManager.getAllSearchResult(new String[]{"数据集"}); |
||||
Assert.assertEquals(lessModelList.get(1).getType(), CellType.ROBOT); |
||||
|
||||
//返回MoreSearchResult
|
||||
SearchResult moreModelList; |
||||
moreModelList = similarSearchManeger.getMoreSearchResult("数据集"); |
||||
Assert.assertNotNull(moreModelList); |
||||
|
||||
moreModelList = recommendSearchManager.getMoreSearchResult("数据集"); |
||||
Assert.assertNotNull(moreModelList); |
||||
} |
||||
|
||||
@Test |
||||
public void getModelFromCloudTest() { |
||||
Assert.assertNotNull(SimilarSearchManeger.getModelFromCloud(new JSONObject())); |
||||
Assert.assertNotNull(DocumentSearchManager.getModelFromCloud(new JSONObject())); |
||||
Assert.assertNotNull(PluginSearchManager.getModelFromCloud(new JSONObject())); |
||||
} |
||||
|
||||
@Test |
||||
public void isNeedSegmentationTest() { |
||||
Assert.assertEquals(segmentationManager.isNeedSegmentation("多维数据集"), true); |
||||
} |
||||
|
||||
@Test |
||||
public void startSegmentationTest() { |
||||
String[] result = {"结果报表", "结果", "报表"}; |
||||
Assert.assertEquals(segmentationManager.startSegmentation("结果报表"), result); |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue