|
|
@ -13,22 +13,47 @@ import com.fr.design.constants.UIConstants; |
|
|
|
import com.fr.env.RemoteEnv; |
|
|
|
import com.fr.env.RemoteEnv; |
|
|
|
import com.fr.env.SignIn; |
|
|
|
import com.fr.env.SignIn; |
|
|
|
import com.fr.file.FILEFactory; |
|
|
|
import com.fr.file.FILEFactory; |
|
|
|
import com.fr.general.*; |
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
import com.fr.stable.*; |
|
|
|
import com.fr.general.FRLevel; |
|
|
|
|
|
|
|
import com.fr.general.FRLogFormatter; |
|
|
|
|
|
|
|
import com.fr.general.FRLogger; |
|
|
|
|
|
|
|
import com.fr.general.GeneralContext; |
|
|
|
|
|
|
|
import com.fr.general.IOUtils; |
|
|
|
|
|
|
|
import com.fr.general.Inter; |
|
|
|
|
|
|
|
import com.fr.stable.Constants; |
|
|
|
|
|
|
|
import com.fr.stable.EnvChangedListener; |
|
|
|
|
|
|
|
import com.fr.stable.ListMap; |
|
|
|
|
|
|
|
import com.fr.stable.ProductConstants; |
|
|
|
|
|
|
|
import com.fr.stable.StableUtils; |
|
|
|
|
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
import com.fr.stable.core.UUID; |
|
|
|
import com.fr.stable.core.UUID; |
|
|
|
import com.fr.stable.project.ProjectConstants; |
|
|
|
import com.fr.stable.project.ProjectConstants; |
|
|
|
import com.fr.stable.xml.*; |
|
|
|
import com.fr.stable.xml.XMLPrintWriter; |
|
|
|
|
|
|
|
import com.fr.stable.xml.XMLReadable; |
|
|
|
|
|
|
|
import com.fr.stable.xml.XMLTools; |
|
|
|
|
|
|
|
import com.fr.stable.xml.XMLWriter; |
|
|
|
|
|
|
|
import com.fr.stable.xml.XMLableReader; |
|
|
|
|
|
|
|
import org.apache.log4j.Level; |
|
|
|
|
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
import javax.swing.*; |
|
|
|
import javax.swing.SwingWorker.StateValue; |
|
|
|
import javax.swing.SwingWorker.StateValue; |
|
|
|
import java.awt.*; |
|
|
|
import java.awt.*; |
|
|
|
import java.io.*; |
|
|
|
import java.io.File; |
|
|
|
import java.util.*; |
|
|
|
import java.io.FileOutputStream; |
|
|
|
|
|
|
|
import java.io.FileReader; |
|
|
|
|
|
|
|
import java.io.FileWriter; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
|
|
|
import java.io.OutputStream; |
|
|
|
|
|
|
|
import java.io.StringReader; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
|
|
import java.util.Calendar; |
|
|
|
|
|
|
|
import java.util.GregorianCalendar; |
|
|
|
|
|
|
|
import java.util.Iterator; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import java.util.Map; |
|
|
|
import java.util.Map.Entry; |
|
|
|
import java.util.Map.Entry; |
|
|
|
import java.util.logging.FileHandler; |
|
|
|
import java.util.logging.FileHandler; |
|
|
|
import java.util.logging.Handler; |
|
|
|
import java.util.logging.Handler; |
|
|
|
import org.apache.log4j.Level; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* The manager of Designer GUI. |
|
|
|
* The manager of Designer GUI. |
|
|
@ -36,6 +61,7 @@ import org.apache.log4j.Level; |
|
|
|
public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
|
|
|
|
|
|
|
|
private static final int MAX_SHOW_NUM = 10; |
|
|
|
private static final int MAX_SHOW_NUM = 10; |
|
|
|
|
|
|
|
private static final String VERSION_80 = "80"; |
|
|
|
|
|
|
|
|
|
|
|
private static DesignerEnvManager designerEnvManager; // gui.
|
|
|
|
private static DesignerEnvManager designerEnvManager; // gui.
|
|
|
|
private String activationKey = null; |
|
|
|
private String activationKey = null; |
|
|
@ -219,9 +245,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
calender.setTimeInMillis(System.currentTimeMillis()); |
|
|
|
calender.setTimeInMillis(System.currentTimeMillis()); |
|
|
|
String today = calender.get(Calendar.YEAR) + "-" + (calender.get(Calendar.MONTH) + 1) + "-" + calender.get(Calendar.DAY_OF_MONTH); |
|
|
|
String today = calender.get(Calendar.YEAR) + "-" + (calender.get(Calendar.MONTH) + 1) + "-" + calender.get(Calendar.DAY_OF_MONTH); |
|
|
|
|
|
|
|
|
|
|
|
String fileName = StableUtils.pathJoin(new String[]{ |
|
|
|
String fileName = StableUtils.pathJoin(logLocation, "fr_" + today + "_%g.log"); |
|
|
|
logLocation, "fr_" + today + "_%g.log" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
if (!new java.io.File(fileName).exists()) { |
|
|
|
if (!new java.io.File(fileName).exists()) { |
|
|
|
StableUtils.makesureFileExist(new java.io.File(fileName)); |
|
|
|
StableUtils.makesureFileExist(new java.io.File(fileName)); |
|
|
|
} |
|
|
|
} |
|
|
@ -253,11 +277,14 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
try { |
|
|
|
try { |
|
|
|
FileWriter fileWriter = new FileWriter(envFile); |
|
|
|
FileWriter fileWriter = new FileWriter(envFile); |
|
|
|
File oldEnvFile = new File(ProductConstants.getEnvHome() + File.separator + ProductConstants.APP_NAME + "6-1" + "Env.xml"); |
|
|
|
File oldEnvFile = new File(ProductConstants.getEnvHome() + File.separator + ProductConstants.APP_NAME + "6-1" + "Env.xml"); |
|
|
|
|
|
|
|
File envFile80 = new File(getEnvHome(VERSION_80) + File.separator + getEnvFile().getName()); |
|
|
|
if (oldEnvFile.exists()) { |
|
|
|
if (oldEnvFile.exists()) { |
|
|
|
// marks:兼容DesignerEnv6-1.xml
|
|
|
|
// marks:兼容DesignerEnv6-1.xml
|
|
|
|
FileReader fileReader = new FileReader(oldEnvFile); |
|
|
|
FileReader fileReader = new FileReader(oldEnvFile); |
|
|
|
Utils.copyCharTo(fileReader, fileWriter); |
|
|
|
Utils.copyCharTo(fileReader, fileWriter); |
|
|
|
fileReader.close(); |
|
|
|
fileReader.close(); |
|
|
|
|
|
|
|
} else if (envFile80.exists()) { |
|
|
|
|
|
|
|
compatibilityPrevVersion(envFile80); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// marks:生成一个新的xml文件
|
|
|
|
// marks:生成一个新的xml文件
|
|
|
|
StringReader stringReader = new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\" ?><Env></Env>"); |
|
|
|
StringReader stringReader = new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\" ?><Env></Env>"); |
|
|
@ -270,6 +297,33 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static String getEnvHome(String version) { |
|
|
|
|
|
|
|
String userHome = System.getProperty("user.home"); |
|
|
|
|
|
|
|
if (userHome == null) { |
|
|
|
|
|
|
|
userHome = System.getProperty("userHome"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File envHome = new File(userHome + File.separator + "." + ProductConstants.APP_NAME + version); |
|
|
|
|
|
|
|
if (!envHome.exists()) { |
|
|
|
|
|
|
|
StableUtils.mkdirs(envHome); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return envHome.getAbsolutePath(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void compatibilityPrevVersion(File prevEnvFile) { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
XMLTools.readFileXML(designerEnvManager, prevEnvFile); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
FRContext.getLogger().error(e.getMessage(), e); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 清空前一个版本中的工作目录和最近打开
|
|
|
|
|
|
|
|
nameEnvMap = new ListMap<String, Env>(); |
|
|
|
|
|
|
|
recentOpenedFilePathList = new ArrayList<String>(); |
|
|
|
|
|
|
|
curEnvName = null; |
|
|
|
|
|
|
|
designerEnvManager.saveXMLFile(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static void setEnvFile(File envFile) { |
|
|
|
public static void setEnvFile(File envFile) { |
|
|
|
DesignerEnvManager.envFile = envFile; |
|
|
|
DesignerEnvManager.envFile = envFile; |
|
|
|
} |
|
|
|
} |
|
|
@ -285,6 +339,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 是否启用了https |
|
|
|
* 是否启用了https |
|
|
|
|
|
|
|
* |
|
|
|
* @return 同上 |
|
|
|
* @return 同上 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public boolean isHttps() { |
|
|
|
public boolean isHttps() { |
|
|
@ -546,9 +601,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
* 保存设计器的配置文件, 该文件不在env的resource目录下 |
|
|
|
* 保存设计器的配置文件, 该文件不在env的resource目录下 |
|
|
|
* 而是在Consts.getEnvHome() + File.separator + Consts.APP_NAME |
|
|
|
* 而是在Consts.getEnvHome() + File.separator + Consts.APP_NAME |
|
|
|
* |
|
|
|
* |
|
|
|
* |
|
|
|
|
|
|
|
* @date 2014-9-29-上午11:04:23 |
|
|
|
* @date 2014-9-29-上午11:04:23 |
|
|
|
* |
|
|
|
|
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void saveXMLFile() { |
|
|
|
public void saveXMLFile() { |
|
|
|
File xmlFile = this.getDesignerEnvFile(); |
|
|
|
File xmlFile = this.getDesignerEnvFile(); |
|
|
@ -577,7 +630,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
* 是否加入产品改良 |
|
|
|
* 是否加入产品改良 |
|
|
|
* |
|
|
|
* |
|
|
|
* @return 是否加入产品改良 |
|
|
|
* @return 是否加入产品改良 |
|
|
|
* |
|
|
|
|
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public boolean isJoinProductImprove() { |
|
|
|
public boolean isJoinProductImprove() { |
|
|
|
return joinProductImprove; |
|
|
|
return joinProductImprove; |
|
|
@ -585,7 +637,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 设置加入产品改良 |
|
|
|
* 设置加入产品改良 |
|
|
|
* |
|
|
|
|
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void setJoinProductImprove(boolean joinProductImprove) { |
|
|
|
public void setJoinProductImprove(boolean joinProductImprove) { |
|
|
|
this.joinProductImprove = joinProductImprove; |
|
|
|
this.joinProductImprove = joinProductImprove; |
|
|
@ -1219,7 +1270,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void readLastBBSTime(XMLableReader reader) { |
|
|
|
private void readLastBBSTime(XMLableReader reader) { |
|
|
|
String tmpVal; |
|
|
|
String tmpVal; |
|
|
|
if (StringUtils.isNotBlank(tmpVal = reader.getElementValue())) { |
|
|
|
if (StringUtils.isNotBlank(tmpVal = reader.getElementValue())) { |
|
|
|