Browse Source

Pull request #14189: REPORT-114392 FR-FBP版本本地设计适配 修复bug

Merge in DESIGN/design from ~DESTINY.LIN/design:fbp-1.0 to fbp-1.0

* commit '5c4de3ae4f105930f59c322805e18e6f2d0cb05c':
  REPORT-114392 FR-FBP版本本地设计适配 代码规范
  REPORT-126540 多sheet向右翻页按钮丢失
  REPORT-126575 服务器数据集无法使用
  REPORT-126590 fbp设计器——菜单栏-服务器-地图配置跳转报错
  REPORT-126559 控件事件编辑面板无法修改
  REPORT-126504 条件属性操作符文本不正常
  REPORT-126587 FBP适配测试-设计器-设置中没有内置服务器相关选项
  REPORT-126558 fbp设计器——新建存储过程,数据连接列表一直加载中
fbp-1.0
Destiny.Lin-林锦龙 5 months ago
parent
commit
ec0205122f
  1. 1
      build.gradle
  2. 7
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java
  3. 2
      designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java
  4. 2
      designer-base/src/main/java/com/fr/env/handler/impl/CancelHandler.java
  5. 3
      designer-chart/src/main/java/com/fr/van/chart/map/server/ChartMapEditorAction.java
  6. 60
      designer-realize/src/main/java/com/fanruan/boot/env/DesignFunctionComponent.java
  7. 8
      designer-realize/src/main/java/com/fanruan/boot/init/DesignPreLoadComponent.java
  8. 19
      designer-realize/src/main/java/com/fanruan/boot/init/DesignWorkContextComponent.java
  9. 2
      designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java

1
build.gradle

@ -90,6 +90,7 @@ allprojects {
implementation 'com.fr.license:fine-license-api:' + apiVersion implementation 'com.fr.license:fine-license-api:' + apiVersion
implementation 'com.fr.workplace:workplace:' + apiVersion implementation 'com.fr.workplace:workplace:' + apiVersion
implementation 'com.fr.cluster:fine-cluster-api:' + apiVersion implementation 'com.fr.cluster:fine-cluster-api:' + apiVersion
implementation 'com.fr.messenger:fine-messenger:' + carinaVersion
implementation 'com.install4j:install4j-runtime:8.0.4' implementation 'com.install4j:install4j-runtime:8.0.4'
implementation 'com.fr.third:jxbrowser:6.23' implementation 'com.fr.third:jxbrowser:6.23'
implementation 'com.fr.third:jxbrowser-v7:7.22' implementation 'com.fr.third:jxbrowser-v7:7.22'

7
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java

@ -32,6 +32,7 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.menu.SeparatorDef; import com.fr.design.menu.SeparatorDef;
import com.fr.design.menu.ToolBarDef; import com.fr.design.menu.ToolBarDef;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
@ -217,7 +218,11 @@ public class ProcedureDataPane extends AbstractTableDataPane<StoreProcedure> imp
@Override @Override
public void done() { public void done() {
editorPane.populate(storeprocedure.getParameters()); if (editorPane != null) {
editorPane.populate(storeprocedure.getParameters());
} else {
FineLoggerFactory.getLogger().warn("editorPane is null!");
}
} }
}; };

2
designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java vendored

@ -1,6 +1,7 @@
package com.fr.design.env; package com.fr.design.env;
import com.fanruan.workplace.http.HttpConstants; import com.fanruan.workplace.http.HttpConstants;
import com.fanruan.workplace.http.RepositoryManager;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.workspace.server.repository.authority.RemoteAuthorityRepository; import com.fr.workspace.server.repository.authority.RemoteAuthorityRepository;
import com.fr.workspace.server.repository.compatible.register.CompatibleRegister; import com.fr.workspace.server.repository.compatible.register.CompatibleRegister;
@ -64,6 +65,7 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
} }
client.startHeartBeat(); client.startHeartBeat();
CompatibleRegister.registerCompatibleEnv(); CompatibleRegister.registerCompatibleEnv();
RepositoryManager.getInstance().clearLastPool();
return client; return client;
} }

2
designer-base/src/main/java/com/fr/env/handler/impl/CancelHandler.java vendored

