dispatcher.jsp 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ page import="java.io.File,java.io.InputStream,java.io.FileInputStream,java.util.Properties" %>
  3. <jsp:useBean id="jnlpConfigCache" scope="application" class="java.util.Properties"/>
  4. <%
  5. String versionFile = "jnlp.properties" ;
  6. String jnlpPrev ="eas" ;
  7. String jnlpExt = ".jnlp" ;
  8. //String configDir = System.getProperty("portal.config");
  9. String configDir = System.getProperty("EAS_HOME") + "/server/properties/" ; //jnlp move out
  10. if(configDir == null){
  11. throw new RuntimeException("cann't find the portalConfig file!");
  12. }
  13. File configFile = new File(configDir);
  14. if(configFile.exists()){
  15. configDir = configFile.getAbsolutePath()+"/"; //dir should be under properties
  16. }else{
  17. throw new RuntimeException("cann't find the config file!");
  18. }
  19. //get file from jnlp.properties
  20. String localDir = configDir;//getServletConfig().getServletContext().getRealPath("/");
  21. //System.out.println(localDir);
  22. String jnlpFileName = "";
  23. //no portal,deploy stand-alone
  24. boolean standAlone = false ;
  25. //support Eas multi client switch from one to another version,for example 5.0->5.1
  26. boolean enableVerSwitch = false ;
  27. //allow to backup eas client max cout.
  28. int maxVerCopyCount = 2 ;
  29. String jnlpVersion = "5.1.0.0" ;
  30. String silentJnlp = "false";
  31. String enableCache = "true";
  32. //only read once after system start
  33. //added by linhh on 2006.7.31
  34. String refreshCache= request.getParameter("refreshCache");
  35. if(refreshCache == null )
  36. {
  37. refreshCache = "false";
  38. }
  39. if(jnlpConfigCache == null || jnlpConfigCache.size()==0 || "true".equalsIgnoreCase(refreshCache))
  40. {
  41. File versionFileHandler = new File(localDir,versionFile);
  42. if(versionFileHandler.exists()){
  43. try{
  44. InputStream is = new FileInputStream(versionFileHandler);
  45. Properties prop = new Properties();
  46. prop.load(is);
  47. jnlpVersion = prop.getProperty("version");
  48. standAlone = new Boolean(prop.getProperty("stand_alone")).booleanValue();
  49. enableVerSwitch = new Boolean(prop.getProperty("enableVerSwitch")).booleanValue();
  50. silentJnlp = prop.getProperty("silentJnlp");
  51. enableCache = prop.getProperty("enableCache");
  52. try
  53. {
  54. maxVerCopyCount = Integer.parseInt(prop.getProperty("maxVerCopyCount"));
  55. }
  56. catch(NumberFormatException e)
  57. {
  58. maxVerCopyCount = 1 ;
  59. }
  60. if(jnlpVersion != null && !"".equals(jnlpVersion))
  61. {
  62. String version = jnlpVersion.replace('.','_');
  63. jnlpFileName = jnlpPrev + "_" + version + jnlpExt ;
  64. }
  65. else
  66. {
  67. jnlpFileName = jnlpPrev + jnlpExt ;
  68. }
  69. is.close() ;
  70. //added by linhh on 2006.7.31
  71. jnlpConfigCache.put("version",(jnlpVersion==null?"5.1.0.0":jnlpVersion));
  72. jnlpConfigCache.put("stand_alone",new Boolean(standAlone).toString());
  73. jnlpConfigCache.put("enableVerSwitch",new Boolean(enableVerSwitch).toString());
  74. jnlpConfigCache.put("maxVerCopyCount",new Integer(maxVerCopyCount).toString());
  75. jnlpConfigCache.put("silentJnlp",silentJnlp);
  76. jnlpConfigCache.put("enableCache",enableCache);
  77. }catch(Exception e){
  78. e.printStackTrace();
  79. jnlpFileName = jnlpPrev + jnlpExt ;
  80. }
  81. }
  82. else
  83. {
  84. //System.out.println("no version");
  85. jnlpFileName = jnlpPrev + jnlpExt ;
  86. }
  87. }
  88. else
  89. {
  90. //added by linhh on 2006.7.31
  91. System.out.println("get jnlp config from cache.");
  92. Properties prop = jnlpConfigCache;
  93. jnlpVersion = prop.getProperty("version");
  94. standAlone = new Boolean(prop.getProperty("stand_alone")).booleanValue();
  95. enableVerSwitch = new Boolean(prop.getProperty("enableVerSwitch")).booleanValue();
  96. silentJnlp = prop.getProperty("silentJnlp");
  97. enableCache = prop.getProperty("enableCache");
  98. try
  99. {
  100. maxVerCopyCount = Integer.parseInt(prop.getProperty("maxVerCopyCount"));
  101. }
  102. catch(NumberFormatException e)
  103. {
  104. maxVerCopyCount = 1 ;
  105. }
  106. if(jnlpVersion != null && !"".equals(jnlpVersion))
  107. {
  108. String version = jnlpVersion.replace('.','_');
  109. jnlpFileName = jnlpPrev + "_" + version + jnlpExt ;
  110. }
  111. else
  112. {
  113. jnlpFileName = jnlpPrev + jnlpExt ;
  114. }
  115. }
  116. String jnlpFileNameParam = request.getParameter("jnlpFileName") ;
  117. if(jnlpFileNameParam != null && !"null".equalsIgnoreCase(jnlpFileNameParam))
  118. {
  119. //request param highest prior.
  120. jnlpFileName = jnlpFileNameParam ;
  121. }
  122. String switchCreateJnlpFile = "switch";
  123. if(standAlone)
  124. {
  125. switchCreateJnlpFile +="_noPortal.jsp";
  126. }
  127. else
  128. {
  129. switchCreateJnlpFile +=".jsp";
  130. }
  131. localDir = System.getProperty("portal.config");
  132. File localFile = new File(localDir);
  133. if(localFile.exists())
  134. {
  135. localDir = localFile.getParentFile().getAbsolutePath()+"/";
  136. }else
  137. {
  138. throw new RuntimeException("cann't find the config file!");
  139. }
  140. %>
  141. <jsp:forward page="<%=switchCreateJnlpFile%>">
  142. <jsp:param name="jnlpFileName" value="<%=jnlpFileName%>"/>
  143. <jsp:param name="jnlpVersion" value="<%=jnlpVersion%>"/>
  144. <jsp:param name="enableVerSwitch" value="<%=(new Boolean(enableVerSwitch)).toString()%>"/>
  145. <jsp:param name="maxVerCopyCount" value="<%=(new Integer(maxVerCopyCount)).toString()%>"/>
  146. <jsp:param name="silentJnlp" value="<%=silentJnlp%>"/>
  147. <jsp:param name="localDir" value="<%=localDir%>"/>
  148. <jsp:param name="enableCache" value="<%=enableCache%>"/>
  149. </jsp:forward>