Class JettyRunConfiguration

java.lang.Object
com.iizix.server.ServerShell
com.iizix.server.JettyRunConfiguration
All Implemented Interfaces:
IWebServiceEngine, WebSocketAcceptor, IAdditonalInformation<UserInfoHistoryEntry>, IAppLoader, IServer, IKStringInfoProviderHolder
Direct Known Subclasses:
RuntimeBuilderServer, StandardServer

public class JettyRunConfiguration extends ServerShell
Server using Jetty to serve a Run Configuration launch of an application from Eclipse. It is assumed that the application is an IIZI Module project that may refer to others, including Java projects.

The classpath is set-up from Eclipse when the JRE launches the main(args) static method. This code and other IIZI parts are set in the classpath from either Jar files if using a "distribution environment", or the directories hard-coded if using an "IIZI development environment".

Author:
Christopher Mindus
  • Constructor Details

    • JettyRunConfiguration

      public JettyRunConfiguration(File configFile, String extServerURL, String root, boolean useHotDeploy, AppDefinition[] apps, Map<String,String> appAliases) throws IOException, PropException
      Constructor.
      Parameters:
      configFile - The configuration file, null for default.
      extServerURL - The external server URL, null for default.
      root - The Web Server root, null for default.
      useHotDeploy - If hot deploy should be used or not.
      apps - The apps loaded.
      appAliases - App aliases table.
      Throws:
      IOException - For load failure.
      PropException - For property errors.
  • Method Details

    • main

      public static void main(String[] args)
      Entry point for development server start.
    • main

      protected static void main(String[] args, boolean isDevelServer, Class<? extends JettyRunConfiguration> serverClass)
      Entry point for server start.
    • addSyntax

      protected static String addSyntax(boolean isDevelServer, StringBuilder sb)
      Fills in the syntax.
      Parameters:
      isDevelServer - Flag for development server.
      sb - The empty or prefilled StringBuilder.
      Returns:
      The String.
    • onStartServer

      public void onStartServer() throws Throwable
      Called to initialize the server.
      Specified by:
      onStartServer in interface IServer
      Overrides:
      onStartServer in class ServerShell
      Throws:
      Throwable - for start-up errors.
    • getRootDirectory

      public String getRootDirectory()
      Gets the web server root directory.
      Returns:
      The directory, or null if web server is not started.
    • useHotDeploy

      public final boolean useHotDeploy()
      Checks if hot deploy is used for app reloads.
      Returns:
      The hot deploy enablement flag.
    • loadApplications

      public final void loadApplications() throws Throwable
      Called to load the applications. Apps are taken from command line, but this method will also load the ones from the database.
      Specified by:
      loadApplications in interface IServer
      Specified by:
      loadApplications in class ServerShell
      Throws:
      Throwable - for start-up errors.
    • onDispose

      protected void onDispose()
      Disposes of the server.
      Overrides:
      onDispose in class ServerShell
    • getWebServerMapping

      public File getWebServerMapping(String mappedFile)
      Gets the map of web server mappings for files.
      Overrides:
      getWebServerMapping in class ServerShell
      Parameters:
      mappedFile - The file to map.
      Returns:
      The mapping from String (such as "dojo.root" or "iiziRun.root") to File Returns null if not found.
    • getWebServerCompression

      public IWebServerCompression getWebServerCompression()
      Gets the web server compression interface.
      Specified by:
      getWebServerCompression in class ServerShell
      Returns:
      The instance of the interface implemented by the web server.
    • doCompressNormalHTML

      public boolean doCompressNormalHTML()
      Flag indicating the normal HTML files needs compression along with CSS minify and JS compression.

      The files are typically: iiziApp.html and iiziVSViewer.html.

      Specified by:
      doCompressNormalHTML in class ServerShell
      Returns:
      true by default, override to return false (e.g. for internal development).
    • getProxy

      public Proxy getProxy(URL url)
      Gets a proxy to use for an URL.
      Parameters:
      url - The URL.
      Returns:
      The Proxy to use.
    • configureProxy

      public void configureProxy(HttpURLConnection urlConnection)
      Configures a Http(s)URLConnection for proxy information.
      Parameters:
      urlConnection - The HttpURLConnection or HttpsURLConnection.