Class PerspectiveDesignSession
java.lang.Object
com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
com.inductiveautomation.perspective.gateway.session.SessionKernelWrapper<T>
com.inductiveautomation.perspective.gateway.session.AbstractSession<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession
- All Implemented Interfaces:
- AuditingContext,- LoggingContext,- PerspectiveElement,- PropertyTreeOwner,- Session,- InternalSession,- SessionKernel
public class PerspectiveDesignSession
extends AbstractSession<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
Implementation of 
AbstractSession which is used when the Ignition Designer is creating, running,
 and previewing Perspective Views.
 Created by pjones on 4/17/17.- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionclassListens to the gateway-wide EventBus for mutability changes to this design session, and then delegates the change to this session's EventManager for more efficient notification for bindings.Nested classes/interfaces inherited from interface com.inductiveautomation.perspective.gateway.session.InternalSessionInternalSession.PageVisitorNested classes/interfaces inherited from interface com.inductiveautomation.perspective.gateway.api.SessionSession.WebAuthStatusChangeEvent
- 
Field SummaryFields inherited from class com.inductiveautomation.perspective.gateway.session.AbstractSessionbindings, changeScripts, handlers, pages, propsFields inherited from interface com.inductiveautomation.perspective.gateway.session.InternalSessionSESSION
- 
Method SummaryModifier and TypeMethodDescriptionvoidalter(PropertyConfigChange change) voidDestroys this session and moves clients to a terminal state of closedvoidShuts down and removes the page associated with the given page ID which will disconnect the associated message channel (if one is connected).protected PropertyTreePermissionModelcreatePermissionModel(PropertyType scope, PropertyConfigCollection config) createPropertyReference(String referencePath, Consumer<PropertyTreeChangeEvent> subscriber, Set<Origin> acceptableOrigins) Create aPropertyReferencewith thisPerspectiveElementas the target.createViewModel(PageModel group, ViewInstanceId id, ViewConfig config, com.inductiveautomation.ignition.common.gson.JsonObject params) findViewConfig(String viewResourcePath) Returns aCompletableFuturethat completes to present anOptional<ViewConfig> for the specified path.Always throwsUnsupportedOperationException- it is a mistake if a code path reaches this methodprotected voidCall this when it's possible the last page has been closed.protected DesignerPageModelvoidvoidvoidonDesignerNamedQueriesChange(Map<String, NamedQuery> namedQueryMap) voidonLoginResponse(WebAuthResponseContext webAuthResponseContext) Always throwsUnsupportedOperationException- it is a mistake if a code path reaches this methodvoidonLogoutResponse(WebAuthResponseContext webAuthResponseContext) Always throwsUnsupportedOperationException- it is a mistake if a code path reaches this methodvoidsendErrorToDesigner(String message, Throwable throwable) Pipes the error message down to the designer (or no-op if this is a client)Methods inherited from class com.inductiveautomation.perspective.gateway.session.AbstractSessionbroadcast, closePage, findPage, findPropConfig, getBindingCount, getComponentCount, getKeepAliveIntervalSecs, getLocale, getOrCreatePage, getPageCount, getPageReport, getPages, getPropertyTreeOf, getTimeZoneId, getViewCount, initProperties, notifyConnected, notifyDisconnected, onKeepaliveReceived, onSessionInit, receive, refreshBinding, sendSessionKeepalive, updateSessionProps, visitPageMethods inherited from class com.inductiveautomation.perspective.gateway.session.SessionKernelWrapperclaimToken, createToken, getEventBus, getEventManager, getGson, getLastComm, getLastMessageTime, getLogger, getLogoutMessage, getPageClosedMessage, getProjectName, getSessionClosedMessage, getSessionCollection, getSessionId, getSessionInfo, getSessionStats, getStartupTime, getUptime, onHello, onShutdown, onStartup, queue, touchMethods inherited from class com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycleisRunning, shutdown, startupMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.inductiveautomation.perspective.gateway.api.AuditingContextauditMethods inherited from interface com.inductiveautomation.perspective.gateway.session.InternalSessiondestroySession, getPerspectiveContext, getProject, getTimeZone, isRunning, scope, shutdown, startupMethods inherited from interface com.inductiveautomation.perspective.gateway.api.LoggingContextmdc, mdcSetupTree, mdcTeardownTree, mdcWrapMethods inherited from interface com.inductiveautomation.perspective.gateway.api.PerspectiveElementgetAuditProfile, getQualifiedPathMethods inherited from interface com.inductiveautomation.perspective.gateway.api.SessiongetGatewayContext, getMdcParent, getName, getPage, getPageTimeout, getSession, getView, mdcSetup, mdcTeardownMethods inherited from interface com.inductiveautomation.perspective.gateway.session.SessionKernelshutdown, startup
- 
Method Details- 
alter
- 
newPage- Overrides:
- newPagein class- AbstractSession<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
 
