Browse Source

Merge pull request #508 in BA/design from ~ZACK/design:dev to dev

* commit 'a8923863400d82eeeef055577702ad7c000d9fbe':
  PMD
  无JIRA任务,组件共享远程目录切换
master
superman 8 years ago
parent
commit
6754b65f07
  1. 46
      designer_base/src/com/fr/env/RemoteEnv.java
  2. 13
      designer_form/src/com/fr/design/mainframe/FormWidgetDetailPane.java
  3. 17
      designer_form/src/com/fr/design/mainframe/ShareWidgetPane.java

46
designer_base/src/com/fr/env/RemoteEnv.java vendored

@ -22,6 +22,7 @@ import com.fr.file.CacheManager;
import com.fr.file.DatasourceManager;
import com.fr.file.DatasourceManagerProvider;
import com.fr.file.filetree.FileNode;
import com.fr.form.share.ShareConstants;
import com.fr.general.*;
import com.fr.general.http.HttpClient;
import com.fr.json.JSONArray;
@ -31,8 +32,6 @@ import com.fr.plugin.Plugin;
import com.fr.plugin.PluginLicense;
import com.fr.plugin.PluginLicenseManager;
import com.fr.plugin.PluginLoader;
import com.fr.plugin.dependence.PluginServiceCreator;
import com.fr.plugin.dependence.PluginServiceManager;
import com.fr.stable.*;
import com.fr.stable.file.XMLFileManagerProvider;
import com.fr.stable.project.ProjectConstants;
@ -2105,4 +2104,47 @@ public class RemoteEnv implements Env {
public void checkAndRegisterLic(FileNode node, Plugin plugin) throws Exception {
}
@Override
public File[] loadREUFile() throws Exception {
File target = new File(CacheManager.getProviderInstance().getCacheDirectory(),
"fr_share");
StableUtils.deleteFile(target);
StableUtils.mkdirs(target);
File cacheDir = null;
File zip = null;
try {
HashMap<String, String> para = new HashMap<String, String>();
para.put("op", "fr_remote_design");
para.put("cmd", "design_read_reufile");
para.put("current_uid", this.createUserID());
para.put("currentUsername", this.getUser());
HttpClient client = createHttpMethod(para);
InputStream input = client.getResponseStream();
zip = new File(StableUtils.pathJoin(CacheManager.getProviderInstance().getCacheDirectory().getAbsolutePath()), "share.zip");
cacheDir = new File(StableUtils.pathJoin(CacheManager.getProviderInstance().getCacheDirectory().getAbsolutePath()), ShareConstants.DIR_SHARE_CACHE);
StableUtils.deleteFile(cacheDir);
StableUtils.mkdirs(cacheDir);
StableUtils.makesureFileExist(zip);
FileOutputStream out = new FileOutputStream(zip);
IOUtils.copyBinaryTo(input, out);
out.flush();
out.close();
IOUtils.unzip(zip, cacheDir.getAbsolutePath(), EncodeConstants.ENCODING_GBK);//先解压到临时目录
if (cacheDir.exists() && cacheDir.isDirectory()) {
return cacheDir.listFiles(new FilenameFilter() {
public boolean accept(File file, String s) {
return s.endsWith("reu");
}
});
}
} catch (Exception e) {
FRContext.getLogger().error(e.getMessage());
} finally {
StableUtils.deleteFile(zip);
}
return new File[0];
}
}

13
designer_form/src/com/fr/design/mainframe/FormWidgetDetailPane.java

@ -2,11 +2,6 @@ package com.fr.design.mainframe;
import com.fr.base.BaseUtils;
import com.fr.base.FRContext;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.UIDialog;
import com.fr.design.extra.PluginWebBridge;
import com.fr.design.extra.ShopDialog;
import com.fr.design.extra.WebManagerPaneFactory;
import com.fr.design.gui.frpane.UITabbedPane;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icombobox.UIComboBox;
@ -19,6 +14,7 @@ import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.form.share.ShareConstants;
import com.fr.form.share.ShareLoader;
import com.fr.form.ui.ElCaseBindInfo;
import com.fr.general.FRLogger;
import com.fr.general.Inter;
import com.fr.general.SiteCenter;
import com.fr.stable.StringUtils;
@ -99,7 +95,6 @@ public class FormWidgetDetailPane extends FormDockView{
reuWidgetPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
reuWidgetPanel.setBorder(null);
if (elCaseBindInfoList == null) {
elCaseBindInfoList = new ElCaseBindInfo[0];
if (sw != null) {
sw.cancel(true);
}
@ -233,7 +228,7 @@ public class FormWidgetDetailPane extends FormDockView{
try {
Desktop.getDesktop().browse(new URI(url));
} catch (IOException exp) {
JOptionPane.showMessageDialog(null, Inter.getLocText("Set_default_browser"));
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer_Set_default_browser"));
FRContext.getLogger().errorWithServerLevel(exp.getMessage(), exp);
} catch (URISyntaxException exp) {
FRContext.getLogger().errorWithServerLevel(exp.getMessage(), exp);
@ -309,7 +304,7 @@ public class FormWidgetDetailPane extends FormDockView{
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Share_Module_OK"));
} catch (IOException e) {
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Share_Module_Error"));
e.printStackTrace();
FRLogger.getLogger().error(e.getMessage(), e);
}
}
@ -318,7 +313,7 @@ public class FormWidgetDetailPane extends FormDockView{
try {
ShareLoader.getLoader().refreshModule();
} catch (Exception e) {
e.printStackTrace();
FRLogger.getLogger().error(e.getMessage(), e);
}
}

17
designer_form/src/com/fr/design/mainframe/ShareWidgetPane.java

@ -14,15 +14,16 @@ public class ShareWidgetPane extends JPanel {
public ShareWidgetPane(ElCaseBindInfo[] elCaseBindInfoList, boolean isEdit) {
this.setBorder(BorderFactory.createEmptyBorder(10, 3, 0, 0));// 设置面板的边框 ,距离上、左、下、右 的距离
int rowCount = (elCaseBindInfoList.length + 1) / 2;
this.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 10));
for (ElCaseBindInfo rbModuleInfo : elCaseBindInfoList) {
ShareWidgetButton widgetButton = new ShareWidgetButton(rbModuleInfo);
widgetButton.setElementCaseEdit(isEdit);
this.add(widgetButton);
if (elCaseBindInfoList != null) {
int rowCount = (elCaseBindInfoList.length + 1) / 2;
this.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 10));
for (ElCaseBindInfo rbModuleInfo : elCaseBindInfoList) {
ShareWidgetButton widgetButton = new ShareWidgetButton(rbModuleInfo);
widgetButton.setElementCaseEdit(isEdit);
this.add(widgetButton);
}
this.setPreferredSize(new Dimension(240, rowCount * 80));
}
this.setPreferredSize(new Dimension(240, rowCount * 80));
}
}
Loading…
Cancel
Save