Browse Source

REPORT-78365【迭代】【起始页】不打开任何报表,普通报表聚合报表都新建失败

修复 npe
feature/x
Harrison 2 years ago
parent
commit
f6d7c6d2ce
  1. 9
      designer-base/src/main/java/com/fr/design/file/HistoryTemplateListCache.java
  2. 8
      designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java
  3. 2
      designer-realize/src/main/java/com/fr/start/MainDesigner.java

9
designer-base/src/main/java/com/fr/design/file/HistoryTemplateListCache.java

@ -97,8 +97,13 @@ public class HistoryTemplateListCache implements CallbackEvent {
FineLoggerFactory.getLogger().error(e.getMessage(), e); FineLoggerFactory.getLogger().error(e.getMessage(), e);
} }
} }
/**
* 需要使用 {@link JTemplate#isValid(JTemplate)} 来判断空
*
* @return 当前正在编辑的模板
*/
@Nullable @Nullable
public JTemplate<?, ?> getCurrentEditingTemplate() { public JTemplate<?, ?> getCurrentEditingTemplate() {
return this.editingTemplate; return this.editingTemplate;

8
designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java

@ -156,7 +156,7 @@ public class CenterRegionContainerPane extends JPanel {
private void addExtraButtons() { private void addExtraButtons() {
JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if (jt == null) { if (!JTemplate.isValid(jt)) {
return; return;
} }
@ -172,7 +172,7 @@ public class CenterRegionContainerPane extends JPanel {
private void addCheckButton() { private void addCheckButton() {
JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if (jt == null) { if (!JTemplate.isValid(jt)) {
return; return;
} }
combineUp.addSeparator(new Dimension(2, 16)); combineUp.addSeparator(new Dimension(2, 16));
@ -185,7 +185,7 @@ public class CenterRegionContainerPane extends JPanel {
private void addShareButton() { private void addShareButton() {
JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if (jt == null) { if (!JTemplate.isValid(jt)) {
return; return;
} }
@ -205,7 +205,7 @@ public class CenterRegionContainerPane extends JPanel {
protected void checkCombineUp(boolean flag, ArrayList<String> al) { protected void checkCombineUp(boolean flag, ArrayList<String> al) {
//Yvan: 检查当前是否为WORK_SHEET状态,因为只有WORK_SHEET中含有格式刷组件,此时是不需要进行checkComponentsByNames的 //Yvan: 检查当前是否为WORK_SHEET状态,因为只有WORK_SHEET中含有格式刷组件,此时是不需要进行checkComponentsByNames的
JTemplate<?, ?> jTemplate = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate<?, ?> jTemplate = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if (jTemplate != null) { if (JTemplate.isValid(jTemplate)) {
// 第一个条件满足后还需要添加一重判断,判断是编辑报表块还是参数面板,编辑报表块时则直接return // 第一个条件满足后还需要添加一重判断,判断是编辑报表块还是参数面板,编辑报表块时则直接return
if (jTemplate.getMenuState() == DesignState.WORK_SHEET && !jTemplate.isUpMode()) { if (jTemplate.getMenuState() == DesignState.WORK_SHEET && !jTemplate.isUpMode()) {
return; return;

2
designer-realize/src/main/java/com/fr/start/MainDesigner.java

@ -408,7 +408,7 @@ public class MainDesigner extends BaseDesigner {
@Override @Override
protected void refreshLargeToolbarState() { protected void refreshLargeToolbarState() {
JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if (jt == null) { if (!JTemplate.isValid(jt)) {
return; return;
} }
saveButton.setEnabled(!jt.isSaved() && !DesignModeContext.isVcsMode() && jt.checkEnable()); saveButton.setEnabled(!jt.isSaved() && !DesignModeContext.isVcsMode() && jt.checkEnable());

Loading…
Cancel
Save