- 
createPermissionModelprotected PropertyTreePermissionModel createPermissionModel(PropertyType scope, PropertyConfigCollection config) - Overrides:
- createPermissionModelin class- AbstractSession<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
 
- 
maybeScheduleReaperprotected void maybeScheduleReaper()Description copied from class:AbstractSessionCall this when it's possible the last page has been closed. The session will then schedule the reaper to close the session itself (runtime sessions only, designer sessions don't reap in this way)- Specified by:
- maybeScheduleReaperin class- AbstractSession<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
 
- 
getWebAuthStatus- Returns:
- the WebAuthStatusfor thisSession
 
- 
logoutAlways throwsUnsupportedOperationException- it is a mistake if a code path reaches this method- Parameters:
- message- the message to display to the user after they are logged out of this session
- Returns:
- a logout token or hint for the IdP if one is available
 
- 
onLoginResponseAlways throwsUnsupportedOperationException- it is a mistake if a code path reaches this method- Parameters:
- webAuthResponseContext- the login response object
 
- 
onLogoutResponseAlways throwsUnsupportedOperationException- it is a mistake if a code path reaches this method- Parameters:
- webAuthResponseContext- the logout response object
 
- 
createViewModelpublic ViewModel createViewModel(PageModel group, ViewInstanceId id, ViewConfig config, com.inductiveautomation.ignition.common.gson.JsonObject params) 
- 
findViewConfigDescription copied from interface:SessionReturns aCompletableFuturethat completes to present anOptional<ViewConfig> for the specified path. The use of the future is to allow for the asynch collection of configs for views which are retrieved via asynchronous processes, as is the case when a view is being edited/altered in the designer.- Parameters:
- viewResourcePath- path to the view's project resource within the project being run.
 
- 
getTagManager
- 
getTagHistoryManager
- 
getScriptManager
- 
getNamedQueryManager
- 
createPropertyReference@Nonnull public DesignerPropertyReference createPropertyReference(String referencePath, Consumer<PropertyTreeChangeEvent> subscriber, Set<Origin> acceptableOrigins) Description copied from interface:PerspectiveElementCreate aPropertyReferencewith thisPerspectiveElementas the target.- Parameters:
- referencePath- the path to the property
- subscriber- the subscriber - a- Consumerof- PropertyTreeChangeEvents
- acceptableOrigins- the- Setof- Origins in which the subscriber is interested
- Returns:
- the PropertyReference
 
- 
onDesignerNamedQueriesChange
- 
notifyScriptsModifiedpublic void notifyScriptsModified()
- 
notifyDesignerSavedpublic void notifyDesignerSaved()
- 
closeDescription copied from interface:SessionDestroys this session and moves clients to a terminal state of closed- Parameters:
- message- the message displayed to the client on the terminal state page
 
- 
closePageDescription copied from interface:InternalSessionShuts down and removes the page associated with the given page ID which will disconnect the associated message channel (if one is connected). Moves the client to a terminal state page of closed with the given message.- Specified by:
- closePagein interface- InternalSession
- Overrides:
- closePagein class- AbstractSession<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
- Parameters:
- pageId- the page ID associated with the target page
- message- the message displayed to the client on the terminal state page
 
- 
sendErrorToDesignerDescription copied from interface:SessionPipes the error message down to the designer (or no-op if this is a client)
- 
getAuditSnapshot- Specified by:
- getAuditSnapshotin interface- AuditingContext
- Overrides:
- getAuditSnapshotin class- SessionKernelWrapper<com.inductiveautomation.perspective.gateway.session.PerspectiveDesignSession.SessionKernelImpl>
- Returns:
- A new, or extended, AuditContext.Builder, with qualified information about the current scope.
 
 
-