Class AbstractGatewayConnection
- java.lang.Object
-
- com.inductiveautomation.ignition.client.gateway_interface.AbstractGatewayConnection
-
- All Implemented Interfaces:
GatewayConnection,GatewayInterface.GatewayExceptionMonitor,PushNotificationListener,GatewayConstants,java.util.EventListener
- Direct Known Subclasses:
ClientGatewayConnection,DesignerGatewayConnection
public abstract class AbstractGatewayConnection extends java.lang.Object implements GatewayConstants, GatewayConnection, PushNotificationListener, GatewayInterface.GatewayExceptionMonitor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractGatewayConnection.UnrecoverableIdpAuthSessionException
-
Field Summary
Fields Modifier and Type Field Description protected java.beans.PropertyChangeSupportchangeSupportstatic java.lang.StringCONNECT_FAILstatic java.lang.StringCONNECT_SUCCESSstatic java.lang.StringCONNECT_UNKNOWNstatic java.lang.StringCONNECTINGprotected intconnectTimeoutprotected HttpURLcurrentAddressThe current address that we are communicating withprotected java.util.List<HttpURL>gatewayAddressesA list of all gateway addresses that were passed in.protected java.lang.StringgatewayNodeRoleprotected java.util.TimeZonegatewayTimeZonestatic java.lang.StringGET_ADDRESSES_ERRORprotected ScopeVersionHashhashprotected inthttpConcurrencystatic java.lang.StringINDEPENDENTprotected LaunchContextlaunchContextprotected javax.swing.event.EventListenerListlistenerListprotected static org.apache.log4j.Loggerlogstatic java.util.Map<java.lang.Integer,java.lang.String>LOGGER_STATUS_LOOKUPUsed for internal logging ONLY.static java.lang.StringNEW_ADDRESSESstatic java.lang.StringNO_NEW_ADDRESSESstatic java.lang.StringNON_ACTIVEprotected intopcBrowseTimeoutstatic java.lang.StringREDUNDANT_BACKUPstatic java.lang.StringREDUNDANT_MASTERstatic java.lang.StringRELOGINprotected intsocketTimeoutstatic intSTATUS_CONNECT_FAILstatic intSTATUS_CONNECT_INACTIVEstatic intSTATUS_CONNECT_UNKNOWNstatic intSTATUS_CONNECT_WARNINGstatic intSTATUS_CONNECTEDstatic intSTATUS_CONNECTED_INCOMPATIBLEstatic intSTATUS_CONNECTING-
Fields inherited from interface com.inductiveautomation.ignition.common.gateway.GatewayConstants
_DATE_FORMATTER, ARG_MESSAGETYPE, ARG_MODULEID, ATR_INDEX, ATR_LENGTH, ATR_NAME, ATR_TYPE, booleanNull, byteNull, charNull, DATE_FORMAT_STRING, doubleNull, ELM_ARG, ELM_COLLIST, ELM_COLUMN, ELM_COMPRESSEDROWS, ELM_DATA, ELM_ERRORCODE, ELM_ERRORMESSAGE, ELM_EXCLS, ELM_EXMSG, ELM_EXOVERRIDES_TOSTRING, ELM_EXSTRING, ELM_MBODY, ELM_MESSAGE, ELM_MTYPE, ELM_NOTIFICATION, ELM_NOTIFICATIONS, ELM_RESPONSE, ELM_ROW, ELM_ROWS, ELM_SERIALIZED_RESPONSE, ELM_SETCOOKIE, ELM_STACKTRACE, ELM_STELM, ELM_STELM_DECL, ELM_STELM_FILE, ELM_STELM_LINE, ELM_STELM_METH, ERRNO_ASYNC_CALL, ERRNO_ASYNC_CALL_CANCELED, ERRNO_ASYNC_CALL_FAILED, ERRNO_BROWSE_ERROR, ERRNO_COMM_ERROR, ERRNO_CONNECTION_MODE, ERRNO_DBCONNECTION_NAMING, ERRNO_DBCONNECTION_SQL, ERRNO_HISTORY_QUERY_ERROR, ERRNO_INSECURE_REDIRECT, ERRNO_INTERNAL, ERRNO_INVALIDARGS, ERRNO_INVOCATION_EXCEPTION, ERRNO_LICENE_RESTRICTED, ERRNO_LOGIN_CANCELLED, ERRNO_LOGIN_FAILED, ERRNO_LOGIN_FAILED_LICENSING, ERRNO_NAMING, ERRNO_NO_SESSION, ERRNO_NON_ACTIVE_NODE, ERRNO_NON_MASTER_NODE, ERRNO_NOT_AUTHORIZED, ERRNO_NOTIMP, ERRNO_OK, ERRNO_PARSE, ERRNO_PASSWORD_EXPIRED, ERRNO_PONG, ERRNO_POST_ERROR, ERRNO_PROJECT_PULL, ERRNO_PROJECT_PUSH, ERRNO_RUNTIME_EXPIRED, ERRNO_SQL, ERRNO_SQLTAGS_PROVIDER_DISABLED, ERRNO_SQLTAGS_PROVIDER_FAULTED, ERRNO_SQLTAGS_PROVIDER_LOADING, ERRNO_SQLTAGS_PROVIDER_MISSING, ERRNO_SQLTAGS_SEND_TAGS, ERRNO_SSL_REQUIRED, ERRNO_TIMEOUT, ERRNO_TRIAL_EXPIRED, ERRNO_VERSION_INCOMPATABILITY, ERROR_MESSAGE_TYPE, floatNull, intNull, longNull, MODE_DISCONNECTED, MODE_FULL, MODE_READ_ONLY, MTYPE_COPY_IMAGE, MTYPE_CREATE_IMAGE_FOLDER, MTYPE_DBTEST, MTYPE_GET_NEW_RESOURCEID, MTYPE_INVALID, MTYPE_INVOKE_FUNCTION, MTYPE_LIST_AUTHS, MTYPE_LIST_COLS, MTYPE_LIST_DBS, MTYPE_LIST_IDPS, MTYPE_LIST_IMAGES, MTYPE_LIST_MODULES, MTYPE_LIST_ROLES, MTYPE_LIST_SECURITY_LEVELS, MTYPE_LIST_SQLTAG_PROVIDERS, MTYPE_LIST_TABLES, MTYPE_LIST_ZONES, MTYPE_PING, MTYPE_PLATFORM_EDITION, MTYPE_PUBLIC_PING, MTYPE_REMOVE_IMAGE, MTYPE_RENAME_IMAGE_FOLDER, MTYPE_REPORT_ERROR, MTYPE_SEND_EMAIL, MTYPE_SQLTAGS_ADD_SCANCLASS, MTYPE_SQLTAGS_ADD_TAGS, MTYPE_SQLTAGS_EDIT_SCANCLASS, MTYPE_SQLTAGS_EDIT_TAGS, MTYPE_SQLTAGS_ERROR_LIST, MTYPE_SQLTAGS_FSQL_BROWSE, MTYPE_SQLTAGS_FSQL_LIST, MTYPE_SQLTAGS_GET_SCANCLASS, MTYPE_SQLTAGS_LIST, MTYPE_SQLTAGS_META_LIST, MTYPE_SQLTAGS_POLL, MTYPE_SQLTAGS_REMOVE_SCANCLASS, MTYPE_SQLTAGS_REMOVE_TAGS, MTYPE_SQLTAGS_WRITE, MTYPE_STATUS_POLL, MTYPE_UPLOAD_IMAGE, MTYPE_VERSION_CHECK, PROTECT_DIALOG_TYPE, shortNull, WARNING_MESSAGE_TYPE
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractGatewayConnection(LaunchContext launchContext)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddConnectionListener(ConnectionListener listener)voidaddConnectionStatusListener(ConnectionStatusListener listener)Different from the ConnectionListener in the sense that this listener is intended for use in redundant setups, where the status of the inactive connection must be updated along with the status of the active connection.voidaddPropertyChangeListener(java.beans.PropertyChangeListener l)voidaddPropertyChangeListener(java.lang.String propName, java.beans.PropertyChangeListener l)voidaddPushNotificationListener(PushNotificationListener listener)voidconnect(java.util.List<HttpURL> gatewayURLs)Connect to the gateway(s) specifiedvoiddisconnect()protected abstract AuthenticatedUserdoIdpLoginFinish(java.lang.String projectName)protected abstract AuthenticatedUserdoLogin(GatewayInterface gatewayInterface, java.lang.String projectName, AuthChallenge challenge)protected voidfireConnectionEvent(java.lang.String message)protected voidfireConnectionEvent(java.lang.String messageLookup, HttpURL gatewayAddr, boolean appendGatewayAddr)Overloaded method to allow a gateway's connection status to be updated.protected voidfireConnectionEvent(java.lang.String messageLookup, HttpURL gatewayAddr, java.lang.Exception ex, boolean appendGatewayAddr)Overloaded method to allow a gateway's connection status to be updated.protected voidfirePushNotification(PushNotification n)protected voidfishForAliveServer(boolean reLogin)Synchronized method- Tests communication with known servers, and sets the gateway interface to the first gateway that in can connect to.java.util.List<HttpURL>getAllAddresses()Returns a list of all possible Gateway addresses that are known to the client.AuthChallengegetAuthChallenge()The encrypted auth challenge that was used to log inintgetConnectionMode()Returns the current connection mode: MODE_FULL MODE_READ_ONLY MODE_DISCONNECTEDintgetConnectTimeout()java.lang.StringgetEdgeProjectName()HttpURLgetGatewayAddress()Returns the address of the gateway that is currently being communicated with.GatewayInterfacegetGatewayInterface()java.lang.StringgetGatewayNodeRole()Returns the string version of the currently connected gateway's "Node Role", which will be one of: Independent Master Backupjava.util.TimeZonegetGatewayTimeZone()java.lang.StringgetGatewayWebURL()Returns the url to the web portion of the gateway, like "http[s]://<address>:<port>[/context]"intgetHttpConcurrency()The number of concurrent HTTP connections allowed.intgetOpcBrowseTimeout()java.lang.StringgetPlatformEdition()Platform edition.java.lang.StringgetProjectName()The name of the project that we are currently logged into, if any.java.util.List<java.lang.String>getRoles()The set of roles that the actively logged in user has, if any.java.lang.StringgetScheme()Returns "http" or "https" depending on our transport schemeprotected abstract intgetScope()Returns the scope for this connection.java.util.List<java.lang.String>getSecurityZones()The set of security zones that the actively logged in user has, if any.intgetSocketTimeout()java.lang.StringgetUsername()The username of the actively logged in user, if any.AuthenticatedUseridpLoginFinish(java.lang.String projectName)booleanisConnected()Whether or not we are currently supposed to be in a connected state.static booleanisConnectionRelated(java.lang.Exception ex)booleanisConnectionUp()booleanisLoggedIn()booleanisSessionValid()AuthenticatedUserlogin(java.lang.String projectName, AuthChallenge challenge)voidlogout()protected GatewayInterfacenewGatewayInterface(HttpURL addr)Creates a new GatewayInterface for the given URL, settings its connect and socket timeouts appropriatelyvoidnotifyGatewayException(GatewayException ex)protected abstract voidonUnrecoverableIdpAuthSession()protected abstract voidonVersionMismatch()Called when the version is detected to have changed on the gateway.voidreceiveNotification(PushNotification notification)voidremoveConnectionListener(ConnectionListener listener)voidremoveConnectionStatusListener(ConnectionStatusListener listener)voidremovePropertyChangeListener(java.beans.PropertyChangeListener l)voidremovePropertyChangeListener(java.lang.String propName, java.beans.PropertyChangeListener l)voidremovePushNotificationListener(PushNotificationListener listener)voidremovePushNotificationListeners(java.lang.Class<?> c)Removes all PushNotificationListeners that are of same class as the passed class.protected voidsetConnected(boolean connected)voidsetConnectionMode(int connectionMode)protected voidsetConnectionUp(boolean connectionUp)Synchronized methodvoidsetConnectTimeout(int connectTimeout)protected voidsetGatewayInterface(GatewayInterface gi)Sets the new gateway interface, and adds this as a gateway exception listener and a push notification listener.voidsetHttpConcurrency(int concurrency)protected voidsetIndependentAddressList(java.util.List<HttpURL> addresses, boolean reLogin)voidsetOpcBrowseTimeout(int opcBrowseTimeout)protected voidsetProjectName(java.lang.String projectName)voidsetSocketTimeout(int socketTimeout)protected java.lang.StringtoString(HttpURL url)Returns the HttpURL with the correct security scheme, like: "https://myserver:443/ContextPath"voidtriggerConnectionStatusListeners()Manually update the status of all connection listeners.protected booleantryToLogin()voidupdateBackupAddresses(java.util.List<HttpURL> list)Synchronized methodvoidupdateGatewayMetaInfo()Updates the gateway timezone and role infovoidupdateMasterAddresses(java.util.List<HttpURL> list)Synchronized method-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.client.gateway_interface.GatewayConnection
idpLoginStart
-
-
-
-
Field Detail
-
REDUNDANT_MASTER
public static final java.lang.String REDUNDANT_MASTER
-
REDUNDANT_BACKUP
public static final java.lang.String REDUNDANT_BACKUP
-
INDEPENDENT
public static final java.lang.String INDEPENDENT
- See Also:
- Constant Field Values
-
CONNECT_UNKNOWN
public static final java.lang.String CONNECT_UNKNOWN
- See Also:
- Constant Field Values
-
CONNECTING
public static final java.lang.String CONNECTING
- See Also:
- Constant Field Values
-
CONNECT_SUCCESS
public static final java.lang.String CONNECT_SUCCESS
- See Also:
- Constant Field Values
-
CONNECT_FAIL
public static final java.lang.String CONNECT_FAIL
- See Also:
- Constant Field Values
-
RELOGIN
public static final java.lang.String RELOGIN
- See Also:
- Constant Field Values
-
NON_ACTIVE
public static final java.lang.String NON_ACTIVE
- See Also:
- Constant Field Values
-
NEW_ADDRESSES
public static final java.lang.String NEW_ADDRESSES
- See Also:
- Constant Field Values
-
NO_NEW_ADDRESSES
public static final java.lang.String NO_NEW_ADDRESSES
- See Also:
- Constant Field Values
-
GET_ADDRESSES_ERROR
public static final java.lang.String GET_ADDRESSES_ERROR
- See Also:
- Constant Field Values
-
STATUS_CONNECT_UNKNOWN
public static final int STATUS_CONNECT_UNKNOWN
- See Also:
- Constant Field Values
-
STATUS_CONNECTING
public static final int STATUS_CONNECTING
- See Also:
- Constant Field Values
-
STATUS_CONNECTED
public static final int STATUS_CONNECTED
- See Also:
- Constant Field Values
-
STATUS_CONNECT_FAIL
public static final int STATUS_CONNECT_FAIL
- See Also:
- Constant Field Values
-
STATUS_CONNECT_INACTIVE
public static final int STATUS_CONNECT_INACTIVE
- See Also:
- Constant Field Values
-
STATUS_CONNECTED_INCOMPATIBLE
public static final int STATUS_CONNECTED_INCOMPATIBLE
- See Also:
- Constant Field Values
-
STATUS_CONNECT_WARNING
public static final int STATUS_CONNECT_WARNING
- See Also:
- Constant Field Values
-
log
protected static final org.apache.log4j.Logger log
-
LOGGER_STATUS_LOOKUP
public static final java.util.Map<java.lang.Integer,java.lang.String> LOGGER_STATUS_LOOKUP
Used for internal logging ONLY. Do not use to display messages to the user, as these strings are not internationalized.
-
connectTimeout
protected int connectTimeout
-
socketTimeout
protected int socketTimeout
-
opcBrowseTimeout
protected int opcBrowseTimeout
-
httpConcurrency
protected int httpConcurrency
-
changeSupport
protected java.beans.PropertyChangeSupport changeSupport
-
listenerList
protected javax.swing.event.EventListenerList listenerList
-
currentAddress
protected HttpURL currentAddress
The current address that we are communicating with
-
gatewayAddresses
protected java.util.List<HttpURL> gatewayAddresses
A list of all gateway addresses that were passed in. The client starts in independent mode and cycles thru these addresses in the fishForAliveServer() method. The addresses are used later if a version mismatch exception is thrown when reconnecting to a gateway. Redundant master and backup addresses are not maintained in this list. They are held in the potentialMasterList and potentialBackup list respectively.
-
launchContext
protected LaunchContext launchContext
-
gatewayTimeZone
protected java.util.TimeZone gatewayTimeZone
-
gatewayNodeRole
protected java.lang.String gatewayNodeRole
-
hash
protected ScopeVersionHash hash
-
-
Constructor Detail
-
AbstractGatewayConnection
protected AbstractGatewayConnection(LaunchContext launchContext)
-
-
Method Detail
-
connect
public void connect(java.util.List<HttpURL> gatewayURLs)
Description copied from interface:GatewayConnectionConnect to the gateway(s) specified- Specified by:
connectin interfaceGatewayConnection
-
disconnect
public void disconnect()
- Specified by:
disconnectin interfaceGatewayConnection
-
setIndependentAddressList
protected void setIndependentAddressList(java.util.List<HttpURL> addresses, boolean reLogin) throws AbstractGatewayConnection.UnrecoverableIdpAuthSessionException, VersionMismatchException
-
newGatewayInterface
protected GatewayInterface newGatewayInterface(HttpURL addr)
Creates a new GatewayInterface for the given URL, settings its connect and socket timeouts appropriately
-
getScope
protected abstract int getScope()
Returns the scope for this connection. Used to create an accurate version hash.
-
updateMasterAddresses
public void updateMasterAddresses(java.util.List<HttpURL> list)
Synchronized method
-
updateBackupAddresses
public void updateBackupAddresses(java.util.List<HttpURL> list)
Synchronized method
-
fishForAliveServer
protected void fishForAliveServer(boolean reLogin) throws AbstractGatewayConnection.UnrecoverableIdpAuthSessionException, VersionMismatchExceptionSynchronized method- Tests communication with known servers, and sets the gateway interface to the first gateway that in can connect to. For redundant connections, this method also sets the gateway interface to either the last known master or the last known backup in a connection failure scenario. The connection status of the master and the backup is determined in a separate thread in the RedundancyMonitorTask.
-
tryToLogin
protected boolean tryToLogin() throws AbstractGatewayConnection.UnrecoverableIdpAuthSessionException
-
setGatewayInterface
protected void setGatewayInterface(GatewayInterface gi)
Sets the new gateway interface, and adds this as a gateway exception listener and a push notification listener. Also updates the gateway timezone.
-
updateGatewayMetaInfo
public void updateGatewayMetaInfo()
Updates the gateway timezone and role info
-
getGatewayNodeRole
public java.lang.String getGatewayNodeRole()
Description copied from interface:GatewayConnectionReturns the string version of the currently connected gateway's "Node Role", which will be one of:- Independent
- Master
- Backup
- Specified by:
getGatewayNodeRolein interfaceGatewayConnection
-
doLogin
protected abstract AuthenticatedUser doLogin(GatewayInterface gatewayInterface, java.lang.String projectName, AuthChallenge challenge) throws GatewayException
- Throws:
GatewayException
-
login
public AuthenticatedUser login(java.lang.String projectName, AuthChallenge challenge) throws GatewayException
- Specified by:
loginin interfaceGatewayConnection- Throws:
GatewayException
-
doIdpLoginFinish
protected abstract AuthenticatedUser doIdpLoginFinish(java.lang.String projectName) throws GatewayException
- Throws:
GatewayException
-
idpLoginFinish
@Nullable public AuthenticatedUser idpLoginFinish(java.lang.String projectName) throws GatewayException
- Specified by:
idpLoginFinishin interfaceGatewayConnection- Throws:
GatewayException
-
logout
public void logout()
- Specified by:
logoutin interfaceGatewayConnection
-
setConnectionUp
protected void setConnectionUp(boolean connectionUp)
Synchronized method
-
onVersionMismatch
protected abstract void onVersionMismatch()
Called when the version is detected to have changed on the gateway. Connection will be closed at this point.
-
onUnrecoverableIdpAuthSession
protected abstract void onUnrecoverableIdpAuthSession()
-
notifyGatewayException
public void notifyGatewayException(GatewayException ex)
- Specified by:
notifyGatewayExceptionin interfaceGatewayInterface.GatewayExceptionMonitor
-
receiveNotification
public void receiveNotification(PushNotification notification)
- Specified by:
receiveNotificationin interfacePushNotificationListener
-
isConnectionRelated
public static boolean isConnectionRelated(java.lang.Exception ex)
-
getConnectionMode
public int getConnectionMode()
Description copied from interface:GatewayConnectionReturns the current connection mode:- MODE_FULL
- MODE_READ_ONLY
- MODE_DISCONNECTED
- Specified by:
getConnectionModein interfaceGatewayConnection
-
setConnectionMode
public void setConnectionMode(int connectionMode)
- Specified by:
setConnectionModein interfaceGatewayConnection
-
getAllAddresses
public java.util.List<HttpURL> getAllAddresses()
Description copied from interface:GatewayConnectionReturns a list of all possible Gateway addresses that are known to the client. This list includes redundant master and backup addresses. The list is used for client restarts.- Specified by:
getAllAddressesin interfaceGatewayConnection
-
getGatewayAddress
public HttpURL getGatewayAddress()
Description copied from interface:GatewayConnectionReturns the address of the gateway that is currently being communicated with.- Specified by:
getGatewayAddressin interfaceGatewayConnection
-
getGatewayInterface
public GatewayInterface getGatewayInterface()
- Specified by:
getGatewayInterfacein interfaceGatewayConnection
-
getGatewayWebURL
public java.lang.String getGatewayWebURL()
Description copied from interface:GatewayConnectionReturns the url to the web portion of the gateway, like "http[s]://<address>:<port>[/context]"- Specified by:
getGatewayWebURLin interfaceGatewayConnection
-
getScheme
public java.lang.String getScheme()
Description copied from interface:GatewayConnectionReturns "http" or "https" depending on our transport scheme- Specified by:
getSchemein interfaceGatewayConnection
-
getGatewayTimeZone
public java.util.TimeZone getGatewayTimeZone()
- Specified by:
getGatewayTimeZonein interfaceGatewayConnection
-
isConnectionUp
public boolean isConnectionUp()
- Specified by:
isConnectionUpin interfaceGatewayConnection
-
isSessionValid
public boolean isSessionValid()
- Specified by:
isSessionValidin interfaceGatewayConnection
-
isConnected
public boolean isConnected()
Whether or not we are currently supposed to be in a connected state. If this is true and connectionUp is false, then we are reconnecting- Specified by:
isConnectedin interfaceGatewayConnection
-
setConnected
protected void setConnected(boolean connected)
-
toString
protected java.lang.String toString(HttpURL url)
Returns the HttpURL with the correct security scheme, like: "https://myserver:443/ContextPath"
-
addPushNotificationListener
public void addPushNotificationListener(PushNotificationListener listener)
- Specified by:
addPushNotificationListenerin interfaceGatewayConnection
-
removePushNotificationListener
public void removePushNotificationListener(PushNotificationListener listener)
- Specified by:
removePushNotificationListenerin interfaceGatewayConnection
-
removePushNotificationListeners
public void removePushNotificationListeners(java.lang.Class<?> c)
Removes all PushNotificationListeners that are of same class as the passed class.- Specified by:
removePushNotificationListenersin interfaceGatewayConnection- Parameters:
c- The type of listener to remove
-
firePushNotification
protected void firePushNotification(PushNotification n)
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
- Specified by:
addPropertyChangeListenerin interfaceGatewayConnection
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
- Specified by:
removePropertyChangeListenerin interfaceGatewayConnection
-
addPropertyChangeListener
public void addPropertyChangeListener(java.lang.String propName, java.beans.PropertyChangeListener l)- Specified by:
addPropertyChangeListenerin interfaceGatewayConnection
-
removePropertyChangeListener
public void removePropertyChangeListener(java.lang.String propName, java.beans.PropertyChangeListener l)- Specified by:
removePropertyChangeListenerin interfaceGatewayConnection
-
addConnectionListener
public void addConnectionListener(ConnectionListener listener)
- Specified by:
addConnectionListenerin interfaceGatewayConnection
-
removeConnectionListener
public void removeConnectionListener(ConnectionListener listener)
- Specified by:
removeConnectionListenerin interfaceGatewayConnection
-
fireConnectionEvent
protected void fireConnectionEvent(java.lang.String messageLookup, HttpURL gatewayAddr, boolean appendGatewayAddr)Overloaded method to allow a gateway's connection status to be updated. A BundleUtil lookup is made to get the actual string from the passed lookup. Be sure that the actual string returned from lookup contains at least one '%s' to display the gateway address. This method will also update the internal masterConnectionStatus and backupConnectionStatus variables for redundant systems, and the connectionStatus variable for independent systems.
-
fireConnectionEvent
protected void fireConnectionEvent(java.lang.String messageLookup, HttpURL gatewayAddr, java.lang.Exception ex, boolean appendGatewayAddr)Overloaded method to allow a gateway's connection status to be updated. A BundleUtil lookup is made to get the actual string from the passed lookup. Be sure that the actual string returned from lookup contains at least one '%s' to display the gateway address. This method will also update the internal masterConnectionStatus and backupConnectionStatus variables for redundant systems, and the connectionStatus variable for independent systems.- Parameters:
messageLookup- the String to pass to BundleUtil.get(), such as "GatewayConnectionManager.TestingWith"gatewayAddr- the Gateway HttpURL used in the connection eventex- exception that has just occurred. Pass in null if there were no exceptions thrown.
-
fireConnectionEvent
protected void fireConnectionEvent(java.lang.String message)
-
isLoggedIn
public boolean isLoggedIn()
-
getProjectName
public java.lang.String getProjectName()
Description copied from interface:GatewayConnectionThe name of the project that we are currently logged into, if any.- Specified by:
getProjectNamein interfaceGatewayConnection
-
getUsername
public java.lang.String getUsername()
Description copied from interface:GatewayConnectionThe username of the actively logged in user, if any.- Specified by:
getUsernamein interfaceGatewayConnection
-
getAuthChallenge
public AuthChallenge getAuthChallenge()
Description copied from interface:GatewayConnectionThe encrypted auth challenge that was used to log in- Specified by:
getAuthChallengein interfaceGatewayConnection
-
getRoles
public java.util.List<java.lang.String> getRoles()
Description copied from interface:GatewayConnectionThe set of roles that the actively logged in user has, if any.- Specified by:
getRolesin interfaceGatewayConnection
-
getSecurityZones
public java.util.List<java.lang.String> getSecurityZones()
Description copied from interface:GatewayConnectionThe set of security zones that the actively logged in user has, if any.- Specified by:
getSecurityZonesin interfaceGatewayConnection
-
getConnectTimeout
public int getConnectTimeout()
- Specified by:
getConnectTimeoutin interfaceGatewayConnection
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout)
- Specified by:
setConnectTimeoutin interfaceGatewayConnection
-
getSocketTimeout
public int getSocketTimeout()
- Specified by:
getSocketTimeoutin interfaceGatewayConnection
-
setSocketTimeout
public void setSocketTimeout(int socketTimeout)
- Specified by:
setSocketTimeoutin interfaceGatewayConnection
-
getOpcBrowseTimeout
public int getOpcBrowseTimeout()
- Specified by:
getOpcBrowseTimeoutin interfaceGatewayConnection
-
setOpcBrowseTimeout
public void setOpcBrowseTimeout(int opcBrowseTimeout)
- Specified by:
setOpcBrowseTimeoutin interfaceGatewayConnection
-
getHttpConcurrency
public int getHttpConcurrency()
Description copied from interface:GatewayConnectionThe number of concurrent HTTP connections allowed. 0 or less means unlimited.- Specified by:
getHttpConcurrencyin interfaceGatewayConnection
-
setHttpConcurrency
public void setHttpConcurrency(int concurrency)
- Specified by:
setHttpConcurrencyin interfaceGatewayConnection
-
setProjectName
protected void setProjectName(java.lang.String projectName)
-
addConnectionStatusListener
public void addConnectionStatusListener(ConnectionStatusListener listener)
Description copied from interface:GatewayConnectionDifferent from the ConnectionListener in the sense that this listener is intended for use in redundant setups, where the status of the inactive connection must be updated along with the status of the active connection. The passed ConnectionStatusListener will be continually updated with master/independent and backup connection status every few seconds.- Specified by:
addConnectionStatusListenerin interfaceGatewayConnection
-
removeConnectionStatusListener
public void removeConnectionStatusListener(ConnectionStatusListener listener)
- Specified by:
removeConnectionStatusListenerin interfaceGatewayConnection
-
triggerConnectionStatusListeners
public void triggerConnectionStatusListeners()
Description copied from interface:GatewayConnectionManually update the status of all connection listeners. Use this in situations where listeners need an immediate update without waiting for the normal thread task to fire (such as when first displaying a status panel).- Specified by:
triggerConnectionStatusListenersin interfaceGatewayConnection
-
getPlatformEdition
public java.lang.String getPlatformEdition()
Description copied from interface:GatewayConnectionPlatform edition. Standard edition = "", Edge edition = "edge"- Specified by:
getPlatformEditionin interfaceGatewayConnection
-
getEdgeProjectName
public java.lang.String getEdgeProjectName() throws GatewayException- Specified by:
getEdgeProjectNamein interfaceGatewayConnection- Returns:
- the name of the Edge project as defined by the user on the edge gateway settings
- Throws:
GatewayException
-
-