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 8d9715222..76258d8f1 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 @@ -12,10 +12,10 @@ import com.fr.design.gui.itextfield.UITextField; import com.fr.file.filetree.FileNode; import com.fr.general.GeneralUtils; import com.fr.general.Inter; +import com.fr.locale.InterProviderFactory; import com.fr.log.FineLoggerFactory; import com.fr.stable.ArrayUtils; 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; @@ -37,7 +37,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; -import java.util.ResourceBundle; import java.util.Set; import java.util.Vector; @@ -121,43 +120,26 @@ public class LocalePane extends BasicPane { } private void initPredefinedProperties() { - - Map supportLocaleMap = Inter.getSupportLocaleMap(); - - String[] localeFiles = StableFactory.getLocaleFiles(); - - - + + Map supportLocaleMap = InterProviderFactory.getProvider().getSupportLocaleMap(); + + Map map; List sortKeys = new ArrayList(); - - - for (String path : localeFiles) { - ResourceBundle chineseBundle = loadResourceBundle(path, Locale.SIMPLIFIED_CHINESE); - sortKeys.addAll(chineseBundle.keySet()); - } + + + map = InterProviderFactory.getProvider().getLocalBundle(Locale.SIMPLIFIED_CHINESE).getMap(); + sortKeys.addAll(map.keySet()); Collections.sort(sortKeys); - - Map> localeResourceBundleMap = new HashMap>(); - for (Map.Entry entry : supportLocaleMap.entrySet()) { - Locale locale = entry.getKey(); - List list = new ArrayList<>(); - for (String path : localeFiles) { - ResourceBundle chineseBundle = loadResourceBundle(path, locale); - list.add(chineseBundle); - } - localeResourceBundleMap.put(locale, list); - } - + Map> data = new HashMap>(); - for (Map.Entry> entry : localeResourceBundleMap.entrySet()) { + for (Locale locale : supportLocaleMap.keySet()) { Vector column = new Vector(); - List rbs = entry.getValue(); for (String key : sortKeys) { - column.add(readText(rbs, key)); + column.add(InterProviderFactory.getProvider().getLocText(key)); } - data.put(entry.getKey(), column); + data.put(locale, column); + } - Vector keyVector = new Vector(); keyVector.addAll(sortKeys); @@ -167,20 +149,7 @@ public class LocalePane extends BasicPane { predefineTableModel.addColumn(entry.getKey().getDisplayName(), entry.getValue()); } } - - private String readText(List rbs, String key) { - for (ResourceBundle rb : rbs) { - if (rb.containsKey(key)) { - return rb.getString(key); - } - } - return null; - } - - private ResourceBundle loadResourceBundle(String dir, Locale locale) { - return ResourceBundle.getBundle(dir, locale, Inter.class.getClassLoader()); - } - + private void initCustomProperties() throws Exception { FileNode[] fileNodes = FRContext.getFileNodes().list(ProjectConstants.LOCALE_NAME); diff --git a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java index 40ee0902e..5bc1465f7 100644 --- a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java +++ b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java @@ -33,7 +33,8 @@ public class AboutPane extends JPanel { private static final int DEFAULT_GAP = 12; private static final String COPYRIGHT_LABEL = "\u00A9 "; private static final String BUILD_PREFIX = " "; - private static final String COMPANY_TELEPHONE = CloudCenter.getInstance().acquireUrlByKind("company_telephone"); + private static final String COMPANY_TELEPHONE = CloudCenter.getInstance().acquireUrlByKind("help.compNo"); + private static final String PRESIDENT_PHONE = CloudCenter.getInstance().acquireUrlByKind("help.PNo"); public AboutPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -79,6 +80,9 @@ public class AboutPane extends JPanel { contentPane.add(urlActionPane); contentPane.add(emailPane); + + contentPane.add(getRemarkPane()); + if (shouldShowThanks()) { addThankPane(contentPane); } @@ -111,6 +115,43 @@ public class AboutPane extends JPanel { return true; } + private JPanel getRemarkPane(){ + String remark = Inter.getLocText("Fine-Designer_About_Remark_Info",PRESIDENT_PHONE); + UILabel label = new UILabel(); + label.setSize(new Dimension(580,30)); + + //用THML标签进行拼接,以实现自动换行 + StringBuilder builder = new StringBuilder(""); + char[] chars = remark.toCharArray(); + //获取字体计算大小 + FontMetrics fontMetrics = label.getFontMetrics(label.getFont()); + int start = 0; + int len = 0; + while (start + len < remark.length()) { + while (true) { + len++; + if (start + len > remark.length()) + break; + if (fontMetrics.charsWidth(chars, start, len) + > label.getWidth()) { + break; + } + } + builder.append(chars, start, len-1).append("
"); + start = start + len - 1; + len = 0; + } + //拼接剩余部分 + builder.append(chars, start, remark.length()-start); + builder.append(""); + + JPanel jPanel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + label.setText(builder.toString()); + jPanel.add(label); + + return jPanel; + } + //添加鸣谢面板 private void addThankPane(JPanel contentPane) { BBSGuestPaneProvider pane = StableFactory.getMarkedInstanceObjectFromClass(BBSGuestPaneProvider.XML_TAG, BBSGuestPaneProvider.class); diff --git a/designer-base/src/main/java/com/fr/file/FileFILE.java b/designer-base/src/main/java/com/fr/file/FileFILE.java index 4655ae1f3..decf027f0 100644 --- a/designer-base/src/main/java/com/fr/file/FileFILE.java +++ b/designer-base/src/main/java/com/fr/file/FileFILE.java @@ -1,23 +1,22 @@ package com.fr.file; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; - -import javax.swing.Icon; -import javax.swing.filechooser.FileSystemView; - import com.fr.base.io.XMLEncryptUtils; import com.fr.design.gui.itree.filetree.FileComparator; import com.fr.design.gui.itree.filetree.FileTreeIcon; import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogManager; +import com.fr.general.SessionLocalManager; import com.fr.stable.StableUtils; import com.fr.stable.project.ProjectConstants; +import javax.swing.*; +import javax.swing.filechooser.FileSystemView; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; + public class FileFILE implements FILE { private File file; @@ -199,12 +198,11 @@ public class FileFILE implements FILE { if (file == null || !file.exists()) { return null; } - FRLogManager.declareResourceWriteStart(file.getAbsolutePath()); java.io.OutputStream out = null; try { out = new FileOutputStream(file); } catch (Exception e) { - throw FRLogManager.createLogPackedException(e); + throw SessionLocalManager.createLogPackedException(e); } return out; } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/actions/EmbeddedFormExportExportAction.java b/designer-form/src/main/java/com/fr/design/mainframe/actions/EmbeddedFormExportExportAction.java index 2d8698f35..e921429f7 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/actions/EmbeddedFormExportExportAction.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/actions/EmbeddedFormExportExportAction.java @@ -137,7 +137,7 @@ public class EmbeddedFormExportExportAction extends JTemplateAction{ FRContext.getLogger().info("\"" + fileGetName + "\"" + Inter.getLocText("FR-Designer_Finish_Export") + "!"); JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), - Inter.getLocText("FR-Designer_Exported_successfully") + "\n" + filePath); + Inter.getLocText("FR-Designer_Exported_successfully") + "\n" + fileGetName); } catch (Exception exp) { this.setProgress(100); FineLoggerFactory.getLogger().error(exp.getMessage(), exp); diff --git a/designer-realize/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java b/designer-realize/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java index 22059c35c..01cf46b8e 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java @@ -130,7 +130,7 @@ public abstract class AbstractExportAction extends JWorkBookAction { FRContext.getLogger().info("\"" + fileGetName + "\"" + Inter.getLocText("FR-Designer_Finish_Export") + "!"); JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), - Inter.getLocText("FR-Designer_Exported_successfully") + "\n" + filePath); + Inter.getLocText("FR-Designer_Exported_successfully") + "\n" + fileGetName); } catch (Exception exp) { this.setProgress(100); FineLoggerFactory.getLogger().error(exp.getMessage(), exp); diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java b/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java index 74b36372b..46efc1581 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java @@ -4,19 +4,19 @@ import com.fr.base.io.IOFile; import com.fr.base.io.XMLReadHelper; import com.fr.config.MarketConfig; import com.fr.design.DesignerEnvManager; -import com.fr.general.FRLogManager; +import com.fr.general.SessionLocalManager; import com.fr.general.Inter; -import com.fr.general.LogDuration; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; +import com.fr.stable.web.SessionProvider; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; import com.fr.third.apache.log4j.AppenderSkeleton; import com.fr.third.apache.log4j.Level; import com.fr.third.apache.log4j.spi.LoggingEvent; -import com.fr.web.core.SessionDealWith; -import com.fr.web.core.SessionIDInfor; +import com.fr.web.core.SessionPoolManager; +import com.fr.web.core.TemplateSessionIDInfo; import com.fr.workspace.WorkContext; import java.io.ByteArrayInputStream; @@ -96,13 +96,13 @@ public class ErrorInfoLogAppender extends AppenderSkeleton { } private String readTemplateID() { - LogDuration logDuration = FRLogManager.getSession(); + SessionProvider logDuration = SessionLocalManager.getSession(); if (logDuration == null) { return StringUtils.EMPTY; } String sessionID = logDuration.getSessionID(); - SessionIDInfor infor = SessionDealWith.getSessionIDInfor(sessionID); + TemplateSessionIDInfo infor = SessionPoolManager.getSessionIDInfor(sessionID, TemplateSessionIDInfo.class); if (infor == null) { return StringUtils.EMPTY; } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java index cb9909e2e..ff90867cb 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java @@ -85,7 +85,7 @@ public class WebCssPane extends BasicPane { if (!"css".equalsIgnoreCase(fileType)) { return; } - localText.setText(file.getPath().substring(1)); + localText.setText(file.getPath()); centerPane.setAddEnabled(true); } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java index ac2217c02..7b7d00667 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java @@ -173,7 +173,7 @@ public class WebJsPane extends BasicPane { if (!"js".equalsIgnoreCase(fileType)) { return; } - localText.setText(file.getPath().substring(1)); + localText.setText(file.getPath()); editingPane.setAddEnabled(true); } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java index f08f6e0cf..32302e81b 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java @@ -41,7 +41,7 @@ public class WriteToolBarPane extends AbstractEditToolBarPane { private DragToolBarPane dragToolbarPane; private UIRadioButton topRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_Top")); private UIRadioButton bottomRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_Bottom")); - private UILabel sheetShowLocationLabel = new UILabel("sheet" + Inter.getLocText(new String[]{"Label", "Page_Number", "Display position"}) + ":"); + private UILabel sheetShowLocationLabel = new UILabel(Inter.getLocText("Fine-Designer_Sheet_Label_Page_Display_Position")); private UIRadioButton centerRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_Center_Display")); private UIRadioButton leftRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_Left_Display")); private UILabel rptShowLocationLabel = new UILabel(Inter.getLocText("FR-Designer_Report_Show_Location") + ":", UILabel.LEFT); diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java index b23e4c3b2..6a35fd24b 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java @@ -56,7 +56,7 @@ public class WriteWebSettingPane extends WebSettingPane { //sheet标签页显示位置 topRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_Top")); bottomRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_Bottom")); - sheetShowLocationLabel = new UILabel("sheet" + Inter.getLocText(new String[]{"Label", "Page_Number", "Display position"}) + ":", UILabel.LEFT); + sheetShowLocationLabel = new UILabel(Inter.getLocText("Fine-Designer_Sheet_Label_Page_Display_Position"), UILabel.LEFT); ButtonGroup buttonGroup = new ButtonGroup(); bottomRadioButton.setSelected(true); buttonGroup.add(topRadioButton);