Browse Source

Merge remote-tracking branch 'origin/release/9.0' into release/9.0

master
MoMeak 7 years ago
parent
commit
371f51a4b7
  1. 12
      designer_base/src/com/fr/design/extra/PluginOperateUtils.java
  2. 22
      designer_base/src/com/fr/design/extra/PluginUtils.java
  3. 2
      designer_base/src/com/fr/design/extra/exe/callback/InstallFromDiskCallback.java

12
designer_base/src/com/fr/design/extra/PluginOperateUtils.java

@ -140,7 +140,8 @@ public class PluginOperateUtils {
String result = httpClient.getResponseText(); String result = httpClient.getResponseText();
JSONObject jsonObject = new JSONObject(result); JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = jsonObject.getJSONArray("result"); JSONArray jsonArray = jsonObject.getJSONArray("result");
jsCallback.execute(jsonArray.toString()); JSONArray resultJSONArray = PluginUtils.filterPluginsFromVersion(jsonArray);
jsCallback.execute(resultJSONArray.toString());
} catch (Exception e) { } catch (Exception e) {
FRLogger.getLogger().error(e.getMessage()); FRLogger.getLogger().error(e.getMessage());
} }
@ -171,7 +172,8 @@ public class PluginOperateUtils {
String result = httpClient.getResponseText(); String result = httpClient.getResponseText();
JSONObject resultJSONObject = new JSONObject(result); JSONObject resultJSONObject = new JSONObject(result);
JSONArray resultArr = resultJSONObject.getJSONArray("result"); JSONArray resultArr = resultJSONObject.getJSONArray("result");
jsCallback.execute(resultArr.toString()); JSONArray resultJSONArray = PluginUtils.filterPluginsFromVersion(resultArr);
jsCallback.execute(resultJSONArray.toString());
} catch (Exception e) { } catch (Exception e) {
FRLogger.getLogger().error(e.getMessage()); FRLogger.getLogger().error(e.getMessage());
} }
@ -190,7 +192,9 @@ public class PluginOperateUtils {
try { try {
HttpClient httpClient = new HttpClient(plistUrl.toString()); HttpClient httpClient = new HttpClient(plistUrl.toString());
String result = httpClient.getResponseText(); String result = httpClient.getResponseText();
jsCallback.execute(result); JSONArray jsonArray = new JSONArray(result);
JSONArray resultJSONArray = PluginUtils.filterPluginsFromVersion(jsonArray);
jsCallback.execute(resultJSONArray.toString());
} catch (Exception e) { } catch (Exception e) {
FRLogger.getLogger().error(e.getMessage()); FRLogger.getLogger().error(e.getMessage());
} }
@ -300,4 +304,6 @@ public class PluginOperateUtils {
return pluginInfo.toString(); return pluginInfo.toString();
} }
} }

22
designer_base/src/com/fr/design/extra/PluginUtils.java

@ -7,6 +7,8 @@ import com.fr.general.SiteCenter;
import com.fr.general.http.HttpClient; import com.fr.general.http.HttpClient;
import com.fr.json.JSONArray; import com.fr.json.JSONArray;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.plugin.basic.version.Version;
import com.fr.plugin.basic.version.VersionIntervalFactory;
import com.fr.plugin.context.PluginContext; import com.fr.plugin.context.PluginContext;
import com.fr.plugin.context.PluginMarker; import com.fr.plugin.context.PluginMarker;
@ -184,4 +186,24 @@ public class PluginUtils {
} }
return null; return null;
} }
/**
* 在不同设计器版本下展示不同插件
* @return 插件
*/
public static JSONArray filterPluginsFromVersion(JSONArray oriJSONArray) throws Exception{
JSONArray resultJSONArray = JSONArray.create();
for(int i = 0; i < oriJSONArray.length(); i++){
JSONObject jo = oriJSONArray.getJSONObject(i);
String envVersion = jo.optString("env-version");
if(isCompatibleCurrentEnv(envVersion)){
resultJSONArray.put(jo);
}
}
return resultJSONArray;
}
private static boolean isCompatibleCurrentEnv(String envVersion){
return VersionIntervalFactory.create(envVersion).contain(Version.currentEnvVersion());
}
} }

2
designer_base/src/com/fr/design/extra/exe/callback/InstallFromDiskCallback.java

@ -77,7 +77,7 @@ public class InstallFromDiskCallback extends AbstractPluginTaskCallback {
}else { }else {
jsCallback.execute("failed"); jsCallback.execute("failed");
FRLogger.getLogger().info(Inter.getLocText("FR-Plugin_Install_Failed")); FRLogger.getLogger().info(Inter.getLocText("FR-Plugin_Install_Failed"));
JOptionPane.showMessageDialog(null, PluginUtils.getMessageByErrorCode(result.errorCode()), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, PluginUtils.getMessageByErrorCode(result.errorCode()), Inter.getLocText("FR-Plugin_Install_Failed"), JOptionPane.ERROR_MESSAGE);
} }
} }
} }

Loading…
Cancel
Save