Changeset 4608
- Timestamp:
- Oct 3, 2017, 1:15:34 PM (6 years ago)
- Location:
- extensions/net.sf.basedb.relax/trunk
- Files:
-
- 3 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.relax/trunk/.classpath
r4393 r4608 9 9 <classpathentry kind="lib" path="lib/base-core-3.11.0.jar"/> 10 10 <classpathentry kind="lib" path="lib/base-webclient-3.11.0.jar"/> 11 <classpathentry kind="lib" path="lib/jdom-2.0.5.jar"/> 11 12 <classpathentry kind="output" path=".build"/> 12 13 </classpath> -
extensions/net.sf.basedb.relax/trunk/build.xml
r4556 r4608 57 57 > 58 58 <copy todir="${dist}"> 59 <fileset dir="." includes="README,LICENSE " />59 <fileset dir="." includes="README,LICENSE,config/*" /> 60 60 <fileset file="${jar.name}" /> 61 61 </copy> -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/Relax.java
r4577 r4608 1 1 package net.sf.basedb.relax; 2 2 3 import java.io.InputStream; 4 import java.net.URL; 3 5 import java.text.SimpleDateFormat; 4 6 import java.util.Collections; … … 7 9 import javax.servlet.ServletRequest; 8 10 11 import org.jdom2.Document; 9 12 import org.slf4j.Logger; 10 13 import org.slf4j.LoggerFactory; … … 12 15 import net.sf.basedb.clients.web.Base; 13 16 import net.sf.basedb.core.Application; 17 import net.sf.basedb.core.ConfigurationException; 14 18 import net.sf.basedb.core.Include; 15 19 import net.sf.basedb.core.ItemQuery; … … 17 21 import net.sf.basedb.relax.converter.DateToStringConverter; 18 22 import net.sf.basedb.relax.converter.StringToDateConverter; 23 import net.sf.basedb.util.FileUtil; 24 import net.sf.basedb.util.XmlUtil2; 19 25 20 26 … … 83 89 84 90 91 private static volatile XmlConfig rootConfig; 92 private static volatile ServerMode serverMode; 93 94 /** 95 Get the server mode for this server. The mode affects what items that are installed, 96 various default values, etc. 97 */ 98 public static ServerMode getServerMode() 99 { 100 if (serverMode == null) 101 { 102 serverMode = ServerMode.valueOf(getConfig().getConfig("server-mode", null, ServerMode.RELAX.name())); 103 } 104 return serverMode; 105 } 106 107 /** 108 Get the Relax configuration. 109 */ 110 public static XmlConfig getConfig() 111 { 112 if (rootConfig == null) loadConfig(); 113 return rootConfig; 114 } 115 116 /** 117 Force reload the Relax configuration. 118 */ 119 public static synchronized XmlConfig reloadConfig() 120 { 121 unloadConfig(); 122 loadConfig(); 123 return rootConfig; 124 } 125 126 public static synchronized void unloadConfig() 127 { 128 rootConfig = null; 129 serverMode = null; 130 } 131 85 132 /** 86 133 Get an existing session control and check that a user is logged in. … … 92 139 req.getRemoteAddr(), true); 93 140 } 94 141 142 private static synchronized void loadConfig() 143 { 144 URL configUrl = Relax.class.getResource("/relax-config.xml"); 145 if (rootConfig != null) return; 146 InputStream is = null; 147 try 148 { 149 logger.debug("Loading configuration from; " + configUrl); 150 is = configUrl == null ? null : configUrl.openStream(); 151 if (is == null) 152 { 153 throw new ConfigurationException("Can't find the configuration file. " + 154 "Make sure 'relax-config.xml' is in the CLASSPATH."); 155 } 156 157 Document dom = XmlUtil2.getValidatedXml(configUrl, null); 158 rootConfig = new XmlConfig(dom.getRootElement(), "[relax]"); 159 } 160 catch (Exception ex) 161 { 162 logger.error("Could not load configuration", ex); 163 throw new RuntimeException(ex); 164 } 165 finally 166 { 167 FileUtil.close(is); 168 } 169 } 95 170 } -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/plugins/Level3ExporterPlugin.java
r4579 r4608 75 75 import net.sf.basedb.opengrid.config.ConnectionInfo; 76 76 import net.sf.basedb.relax.Relax; 77 import net.sf.basedb.relax.ServerMode; 77 78 import net.sf.basedb.relax.dao.Datafiletype; 78 79 import net.sf.basedb.relax.dao.Fileserver; … … 510 511 FileServer level3Archive = Fileserver.LEVEL3_ARCHIVE.load(dc); 511 512 if (!fileServers.contains(level3Archive)) fileServers.add(level3Archive); 512 // We should not store level-3 data on the relax release archive 513 // IT MAY OVERWRITE DATA FILES COMING FROM REGGIE 514 fileServers.remove(Fileserver.RELEASE_ARCHIVE.load(dc)); 513 if (Relax.getServerMode() == ServerMode.RELAX) 514 { 515 // We should not store level-3 data on the relax release archive 516 // IT MAY OVERWRITE DATA FILES COMING FROM REGGIE 517 fileServers.remove(Fileserver.RELEASE_ARCHIVE.load(dc)); 518 } 515 519 fileServers.sort(new NameableComparator<>(false)); 516 520 -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/plugins/ReleaseImporterPlugin.java
r4487 r4608 96 96 import net.sf.basedb.opengrid.filetransfer.ByteArrayDownloadTarget; 97 97 import net.sf.basedb.relax.Relax; 98 import net.sf.basedb.relax.ServerMode; 98 99 import net.sf.basedb.relax.converter.StringToDateConverter; 99 100 import net.sf.basedb.relax.dao.Fileserver; … … 363 364 try 364 365 { 366 Fileserver defaultFileServer = Relax.getServerMode() == ServerMode.RELAX ? 367 Fileserver.RELEASE_ARCHIVE : Fileserver.LEVEL3_ARCHIVE; 368 365 369 dc = sc.newDbControl(); 366 370 … … 373 377 )); 374 378 List<FileServer> fileServers = new ArrayList<FileServer>(query.list(dc)); 375 FileServer releaseArchive = Fileserver.RELEASE_ARCHIVE.load(dc);379 FileServer releaseArchive = defaultFileServer.load(dc); 376 380 if (!fileServers.contains(releaseArchive)) fileServers.add(releaseArchive); 377 381 fileServers.sort(new NameableComparator<>(false)); -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/plugins/ScriptWriter.java
r4577 r4608 19 19 import net.sf.basedb.opengrid.ScriptBuilder; 20 20 import net.sf.basedb.relax.Relax; 21 import net.sf.basedb.relax.ServerMode; 21 22 import net.sf.basedb.relax.bash.ScriptUtil; 22 23 import net.sf.basedb.relax.dao.Fileserver; … … 46 47 public ScriptWriter(DbControl dc, ReleaseWriterOptions options) 47 48 { 48 this.releaseArchive = Fileserver.RELEASE_ARCHIVE.load(dc);49 this.releaseArchive = Relax.getServerMode() == ServerMode.RELAX ? Fileserver.RELEASE_ARCHIVE.load(dc) : Fileserver.LEVEL3_ARCHIVE.load(dc); 49 50 this.pathsToCreate = new TreeSet<>(); 50 51 this.filesToSync = new TreeMap<>(); -
extensions/net.sf.basedb.relax/trunk/src/net/sf/basedb/relax/servlet/InstallServlet.java
r4578 r4608 38 38 import net.sf.basedb.relax.JsonUtil; 39 39 import net.sf.basedb.relax.Relax; 40 import net.sf.basedb.relax.ServerMode; 40 41 import net.sf.basedb.relax.dao.Fileserver; 41 42 import net.sf.basedb.relax.dao.Subtype; … … 109 110 110 111 // File servers 111 jsonChecks.add(checkFileServer(dc, Fileserver.RELEASE_ARCHIVE, createIfMissing, everyoneRead)); 112 if (Relax.getServerMode() == ServerMode.RELAX) 113 { 114 // The release archive is only installed on the RELAX server 115 jsonChecks.add(checkFileServer(dc, Fileserver.RELEASE_ARCHIVE, createIfMissing, everyoneRead)); 116 } 112 117 jsonChecks.add(checkFileServer(dc, Fileserver.LEVEL3_ARCHIVE, createIfMissing, everyoneRead)); 113 118
Note: See TracChangeset
for help on using the changeset viewer.