@ -1,5 +1,6 @@
package com.fr.env.handler.impl; package com.fr.env.handler.impl;
import com.fanruan.workplace.http.RepositoryManager;
import com.fr.env.handler.Handler; import com.fr.env.handler.Handler;
import com.fr.env.handler.RefWrapper; import com.fr.env.handler.RefWrapper;
import com.fr.env.handler.ResultWrapper; import com.fr.env.handler.ResultWrapper;
@ -17,6 +18,7 @@ public class CancelHandler implements Handler<RefWrapper, ResultWrapper> {
@Override @Override
public ResultWrapper handle(RefWrapper wrapper) { public ResultWrapper handle(RefWrapper wrapper) {
Throwable e = wrapper.getThrowable(); Throwable e = wrapper.getThrowable();
RepositoryManager.getInstance().rollBack();
return new ResultWrapper(!(e instanceof CancellationException), e); return new ResultWrapper(!(e instanceof CancellationException), e);
} }
} }

3
designer-chart/src/main/java/com/fr/van/chart/map/server/ChartMapEditorAction.java

@ -7,6 +7,7 @@ import com.fr.design.actions.UpdateAction;
import com.fr.general.GeneralContext; import com.fr.general.GeneralContext;
import com.fr.start.ServerStarter; import com.fr.start.ServerStarter;
import com.fr.start.server.DesignEmbedHelper;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
@ -23,7 +24,7 @@ public class ChartMapEditorAction extends UpdateAction {
public void actionPerformed(ActionEvent evt) { public void actionPerformed(ActionEvent evt) {
int port = DesignerEnvManager.getEnvManager().getEmbedServerPort(); int port = DesignerEnvManager.getEnvManager().getEmbedServerPort();
String web = GeneralContext.getCurrentAppNameOfEnv(); String web = DesignEmbedHelper.getAppFolderName();
String serverlet = ServerConfig.getInstance().getServletName(); String serverlet = ServerConfig.getInstance().getServletName();
ServerStarter.browserURLWithLocalEnv(WorkContext.getCurrent().isLocal() ? String.format("http://localhost:%d/%s/%s/map/edit", port, web, serverlet) : WorkContext.getCurrent().getPath() + "/map/edit"); ServerStarter.browserURLWithLocalEnv(WorkContext.getCurrent().isLocal() ? String.format("http://localhost:%d/%s/%s/map/edit", port, web, serverlet) : WorkContext.getCurrent().getPath() + "/map/edit");
} }

60
designer-realize/src/main/java/com/fanruan/boot/env/DesignFunctionComponent.java vendored

@ -3,6 +3,19 @@ package com.fanruan.boot.env;
import com.fanruan.carina.annotions.ActivatorRefer; import com.fanruan.carina.annotions.ActivatorRefer;
import com.fanruan.carina.annotions.DependsOn; import com.fanruan.carina.annotions.DependsOn;
import com.fanruan.carina.annotions.FineComponent; import com.fanruan.carina.annotions.FineComponent;
import com.fanruan.carina.annotions.Start;
import com.fanruan.messenger.ums.config.email.FineEmailSecurityProviderImpl;
import com.fr.base.email.EmailCenter;
import com.fr.base.email.impl.EmailAccountManagerImpl;
import com.fr.base.email.impl.FREmailDispatcherImpl;
import com.fr.base.email.impl.FineEmailExtensionProviderImpl;
import com.fr.base.email.impl.FineEmailResourceProviderImpl;
import com.fr.base.email.provider.FineEmailExtensionProvider;
import com.fr.base.email.provider.FineEmailResourceProvider;
import com.fr.base.email.provider.config.FineEmailServerConfigProvider;
import com.fr.base.email.task.EmailTaskManagement;
import com.fr.config.EmailServerConfig;
import com.fr.decision.webservice.v10.sms.SMSService;
/** /**
* 设计器基础功能组件环境切换的上层模块 * 设计器基础功能组件环境切换的上层模块
@ -27,4 +40,51 @@ import com.fanruan.carina.annotions.FineComponent;
@FineComponent(name = "design_function") @FineComponent(name = "design_function")
@DependsOn(dependencies = {"design_function_analyzer"}) @DependsOn(dependencies = {"design_function_analyzer"})
public class DesignFunctionComponent { public class DesignFunctionComponent {
/**
* start
*/
@Start
public void start() {
// 通知中心目前是不支持的,但是可以先开个邮件的接口出来
initEmail();
initSMS();
}
private void initEmail() {
FineEmailExtensionProvider fineEmailExtensionProvider = new FineEmailExtensionProviderImpl();
FineEmailResourceProvider fineEmailResourceProvider = new FineEmailResourceProviderImpl();
EmailCenter.init(new FineEmailServerConfigProvider() {
@Override
public int getSmtpConnectionTimeout() {
return EmailServerConfig.getInstance().getSmtpConnectionTimeout();
}
@Override
public int getSmtpTimeout() {
return EmailServerConfig.getInstance().getSmtpTimeout();
}
@Override
public int getSmtpWriteTimeout() {
return EmailServerConfig.getInstance().getSmtpWriteTimeout();
}
@Override
public boolean isDebugEnable() {
return true;
}
},
fineEmailExtensionProvider, fineEmailResourceProvider,
new FineEmailSecurityProviderImpl());
EmailCenter.setDispatcher(new FREmailDispatcherImpl());
EmailCenter.setAccountManager(new EmailAccountManagerImpl());
EmailTaskManagement.getInstance().start();
}
private void initSMS() {
SMSService.getInstance().registerTemplateId();
}
} }

