diff --git a/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java b/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java index ebe5f1b55a..8d97152228 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/LocalePane.java @@ -18,6 +18,7 @@ import com.fr.stable.StableUtils; import com.fr.stable.bridge.StableFactory; import com.fr.stable.project.ProjectConstants; import com.fr.workspace.WorkContext; +import com.fr.workspace.resource.WorkResourceOutputStream; import javax.swing.*; import javax.swing.event.DocumentEvent; @@ -233,11 +234,9 @@ public class LocalePane extends BasicPane { properties.setProperty(GeneralUtils.objectToString(customTableModel.getValueAt(j, 0)), GeneralUtils.objectToString(customTableModel.getValueAt(j, i))); } - OutputStream out = null; try { - out = FRContext.getCommonOperator().writeBean(PREFIX + fileName + ".properties", ProjectConstants.LOCALE_NAME); + OutputStream out = new WorkResourceOutputStream(StableUtils.pathJoin(ProjectConstants.LOCALE_NAME, PREFIX + fileName + ".properties")); properties.store(out, null); - out.flush(); out.close(); } catch (Exception e) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 575aea91bd..804ea550b4 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -55,13 +55,11 @@ import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; import com.fr.stable.core.UUID; import com.fr.stable.project.ProjectConstants; -import com.fr.workspace.WorkContext; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.undo.UndoManager; import java.awt.*; -import java.io.ByteArrayOutputStream; import java.io.File; import java.util.ArrayList; import java.util.Arrays; @@ -656,9 +654,7 @@ public abstract class JTemplate> return false; } try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - this.getTarget().export(out); - WorkContext.getWorkResource().write(editingFILE.getPath(), out.toByteArray()); + this.getTarget().export(editingFILE.asOutputStream()); } catch (Exception e) { FRContext.getLogger().error(e.getMessage(), e); JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), e.getMessage(), "Save Error", JOptionPane.ERROR_MESSAGE); diff --git a/designer-base/src/main/java/com/fr/file/FileNodeFILE.java b/designer-base/src/main/java/com/fr/file/FileNodeFILE.java index 66a3c03bd0..55aa491583 100644 --- a/designer-base/src/main/java/com/fr/file/FileNodeFILE.java +++ b/designer-base/src/main/java/com/fr/file/FileNodeFILE.java @@ -8,6 +8,7 @@ import com.fr.design.gui.itree.filetree.FileTreeIcon; import com.fr.file.filetree.FileNode; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; +import com.fr.workspace.resource.WorkResourceOutputStream; import com.fr.log.FineLoggerFactory; import com.fr.stable.CoreConstants; import com.fr.stable.StableUtils; @@ -337,10 +338,7 @@ public class FileNodeFILE implements FILE { if (!envPath.startsWith(ProjectConstants.REPORTLETS_NAME)) { return null; } - return FRContext.getCommonOperator().writeBean( - envPath.substring(ProjectConstants.REPORTLETS_NAME.length() + 1), - ProjectConstants.REPORTLETS_NAME - ); + return new WorkResourceOutputStream(envPath); } /**