Class LaunchContextImpl
java.lang.Object
com.inductiveautomation.ignition.client.launch.LaunchContextImpl
- All Implemented Interfaces:
LaunchContext
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.inductiveautomation.ignition.client.launch.LaunchContext
LaunchContext.WritableProject
-
Field Summary
Fields inherited from interface com.inductiveautomation.ignition.client.launch.LaunchContext
CONDENSED_FONT_ATTRIBUTE, FRAMEWORK_ATTRIBUTE, SSO_PASSWORD, SSO_USERNAME
-
Constructor Summary
ConstructorsConstructorDescriptionLaunchContextImpl
(ResourceBundle bundle, LaunchSpec spec, File cacheDir, LaunchParent parent, Map<String, Object> attributes) -
Method Summary
Modifier and TypeMethodDescription<T> T
getAttribute
(String key) A free-for-all map of objects that clients can use to communicate between launches.<T> T
getAttribute
(String key, T defaultValue) Retrieves the raw attribute mapThe base of the cache dirs: %USER_HOME%/.ignition/cache/Currently should return an empty list if edition is not edge.The actual cache directory for the specific gateway that we ended up connecting to.This LaunchManifest is downloaded from the gateway during ConnectStep.getLog()
A PrintWriter that steps can use to log their progress.The name of the class that should be started during StartupStepThe platform edition.This is the project snapshot that we can send to the gw to get changes.The name of the project.The base of the cached resources: %USER_HOME%/.ignition/cache/resources/Returns the location of the cached translation term db file.byte[]
Returns a serialized user object (if any) that was passed as part of a restartvoid
A shortcut for:void
setAttribute
(String key, Object value) void
setDownloadRequiredManifest
(LaunchManifest downloadRequiredManifest) void
setGatewayAddress
(GatewayAddress gatewayAddress) void
setGatewayAddresses
(List<GatewayAddress> gatewayAddresses) void
setGwCacheDir
(File gwCacheDir) void
setLaunchManifest
(LaunchManifest launchManifest) void
setTranDBLocation
(File tranDBLocation) void
Updates the cache with a list of gateway addresses that will be available for use next time this project is loaded.void
This overload of updateProjectCache takes a WriteableProject, which lets the project be streamed.
-
Constructor Details
-
LaunchContextImpl
public LaunchContextImpl(ResourceBundle bundle, LaunchSpec spec, File cacheDir, LaunchParent parent, Map<String, Object> attributes) throws LaunchException- Throws:
LaunchException
-
-
Method Details
-
getScopeCode
- Specified by:
getScopeCode
in interfaceLaunchContext
- Returns:
- "C" for client, "D" for designer
-
getBundle
-
getCacheDir
Description copied from interface:LaunchContext
The base of the cache dirs: %USER_HOME%/.ignition/cache/- Specified by:
getCacheDir
in interfaceLaunchContext
-
getResourceDir
Description copied from interface:LaunchContext
The base of the cached resources: %USER_HOME%/.ignition/cache/resources/- Specified by:
getResourceDir
in interfaceLaunchContext
-
log
Description copied from interface:LaunchContext
A shortcut for:getLog().printf(message, args); getLog().println();
- Specified by:
log
in interfaceLaunchContext
-
getLog
Description copied from interface:LaunchContext
A PrintWriter that steps can use to log their progress. Under normal conditions, this log is echoed to System.out. However, if an error ever occurs during the launch procedure, the entire contents of the log will be written to a launch crash file under the user's cache dir.- Specified by:
getLog
in interfaceLaunchContext
-
getLogContents
-
getTranslationDBLocation
Description copied from interface:LaunchContext
Returns the location of the cached translation term db file. The file will be in the form of "XXX_e{d}_v{d}.dat". The "e{d}" is the edit version, the "v{d}" is the serialization version.- Specified by:
getTranslationDBLocation
in interfaceLaunchContext
-
setTranDBLocation
-
getLaunchManifest
Description copied from interface:LaunchContext
This LaunchManifest is downloaded from the gateway during ConnectStep. It describes all JAR files that will we'll need to start up the app of this context, including their CRC32 checksums. Will only be set after ConnectStep finishes.- Specified by:
getLaunchManifest
in interfaceLaunchContext
-
setLaunchManifest
-
getDownloadRequiredManifest
-
setDownloadRequiredManifest
-
getGwCacheDir
Description copied from interface:LaunchContext
The actual cache directory for the specific gateway that we ended up connecting to. Only set after CacheStep runs. %USER_HOME%/.ignition/cache/gwHOST_HTTP_HTTPS_CONTEXT/Cx where "x" is the client ID that this JVM has claimed. Each JVM gets its own cache dir so that the they don't step on each other's toes when downloading/modifying jar files.- Specified by:
getGwCacheDir
in interfaceLaunchContext
-
setGwCacheDir
-
getMainClass
Description copied from interface:LaunchContext
The name of the class that should be started during StartupStep- Specified by:
getMainClass
in interfaceLaunchContext
-
getGatewayAddresses
- Specified by:
getGatewayAddresses
in interfaceLaunchContext
-
setGatewayAddresses
-
updateGatewayAddressListCache
Description copied from interface:LaunchContext
Updates the cache with a list of gateway addresses that will be available for use next time this project is loaded. Should be update when the client receives notification that new cluster gateways have been added- Specified by:
updateGatewayAddressListCache
in interfaceLaunchContext
-
getGatewayAddress
- Specified by:
getGatewayAddress
in interfaceLaunchContext
-
setGatewayAddress
-
getProjectName
Description copied from interface:LaunchContext
The name of the project. May not be used in all scopes- Specified by:
getProjectName
in interfaceLaunchContext
-
getPlatformEdition
Description copied from interface:LaunchContext
The platform edition. Standard edition = "", Edge edition = "edge"- Specified by:
getPlatformEdition
in interfaceLaunchContext
-
getEdgeFlags
Description copied from interface:LaunchContext
Currently should return an empty list if edition is not edge.- Specified by:
getEdgeFlags
in interfaceLaunchContext
-
getProjectCacheFile
- Specified by:
getProjectCacheFile
in interfaceLaunchContext
-
getProjectCacheChkFile
- Specified by:
getProjectCacheChkFile
in interfaceLaunchContext
-
getProjectCacheSignatureFile
This is the project snapshot that we can send to the gw to get changes. -
updateProjectCache
Description copied from interface:LaunchContext
This overload of updateProjectCache takes a WriteableProject, which lets the project be streamed. We cannot remove the old byte[] version, because of re-targeting compatibility.- Specified by:
updateProjectCache
in interfaceLaunchContext
- Throws:
IOException
-
getParent
- Specified by:
getParent
in interfaceLaunchContext
-
getUserObject
public byte[] getUserObject()Description copied from interface:LaunchContext
Returns a serialized user object (if any) that was passed as part of a restart- Specified by:
getUserObject
in interfaceLaunchContext
-
getAttribute
Description copied from interface:LaunchContext
A free-for-all map of objects that clients can use to communicate between launches. Beware that one should only store types is this map that are loaded by the system classloader - not custom objects. Any custom objects should be serialized to a byte[] first.- Specified by:
getAttribute
in interfaceLaunchContext
-
getAttribute
- Specified by:
getAttribute
in interfaceLaunchContext
-
setAttribute
- Specified by:
setAttribute
in interfaceLaunchContext
-
getAttributes
Description copied from interface:LaunchContext
Retrieves the raw attribute map- Specified by:
getAttributes
in interfaceLaunchContext
-