From f3f6fe516af91c5a93b169575ed29b99ce1c2393 Mon Sep 17 00:00:00 2001 From: lucian Date: Fri, 27 Mar 2020 17:44:07 +0800 Subject: [PATCH] =?UTF-8?q?KERNEL-3521=20=E6=B7=BB=E5=8A=A0FineKit?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fanruan/api/cal/formula/Formula.java | 16 - .../fanruan/api/cluster/ClusterBridgeKit.java | 20 +- .../fanruan/api/concurrent/ConcurrentKit.java | 15 + .../api/concurrent/NamedThreadFactory.java | 20 - .../fanruan/api/conf/xml/XmlHolderKit.java | 21 +- .../decision/monitor/RuntimeMemScoreKit.java | 10 - .../table/model/DesignModelAdapter.java | 19 - .../table/model/DesignModelAdapterKit.java | 15 + ...pertyTable.java => BasePropertyTable.java} | 4 +- .../api/design/work/WidgetPropertyPane.java | 417 +----------------- .../work/component/ParameterComboBox.java | 3 +- .../fanruan/api/util/FineCollectionKit.java | 3 - .../api/cluster/ClusterBridgeKitTest.java | 34 +- .../monitor/RuntimeMemScoreKitTest.java | 9 - .../api/util/FineCollectionKitTest.java | 4 - .../com/fanruan/api/util/GeneralKitTest.java | 1 + .../java/com/fanruan/api/util/IOKitTest.java | 2 +- 17 files changed, 106 insertions(+), 507 deletions(-) delete mode 100644 src/main/java/com/fanruan/api/cal/formula/Formula.java create mode 100644 src/main/java/com/fanruan/api/concurrent/ConcurrentKit.java delete mode 100644 src/main/java/com/fanruan/api/concurrent/NamedThreadFactory.java delete mode 100644 src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapter.java create mode 100644 src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapterKit.java rename src/main/java/com/fanruan/api/design/ui/table/{AbstractPropertyTable.java => BasePropertyTable.java} (52%) diff --git a/src/main/java/com/fanruan/api/cal/formula/Formula.java b/src/main/java/com/fanruan/api/cal/formula/Formula.java deleted file mode 100644 index 461ed8e..0000000 --- a/src/main/java/com/fanruan/api/cal/formula/Formula.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.fanruan.api.cal.formula; - -/** - * @author Lucian.Chen - * @version 10.0 - * Created by Lucian.Chen on 2020/3/23 - */ -public class Formula extends com.fr.base.Formula { - public Formula() { - super(); - } - - public Formula(String content) { - super(content); - } -} diff --git a/src/main/java/com/fanruan/api/cluster/ClusterBridgeKit.java b/src/main/java/com/fanruan/api/cluster/ClusterBridgeKit.java index 218b226..41156be 100644 --- a/src/main/java/com/fanruan/api/cluster/ClusterBridgeKit.java +++ b/src/main/java/com/fanruan/api/cluster/ClusterBridgeKit.java @@ -1,7 +1,11 @@ package com.fanruan.api.cluster; import com.fr.cluster.ClusterBridge; +import com.fr.cluster.core.ClusterNode; import com.fr.cluster.core.ClusterView; +import com.fr.stable.Filter; + +import java.util.List; /** * @author Lucian.Chen @@ -10,8 +14,20 @@ import com.fr.cluster.core.ClusterView; */ public class ClusterBridgeKit { - public static ClusterView getView() { - return ClusterBridge.getView(); + public static ClusterNode getCurrentNode() { + return ClusterBridge.getView().getCurrent(); + } + + public static ClusterNode getNodeById(String var1) { + return ClusterBridge.getView().getNodeById(var1); + } + + public static List listNodes() { + return ClusterBridge.getView().listNodes(); + } + + public static List listNodes(Filter var1) { + return ClusterBridge.getView().listNodes(var1); } public static boolean isClusterMode() { diff --git a/src/main/java/com/fanruan/api/concurrent/ConcurrentKit.java b/src/main/java/com/fanruan/api/concurrent/ConcurrentKit.java new file mode 100644 index 0000000..bb0acd6 --- /dev/null +++ b/src/main/java/com/fanruan/api/concurrent/ConcurrentKit.java @@ -0,0 +1,15 @@ +package com.fanruan.api.concurrent; + +import com.fr.concurrent.NamedThreadFactory; + +/** + * @author Lucian.Chen + * @version 10.0 + * Created by Lucian.Chen on 2020/3/27 + */ +public class ConcurrentKit { + + public static NamedThreadFactory newNamedThreadFactory(String s) { + return new NamedThreadFactory(s); + } +} diff --git a/src/main/java/com/fanruan/api/concurrent/NamedThreadFactory.java b/src/main/java/com/fanruan/api/concurrent/NamedThreadFactory.java deleted file mode 100644 index 915b430..0000000 --- a/src/main/java/com/fanruan/api/concurrent/NamedThreadFactory.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.fanruan.api.concurrent; - -/** - * @author Lucian.Chen - * @version 10.0 - * Created by Lucian.Chen on 2020/3/23 - */ -public class NamedThreadFactory extends com.fr.concurrent.NamedThreadFactory { - public NamedThreadFactory(Class aClass) { - super(aClass); - } - - public NamedThreadFactory(String s) { - super(s); - } - - public NamedThreadFactory(String s, boolean b) { - super(s, b); - } -} diff --git a/src/main/java/com/fanruan/api/conf/xml/XmlHolderKit.java b/src/main/java/com/fanruan/api/conf/xml/XmlHolderKit.java index cb79741..f88a363 100644 --- a/src/main/java/com/fanruan/api/conf/xml/XmlHolderKit.java +++ b/src/main/java/com/fanruan/api/conf/xml/XmlHolderKit.java @@ -14,21 +14,38 @@ public class XmlHolderKit { /** * 创建一个要写入配置的xml多项 - * * @param 类型 - * @param 类型 * @param t 配置对象 * @param clazz 类型 * @param xmlTag xml标签 + * @param 类型 * @return 配置对象 */ public static Conf obj(T t, Class clazz, String xmlTag) { return new XmlConf(t, clazz, xmlTag); } + /** + * 创建一个集合类型的xml配置 + * + * @param t 初始值 + * @param clazz 对象class类型 + * @param 类型 + * @return 配置对象 + */ public static XmlColConf> collection(Collection t, Class clazz) { return collection(t,clazz,true); } + + /** + * 创建一个集合类型的xml配置 + * + * @param t 初始值 + * @param clazz 对象class类型 + * @param order 是否是有序的配置 + * @param 类型 + * @return 配置对象 + */ public static XmlColConf> collection(Collection t, Class clazz, boolean order) { return new XmlColConf>(t, clazz, order); } diff --git a/src/main/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKit.java b/src/main/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKit.java index 3e1d929..1f2e8ce 100644 --- a/src/main/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKit.java +++ b/src/main/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKit.java @@ -9,16 +9,6 @@ import com.fr.decision.system.monitor.gc.load.RuntimeMemScoreProvider; */ public class RuntimeMemScoreKit { - //计算中止分值 - public static int getBalancePromoterScore() { - return RuntimeMemScoreProvider.getBalancePromoterScore(); - } - - //释放会话分值 - public static int getReleasePromoterScore() { - return RuntimeMemScoreProvider.getReleasePromoterScore(); - } - //分发得分 public static int getLoadScore() { return RuntimeMemScoreProvider.getLoadScore(); diff --git a/src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapter.java b/src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapter.java deleted file mode 100644 index e4c30c6..0000000 --- a/src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapter.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.fanruan.api.design.ui.component.table.model; - -import com.fr.base.io.BaseBook; -import com.fr.design.mainframe.JTemplateProvider; - -/** - * @author Lucian.Chen - * @version 10.0 - * Created by Lucian.Chen on 2020/3/23 - */ -public abstract class DesignModelAdapter> extends com.fr.design.DesignModelAdapter { - public DesignModelAdapter(JTemplateProvider jTemplateProvider) { - super(jTemplateProvider); - } - - public static DesignModelAdapter getCurrentModelAdapter() { - return DesignModelAdapter.getCurrentModelAdapter(); - } -} diff --git a/src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapterKit.java b/src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapterKit.java new file mode 100644 index 0000000..525c9df --- /dev/null +++ b/src/main/java/com/fanruan/api/design/ui/component/table/model/DesignModelAdapterKit.java @@ -0,0 +1,15 @@ +package com.fanruan.api.design.ui.component.table.model; + +import com.fr.design.DesignModelAdapter; + +/** + * @author Lucian.Chen + * @version 10.0 + * Created by Lucian.Chen on 2020/3/27 + */ +public class DesignModelAdapterKit { + + public static DesignModelAdapter getCurrentModelAdapter() { + return DesignModelAdapter.getCurrentModelAdapter(); + } +} diff --git a/src/main/java/com/fanruan/api/design/ui/table/AbstractPropertyTable.java b/src/main/java/com/fanruan/api/design/ui/table/BasePropertyTable.java similarity index 52% rename from src/main/java/com/fanruan/api/design/ui/table/AbstractPropertyTable.java rename to src/main/java/com/fanruan/api/design/ui/table/BasePropertyTable.java index 83d79e4..749b664 100644 --- a/src/main/java/com/fanruan/api/design/ui/table/AbstractPropertyTable.java +++ b/src/main/java/com/fanruan/api/design/ui/table/BasePropertyTable.java @@ -5,8 +5,8 @@ package com.fanruan.api.design.ui.table; * @version 10.0 * Created by Lucian.Chen on 2020/3/23 */ -public abstract class AbstractPropertyTable extends com.fr.design.gui.itable.AbstractPropertyTable { - public AbstractPropertyTable() { +public abstract class BasePropertyTable extends com.fr.design.gui.itable.AbstractPropertyTable { + public BasePropertyTable() { super(); } } diff --git a/src/main/java/com/fanruan/api/design/work/WidgetPropertyPane.java b/src/main/java/com/fanruan/api/design/work/WidgetPropertyPane.java index 5c5d39a..8621d73 100644 --- a/src/main/java/com/fanruan/api/design/work/WidgetPropertyPane.java +++ b/src/main/java/com/fanruan/api/design/work/WidgetPropertyPane.java @@ -1,419 +1,12 @@ package com.fanruan.api.design.work; -import com.fanruan.api.design.ui.component.UIHeadGroup; -import com.fanruan.api.design.ui.component.UILabel; -import com.fanruan.api.design.ui.container.UIScrollPane; -import com.fanruan.api.design.ui.table.AbstractPropertyTable; -import com.fanruan.api.design.util.GUICoreKit; -import com.fanruan.api.util.ArrayKit; -import com.fanruan.api.util.IOKit; -import com.fr.design.ExtraDesignClassManager; -import com.fr.design.constants.UIConstants; -import com.fr.design.designer.beans.events.DesignerEditListener; -import com.fr.design.designer.beans.events.DesignerEvent; -import com.fr.design.designer.creator.XComponent; -import com.fr.design.designer.creator.XCreator; -import com.fr.design.designer.creator.XCreatorUtils; -import com.fr.design.designer.creator.XLayoutContainer; -import com.fr.design.designer.creator.XWAbsoluteLayout; -import com.fr.design.designer.creator.XWFitLayout; -import com.fr.design.designer.creator.XWParameterLayout; -import com.fr.design.designer.properties.EventPropertyTable; -import com.fr.design.designer.properties.mobile.MobileBookMarkPropertyUI; -import com.fr.design.designer.properties.mobile.MobileStylePropertyUI; -import com.fr.design.fun.WidgetPropertyUIProvider; -import com.fr.design.mainframe.BaseFormDesigner; -import com.fr.design.mainframe.BaseWidgetPropertyPane; -import com.fr.design.mainframe.FormDesigner; -import com.fr.design.mainframe.FormDockView; -import com.fr.design.mainframe.FormSelection; -import com.fr.design.mainframe.widget.ui.FormWidgetCardPane; -import com.fr.design.widget.ui.designer.mobile.MobileWidgetDefinePane; - -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - /** * 控件属性表绘制 - * Modified by fanglei + * */ -public class WidgetPropertyPane extends FormDockView implements BaseWidgetPropertyPane { - - private static final int PADDING = 10; - private static final int PADDING_M = 12; - private FormWidgetCardPane formWidgetCardPane; // 控件的属性表 - private EventPropertyTable eventTable; // 控件的事件表 - private List widgetPropertyTables; // 这个变量应该是保存控件拓展的属性tab - private List mobileExtraPropertyPanes; // 保存9.0设计器下移动端拓展的属性tab,舍弃JTable - private FormDesigner designer; // 当前designer - private UIScrollPane psp; // 用来装载属性表table的容器 - private JPanel wsp; // 装载移动端tab的容器,包括移动端属性表和控件拓展的移动端属性表 - private UIHeadGroup tabsHeaderIconPane; - private XComponent lastAffectedCreator; - - - public static WidgetPropertyPane getInstance() { - if (HOLDER.singleton == null) { - HOLDER.singleton = new WidgetPropertyPane(); - } - return HOLDER.singleton; - } - - public static WidgetPropertyPane getInstance(FormDesigner formEditor) { - HOLDER.singleton.setEditingFormDesigner(formEditor); - HOLDER.singleton.refreshDockingView(); - return HOLDER.singleton; - } - - private static class HOLDER { - private static WidgetPropertyPane singleton = new WidgetPropertyPane(); - } - - private WidgetPropertyPane() { - setLayout(GUICoreKit.createBorderLayout()); - } - - @Override - protected String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Control_Setting"); - } - - - @Override - public String getViewTitle() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Property_Table"); - } - - @Override - public Icon getViewIcon() { - return IOKit.readIcon("/com/fr/design/images/m_report/attributes.png"); - } - - @Override - /** - * 绘制属性表tab - */ - public void refreshDockingView() { - designer = this.getEditingFormDesigner(); - removeAll(); - if (designer == null) { - clearDockingView(); - return; - } - widgetPropertyTables = new ArrayList(); - mobileExtraPropertyPanes = new ArrayList<>(); - - //依次创建属性表、事件表、移动端表,再将它们整合到TabPane中去 - this.createPropertyTable(); - this.createEventTable(); - this.createMobileWidgetTable(); - this.createTabPane(); - - this.initTables(); - } - - /** - * 初始化属性表,事件表,移动端拓展的属性表 - */ - private void initTables() { - formWidgetCardPane.populate(); - eventTable.refresh(); - - if (mobileExtraPropertyPanes != null) { - for (MobileWidgetDefinePane extraPane : mobileExtraPropertyPanes) { - extraPane.initPropertyGroups(designer); - } - } - if (widgetPropertyTables != null) { - for (AbstractPropertyTable propertyTable : widgetPropertyTables) { - propertyTable.initPropertyGroups(designer); - } - } - } - - /** - * 创建属性表table - */ - private void createPropertyTable() { - formWidgetCardPane = new FormWidgetCardPane(designer); - designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(formWidgetCardPane)); - psp = new UIScrollPane(formWidgetCardPane); // 用来装载属性表table - psp.setBorder(null); - } - - /** - * 创建事件表(事件选项卡不是JTable) - */ - private void createEventTable() { - eventTable = new EventPropertyTable(designer); - designer.addDesignerEditListener(new EventPropertyDesignerAdapter(eventTable)); - } - - /** - * 创建移动端控件列表 - */ - private void createMobileWidgetTable() { - //加上表头后,这里不再使用borderLayout布局,而采用BoxLayout布局 - wsp = GUICoreKit.createYAXISBoxInnerContainerPane(); - wsp.setBorder(null); - designer.addDesignerEditListener(new MobileWidgetDesignerAdapter()); - - //获取拓展移动端属性tab - WidgetPropertyUIProvider[] widgetAttrProviders = getExtraPropertyUIProviders(); - addWidgetAttr(widgetAttrProviders); - } - - /** - * 将属性表,事件表,移动端控件列表整合到TabPane里面去 - */ - private void createTabPane() { - initTabPane(); - } - - /** - * 获取当前控件扩展的属性tab - * 来源有两个: - * 1, 各个控件从各自的Xcreator里扩展(例如手机重布局的tab就是从Xcreator中扩展的); - * 2, 所有的控件从插件里扩展. - * - * @return 扩展的tab - */ - private WidgetPropertyUIProvider[] getExtraPropertyUIProviders() { - FormSelection selection = designer.getSelectionModel().getSelection(); - WidgetPropertyUIProvider[] embeddedPropertyUIProviders = null; - XCreator xCreator = selection.getSelectedCreator(); - if (selection != null && xCreator != null) { - embeddedPropertyUIProviders = selection.getSelectedCreator().getWidgetPropertyUIProviders(); - if(!designer.getDesignerMode().isFormParameterEditor()) { - if (!xCreator.acceptType(XWAbsoluteLayout.class, XWFitLayout.class)) { - embeddedPropertyUIProviders = ArrayKit.insert(0, embeddedPropertyUIProviders, new MobileBookMarkPropertyUI(xCreator)); - } - if (xCreator.supportMobileStyle()) { - embeddedPropertyUIProviders = ArrayKit.insert(0, embeddedPropertyUIProviders, new MobileStylePropertyUI(xCreator)); - } - } - } - Set set = ExtraDesignClassManager.getInstance().getArray(WidgetPropertyUIProvider.XML_TAG); - return ArrayKit.addAll(embeddedPropertyUIProviders, set.toArray(new WidgetPropertyUIProvider[set.size()])); - } - - /** - * 判断是将拓展的tab放入属性表还是将原来的tab放入属性表 - * - * @param widgetAttrProviders 拓展的tab - */ - private void addWidgetAttr(WidgetPropertyUIProvider[] widgetAttrProviders) { - if (widgetAttrProviders.length == 0) { // 判断有没有拓展的tab,提示"无可用配置项" - wsp.add(getUnavailablePane()); - } else { - for (WidgetPropertyUIProvider widgetAttrProvider : widgetAttrProviders) { - MobileWidgetDefinePane extraPane = (MobileWidgetDefinePane) widgetAttrProvider.createWidgetAttrPane(); - if (extraPane != null) { - extraPane.setBorder(BorderFactory.createEmptyBorder(PADDING, PADDING, PADDING, PADDING_M)); - mobileExtraPropertyPanes.add(extraPane); - wsp.add(extraPane); - } - AbstractPropertyTable propertyTable = (AbstractPropertyTable) widgetAttrProvider.createWidgetAttrTable(); - if (propertyTable != null) { - widgetPropertyTables.add(propertyTable); - designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(formWidgetCardPane)); - - UIScrollPane uiScrollPane = new UIScrollPane(propertyTable); - wsp.add(uiScrollPane); - } - } - } - } - - // "无可用配置项"面板 - private JPanel getUnavailablePane() { - JPanel panel = GUICoreKit.createBorderLayoutPane(); - UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_No_Settings_Available")); - label.setHorizontalAlignment(SwingConstants.CENTER); - panel.add(label); - return panel; - } - - private void initTabPane() { - final String[] tabTitles = new String[]{ - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Properties"), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event"), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Widget_Mobile_Terminal") - }; - final CardLayout tabbedPane = new CardLayout(); - final JPanel center = new JPanel(tabbedPane); - center.add(formWidgetCardPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Properties")); - center.add(eventTable, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event")); - center.add(wsp, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Widget_Mobile_Terminal")); - this.add(center, BorderLayout.CENTER); - - tabsHeaderIconPane = new UIHeadGroup(tabTitles) { - @Override - public void tabChanged(int index) { - //切换的时候再populate - if (index == 1) { - eventTable.populateNameObjects(); - } else if (index == 2) { - if (mobileExtraPropertyPanes != null) { - for (MobileWidgetDefinePane extraPane : mobileExtraPropertyPanes) { - extraPane.populate(designer); - } - } - } - tabbedPane.show(center, tabTitles[index]); - } - }; - tabsHeaderIconPane.setNeedLeftRightOutLine(true); - tabsHeaderIconPane.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, UIConstants.SHADOW_GREY)); - this.add(tabsHeaderIconPane, BorderLayout.NORTH); - } - - - /** - * 选中的组件是否在参数面板里 - * - * @param designer 设计器 - * @return 是则返回true - */ - public boolean hasSelectParaPane(FormDesigner designer) { - XCreator xCreator = designer.getSelectionModel().getSelection().getSelectedCreator(); - if (xCreator == null) { - xCreator = designer.getRootComponent(); - } - XLayoutContainer container = XCreatorUtils.getHotspotContainer(xCreator); - - boolean xCreatorAccept = xCreator.acceptType(XWParameterLayout.class); - boolean containerAccept = container != null && container.acceptType(XWParameterLayout.class); - - return xCreatorAccept || containerAccept; - } - - @Override - public void setEditingFormDesigner(BaseFormDesigner editor) { - FormDesigner fd = (FormDesigner) editor; - super.setEditingFormDesigner(fd); - } - - private void clearDockingView() { - formWidgetCardPane = null; - eventTable = null; - if (widgetPropertyTables != null) { - widgetPropertyTables.clear(); - } - JScrollPane psp = new JScrollPane(); - psp.setBorder(null); - this.add(psp, BorderLayout.CENTER); - } - - /** - * 属性表监听界面事件(编辑,删除,选中,改变大小) - */ - private class WidgetPropertyDesignerAdapter implements DesignerEditListener { - FormWidgetCardPane formWidgetCardPane; - - - WidgetPropertyDesignerAdapter(FormWidgetCardPane formWidgetCardPane) { - this.formWidgetCardPane = formWidgetCardPane; - } - - @Override - public void fireCreatorModified(DesignerEvent evt) { - if (evt.getCreatorEventID() == DesignerEvent.CREATOR_DELETED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_RESIZED) { - formWidgetCardPane.populate(); - } else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { - // 防止多次触发 - if (lastAffectedCreator != null && lastAffectedCreator == evt.getAffectedCreator()) { - return; - } - lastAffectedCreator = evt.getAffectedCreator(); - refreshDockingView(); - formWidgetCardPane.populate(); - } - } - - @Override - public boolean equals(Object o) { - return o instanceof WidgetPropertyDesignerAdapter; - } - } - - /** - * 事件表监听界面事件(编辑,选中) - */ - private class EventPropertyDesignerAdapter implements DesignerEditListener { - EventPropertyTable propertyTable; - - EventPropertyDesignerAdapter(EventPropertyTable eventTable) { - this.propertyTable = eventTable; - } - - @Override - public void fireCreatorModified(DesignerEvent evt) { - if (evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED) { - propertyTable.refresh(); - } else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { - // 防止多次触发 - if (lastAffectedCreator != null && lastAffectedCreator == evt.getAffectedCreator()) { - return; - } - lastAffectedCreator = evt.getAffectedCreator(); - propertyTable.refresh(); - } - } - - @Override - public boolean equals(Object o) { - return o instanceof EventPropertyDesignerAdapter; - } - } - - /** - * 移动端属性表监听界面事件(改变大小,编辑,选中,增加控件) - */ - private class MobileWidgetDesignerAdapter implements DesignerEditListener { - - MobileWidgetDesignerAdapter() { - } - - /** - * 响应界面改变事件 - * - * @param evt 事件 - */ - public void fireCreatorModified(DesignerEvent evt) { - int[] validEventIds = {DesignerEvent.CREATOR_RESIZED, DesignerEvent.CREATOR_EDITED, - DesignerEvent.CREATOR_SELECTED, DesignerEvent.CREATOR_ADDED, DesignerEvent.CREATOR_ORDER_CHANGED}; - boolean isValid = false; - for (int validEventId : validEventIds) { - if (evt.getCreatorEventID() == validEventId) { - isValid = true; - break; - } - } - if (!isValid) { - return; - } - - if (mobileExtraPropertyPanes != null) { - for (MobileWidgetDefinePane extraPane : mobileExtraPropertyPanes) { - extraPane.populate(designer); - } - } - - } - - @Override - public boolean equals(Object o) { - return o instanceof MobileWidgetDesignerAdapter; - } - } +public class WidgetPropertyPane { - @Override - public Location preferredLocation() { - return Location.WEST_BELOW; + public static com.fr.design.mainframe.WidgetPropertyPane getInstance() { + return com.fr.design.mainframe.WidgetPropertyPane.getInstance(); } -} +} \ No newline at end of file diff --git a/src/main/java/com/fanruan/api/design/work/component/ParameterComboBox.java b/src/main/java/com/fanruan/api/design/work/component/ParameterComboBox.java index addf257..0d66cc1 100644 --- a/src/main/java/com/fanruan/api/design/work/component/ParameterComboBox.java +++ b/src/main/java/com/fanruan/api/design/work/component/ParameterComboBox.java @@ -2,6 +2,7 @@ package com.fanruan.api.design.work.component; import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.design.ui.component.UIComboBox; +import com.fanruan.api.design.ui.component.table.model.DesignModelAdapterKit; import com.fanruan.api.util.AssistKit; import com.fr.design.DesignModelAdapter; import com.fr.stable.ParameterProvider; @@ -41,7 +42,7 @@ public class ParameterComboBox extends UIComboBox { public void updateParaItems() { - DesignModelAdapter designModel = DesignModelAdapter.getCurrentModelAdapter(); + DesignModelAdapter designModel = DesignModelAdapterKit.getCurrentModelAdapter(); this.removeAllItems(); if (designModel != null) { diff --git a/src/main/java/com/fanruan/api/util/FineCollectionKit.java b/src/main/java/com/fanruan/api/util/FineCollectionKit.java index 2f12779..7f86542 100644 --- a/src/main/java/com/fanruan/api/util/FineCollectionKit.java +++ b/src/main/java/com/fanruan/api/util/FineCollectionKit.java @@ -9,9 +9,6 @@ import com.fr.collections.api.FineCollectionClient; * Created by Lucian.Chen on 2020/3/23 */ public class FineCollectionKit { - public static FineCollections getFineCollections() { - return FineCollections.getInstance(); - } public static FineCollectionClient getClient() { return FineCollections.getInstance().getClient(); diff --git a/src/test/java/com/fanruan/api/cluster/ClusterBridgeKitTest.java b/src/test/java/com/fanruan/api/cluster/ClusterBridgeKitTest.java index 55e79f9..f3af3be 100644 --- a/src/test/java/com/fanruan/api/cluster/ClusterBridgeKitTest.java +++ b/src/test/java/com/fanruan/api/cluster/ClusterBridgeKitTest.java @@ -1,7 +1,9 @@ package com.fanruan.api.cluster; import com.fr.cluster.ClusterBridge; +import com.fr.cluster.core.ClusterNode; import com.fr.cluster.core.ClusterView; +import com.fr.stable.Filter; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.Test; @@ -10,6 +12,9 @@ import org.powermock.api.easymock.PowerMock; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import java.util.ArrayList; +import java.util.List; + /** * @author Lucian.Chen * @version 10.0 @@ -23,15 +28,32 @@ public class ClusterBridgeKitTest { public void testGetView() { ClusterView view = EasyMock.mock(ClusterView.class); PowerMock.mockStatic(ClusterBridge.class); - EasyMock.expect(ClusterBridge.getView()).andReturn(view).once(); - EasyMock.expect(ClusterBridge.getView()).andReturn(null).once(); + EasyMock.expect(ClusterBridge.getView()).andReturn(view).anyTimes(); + Filter filter = EasyMock.createMock(Filter.class); + + ClusterNode node1 = EasyMock.mock(ClusterNode.class); + ClusterNode node2 = EasyMock.mock(ClusterNode.class); + ClusterNode node3 = EasyMock.mock(ClusterNode.class); + List list1 = new ArrayList<>(); + List list2 = new ArrayList<>(); + list1.add(node1); + list1.add(node2); + list2.add(node3); + + EasyMock.expect(view.getCurrent()).andReturn(node1).once(); + EasyMock.expect(view.getNodeById("1")).andReturn(node2).once(); + EasyMock.expect(view.listNodes()).andReturn(list1).once(); + EasyMock.expect(view.listNodes(filter)).andReturn(list2).once(); + - EasyMock.replay(view); + EasyMock.replay(view, filter, node1, node2, node3); PowerMock.replay(ClusterBridge.class); - Assert.assertEquals(ClusterBridgeKit.getView(), view); - Assert.assertNull(ClusterBridgeKit.getView()); + Assert.assertEquals(ClusterBridgeKit.getCurrentNode(), node1); + Assert.assertEquals(ClusterBridgeKit.getNodeById("1"), node2); + Assert.assertEquals(ClusterBridgeKit.listNodes(), list1); + Assert.assertEquals(ClusterBridgeKit.listNodes(filter), list2); - EasyMock.verify(view); + EasyMock.verify(view, filter, node1, node2, node3); PowerMock.verify(ClusterBridge.class); } diff --git a/src/test/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKitTest.java b/src/test/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKitTest.java index 9c7981d..154d925 100644 --- a/src/test/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKitTest.java +++ b/src/test/java/com/fanruan/api/decision/monitor/RuntimeMemScoreKitTest.java @@ -16,13 +16,4 @@ public class RuntimeMemScoreKitTest { Assert.assertEquals(RuntimeMemScoreProvider.getLoadScore(), RuntimeMemScoreKit.getLoadScore()); } - @Test - public void testGetReleasePromoterScore() { - Assert.assertEquals(RuntimeMemScoreProvider.getReleasePromoterScore(), RuntimeMemScoreKit.getReleasePromoterScore()); - } - - @Test - public void testGetBalancePromoterScore() { - Assert.assertEquals(RuntimeMemScoreProvider.getBalancePromoterScore(), RuntimeMemScoreKit.getBalancePromoterScore()); - } } diff --git a/src/test/java/com/fanruan/api/util/FineCollectionKitTest.java b/src/test/java/com/fanruan/api/util/FineCollectionKitTest.java index d50482e..01ab4cc 100644 --- a/src/test/java/com/fanruan/api/util/FineCollectionKitTest.java +++ b/src/test/java/com/fanruan/api/util/FineCollectionKitTest.java @@ -16,8 +16,4 @@ public class FineCollectionKitTest { Assert.assertEquals(FineCollections.getInstance().getClient(), FineCollectionKit.getClient()); } - @Test - public void testGetInstance() { - Assert.assertEquals(FineCollections.getInstance(), FineCollectionKit.getFineCollections()); - } } diff --git a/src/test/java/com/fanruan/api/util/GeneralKitTest.java b/src/test/java/com/fanruan/api/util/GeneralKitTest.java index 0851ee7..5a28afc 100644 --- a/src/test/java/com/fanruan/api/util/GeneralKitTest.java +++ b/src/test/java/com/fanruan/api/util/GeneralKitTest.java @@ -2,6 +2,7 @@ package com.fanruan.api.util; import com.fanruan.api.Prepare; import com.fr.general.GeneralUtils; +import com.fr.license.utils.JsonUtil; import com.fr.stable.StableUtils; import org.junit.Assert; import org.junit.Test; diff --git a/src/test/java/com/fanruan/api/util/IOKitTest.java b/src/test/java/com/fanruan/api/util/IOKitTest.java index 7b6ddbc..5a84674 100644 --- a/src/test/java/com/fanruan/api/util/IOKitTest.java +++ b/src/test/java/com/fanruan/api/util/IOKitTest.java @@ -30,7 +30,7 @@ public class IOKitTest extends Prepare { @Test public void readIcon() { - Assert.assertEquals((IOKit.readIcon("/com/fanruan/api/util/close.png")).getIconHeight(),(new ImageIcon(IOUtils.readImageWithCache("/com/fanruan/api/util/close.png")).getIconHeight())); + Assert.assertEquals((IOKit.readIcon("/com/fanruan/api/util/close.png")).getIconHeight(), IOUtils.readIcon("/com/fanruan/api/util/close.png").getIconHeight()); } @Test