Class ServerConfigEnvProps
- All Implemented Interfaces:
EventListener, IGProp<GProp<?>[]>, IPropCnr, IServerConfigEnvProps, Cloneable
- Direct Known Subclasses:
EditorServerConfigEnvProps
This configuration environment defines the configuration setup for the available plug-ins. Several configuration environments may be present in a Server, e.g. "development", "test", "acceptance", "preproduction" and "production".
The environment owns the definitions of its applications (CC-FIX-APP-DEFINITIONS): the predefined ServerAppConfigs container Atom.APPS holds one ServerAppConfig per application. A file written before the container had the definitions as direct children of the environment; such a file still loads: the entries are moved into the container at load, one WARNING names the file and the entries, and the file is rewritten in the new layout when saved.
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringProperty name: Allow parallel sessions.static final StringProperty name: Allowed domains.static final StringProperty name: App session timeout.static final StringProperty name: Custom app settings.static final StringThe name of the property for Google Maps key: the key Browser clients of this environment's applications use, set in ServerAdmin's environment page or in the file; an application's definition (ServerAppConfig.KEY_GOOGLE_MAPS) and its distribution may carry a key of their own (CC-FIX-MAPS-KEY-SERVER).static final StringProperty name: Max client sessions/app session.static final StringProperty name: Require TLS.Fields inherited from class PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_IDFields inherited from class GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_ATTR_STRING_SECRET, PROP_USER_1, PROP_USER_2Fields inherited from interface IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_INCLUDE_PRIVATE, EQC_SAVE_FILE, EQC_SAVE_RELEVANT_ONLY, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATEConstructor Summary
ConstructorsConstructorDescriptionCreates the configuration environment properties without a name.ServerConfigEnvProps(Atom atom) Creates the configuration environment properties with an atom manager.Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds the predefined properties for this container: the applications container.static StringcheckKeyGoogleMaps(String key) Checks the shape of a Google Maps key, not that Google accepts it (CC-FIX-MAPS-KEY-SERVER): what ServerAdmin refuses a typed key with and what the verification of a definition reports.clone()Creates a clone out of this property.protected GProp<?> convertLoadedProp(GProp<?> childProp) Moves an application definition loaded as a direct child of the environment - the layout of a file written before the applications container - into the container (CC-FIX-APP-DEFINITIONS), and merges the predefined container's entries into a loaded container.protected ServerAppConfigsCreates the applications container, overridden by the Designer version.Gets the allowed domains that are allowed access to this environment.Gets the different domain names as String set.longGets the timeout before an app session is disposed of when no more client sessions are present, default 1 hour.protected StringGets the name of the configuration file this environment was loaded from, for the log: the server's configuration file; overridden by the Designer version.getCustomAppValue(String key) Gets a value for a key in the custom app properties.Gets the description of this configuration environment.Gets the key to use for Browser use of Google Maps: the environment's key, the fallback of every application of the environment (CC-FIX-MAPS-KEY-SERVER).getKeyGoogleMaps(String appID) Gets the key to use for Browser use of Google Maps by an application of this environment, as the configuration file alone decides it (CC-FIX-MAPS-KEY-SERVER): the key of the application's definition (ServerAppConfig.getKeyGoogleMaps()) when the deployment set one, else the environment's key.intGets the maximum number of clients sessions per app session, zero = no limit.Gets the server plug-in configurations in the environment, normally one per plug-in type.protected voidGets the references to the predefined properties after cloning or loading.Gets the applications container of this environment: the definitions of its applications.getServerApplicationSetup(String pluginID) Gets the configuration setup's for a plug-in with specified ID.booleanisDomainAccessAllowed(String domain, boolean isSecure) Checks if a domain is allowed access to this environment.booleanReturns if access to this environment requires TLS.booleanGets the flag indicating if a user is allowed to start multiple parallel sessions or if just one per user and app is allowed (default true).voidonAppSessionEndPoint(EndPointPropCnr cnr, AppSessionGyro appGyro) Called when a new end point property container is added for a server monitor instance.protected voidInvalidates a potential cache in this property.voidLogs the one WARNING of a migrated file once the tree is loaded (CC-FIX-APP-DEFINITIONS).Methods inherited from class PropCnr
__transferChildProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializePropTree, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isPropValueTreeLockNeeded, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropDispose, onPropRemoved, onReferenceEvent, onVirtualContainerCreated, onVirtualizationCompleted, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verify, verifyInternalUseOnly, verifyTree, virtualizeMethods inherited from class GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParentNoAssert, getTreeLock, hasChanged, hasCircularReferencesError, hashCode, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropErrorPersisted, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropForEditorAtCreation, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropSaveRelevant, isPropSecret, isPropSecretCapable, isPropUSER, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onInitialize, onPrepare, onPropParentChanged, onPropValueSet, onRemoteEvent, paramString, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropSecret, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toShortString, toShortString, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getRelativePropName, getRootParent, getTreeLock, hasChanged, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, isSibling, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, onRemoteEvent, removePropError, removePropListener, renameProp, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
Field Details
ALLOW_PARALLEL_SESSIONS
MAX_CLIENTS_PER_APP_SESSION
Property name: Max client sessions/app session.- See Also:
APP_TIMEOUT
CUSTOM_APP_SETTINGS
ALLOWED_DOMAINS
REQUIRE_TLS
KEY_GOOGLE_MAPS
The name of the property for Google Maps key: the key Browser clients of this environment's applications use, set in ServerAdmin's environment page or in the file; an application's definition (ServerAppConfig.KEY_GOOGLE_MAPS) and its distribution may carry a key of their own (CC-FIX-MAPS-KEY-SERVER).- See Also:
Constructor Details
ServerConfigEnvProps
public ServerConfigEnvProps()Creates the configuration environment properties without a name. The name must be set in all cases using thesetPropertyAtomcall.ServerConfigEnvProps
Creates the configuration environment properties with an atom manager.- Parameters:
atom- The atom.
Method Details
clone
Creates a clone out of this property. The cloning is overridden by the subclasses in order to handle cloning of its class variables appropriately.onPropInvalidateCache
protected void onPropInvalidateCache()Invalidates a potential cache in this property. This method is called during a synchronized state of the property.- Overrides:
onPropInvalidateCachein classGProp<GProp<?>[]>
createServerAppConfigs
Creates the applications container, overridden by the Designer version.- Returns:
- A new container named
Atom.APPS.
addPredefinedProps
Adds the predefined properties for this container: the applications container.- Overrides:
addPredefinedPropsin classPropCnr- Throws:
PropException- for property exceptions.
getPredefinedProps
protected void getPredefinedProps()Gets the references to the predefined properties after cloning or loading.- Overrides:
getPredefinedPropsin classPropCnr
getServerAppConfigs
Gets the applications container of this environment: the definitions of its applications.- Returns:
- The container, never null.
convertLoadedProp
Moves an application definition loaded as a direct child of the environment - the layout of a file written before the applications container - into the container (CC-FIX-APP-DEFINITIONS), and merges the predefined container's entries into a loaded container.- Overrides:
convertLoadedPropin classPropCnr- Parameters:
childProp- The child property that is about to be added.- Returns:
- The property to add, null when it was moved into the container.
- Throws:
PropException- for property errors.
onPropTreeInitialized
Logs the one WARNING of a migrated file once the tree is loaded (CC-FIX-APP-DEFINITIONS).- Specified by:
onPropTreeInitializedin interfaceIGProp<GProp<?>[]>- Overrides:
onPropTreeInitializedin classPropCnr- Throws:
IOException- For file errors.PropException- When there is an initialization problem.
getConfigurationFileName
Gets the name of the configuration file this environment was loaded from, for the log: the server's configuration file; overridden by the Designer version.- Returns:
- The file name, or null when unknown.
getDescription
Gets the description of this configuration environment.- Returns:
- The description, or null for none.
getPluginConfigs
Gets the server plug-in configurations in the environment, normally one per plug-in type.- Returns:
- A cached value.
getServerApplicationSetup
Gets the configuration setup's for a plug-in with specified ID. Each plug-in may present several configurations, although most commonly a single one.- Parameters:
pluginID- The plug-in ID.- Returns:
- The configuration setup, or null if plug-in configuration is not found. If the plug-in is found but no configurations, an empty array is returned.
isUserParallelSessionsAllowed
public boolean isUserParallelSessionsAllowed()Gets the flag indicating if a user is allowed to start multiple parallel sessions or if just one per user and app is allowed (default true).- Returns:
- The allow flag.
getMaxClientsPerAppSession
public int getMaxClientsPerAppSession()Gets the maximum number of clients sessions per app session, zero = no limit.- Returns:
- The value, default zero.
getAppTimeout
public long getAppTimeout()Gets the timeout before an app session is disposed of when no more client sessions are present, default 1 hour.- Returns:
- The timeout value in milliseconds.
getCustomAppValue
onAppSessionEndPoint
Called when a new end point property container is added for a server monitor instance. This is delegated to the plug-ins in the application's server environment in order to enable them to add information for the application session.- Parameters:
cnr- The container for the end point.appGyro- The application session gyro of the end point.
getAllowedDomains
Gets the allowed domains that are allowed access to this environment.- Returns:
- The domain name as e.g. "hello.example.com", or null if not associated with Let's Encrypt.
getAllowedDomainSet
isTLSRequired
public boolean isTLSRequired()Returns if access to this environment requires TLS.- Returns:
- true if secured, false if HTTP is accepted.
isDomainAccessAllowed
Checks if a domain is allowed access to this environment. It is assumed that the caller of this method already has checked the validity of the 'host' header with the domain name from the URL.- Parameters:
domain- The domain name extracted from the URL.isSecure- Flag for session secured.- Returns:
- true for access allowed, false for no access.
getKeyGoogleMaps
Gets the key to use for Browser use of Google Maps: the environment's key, the fallback of every application of the environment (CC-FIX-MAPS-KEY-SERVER). The map component asks the application's distribution first (UIMap.onInitialize), which answers the key of the application's definition in this environment when the deployment set one, else the distribution's own key, and this one when neither has one. If none is found, a Browser client shows "Google Maps key not configured" in the map.- Specified by:
getKeyGoogleMapsin interfaceIServerConfigEnvProps- Returns:
- The key for Google Maps, or
nullfor none.
getKeyGoogleMaps
Gets the key to use for Browser use of Google Maps by an application of this environment, as the configuration file alone decides it (CC-FIX-MAPS-KEY-SERVER): the key of the application's definition (ServerAppConfig.getKeyGoogleMaps()) when the deployment set one, else the environment's key. The application's distribution key, between the two for the map component, is not the file's.- Parameters:
appID- The application ID, null for none.- Returns:
- The key for Google Maps, or
nullfor none.
checkKeyGoogleMaps
Checks the shape of a Google Maps key, not that Google accepts it (CC-FIX-MAPS-KEY-SERVER): what ServerAdmin refuses a typed key with and what the verification of a definition reports. No key is not an error.- Parameters:
key- The key as typed, null or empty for none.- Returns:
- The error text, or
nullwhen the key is of the shape of a key, or none.