8
designer-realize/src/main/java/com/fanruan/boot/init/DesignPreLoadComponent.java

@ -159,6 +159,14 @@ public class DesignPreLoadComponent {
Carina.getApplicationContext().group(InterMutableKey.class).add(LocaleMarker.create("com/fr/decision/web/i18n/dec", LocaleScope.WEB)); Carina.getApplicationContext().group(InterMutableKey.class).add(LocaleMarker.create("com/fr/decision/web/i18n/dec", LocaleScope.WEB));
Carina.getApplicationContext().group(InterMutableKey.class).add(LocaleMarker.create("com/fr/fineui/i18n/fineui", LocaleScope.WEB)); Carina.getApplicationContext().group(InterMutableKey.class).add(LocaleMarker.create("com/fr/fineui/i18n/fineui", LocaleScope.WEB));
Carina.getApplicationContext().group(InterMutableKey.class).add(LocaleMarker.create("com/fr/fineui/i18n/fineui", LocaleScope.SERVER)); Carina.getApplicationContext().group(InterMutableKey.class).add(LocaleMarker.create("com/fr/fineui/i18n/fineui", LocaleScope.SERVER));
Carina.getApplicationContext().group(InterMutableKey.class).addAll(
LocaleMarker.create("com/fr/server/i18n/report", LocaleScope.SERVER),
LocaleMarker.create("com/fr/server/i18n/chart", LocaleScope.SERVER)
);
Carina.getApplicationContext().group(InterMutableKey.class).addAll(
LocaleMarker.create("com/fr/web/i18n/report", LocaleScope.WEB),
LocaleMarker.create("com/fr/web/i18n/chart", LocaleScope.WEB)
);
// WebLocaleProvider插件接口适配 // WebLocaleProvider插件接口适配
LocaleUtils.registerLocaleParser(localeStr -> { LocaleUtils.registerLocaleParser(localeStr -> {

19
designer-realize/src/main/java/com/fanruan/boot/init/DesignWorkContextComponent.java

@ -12,14 +12,24 @@ import com.fanruan.workplace.http.RepositoryManager;
import com.fanruan.workplace.http.WorkspaceHeartBeatShell; import com.fanruan.workplace.http.WorkspaceHeartBeatShell;
import com.fanruan.workplace.standard.ServerInfo; import com.fanruan.workplace.standard.ServerInfo;
import com.fanruan.workplace.standard.ServerInfoOperator; import com.fanruan.workplace.standard.ServerInfoOperator;
import com.fr.base.io.FileAssistUtils;
import com.fr.base.io.FileAssistUtilsOperator;
import com.fr.base.operator.common.CommonOperator; import com.fr.base.operator.common.CommonOperator;
import com.fr.data.operator.DataOperator; import com.fr.data.operator.DataOperator;
import com.fr.data.operator.DataOperatorProvider; import com.fr.data.operator.DataOperatorProvider;
import com.fr.decision.service.context.ServiceContext; import com.fr.decision.service.context.ServiceContext;
import com.fr.design.env.HttpWorkspaceConnector; import com.fr.design.env.HttpWorkspaceConnector;
import com.fr.env.operator.CommonOperatorImpl; import com.fr.env.operator.CommonOperatorImpl;
import com.fr.esd.core.remote.ESDConfigEventOperator;
import com.fr.esd.core.remote.ESDConfigEventOperatorImpl;
import com.fr.file.ConnectionOperator;
import com.fr.file.ConnectionOperatorImpl;
import com.fr.file.TableDataOperator;
import com.fr.file.TableDataOperatorImpl;
import com.fr.file.filetree.FileNodes; import com.fr.file.filetree.FileNodes;
import com.fr.file.filetree.LocalFileNodes; import com.fr.file.filetree.LocalFileNodes;
import com.fr.general.build.BuildInfoOperator;
import com.fr.general.build.impl.BuildInfoOperatorImpl;
import com.fr.security.encryption.storage.StorageEncryptors; import com.fr.security.encryption.storage.StorageEncryptors;
import com.fr.security.encryption.storage.StorageTransfer; import com.fr.security.encryption.storage.StorageTransfer;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
@ -132,7 +142,14 @@ public class DesignWorkContextComponent {
WorkRPCRegister.wrap(StorageTransfer.class, new StorageEncryptors()), WorkRPCRegister.wrap(StorageTransfer.class, new StorageEncryptors()),
WorkRPCRegister.wrap(WorkRPCType.Local, FileNodes.class, new LocalFileNodes()), WorkRPCRegister.wrap(WorkRPCType.Local, FileNodes.class, new LocalFileNodes()),
WorkRPCRegister.wrap(CommonOperator.class, new CommonOperatorImpl()), WorkRPCRegister.wrap(CommonOperator.class, new CommonOperatorImpl()),
WorkRPCRegister.wrap(DataOperatorProvider.class, new DataOperator()) WorkRPCRegister.wrap(DataOperatorProvider.class, new DataOperator()),
WorkRPCRegister.wrap(ESDConfigEventOperator.class, new ESDConfigEventOperatorImpl()),
WorkRPCRegister.wrap(WorkRPCType.Compatible, TableDataOperator.class, TableDataOperatorImpl.getInstance()),
WorkRPCRegister.wrap(WorkRPCType.Compatible, ConnectionOperator.class, ConnectionOperatorImpl.getInstance()),
WorkRPCRegister.wrap(FileAssistUtilsOperator.class, new FileAssistUtils()),
WorkRPCRegister.wrap(TableDataOperator.class, TableDataOperatorImpl.getInstance()),
WorkRPCRegister.wrap(ConnectionOperator.class, ConnectionOperatorImpl.getInstance()),
WorkRPCRegister.wrap(BuildInfoOperator.class, new BuildInfoOperatorImpl())
); );
} }

2
designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java

@ -67,7 +67,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
private static final Icon WORK_SHEET_ICON = IconUtils.readIcon("/com/fr/design/standard/worksheet"); private static final Icon WORK_SHEET_ICON = IconUtils.readIcon("/com/fr/design/standard/worksheet");
private static final Icon POLY_SHEET_ICON = IconUtils.readIcon("/com/fr/design/standard/polysheet"); private static final Icon POLY_SHEET_ICON = IconUtils.readIcon("/com/fr/design/standard/polysheet");
private static final Icon LEFT_ICON = IconUtils.readIcon("/com/fr/design/standard/prepage/pre_page"); private static final Icon LEFT_ICON = IconUtils.readIcon("/com/fr/design/standard/prepage/pre_page");
private static final Icon RIGHT_ICON = IconUtils.readIcon("/com/fr/design/standard/nextpage"); private static final Icon RIGHT_ICON = IconUtils.readIcon("/com/fr/design/standard/nextpage/next_page");
private static final Icon DISABLED_LEFT_ICON = IconUtils.readIcon("/com/fr/design/standard/prepage/pre_page_disabled.svg"); private static final Icon DISABLED_LEFT_ICON = IconUtils.readIcon("/com/fr/design/standard/prepage/pre_page_disabled.svg");
private static final Icon DISABLED_RIGHT_ICON = IconUtils.readIcon("/com/fr/design/standard/nextpage/next_page_disabled.svg"); private static final Icon DISABLED_RIGHT_ICON = IconUtils.readIcon("/com/fr/design/standard/nextpage/next_page_disabled.svg");
private static final int NUM = 10; private static final int NUM = 10;

Loading…
Cancel
Save