java.lang.Object
com._1c.g5.v8.dt.platform.services.core.publication.iis.IisPublishDelegate
All Implemented Interfaces:
IWebServerPublishDelegate

public class IisPublishDelegate extends Object implements IWebServerPublishDelegate
Configures publications for IIS web server (Internet Information Service).
  • Constructor Details

    • IisPublishDelegate

      public IisPublishDelegate()
  • Method Details

    • publish

      public void publish(Publication publication, WebServer webServer, Path webExtensions) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Publish the given publication instance on the given web server. Publications can configure the web server ability to work with 1C:Enterprise web clients, mobile devices, etc.

      Publication process depends on the publication type and may be various.

      Also can register the given 1C:Enterprise runtime web extension component on the given web server. Note, that some publication types does not support working without 1C:Enterprise runtime web extension component registration.

      Specified by:
      publish in interface IWebServerPublishDelegate
      Parameters:
      publication - the publication instance to publish, cannot be null
      webServer - the web server to publish the given publication instance to, cannot be null
      webExtensions - the path to 1C:Enterprise runtime web component, or null if component publishing is not needed
      Throws:
      WebServerAccessException - if publication process fails with some reason
    • update

      public void update(Publication publication, String name, WebServer webServer, Path webExtensions) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Edit the given publication on the server. Searches publication by the given name in the target web server. Does nothing, if publication not found. Overwrite old publication properties with new values from the given publication.

      Publication process depends on the publication type and may be various.

      Also can register the given 1C:Enterprise runtime web extension component on the given web server. Note, that some publication types does not support working without 1C:Enterprise runtime web extension component registration.

      Specified by:
      update in interface IWebServerPublishDelegate
      Parameters:
      publication - the publication instance to overwrite found publication with, cannot be null
      name - of publication to edit, cannot be null or empty
      webServer - the web server to edit the given publication instance in, cannot be null
      webExtensions - the path to registered 1C:Enterprise runtime web component, or null if component publishing is not needed
      Throws:
      WebServerAccessException - if publication process fails with some reason
    • remove

      public boolean remove(WebServer webServer, Publication publication) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Removes publication with given name from given web server. Returns whether specified publication was actually removed.

      Note, that actual publication content will not be deleted, but only removed from web server configuration.

      Specified by:
      remove in interface IWebServerPublishDelegate
      Parameters:
      webServer - the web server to remove publication from, cannot be null
      publication - to remove, cannot be null, publication must contain non-null and non-empty name and location values
      Returns:
      whether if an element was removed as a result of this call
      Throws:
      WebServerAccessException - if removing fails
    • getAll

      public List<Publication> getAll(WebServer webServer) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Returns all registered on the given web server publications.
      Specified by:
      getAll in interface IWebServerPublishDelegate
      Parameters:
      webServer - web server to get publications for, cannot be null
      Returns:
      list of all registered on the given web server publications, never null
      Throws:
      WebServerAccessException - request fails
    • get

      public Publication get(WebServer webServer, String name) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Returns a publication with the given name from the given web server.
      Specified by:
      get in interface IWebServerPublishDelegate
      Parameters:
      webServer - the web server to get publication on, cannot be null
      name - of publication to get, cannot be null
      Returns:
      found publication with given name, or null if publication not found
      Throws:
      WebServerAccessException - request fails
    • contains

      public boolean contains(WebServer webServer, Publication publication) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Checks existence of a publication instance in the given web server.
      Specified by:
      contains in interface IWebServerPublishDelegate
      Parameters:
      webServer - the web server to check publication existence on, cannot be null
      publication - to check for the existence in the web server, cannot be null
      Returns:
      whether the given publication exists on the target web server
      Throws:
      WebServerAccessException - if request fails
    • isPublishSupported

      public boolean isPublishSupported(WebServer webServer, PublicationType type)
      Description copied from interface: IWebServerPublishDelegate
      Check support of publish process on the given web server instance.
      Specified by:
      isPublishSupported in interface IWebServerPublishDelegate
      Parameters:
      webServer - the web server to check publish support for, cannot be null
      type - the publication type to check, cannot be null
      Returns:
      true if web server supports publishing with the given publication type, false otherwise
    • restart

      public boolean restart(WebServer webServer) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Restart the target web server.

      Returns whether web server was successfully restarted. If delegate does not support restarting, it can return false immediately in method implementation.

      Specified by:
      restart in interface IWebServerPublishDelegate
      Returns:
      whether the web server was successfully restarted
      Throws:
      WebServerAccessException - if request fails
    • getDefaultPublicationLocation

      public Path getDefaultPublicationLocation(WebServer webServer)
      Description copied from interface: IWebServerPublishDelegate
      Returns default location for the new publications for the given web server. The default publication location is a folder, that can contain sub-folders with publications. Can return null, if not defined or web server does not support default publication location.
      Specified by:
      getDefaultPublicationLocation in interface IWebServerPublishDelegate
      Parameters:
      webServer - the web server to get default publication location for, cannot be null
      Returns:
      default location for the new publications for the given web server or null, if not defined
    • getWebExtension

      public Path getWebExtension(Publication publication, WebServer webServer) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Returns path to the registered 1C:Enterprise runtime or null if no 1C:Enterprise runtime web extension component was registered. However returned web extension may not be correctly configured and clients need to check whether web extension is configured.
      Specified by:
      getWebExtension in interface IWebServerPublishDelegate
      webServer - the web server to get default publication location for, cannot be null
      Returns:
      default location for the new publications for the given web server or null if not defined
      Throws:
      WebServerAccessException
    • isWebExtensionConfigured

      public boolean isWebExtensionConfigured(Publication publication, Path webExtension, WebServer webServer) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Returns whether the provided 1C:Enterprise runtime web extension component is correctly configured for the web server publication. If false is returned then re-publish is required for this publication with this web extension for correct work.
      Specified by:
      isWebExtensionConfigured in interface IWebServerPublishDelegate
      Parameters:
      publication - the publication to check, cannot be null
      webExtension - path to the 1C:Enterprise runtime web extension component, cannot be null
      webServer - the web server to check, cannot be null
      Returns:
      whether the provided 1C:Enterprise runtime web extension component is correctly configured for the web server publication
      Throws:
      WebServerAccessException - if request fails
    • getPublicationUrl

      public URL getPublicationUrl(WebServer webServer, String name) throws WebServerAccessException
      Description copied from interface: IWebServerPublishDelegate
      Returns URL of the publication by the provided publication name in the web server instance.
      Specified by:
      getPublicationUrl in interface IWebServerPublishDelegate
      Parameters:
      webServer - the web server to get URL for web server, cannot be null
      name - the name of publication, cannot be null or empty
      Returns:
      the URL of publication, never null
      Throws:
      WebServerAccessException - if request fails