mirror of
https://github.com/Minres/RDL-Editor.git
synced 2024-12-22 15:28:02 +01:00
55 lines
1.7 KiB
Plaintext
55 lines
1.7 KiB
Plaintext
/*
|
|
* generated by Xtext 2.14.0
|
|
*/
|
|
package com.minres.rdl.web
|
|
|
|
import java.net.InetSocketAddress
|
|
import org.eclipse.jetty.annotations.AnnotationConfiguration
|
|
import org.eclipse.jetty.server.Server
|
|
import org.eclipse.jetty.util.log.Slf4jLog
|
|
import org.eclipse.jetty.webapp.MetaInfConfiguration
|
|
import org.eclipse.jetty.webapp.WebAppContext
|
|
import org.eclipse.jetty.webapp.WebInfConfiguration
|
|
import org.eclipse.jetty.webapp.WebXmlConfiguration
|
|
|
|
/**
|
|
* This program starts an HTTP server for testing the web integration of your DSL.
|
|
* Just execute it and point a web browser to http://localhost:8080/
|
|
*/
|
|
class ServerLauncher {
|
|
def static void main(String[] args) {
|
|
val server = new Server(new InetSocketAddress('localhost', 8080))
|
|
server.handler = new WebAppContext => [
|
|
resourceBase = 'WebRoot'
|
|
welcomeFiles = #["index.html"]
|
|
contextPath = "/"
|
|
configurations = #[
|
|
new AnnotationConfiguration,
|
|
new WebXmlConfiguration,
|
|
new WebInfConfiguration,
|
|
new MetaInfConfiguration
|
|
]
|
|
setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, '.*/com\\.minres\\.rdl\\.web/.*,.*\\.jar')
|
|
setInitParameter("org.mortbay.jetty.servlet.Default.useFileMappedBuffer", "false")
|
|
]
|
|
val log = new Slf4jLog(ServerLauncher.name)
|
|
try {
|
|
server.start
|
|
log.info('Server started ' + server.getURI + '...')
|
|
new Thread[
|
|
log.info('Press enter to stop the server...')
|
|
val key = System.in.read
|
|
if (key != -1) {
|
|
server.stop
|
|
} else {
|
|
log.warn('Console input is not available. In order to stop the server, you need to cancel process manually.')
|
|
}
|
|
].start
|
|
server.join
|
|
} catch (Exception exception) {
|
|
log.warn(exception.message)
|
|
System.exit(1)
|
|
}
|
|
}
|
|
}
|