Full Code of tigase/tigase-server for AI

master 13350beea24c cached
1407 files
11.7 MB
3.1M tokens
11369 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (12,864K chars total). Download the full file to get everything.
Repository: tigase/tigase-server
Branch: master
Commit: 13350beea24c
Files: 1407
Total size: 11.7 MB

Directory structure:
gitextract_qvbqx23a/

├── .github/
│   ├── FUNDING.yml
│   └── ISSUE_TEMPLATE/
│       ├── bug_report.md
│       ├── feature_request.md
│       └── question.md
├── .gitignore
├── .mvn/
│   └── extensions.xml
├── .onedev-buildspec.yml
├── .readthedocs.yaml
├── COPYING
├── License.html
├── README.md
├── etc/
│   ├── bosh-extra-headers.txt
│   ├── client-access-policy.xml
│   ├── config.properties
│   ├── config.tdsl
│   ├── cross-domain-policy.xml
│   ├── init-debian.properties
│   ├── init-mysql.properties
│   ├── jmx.access
│   ├── jmx.password
│   ├── logback.xml
│   ├── snmp.acl
│   └── tigase.conf
├── licenseheader.txt
├── package.html
├── pom.xml
├── prj.el
├── scripts/
│   ├── config.sh
│   ├── db-create.cmd
│   ├── db-create.sh
│   ├── db-derby-connect.sh
│   ├── debian/
│   │   ├── changelog
│   │   ├── compat
│   │   ├── control
│   │   ├── copyright
│   │   ├── init-debian.properties
│   │   ├── rules
│   │   ├── tigase-debian.conf
│   │   ├── tigase-install.sh
│   │   ├── tigase.default
│   │   ├── tigase.dirs
│   │   ├── tigase.init.d
│   │   ├── tigase.postinst
│   │   └── tigase.postrm
│   ├── gentoo/
│   │   ├── conf.d/
│   │   │   └── tigase
│   │   └── init.d/
│   │       └── tigase
│   ├── machine-check.sh
│   ├── mandriva/
│   │   └── init.d/
│   │       └── tigase
│   ├── redhat/
│   │   └── init.d/
│   │       └── tigase
│   ├── repo.sh
│   ├── restart-all-servers.sh
│   ├── stop-all-servers.sh
│   ├── systemd/
│   │   ├── tigase-server
│   │   └── tigase-server.service
│   ├── tigase.sh
│   ├── update-all-servers.sh
│   ├── update-code-functions.sh
│   ├── update-code.sh
│   ├── user_roster.sh
│   └── wait-for-it.sh
├── src/
│   ├── main/
│   │   ├── bash/
│   │   │   ├── cron-dnotify-check.sh
│   │   │   └── users-list-moitor.sh
│   │   ├── database/
│   │   │   ├── derby-common-0.0.1.sql
│   │   │   ├── derby-common-0.0.2.sql
│   │   │   ├── derby-common-0.0.3.sql
│   │   │   ├── derby-counter_data_logger-0.0.1.sql
│   │   │   ├── derby-installer-create-db.sql
│   │   │   ├── derby-installer-post.sql
│   │   │   ├── derby-server-8.0.0-props.sql
│   │   │   ├── derby-server-8.0.0-schema.sql
│   │   │   ├── derby-server-8.0.0-sp.sql
│   │   │   ├── derby-server-8.0.0.sql
│   │   │   ├── derby-server-8.1.0-props.sql
│   │   │   ├── derby-server-8.1.0.sql
│   │   │   ├── derby-server-8.2.0-props.sql
│   │   │   ├── derby-server-8.2.0-schema.sql
│   │   │   ├── derby-server-8.2.0-sp.sql
│   │   │   ├── derby-server-8.2.0.sql
│   │   │   ├── derby-server-8.3.0-props.sql
│   │   │   ├── derby-server-8.3.0-schema.sql
│   │   │   ├── derby-server-8.3.0-sp.sql
│   │   │   ├── derby-server-8.3.0.sql
│   │   │   ├── derby-server-8.4.0.sql
│   │   │   ├── derby-server-8.5.0.sql
│   │   │   ├── mssql-server-8.5.0.sql
│   │   │   ├── mysql-common-0.0.1.sql
│   │   │   ├── mysql-common-0.0.2.sql
│   │   │   ├── mysql-common-0.0.3.sql
│   │   │   ├── mysql-counter_data_logger-0.0.1.sql
│   │   │   ├── mysql-installer-create-db.sql
│   │   │   ├── mysql-installer-post.sql
│   │   │   ├── mysql-server-8.0.0-props.sql
│   │   │   ├── mysql-server-8.0.0-schema.sql
│   │   │   ├── mysql-server-8.0.0-sp.sql
│   │   │   ├── mysql-server-8.0.0.sql
│   │   │   ├── mysql-server-8.1.0-props.sql
│   │   │   ├── mysql-server-8.1.0.sql
│   │   │   ├── mysql-server-8.2.0-props.sql
│   │   │   ├── mysql-server-8.2.0-schema.sql
│   │   │   ├── mysql-server-8.2.0-sp.sql
│   │   │   ├── mysql-server-8.2.0.sql
│   │   │   ├── mysql-server-8.3.0-props.sql
│   │   │   ├── mysql-server-8.3.0-schema.sql
│   │   │   ├── mysql-server-8.3.0-sp.sql
│   │   │   ├── mysql-server-8.3.0.sql
│   │   │   ├── mysql-server-8.4.0-props.sql
│   │   │   ├── mysql-server-8.4.0-schema.sql
│   │   │   ├── mysql-server-8.4.0-sp.sql
│   │   │   ├── mysql-server-8.4.0.sql
│   │   │   ├── mysql-server-8.5.0-schema.sql
│   │   │   ├── mysql-server-8.5.0-sp.sql
│   │   │   ├── mysql-server-8.5.0.sql
│   │   │   ├── postgresql-common-0.0.1.sql
│   │   │   ├── postgresql-common-0.0.2.sql
│   │   │   ├── postgresql-common-0.0.3.sql
│   │   │   ├── postgresql-counter_data_logger-0.0.1.sql
│   │   │   ├── postgresql-installer-create-db.sql
│   │   │   ├── postgresql-installer-post.sql
│   │   │   ├── postgresql-server-8.0.0-props.sql
│   │   │   ├── postgresql-server-8.0.0-schema.sql
│   │   │   ├── postgresql-server-8.0.0-sp.sql
│   │   │   ├── postgresql-server-8.0.0.sql
│   │   │   ├── postgresql-server-8.1.0-props.sql
│   │   │   ├── postgresql-server-8.1.0.sql
│   │   │   ├── postgresql-server-8.2.0-props.sql
│   │   │   ├── postgresql-server-8.2.0-schema.sql
│   │   │   ├── postgresql-server-8.2.0-sp.sql
│   │   │   ├── postgresql-server-8.2.0.sql
│   │   │   ├── postgresql-server-8.3.0-props.sql
│   │   │   ├── postgresql-server-8.3.0-schema.sql
│   │   │   ├── postgresql-server-8.3.0-sp.sql
│   │   │   ├── postgresql-server-8.3.0.sql
│   │   │   ├── postgresql-server-8.4.0.sql
│   │   │   ├── postgresql-server-8.5.0-schema.sql
│   │   │   ├── postgresql-server-8.5.0-sp.sql
│   │   │   ├── postgresql-server-8.5.0.sql
│   │   │   ├── sqlserver-common-0.0.1.sql
│   │   │   ├── sqlserver-common-0.0.2.sql
│   │   │   ├── sqlserver-common-0.0.3.sql
│   │   │   ├── sqlserver-counter_data_logger-0.0.1.sql
│   │   │   ├── sqlserver-create_database.sql
│   │   │   ├── sqlserver-installer-create-db.sql
│   │   │   ├── sqlserver-installer-post.sql
│   │   │   ├── sqlserver-server-8.0.0-props.sql
│   │   │   ├── sqlserver-server-8.0.0-schema.sql
│   │   │   ├── sqlserver-server-8.0.0-sp.sql
│   │   │   ├── sqlserver-server-8.0.0.sql
│   │   │   ├── sqlserver-server-8.1.0-props.sql
│   │   │   ├── sqlserver-server-8.1.0.sql
│   │   │   ├── sqlserver-server-8.2.0-props.sql
│   │   │   ├── sqlserver-server-8.2.0-schema.sql
│   │   │   ├── sqlserver-server-8.2.0-sp.sql
│   │   │   ├── sqlserver-server-8.2.0.sql
│   │   │   ├── sqlserver-server-8.3.0-props.sql
│   │   │   ├── sqlserver-server-8.3.0-schema.sql
│   │   │   ├── sqlserver-server-8.3.0-sp.sql
│   │   │   ├── sqlserver-server-8.3.0.sql
│   │   │   ├── sqlserver-server-8.4.0.sql
│   │   │   ├── sqlserver-server-8.5.0-schema.sql
│   │   │   ├── sqlserver-server-8.5.0-sp.sql
│   │   │   └── sqlserver-server-8.5.0.sql
│   │   ├── groovy/
│   │   │   └── tigase/
│   │   │       └── admin/
│   │   │           ├── AddUser.groovy
│   │   │           ├── AddUserTracker.groovy
│   │   │           ├── BoshPreBindSession.groovy
│   │   │           ├── BroadcastToOnline.groovy
│   │   │           ├── ChangeUserPassword.groovy
│   │   │           ├── CompManager.groovy
│   │   │           ├── CompRepoItemAdd.groovy
│   │   │           ├── CompRepoItemRemove.groovy
│   │   │           ├── CompRepoItemUpdate.groovy
│   │   │           ├── CompRepoReload.groovy
│   │   │           ├── ConnectionTime.groovy
│   │   │           ├── DNSQuery.groovy
│   │   │           ├── DeleteMOTD.groovy
│   │   │           ├── DeleteUser.groovy
│   │   │           ├── DeleteWelcomeMessage.groovy
│   │   │           ├── DisableUser.groovy
│   │   │           ├── EditMOTD.groovy
│   │   │           ├── EditUser.groovy
│   │   │           ├── EndUserSession.groovy
│   │   │           ├── ForceStopServiceForKey.groovy
│   │   │           ├── GetAnyFile.groovy
│   │   │           ├── GetConfigFile.groovy
│   │   │           ├── GetConfigTDSLFromMemory.groovy
│   │   │           ├── GetListOfActiveUsers.groovy
│   │   │           ├── GetListOfClusterNodes.groovy
│   │   │           ├── GetListOfIdleUsers.groovy
│   │   │           ├── GetListOfOnlineUsers.groovy
│   │   │           ├── GetNumberOfActiveUsers.groovy
│   │   │           ├── GetNumberOfIdleUsers.groovy
│   │   │           ├── GetRegisteredUserList.groovy
│   │   │           ├── GetTopActiveUsers.groovy
│   │   │           ├── GetUserInfo.groovy
│   │   │           ├── GetUserRoster.groovy
│   │   │           ├── ListCommands.groovy
│   │   │           ├── ListServiceKeys.groovy
│   │   │           ├── LoadErrors.groovy
│   │   │           ├── OAuthCredentials.groovy
│   │   │           ├── PluginManager.groovy
│   │   │           ├── ReEnableUser.groovy
│   │   │           ├── RemoveUserTracker.groovy
│   │   │           ├── RosterFixer.groovy
│   │   │           ├── RosterFixerCluster.groovy
│   │   │           ├── S2SBadConnectionStates.groovy
│   │   │           ├── S2SCIDState.groovy
│   │   │           ├── S2SGetAllConnectionStates.groovy
│   │   │           ├── S2SResetBadConnections.groovy
│   │   │           ├── SSLCertificateAdd.groovy
│   │   │           ├── SetMOTD.groovy
│   │   │           ├── SetWelcomeMessage.groovy
│   │   │           ├── Shutdown.groovy
│   │   │           ├── SimServiceStopped.groovy
│   │   │           ├── UpdateConfig.groovy
│   │   │           ├── UserDomainFilter.groovy
│   │   │           ├── UserRosterManagement.groovy
│   │   │           ├── UserRosterManagementExt.groovy
│   │   │           ├── UserStatistics.groovy
│   │   │           ├── example_HelloWorld.groovy
│   │   │           ├── example_TigaseScriptingGuide.groovy
│   │   │           └── template.html
│   │   ├── java/
│   │   │   └── tigase/
│   │   │       ├── auth/
│   │   │       │   ├── AuthRepositoryAware.java
│   │   │       │   ├── Aware.java
│   │   │       │   ├── BruteForceLockerBean.java
│   │   │       │   ├── CallbackHandlerFactory.java
│   │   │       │   ├── CredentialsDecoderBean.java
│   │   │       │   ├── CredentialsEncoderBean.java
│   │   │       │   ├── DefaultMechanismSelector.java
│   │   │       │   ├── DomainAware.java
│   │   │       │   ├── MechanismNameAware.java
│   │   │       │   ├── MechanismSelector.java
│   │   │       │   ├── NonAuthUserRepositoryAware.java
│   │   │       │   ├── PasswordResetterIfc.java
│   │   │       │   ├── PluginSettingsAware.java
│   │   │       │   ├── SaslInvalidLoginExcepion.java
│   │   │       │   ├── SessionAware.java
│   │   │       │   ├── TigaseSaslProvider.java
│   │   │       │   ├── XmppSaslException.java
│   │   │       │   ├── adhoc/
│   │   │       │   │   ├── AbstractCredentialsCommand.java
│   │   │       │   │   ├── AddUserCredentials.java
│   │   │       │   │   ├── DeleteUserCredentials.java
│   │   │       │   │   └── ShowUserCredentials.java
│   │   │       │   ├── callbacks/
│   │   │       │   │   ├── AuthorizationIdCallback.java
│   │   │       │   │   ├── CallbackHandlerFactoryIfc.java
│   │   │       │   │   ├── ChannelBindingCallback.java
│   │   │       │   │   ├── PBKDIterationsCallback.java
│   │   │       │   │   ├── ReplaceServerKeyCallback.java
│   │   │       │   │   ├── SaltCallback.java
│   │   │       │   │   ├── ServerKeyCallback.java
│   │   │       │   │   ├── SharedSecretKeyCallback.java
│   │   │       │   │   ├── StoredKeyCallback.java
│   │   │       │   │   ├── ValidateCertificateData.java
│   │   │       │   │   ├── VerifyPasswordCallback.java
│   │   │       │   │   └── XMPPSessionCallback.java
│   │   │       │   ├── credentials/
│   │   │       │   │   ├── Credentials.java
│   │   │       │   │   └── entries/
│   │   │       │   │       ├── MD5PasswordCredentialsEntry.java
│   │   │       │   │       ├── MD5UserIdPasswordCredentialsEntry.java
│   │   │       │   │       ├── MD5UsernamePasswordCredentialsEntry.java
│   │   │       │   │       ├── PlainCredentialsEntry.java
│   │   │       │   │       ├── ScramCredentialsEntry.java
│   │   │       │   │       ├── ScramSha1CredentialsEntry.java
│   │   │       │   │       ├── ScramSha256CredentialsEntry.java
│   │   │       │   │       ├── ScramSha512CredentialsEntry.java
│   │   │       │   │       └── XTokenCredentialsEntry.java
│   │   │       │   ├── impl/
│   │   │       │   │   ├── AuthRepoPlainCallbackHandler.java
│   │   │       │   │   ├── CertBasedCallbackHandler.java
│   │   │       │   │   ├── PlainCallbackHandler.java
│   │   │       │   │   ├── PlainSPCallbackHandler.java
│   │   │       │   │   ├── ScramCallbackHandler.java
│   │   │       │   │   └── XTokenCallbackHandler.java
│   │   │       │   └── mechanisms/
│   │   │       │       ├── AbstractSasl.java
│   │   │       │       ├── AbstractSaslSCRAM.java
│   │   │       │       ├── SCRAMHelper.java
│   │   │       │       ├── SaslANONYMOUS.java
│   │   │       │       ├── SaslEXTERNAL.java
│   │   │       │       ├── SaslPLAIN.java
│   │   │       │       ├── SaslSCRAM.java
│   │   │       │       ├── SaslSCRAMPlus.java
│   │   │       │       ├── SaslSCRAMSha256.java
│   │   │       │       ├── SaslSCRAMSha256Plus.java
│   │   │       │       ├── SaslSCRAMSha512.java
│   │   │       │       ├── SaslSCRAMSha512Plus.java
│   │   │       │       ├── SaslXTOKEN.java
│   │   │       │       └── TigaseSaslServerFactory.java
│   │   │       ├── cluster/
│   │   │       │   ├── AmpComponentClustered.java
│   │   │       │   ├── BoshConnectionClustered.java
│   │   │       │   ├── ClientConnectionClustered.java
│   │   │       │   ├── ClusterConnection.java
│   │   │       │   ├── ClusterConnectionManager.java
│   │   │       │   ├── ClusterConnectionSelector.java
│   │   │       │   ├── ClusterConnectionSelectorOld.java
│   │   │       │   ├── ClusterController.java
│   │   │       │   ├── SessionManagerClustered.java
│   │   │       │   ├── VirtualComponent.java
│   │   │       │   ├── WebSocketClientConnectionClustered.java
│   │   │       │   ├── api/
│   │   │       │   │   ├── ClusterCommandException.java
│   │   │       │   │   ├── ClusterConnectionHandler.java
│   │   │       │   │   ├── ClusterConnectionSelectorIfc.java
│   │   │       │   │   ├── ClusterControllerIfc.java
│   │   │       │   │   ├── ClusterElement.java
│   │   │       │   │   ├── ClusteredComponentIfc.java
│   │   │       │   │   ├── CommandListener.java
│   │   │       │   │   ├── CommandListenerAbstract.java
│   │   │       │   │   └── SessionManagerClusteredIfc.java
│   │   │       │   ├── repo/
│   │   │       │   │   ├── ClConConfigRepository.java
│   │   │       │   │   ├── ClConDirRepository.java
│   │   │       │   │   ├── ClConRepoDefaults.java
│   │   │       │   │   ├── ClConSQLRepository.java
│   │   │       │   │   ├── ClusterRepoConstants.java
│   │   │       │   │   ├── ClusterRepoItem.java
│   │   │       │   │   └── ClusterRepoItemEvent.java
│   │   │       │   └── strategy/
│   │   │       │       ├── ClusteringStrategyIfc.java
│   │   │       │       ├── ConnectionRecord.java
│   │   │       │       ├── ConnectionRecordIfc.java
│   │   │       │       ├── DefaultClusteringStrategy.java
│   │   │       │       ├── DefaultClusteringStrategyAbstract.java
│   │   │       │       ├── SMNonCachingAllNodes.java
│   │   │       │       └── cmd/
│   │   │       │           └── PacketForwardCmd.java
│   │   │       ├── component/
│   │   │       │   ├── AbstractComponent.java
│   │   │       │   ├── AbstractKernelBasedComponent.java
│   │   │       │   ├── BackwardCompatibilityHelper.java
│   │   │       │   ├── BindingsKernel.java
│   │   │       │   ├── ComponenScriptCommandProcessor.java
│   │   │       │   ├── DSLBeanConfigurator.java
│   │   │       │   ├── DSLBeanConfiguratorWithBackwardCompatibility.java
│   │   │       │   ├── PacketWriter.java
│   │   │       │   ├── ScheduledTask.java
│   │   │       │   ├── adhoc/
│   │   │       │   │   ├── AdHocCommand.java
│   │   │       │   │   ├── AdHocCommandException.java
│   │   │       │   │   ├── AdHocCommandManager.java
│   │   │       │   │   ├── AdHocResponse.java
│   │   │       │   │   ├── AdHocScriptCommandManager.java
│   │   │       │   │   ├── AdHocSession.java
│   │   │       │   │   └── AdhHocRequest.java
│   │   │       │   ├── exceptions/
│   │   │       │   │   ├── ComponentException.java
│   │   │       │   │   └── RepositoryException.java
│   │   │       │   ├── modules/
│   │   │       │   │   ├── AbstractModule.java
│   │   │       │   │   ├── Module.java
│   │   │       │   │   ├── StanzaProcessor.java
│   │   │       │   │   └── impl/
│   │   │       │   │       ├── AdHocCommandModule.java
│   │   │       │   │       ├── DiscoveryModule.java
│   │   │       │   │       ├── JabberVersionModule.java
│   │   │       │   │       ├── XmppPingModule.java
│   │   │       │   │       └── config/
│   │   │       │   │           └── ConfiguratorCommand.java
│   │   │       │   └── responses/
│   │   │       │       ├── AsyncCallback.java
│   │   │       │       ├── DefaultResponseHandler.java
│   │   │       │       └── ResponseManager.java
│   │   │       ├── conf/
│   │   │       │   ├── AbstractConfigBuilder.java
│   │   │       │   ├── ConfigBuilder.java
│   │   │       │   ├── ConfigHelper.java
│   │   │       │   ├── ConfigHolder.java
│   │   │       │   ├── ConfigItem.java
│   │   │       │   ├── ConfigReader.java
│   │   │       │   ├── ConfigRepositoryIfc.java
│   │   │       │   ├── ConfigSQLRepository.java
│   │   │       │   ├── ConfigWriter.java
│   │   │       │   ├── ConfigXMLRepository.java
│   │   │       │   ├── Configurable.java
│   │   │       │   ├── ConfigurationCache.java
│   │   │       │   ├── ConfigurationException.java
│   │   │       │   ├── Configurator.java
│   │   │       │   ├── ConfiguratorAbstract.java
│   │   │       │   ├── ConfiguratorOld.java
│   │   │       │   ├── LoggingBean.java
│   │   │       │   ├── MonitoringBeanIfc.java
│   │   │       │   ├── MonitoringSetupIfc.java
│   │   │       │   ├── OldConfigHolder.java
│   │   │       │   └── SetLoggingCommand.java
│   │   │       ├── db/
│   │   │       │   ├── AbstractAuthRepositoryWithCredentials.java
│   │   │       │   ├── AuthRepository.java
│   │   │       │   ├── AuthRepositoryImpl.java
│   │   │       │   ├── AuthRepositoryMDImpl.java
│   │   │       │   ├── AuthRepositoryPool.java
│   │   │       │   ├── AuthorizationException.java
│   │   │       │   ├── DBInitException.java
│   │   │       │   ├── DataOverwriteException.java
│   │   │       │   ├── DataRepository.java
│   │   │       │   ├── DataRepositoryPool.java
│   │   │       │   ├── DataSource.java
│   │   │       │   ├── DataSourceAware.java
│   │   │       │   ├── DataSourceHelper.java
│   │   │       │   ├── DataSourcePool.java
│   │   │       │   ├── DummyRepository.java
│   │   │       │   ├── MsgRepositoryIfc.java
│   │   │       │   ├── NonAuthUserRepository.java
│   │   │       │   ├── NonAuthUserRepositoryImpl.java
│   │   │       │   ├── OfflineMsgRepositoryIfc.java
│   │   │       │   ├── Repository.java
│   │   │       │   ├── RepositoryFactory.java
│   │   │       │   ├── RepositoryPool.java
│   │   │       │   ├── Schema.java
│   │   │       │   ├── TigaseDBException.java
│   │   │       │   ├── UserExistsException.java
│   │   │       │   ├── UserNotFoundException.java
│   │   │       │   ├── UserRepository.java
│   │   │       │   ├── UserRepositoryMDImpl.java
│   │   │       │   ├── UserRepositoryPool.java
│   │   │       │   ├── beans/
│   │   │       │   │   ├── AuthRepositoryMDPoolBean.java
│   │   │       │   │   ├── AuthUserRepositoryConfigBean.java
│   │   │       │   │   ├── DataSourceBean.java
│   │   │       │   │   ├── MDPoolBean.java
│   │   │       │   │   ├── MDPoolBeanWithStatistics.java
│   │   │       │   │   ├── MDPoolConfigBean.java
│   │   │       │   │   ├── MDRepositoryBean.java
│   │   │       │   │   ├── MDRepositoryBeanWithStatistics.java
│   │   │       │   │   ├── SDRepositoryBean.java
│   │   │       │   │   ├── SDRepositoryBeanWithStatistics.java
│   │   │       │   │   └── UserRepositoryMDPoolBean.java
│   │   │       │   ├── comp/
│   │   │       │   │   ├── AbstractSDComponentRepositoryBean.java
│   │   │       │   │   ├── ComponentRepository.java
│   │   │       │   │   ├── ComponentRepositoryDataSourceAware.java
│   │   │       │   │   ├── ConfigRepository.java
│   │   │       │   │   ├── RepositoryChangeListenerIfc.java
│   │   │       │   │   ├── RepositoryItem.java
│   │   │       │   │   ├── RepositoryItemAbstract.java
│   │   │       │   │   └── UserRepoRepository.java
│   │   │       │   ├── derby/
│   │   │       │   │   ├── MsgBroadcastRepositoryStoredProcedures.java
│   │   │       │   │   ├── MsgRepositoryStoredProcedures.java
│   │   │       │   │   └── StoredProcedures.java
│   │   │       │   ├── jdbc/
│   │   │       │   │   ├── DataRepositoryImpl.java
│   │   │       │   │   ├── JDBCRepository.java
│   │   │       │   │   ├── PreparedStatementInvocationHandler.java
│   │   │       │   │   ├── TigaseAuth.java
│   │   │       │   │   ├── TigaseCustomAuth.java
│   │   │       │   │   └── TigaseSPAuth.java
│   │   │       │   ├── ldap/
│   │   │       │   │   └── LdapAuthProvider.java
│   │   │       │   ├── services/
│   │   │       │   │   └── AccountExpirationService.java
│   │   │       │   ├── util/
│   │   │       │   │   ├── DBInitForkJoinPoolCache.java
│   │   │       │   │   ├── DBSchemaLoader.java
│   │   │       │   │   ├── JDBCPasswordObfuscator.java
│   │   │       │   │   ├── RepositoryVersionAware.java
│   │   │       │   │   ├── SchemaLoader.java
│   │   │       │   │   ├── SchemaManager.java
│   │   │       │   │   ├── SchemaManagerLogHandler.java
│   │   │       │   │   ├── SchemaVersionCheckerLogger.java
│   │   │       │   │   ├── importexport/
│   │   │       │   │   │   ├── AbstractImporterExtension.java
│   │   │       │   │   │   ├── CredentialsExtension.java
│   │   │       │   │   │   ├── DataSourceHelper.java
│   │   │       │   │   │   ├── Exporter.java
│   │   │       │   │   │   ├── ImportXMLHandler.java
│   │   │       │   │   │   ├── Importer.java
│   │   │       │   │   │   ├── ImporterExtension.java
│   │   │       │   │   │   ├── JabberIqPrivateExtension.java
│   │   │       │   │   │   ├── RepositoryHolder.java
│   │   │       │   │   │   ├── RepositoryManager.java
│   │   │       │   │   │   ├── RepositoryManagerExtension.java
│   │   │       │   │   │   └── RepositoryManagerExtensionBase.java
│   │   │       │   │   └── locker/
│   │   │       │   │       ├── ConnectionLock.java
│   │   │       │   │       ├── MssqlConnectionLock.java
│   │   │       │   │       ├── MysqlConnectionLock.java
│   │   │       │   │       └── PostgresqlConnectionLock.java
│   │   │       │   └── xml/
│   │   │       │       ├── XMLDataSource.java
│   │   │       │       ├── XMLMsgRepository.java
│   │   │       │       └── XMLRepository.java
│   │   │       ├── disco/
│   │   │       │   ├── ServiceEntity.java
│   │   │       │   ├── ServiceIdentity.java
│   │   │       │   ├── XMPPService.java
│   │   │       │   └── XMPPServiceCollector.java
│   │   │       ├── disteventbus/
│   │   │       │   └── component/
│   │   │       │       └── EventBusComponent.java
│   │   │       ├── eventbus/
│   │   │       │   ├── EventBus.java
│   │   │       │   ├── EventBusAction.java
│   │   │       │   ├── EventBusEvent.java
│   │   │       │   ├── EventBusException.java
│   │   │       │   ├── EventBusFactory.java
│   │   │       │   ├── EventListener.java
│   │   │       │   ├── EventRoutedTransientFiller.java
│   │   │       │   ├── EventRoutingSelector.java
│   │   │       │   ├── EventSourceListener.java
│   │   │       │   ├── FillRoutedEvent.java
│   │   │       │   ├── HandleEvent.java
│   │   │       │   ├── RegistrationException.java
│   │   │       │   ├── RouteEvent.java
│   │   │       │   ├── TickMinuteEvent.java
│   │   │       │   ├── XMLEventBusEvent.java
│   │   │       │   ├── component/
│   │   │       │   │   ├── AbstractEventBusModule.java
│   │   │       │   │   ├── ElemPathCriteria.java
│   │   │       │   │   ├── EventBusComponent.java
│   │   │       │   │   ├── EventPublisherModule.java
│   │   │       │   │   ├── EventReceiverModule.java
│   │   │       │   │   ├── EventbusDiscoveryModule.java
│   │   │       │   │   ├── SubscribeModule.java
│   │   │       │   │   ├── UnsubscribeModule.java
│   │   │       │   │   └── stores/
│   │   │       │   │       ├── Affiliation.java
│   │   │       │   │       ├── AffiliationStore.java
│   │   │       │   │       ├── Subscription.java
│   │   │       │   │       └── SubscriptionStore.java
│   │   │       │   ├── events/
│   │   │       │   │   ├── ShutdownEvent.java
│   │   │       │   │   └── StartupFinishedEvent.java
│   │   │       │   └── impl/
│   │   │       │       ├── AbstractHandler.java
│   │   │       │       ├── AbstractListenerHandler.java
│   │   │       │       ├── ElementListenerHandler.java
│   │   │       │       ├── ElementSourceListenerHandler.java
│   │   │       │       ├── EventBusImplementation.java
│   │   │       │       ├── EventBusSerializer.java
│   │   │       │       ├── EventName.java
│   │   │       │       ├── EventsNameMap.java
│   │   │       │       ├── EventsRegistrar.java
│   │   │       │       ├── ObjectEventsListenerHandler.java
│   │   │       │       ├── ObjectEventsSourceListenerHandler.java
│   │   │       │       ├── ReflectEventListenerHandler.java
│   │   │       │       ├── ReflectEventListenerHandlerFactory.java
│   │   │       │       ├── ReflectEventRoutedTransientFiller.java
│   │   │       │       ├── ReflectEventRoutedTransientFillerFactory.java
│   │   │       │       ├── ReflectEventRoutingSelector.java
│   │   │       │       ├── ReflectEventRoutingSelectorFactory.java
│   │   │       │       ├── ReflectEventSourceListenerHandler.java
│   │   │       │       └── Serializer.java
│   │   │       ├── examples/
│   │   │       │   ├── ExampleUsingDataRepository.java
│   │   │       │   └── SampleCustomAuthRepository.java
│   │   │       ├── io/
│   │   │       │   ├── BufferUnderflowException.java
│   │   │       │   ├── CertFilesTrustManager.java
│   │   │       │   ├── CertificateContainer.java
│   │   │       │   ├── CertificateContainerIfc.java
│   │   │       │   ├── IOInterface.java
│   │   │       │   ├── JcaTLSWrapper.java
│   │   │       │   ├── ProxyIO.java
│   │   │       │   ├── SSLContextContainer.java
│   │   │       │   ├── SSLContextContainerAbstract.java
│   │   │       │   ├── SSLContextContainerIfc.java
│   │   │       │   ├── SampleSocketThread.java
│   │   │       │   ├── SocketIO.java
│   │   │       │   ├── TLSEventHandler.java
│   │   │       │   ├── TLSIO.java
│   │   │       │   ├── TLSIOIfc.java
│   │   │       │   ├── TLSStatus.java
│   │   │       │   ├── TLSUtil.java
│   │   │       │   ├── TLSWrapper.java
│   │   │       │   ├── TelnetClient.java
│   │   │       │   ├── TelnetServer.java
│   │   │       │   ├── ZLibIO.java
│   │   │       │   └── repo/
│   │   │       │       ├── CertificateItem.java
│   │   │       │       └── CertificateRepository.java
│   │   │       ├── kernel/
│   │   │       │   ├── BeanUtils.java
│   │   │       │   ├── DefaultTypesConverter.java
│   │   │       │   ├── KernelException.java
│   │   │       │   ├── TypesConverter.java
│   │   │       │   ├── beans/
│   │   │       │   │   ├── Autostart.java
│   │   │       │   │   ├── Bean.java
│   │   │       │   │   ├── BeanFactory.java
│   │   │       │   │   ├── BeanSelector.java
│   │   │       │   │   ├── Converter.java
│   │   │       │   │   ├── Initializable.java
│   │   │       │   │   ├── Inject.java
│   │   │       │   │   ├── RegistrarBean.java
│   │   │       │   │   ├── RegistrarBeanWithDefaultBeanClass.java
│   │   │       │   │   ├── UnregisterAware.java
│   │   │       │   │   ├── config/
│   │   │       │   │   │   ├── AbstractBeanConfigurator.java
│   │   │       │   │   │   ├── BeanConfigurator.java
│   │   │       │   │   │   ├── ConfigAlias.java
│   │   │       │   │   │   ├── ConfigAliases.java
│   │   │       │   │   │   ├── ConfigField.java
│   │   │       │   │   │   ├── ConfigFieldType.java
│   │   │       │   │   │   └── ConfigurationChangedAware.java
│   │   │       │   │   └── selector/
│   │   │       │   │       ├── ClusterModeRequired.java
│   │   │       │   │       ├── ConfigType.java
│   │   │       │   │       ├── ConfigTypeEnum.java
│   │   │       │   │       └── ServerBeanSelector.java
│   │   │       │   └── core/
│   │   │       │       ├── BeanConfig.java
│   │   │       │       ├── BeanConfigBuilder.java
│   │   │       │       ├── Dependency.java
│   │   │       │       ├── DependencyGrapher.java
│   │   │       │       ├── DependencyManager.java
│   │   │       │       ├── Kernel.java
│   │   │       │       ├── PlantUMLGrapher.java
│   │   │       │       └── RegistrarKernel.java
│   │   │       ├── map/
│   │   │       │   ├── ClusterMapFactory.java
│   │   │       │   ├── CollectionWrapper.java
│   │   │       │   ├── DMap.java
│   │   │       │   ├── DMapListener.java
│   │   │       │   ├── IteratorWrapper.java
│   │   │       │   ├── MapCreatedEvent.java
│   │   │       │   ├── MapDestroyedEvent.java
│   │   │       │   └── SetWrapper.java
│   │   │       ├── monitor/
│   │   │       │   ├── AdHocTask.java
│   │   │       │   ├── ConfigurableTask.java
│   │   │       │   ├── InfoTask.java
│   │   │       │   ├── MonitorComponent.java
│   │   │       │   ├── MonitorExtension.java
│   │   │       │   ├── MonitorTask.java
│   │   │       │   ├── TaskConfigItem.java
│   │   │       │   ├── TaskConfigItemJDBCRepository.java
│   │   │       │   ├── TasksScriptRegistrar.java
│   │   │       │   ├── TimerTaskService.java
│   │   │       │   ├── modules/
│   │   │       │   │   ├── AdHocCommandMonitorModule.java
│   │   │       │   │   ├── AddScriptTaskCommand.java
│   │   │       │   │   ├── AddTimerScriptTaskCommand.java
│   │   │       │   │   ├── ConfigureTaskCommand.java
│   │   │       │   │   ├── DeleteScriptTaskCommand.java
│   │   │       │   │   ├── DiscoveryMonitorModule.java
│   │   │       │   │   └── InfoTaskCommand.java
│   │   │       │   └── tasks/
│   │   │       │       ├── AbstractConfigurableTask.java
│   │   │       │       ├── AbstractConfigurableTimerTask.java
│   │   │       │       ├── ConnectionsTask.java
│   │   │       │       ├── CpuTempTask.java
│   │   │       │       ├── DiskTask.java
│   │   │       │       ├── LoadCheckerTask.java
│   │   │       │       ├── LoggerTask.java
│   │   │       │       ├── MemoryCheckerTask.java
│   │   │       │       ├── SampleTask.java
│   │   │       │       ├── ScriptTask.java
│   │   │       │       ├── ScriptTimerTask.java
│   │   │       │       └── TasksEvent.java
│   │   │       ├── net/
│   │   │       │   ├── Accept.java
│   │   │       │   ├── ConnectionOpenListener.java
│   │   │       │   ├── ConnectionOpenThread.java
│   │   │       │   ├── ConnectionType.java
│   │   │       │   ├── IOService.java
│   │   │       │   ├── IOServiceListener.java
│   │   │       │   ├── IOUtil.java
│   │   │       │   ├── ServiceCommand.java
│   │   │       │   ├── SocketThread.java
│   │   │       │   └── SocketType.java
│   │   │       ├── osgi/
│   │   │       │   ├── AbstractActivator.java
│   │   │       │   ├── Activator.java
│   │   │       │   ├── ModulesManager.java
│   │   │       │   ├── ModulesManagerImpl.java
│   │   │       │   ├── OSGiScriptEngine.java
│   │   │       │   ├── OSGiScriptEngineFactory.java
│   │   │       │   ├── OSGiScriptEngineManager.java
│   │   │       │   └── util/
│   │   │       │       ├── ClassUtil.java
│   │   │       │       └── ClassUtilBean.java
│   │   │       ├── server/
│   │   │       │   ├── AbstractComponentRegistrator.java
│   │   │       │   ├── AbstractMessageReceiver.java
│   │   │       │   ├── BasicComponent.java
│   │   │       │   ├── Bootstrap.java
│   │   │       │   ├── CmdAcl.java
│   │   │       │   ├── Command.java
│   │   │       │   ├── ComponentInfo.java
│   │   │       │   ├── ComponentRegistrator.java
│   │   │       │   ├── ConnectionManager.java
│   │   │       │   ├── DataForm.java
│   │   │       │   ├── DisableDisco.java
│   │   │       │   ├── Iq.java
│   │   │       │   ├── Lifecycle.java
│   │   │       │   ├── Message.java
│   │   │       │   ├── MessageReceiver.java
│   │   │       │   ├── MessageRouter.java
│   │   │       │   ├── MessageRouterConfig.java
│   │   │       │   ├── MessageRouterIfc.java
│   │   │       │   ├── Packet.java
│   │   │       │   ├── PacketFilterIfc.java
│   │   │       │   ├── PacketWriterWithTimeout.java
│   │   │       │   ├── Permissions.java
│   │   │       │   ├── PolicyViolationException.java
│   │   │       │   ├── Presence.java
│   │   │       │   ├── Priority.java
│   │   │       │   ├── QueueType.java
│   │   │       │   ├── ReceiverTimeoutHandler.java
│   │   │       │   ├── ServerComponent.java
│   │   │       │   ├── ServiceChecker.java
│   │   │       │   ├── StanzaSourceChecker.java
│   │   │       │   ├── ThreadExceptionHandler.java
│   │   │       │   ├── XMPPServer.java
│   │   │       │   ├── amp/
│   │   │       │   │   ├── ActionAbstract.java
│   │   │       │   │   ├── ActionIfc.java
│   │   │       │   │   ├── ActionResultsHandlerIfc.java
│   │   │       │   │   ├── AmpComponent.java
│   │   │       │   │   ├── AmpFeatureIfc.java
│   │   │       │   │   ├── ConditionIfc.java
│   │   │       │   │   ├── JidResourceMap.java
│   │   │       │   │   ├── action/
│   │   │       │   │   │   ├── Alert.java
│   │   │       │   │   │   ├── Broadcast.java
│   │   │       │   │   │   ├── Deliver.java
│   │   │       │   │   │   ├── Drop.java
│   │   │       │   │   │   ├── Error.java
│   │   │       │   │   │   ├── Notify.java
│   │   │       │   │   │   └── Store.java
│   │   │       │   │   ├── cond/
│   │   │       │   │   │   ├── Deliver.java
│   │   │       │   │   │   ├── ExpireAt.java
│   │   │       │   │   │   └── MatchResource.java
│   │   │       │   │   └── db/
│   │   │       │   │       ├── JDBCMsgBroadcastRepository.java
│   │   │       │   │       ├── JDBCMsgRepository.java
│   │   │       │   │       ├── MsgBroadcastRepository.java
│   │   │       │   │       ├── MsgBroadcastRepositoryIfc.java
│   │   │       │   │       └── MsgRepository.java
│   │   │       │   ├── bosh/
│   │   │       │   │   ├── BoshConnectionManager.java
│   │   │       │   │   ├── BoshIOService.java
│   │   │       │   │   ├── BoshSendQueueTask.java
│   │   │       │   │   ├── BoshSession.java
│   │   │       │   │   ├── BoshSessionCache.java
│   │   │       │   │   ├── BoshSessionTaskHandler.java
│   │   │       │   │   ├── BoshSidLoggerFilter.java
│   │   │       │   │   ├── BoshTask.java
│   │   │       │   │   └── Constants.java
│   │   │       │   ├── ext/
│   │   │       │   │   ├── AbstractCompDBRepository.java
│   │   │       │   │   ├── CompCompDBRepository.java
│   │   │       │   │   ├── CompConfigRepository.java
│   │   │       │   │   ├── CompRepoDefaults.java
│   │   │       │   │   ├── CompRepoItem.java
│   │   │       │   │   ├── CompSQLRepository.java
│   │   │       │   │   ├── ComponentConnection.java
│   │   │       │   │   ├── ComponentIOService.java
│   │   │       │   │   ├── ComponentProtocol.java
│   │   │       │   │   ├── ComponentProtocolHandler.java
│   │   │       │   │   ├── ComponentProtocolManager.java
│   │   │       │   │   ├── ExtProcessor.java
│   │   │       │   │   ├── ManagerCompDBRepository.java
│   │   │       │   │   ├── ServerCompDBRepository.java
│   │   │       │   │   ├── StreamOpenHandler.java
│   │   │       │   │   ├── handlers/
│   │   │       │   │   │   ├── BindProcessor.java
│   │   │       │   │   │   ├── ComponentAcceptStreamOpenHandler.java
│   │   │       │   │   │   ├── ComponentConnectStreamOpenHandler.java
│   │   │       │   │   │   ├── HandshakeProcessor.java
│   │   │       │   │   │   ├── JabberClientStreamOpenHandler.java
│   │   │       │   │   │   ├── SASLProcessor.java
│   │   │       │   │   │   ├── StartTLSProcessor.java
│   │   │       │   │   │   ├── StreamFeaturesProcessor.java
│   │   │       │   │   │   └── UnknownXMLNSStreamOpenHandler.java
│   │   │       │   │   └── lb/
│   │   │       │   │       ├── LoadBalancerIfc.java
│   │   │       │   │       ├── ReceiverBareJidLB.java
│   │   │       │   │       ├── ReceiverFullJidLB.java
│   │   │       │   │       ├── SenderBareJidLB.java
│   │   │       │   │       └── SenderFullJidLB.java
│   │   │       │   ├── extdisco/
│   │   │       │   │   ├── ExtServiceDiscoItem.java
│   │   │       │   │   ├── ExtServiceDiscoveryUserRepoRepository.java
│   │   │       │   │   ├── ExternalServiceDiscoveryComponent.java
│   │   │       │   │   ├── ExternalServiceDiscoveryModule.java
│   │   │       │   │   └── ExternalServiceDiscoveryProcessor.java
│   │   │       │   ├── filters/
│   │   │       │   │   ├── PacketCounter.java
│   │   │       │   │   └── PacketFiltersBean.java
│   │   │       │   ├── monitor/
│   │   │       │   │   ├── MonitorComponent.java
│   │   │       │   │   ├── MonitorPluginIfc.java
│   │   │       │   │   ├── MonitorRuntime.java
│   │   │       │   │   └── StatusReportGenerator.java
│   │   │       │   ├── package-info.java
│   │   │       │   ├── rtbl/
│   │   │       │   │   ├── RTBL.java
│   │   │       │   │   ├── RTBLComponent.java
│   │   │       │   │   ├── RTBLEventModule.java
│   │   │       │   │   ├── RTBLFetchModule.java
│   │   │       │   │   ├── RTBLIqModule.java
│   │   │       │   │   ├── RTBLRepository.java
│   │   │       │   │   ├── RTBLSubscribeModule.java
│   │   │       │   │   └── adhoc/
│   │   │       │   │       ├── AbstractAdHocCommand.java
│   │   │       │   │       ├── RTBLAddCommand.java
│   │   │       │   │       └── RTBLDeleteCommand.java
│   │   │       │   ├── script/
│   │   │       │   │   ├── AbstractScriptCommand.java
│   │   │       │   │   ├── AddScriptCommand.java
│   │   │       │   │   ├── CommandIfc.java
│   │   │       │   │   ├── RemoveScriptCommand.java
│   │   │       │   │   └── Script.java
│   │   │       │   ├── test/
│   │   │       │   │   ├── EchoComponent.java
│   │   │       │   │   ├── TestComponent.java
│   │   │       │   │   ├── TestGeneratorModule.java
│   │   │       │   │   └── TestSpamModule.java
│   │   │       │   ├── websocket/
│   │   │       │   │   ├── WebSocketClientConnectionManager.java
│   │   │       │   │   ├── WebSocketHixie76.java
│   │   │       │   │   ├── WebSocketHybi.java
│   │   │       │   │   ├── WebSocketProtocolIfc.java
│   │   │       │   │   └── WebSocketXMPPIOService.java
│   │   │       │   ├── xmppclient/
│   │   │       │   │   ├── C2SIOService.java
│   │   │       │   │   ├── ClientConnectionManager.java
│   │   │       │   │   ├── ClientTrustManagerFactory.java
│   │   │       │   │   ├── IPMonitor.java
│   │   │       │   │   ├── RegistrationThrottling.java
│   │   │       │   │   ├── RegistrationThrottlingProcessor.java
│   │   │       │   │   ├── SeeOtherHost.java
│   │   │       │   │   ├── SeeOtherHostDB.java
│   │   │       │   │   ├── SeeOtherHostDualIP.java
│   │   │       │   │   ├── SeeOtherHostDualIPSQLRepository.java
│   │   │       │   │   ├── SeeOtherHostHashed.java
│   │   │       │   │   ├── SeeOtherHostIfc.java
│   │   │       │   │   ├── StreamErrorCounterIOProcessor.java
│   │   │       │   │   ├── StreamManagementCommand.java
│   │   │       │   │   ├── StreamManagementIOProcessor.java
│   │   │       │   │   └── XMPPIOProcessor.java
│   │   │       │   ├── xmppcomponent/
│   │   │       │   │   └── ComponentConnectionManager.java
│   │   │       │   ├── xmppserver/
│   │   │       │   │   ├── CID.java
│   │   │       │   │   ├── CIDConnections.java
│   │   │       │   │   ├── KnownDomainsListProvider.java
│   │   │       │   │   ├── LocalhostException.java
│   │   │       │   │   ├── NotLocalhostException.java
│   │   │       │   │   ├── OutgoingState.java
│   │   │       │   │   ├── S2SConnection.java
│   │   │       │   │   ├── S2SConnectionHandlerIfc.java
│   │   │       │   │   ├── S2SConnectionManager.java
│   │   │       │   │   ├── S2SConnectionSelector.java
│   │   │       │   │   ├── S2SFilterIfc.java
│   │   │       │   │   ├── S2SIOService.java
│   │   │       │   │   ├── S2SProcessor.java
│   │   │       │   │   ├── S2SRandomSelector.java
│   │   │       │   │   └── proc/
│   │   │       │   │       ├── AuthenticationProcessor.java
│   │   │       │   │       ├── AuthenticatorSelectorManager.java
│   │   │       │   │       ├── Dialback.java
│   │   │       │   │       ├── PacketChecker.java
│   │   │       │   │       ├── S2SAbstract.java
│   │   │       │   │       ├── S2SAbstractFilter.java
│   │   │       │   │       ├── S2SAbstractProcessor.java
│   │   │       │   │       ├── SaslExternal.java
│   │   │       │   │       ├── StartTLS.java
│   │   │       │   │       ├── StartZlib.java
│   │   │       │   │       ├── StreamError.java
│   │   │       │   │       ├── StreamFeatures.java
│   │   │       │   │       └── StreamOpen.java
│   │   │       │   └── xmppsession/
│   │   │       │       ├── DisconnectUserEBAction.java
│   │   │       │       ├── PacketDefaultHandler.java
│   │   │       │       ├── SMResourceConnection.java
│   │   │       │       ├── SessionManager.java
│   │   │       │       ├── SessionManagerConfig.java
│   │   │       │       ├── SessionManagerHandler.java
│   │   │       │       ├── UserConnectedEvent.java
│   │   │       │       ├── UserPresenceChangedEvent.java
│   │   │       │       ├── UserSessionEvent.java
│   │   │       │       ├── UserSessionEventWithProcessorResultWriter.java
│   │   │       │       └── adhoc/
│   │   │       │           └── SuggestedDomainsListAdhoc.java
│   │   │       ├── stats/
│   │   │       │   ├── ComponentStatisticsProvider.java
│   │   │       │   ├── Counter.java
│   │   │       │   ├── CounterDataArchivizer.java
│   │   │       │   ├── CounterDataFileLogger.java
│   │   │       │   ├── CounterDataLogger.java
│   │   │       │   ├── CounterPerSecond.java
│   │   │       │   ├── CounterValue.java
│   │   │       │   ├── ErrorsStatisticsProvider.java
│   │   │       │   ├── JMXProxyListener.java
│   │   │       │   ├── JMXProxyListenerOpt.java
│   │   │       │   ├── JavaJMXProxyOpt.java
│   │   │       │   ├── MaxDailyCounterQueue.java
│   │   │       │   ├── StatRecord.java
│   │   │       │   ├── StatisticHolder.java
│   │   │       │   ├── StatisticHolderImpl.java
│   │   │       │   ├── StatisticType.java
│   │   │       │   ├── StatisticsArchivizerIfc.java
│   │   │       │   ├── StatisticsCollector.java
│   │   │       │   ├── StatisticsContainer.java
│   │   │       │   ├── StatisticsContainerIfc.java
│   │   │       │   ├── StatisticsInvocationHandler.java
│   │   │       │   ├── StatisticsList.java
│   │   │       │   ├── StatisticsProvider.java
│   │   │       │   ├── StatisticsProviderIfc.java
│   │   │       │   ├── StatisticsProviderMBean.java
│   │   │       │   └── db/
│   │   │       │       ├── CounterDataLoggerRepoBean.java
│   │   │       │       ├── CounterDataLoggerRepository.java
│   │   │       │       └── CounterDataLoggerRepositoryIfc.java
│   │   │       ├── sys/
│   │   │       │   ├── CPULoadListener.java
│   │   │       │   ├── MemoryChangeListener.java
│   │   │       │   ├── NMTScope.java
│   │   │       │   ├── NativeMemoryTracking.java
│   │   │       │   ├── OnlineJidsReporter.java
│   │   │       │   ├── ResourceState.java
│   │   │       │   ├── ShutdownHook.java
│   │   │       │   └── TigaseRuntime.java
│   │   │       ├── util/
│   │   │       │   ├── common/
│   │   │       │   │   ├── DependencyChecker.java
│   │   │       │   │   ├── OSUtils.java
│   │   │       │   │   └── TimerTask.java
│   │   │       │   ├── historyCache/
│   │   │       │   │   ├── AllHistoryCache.java
│   │   │       │   │   ├── FloatHistoryCache.java
│   │   │       │   │   ├── IntHistoryCache.java
│   │   │       │   │   └── LongHistoryCache.java
│   │   │       │   ├── log/
│   │   │       │   │   ├── LogFilter.java
│   │   │       │   │   ├── LogFormatter.java
│   │   │       │   │   ├── LogUserFilter.java
│   │   │       │   │   └── LogWithStackTraceEntry.java
│   │   │       │   ├── processing/
│   │   │       │   │   ├── ProcessingThreads.java
│   │   │       │   │   ├── QueueItem.java
│   │   │       │   │   └── WorkerThread.java
│   │   │       │   ├── reflection/
│   │   │       │   │   ├── ClassUtilBean.java
│   │   │       │   │   └── ReflectionHelper.java
│   │   │       │   ├── repository/
│   │   │       │   │   ├── DataTypes.java
│   │   │       │   │   └── RepositoryUtils.java
│   │   │       │   ├── routing/
│   │   │       │   │   ├── PatternComparator.java
│   │   │       │   │   └── RoutingsContainer.java
│   │   │       │   ├── setup/
│   │   │       │   │   ├── BeanDefinition.java
│   │   │       │   │   └── SetupHelper.java
│   │   │       │   ├── tracer/
│   │   │       │   │   └── TigaseTracer.java
│   │   │       │   ├── updater/
│   │   │       │   │   └── UpdatesChecker.java
│   │   │       │   └── workqueue/
│   │   │       │       ├── NonpriorityQueue.java
│   │   │       │       ├── PriorityQueueAbstract.java
│   │   │       │       ├── PriorityQueueRelaxed.java
│   │   │       │       └── PriorityQueueStrict.java
│   │   │       ├── vhosts/
│   │   │       │   ├── AbstractVHostItemExtension.java
│   │   │       │   ├── DefaultAwareVHostManagerIfc.java
│   │   │       │   ├── VHostComponentRepository.java
│   │   │       │   ├── VHostComponentRepositoryDataSourceAware.java
│   │   │       │   ├── VHostItem.java
│   │   │       │   ├── VHostItemDefaults.java
│   │   │       │   ├── VHostItemExtension.java
│   │   │       │   ├── VHostItemExtensionBackwardCompatible.java
│   │   │       │   ├── VHostItemExtensionIfc.java
│   │   │       │   ├── VHostItemExtensionManager.java
│   │   │       │   ├── VHostItemExtensionProvider.java
│   │   │       │   ├── VHostItemImpl.java
│   │   │       │   ├── VHostJDBCRepository.java
│   │   │       │   ├── VHostListener.java
│   │   │       │   ├── VHostManager.java
│   │   │       │   ├── VHostManagerIfc.java
│   │   │       │   ├── VHostRepoDefaults.java
│   │   │       │   └── filter/
│   │   │       │       ├── CustomDomainFilter.java
│   │   │       │       ├── DomainFilterPolicy.java
│   │   │       │       └── Rule.java
│   │   │       └── xmpp/
│   │   │           ├── Authorization.java
│   │   │           ├── ElementMatcher.java
│   │   │           ├── InvalidPacketException.java
│   │   │           ├── NoConnectionIdException.java
│   │   │           ├── NotAuthorizedException.java
│   │   │           ├── PacketErrorTypeException.java
│   │   │           ├── PacketInvalidAddressException.java
│   │   │           ├── PacketInvalidTypeException.java
│   │   │           ├── RepositoryAccess.java
│   │   │           ├── SpamReportsConsumer.java
│   │   │           ├── StanzaType.java
│   │   │           ├── StreamError.java
│   │   │           ├── XMPPDomBuilderHandler.java
│   │   │           ├── XMPPException.java
│   │   │           ├── XMPPIOService.java
│   │   │           ├── XMPPIOServiceListener.java
│   │   │           ├── XMPPImplIfc.java
│   │   │           ├── XMPPPacketFilterIfc.java
│   │   │           ├── XMPPParserException.java
│   │   │           ├── XMPPPostprocessorIfc.java
│   │   │           ├── XMPPPreprocessorIfc.java
│   │   │           ├── XMPPProcessor.java
│   │   │           ├── XMPPProcessorAbstract.java
│   │   │           ├── XMPPProcessorConcurrencyAwareIfc.java
│   │   │           ├── XMPPProcessorException.java
│   │   │           ├── XMPPProcessorIfc.java
│   │   │           ├── XMPPResourceConnection.java
│   │   │           ├── XMPPSession.java
│   │   │           ├── XMPPStopListenerIfc.java
│   │   │           ├── impl/
│   │   │           │   ├── AbstractAuthPreprocessor.java
│   │   │           │   ├── AddressingSanitizer.java
│   │   │           │   ├── Bind2.java
│   │   │           │   ├── BindResource.java
│   │   │           │   ├── BlockingCommand.java
│   │   │           │   ├── C2SDeliveryErrorProcessor.java
│   │   │           │   ├── CAPS.java
│   │   │           │   ├── CaptchaProvider.java
│   │   │           │   ├── ClientStateIndication.java
│   │   │           │   ├── DomainFilter.java
│   │   │           │   ├── EntityTime.java
│   │   │           │   ├── ErrorCounter.java
│   │   │           │   ├── FlexibleOfflineMessageRetrieval.java
│   │   │           │   ├── InvisibleCommand.java
│   │   │           │   ├── JabberIqAuth.java
│   │   │           │   ├── JabberIqCommand.java
│   │   │           │   ├── JabberIqIq.java
│   │   │           │   ├── JabberIqPrivacy.java
│   │   │           │   ├── JabberIqPrivate.java
│   │   │           │   ├── JabberIqRegister.java
│   │   │           │   ├── JabberIqRoster.java
│   │   │           │   ├── JabberIqStats.java
│   │   │           │   ├── JabberIqVersion.java
│   │   │           │   ├── Jingle.java
│   │   │           │   ├── LastActivity.java
│   │   │           │   ├── LastActivityAbstract.java
│   │   │           │   ├── LastActivityMarker.java
│   │   │           │   ├── LastActivityRetriever.java
│   │   │           │   ├── MIXProcessor.java
│   │   │           │   ├── Message.java
│   │   │           │   ├── MessageAll.java
│   │   │           │   ├── MessageAmp.java
│   │   │           │   ├── MessageCarbons.java
│   │   │           │   ├── MessageDeliveryLogic.java
│   │   │           │   ├── MessageDeliveryProviderIfc.java
│   │   │           │   ├── MessageForwarding.java
│   │   │           │   ├── MobileV1.java
│   │   │           │   ├── MobileV2.java
│   │   │           │   ├── MobileV3.java
│   │   │           │   ├── MotdProcessor.java
│   │   │           │   ├── OfflineMessages.java
│   │   │           │   ├── PepPlugin.java
│   │   │           │   ├── PresenceAbstract.java
│   │   │           │   ├── PresenceCapabilitiesManager.java
│   │   │           │   ├── PresenceOffline.java
│   │   │           │   ├── PresenceState.java
│   │   │           │   ├── PresenceSubscription.java
│   │   │           │   ├── Privacy.java
│   │   │           │   ├── PrivacyList.java
│   │   │           │   ├── RemoteRosterManagement.java
│   │   │           │   ├── SaslAuth.java
│   │   │           │   ├── SaslAuth2.java
│   │   │           │   ├── SaslAuthAbstract.java
│   │   │           │   ├── SaslChannelBinding.java
│   │   │           │   ├── ServerInfo.java
│   │   │           │   ├── ServiceDiscovery.java
│   │   │           │   ├── SessionBind.java
│   │   │           │   ├── SimpleForwarder.java
│   │   │           │   ├── StartTLS.java
│   │   │           │   ├── StartZLib.java
│   │   │           │   ├── StreamManagementInline.java
│   │   │           │   ├── TokenBucketPool.java
│   │   │           │   ├── UrnXmppPing.java
│   │   │           │   ├── VCard4.java
│   │   │           │   ├── VCardTemp.java
│   │   │           │   ├── VCardXMPPProcessorAbstract.java
│   │   │           │   ├── annotation/
│   │   │           │   │   ├── AnnotatedXMPPProcessor.java
│   │   │           │   │   ├── DiscoFeatures.java
│   │   │           │   │   ├── Handle.java
│   │   │           │   │   ├── HandleStanzaTypes.java
│   │   │           │   │   ├── Handles.java
│   │   │           │   │   ├── Id.java
│   │   │           │   │   ├── StreamFeature.java
│   │   │           │   │   └── StreamFeatures.java
│   │   │           │   ├── package-info.java
│   │   │           │   ├── push/
│   │   │           │   │   ├── AbstractPushNotifications.java
│   │   │           │   │   ├── AwayPushNotificationsExtension.java
│   │   │           │   │   ├── EncryptedPushNotificationExtension.java
│   │   │           │   │   ├── GroupchatFilter.java
│   │   │           │   │   ├── GroupchatPushNotificationsExtension.java
│   │   │           │   │   ├── IgnoreFromUnknownFilter.java
│   │   │           │   │   ├── JinglePushNotificationsExtension.java
│   │   │           │   │   ├── MeetPushNotificationExtension.java
│   │   │           │   │   ├── MutedFilter.java
│   │   │           │   │   ├── PriorityExtension.java
│   │   │           │   │   ├── PushNotificationCause.java
│   │   │           │   │   ├── PushNotifications.java
│   │   │           │   │   ├── PushNotificationsAware.java
│   │   │           │   │   ├── PushNotificationsExtension.java
│   │   │           │   │   ├── PushNotificationsFilter.java
│   │   │           │   │   └── PushPresence.java
│   │   │           │   └── roster/
│   │   │           │       ├── AnonymousRoster.java
│   │   │           │       ├── DynamicRoster.java
│   │   │           │       ├── DynamicRosterIfc.java
│   │   │           │       ├── DynamicRosterTest.java
│   │   │           │       ├── DynamicRosterTest123.java
│   │   │           │       ├── RepositoryAccessException.java
│   │   │           │       ├── RosterAbstract.java
│   │   │           │       ├── RosterElement.java
│   │   │           │       ├── RosterFactory.java
│   │   │           │       ├── RosterFlat.java
│   │   │           │       └── RosterRetrievingException.java
│   │   │           └── mam/
│   │   │               ├── ExtendedQuery.java
│   │   │               ├── ExtendedQueryImpl.java
│   │   │               ├── MAM2ExtendedQueryParser.java
│   │   │               ├── MAM2QueryParser.java
│   │   │               ├── MAMItemHandler.java
│   │   │               ├── MAMQueryParser.java
│   │   │               ├── MAMRepository.java
│   │   │               ├── Query.java
│   │   │               ├── QueryImpl.java
│   │   │               ├── QueryParser.java
│   │   │               ├── modules/
│   │   │               │   ├── GetFormModule.java
│   │   │               │   └── QueryModule.java
│   │   │               └── util/
│   │   │                   ├── MAMRepositoryManagerExtensionHelper.java
│   │   │                   ├── MAMUtil.java
│   │   │                   └── Range.java
│   │   ├── php/
│   │   │   └── drupal/
│   │   │       └── modules/
│   │   │           ├── tigase.module
│   │   │           ├── tigase_monitor-5.x/
│   │   │           │   ├── tigase_monitor.info
│   │   │           │   └── tigase_monitor.module
│   │   │           ├── tigase_monitor.module
│   │   │           └── tigase_usrreg-5.x/
│   │   │               ├── tigase_usrreg.info
│   │   │               └── tigase_usrreg.module
│   │   ├── python/
│   │   │   └── tigase/
│   │   │       └── admin/
│   │   │           └── PythonExample.py
│   │   ├── resources/
│   │   │   ├── META-INF/
│   │   │   │   └── java.security.Provider
│   │   │   ├── assembly/
│   │   │   │   └── resources.xml
│   │   │   ├── mib/
│   │   │   │   └── JVM-MANAGEMENT-MIB.mib
│   │   │   ├── templates/
│   │   │   │   └── StatusReportTemplate.html
│   │   │   └── win-stuff/
│   │   │       ├── Licence.txt
│   │   │       ├── Setup.bat
│   │   │       ├── Tigase-minimal.iss
│   │   │       ├── Tigase.iss
│   │   │       ├── scripts/
│   │   │       │   ├── InstallTigaseService.bat
│   │   │       │   ├── Run.bat
│   │   │       │   ├── Tigase.bat
│   │   │       │   ├── Uninst.bat
│   │   │       │   └── UninstallTigaseService.bat
│   │   │       └── wrapper/
│   │   │           ├── wrapper-community-license-1.2.txt
│   │   │           ├── wrapper.conf
│   │   │           └── wrapper.jar
│   │   ├── restructured/
│   │   │   ├── Makefile
│   │   │   ├── Tigase_Administration/
│   │   │   │   ├── Components/
│   │   │   │   │   ├── Advanced_Message_Processing.inc
│   │   │   │   │   ├── C2S.inc
│   │   │   │   │   ├── Components.inc
│   │   │   │   │   ├── External_Component_Configuration/
│   │   │   │   │   │   ├── Configuration.inc
│   │   │   │   │   │   ├── Intro.inc
│   │   │   │   │   │   ├── Load_Balancing.inc
│   │   │   │   │   │   └── Tigase_as_External.inc
│   │   │   │   │   ├── External_Service_Discovery_Component.inc
│   │   │   │   │   ├── Load_Balancing.inc
│   │   │   │   │   ├── Monitoring/
│   │   │   │   │   │   ├── MonitorComponent.inc
│   │   │   │   │   │   ├── Monitoring.inc
│   │   │   │   │   │   ├── Retrieving_statistics.inc
│   │   │   │   │   │   ├── Setting_up.inc
│   │   │   │   │   │   └── Statistics_Logger_Config.inc
│   │   │   │   │   ├── Server_to_Server_Protocol.inc
│   │   │   │   │   └── _Components.rst
│   │   │   │   ├── Configuration/
│   │   │   │   │   ├── Advanced_Options.inc
│   │   │   │   │   ├── DSL_configuration.inc
│   │   │   │   │   ├── JVM_settings.inc
│   │   │   │   │   ├── Logging.inc
│   │   │   │   │   ├── Session_Manager.inc
│   │   │   │   │   ├── Settings_for_High_Load_Systems.inc
│   │   │   │   │   ├── Startup_Files.inc
│   │   │   │   │   ├── Vhosts.inc
│   │   │   │   │   └── _Configuration.rst
│   │   │   │   ├── Database_Management/
│   │   │   │   │   ├── Database_Preparation/
│   │   │   │   │   │   ├── DbSchemaLoader.inc
│   │   │   │   │   │   ├── Derby.inc
│   │   │   │   │   │   ├── MSSQL.inc
│   │   │   │   │   │   ├── MongoDB.inc
│   │   │   │   │   │   ├── MySQL.inc
│   │   │   │   │   │   └── PostGRE.inc
│   │   │   │   │   ├── Database_Preparation.inc
│   │   │   │   │   ├── Existing_Databases.inc
│   │   │   │   │   ├── Hashed_User_Passwords_in_Database.inc
│   │   │   │   │   ├── Importing_Exporting_User_Data.inc
│   │   │   │   │   ├── Management.rst
│   │   │   │   │   ├── Multiple_Databases.inc
│   │   │   │   │   └── Schema_Updates.inc
│   │   │   │   ├── Licensing_Open_Source.rst
│   │   │   │   ├── Properties/
│   │   │   │   │   ├── _cluster.inc
│   │   │   │   │   ├── _external.inc
│   │   │   │   │   ├── _general.inc
│   │   │   │   │   ├── _performance.inc
│   │   │   │   │   ├── _properties.rst
│   │   │   │   │   ├── _repository.inc
│   │   │   │   │   ├── _user_connectivity.inc
│   │   │   │   │   └── _vhost.inc
│   │   │   │   ├── Quick_Start_Guide/
│   │   │   │   │   ├── Installation_Using_Web_Installer.inc
│   │   │   │   │   ├── Intro.rst
│   │   │   │   │   ├── Manual_Installation_in_Console_Mode.inc
│   │   │   │   │   ├── Script_Selection.inc
│   │   │   │   │   ├── Shutting_Down.inc
│   │   │   │   │   ├── Tigase_Server_Network_Instructions.inc
│   │   │   │   │   ├── Upgrading_from_Older_versions.inc
│   │   │   │   │   └── Windows_Installation.inc
│   │   │   │   ├── Release_Notes/
│   │   │   │   │   ├── Tigase_Release_Notes.rst
│   │   │   │   │   ├── Tigase_v8.0.0.inc
│   │   │   │   │   ├── Tigase_v8.1.0.inc
│   │   │   │   │   ├── Tigase_v8.2.0.inc
│   │   │   │   │   ├── Tigase_v8.3.0.inc
│   │   │   │   │   └── tigase-server-current.inc
│   │   │   │   ├── Security/
│   │   │   │   │   ├── Access_Control_List.inc
│   │   │   │   │   ├── Account_Registration_Limits.inc
│   │   │   │   │   ├── Application_Passwords.inc
│   │   │   │   │   ├── Auth_Connectors/
│   │   │   │   │   │   ├── Custom_Auth_Connector.inc
│   │   │   │   │   │   ├── LDAP_Auth.inc
│   │   │   │   │   │   ├── SASL_EXTERNAL.inc
│   │   │   │   │   │   └── Tigase_Auth_Connector.inc
│   │   │   │   │   ├── Auth_Connectors.inc
│   │   │   │   │   ├── Brute-force_attack_prevention.inc
│   │   │   │   │   ├── Packet_Filtering.inc
│   │   │   │   │   ├── RealTimeBlockList.inc
│   │   │   │   │   ├── SASL_Mechanisms.inc
│   │   │   │   │   ├── Server_Certificates.inc
│   │   │   │   │   ├── TLS_Features_Configuration.inc
│   │   │   │   │   ├── XEP-0191_Blocking_Command.inc
│   │   │   │   │   └── _Security.rst
│   │   │   │   ├── Statistics_Description.rst
│   │   │   │   ├── Tigase_Server_Binary_Updates.rst
│   │   │   │   ├── Tigase_User_Guide/
│   │   │   │   │   ├── Configuration_Instructions.inc
│   │   │   │   │   ├── How_to_Use.inc
│   │   │   │   │   ├── Introduction.inc
│   │   │   │   │   └── User_Guide.rst
│   │   │   │   ├── Using_Tigase/
│   │   │   │   │   ├── Anonymous_Users.inc
│   │   │   │   │   ├── Basic_System_Checks.inc
│   │   │   │   │   ├── Clustering.inc
│   │   │   │   │   ├── Debugging_Tigase.inc
│   │   │   │   │   ├── Intro.inc
│   │   │   │   │   ├── LastActivity.inc
│   │   │   │   │   ├── Licensing.inc
│   │   │   │   │   ├── Log_Guide.inc
│   │   │   │   │   ├── Offline_Messages.inc
│   │   │   │   │   ├── Presence_Forwarding.inc
│   │   │   │   │   ├── PubSub_Server_Information.inc
│   │   │   │   │   ├── Scripting/
│   │   │   │   │   │   ├── Introduction.inc
│   │   │   │   │   │   ├── Python.inc
│   │   │   │   │   │   ├── Scripting_Support.inc
│   │   │   │   │   │   └── v4.4.x_Update.inc
│   │   │   │   │   ├── Tips_and_Tricks.inc
│   │   │   │   │   ├── Virtual_Domains.inc
│   │   │   │   │   ├── Watchdog.inc
│   │   │   │   │   └── _using_tigase.rst
│   │   │   │   ├── XMPP_Server/
│   │   │   │   │   ├── About_Tigase_XMPP_Server.rst
│   │   │   │   │   ├── Custom_Extensions.inc
│   │   │   │   │   └── Supported_Extension.inc
│   │   │   │   └── index.rst
│   │   │   ├── Tigase_Development/
│   │   │   │   ├── Basic_Information.rst
│   │   │   │   ├── Cluster_Map_Interface.rst
│   │   │   │   ├── CodeStyleGuide.rst
│   │   │   │   ├── Component_Implementation.rst
│   │   │   │   ├── CustomAuthRepository.rst
│   │   │   │   ├── Data_Sources_And_Repositories.rst
│   │   │   │   ├── EventBus_API.rst
│   │   │   │   ├── Experimental.rst
│   │   │   │   ├── Hack_Tigase_Jabber-XMPP_Server_in_Eclipse.rst
│   │   │   │   ├── Old_Stuff.rst
│   │   │   │   ├── Packet_Filtering_in_Component.rst
│   │   │   │   ├── Plugin_Development.rst
│   │   │   │   ├── Server_Compilation.rst
│   │   │   │   ├── Tests.rst
│   │   │   │   ├── Tigase_Kernel.rst
│   │   │   │   ├── UsingDataRepository.rst
│   │   │   │   ├── Using_Maven.rst
│   │   │   │   └── index.rst
│   │   │   ├── conf.py
│   │   │   ├── files/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── StatsDumper.groovy
│   │   │   │   └── tigase-upgrade.sh
│   │   │   ├── images/
│   │   │   │   └── devguide/
│   │   │   │       └── tigase-architecture-draw.io.xml
│   │   │   ├── index.rst
│   │   │   ├── locale/
│   │   │   │   ├── es/
│   │   │   │   │   └── LC_MESSAGES/
│   │   │   │   │       └── Tigase_Administration/
│   │   │   │   │           └── Release_Notes/
│   │   │   │   │               └── Tigase_Release_Notes.po
│   │   │   │   ├── pl/
│   │   │   │   │   └── LC_MESSAGES/
│   │   │   │   │       ├── Tigase_Administration/
│   │   │   │   │       │   ├── Components/
│   │   │   │   │       │   │   └── _Components.po
│   │   │   │   │       │   ├── Configuration/
│   │   │   │   │       │   │   └── _Configuration.po
│   │   │   │   │       │   ├── Database_Management/
│   │   │   │   │       │   │   └── Management.po
│   │   │   │   │       │   ├── Licensing_Open_Source.po
│   │   │   │   │       │   ├── Properties/
│   │   │   │   │       │   │   └── _properties.po
│   │   │   │   │       │   ├── Quick_Start_Guide/
│   │   │   │   │       │   │   └── Intro.po
│   │   │   │   │       │   ├── Release_Notes/
│   │   │   │   │       │   │   └── Tigase_Release_Notes.po
│   │   │   │   │       │   ├── Security/
│   │   │   │   │       │   │   └── _Security.po
│   │   │   │   │       │   ├── Statistics_Description.po
│   │   │   │   │       │   ├── Tigase_Server_Binary_Updates.po
│   │   │   │   │       │   ├── Tigase_User_Guide/
│   │   │   │   │       │   │   └── User_Guide.po
│   │   │   │   │       │   ├── Using_Tigase/
│   │   │   │   │       │   │   └── _using_tigase.po
│   │   │   │   │       │   ├── XMPP_Server/
│   │   │   │   │       │   │   └── About_Tigase_XMPP_Server.po
│   │   │   │   │       │   └── index.po
│   │   │   │   │       ├── Tigase_Development/
│   │   │   │   │       │   ├── Basic_Information.po
│   │   │   │   │       │   ├── Cluster_Map_Interface.po
│   │   │   │   │       │   ├── CodeStyleGuide.po
│   │   │   │   │       │   ├── Component_Implementation.po
│   │   │   │   │       │   ├── Data_Sources_And_Repositories.po
│   │   │   │   │       │   ├── EventBus_API.po
│   │   │   │   │       │   ├── Experimental.po
│   │   │   │   │       │   ├── Hack_Tigase_Jabber-XMPP_Server_in_Eclipse.po
│   │   │   │   │       │   ├── Old_Stuff.po
│   │   │   │   │       │   ├── Packet_Filtering_in_Component.po
│   │   │   │   │       │   ├── Plugin_Development.po
│   │   │   │   │       │   ├── Server_Compilation.po
│   │   │   │   │       │   ├── Tests.po
│   │   │   │   │       │   ├── Tigase_Kernel.po
│   │   │   │   │       │   ├── Using_Maven.po
│   │   │   │   │       │   └── index.po
│   │   │   │   │       └── index.po
│   │   │   │   └── zh_CN/
│   │   │   │       └── LC_MESSAGES/
│   │   │   │           ├── Tigase_Administration/
│   │   │   │           │   ├── Components/
│   │   │   │           │   │   └── _Components.po
│   │   │   │           │   ├── Configuration/
│   │   │   │           │   │   └── _Configuration.po
│   │   │   │           │   ├── Database_Management/
│   │   │   │           │   │   └── Management.po
│   │   │   │           │   ├── Licensing_Open_Source.po
│   │   │   │           │   ├── Properties/
│   │   │   │           │   │   └── _properties.po
│   │   │   │           │   ├── Quick_Start_Guide/
│   │   │   │           │   │   └── Intro.po
│   │   │   │           │   ├── Release_Notes/
│   │   │   │           │   │   └── Tigase_Release_Notes.po
│   │   │   │           │   ├── Security/
│   │   │   │           │   │   └── _Security.po
│   │   │   │           │   ├── Statistics_Description.po
│   │   │   │           │   ├── Tigase_Server_Binary_Updates.po
│   │   │   │           │   ├── Tigase_User_Guide/
│   │   │   │           │   │   └── User_Guide.po
│   │   │   │           │   ├── Using_Tigase/
│   │   │   │           │   │   └── _using_tigase.po
│   │   │   │           │   ├── XMPP_Server/
│   │   │   │           │   │   └── About_Tigase_XMPP_Server.po
│   │   │   │           │   └── index.po
│   │   │   │           ├── Tigase_Development/
│   │   │   │           │   ├── Basic_Information.po
│   │   │   │           │   ├── Cluster_Map_Interface.po
│   │   │   │           │   ├── CodeStyleGuide.po
│   │   │   │           │   ├── Component_Implementation.po
│   │   │   │           │   ├── Data_Sources_And_Repositories.po
│   │   │   │           │   ├── EventBus_API.po
│   │   │   │           │   ├── Experimental.po
│   │   │   │           │   ├── Hack_Tigase_Jabber-XMPP_Server_in_Eclipse.po
│   │   │   │           │   ├── Old_Stuff.po
│   │   │   │           │   ├── Packet_Filtering_in_Component.po
│   │   │   │           │   ├── Plugin_Development.po
│   │   │   │           │   ├── Server_Compilation.po
│   │   │   │           │   ├── Tests.po
│   │   │   │           │   ├── Tigase_Kernel.po
│   │   │   │           │   ├── Using_Maven.po
│   │   │   │           │   └── index.po
│   │   │   │           └── index.po
│   │   │   ├── make.bat
│   │   │   ├── readme.md
│   │   │   └── requirements.txt
│   │   ├── ruby/
│   │   │   └── tigase/
│   │   │       └── admin/
│   │   │           └── RubyExample.rb
│   │   └── scala/
│   │       └── tigase/
│   │           └── admin/
│   │               └── ScalaExample.scala
│   └── test/
│       ├── java/
│       │   └── tigase/
│       │       ├── Assert.java
│       │       ├── TestLogger.java
│       │       ├── auth/
│       │       │   ├── BruteForceLockerBeanTest.java
│       │       │   ├── credentials/
│       │       │   │   └── entries/
│       │       │   │       ├── MD5PasswordCredentialsEntryTest.java
│       │       │   │       ├── MD5UserIdPasswordCredentialsEntryTest.java
│       │       │   │       ├── MD5UsernamePasswordCredentialsEntryTest.java
│       │       │   │       ├── PlainCredentialsEntryTest.java
│       │       │   │       └── ScramCredentialsEntryTest.java
│       │       │   └── mechanisms/
│       │       │       ├── SCRAMHelperTest.java
│       │       │       ├── SaslANONYMOUSTest.java
│       │       │       ├── SaslPLAINTest.java
│       │       │       ├── SaslSCRAMPlusTest.java
│       │       │       ├── SaslSCRAMTest.java
│       │       │       └── SaslXTOKENTest.java
│       │       ├── cluster/
│       │       │   ├── ClusterConnectionSelectorTest.java
│       │       │   ├── api/
│       │       │   │   └── ClusterElementTest.java
│       │       │   └── strategy/
│       │       │       └── DefaultClusterStrategyTest.java
│       │       ├── component/
│       │       │   ├── Bean1.java
│       │       │   └── DSLBeanConfiguratorTest.java
│       │       ├── conf/
│       │       │   ├── ConfigHelperTest.java
│       │       │   ├── ConfigHolderTest.java
│       │       │   └── ConfigReaderTest.java
│       │       ├── db/
│       │       │   ├── AbstractDataSourceAwareTestCase.java
│       │       │   ├── AbstractDataSourceTestCase.java
│       │       │   ├── AbstractUserRepositoryTest.java
│       │       │   ├── jdbc/
│       │       │   │   └── JDBCRepositoryTest.java
│       │       │   └── util/
│       │       │       ├── DBSchemaLoaderTest.java
│       │       │       ├── JDBCPasswordObfuscatorTest.java
│       │       │       └── locker/
│       │       │           └── ConnectionLockTest.java
│       │       ├── disco/
│       │       │   └── ServiceIdentityTest.java
│       │       ├── eventbus/
│       │       │   ├── component/
│       │       │   │   └── stores/
│       │       │   │       └── AffiliationStoreTest.java
│       │       │   └── impl/
│       │       │       ├── Event1.java
│       │       │       ├── Event12.java
│       │       │       ├── Event2.java
│       │       │       ├── EventBusImplementationTest.java
│       │       │       ├── EventBusSerializerTest.java
│       │       │       ├── EventNameTest.java
│       │       │       ├── EventsNameMapTest.java
│       │       │       └── ReflectEventListenerHandlerFactoryTest.java
│       │       ├── io/
│       │       │   ├── CertificateContainerTest.java
│       │       │   └── SSLContextContainerTest.java
│       │       ├── kernel/
│       │       │   ├── AbstractKernelTestCase.java
│       │       │   ├── AbstractKernelWithUserRepositoryTestCase.java
│       │       │   ├── Bean1.java
│       │       │   ├── Bean10.java
│       │       │   ├── Bean2.java
│       │       │   ├── Bean3.java
│       │       │   ├── Bean4.java
│       │       │   ├── Bean5.java
│       │       │   ├── Bean5Factory.java
│       │       │   ├── Bean6.java
│       │       │   ├── Bean7.java
│       │       │   ├── Bean8.java
│       │       │   ├── DefaultTypesConverterTest.java
│       │       │   ├── GenericBeanKernelTest.java
│       │       │   ├── KernelTest.java
│       │       │   ├── RegistrarBeanKernelTest.java
│       │       │   ├── RegistratBeanCyclicTest.java
│       │       │   ├── Special.java
│       │       │   └── modular/
│       │       │       ├── ApplicationTest.java
│       │       │       ├── Component.java
│       │       │       ├── ComponentsManager.java
│       │       │       ├── c1/
│       │       │       │   ├── Component1.java
│       │       │       │   ├── Component1Registrar.java
│       │       │       │   └── Helper.java
│       │       │       └── c2/
│       │       │           ├── Component2.java
│       │       │           └── Component2Registrar.java
│       │       ├── map/
│       │       │   ├── ClusterMapFactoryTest.java
│       │       │   └── DMapTest.java
│       │       ├── monitor/
│       │       │   └── tasks/
│       │       │       └── UsersDisconnectTaskTest.java
│       │       ├── server/
│       │       │   ├── BasicComponentTest.java
│       │       │   ├── BootstrapTest.java
│       │       │   ├── CmdAclTest.java
│       │       │   ├── ConnectionManagerTest.java
│       │       │   ├── MessageRouterTest.java
│       │       │   ├── PacketTest.java
│       │       │   ├── amp/
│       │       │   │   └── db/
│       │       │   │       ├── AbstractMsgBroadcastRepositoryTest.java
│       │       │   │       ├── AbstractMsgRepositoryTest.java
│       │       │   │       ├── JDBCMsgBroadcastRepositoryTest.java
│       │       │   │       └── JDBCMsgRepositoryTest.java
│       │       │   ├── bosh/
│       │       │   │   └── BoshIOServiceTest.java
│       │       │   ├── rtbl/
│       │       │   │   ├── RTBLRepositoryTest.java
│       │       │   │   └── RTBLTest.java
│       │       │   ├── websocket/
│       │       │   │   ├── WebSocketHixie76Test.java
│       │       │   │   ├── WebSocketHybiTest.java
│       │       │   │   └── WebSocketXMPPIOServiceTest.java
│       │       │   ├── xmppclient/
│       │       │   │   └── StreamManagementIOProcessorTest.java
│       │       │   ├── xmppserver/
│       │       │   │   ├── S2SConnManAbstractTest.java
│       │       │   │   ├── S2SConnManDomainTest.java
│       │       │   │   ├── S2SConnManTest.java
│       │       │   │   ├── S2SConnectionManagerDomainServerNameMapperTest.java
│       │       │   │   ├── SSLSocketDirectTest.java
│       │       │   │   ├── SSLTestAbstract.java
│       │       │   │   └── proc/
│       │       │   │       └── DialbackTest.java
│       │       │   └── xmppsession/
│       │       │       └── adhoc/
│       │       │           └── SuggestedDomainsListAdhocTest.java
│       │       ├── stats/
│       │       │   ├── MaxDailyCounterQueueTest.java
│       │       │   └── StatisticsListTest.java
│       │       ├── sys/
│       │       │   └── NativeMemoryTrackingTest.java
│       │       ├── tests/
│       │       │   └── SlowTest.java
│       │       ├── util/
│       │       │   ├── AllHistoryCacheTest.java
│       │       │   ├── DataTypesTest.java
│       │       │   ├── ReflectionHelperTest.java
│       │       │   └── updater/
│       │       │       └── UpdatesCheckerTest.java
│       │       ├── vhosts/
│       │       │   ├── DummyVHostManager.java
│       │       │   ├── VHostItemTest.java
│       │       │   ├── VHostJDBCRepositoryTest.java
│       │       │   └── filter/
│       │       │       ├── CustomDomainFilterTest.java
│       │       │       └── DomainFilterPolicyTest.java
│       │       └── xmpp/
│       │           ├── ElementMatcherTest.java
│       │           ├── XMPPDomBuilderHandlerTest.java
│       │           ├── XMPPIOServiceTest_Proxy.java
│       │           ├── XMPPProcessorAbstractTest.java
│       │           └── impl/
│       │               ├── AbstractProcessorWithDataSourceAwareTestCase.java
│       │               ├── AbstractProcessorWithDataSourceTestCase.java
│       │               ├── AddressingSanitizerTest.java
│       │               ├── BindResourceTest.java
│       │               ├── BlockingCommandTest.java
│       │               ├── C2SDeliveryErrorProcessorTest.java
│       │               ├── DomainFilterTest.java
│       │               ├── JabberIqAuthTest.java
│       │               ├── JabberIqCommandTest.java
│       │               ├── JabberIqPrivacyTest.java
│       │               ├── JabberIqRegisterTest.java
│       │               ├── JabberIqRegisterWhitelistTest.java
│       │               ├── MIXProcessorTest.java
│       │               ├── MessageAmpTest.java
│       │               ├── MessageCarbonsTest.java
│       │               ├── MessageDeliveryLogicTest.java
│       │               ├── MessageTest.java
│       │               ├── MobileV3Test.java
│       │               ├── OfflineMessagesTest.java
│       │               ├── OfflineMessages_StampComparatorTest.java
│       │               ├── PresenceCapabilitiesManagerTest.java
│       │               ├── PrivacyListTest.java
│       │               ├── ProcessorTestCase.java
│       │               ├── SaslAuth2Test.java
│       │               ├── SaslAuthTest.java
│       │               ├── TokenBucketPoolTest.java
│       │               ├── VCardHelperTest.java
│       │               ├── annotation/
│       │               │   ├── AnnotatedXMPPProcessorTest.java
│       │               │   ├── TestAnnotatedXMPPProcessor.java
│       │               │   └── TestAnnotatedXMPPProcessor2.java
│       │               ├── push/
│       │               │   ├── EncryptedPushNotificationExtensionTest.java
│       │               │   ├── PushNotificationHelper.java
│       │               │   ├── PushNotificationsTest.java
│       │               │   ├── PushNotificationsWithAwayTest.java
│       │               │   └── PushPresenceTest.java
│       │               └── roster/
│       │                   ├── PresenceSubscriptionPreApprovalTest.java
│       │                   └── RosterElementTest.java
│       └── resources/
│           ├── TestScript.groovy
│           └── logging.properties
└── tigase-server.doap

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: [tigase]


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''

---

> # NOTE: Tigase has new home at [tigase.dev](https://tigase.dev/) - please submit all issues/pull-requests there in the relevant sub-project!

For main Tigase Server please submit it here: https://tigase.dev/tigase/_server/server-core/~issues/


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'enhancement'
assignees: ''

---

> # NOTE: Tigase has new home at [tigase.dev](https://tigase.dev/) - please submit all issues/pull-requests there in the relevant sub-project!

For main Tigase Server please submit it here: https://tigase.dev/tigase/_server/server-core/~issues/

================================================
FILE: .github/ISSUE_TEMPLATE/question.md
================================================
---
name: General question
about: Just a question
title: ''
labels: 'question'
assignees: ''

---

> # NOTE: Tigase has new home at [tigase.dev](https://tigase.dev/) - please submit all issues/pull-requests there in the relevant sub-project!

For main Tigase Server please submit it here: https://tigase.dev/tigase/_server/server-core/~issues/

================================================
FILE: .gitignore
================================================
.settings
target
init.properties
.classpath
.project
scripts/admin
all-production-servers.txt
MANIFEST.MF
cluster-1-servers.txt
cluster-2-servers.txt
jars/**
logs/**
libs/**
!logs/server-info.html
config.txt
docs
packages
certs/*
certs/default.pem
certs/test-d.pem
certs/tls-required.com.pem
scripts/update-code-config.sh
etc/config-dump.properties
distribution/ChangeLog
distribution/License.html
distribution/README
distribution/package.html
etc/META-INF/maven/tigase/tigase-http-api/pom.xml
scripts/pubsub/repository_migrator.groovy
database/README.txt
database/pubsub-*
database/*-pubsub-*
database/*-muc-*
database/*-message-archiving-*
database/*-unified-archive-*
database/muc-db-migrate.*derby.log
tigase/setup
.idea/
*.iml
/bin/
/out/
src/main/groovy/tigase/admin/DeleteItem.groovy
src/main/groovy/tigase/admin/ListItems.groovy
src/main/groovy/tigase/admin/ListNodes.groovy
src/main/groovy/tigase/admin/RetrieveItem.groovy
etc/installation-id
etc/*.licence*
documentation/text/components
documentation/devguide/text/components
distribution-docs
distribution-packages
logs
etc/acs.licence
etc/config-dump.properties
etc/installation-id
src/main/restructured/locale/*/LC_MESSAGES/Tigase_Administration/*.mo
src/main/restructured/locale/*/LC_MESSAGES/Tigase_Development/*.mo
src/main/restructured/locale/*/LC_MESSAGES/Tigase_Administration/*/*.mo
src/main/restructured/locale/*/LC_MESSAGES/Tigase_Development/*/*.mo
src/main/restructured/locale/*/LC_MESSAGES/*.mo
src/main/restructured/locale/*/LC_MESSAGES/*.mo
src/main/restructured/_build/


================================================
FILE: .mvn/extensions.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--

    Tigase XMPP Server - The instant messaging server
    Copyright (C) 2004 Tigase, Inc. (office@tigase.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, version 3 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. Look for COPYING file in the top folder.
    If not, see http://www.gnu.org/licenses/.

-->
<extensions>
    <extension>
        <!-- https://github.com/timgifford/maven-buildtime-extension -->
        <!-- to run it add `-Dbuildtime.output.log=true` to the mvn command -->
        <groupId>co.leantechniques</groupId>
        <artifactId>maven-buildtime-extension</artifactId>
        <version>3.0.5</version>
    </extension>

    <extension>
        <groupId>com.soebes.maven.extensions</groupId>
        <artifactId>maven-buildtime-profiler</artifactId>
        <version>0.5.0</version>
    </extension>

    <extension>
        <!-- requires enabling during execution: `-Dprofile -DprofileFormat=JSON,HTML` -->
        <groupId>fr.jcgay.maven</groupId>
        <artifactId>maven-profiler</artifactId>
        <version>3.3</version>
    </extension>
</extensions>



================================================
FILE: .onedev-buildspec.yml
================================================
version: 40
imports:
- projectPath: Templates
  revision: 0.0.8
jobs:
- name: Maven CI
  jobExecutor: linux
  steps:
  - !UseTemplateStep
    name: maven build & deploy
    templateName: Tigase Server - Maven build & deploy
    paramMatrix:
    - name: timestamp-to-make-distinct
      valuesProvider: !ScriptingValues
        scriptName: getDateTimestamp
      secret: false
    condition: SUCCESSFUL
    optional: false
  triggers:
  - !BranchUpdateTrigger {}
  projectDependencies:
  - projectPath: tigase/_server/tigase-utils
    buildProvider: !LastFinishedBuild
      jobName: Maven CI
    artifacts: '**'
  - projectPath: tigase/_server/tigase-xmltools
    buildProvider: !LastFinishedBuild
      jobName: Maven CI
    artifacts: '**'
  retryCondition: never
  maxRetries: 3
  retryDelay: 30
  timeout: 3600
  postBuildActions:
  - !SendNotificationAction
    condition: failed
    receivers: group(TigaseCoreTeam)


================================================
FILE: .readthedocs.yaml
================================================
# Required
version: 2

# Set the version of Python and other tools you might need
build:
  os: ubuntu-22.04
  tools:
    python: "3.11"

python:
  install:
    - requirements: src/main/restructured/requirements.txt

# Build documentation in the docs/ directory with Sphinx
sphinx:
  configuration: src/main/restructured/conf.py

================================================
FILE: COPYING
================================================
                    GNU AFFERO GENERAL PUBLIC LICENSE
                       Version 3, 19 November 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.

  A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate.  Many developers of free software are heartened and
encouraged by the resulting cooperation.  However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.

  The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community.  It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server.  Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.

  An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals.  This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU Affero General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Remote Network Interaction; Use with the GNU General Public License.

  Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software.  This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time.  Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source.  For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code.  There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<http://www.gnu.org/licenses/>.

================================================
FILE: License.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <title>GNU Affero General Public License - GNU Project - Free Software Foundation (FSF)</title>
</head>
 <link rel="alternate" type="application/rdf+xml"
       href="http://www.gnu.org/licenses/agpl-3.0.rdf" />
<body>
<h3 style="text-align: center;">GNU AFFERO GENERAL PUBLIC LICENSE</h3>
<p style="text-align: center;">Version 3, 19 November 2007</p>

<p>Copyright &copy; 2007 Free Software Foundation,
Inc. &lt;<a href="http://fsf.org/">http://fsf.org/</a>&gt;
 <br />
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.</p>

<h3><a name="preamble"></a>Preamble</h3>

<p>The GNU Affero General Public License is a free, copyleft license
for software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.</p>

<p>The licenses for most software and other practical works are
designed to take away your freedom to share and change the works.  By
contrast, our General Public Licenses are intended to guarantee your
freedom to share and change all versions of a program--to make sure it
remains free software for all its users.</p>

<p>When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.</p>

<p>Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.</p>

<p>A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate.  Many developers of free software are heartened and
encouraged by the resulting cooperation.  However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.</p>

<p>The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community.  It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server.  Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.</p>

<p>An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals.  This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.</p>

<p>The precise terms and conditions for copying, distribution and
modification follow.</p>

<h3><a name="terms"></a>TERMS AND CONDITIONS</h3>

<h4><a name="section0"></a>0. Definitions.</h4>

<p>&quot;This License&quot; refers to version 3 of the GNU Affero General Public
License.</p>

<p>&quot;Copyright&quot; also means copyright-like laws that apply to other kinds
of works, such as semiconductor masks.</p>

<p>&quot;The Program&quot; refers to any copyrightable work licensed under this
License.  Each licensee is addressed as &quot;you&quot;.  &quot;Licensees&quot; and
&quot;recipients&quot; may be individuals or organizations.</p>

<p>To &quot;modify&quot; a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a &quot;modified version&quot; of the
earlier work or a work &quot;based on&quot; the earlier work.</p>

<p>A &quot;covered work&quot; means either the unmodified Program or a work based
on the Program.</p>

<p>To &quot;propagate&quot; a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.</p>

<p>To &quot;convey&quot; a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.</p>

<p>An interactive user interface displays &quot;Appropriate Legal Notices&quot;
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.</p>

<h4><a name="section1"></a>1. Source Code.</h4>

<p>The &quot;source code&quot; for a work means the preferred form of the work
for making modifications to it.  &quot;Object code&quot; means any non-source
form of a work.</p>

<p>A &quot;Standard Interface&quot; means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.</p>

<p>The &quot;System Libraries&quot; of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
&quot;Major Component&quot;, in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.</p>

<p>The &quot;Corresponding Source&quot; for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.</p>

<p>The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.</p>

<p>The Corresponding Source for a work in source code form is that
same work.</p>

<h4><a name="section2"></a>2. Basic Permissions.</h4>

<p>All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.</p>

<p>You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.</p>

<p>Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.</p>

<h4><a name="section3"></a>3. Protecting Users' Legal Rights From Anti-Circumvention Law.</h4>

<p>No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.</p>

<p>When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.</p>

<h4><a name="section4"></a>4. Conveying Verbatim Copies.</h4>

<p>You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.</p>

<p>You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.</p>

<h4><a name="section5"></a>5. Conveying Modified Source Versions.</h4>

<p>You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:</p>

<ul>

<li>a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.</li>

<li>b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    &quot;keep intact all notices&quot;.</li>

<li>c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.</li>

<li>d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.</li>

</ul>

<p>A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
&quot;aggregate&quot; if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.</p>

<h4><a name="section6"></a>6. Conveying Non-Source Forms.</h4>

<p>You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:</p>

<ul>

<li>a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.</li>

<li>b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.</li>

<li>c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.</li>

<li>d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.</li>

<li>e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.</li>

</ul>

<p>A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.</p>

<p>A &quot;User Product&quot; is either (1) a &quot;consumer product&quot;, which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, &quot;normally used&quot; refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.</p>

<p>&quot;Installation Information&quot; for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.</p>

<p>If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).</p>

<p>The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.</p>

<p>Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.</p>

<h4><a name="section7"></a>7. Additional Terms.</h4>

<p>&quot;Additional permissions&quot; are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.</p>

<p>When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.</p>

<p>Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:</p>

<ul>

<li>a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or</li>

<li>b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or</li>

<li>c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or</li>

<li>d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or</li>

<li>e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or</li>

<li>f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.</li>

</ul>

<p>All other non-permissive additional terms are considered &quot;further
restrictions&quot; within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further restriction,
you may remove that term.  If a license document contains a further
restriction but permits relicensing or conveying under this License, you
may add to a covered work material governed by the terms of that license
document, provided that the further restriction does not survive such
relicensing or conveying.</p>

<p>If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.</p>

<p>Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.</p>

<h4><a name="section8"></a>8. Termination.</h4>

<p>You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).</p>

<p>However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.</p>

<p>Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.</p>

<p>Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.</p>

<h4><a name="section9"></a>9. Acceptance Not Required for Having Copies.</h4>

<p>You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.</p>

<h4><a name="section10"></a>10. Automatic Licensing of Downstream Recipients.</h4>

<p>Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.</p>

<p>An &quot;entity transaction&quot; is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.</p>

<p>You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.</p>

<h4><a name="section11"></a>11. Patents.</h4>

<p>A &quot;contributor&quot; is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's &quot;contributor version&quot;.</p>

<p>A contributor's &quot;essential patent claims&quot; are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, &quot;control&quot; includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.</p>

<p>Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.</p>

<p>In the following three paragraphs, a &quot;patent license&quot; is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To &quot;grant&quot; such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.</p>

<p>If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  &quot;Knowingly relying&quot; means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.</p>

<p>If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.</p>

<p>A patent license is &quot;discriminatory&quot; if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.</p>

<p>Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.</p>

<h4><a name="section12"></a>12. No Surrender of Others' Freedom.</h4>

<p>If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.</p>

<h4><a name="section13"></a>13. Remote Network Interaction; Use with the GNU General Public License.</h4>

<p>Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software.  This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.</p>

<p>Notwithstanding any other provision of this License, you have permission
to link or combine any covered work with a work licensed under version 3
of the GNU General Public License into a single combined work, and to
convey the resulting work.  The terms of this License will continue to
apply to the part which is the covered work, but the work with which it is
combined will remain governed by version 3 of the GNU General Public
License.</p>

<h4><a name="section14"></a>14. Revised Versions of this License.</h4>

<p>The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time.  Such new
versions will be similar in spirit to the present version, but may differ
in detail to address new problems or concerns.</p>

<p>Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU Affero
General Public License &quot;or any later version&quot; applies to it, you have
the option of following the terms and conditions either of that
numbered version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number
of the GNU Affero General Public License, you may choose any version
ever published by the Free Software Foundation.</p>

<p>If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that
proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Program.</p>

<p>Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.</p>

<h4><a name="section15"></a>15. Disclaimer of Warranty.</h4>

<p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>

<h4><a name="section16"></a>16. Limitation of Liability.</h4>

<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.</p>

<h4><a name="section17"></a>17. Interpretation of Sections 15 and 16.</h4>

<p>If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.</p>

</body></html>


================================================
FILE: README.md
================================================
> # NOTE: Tigase has new home at [tigase.dev](https://tigase.dev/) - please submit all issues/pull-requests there in the relevant sub-project!

<p align="center">
  <a href="https://tigase.net/">
    <img
      alt="Highly optimized, extremely modular and very flexible XMPP/Jabber server"
      src="https://github.com/tigase/website-assets/blob/master/tigase/images/tigase-logo.png?raw=true"
      width="300"
    />
  </a>
</p>

<p align="center">
  Highly optimized, extremely modular and very flexible XMPP/Jabber server
</p>

<p align="center">
  <img alt="Tigase Tigase Logo" src="https://github.com/tigase/website-assets/blob/master/tigase/images/tigase-logo.png?raw=true" width="25"/>
  <a href='https://compliance.conversations.im/server/tigase.im'><img src='https://compliance.conversations.im/badge/tigase.im'></a> 
  <a href='https://xmpp.net/result.php?domain=tigase.im&amp;type=client'><img src='https://xmpp.net/badge.php?domain=tigase.im' alt='xmpp.net score' /></a>
  <img src='https://img.shields.io/github/downloads/tigase/tigase-server/total' alt='GitHub All Releases' />
</p>

# What it is

Tigase XMPP Server is highly optimized, extremely modular and very flexible XMPP/Jabber server written in Java.

This repository contains source code of the main part of the Tigase XMPP Server.

*The project exists since 2004 and we have recently moved it over to GitHub.*

Other Tigase projects related to XMPP:

Tigase XMPP Server addons:
* [MUC Component](https://github.com/tigase/tigase-muc) - Multi-User Chat: [XEP-0045](https://xmpp.org/extensions/xep-0045.html)
* [PubSub Component](https://github.com/tigase/tigase-pubsub) - Publish-Subscribe: [XEP-0060](https://xmpp.org/extensions/xep-0060.html) and Personal Eventing Protocol: [XEP-0163](https://xmpp.org/extensions/xep-0163.html)
* [Socks5 Proxy Component](https://github.com/tigase/tigase-socks5) - SOCKS5 Bytestreams: [XEP-0065](https://xmpp.org/extensions/xep-0065.html)
* [STUN Component](https://github.com/tigase/tigase-stun) - [STUN](https://en.wikipedia.org/wiki/STUN) Component for Tigase
* [HTTP API Component](https://github.com/tigase/tigase-http-api) - Component providing easy to use HTTP endpoints for server management and integration based on JDK built-in HTTP server.
* [Jetty HTTP API Component](https://github.com/tigase/tigase-http-api-jetty) - High performance and high load component providing easy to use HTTP endpoints for server management and integration based on [Jetty HTTP Server](https://www.eclipse.org/jetty/).
* [MongoDB Connector](https://github.com/tigase/tigase-mongodb) - Connector adding support for [MongoDB](https://www.mongodb.com) database to Tigase server.
* [Message Archiving Component](https://github.com/tigase/tigase-message-archiving) - Component providing Message Archiving [XEP-0136](https://xmpp.org/extensions/xep-0136.html) and Message Archive Management [XEP-0313](https://xmpp.org/extensions/xep-0313.html) support.

Tools: 
* [Database Migrator Tool](https://github.com/tigase/tigase-database-migrator) - Tools helping with migration from other XMPP servers to Tigase based system.
* [TTS-NG Test Suite](https://github.com/tigase/tigase-tts-ng) - Test Suite to run automated tests for the Tigase XMPP Server
* [Tigase Monitor Console](https://github.com/tigase/tigase-monitor) - Stand-alone application for the Tigase XMPP Server monitoring and management console.
* [Atom DSL Syntax](https://github.com/tigase/tigase-dsl-syntax-highlighter-for-atom) - [Atom](https://atom.io/) DSL syntex highlighter for Tigase XMPP Server configuration files.
* [IntelliJ IDEA DSL Syntax](https://github.com/tigase/tigase-dsl-syntax-highlighter-for-atom) - [IntelliJ IDEA IDE](https://www.jetbrains.com/idea/) DSL syntex highlighter for Tigase XMPP Server configuration files.

Tigase XMPP Clients:
* [StorkIM Client](https://github.com/tigase/stork) - Android XMPP Client
* [SiskinIM Client](https://github.com/tigase/siskin-im) - iOS XMPP Client
* [BeagleIM Client](https://github.com/tigase/beagle-im) - MacOS XMPP Client
* [Swift Library](https://github.com/tigase/tigase-swift) - Tigase Swift XMPP Library
* [Swift OMEMO Plugin](https://github.com/tigase/tigase-swift-omemo) - OMEMO support for Tigase Swift XMPP library

Tigase based IoT:
* [Tigase IoT Framework](https://github.com/tigase/tigase-iot-framework) - Easy to use IoT framework to communicate and control Iot devices over XMPP
* [Tigase IoT Framework - Examples](https://github.com/tigase/tigase-iot-framework-examples) - Examples on how to extend the Tigase IoT Framework with support for different devices
* [Tigase RPi Library](https://github.com/tigase/tigase-rpi) -  Java low-level library to control sensors and devices connected to RasperryPi.

# Features

Tigase XMPP Server contains full support for [RFC 6120 - XMPP CORE](http://xmpp.org/rfcs/rfc6120.html), [RFC 6121 - XMPP IM](http://xmpp.org/rfcs/rfc6120.html) and [RFC 7395 - XMPP over WebSockets](https://tools.ietf.org/html/rfc7395) making it accessible using XMPP client connections:
* over TCP
* over HTTP/HTTPS (BOSH)
* over WebSockets

and over server-to-server connections as well as over XMPP component connections.

Additionally Tigase XMPP Server provides HTTP API for integration with other services unable to communicate over XMPP.

Moveover, Tigase XMPP Server comes with support for Push Notifications making it possible to push notification to mobile devices.

Following features are supported by Tigase XMPP Server:
* [XEP-0016: Flexible Offline Message Retrieval](http://xmpp.org/extensions/xep-0016.html)
* [XEP-0030: Service Discovery](http://xmpp.org/extensions/xep-0030.html)
* [XEP-0045: Multi User Chat](http://xmpp.org/extensions/xep-0045.html)
* [XEP-0060: Publish-Subscribe](http://xmpp.org/extensions/xep-0060.html)
* [XEP-0079: Advanced Message Processing](http://xmpp.org/extensions/xep-0079.html)
* [XEP-0114: Jabber Component Protocol](http://xmpp.org/extensions/xep-0114.html)
* [XEP-0115: Entity Capabilities](http://xmpp.org/extensions/xep-0115.html)
* [XEP-0133: Service Administration](http://xmpp.org/extensions/xep-0133.html)
* [XEP-0136: Message Archiving](http://xmpp.org/extensions/xep-0136.html)
* [XEP-0163: Personal Eventing Protocol](http://xmpp.org/extensions/xep-0163.html)
* [XEP-0198: Stream Management](http://xmpp.org/extensions/xep-0198.html)
* [XEP-0199: XMPP Ping](http://xmpp.org/extensions/xep-0199.html)
* [XEP-0206: XMPP over BOSH](http://xmpp.org/extensions/xep-0206.html)
* [XEP-0225: Component Connections](http://xmpp.org/extensions/xep-0225.html)
* [XEP-0237: Roster Versioning](http://xmpp.org/extensions/xep-0237.html)
* [XEP-0280: Message Carbons](http://xmpp.org/extensions/xep-0280.html)
* [XEP-0313: Message Archive Management](http://xmpp.org/extensions/xep-0313.html)
* [XEP-0357: Push Notifications](http://xmpp.org/extensions/xep-0357.html)
* [XEP-0363: HTTP File Upload](http://xmpp.org/extensions/xep-0363.html)
* and many more...

# Support

When looking for support, please first search for answers to your question in the available online channels:

* Our online documentation: [Tigase Docs](https://docs.tigase.net)
* Existing issues in relevant project, for Tigase Server it's: [Tigase XMPP Server GitHub issues](https://github.com/tigase/tigase-server/issues)

If you didn't find an answer in the resources above, feel free to submit your question as [new issue on GitHub](https://github.com/tigase/tigase-server/issues/new/choose) or, if you have valid support subscription, open [new support ticket](https://tigase.net/technical-support).

# Downloads

You can download distribution version of the Tigase XMPP Server directly from [here](https://github.com/tigase/tigase-server/releases).

If you wish to downloand SNAPSHOT build of the development version of Tigase XMPP Server you can grab it from [here](https://build.tigase.net/nightlies/dists/latest/tigase-server-dist-max.zip).

# Installation and usage

Documentation of the project is part of the Tigase XMPP Server distribution package. Quickstart guide is also available [here](https://docs.tigase.net/en/latest/Tigase_Administration/Quick_Start_Guide/Intro.html).

# Compilation 

Compilation of the project is very easy as it is typical Maven project. All you need to do is to execute
````bash
mvn package test
````
to compile the project and run unit tests.

# License

<img alt="Tigase Tigase Logo" src="https://github.com/tigase/website-assets/blob/master/tigase/images/tigase-logo.png?raw=true" width="25"/> Official <a href="https://tigase.net/">Tigase</a> repository is available at: https://github.com/tigase/tigase-server/.

Copyright (c) 2004 Tigase, Inc.

Licensed under AGPL License Version 3. Other licensing options available upon request.


================================================
FILE: etc/bosh-extra-headers.txt
================================================
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type
Access-Control-Max-Age: 86400


================================================
FILE: etc/client-access-policy.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--

    Tigase XMPP Server - The instant messaging server
    Copyright (C) 2004 Tigase, Inc. (office@tigase.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, version 3 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. Look for COPYING file in the top folder.
    If not, see http://www.gnu.org/licenses/.

-->
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from http-request-headers="*">
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

================================================
FILE: etc/config.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

#
# Framework config properties.
#

# To override the packages the framework exports by default from the
# class path, set this variable.
#org.osgi.framework.system.packages=

# To append packages to the default set of exported system packages,
# set this value.
#org.osgi.framework.system.packages.extra=javax.*

# The following property makes specified packages from the class path
# available to all bundles. You should avoid using this property.
org.osgi.framework.bootdelegation=sun.*,com.sun.*,org.xml.sax.*

# Felix tries to guess when to implicitly boot delegate in certain
# situations to ease integration without outside code. This feature
# is enabled by default, uncomment the following line to disable it.
#felix.bootdelegation.implicit=false

# The following property explicitly specifies the location of the bundle
# cache, which defaults to "felix-cache" in the current working directory.
# If this value is not absolute, then the felix.cache.rootdir controls
# how the absolute location is calculated. (See next property)
#org.osgi.framework.storage=${dollar}{felix.cache.rootdir}/felix-cache

# The following property is used to convert a relative bundle cache
# location into an absolute one by specifying the root to prepend to
# the relative cache path. The default for this property is the
# current working directory.
#felix.cache.rootdir=${dollar}{user.dir}

# The following property controls whether the bundle cache is flushed
# the first time the framework is initialized. Possible values are
# "none" and "onFirstInit"; the default is "none".
org.osgi.framework.storage.clean=onFirstInit

# The following property determines which actions are performed when
# processing the auto-deploy directory. It is a comma-delimited list of
# the following values: 'install', 'start', 'update', and 'uninstall'.
# An undefined or blank value is equivalent to disabling auto-deploy
# processing.
felix.auto.deploy.action=install,start

# The following property specifies the directory to use as the bundle
# auto-deploy directory; the default is 'bundle' in the working directory.
felix.auto.deploy.dir=jars

# The following property is a space-delimited list of bundle URLs
# to install when the framework starts. The ending numerical component
# is the target start level. Any number of these properties may be
# specified for different start levels.
#felix.auto.install.1=

# The following property is a space-delimited list of bundle URLs
# to install and start when the framework starts. The ending numerical
# component is the target start level. Any number of these properties
# may be specified for different start levels.
#felix.auto.start.1=

felix.log.level=1

# Sets the initial start level of the framework upon startup.
#org.osgi.framework.startlevel.beginning=1

# Sets the start level of newly installed bundles.
#felix.startlevel.bundle=1

# Felix installs a stream and content handler factories by default,
# uncomment the following line to not install them.
#felix.service.urlhandlers=false

# The launcher registers a shutdown hook to cleanly stop the framework
# by default, uncomment the following line to disable it.
felix.shutdown.hook=true

#
# Bundle config properties.
#

osgi.shell.telnet.ip=127.0.0.1
osgi.shell.telnet.port=9070
osgi.shell.telnet.maxconn=2
osgi.shell.telnet.socketTimeout=0

# debugging
#felix.log.level=4
#org.apache.felix.http.debug=true

================================================
FILE: etc/config.tdsl
================================================
'config-type' = 'setup'

http () {
    setup () {
        'admin-user' = 'admin'
        'admin-password' = 'tigase'
    }
}

================================================
FILE: etc/cross-domain-policy.xml
================================================
<!--

    Tigase XMPP Server - The instant messaging server
    Copyright (C) 2004 Tigase, Inc. (office@tigase.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, version 3 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. Look for COPYING file in the top folder.
    If not, see http://www.gnu.org/licenses/.

-->
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*" to-ports="80,8080,5222,5223"/>
    <site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>


================================================
FILE: etc/init-debian.properties
================================================
config-type = --gen-config-def
--admins = admin@$HOST_NAME
--virt-hosts = $HOST_NAME
--debug=server
--user-db-uri = jdbc:derby:/var/lib/tigase/tigase-derbydb;create=true;logDevice=/var/log/tigase
basic-conf/logging/java.util.logging.FileHandler.pattern = /var/log/tigase/tigase.log
vhost-man/vhost-repo-uri = jdbc:derby:/var/lib/tigase/tigase-derbydb;create=true;logDevice=/var/log/tigase


================================================
FILE: etc/init-mysql.properties
================================================
# Load standard set of the server components.
# Look at the http://www.tigase.org/configuration-wizards
# document for other possible values. Normally you don't
# need to change this line.
config-type=--gen-config-def
# List of administrator accounts, please replace them with
# administrator accounts in your installation
--admins=admin@devel.tigase.org,admin@test-d
# The line says that the database used by the Tigase server is 'mysql'
# Look at the configuration wizards article for different options
# You can also put here a Java class name if you have a custom
# implementation for a database connector.
--user-db=mysql
# The line contains the database connection string. This is database
# specific string and for each kind of database it may look differently.
# Below string is for MySQL database. Please modify it for your system.
# MySQL connector requires connection string in the following format:
# jdbc:mysql://[hostname]/[database name]?user=[user name]&password=[user password]
--user-db-uri=jdbc:mysql://localhost/tigasedb?user=tigase_user&password=mypass
# Virtual domains for your server installation, comma separated list of vhosts
--virt-hosts=devel.tigase.org,test-d
# Select what packages you want to have logging switched for
# The below setting is recommended for the initail setup and it is required
# when asking for help with setting the server up
--debug=server
# Activate HTTP API component for web based configuration and installation
--comp-name-1=http
--comp-class-1=tigase.http.HttpMessageReceiver


================================================
FILE: etc/jmx.access
================================================
######################################################################
#     Default Access Control File for Remote JMX(TM) Monitoring
######################################################################
#
# Access control file for Remote JMX API access to monitoring.
# This file defines the allowed access for different roles.  The
# password file (jmxremote.password by default) defines the roles and their
# passwords.  To be functional, a role must have an entry in
# both the password and the access files.
#
# Default location of this file is $JRE/lib/management/jmxremote.access
# You can specify an alternate location by specifying a property in 
# the management config file $JRE/lib/management/management.properties
# (See that file for details)
#
# The file format for password and access files is syntactically the same
# as the Properties file format.  The syntax is described in the Javadoc
# for java.util.Properties.load.
# Typical access file has multiple  lines, where each line is blank,
# a comment (like this one), or an access control entry.
#
# An access control entry consists of a role name, and an
# associated access level.  The role name is any string that does not
# itself contain spaces or tabs.  It corresponds to an entry in the
# password file (jmxremote.password).  The access level is one of the
# following:
#       "readonly" grants access to read attributes of MBeans.
#                   For monitoring, this means that a remote client in this
#                   role can read measurements but cannot perform any action
#                   that changes the environment of the running program.
#       "readwrite" grants access to read and write attributes of MBeans,
#                   to invoke operations on them, and to create or remove them.
#		    This access should be granted to only trusted clients, 
#                   since they can potentially interfere with the smooth
#		    operation of a running program 
#
# A given role should have at most one entry in this file.  If a role
# has no entry, it has no access.
# If multiple entries are found for the same role name, then the last
# access entry is used.
#
#
# Default access control entries:
# o The "monitorRole" role has readonly access.  
# o The "controlRole" role has readwrite access.

monitor readonly
admin readwrite


================================================
FILE: etc/jmx.password
================================================
# ----------------------------------------------------------------------
#           Template for jmxremote.password
#
# o Copy this template to jmxremote.password
# o Set the user/password entries in jmxremote.password
# o Change the permission of jmxremote.password to read-only
#   by the owner.
#
# See below for the location of jmxremote.password file.
# ----------------------------------------------------------------------

##############################################################
#        Password File for Remote JMX Monitoring
##############################################################
#
# Password file for Remote JMX API access to monitoring.  This
# file defines the different roles and their passwords.  The access
# control file (jmxremote.access by default) defines the allowed
# access for each role.  To be functional, a role must have an entry
# in both the password and the access files.
#
# Default location of this file is $JRE/lib/management/jmxremote.password
# You can specify an alternate location by specifying a property in 
# the management config file $JRE/lib/management/management.properties
# or by specifying a system property (See that file for details).


##############################################################
#    File permissions of the jmxremote.password file
##############################################################
#      Since there are cleartext passwords stored in this file,
#      this file must be readable by ONLY the owner,
#      otherwise the program will exit with an error. 
#
# The file format for password and access files is syntactically the same
# as the Properties file format.  The syntax is described in the Javadoc
# for java.util.Properties.load.
# Typical password file has multiple  lines, where each line is blank,
# a comment (like this one), or a password entry.
#
#
# A password entry consists of a role name and an associated
# password.  The role name is any string that does not itself contain
# spaces or tabs.  The password is again any string that does not
# contain spaces or tabs.  Note that passwords appear in the clear in
# this file, so it is a good idea not to use valuable passwords.
#
# A given role should have at most one entry in this file.  If a role
# has no entry, it has no access.
# If multiple entries are found for the same role name, then the last one
# is used.
#
# In a typical installation, this file can be read by anybody on the
# local machine, and possibly by people on other machines.
# For # security, you should either restrict the access to this file,
# or specify another, less accessible file in the management config file
# as described above.
#
# Following are two commented-out entries.  The "measureRole" role has
# password "QED".  The "controlRole" role has password "R&D".
#
# monitorRole  QED
# controlRole   R&D

admin admin_pass
monitor monitor_pass

================================================
FILE: etc/logback.xml
================================================
<!--

    Tigase XMPP Server - The instant messaging server
    Copyright (C) 2004 Tigase, Inc. (office@tigase.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, version 3 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. Look for COPYING file in the top folder.
    If not, see http://www.gnu.org/licenses/.

-->

<!--
To enable logback for Tigase packages
1) uncomment LevelChangePropagator context listener
2) add jul-to-slf4j ('org.slf4j.bridge.SLF4JBridgeHandler') to the list of handlers:
```
logging () {
    rootHandlers = [ 'java.util.logging.ConsoleHandler', 'java.util.logging.FileHandler', 'org.slf4j.bridge.SLF4JBridgeHandler' ]
}
```
-->
<configuration scan="true"  scanPeriod="120 seconds">
<!--    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>-->

<!--    <shutdownHook/>-->

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- daily rollover, files will be compressed -->
        <file>logs/${HOSTNAME}/tigase.logback.log</file>

        <!-- set immediateFlush to true to make sure everything is logged and
        to false for much higher logging throughput -->
        <immediateFlush>false</immediateFlush>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- automatically compress rolled files -->
            <fileNamePattern>logs/${HOSTNAME}/tigase.logback.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>

            <!-- keep 7 days' worth of history capped at 1GB total size and 250M per-file -->
            <maxFileSize>250MB</maxFileSize>
            <maxHistory>7</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>

        <append>true</append>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%-125(%yellow([%d{yyyy-MM-dd HH:mm:ss.SSS}]) [%highlight(%-5level)] [%20(%thread)] %blue(%logger{5}.%method\(\))): %msg %n</pattern>
        </encoder>
    </appender>

    <!-- Offers higher throughput but Method name won't be available in logs, enabled in appender-ref -->
    <!--<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">-->
    <!--    <appender-ref ref="FILE" />-->
    <!--    <queueSize>1024</queueSize>-->
    <!--</appender>-->

    <!-- possible levels (TRACE, DEBUG, INFO, WARN and ERROR) -->
    <!-- Mappings to JUL levels are described in http://www.slf4j.org/api/org/slf4j/bridge/SLF4JBridgeHandler.html  -->
    <logger name="tigase.server" level="DEBUG"/>
    <logger name="tigase.xmpp.impl" level="TRACE"/>
<!--    <logger name="tigase.io" level="TRACE"/>-->
<!--    <logger name="tigase.net" level="TRACE"/>-->
<!--    <logger name="tigase.xmpp" level="DEBUG"/>-->

    <!--jetty / http-api configuration-->
    <logger name="org.eclipse.jetty" level="warn"/>

    <root level="INFO">
        <!-- ASYNC appender offers higher throughput but Method name won't be available in logs -->
        <appender-ref ref="FILE"/>
    </root>
</configuration>



================================================
FILE: etc/snmp.acl
================================================
# ----------------------------------------------------------------------
#           Template for SNMP Access Control List File
#
# o Copy this template to snmp.acl
# o Set access control for SNMP support
# o Change the permission of snmp.acl to be read-only
#   by the owner.
#
# See below for the location of snmp.acl file.
# ----------------------------------------------------------------------

############################################################
#            SNMP Access Control List File  
############################################################
#
# Default location of this file is $JRE/lib/management/snmp.acl.
# You can specify an alternate location by specifying a property in 
# the management config file $JRE/lib/management/management.properties
# or by specifying a system property (See that file for details).
#


##############################################################
#        File permissions of the snmp.acl file
##############################################################
# 
#      Since there are cleartext community strings stored in this file,
#      this ACL file must be readable by ONLY the owner,
#      otherwise the program will exit with an error. 
#
##############################################################
#		Format of the acl group
##############################################################
#
# communities: a list of SNMP community strings to which the
#              access control applies separated by commas.
#
# access: either "read-only" or "read-write".
#
# managers: a list of hosts to be granted the access rights.
#    Each can be expressed as any one of the following:
#    - hostname: hubble
#    - ip v4 and v6 addresses: 123.456.789.12 , fe80::a00:20ff:fe9b:ea82
#    - ip v4 and v6 netmask prefix notation: 123.456.789.0/24, 
#         fe80::a00:20ff:fe9b:ea82/64  
#      see RFC 2373 (http://www.ietf.org/rfc/rfc2373.txt)
#
# An example of two community groups for multiple hosts:
#    acl = {
#     {
#       communities = public, private
#       access = read-only
#       managers = hubble, snowbell, nanak
#     }
#     {
#       communities = jerry
#       access = read-write
#       managers = hubble, telescope
#     }
#    }
# 
##############################################################
#                   Format of the trap group
##############################################################
#
# trap-community: a single SNMP community string that will be included
#                 in  the traps sent to the hosts.
#
# hosts: a list of hosts to which the SNMP agent will send traps.
#
# An example of two trap community definitions for multiple hosts:
#    trap = {
#      {
#        trap-community = public
#        hosts = hubble, snowbell
#      }
#      {
#        trap-community = private
#        hosts = telescope
#      }
#    }
#
############################################################
#
#  Update the community strings (public and private) below
#  before copying this template file
# 	
# Common SNMP ACL Example
# ------------------------
#
# o Only localhost can connect, and access rights
#   are limited to read-only
# o Traps are sent to localhost only
#
#
acl = {
  {
    communities = public, private
    access = read-write
    managers = localhost, devel.tigase.org
  }
}
# 
# 
# trap = {
#   {
#     trap-community = public
#     hosts = localhost 
#   }
# }


================================================
FILE: etc/tigase.conf
================================================
#osgiEnabled=(true|false)
#osgiEnabled=false
OSGI=${osgiEnabled}
ENC="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
#GC=" -XX:NewRatio=2 -XX:-ReduceInitialCardMarks "
#EX="-XX:+OptimizeStringConcat -XX:+DoEscapeAnalysis -XX:+UseNUMA -XX:+UseCompressedOops -XX:+ShowCodeDetailsInExceptionMessages -XX:+UseCompactObjectHeaders "

#FULL_STACKTRACES=" -XX:-OmitStackTraceInFastThrow "

#REMOTE_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n "
#GC_DEBUG=" -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Xloggc:logs/jvm.log -verbose:gc "
#JVM_DEBUG=" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/tigase/heapdump.bin "
#JVM_RESTART_ON_OOM=" -XX:+CrashOnOutOfMemoryError " #it may be preferred to restart JVM when OOM happens to restore service to operational state

#TLS_DEBUG=" -Djavax.net.debug=ssl:handshake:session:defaultctx "

## Note:Enabling NMT causes a 5% -10% performance overhead!
#JVM_MEMORY=" -XX:+UnlockDiagnosticVMOptions -XX:NativeMemoryTracking=summary -XX:+PrintNMTStatistics "

#JMX_REMOTE_IP="-Djava.rmi.server.hostname=0.0.0.0"

## AWS hostname resolver
#export INTERNAL_IP="$(curl -s http://169.254.169.254/latest/meta-data/local-hostname)"
#export EXTERNAL_IP="$(curl -s http://169.254.169.254/latest/meta-data/public-hostname)"

#JAVA_HOME="${JDKPath}"
CLASSPATH=""

#DISABLE_LOGGER_COLOR=" -Ddisable_logger_color=true "

#### Variables used to specify hostname and port of the database instance; can be used in conjunction
#### with scripts/wait-for-it.sh script, that checks if the given coordinates are ready
#DB_HOST=
#DB_PORT=

## Possible memory allocation improvements on some CentOS/RHEL systems
## https://www.ibm.com/developerworks/community/blogs/kevgrig/entry/linux_glibc_2_10_rhel_6_malloc_may_show_excessive_virtual_memory_usage?lang=en
# export MALLOC_ARENA_MAX=4

## You should explicitly set Young Generation size only if you know what
## you are doing and only after running Load Tests that confirms the assumption!
#JAVA_YOUNG_GEN_EXPLICIT_SIZE=" -Xmn<young size>[g|m|k] "

## Heap memory settings should be adjusted on per deployment basis to utilize all resources!
## When configuring consider total of: Xmx/HEAP + (Xss * number of threads)
#PRODUCTION_HEAP_SETTINGS=" -XX:MaxRAMPercentage=80 " # dynamic sizing, *preferred* and more universal
#PRODUCTION_HEAP_SETTINGS=" -Xms5g -Xmx5g " # setting fixed size of HEAP

## Per-thread stack size on top of HEAP!
JAVA_XSS=" -Xss228k "
## Uncomment and adjust if needed (most likely only on servers with more than 64 cores)
#JAVA_DIRECT_MEMORY=" -XX:MaxDirectMemorySize=128m "
JAVA_METASPACE=" -XX:MaxMetaspaceSize=160m " # because of aws/s3

JAVA_OPTIONS="${GC} ${GC_DEBUG} ${JVM_DEBUG} ${JVM_RESTART_ON_OOM} ${TLS_DEBUG} ${JVM_MEMORY} ${REMOTE_DEBUG} ${EX} ${ENC} ${FULL_STACKTRACES} ${JMX_REMOTE_IP} ${DISABLE_LOGGER_COLOR} -server ${PRODUCTION_HEAP_SETTINGS} ${JAVA_YOUNG_GEN_EXPLICIT_SIZE} ${JAVA_XSS} ${JAVA_DIRECT_MEMORY} ${JAVA_METASPACE} "
TIGASE_OPTIONS=" "


================================================
FILE: licenseheader.txt
================================================
<#if licenseFirst??>
${licenseFirst}
</#if>
${licensePrefix}Tigase Jabber/XMPP Server
${licensePrefix}Copyright (C) 2004-${date?date?string("yyyy")}, ${project.organization} <office@tigase.com>
${licensePrefix?replace(" +$", "", "r")}
${licensePrefix}This program is free software: you can redistribute it and/or modify
${licensePrefix}it under the terms of the GNU Affero General Public License as published by
${licensePrefix}the Free Software Foundation, either version 3 of the License,
${licensePrefix}or (at your option) any later version.
${licensePrefix?replace(" +$", "", "r")}
${licensePrefix}This program is distributed in the hope that it will be useful,
${licensePrefix}but WITHOUT ANY WARRANTY; without even the implied warranty of
${licensePrefix}MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
${licensePrefix}GNU Affero General Public License for more details.
${licensePrefix?replace(" +$", "", "r")}
${licensePrefix}You should have received a copy of the GNU Affero General Public License
${licensePrefix}along with this program. Look for COPYING file in the top folder.
${licensePrefix}If not, see http://www.gnu.org/licenses/.
<#if licenseLast??>
${licenseLast}
</#if>


================================================
FILE: package.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Tigase XMPP (Jabber) server ver ${APP_VER}</title>
	</head>
	<body bgcolor="white">
		<h2>About</h2>

		<p>Copyright &copy; 2004-2016 Tigase.org. &lt;http://www.tigase.org/&gt;</p>

		<p>The <strong>Tigase Jabber/XMPP Server</strong> is <strong>Open Source and Free (AGPLv3)</strong> <a href="https://www.oracle.com/java/index.html">Java</a> based server.</p>

		<p>The server offers complete implementation of the XMPP protocol with a long list
		of extensions. Effcient, reliable and very extensible can be easily integrated
		it with your systems.</p>

		<p>The unique features of the Tigase server are</p>

		<ol>
			<li>High performance and scalability. Was tested with up to 500 000 concurrent
			 users connected to a single machine and in cluster with over 1mln online users.</li>
			<li>High reliability. Tries to run as long as possible and tried to automaticaly
			 recover from detected problems.</li>
			<li>Built-in many self monitoring functions. You can check your systems statistics
			 via XMPP, JMX, HTTP, SNMP or you can automatically receive notifications about
			 possible problems.</li>
			<li>Scripting support - scripts can be loaded/reloaded at run time.
			 Many scripting languages are supported</li>
			<li>Virtual hosts support. You can have virtually unlimited virtual hosts which
			 can be added/removed at runtime. You can temporarily block vhost or limit
			 number of users per vhost.</li>
			<li>There is much more... check the official change log and the project website.</li>
		</ol>

		<p>Contributions to Tigase have been made by the following people:</p>
		<ul>
			<li><b>Tigase Team</li></b>
			<li>Eric Dziwea</li>
			<li>Artur Hefczyc (kobit)</li>
			<li>Wojciech Kapcia (wojtek)</li>
			<li>Bartosz Małkowski (bmalkow)</li>
			<li>Daniel Wisnewski</li>
			<li>Andrzej Wojcik</li>
			 <br>
			<li><b>Other Contributors</li></b>
			<li>Mateusz Fiołka</li>
			<li>Tomasz Sterna (smoku)</li>
			<li>Daniele Ricci</li>
			<li>... and many others.</li>
		</ul>

		<h2>Installtion, configuration and compilation</h2>

		<p>The most recent documentation on all these topics is always available in the
		project documentation website: <a href="http://docs.tigase.org/">www.tigase.org</a>. Please
		refer to the website for all the details and always up to date guides.</p>

		<p>You would probably want to start with Quick Start:
		<a href="http://docs.tigase.org/tigase-server/snapshot/Administration_Guide/html/#QuickStart">Tigase Quick Start</a> documentation.</p>

		<p>It is recommended that if you run into any issues, visit <a href="https://projects.tigase.org/">Tigase Projects</a> website to visit forums
		and view trouble tickets that may already have an answer to your question.  Different components may be in different sections of the projects website.
		Please ask general questions in the forum section of each project.
	  For example, the Tigase XMPP Server forums are located <a href="https://projects.tigase.org/projects/tigase-server/boards">here</a>.</p>

		<p>The website also contains lots of other useful information like load tests
		results, user discussions and online support and help always available to
		you.</p>

		<p>This is ${APP_VER} release of the server. Please include the exact version
		number in all correspondence regarding the server.</p>


		<img src="Tiger.image"/>	<img src="JavaPowered.image"/>	<img src="SolarisReady.image"/>
 </body>
</html>


================================================
FILE: pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--

    Tigase XMPP Server - The instant messaging server
    Copyright © 2004 Tigase, Inc. (office@tigase.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, version 3 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. Look for COPYING file in the top folder.
    If not, see http://www.gnu.org/licenses/.

-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>tigase</groupId>
        <artifactId>tigase-projects-parent</artifactId>
        <version>1.0.7-SNAPSHOT</version>
    </parent>

    <properties>
        <tests.excludeGroups>tigase.tests.SlowTest</tests.excludeGroups>
        <!--<tests.logger_properties>src/test/resources/logging.properties</tests.logger_properties>-->
        <tests.logger_properties />

        <license.inlineHeader>${inlineHeader_agpl3}</license.inlineHeader>
        <source_generation.main.phase>package</source_generation.main.phase>

        <documentation_phases.all_converters>generate-resources</documentation_phases.all_converters>
    </properties>

    <artifactId>tigase-server</artifactId>
    <packaging>bundle</packaging>
    <version>8.5.0-SNAPSHOT</version>

    <name>Tigase XMPP Server</name>
    <description>The instant messaging server</description>

    <issueManagement>
        <system>Redmine</system>
        <url>https://projects.tigase.org/projects/tigase-server</url>
    </issueManagement>

    <inceptionYear>2004</inceptionYear>

    <developers>
        <developer>
            <id>kobit</id>
            <name>Artur Hefczyc</name>
            <email>kobit@tigase.org</email>
            <url>http://www.tigase.org/</url>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>GNU Affero General Public License GPLv3</name>
            <url>http://www.gnu.org/licenses/agpl.txt</url>
        </license>
    </licenses>

    <scm>
        <connection>scm:git:${scm_repo_server_base}/server-core.git</connection>
        <developerConnection>scm:git:${scm_repo_server_base}/server-core.git</developerConnection>
        <url>${scm_repo_server_base}/server-core</url>
        <tag>HEAD</tag>
    </scm>

    <profiles>
        <profile>
            <id>osgi</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <packaging.type>bundle</packaging.type>
                <maven.javadoc.skip>true</maven.javadoc.skip>
            </properties>
        </profile>
        <profile>
            <id>jar</id>
            <properties>
                <packaging.type>jar</packaging.type>
                <maven.javadoc.skip>true</maven.javadoc.skip>
            </properties>
        </profile>
        <profile>
            <id>dist</id>
            <properties>
                <packaging.type>bundle</packaging.type>
                <maven.javadoc.skip>false</maven.javadoc.skip>
                <tests.excludeGroups />

                <guide_name>Tigase_Server</guide_name>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <includeDependencySources>true</includeDependencySources>
                                    <dependencySourceIncludes>
                                        <dependencySourceInclude>tigase:*</dependencySourceInclude>
                                    </dependencySourceIncludes>

                                    <maxmemory>512m</maxmemory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>3.1.0</version>
                        <executions>
                            <execution>
                                <id>resources</id>
                                <phase>package</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jarsigner-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>output-html</id>
                                <phase>${documentation_phases.html}</phase>
                                <configuration>
                                    <sourceDirectory>./src/main/asciidoc/admin</sourceDirectory>
                                    <outputDirectory>${guide_path}_-_Admin/html</outputDirectory>
                                    <backend>html5</backend>
                                </configuration>
                            </execution>
                            <execution>
                                <id>output-html-dev</id>
                                <phase>${documentation_phases.html}</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                                <configuration>
                                    <sourceDirectory>./src/main/asciidoc/devguide</sourceDirectory>
                                    <outputDirectory>${guide_path}_-_Developer/html</outputDirectory>
                                    <backend>html5</backend>
                                </configuration>
                            </execution>
                            <execution>
                                <id>output-docbook</id>
                                <phase>${documentation_phases.docbook}</phase>
                                <configuration>
                                    <sourceDirectory>./src/main/asciidoc/admin</sourceDirectory>
                                    <outputDirectory>${project.build.directory}/docbook-admin/</outputDirectory>
                                </configuration>
                            </execution>
                            <execution>
                                <id>output-docbook-dev</id>
                                <phase>${documentation_phases.docbook}</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                                <configuration>
                                    <sourceDirectory>./src/main/asciidoc/devguide</sourceDirectory>
                                    <outputDirectory>${project.build.directory}/docbook-devguide/</outputDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>com.agilejava.docbkx</groupId>
                        <artifactId>docbkx-maven-plugin</artifactId>
                        <executions>
                            <!--admin guide-->
                            <execution>
                                <id>generate-webhelp</id>
                                <phase>${documentation_phases.webhelp}</phase>
                                <configuration>
                                    <targetDirectory>${guide_path}_-_Admin/webhelp/</targetDirectory>
                                    <sourceDirectory>${project.build.directory}/docbook-admin/</sourceDirectory>
                                    <postProcess>
                                        <copy todir="${guide_path}_-_Admin/webhelp/css">
                                            <fileset dir="src/main/asciidoc/css" />
                                        </copy>
                                        <copy todir="${guide_path}_-_Admin/webhelp/images">
                                            <fileset dir="src/main/asciidoc/admin/images" />
                                        </copy>
                                    </postProcess>
                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-pdf</id>
                                <phase>${documentation_phases.pdf}</phase>
                                <configuration>
                                    <targetDirectory>${guide_path}_-_Admin/pdf/</targetDirectory>
                                    <imgSrcPath>${project.build.directory}/docbook-admin/</imgSrcPath>
                                    <sourceDirectory>${project.build.directory}/docbook-admin/</sourceDirectory>
                                    <postProcess>
                                        <move failonerror="false" file="${guide_path}_-_Admin/pdf/index.pdf" tofile="${guide_path}_-_Admin/pdf/${guide_name}_Guide.pdf" />
                                    </postProcess>
                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-html</id>
                                <phase>${documentation_phases.html_chunked}</phase>
                                <configuration>
                                    <targetDirectory>${guide_path}_-_Admin/html_chunk/</targetDirectory>
                                    <sourceDirectory>${project.build.directory}/docbook-admin/</sourceDirectory>
                                    <postProcess>
                                        <copy todir="${guide_path}_-_Admin/html_chunk/css">
                                            <fileset dir="src/main/asciidoc/css" />
                                        </copy>
                                        <copy todir="${guide_path}_-_Admin/html_chunk/images">
                                            <fileset dir="src/main/asciidoc/admin/images" />
                                        </copy>
                                    </postProcess>
                                </configuration>
                            </execution>
                            <!--dev guide-->
                            <execution>
                                <id>generate-webhelp-devguide</id>
                                <phase>${documentation_phases.webhelp}</phase>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <configuration>
                                    <targetDirectory>${guide_path}_-_Developer/webhelp/</targetDirectory>
                                    <sourceDirectory>${project.build.directory}/docbook-devguide/</sourceDirectory>
                                    <postProcess>
                                        <copy todir="${guide_path}_-_Developer/webhelp/css">
                                            <fileset dir="src/main/asciidoc/css" />
                                        </copy>
                                        <copy todir="${guide_path}_-_Developer/webhelp/images">
                                            <fileset dir="src/main/asciidoc/devguide/images" />
                                        </copy>
                                    </postProcess>

                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-pdf-devguide</id>
                                <phase>${documentation_phases.pdf}</phase>
                                <goals>
                                    <goal>generate-pdf</goal>
                                </goals>
                                <configuration>
                                    <targetDirectory>${guide_path}_-_Developer/pdf/</targetDirectory>
                                    <imgSrcPath>${project.build.directory}/docbook-devguide/</imgSrcPath>
                                    <ignoreImageScaling>true</ignoreImageScaling>
                                    <fopLogLevel>OFF</fopLogLevel>
                                    <sourceDirectory>${project.build.directory}/docbook-devguide/</sourceDirectory>
                                    <postProcess>
                                        <move failonerror="false" file="${guide_path}_-_Developer/pdf/index.pdf" tofile="${guide_path}_-_Developer/pdf/${guide_name}_Guide.pdf" />
                                    </postProcess>
                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-html-devguide</id>
                                <phase>${documentation_phases.html_chunked}</phase>
                                <goals>
                                    <goal>generate-html</goal>
                                </goals>
                                <configuration>
                                    <chunkedOutput>true</chunkedOutput>
                                    <sourceDirectory>${project.build.directory}/docbook-devguide/</sourceDirectory>
                                    <targetDirectory>${guide_path}_-_Developer/html_chunk/</targetDirectory>
                                    <targetsFilename>true</targetsFilename>
                                    <useIdAsFilename>true</useIdAsFilename>
                                    <cssDecoration>true</cssDecoration>
                                    <annotationCss>true</annotationCss>
                                    <htmlStylesheet>css/docbook-xsl.css</htmlStylesheet>
                                    <postProcess>
                                        <copy todir="${guide_path}_-_Developer/html_chunk/css">
                                            <fileset dir="src/main/asciidoc/css" />
                                        </copy>
                                        <copy todir="${guide_path}_-_Developer/html_chunk/images">
                                            <fileset dir="src/main/asciidoc/devguide/images" />
                                        </copy>
                                    </postProcess>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <instructions combine.inherited="append">
                        <Bundle-Activator>tigase.osgi.Activator</Bundle-Activator>
                        <Export-Package>
                            tigase.auth.*;version=${project.version},tigase.cluster.*;version=${project.version},tigase.component.*;version=${project.version},tigase.conf.*;version=${project.version},tigase.db.*;version=${project.version},tigase.disco.*;version=${project.version},tigase.disteventbus.*;version=${project.version},tigase.eventbus.*;version=${project.version},tigase.io.*;version=${project.version},tigase.kernel.*;version=${project.version},tigase.map.*;version=${project.version},tigase.monitor.*;version=${project.version},tigase.net.*;version=${project.version},tigase.osgi.*;version=${project.version},tigase.server.*;version=${project.version},tigase.stats.*;version=${project.version},tigase.sys.*;version=${project.version},tigase.util.common.*;version=${project.version},tigase.util.historyCache.*;version=${project.version},tigase.util.log.*;version=${project.version},tigase.util.processing.*;version=${project.version},tigase.util.reflection.*;version=${project.version},tigase.util.routing.*;version=${project.version},tigase.util.setup.*;version=${project.version},tigase.util.updater.*;version=${project.version},tigase.util.workqueue.*;version=${project.version},tigase.vhosts.*;version=${project.version},!tigase.xmpp.jid,!tigase.xmpp.rsm,tigase.xmpp.*;version=${project.version}
                        </Export-Package>
                        <Import-Package>!junit.*,!sun.*,!com.sun.*,*</Import-Package>
                        <DynamicImport-Package>*</DynamicImport-Package>
                        <Embed-Dependency>
                            *;scope=compile|runtime;artifactId=!junit|org.osgi.core|slf4j-api|tigase-xmltools|tigase-utils
                        </Embed-Dependency>
                        <Bundle-SymbolicName>${project.artifactId};singleton=true</Bundle-SymbolicName>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>add-resource</id>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <targetPath>database</targetPath>
                <directory>src/main/database</directory>
                <includes>
                    <include>**/*.sql</include>
                    <include>**/*.sh</include>
                    <include>**/*.cmd</include>
                    <include>**/*.txt</include>
                </includes>
            </resource>
            <resource>
                <targetPath>templates</targetPath>
                <directory>src/main/resources/templates</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>

    </build>
    <dependencies>
        <dependency>
            <groupId>tigase</groupId>
            <artifactId>tigase-utils</artifactId>
            <version>4.5.0-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>tigase</groupId>
            <artifactId>tigase-utils</artifactId>
            <version>4.5.0-SNAPSHOT</version>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
        <dependency>
            <groupId>tigase</groupId>
            <artifactId>tigase-xmltools</artifactId>
            <version>4.3.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.osgi.core</artifactId>
            <version>1.4.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.compendium</artifactId>
            <version>5.0.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>${slf4j.version}</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>${groovyVersion}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-json</artifactId>
            <version>${groovyVersion}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-jsr223</artifactId>
            <version>${groovyVersion}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-templates</artifactId>
            <version>${groovyVersion}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-xml</artifactId>
            <version>${groovyVersion}</version>
            <scope>provided</scope>
        </dependency>
        <!-- For JUnit tests to test repository implementations -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.1.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>10.2.1.jre17</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.3.8</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.15.2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbyshared</artifactId>
            <version>10.15.2.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>tigase</id>
            <url>https://maven-repo.tigase.org/repository/tigase</url>
        </repository>
    </repositories>
</project>



================================================
FILE: prj.el
================================================
!!!
!!! Tigase XMPP Server - The instant messaging server
!!! Copyright (C) 2004 Tigase, Inc. (office@tigase.com)
!!!
!!! This program is free software: you can redistribute it and/or modify
!!! it under the terms of the GNU Affero General Public License as published by
!!! the Free Software Foundation, version 3 of the License.
!!!
!!! This program is distributed in the hope that it will be useful,
!!! but WITHOUT ANY WARRANTY; without even the implied warranty of
!!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
!!! GNU Affero General Public License for more details.
!!!
!!! You should have received a copy of the GNU Affero General Public License
!!! along with this program. Look for COPYING file in the top folder.
!!! If not, see http://www.gnu.org/licenses/.
!!!

(jde-project-file-version "1.0")
(jde-set-variables
 '(jde-electric-return-p t)
 '(jde-enable-abbrev-mode t)
 '(jde-gen-k&r t)
 '(indent-tabs-mode t)
 '(user-mail-address "artur.hefczyc@tigase.org")
 '(jde-import-auto-collapse-imports nil)
 '(jde-import-auto-sort t)
 '(jde-auto-parse-buffer-interval 600)
 '(jde-global-classpath
	 (quote
		(
		 "$JAVA_HOME/jre/lib/rt.jar"
		 "/tmp/classes/"
		 "$PROJECTS_HOME/tigase/server/libs/junit.jar"
		 "$PROJECTS_HOME/tigase/server/libs/jdbc-mysql.jar"
		 "$PROJECTS_HOME/tigase/server/libs/tigase-xmltools.jar"
		 "$PROJECTS_HOME/tigase/server/libs/tigase-utils.jar"
		 "$PROJECTS_HOME/tigase/server/libs/jml-1.0b2.jar"
		 )))
 '(jde-sourcepath
	 (quote
		(
		 "$PROJECTS_HOME/tigase/server/src/main/java"
		 "$PROJECTS_HOME/tigase/xmltools/src/main/java"
		 "$PROJECTS_HOME/tigase/utils/src/main/java"
		 "$PROJECTS_HOME/tigase/server/tests/unittests/src"
		 "$JAVA_HOME/share/src"
		 "$JAVA_HOME/share/tests/src"
		 )))
 '(jde-gen-buffer-boilerplate
	 (quote
		(
		 "/*  Tigase Jabber/XMPP Server"
		 " *  Copyright (C) 2004-2012 \"Artur Hefczyc\" <artur.hefczyc@tigase.org>"
		 " *"
		 " * This program is free software: you can redistribute it and/or modify"
		 " * it under the terms of the GNU Affero General Public License as published by"
		 " * the Free Software Foundation, version 3 of the License."
		 " *"
		 " * This program is distributed in the hope that it will be useful,"
		 " * but WITHOUT ANY WARRANTY; without even the implied warranty of"
		 " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the"
		 " * GNU Affero General Public License for more details."
		 " *"
		 " * You should have received a copy of the GNU Affero General Public License"
		 " * along with this program. Look for COPYING file in the top folder."
		 " * If not, see http://www.gnu.org/licenses/."
		 " *"
		 " * $Rev: $"
		 " * Last modified by $Author: $"
		 " * $Date: $"
		 " */"
		 )))
 )


================================================
FILE: scripts/config.sh
================================================
#!/bin/bash
#
# Tigase XMPP Server - The instant messaging server
# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. Look for COPYING file in the top folder.
# If not, see http://www.gnu.org/licenses/.
#

CP="jars/tigase-server.jar:/usr/share/jdbc-mysql/lib/jdbc-mysql.jar:libs/tigase-xmltools.jar:libs/tigase-utils.jar"

java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -cp $CP tigase.conf.Configurator $*

================================================
FILE: scripts/db-create.cmd
================================================
@REM
@REM Tigase XMPP Server - The instant messaging server
@REM Copyright (C) 2004 Tigase, Inc. (office@tigase.com)
@REM
@REM This program is free software: you can redistribute it and/or modify
@REM it under the terms of the GNU Affero General Public License as published by
@REM the Free Software Foundation, version 3 of the License.
@REM
@REM This program is distributed in the hope that it will be useful,
@REM but WITHOUT ANY WARRANTY; without even the implied warranty of
@REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@REM GNU Affero General Public License for more details.
@REM
@REM You should have received a copy of the GNU Affero General Public License
@REM along with this program. Look for COPYING file in the top folder.
@REM If not, see http://www.gnu.org/licenses/.
@REM

@echo off

java -cp "jars/*" tigase.db.util.DBSchemaLoader %*

================================================
FILE: scripts/db-create.sh
================================================
#!/bin/bash
#
# Tigase XMPP Server - The instant messaging server
# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. Look for COPYING file in the top folder.
# If not, see http://www.gnu.org/licenses/.
#


java -cp "jars/*" tigase.db.util.DBSchemaLoader "$@"

================================================
FILE: scripts/db-derby-connect.sh
================================================
#!/bin/bash
#
# Tigase XMPP Server - The instant messaging server
# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. Look for COPYING file in the top folder.
# If not, see http://www.gnu.org/licenses/.
#


[[ "$1" = "" ]] && \
  echo "Give me a path to the location where you want to have the database created" && \
  exit 1

java -Dij.protocol=jdbc:derby: -Dij.database="$1;create=true" \
		-Dderby.system.home=`pwd` \
		-cp jars/derby.jar:jars/derbytools.jar:jars/tigase-server.jar \
		org.apache.derby.tools.ij


================================================
FILE: scripts/debian/changelog
================================================
tigase (@version@) unstable; urgency=medium

  * For full changelog, see
  http://www.tigase.org/

 -- Sergey Nazarov <phearnot@renee.ru>  @builddate@
2008-11-07 13:38  kobit

	* build.xml, package.html, src/main/izpack/install.xml,
	  src/main/izpack/java/TigaseConfigLoadPanel.java,
	  src/main/izpack/java/TigaseConfigSavePanel.java,
	  src/main/izpack/java/TigaseDBCheckPanel.java,
	  src/main/izpack/resources/pics/tigase-install-logo.png,
	  src/main/izpack/userInputSpec.xml: A few installer fixes, added
	  unix scripts

2008-11-07 13:38  kobit

	* etc/tigase.conf, win-stuff/wrapper/wrapper.conf: Added jdbc
	  drivers for all 3 supported databases: derby, mysql, pgsql

2008-11-06 11:37  kobit

	* License.html: GPLv3 license copy in HTML frmat

2008-11-06 11:37  kobit

	* database/mysql-schema-4-props.sql, src/main/izpack,
	  src/main/izpack/install.xml, src/main/izpack/java,
	  src/main/izpack/java/DerbyPathPanel.java,
	  src/main/izpack/java/TigaseConfigConst.java,
	  src/main/izpack/java/TigaseConfigLoadPanel.java,
	  src/main/izpack/java/TigaseConfigSavePanel.java,
	  src/main/izpack/java/TigaseDBCheckPanel.java,
	  src/main/izpack/resources,
	  src/main/izpack/resources/packsLang.xml,
	  src/main/izpack/resources/pics,
	  src/main/izpack/resources/pics/tigase-install-logo.png,
	  src/main/izpack/resources/pics/tiger.png,
	  src/main/izpack/userInputSpec.xml: Installer files added

2008-11-06 11:13  kobit

	* database/derby-create-db.sql, database/derby-schema-4-props.sql,
	  database/derby-schema-4-sp.schema, database/derby-schema-4.sql,
	  database/mysql-create-db.sql, database/mysql-schema-4-sp.schema,
	  database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql,
	  database/postgresql-create-db.sql,
	  database/postgresql-schema-4-props.sql,
	  database/postgresql-schema-4-sp.schema,
	  database/postgresql-schema-4.sql, etc/tigase.conf: Changes for
	  the installer

2008-11-04 12:28  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Added more detailed logging for session closing event

2008-10-30 12:54  kobit

	* src/main/java/tigase/xmpp/impl/roster/RosterFlat.java: Fixed a
	  bug in RosterFlat that the code didn't remove the resource part

2008-10-30 11:48  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Added patch from Yate guys for the user status command containing
	  presence info

2008-10-30 11:24  kobit

	* src/main/java/tigase/net/IOService.java,
	  src/main/java/tigase/server/xmppsession/PacketFilter.java,
	  src/main/java/tigase/util/RepositoryUtils.java,
	  src/main/java/tigase/xmpp/impl/AnonymousRoster.java,
	  src/main/java/tigase/xmpp/impl/JabberIqPrivacy.java,
	  src/main/java/tigase/xmpp/impl/JabberIqRoster.java,
	  src/main/java/tigase/xmpp/impl/Presence.java,
	  src/main/java/tigase/xmpp/impl/Roster.java,
	  src/main/java/tigase/xmpp/impl/RosterAbstract.java,
	  src/main/java/tigase/xmpp/impl/RosterFactory.java,
	  src/main/java/tigase/xmpp/impl/RosterFlat.java,
	  src/main/java/tigase/xmpp/impl/roster,
	  src/main/java/tigase/xmpp/impl/roster/Roster.java,
	  src/main/java/tigase/xmpp/impl/roster/RosterAbstract.java,
	  src/main/java/tigase/xmpp/impl/roster/RosterElement.java,
	  src/main/java/tigase/xmpp/impl/roster/RosterFactory.java,
	  src/main/java/tigase/xmpp/impl/roster/RosterFlat.java:
	  Implemented roster flat storage

2008-10-28 22:42  kobit

	* src/main/java/tigase/net/IOService.java: Disconnection monitoring
	  and debugging added

2008-10-28 22:27  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Disconnection monitoring and debugging added

2008-10-28 22:20  kobit

	* src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Disconnection monitoring and debugging added

2008-10-28 22:16  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Disconnection monitoring and debugging added

2008-10-28 21:43  kobit

	* etc/init.properties, package.html,
	  src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/net/IOService.java,
	  src/main/java/tigase/net/SocketReadThread.java,
	  src/main/java/tigase/server/AbstractMessageReceiver.java,
	  src/main/java/tigase/util/TimeUtils.java: Disconnection
	  monitoring and debugging added

2008-10-22 19:35  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java,
	  src/main/java/tigase/db/jdbc/TigaseAuth.java,
	  src/main/java/tigase/db/jdbc/TigaseCustomAuth.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Fixed deadlock problem occuring in derby database, if a query
	  returns results it must be read and freed....

2008-10-22 17:20  bmalkow

	* src/main/java/tigase/db/derby/StoredProcedures.java: add
	  connection closing

2008-10-22 15:25  bmalkow

	* src/main/java/tigase/db/derby/StoredProcedures.java: fixed
	  problem with login user. I don't know why, but now it works

2008-10-22 13:32  kobit

	* database/derby-schema-4.sql,
	  src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/db/derby/StoredProcedures.java,
	  src/main/java/tigase/db/jdbc/JDBCRepository.java,
	  src/main/java/tigase/db/jdbc/TigaseAuth.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Fixes and changes for Derby database

2008-10-21 20:15  kobit

	* src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/db/jdbc/TigaseCustomAuth.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  TigaseCustomAuth is finished, tested and added as a standard
	  authentication connector to the system

2008-10-21 20:14  kobit

	* database/mysql-schema-4-sp.schema,
	  database/postgresql-schema-4-sp.schema: Fixed problem with the SP
	  incorrectly removing users from the database

2008-10-21 17:33  kobit

	* src/main/java/tigase/db/jdbc/TigaseCustomAuth.java: Custom auth
	  implementation finished, not tested yet

2008-10-21 17:16  kobit

	* database/mysql-schema-4-sp.schema,
	  database/postgresql-schema-4-sp.schema: Added new SP for password
	  update with procedure parameters in reverse order

2008-10-21 16:32  kobit

	* src/main/java/tigase/db/jdbc/TigaseCustomAuth.java: JavaDoc
	  documentation updated

2008-10-21 13:43  kobit

	* src/main/java/tigase/db/jdbc/TigaseCustomAuth.java: User
	  authentication connector allowing to use custom SQL queries

2008-10-21 08:47  kobit

	* database/postgresql-schema-4-sp.schema: Added
	  MD5-USERNAME-PASSWORD password encoding support

2008-10-20 23:40  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/ServerConnectionClustered.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/bosh/BoshConnectionManager.java,
	  src/main/java/tigase/server/bosh/BoshSession.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/PacketFilter.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/xmpp/ConnectionStatus.java,
	  src/main/java/tigase/xmpp/RepositoryAccess.java,
	  src/main/java/tigase/xmpp/XMPPIOService.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java,
	  src/main/java/tigase/xmpp/XMPPSession.java: Reimplementation of
	  the clustering code in the SM and lots of improvements in other
	  areas, all related to the clustering and user session management
	  for multiple user connections

2008-10-16 12:02  kobit

	* database/mysql-schema-4-sp.schema: Added a new password encoding
	  option: MD5_USERNAME_PASSWORD

2008-10-09 20:35  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Offline presence is
	  not now broadcasted if the client didn't send initial presence
	  before

2008-10-08 22:41  kobit

	* src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Attempt to solve the first TLS problem

2008-10-08 22:39  kobit

	* src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Attempt to solve the first TLS problem

2008-10-08 22:31  kobit

	* src/main/java/tigase/io/TLSIO.java: Attempt to solve the first
	  TLS problem

2008-10-08 22:26  kobit

	* src/main/java/tigase/io/SocketIO.java,
	  src/main/java/tigase/net/IOService.java: Attempt to solve the
	  first TLS problem

2008-10-08 22:21  kobit

	* src/main/java/tigase/io/SocketIO.java: Attempt to solve the first
	  TLS problem

2008-10-08 22:18  kobit

	* src/main/java/tigase/io/TLSIO.java,
	  src/main/java/tigase/net/IOService.java: Attempt to solve the
	  first TLS problem

2008-10-08 22:14  kobit

	* src/main/java/tigase/net/IOService.java: Attempt to solve the
	  first TLS problem

2008-10-08 22:10  kobit

	* src/main/java/tigase/io/TLSIO.java,
	  src/main/java/tigase/io/TLSWrapper.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Attempt to solve the first TLS problem

2008-10-08 20:35  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Server vhosts session has now resource bond

2008-10-08 17:11  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Fixed
	  a problem with not releasing hold on session in some cases

2008-10-08 15:35  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  sendAllOnHold can now process packet locally if there is no
	  packet rdirection address

2008-10-08 15:25  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/xmpp/XMPPSession.java: The session is put on
	  hold just after successful authentication

2008-10-08 11:13  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Presence broadcast
	  sends only unavailable presence to all entities to which user
	  sent direct presence

2008-10-03 15:51  kobit

	* src/main/java/tigase/server/bosh/BoshSession.java: Removed
	  inserting HTML tags around http links detected in the message,
	  this is client side stuff

2008-10-03 11:25  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Presence
	  subscription flow changed to match last changes in the RFC

2008-10-01 22:12  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Added responses either the 'result' or 'error' to all USER_STATUS
	  commands

2008-10-01 17:52  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/xmpp/XMPPSession.java,
	  src/main/java/tigase/xmpp/impl/Presence.java: Fixed problem with
	  the USER_STATUS command

2008-10-01 15:47  kobit

	* src/main/java/tigase/server/xmppsession/PacketFilter.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java,
	  src/main/java/tigase/xmpp/impl/Presence.java: Now the server
	  requires user to bind the resource first before sending any other
	  packet

2008-10-01 12:05  kobit

	* src/main/java/tigase/xmpp/XMPPDomBuilderHandler.java: Added more
	  logging infor

2008-09-30 20:51  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  IsBrokenPacket detection fixed

2008-09-30 16:05  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  CHECK_USER_SESSION result may arrive when the user session is
	  gone already, added a code to handle this

2008-09-30 07:13  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/xmpp/XMPPIOService.java: Added read/write
	  locking mechanism, apparently in certain cases multiple threads
	  may try to read/write on a single socket

2008-09-29 20:06  kobit

	* src/main/java/tigase/server/MessageRouter.java,
	  src/main/java/tigase/xmpp/XMPPIOService.java: Removed silly
	  logging messages

2008-09-29 18:41  kobit

	* src/main/java/tigase/xmpp/XMPPIOService.java: XML parser
	  exception printed to a log file

2008-09-29 14:11  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java,
	  src/main/java/tigase/xmpp/impl/RosterAbstract.java: Fixed a bug
	  with presence subscription when contact replies with unsubscribed
	  to the subscription request

2008-09-29 12:57  bmalkow

	* database/derby-schema-4.sql: fix

2008-09-29 12:57  bmalkow

	* src/main/java/tigase/db/derby/StoredProcedures.java: fix

2008-09-26 21:56  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Subscription
	  management has been simplified to meet requirements from
	  RFC-3921bis-5

2008-09-26 14:10  kobit

	* src/main/java/tigase/db/UserAuthRepository.java: Comment fixed
	  for the digestAuth method

2008-09-26 07:46  bmalkow

	* database/derby-schema-4.sql, src/main/java/tigase/db/derby,
	  src/main/java/tigase/db/derby/StoredProcedures.java: add: JavaDB
	  (Derby) DDL and Stored Procedures

2008-09-24 13:03  kobit

	* src/main/java/tigase/xmpp/impl/OfflineMessages.java: Fixed
	  problem with sorting off-line presence packets, corrected offline
	  message removal and changes the time stamp from the xep-0091 to
	  xep-0203

2008-09-20 17:57  kobit

	* src/main/java/tigase/server/bosh/BoshConnectionManager.java,
	  src/main/java/tigase/server/bosh/BoshIOService.java,
	  src/main/java/tigase/server/bosh/BoshSession.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/PacketFilter.java,
	  src/main/java/tigase/xmpp/XMPPIOService.java: Fixes in the Bosh
	  protocol for clustering supoprt - the BoshConnectionManager
	  exyends now ClientConnectionManager

2008-09-18 18:29  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: getUserUID now
	  expects result greater then 0

2008-09-18 17:53  kobit

	* database/postgresql-schema-4-sp.schema: Removed returning from
	  the stored procedures for compatibility with postgresql 8.0

2008-09-18 17:04  kobit

	* database/mysql-schema-4-sp.schema,
	  database/postgresql-schema-4-sp.schema,
	  src/main/java/tigase/db/jdbc/TigaseAuth.java: Removed OUT
	  parameters from stored procedures for compatibility with
	  postgresql 8.0. These parameters were not used in normal
	  operation anyway. Only in SQL database test script.

2008-09-17 17:20  kobit

	* src/main/java/tigase/xmpp/RepositoryAccess.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java,
	  src/main/java/tigase/xmpp/impl/JabberIqIq.java,
	  src/main/java/tigase/xmpp/impl/JabberIqPrivacy.java,
	  src/main/java/tigase/xmpp/impl/JabberIqPrivate.java,
	  src/main/java/tigase/xmpp/impl/JabberIqRegister.java,
	  src/main/java/tigase/xmpp/impl/JabberIqRoster.java,
	  src/main/java/tigase/xmpp/impl/OfflineMessages.java,
	  src/main/java/tigase/xmpp/impl/Presence.java,
	  src/main/java/tigase/xmpp/impl/Privacy.java,
	  src/main/java/tigase/xmpp/impl/Roster.java,
	  src/main/java/tigase/xmpp/impl/RosterAbstract.java,
	  src/main/java/tigase/xmpp/impl/RosterFlat.java,
	  src/main/java/tigase/xmpp/impl/VCardTemp.java: The repository
	  access code no longer catches and hides database exceptions, they
	  are passed out to the calling code allowing for proper error
	  singaling

2008-09-17 11:51  kobit

	* src/main/java/tigase/server/XMPPServer.java,
	  src/main/java/tigase/xmpp/impl/JabberIqRoster.java: In some cases
	  strange characters cause database to throw error as en effect the
	  whole roster can not be loaded properly as well as it also
	  impacts presence, the fix should hangel it properly

2008-09-17 08:59  kobit

	* pom.xml, src/main/java/tigase/conf/ConfigRepository.java,
	  src/main/java/tigase/conf/Configurator.java,
	  src/main/java/tigase/server/XMPPServer.java: Fixed a bug when the
	  server is run with incorrect (non-xml) configuration file, now
	  the server discovers it and terminates it's work with a proper
	  message

2008-09-16 14:02  kobit

	* database/postgresql-schema-4-sp.schema: Fixed a bug in the stored
	  function

2008-09-16 11:06  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: Fixed a bug
	  where prepared statement was used instead of callable statement,
	  apparently MySQL can handle it, PostreSQL throws an error

2008-09-16 11:06  kobit

	* database/postgresql-schema-4-sp.schema: Fixed a problem with
	  returing query results

2008-09-16 09:58  kobit

	* database/postgresql-schema-4-sp.schema,
	  database/postgresql-schema-4.sql,
	  database/postgresql-schema-upgrade-to-4.sql: The first complete
	  (untested) version of the schema 4 and upgrade script for
	  postgresql

2008-09-16 00:37  kobit

	* database/mysql-schema-4-sp.schema,
	  database/postgresql-schema-4-sp.schema,
	  database/postgresql-schema-4.sql: PostgreSQL schema ver 4.0
	  updated

2008-09-15 20:48  kobit

	* database/postgresql-schema-4.sql: postgresql schema definition
	  updated to version 4.0

2008-09-11 18:04  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  filter processing condition changed

2008-09-11 16:38  kobit

	* database/mysql-schema-upgrade-to-4.sql: Fixed problem with
	  tig_nodes table upgrade

2008-09-11 16:29  kobit

	* database/mysql-schema-upgrade-to-4.sql: Fixed tig_nodes
	  conversion

2008-09-11 15:18  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: Added code to
	  online fix the database and adding root node when missing

2008-09-11 13:42  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: Revertet back a
	  fix causing problems with database - the case with null submode

2008-09-11 09:36  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: Fixed problem
	  when the subnode is null

2008-09-10 19:16  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: Removed dumping
	  stack trace on the db schema version conflict

2008-09-10 18:56  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  serverSession object initialization added

2008-09-10 18:56  kobit

	* src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Added support for TigaseAuth connector

2008-09-10 18:55  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Changed log level for statistics from finest to info

2008-09-10 18:54  kobit

	* src/main/java/tigase/xmpp/XMPPImplIfc.java: init(UserRepository
	  rep) method added to allow custom repository configuration by
	  plugins

2008-09-10 18:53  kobit

	* src/main/java/tigase/xmpp/XMPPProcessor.java: init(UserRepository
	  rep) method added to allow custom repository configuration by
	  plugins

2008-09-10 18:52  kobit

	* src/main/java/tigase/xmpp/impl/UrnXmppPing.java: Added proper
	  response on user session missing - which means the user is not
	  connected and can not respond to the ping

2008-09-10 18:51  kobit

	* src/main/java/tigase/xmpp/impl/JabberIqRoster.java: Added roster
	  abstract to allow different Roster storage implementations

2008-09-10 18:51  kobit

	* src/main/java/tigase/xmpp/impl/JabberIqPrivacy.java: Added roster
	  abstract to allow different Roster storage implementations

2008-09-10 18:50  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Added roster
	  abstract to allow different Roster storage implementations

2008-09-10 18:50  kobit

	* src/main/java/tigase/xmpp/impl/Roster.java,
	  src/main/java/tigase/xmpp/impl/RosterAbstract.java,
	  src/main/java/tigase/xmpp/impl/RosterFactory.java,
	  src/main/java/tigase/xmpp/impl/RosterFlat.java: Added roster
	  abstract to allow different Roster storage implementations

2008-09-10 18:49  kobit

	* src/main/java/tigase/db/jdbc/TigaseAuth.java: A new
	  authentication connector whish can base on the stored procedures
	  in the database

2008-09-10 18:48  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: Database schema
	  upgrade to version 4.0

2008-09-10 18:47  kobit

	* database/mysql-schema-4-sp.schema, database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql: A few fixes to stored
	  procedures and schema upgrade process

2008-09-09 16:24  kobit

	* database/mysql-schema-4-sp.schema, database/mysql-schema-4.sql:
	  Added missing drop stored procedure expression and changed the
	  order of the table creation

2008-09-08 13:51  kobit

	* database/mysql-schema-4-sp.schema, database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql: Improved schema upgrade
	  script, it correctly copies tables to new one with
	  auto-incrementing IDs and it should work with any database now

2008-09-06 16:33  kobit

	* database/mysql-schema-4-sp.schema,
	  database/mysql-schema-4-test.sql, database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql: Proper schema upgrade
	  procedure which converts also UIDs and NIDs to autoincrementing
	  fields

2008-09-05 16:38  kobit

	* database/mysql-schema-4-sp.schema: TigGetDBProperty funciton is
	  READS SQL DATA now

2008-09-05 12:13  kobit

	* database/mysql-schema-4-sp.schema, database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql: MySQL Schema for Tigase
	  4.0 and schema upgarde scripts are ready

2008-09-03 22:26  kobit

	* src/main/java/tigase/db/jdbc/JDBCRepository.java: More detailed
	  logging in case of exception

2008-09-03 20:09  kobit

	* src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/db/UserAuthRepository.java,
	  src/main/java/tigase/db/jdbc/DrupalAuth.java,
	  src/main/java/tigase/db/jdbc/TigaseAuth.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Added TigaseAuth - generic connector which can authenticate users
	  agains any SQL (JDBC) database if the database offers specific
	  stored procedures

2008-09-03 13:02  kobit

	* pom.xml: utils dependency changed to 3.1.1

2008-09-02 17:43  kobit

	* src/main/java/tigase/db/DummyRepository.java,
	  src/main/java/tigase/db/UserRepository.java,
	  src/main/java/tigase/db/jdbc/JDBCRepository.java,
	  src/main/java/tigase/db/xml/XMLRepository.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Blocked automatic adding anonymous users to the database when
	  userAutoCreate property is set to true

2008-09-02 13:19  kobit

	* etc/init-mysql.properties, etc/tigase-mysql.conf: Changed default
	  vhost name from tigase.org to devel.tigase.org and added line to
	  clear the default classpath to reduce number of classes loaded at
	  runtime and avoid conflicts

2008-09-02 13:17  kobit

	* database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql: Adjusted database schema
	  to handle JID of size according to XMPP spec - 2048

2008-09-02 13:16  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Fixed problem with redirect result arriving before cluster
	  session_transfer result

2008-09-02 13:16  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Fixed
	  problem with redirect result arriving before cluster
	  session_transfer result

2008-09-01 21:17  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Added support for
	  nickname for anonymous user connection

2008-09-01 16:02  kobit

	* etc/init.properties: Removed anonymouse roster line which is not
	  needed anymore

2008-08-29 15:01  kobit

	* src/main/java/tigase/xmpp/impl/JabberIqAuth.java,
	  src/main/java/tigase/xmpp/impl/SaslAuth.java: The authentication
	  plugin allows now for 3 tries before the user gets disconnected

2008-08-29 14:17  kobit

	* src/main/java/tigase/xmpp/RepositoryAccess.java: Intendation
	  corrected

2008-08-27 17:00  kobit

	* src/main/java/tigase/db/jdbc/DrupalAuth.java: drupal users table
	  is automatically altered if online_status field is missing

2008-08-27 09:08  kobit

	* src/main/java/tigase/server/gateways/Gateway.java: Incorrect
	  VHost initalization bug fixed

2008-08-27 07:32  kobit

	* src/main/java/tigase/xmpp/impl/BindResource.java: Fixed a bug
	  with the resource part incorrectly send to the client

2008-08-27 07:31  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Performance
	  improvements - the dynamic roster is queried first and if it
	  returns null then the static roster is queried

2008-08-22 16:57  kobit

	* database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql: Upgrade to the Tigase db
	  schema version 4.0

2008-08-22 16:44  kobit

	* database/mysql-schema-4.sql,
	  database/mysql-schema-upgrade-to-4.sql,
	  database/postgresql-schema-4.sql,
	  database/sqlserver-schema-4.sql: Upgrade to the Tigase db schema
	  version 4.0

2008-08-19 12:28  kobit

	* pom.xml, src/main/java/tigase/cluster/MethodCall.java,
	  src/main/java/tigase/cluster/MethodCallCriteria.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/cluster/methodcalls,
	  src/main/java/tigase/cluster/methodcalls/SessionTransferMC.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/xmpp/ConnectionStatus.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java: Initial
	  fix for the session transfer bug

2008-08-07 06:13  kobit

	* src/main/java/tigase/server/gateways/Gateway.java: Temp code just
	  compilable but not finished yet

2008-08-07 06:12  kobit

	* src/main/java/tigase/cluster/ServerConnectionClustered.java:
	  Replaced DEF_S2S_NAME with getName()

2008-08-07 06:12  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Fixed
	  bug causing NPE for 'onHold()' connection mode

2008-08-07 06:11  kobit

	* win-stuff/scripts/Run.bat: Changed loading initial.properties to
	  init.properties

2008-08-07 05:22  bmalkow

	* src/main/java/tigase/server/DisableDisco.java,
	  src/main/java/tigase/server/MessageRouter.java: this ugly patch
	  allows to process Disco stanzas as normal stanzas, not by
	  getDisco*() methods

2008-08-07 05:18  bmalkow

	* src/main/java/tigase/server/XMPPServer.java:
	  getImplementationVersion() should return '0.0.0-0' if manifest is
	  unavailable

2008-08-07 05:17  bmalkow

	* src/main/java/tigase/server/Packet.java: add copying xmlns from
	  source stanza to error stanza

2008-07-03 15:53  kobit

	* src/main/java/tigase/server/ssender/DrupalCommentsTask.java,
	  src/main/java/tigase/server/ssender/StanzaSender.java: Added
	  drupal comments notifier task

2008-07-03 10:35  kobit

	* src/main/bash/users-list-moitor.sh: Corrected wording in the
	  welcome email

2008-07-03 10:35  kobit

	* src/main/java/tigase/server/gateways/Gateway.java: is_moderated
	  better handling

2008-07-03 00:27  kobit

	* src/main/java/tigase/server/gateways/Gateway.java: Fixes for the
	  Gateway to work with the new API

2008-07-02 17:29  kobit

	* src/main/bash/users-list-moitor.sh: Added full path to adduser
	  program which is needed when run from the cron job and also mail
	  program is used to send the first greetings message to newly
	  created user account

2008-07-02 09:08  kobit

	* src/main/php/drupal/modules/tigase_usrreg-5.x/tigase_usrreg.module:
	  Added missing semicolon

2008-07-02 09:07  kobit

	* src/main/php/drupal/modules/short_news-5.x/short_news.module,
	  src/main/php/drupal/modules/tigase_usrreg-5.x,
	  src/main/php/drupal/modules/tigase_usrreg-5.x/tigase_usrreg.info,
	  src/main/php/drupal/modules/tigase_usrreg-5.x/tigase_usrreg.module:
	  Module used for adding user directories when the account is
	  created

2008-07-01 23:10  kobit

	* src/main/java/tigase/server/sreceiver/StanzaReceiver.java: Ad-hoc
	  commands for task managemebt work again

2008-07-01 23:04  kobit

	* src/main/bash, src/main/bash/cron-dnotify-check.sh,
	  src/main/bash/users-list-moitor.sh: User accounts from drupal to
	  system scripts

2008-07-01 22:41  kobit

	* src/main/java/tigase/server/xmppsession/PacketFilter.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java,
	  src/main/java/tigase/xmpp/impl/JabberIqCommand.java,
	  src/main/java/tigase/xmpp/impl/JabberIqVersion.java,
	  src/main/java/tigase/xmpp/impl/ServiceDiscovery.java,
	  src/main/java/tigase/xmpp/impl/UrnXmppPing.java: Fixed a bug when
	  some packets were not routed correctly between different user
	  connections (resources), instead they were send back to the
	  sender

2008-07-01 06:32  kobit

	* src/main/java/tigase/server/bosh/BoshConnectionManager.java,
	  src/main/java/tigase/server/bosh/BoshIOService.java,
	  src/main/java/tigase/server/bosh/BoshSession.java: Added more
	  control over packets received from the client, if body element
	  name is incorrect or xmlns is incorrect or to=hostname is
	  incorrect the bosh returns an error message to the client and
	  terminates connection

2008-07-01 06:31  kobit

	* src/main/java/tigase/server/sreceiver/ShortNewsPublisher.java:
	  Accept news without subject and put 'No subject' string if the
	  subject is missing

2008-07-01 06:30  kobit

	* src/main/java/tigase/server/Packet.java: Added getXMLNS
	  convenience method

2008-06-23 22:13  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: A fix
	  for slow database update in cluster mode when the user session
	  trasfer arrives to the node before database has been updated with
	  the authorization token - 2 secs for now....

2008-06-21 22:14  kobit

	* src/main/java/tigase/cluster/ClientConnectionClustered.java:
	  Added logging information

2008-06-21 22:08  kobit

	* src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/server/MessageRouterConfig.java: Added c2s
	  clustered implementation

2008-06-21 22:06  kobit

	* src/main/java/tigase/cluster/ClientConnectionClustered.java,
	  src/main/java/tigase/server/ConnectionManager.java,
	  src/main/java/tigase/server/ServiceChecker.java: Added support
	  for disconnecting all connections when cluster node with
	  corresponding SM has been disconnected

2008-06-21 16:39  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: user
	  session transfer is run with 1/2 sec delay to allow all queued
	  packet to be processed

2008-06-21 15:42  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Cluster notifications are sent now from default (the first) vhost

2008-06-21 15:31  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java,
	  src/main/java/tigase/xmpp/XMPPSession.java: Better calculation
	  session life time and added also packets forwarding for the
	  session being transfered

2008-06-21 12:53  kobit

	* src/main/java/tigase/xmpp/XMPPIOService.java: Added XML parser
	  error better handling

2008-06-21 12:51  kobit

	* src/main/java/tigase/xmpp/XMPPDomBuilderHandler.java,
	  src/main/java/tigase/xmpp/XMPPIOService.java: Added XML parser
	  error better handling

2008-06-21 12:31  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Added log message on sending connection verify result

2008-06-21 06:59  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Session closed after the session tranfser doesn't send unavilable
	  packet

2008-06-20 22:37  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java:
	  handleLogin is not now called on user session transfer

2008-06-20 22:04  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  droping check_user_session packet when all nodes are checked

2008-06-20 21:54  kobit

	* src/main/java/tigase/cluster/ClusterElement.java: Added more
	  logging messages and improved calculation of the next cluster
	  node

2008-06-20 21:54  kobit

	* src/main/java/tigase/cluster/ClusterElement.java: Added more
	  logging messages and improved calculation of the next cluster
	  node

2008-06-20 21:40  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Corrected stanza type settings

2008-06-20 21:30  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Added
	  detailed logging information

2008-06-20 16:01  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Changed cluster notifications from headline to normal to make
	  them archivizable by offline message plugin

2008-06-20 15:53  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java: Try
	  without serverSession loaded

2008-06-20 15:32  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Commented out packet-from usage, for now

2008-06-20 15:12  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Changed code to not pack clustered packets

2008-06-20 14:57  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Changed logging parameters

2008-06-20 09:29  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnections.java:
	  New s2s implementation supporting reuse of the incoming
	  connection

2008-06-20 07:37  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Started support for reusing s2s connection by... google?

2008-06-20 06:45  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnections.java:
	  Added detection for adding incoming connection when this is
	  outgoing in fact

2008-06-19 23:58  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/ServerConnectionClustered.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java: Fixed
	  problem with user session transfer

2008-06-19 23:35  kobit

	* src/main/java/tigase/server/ConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Added calculation s2s connections for debugging

2008-06-19 23:35  kobit

	* src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Handling properly case when the IOService for REDIRECT command
	  does not exist

2008-06-19 18:57  kobit

	* src/main/java/tigase/server/ConnectionManager.java,
	  src/main/java/tigase/server/MessageRouter.java,
	  src/main/java/tigase/stats/StatisticsCollector.java: Fixed
	  retrieving disco items from components

2008-06-19 14:04  kobit

	* src/main/java/tigase/server/MessageRouter.java,
	  src/main/java/tigase/stats/StatisticsCollector.java: Service
	  disovery processing corrected to call for all components based on
	  component id

2008-06-19 13:33  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnections.java:
	  Fixed problem with statistics - number of open s2s connections

2008-06-19 12:57  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnections.java:
	  Added extra logging information

2008-06-19 12:42  kobit

	* src/main/java/tigase/server/MessageRouter.java: Added support for
	  configurable components IDs

2008-06-19 10:51  kobit

	* src/main/java/tigase/server/MessageRouter.java: Fixed service
	  discovery problem when asking non-local domain or entity

2008-06-19 10:01  kobit

	* pom.xml: tigase-utils dependency set to version 3.0.12 - opendns
	  workaround

2008-06-19 07:13  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnections.java:
	  Added more loggin for s2s connections

2008-06-18 06:24  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/net/IOService.java,
	  src/main/java/tigase/server/Command.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java: User
	  session inter-node transfer

2008-06-18 05:43  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: User
	  session inter-node transfer

2008-06-18 05:41  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/ClusterController.java,
	  src/main/java/tigase/cluster/ClusterMethods.java,
	  src/main/java/tigase/cluster/ServerConnectionClustered.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/xmpp/RepositoryAccess.java,
	  src/main/java/tigase/xmpp/XMPPResourceConnection.java,
	  src/main/java/tigase/xmpp/XMPPSession.java: Added support for
	  cluster method calls and querying other cluster nodes for
	  dialback key

2008-06-17 11:21  bmalkow

	* src/main/java/tigase/xmpp/impl/PubSub.java: Plugin has moved to
	  tigase-pubsub project

2008-06-17 09:38  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/ClusterController.java,
	  src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/ClusterMethods.java,
	  src/main/java/tigase/cluster/ServerConnectionClustered.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Added support for cluster method calls and querying other cluster
	  nodes for dialback key

2008-06-16 10:56  kobit

	* src/main/java/tigase/server/MessageRouter.java: Infinite loop
	  detecting logic has changed a bit to block packets with 'error'
	  type only

2008-06-16 09:56  kobit

	* src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Added pubsub plugin to the list of default plugins

2008-06-16 09:53  bmalkow

	* src/main/java/tigase/xmpp/impl/PubSub.java: PEP: add notification
	  to account owner

2008-06-16 09:51  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Fixed problem with storing incoming connections with incorrect
	  session id

2008-06-16 09:50  kobit

	* src/main/php/drupal/modules/tigase_monitor-5.x/tigase_monitor.module:
	  Added statistics for s2s component

2008-06-16 09:50  kobit

	* src/main/java/tigase/server/ConnectionManager.java: Connection is
	  now tested evert 29 minutes instead of 60

2008-06-16 09:38  bmalkow

	* src/main/java/tigase/xmpp/impl/PubSub.java: first simple
	  implementation of PEP

2008-06-14 00:47  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnections.java:
	  Statistics added

2008-06-13 19:59  kobit

	* src/main/java/tigase/cluster/ServerConnectionClustered.java,
	  src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/net/IOService.java,
	  src/main/java/tigase/server/ConnectionManager.java,
	  src/main/java/tigase/server/MessageRouterConfig.java,
	  src/main/java/tigase/server/xmppserver/ConnectionHandlerIfc.java,
	  src/main/java/tigase/server/xmppserver/ServerConnectionManager.java,
	  src/main/java/tigase/server/xmppserver/ServerConnectionManagerOLD.java,
	  src/main/java/tigase/server/xmppserver/ServerConnections.java,
	  src/main/java/tigase/xmpp/XMPPIOService.java: New implementation
	  of s2s protocol, initial version suitable for clustering

2008-06-10 17:24  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Fixed
	  a bug with adding new cluster node

2008-06-10 17:14  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Fixed
	  a bug with adding new cluster node

2008-06-10 16:02  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/conf/Configurable.java: Changed wording in
	  messages and parameters

2008-06-10 15:38  kobit

	* src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/server/MessageRouterConfig.java:
	  ClusterController it loaded automatically in cluster mode

2008-06-10 14:01  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/conf/Configurable.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Added cluster components registrator and notifications mechanism

2008-06-10 14:00  kobit

	* src/main/java/tigase/cluster/ClusterController.java,
	  src/main/java/tigase/cluster/ClusteredComponent.java: Added
	  cluster components registrator and notifications mechanism

2008-06-09 14:09  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Connect all parameter name change to --cluster-connect-all

2008-06-09 14:07  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Connect all parameter added

2008-06-09 13:22  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java: Fixed
	  a bug with multiple cluser nodes connections

2008-06-09 13:22  kobit

	* pom.xml: Updated tigase-utils version dependency

2008-06-09 12:20  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java: Allows
	  for multiple cluster nodes connection on single connection
	  manager

2008-06-09 12:19  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Allows for multiple cluster nodes connection on single connection
	  manager

2008-06-06 09:11  kobit

	* src/main/java/tigase/server/Packet.java,
	  src/main/java/tigase/xmpp/impl/VCardTemp.java: Removed direct
	  usage of errorResult method

2008-06-06 09:06  bmalkow

	* src/main/java/tigase/server/Packet.java: add deprecated
	  annotation to errorResult

2008-06-06 09:05  bmalkow

	* src/main/java/tigase/xmpp/impl/VCardTemp.java: change error
	  stanza generation way

2008-06-06 09:02  bmalkow

	* src/main/java/tigase/xmpp/impl/VCardTemp.java: change error
	  stanza generation way

2008-06-06 08:46  bmalkow

	* src/main/java/tigase/server/ErrorCondition.java,
	  src/main/java/tigase/server/Packet.java,
	  src/main/java/tigase/xmpp/Authorization.java: fix: remove
	  reduntant code

2008-06-06 08:25  bmalkow

	* src/main/java/tigase/server/ErrorCondition.java,
	  src/main/java/tigase/server/Packet.java: add XEP-0086 (Error
	  Condition) implementation

2008-06-05 19:52  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Cluster packets processing fixes

2008-06-05 19:52  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Added XMLNS for all
	  created presence stanzas

2008-06-05 18:42  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java: Fixed
	  routings for cluster connection manager bug

2008-06-05 18:25  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java: New
	  routings for cluster connection manager are set properly

2008-06-05 16:42  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Setting correct remote host address for a node to connect to

2008-06-05 16:39  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java,
	  src/main/java/tigase/server/ConnectionManager.java: Setting
	  correct remote host address for a node to connect to

2008-06-05 13:54  kobit

	* src/main/java/tigase/server/ConnectionManager.java: Added more
	  detailed logging info

2008-06-05 13:42  kobit

	* src/main/java/tigase/server/ConnectionManager.java: Added more
	  detailed logging info

2008-06-05 13:35  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Cleaned up the removing routing for disconnected service

2008-06-05 12:41  kobit

	* src/main/java/tigase/server/ConnectionManager.java: Replaced
	  integer numbers with constatnts

2008-06-05 12:41  kobit

	* src/main/java/tigase/server/MessageRouterConfig.java: Moved
	  default component names to this interface to make it easier to
	  access them from other code places

2008-06-05 12:40  kobit

	* src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Moved cluster-nodes parameter out to Configurable ifc for use in
	  other places

2008-06-05 12:39  kobit

	* src/main/java/tigase/server/bosh/BoshConnectionManager.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Moved default component names to this interface to make it easier
	  to access them from other code places

2008-06-05 12:39  kobit

	* src/main/java/tigase/server/Packet.java: Setting
	  isServiceDiscovery flag for packet to speed packet processing up

2008-06-05 12:38  kobit

	* src/main/java/tigase/conf/Configurable.java: Moved default
	  component names to this interface to make it easier to access
	  them from other code places

2008-06-05 12:37  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Loading default cluster nodes list from properties file

2008-06-05 12:37  kobit

	* src/main/java/tigase/cluster/ClusterConnectionManager.java:
	  Cluster nodes connectivity component

2008-06-05 12:36  kobit

	* src/main/java/tigase/conf/Configurator.java,
	  src/main/java/tigase/server/MessageRouter.java,
	  src/main/java/tigase/stats/StatisticsCollector.java: Service
	  Discovery handling improvements

2008-06-04 17:55  kobit

	* src/main/java/tigase/server/bosh/BoshSession.java: Changed links
	  generation from _top to _blank

2008-06-04 15:19  kobit

	* src/main/java/tigase/conf/Configurator.java,
	  src/main/java/tigase/server/MessageRouter.java,
	  src/main/java/tigase/stats/StatisticsCollector.java: Fixed
	  service discovert and ad-hoc command processing

2008-06-04 12:22  kobit

	* src/main/java/tigase/server/xmppserver/ServerConnectionManager.java:
	  Fixed incorreclty handled writeRawData method

2008-06-04 12:22  kobit

	* src/main/java/tigase/server/ConnectionManager.java: Added proper
	  handling for writing raw data to the socket and fixed method:
	  writePacketsToSocket

2008-06-04 12:21  kobit

	* src/main/java/tigase/server/ServerComponent.java: Added
	  getComponentId() method

2008-06-04 12:20  kobit

	* src/main/java/tigase/server/MessageRouter.java: Major code
	  cleanup and improved routing selecting logic

2008-06-04 12:20  kobit

	* src/main/java/tigase/server/AbstractComponentRegistrator.java:
	  Added component ID support

2008-06-04 12:19  kobit

	* src/main/java/tigase/server/MessageRouterConfig.java: Added
	  cluster mode stuff

2008-06-04 12:19  kobit

	* src/main/java/tigase/server/bosh/BoshConnectionManager.java:
	  Added writeRawData(...) method to the handler

2008-06-04 12:19  kobit

	* src/main/java/tigase/server/bosh/BoshSessionTaskHandler.java:
	  Added writeRawData(...) method to the handler

2008-06-04 12:18  kobit

	* src/main/java/tigase/server/bosh/BoshSession.java: Fixed
	  incorrectly called writeRawData(...)

2008-06-04 12:17  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java: Code
	  changes to reflect API changes, processPacket(packet, results)
	  can not be overwritten anymore, all stuff must be done in
	  processPacket(packet) now

2008-06-04 12:17  kobit

	* src/main/java/tigase/server/sreceiver/StanzaReceiver.java: Code
	  changes to reflect API changes, processPacket(packet, results)
	  can not be overwritten anymore, all stuff must be done in
	  processPacket(packet) now

2008-06-04 12:15  kobit

	* src/main/java/tigase/server/xmppclient/ClientConnectionManager.java:
	  Removed tricky stuff done when activating TLS mode, they are not
	  needed anymore

2008-06-04 12:14  kobit

	* src/main/java/tigase/net/SocketReadThread.java: selectNow() is
	  only called now if there was a key canceled for the selector,
	  fixes old bug with infinite loop

2008-06-04 12:13  kobit

	* src/main/java/tigase/conf/Configurator.java: Added support for
	  cluster mode parameters and triming configuration parameters

2008-06-04 12:12  kobit

	* src/main/java/tigase/server/AbstractMessageReceiver.java: Added
	  suport for component ID and processPacket(packet, results) is now
	  final

2008-06-04 12:11  kobit

	* src/main/java/tigase/xmpp/impl/SimpleForwarder.java: Removed,
	  commented out, unused code

2008-06-04 12:10  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java:
	  Loading cluster nodes configuration

2008-06-04 12:09  kobit

	* src/main/java/tigase/conf/Configurable.java: Added constants for
	  cluster mode parameters

2008-06-04 11:32  kobit

	* src/main/php/drupal/modules/tigase_monitor-5.x/tigase_monitor.module:
	  Fixed path to binary files from other than frontpage

2008-05-16 08:11  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Cluster initial implementation ready, not tested yet, doesn't
	  support multiple connections for the same user yet

2008-05-15 10:23  kobit

	* etc/init-mysql.properties: Added comments to the init properties
	  file

2008-05-14 19:22  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/AbstractMessageReceiver.java,
	  src/main/java/tigase/server/gateways/Gateway.java,
	  src/main/java/tigase/server/sreceiver/StanzaReceiver.java,
	  src/main/java/tigase/server/ssender/StanzaSender.java,
	  src/main/java/tigase/server/xmppcomponent/ComponentConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java:
	  Refactoring and routing improvements continued..., may stop
	  working now but it compiles

2008-05-14 14:56  kobit

	* src/main/java/tigase/cluster/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerClustered.java:
	  Class moved to different package

2008-05-14 14:55  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerClustered.java:
	  Cluster mode initial development

2008-05-14 13:56  kobit

	* src/main/java/tigase/server/xmppsession/SessionManagerClustered.java:
	  Further improvements and code cleaning up to prepare sources for
	  cluster mode implementation

2008-05-14 13:55  kobit

	* src/main/java/tigase/server/Packet.java: Further improvements and
	  code cleaning up to prepare sources for cluster mode
	  implementation

2008-05-14 13:53  kobit

	* src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/net/SocketReadThread.java,
	  src/main/java/tigase/server/Packet.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerClustered.java,
	  src/main/java/tigase/xmpp/impl/OfflineMessages.java,
	  src/main/java/tigase/xmpp/impl/VCardTemp.java: Further
	  improvements and code cleaning up to prepare sources for cluster
	  mode implementation

2008-05-13 15:42  kobit

	* src/main/java/tigase/conf/Configurator.java,
	  src/main/java/tigase/server/AbstractMessageReceiver.java,
	  src/main/java/tigase/server/MessageRouter.java,
	  src/main/java/tigase/server/ServerComponent.java,
	  src/main/java/tigase/server/bosh/BoshConnectionManager.java,
	  src/main/java/tigase/server/xmppclient/ClientConnectionManager.java,
	  src/main/java/tigase/server/xmppcomponent/ComponentConnectionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerClustered.java,
	  src/main/java/tigase/stats/StatisticsCollector.java,
	  src/main/java/tigase/xmpp/impl/VCardTemp.java: Message routing
	  code cleanup and performance improvements, breaks the current/old
	  config filessvn status

2008-05-13 10:17  bmalkow

	* src/main/java/tigase/xmpp/impl/VCardTemp.java: add: returning IQ
	  error when vcard not found

2008-05-12 21:40  kobit

	* pom.xml: tigase-utils dependencies updated

2008-05-12 10:50  kobit

	* src/main/java/tigase/server/bosh/BoshSession.java,
	  src/main/java/tigase/server/bosh/BoshSessionCache.java:
	  Implementation of keeping chat history in the Bosh cache

2008-05-12 10:50  kobit

	* src/main/java/tigase/xmpp/impl/Presence.java: Replaces presence
	  string with constant

2008-05-12 09:16  kobit

	* src/main/java/tigase/server/xmppsession/SessionManager.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerClustered.java:
	  Cluster code cleanup

2008-05-09 18:01  kobit

	* src/main/java/tigase/xmpp/impl/OfflineMessages.java: Fixed
	  compilation error

2008-05-09 17:58  kobit

	* src/main/java/tigase/xmpp/impl/OfflineMessages.java: Fixed a bug
	  with saving messages with an empty body

2008-05-07 19:39  kobit

	* etc/tigase-mysql.conf: Updated sample configuration for mysql
	  database

2008-05-07 19:31  kobit

	* etc/init-mysql.properties, etc/tigase-mysql.conf: Updated sample
	  configuration for mysql database

2008-05-07 19:30  kobit

	* src/main/java/tigase/net/SocketReadThread.java: Corrected logging
	  messages slightly

2008-05-02 13:43  kobit

	* src/main/java/tigase/net/SocketReadThread.java: Recreating
	  selector on IO error

2008-05-02 13:43  kobit

	* src/main/java/tigase/xmpp/impl/AnonymousRoster.java,
	  src/main/java/tigase/xmpp/impl/Presence.java,
	  src/main/java/tigase/xmpp/impl/VCardTemp.java: Proper handling
	  error type packets

2008-05-02 13:42  kobit

	* src/main/java/tigase/cluster,
	  src/main/java/tigase/cluster/ClusterElement.java,
	  src/main/java/tigase/server/Packet.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerClustered.java,
	  src/main/java/tigase/server/xmppsession/SessionManagerConfig.java:
	  Initial full cluster mode implementation

2008-05-01 16:49  kobit

	* src/main/java/tigase/net/SocketReadThread.java: Recreating the
	  selector on empty selection loop

2008-05-01 08:17  kobit

	* src/main/java/tigase/net/SocketReadThread.java: A fix for
	  concurrent modification exception

2008-05-01 08:06  kobit

	* 
Download .txt
gitextract_qvbqx23a/

├── .github/
│   ├── FUNDING.yml
│   └── ISSUE_TEMPLATE/
│       ├── bug_report.md
│       ├── feature_request.md
│       └── question.md
├── .gitignore
├── .mvn/
│   └── extensions.xml
├── .onedev-buildspec.yml
├── .readthedocs.yaml
├── COPYING
├── License.html
├── README.md
├── etc/
│   ├── bosh-extra-headers.txt
│   ├── client-access-policy.xml
│   ├── config.properties
│   ├── config.tdsl
│   ├── cross-domain-policy.xml
│   ├── init-debian.properties
│   ├── init-mysql.properties
│   ├── jmx.access
│   ├── jmx.password
│   ├── logback.xml
│   ├── snmp.acl
│   └── tigase.conf
├── licenseheader.txt
├── package.html
├── pom.xml
├── prj.el
├── scripts/
│   ├── config.sh
│   ├── db-create.cmd
│   ├── db-create.sh
│   ├── db-derby-connect.sh
│   ├── debian/
│   │   ├── changelog
│   │   ├── compat
│   │   ├── control
│   │   ├── copyright
│   │   ├── init-debian.properties
│   │   ├── rules
│   │   ├── tigase-debian.conf
│   │   ├── tigase-install.sh
│   │   ├── tigase.default
│   │   ├── tigase.dirs
│   │   ├── tigase.init.d
│   │   ├── tigase.postinst
│   │   └── tigase.postrm
│   ├── gentoo/
│   │   ├── conf.d/
│   │   │   └── tigase
│   │   └── init.d/
│   │       └── tigase
│   ├── machine-check.sh
│   ├── mandriva/
│   │   └── init.d/
│   │       └── tigase
│   ├── redhat/
│   │   └── init.d/
│   │       └── tigase
│   ├── repo.sh
│   ├── restart-all-servers.sh
│   ├── stop-all-servers.sh
│   ├── systemd/
│   │   ├── tigase-server
│   │   └── tigase-server.service
│   ├── tigase.sh
│   ├── update-all-servers.sh
│   ├── update-code-functions.sh
│   ├── update-code.sh
│   ├── user_roster.sh
│   └── wait-for-it.sh
├── src/
│   ├── main/
│   │   ├── bash/
│   │   │   ├── cron-dnotify-check.sh
│   │   │   └── users-list-moitor.sh
│   │   ├── database/
│   │   │   ├── derby-common-0.0.1.sql
│   │   │   ├── derby-common-0.0.2.sql
│   │   │   ├── derby-common-0.0.3.sql
│   │   │   ├── derby-counter_data_logger-0.0.1.sql
│   │   │   ├── derby-installer-create-db.sql
│   │   │   ├── derby-installer-post.sql
│   │   │   ├── derby-server-8.0.0-props.sql
│   │   │   ├── derby-server-8.0.0-schema.sql
│   │   │   ├── derby-server-8.0.0-sp.sql
│   │   │   ├── derby-server-8.0.0.sql
│   │   │   ├── derby-server-8.1.0-props.sql
│   │   │   ├── derby-server-8.1.0.sql
│   │   │   ├── derby-server-8.2.0-props.sql
│   │   │   ├── derby-server-8.2.0-schema.sql
│   │   │   ├── derby-server-8.2.0-sp.sql
│   │   │   ├── derby-server-8.2.0.sql
│   │   │   ├── derby-server-8.3.0-props.sql
│   │   │   ├── derby-server-8.3.0-schema.sql
│   │   │   ├── derby-server-8.3.0-sp.sql
│   │   │   ├── derby-server-8.3.0.sql
│   │   │   ├── derby-server-8.4.0.sql
│   │   │   ├── derby-server-8.5.0.sql
│   │   │   ├── mssql-server-8.5.0.sql
│   │   │   ├── mysql-common-0.0.1.sql
│   │   │   ├── mysql-common-0.0.2.sql
│   │   │   ├── mysql-common-0.0.3.sql
│   │   │   ├── mysql-counter_data_logger-0.0.1.sql
│   │   │   ├── mysql-installer-create-db.sql
│   │   │   ├── mysql-installer-post.sql
│   │   │   ├── mysql-server-8.0.0-props.sql
│   │   │   ├── mysql-server-8.0.0-schema.sql
│   │   │   ├── mysql-server-8.0.0-sp.sql
│   │   │   ├── mysql-server-8.0.0.sql
│   │   │   ├── mysql-server-8.1.0-props.sql
│   │   │   ├── mysql-server-8.1.0.sql
│   │   │   ├── mysql-server-8.2.0-props.sql
│   │   │   ├── mysql-server-8.2.0-schema.sql
│   │   │   ├── mysql-server-8.2.0-sp.sql
│   │   │   ├── mysql-server-8.2.0.sql
│   │   │   ├── mysql-server-8.3.0-props.sql
│   │   │   ├── mysql-server-8.3.0-schema.sql
│   │   │   ├── mysql-server-8.3.0-sp.sql
│   │   │   ├── mysql-server-8.3.0.sql
│   │   │   ├── mysql-server-8.4.0-props.sql
│   │   │   ├── mysql-server-8.4.0-schema.sql
│   │   │   ├── mysql-server-8.4.0-sp.sql
│   │   │   ├── mysql-server-8.4.0.sql
│   │   │   ├── mysql-server-8.5.0-schema.sql
│   │   │   ├── mysql-server-8.5.0-sp.sql
│   │   │   ├── mysql-server-8.5.0.sql
│   │   │   ├── postgresql-common-0.0.1.sql
│   │   │   ├── postgresql-common-0.0.2.sql
│   │   │   ├── postgresql-common-0.0.3.sql
│   │   │   ├── postgresql-counter_data_logger-0.0.1.sql
│   │   │   ├── postgresql-installer-create-db.sql
│   │   │   ├── postgresql-installer-post.sql
│   │   │   ├── postgresql-server-8.0.0-props.sql
│   │   │   ├── postgresql-server-8.0.0-schema.sql
│   │   │   ├── postgresql-server-8.0.0-sp.sql
│   │   │   ├── postgresql-server-8.0.0.sql
│   │   │   ├── postgresql-server-8.1.0-props.sql
│   │   │   ├── postgresql-server-8.1.0.sql
│   │   │   ├── postgresql-server-8.2.0-props.sql
│   │   │   ├── postgresql-server-8.2.0-schema.sql
│   │   │   ├── postgresql-server-8.2.0-sp.sql
│   │   │   ├── postgresql-server-8.2.0.sql
│   │   │   ├── postgresql-server-8.3.0-props.sql
│   │   │   ├── postgresql-server-8.3.0-schema.sql
│   │   │   ├── postgresql-server-8.3.0-sp.sql
│   │   │   ├── postgresql-server-8.3.0.sql
│   │   │   ├── postgresql-server-8.4.0.sql
│   │   │   ├── postgresql-server-8.5.0-schema.sql
│   │   │   ├── postgresql-server-8.5.0-sp.sql
│   │   │   ├── postgresql-server-8.5.0.sql
│   │   │   ├── sqlserver-common-0.0.1.sql
│   │   │   ├── sqlserver-common-0.0.2.sql
│   │   │   ├── sqlserver-common-0.0.3.sql
│   │   │   ├── sqlserver-counter_data_logger-0.0.1.sql
│   │   │   ├── sqlserver-create_database.sql
│   │   │   ├── sqlserver-installer-create-db.sql
│   │   │   ├── sqlserver-installer-post.sql
│   │   │   ├── sqlserver-server-8.0.0-props.sql
│   │   │   ├── sqlserver-server-8.0.0-schema.sql
│   │   │   ├── sqlserver-server-8.0.0-sp.sql
│   │   │   ├── sqlserver-server-8.0.0.sql
│   │   │   ├── sqlserver-server-8.1.0-props.sql
│   │   │   ├── sqlserver-server-8.1.0.sql
│   │   │   ├── sqlserver-server-8.2.0-props.sql
│   │   │   ├── sqlserver-server-8.2.0-schema.sql
│   │   │   ├── sqlserver-server-8.2.0-sp.sql
│   │   │   ├── sqlserver-server-8.2.0.sql
│   │   │   ├── sqlserver-server-8.3.0-props.sql
│   │   │   ├── sqlserver-server-8.3.0-schema.sql
│   │   │   ├── sqlserver-server-8.3.0-sp.sql
│   │   │   ├── sqlserver-server-8.3.0.sql
│   │   │   ├── sqlserver-server-8.4.0.sql
│   │   │   ├── sqlserver-server-8.5.0-schema.sql
│   │   │   ├── sqlserver-server-8.5.0-sp.sql
│   │   │   └── sqlserver-server-8.5.0.sql
│   │   ├── groovy/
│   │   │   └── tigase/
│   │   │       └── admin/
│   │   │           ├── AddUser.groovy
│   │   │           ├── AddUserTracker.groovy
│   │   │           ├── BoshPreBindSession.groovy
│   │   │           ├── BroadcastToOnline.groovy
│   │   │           ├── ChangeUserPassword.groovy
│   │   │           ├── CompManager.groovy
│   │   │           ├── CompRepoItemAdd.groovy
│   │   │           ├── CompRepoItemRemove.groovy
│   │   │           ├── CompRepoItemUpdate.groovy
│   │   │           ├── CompRepoReload.groovy
│   │   │           ├── ConnectionTime.groovy
│   │   │           ├── DNSQuery.groovy
│   │   │           ├── DeleteMOTD.groovy
│   │   │           ├── DeleteUser.groovy
│   │   │           ├── DeleteWelcomeMessage.groovy
│   │   │           ├── DisableUser.groovy
│   │   │           ├── EditMOTD.groovy
│   │   │           ├── EditUser.groovy
│   │   │           ├── EndUserSession.groovy
│   │   │           ├── ForceStopServiceForKey.groovy
│   │   │           ├── GetAnyFile.groovy
│   │   │           ├── GetConfigFile.groovy
│   │   │           ├── GetConfigTDSLFromMemory.groovy
│   │   │           ├── GetListOfActiveUsers.groovy
│   │   │           ├── GetListOfClusterNodes.groovy
│   │   │           ├── GetListOfIdleUsers.groovy
│   │   │           ├── GetListOfOnlineUsers.groovy
│   │   │           ├── GetNumberOfActiveUsers.groovy
│   │   │           ├── GetNumberOfIdleUsers.groovy
│   │   │           ├── GetRegisteredUserList.groovy
│   │   │           ├── GetTopActiveUsers.groovy
│   │   │           ├── GetUserInfo.groovy
│   │   │           ├── GetUserRoster.groovy
│   │   │           ├── ListCommands.groovy
│   │   │           ├── ListServiceKeys.groovy
│   │   │           ├── LoadErrors.groovy
│   │   │           ├── OAuthCredentials.groovy
│   │   │           ├── PluginManager.groovy
│   │   │           ├── ReEnableUser.groovy
│   │   │           ├── RemoveUserTracker.groovy
│   │   │           ├── RosterFixer.groovy
│   │   │           ├── RosterFixerCluster.groovy
│   │   │           ├── S2SBadConnectionStates.groovy
│   │   │           ├── S2SCIDState.groovy
│   │   │           ├── S2SGetAllConnectionStates.groovy
│   │   │           ├── S2SResetBadConnections.groovy
│   │   │           ├── SSLCertificateAdd.groovy
│   │   │           ├── SetMOTD.groovy
│   │   │           ├── SetWelcomeMessage.groovy
│   │   │           ├── Shutdown.groovy
│   │   │           ├── SimServiceStopped.groovy
│   │   │           ├── UpdateConfig.groovy
│   │   │           ├── UserDomainFilter.groovy
│   │   │           ├── UserRosterManagement.groovy
│   │   │           ├── UserRosterManagementExt.groovy
│   │   │           ├── UserStatistics.groovy
│   │   │           ├── example_HelloWorld.groovy
│   │   │           ├── example_TigaseScriptingGuide.groovy
│   │   │           └── template.html
│   │   ├── java/
│   │   │   └── tigase/
│   │   │       ├── auth/
│   │   │       │   ├── AuthRepositoryAware.java
│   │   │       │   ├── Aware.java
│   │   │       │   ├── BruteForceLockerBean.java
│   │   │       │   ├── CallbackHandlerFactory.java
│   │   │       │   ├── CredentialsDecoderBean.java
│   │   │       │   ├── CredentialsEncoderBean.java
│   │   │       │   ├── DefaultMechanismSelector.java
│   │   │       │   ├── DomainAware.java
│   │   │       │   ├── MechanismNameAware.java
│   │   │       │   ├── MechanismSelector.java
│   │   │       │   ├── NonAuthUserRepositoryAware.java
│   │   │       │   ├── PasswordResetterIfc.java
│   │   │       │   ├── PluginSettingsAware.java
│   │   │       │   ├── SaslInvalidLoginExcepion.java
│   │   │       │   ├── SessionAware.java
│   │   │       │   ├── TigaseSaslProvider.java
│   │   │       │   ├── XmppSaslException.java
│   │   │       │   ├── adhoc/
│   │   │       │   │   ├── AbstractCredentialsCommand.java
│   │   │       │   │   ├── AddUserCredentials.java
│   │   │       │   │   ├── DeleteUserCredentials.java
│   │   │       │   │   └── ShowUserCredentials.java
│   │   │       │   ├── callbacks/
│   │   │       │   │   ├── AuthorizationIdCallback.java
│   │   │       │   │   ├── CallbackHandlerFactoryIfc.java
│   │   │       │   │   ├── ChannelBindingCallback.java
│   │   │       │   │   ├── PBKDIterationsCallback.java
│   │   │       │   │   ├── ReplaceServerKeyCallback.java
│   │   │       │   │   ├── SaltCallback.java
│   │   │       │   │   ├── ServerKeyCallback.java
│   │   │       │   │   ├── SharedSecretKeyCallback.java
│   │   │       │   │   ├── StoredKeyCallback.java
│   │   │       │   │   ├── ValidateCertificateData.java
│   │   │       │   │   ├── VerifyPasswordCallback.java
│   │   │       │   │   └── XMPPSessionCallback.java
│   │   │       │   ├── credentials/
│   │   │       │   │   ├── Credentials.java
│   │   │       │   │   └── entries/
│   │   │       │   │       ├── MD5PasswordCredentialsEntry.java
│   │   │       │   │       ├── MD5UserIdPasswordCredentialsEntry.java
│   │   │       │   │       ├── MD5UsernamePasswordCredentialsEntry.java
│   │   │       │   │       ├── PlainCredentialsEntry.java
│   │   │       │   │       ├── ScramCredentialsEntry.java
│   │   │       │   │       ├── ScramSha1CredentialsEntry.java
│   │   │       │   │       ├── ScramSha256CredentialsEntry.java
│   │   │       │   │       ├── ScramSha512CredentialsEntry.java
│   │   │       │   │       └── XTokenCredentialsEntry.java
│   │   │       │   ├── impl/
│   │   │       │   │   ├── AuthRepoPlainCallbackHandler.java
│   │   │       │   │   ├── CertBasedCallbackHandler.java
│   │   │       │   │   ├── PlainCallbackHandler.java
│   │   │       │   │   ├── PlainSPCallbackHandler.java
│   │   │       │   │   ├── ScramCallbackHandler.java
│   │   │       │   │   └── XTokenCallbackHandler.java
│   │   │       │   └── mechanisms/
│   │   │       │       ├── AbstractSasl.java
│   │   │       │       ├── AbstractSaslSCRAM.java
│   │   │       │       ├── SCRAMHelper.java
│   │   │       │       ├── SaslANONYMOUS.java
│   │   │       │       ├── SaslEXTERNAL.java
│   │   │       │       ├── SaslPLAIN.java
│   │   │       │       ├── SaslSCRAM.java
│   │   │       │       ├── SaslSCRAMPlus.java
│   │   │       │       ├── SaslSCRAMSha256.java
│   │   │       │       ├── SaslSCRAMSha256Plus.java
│   │   │       │       ├── SaslSCRAMSha512.java
│   │   │       │       ├── SaslSCRAMSha512Plus.java
│   │   │       │       ├── SaslXTOKEN.java
│   │   │       │       └── TigaseSaslServerFactory.java
│   │   │       ├── cluster/
│   │   │       │   ├── AmpComponentClustered.java
│   │   │       │   ├── BoshConnectionClustered.java
│   │   │       │   ├── ClientConnectionClustered.java
│   │   │       │   ├── ClusterConnection.java
│   │   │       │   ├── ClusterConnectionManager.java
│   │   │       │   ├── ClusterConnectionSelector.java
│   │   │       │   ├── ClusterConnectionSelectorOld.java
│   │   │       │   ├── ClusterController.java
│   │   │       │   ├── SessionManagerClustered.java
│   │   │       │   ├── VirtualComponent.java
│   │   │       │   ├── WebSocketClientConnectionClustered.java
│   │   │       │   ├── api/
│   │   │       │   │   ├── ClusterCommandException.java
│   │   │       │   │   ├── ClusterConnectionHandler.java
│   │   │       │   │   ├── ClusterConnectionSelectorIfc.java
│   │   │       │   │   ├── ClusterControllerIfc.java
│   │   │       │   │   ├── ClusterElement.java
│   │   │       │   │   ├── ClusteredComponentIfc.java
│   │   │       │   │   ├── CommandListener.java
│   │   │       │   │   ├── CommandListenerAbstract.java
│   │   │       │   │   └── SessionManagerClusteredIfc.java
│   │   │       │   ├── repo/
│   │   │       │   │   ├── ClConConfigRepository.java
│   │   │       │   │   ├── ClConDirRepository.java
│   │   │       │   │   ├── ClConRepoDefaults.java
│   │   │       │   │   ├── ClConSQLRepository.java
│   │   │       │   │   ├── ClusterRepoConstants.java
│   │   │       │   │   ├── ClusterRepoItem.java
│   │   │       │   │   └── ClusterRepoItemEvent.java
│   │   │       │   └── strategy/
│   │   │       │       ├── ClusteringStrategyIfc.java
│   │   │       │       ├── ConnectionRecord.java
│   │   │       │       ├── ConnectionRecordIfc.java
│   │   │       │       ├── DefaultClusteringStrategy.java
│   │   │       │       ├── DefaultClusteringStrategyAbstract.java
│   │   │       │       ├── SMNonCachingAllNodes.java
│   │   │       │       └── cmd/
│   │   │       │           └── PacketForwardCmd.java
│   │   │       ├── component/
│   │   │       │   ├── AbstractComponent.java
│   │   │       │   ├── AbstractKernelBasedComponent.java
│   │   │       │   ├── BackwardCompatibilityHelper.java
│   │   │       │   ├── BindingsKernel.java
│   │   │       │   ├── ComponenScriptCommandProcessor.java
│   │   │       │   ├── DSLBeanConfigurator.java
│   │   │       │   ├── DSLBeanConfiguratorWithBackwardCompatibility.java
│   │   │       │   ├── PacketWriter.java
│   │   │       │   ├── ScheduledTask.java
│   │   │       │   ├── adhoc/
│   │   │       │   │   ├── AdHocCommand.java
│   │   │       │   │   ├── AdHocCommandException.java
│   │   │       │   │   ├── AdHocCommandManager.java
│   │   │       │   │   ├── AdHocResponse.java
│   │   │       │   │   ├── AdHocScriptCommandManager.java
│   │   │       │   │   ├── AdHocSession.java
│   │   │       │   │   └── AdhHocRequest.java
│   │   │       │   ├── exceptions/
│   │   │       │   │   ├── ComponentException.java
│   │   │       │   │   └── RepositoryException.java
│   │   │       │   ├── modules/
│   │   │       │   │   ├── AbstractModule.java
│   │   │       │   │   ├── Module.java
│   │   │       │   │   ├── StanzaProcessor.java
│   │   │       │   │   └── impl/
│   │   │       │   │       ├── AdHocCommandModule.java
│   │   │       │   │       ├── DiscoveryModule.java
│   │   │       │   │       ├── JabberVersionModule.java
│   │   │       │   │       ├── XmppPingModule.java
│   │   │       │   │       └── config/
│   │   │       │   │           └── ConfiguratorCommand.java
│   │   │       │   └── responses/
│   │   │       │       ├── AsyncCallback.java
│   │   │       │       ├── DefaultResponseHandler.java
│   │   │       │       └── ResponseManager.java
│   │   │       ├── conf/
│   │   │       │   ├── AbstractConfigBuilder.java
│   │   │       │   ├── ConfigBuilder.java
│   │   │       │   ├── ConfigHelper.java
│   │   │       │   ├── ConfigHolder.java
│   │   │       │   ├── ConfigItem.java
│   │   │       │   ├── ConfigReader.java
│   │   │       │   ├── ConfigRepositoryIfc.java
│   │   │       │   ├── ConfigSQLRepository.java
│   │   │       │   ├── ConfigWriter.java
│   │   │       │   ├── ConfigXMLRepository.java
│   │   │       │   ├── Configurable.java
│   │   │       │   ├── ConfigurationCache.java
│   │   │       │   ├── ConfigurationException.java
│   │   │       │   ├── Configurator.java
│   │   │       │   ├── ConfiguratorAbstract.java
│   │   │       │   ├── ConfiguratorOld.java
│   │   │       │   ├── LoggingBean.java
│   │   │       │   ├── MonitoringBeanIfc.java
│   │   │       │   ├── MonitoringSetupIfc.java
│   │   │       │   ├── OldConfigHolder.java
│   │   │       │   └── SetLoggingCommand.java
│   │   │       ├── db/
│   │   │       │   ├── AbstractAuthRepositoryWithCredentials.java
│   │   │       │   ├── AuthRepository.java
│   │   │       │   ├── AuthRepositoryImpl.java
│   │   │       │   ├── AuthRepositoryMDImpl.java
│   │   │       │   ├── AuthRepositoryPool.java
│   │   │       │   ├── AuthorizationException.java
│   │   │       │   ├── DBInitException.java
│   │   │       │   ├── DataOverwriteException.java
│   │   │       │   ├── DataRepository.java
│   │   │       │   ├── DataRepositoryPool.java
│   │   │       │   ├── DataSource.java
│   │   │       │   ├── DataSourceAware.java
│   │   │       │   ├── DataSourceHelper.java
│   │   │       │   ├── DataSourcePool.java
│   │   │       │   ├── DummyRepository.java
│   │   │       │   ├── MsgRepositoryIfc.java
│   │   │       │   ├── NonAuthUserRepository.java
│   │   │       │   ├── NonAuthUserRepositoryImpl.java
│   │   │       │   ├── OfflineMsgRepositoryIfc.java
│   │   │       │   ├── Repository.java
│   │   │       │   ├── RepositoryFactory.java
│   │   │       │   ├── RepositoryPool.java
│   │   │       │   ├── Schema.java
│   │   │       │   ├── TigaseDBException.java
│   │   │       │   ├── UserExistsException.java
│   │   │       │   ├── UserNotFoundException.java
│   │   │       │   ├── UserRepository.java
│   │   │       │   ├── UserRepositoryMDImpl.java
│   │   │       │   ├── UserRepositoryPool.java
│   │   │       │   ├── beans/
│   │   │       │   │   ├── AuthRepositoryMDPoolBean.java
│   │   │       │   │   ├── AuthUserRepositoryConfigBean.java
│   │   │       │   │   ├── DataSourceBean.java
│   │   │       │   │   ├── MDPoolBean.java
│   │   │       │   │   ├── MDPoolBeanWithStatistics.java
│   │   │       │   │   ├── MDPoolConfigBean.java
│   │   │       │   │   ├── MDRepositoryBean.java
│   │   │       │   │   ├── MDRepositoryBeanWithStatistics.java
│   │   │       │   │   ├── SDRepositoryBean.java
│   │   │       │   │   ├── SDRepositoryBeanWithStatistics.java
│   │   │       │   │   └── UserRepositoryMDPoolBean.java
│   │   │       │   ├── comp/
│   │   │       │   │   ├── AbstractSDComponentRepositoryBean.java
│   │   │       │   │   ├── ComponentRepository.java
│   │   │       │   │   ├── ComponentRepositoryDataSourceAware.java
│   │   │       │   │   ├── ConfigRepository.java
│   │   │       │   │   ├── RepositoryChangeListenerIfc.java
│   │   │       │   │   ├── RepositoryItem.java
│   │   │       │   │   ├── RepositoryItemAbstract.java
│   │   │       │   │   └── UserRepoRepository.java
│   │   │       │   ├── derby/
│   │   │       │   │   ├── MsgBroadcastRepositoryStoredProcedures.java
│   │   │       │   │   ├── MsgRepositoryStoredProcedures.java
│   │   │       │   │   └── StoredProcedures.java
│   │   │       │   ├── jdbc/
│   │   │       │   │   ├── DataRepositoryImpl.java
│   │   │       │   │   ├── JDBCRepository.java
│   │   │       │   │   ├── PreparedStatementInvocationHandler.java
│   │   │       │   │   ├── TigaseAuth.java
│   │   │       │   │   ├── TigaseCustomAuth.java
│   │   │       │   │   └── TigaseSPAuth.java
│   │   │       │   ├── ldap/
│   │   │       │   │   └── LdapAuthProvider.java
│   │   │       │   ├── services/
│   │   │       │   │   └── AccountExpirationService.java
│   │   │       │   ├── util/
│   │   │       │   │   ├── DBInitForkJoinPoolCache.java
│   │   │       │   │   ├── DBSchemaLoader.java
│   │   │       │   │   ├── JDBCPasswordObfuscator.java
│   │   │       │   │   ├── RepositoryVersionAware.java
│   │   │       │   │   ├── SchemaLoader.java
│   │   │       │   │   ├── SchemaManager.java
│   │   │       │   │   ├── SchemaManagerLogHandler.java
│   │   │       │   │   ├── SchemaVersionCheckerLogger.java
│   │   │       │   │   ├── importexport/
│   │   │       │   │   │   ├── AbstractImporterExtension.java
│   │   │       │   │   │   ├── CredentialsExtension.java
│   │   │       │   │   │   ├── DataSourceHelper.java
│   │   │       │   │   │   ├── Exporter.java
│   │   │       │   │   │   ├── ImportXMLHandler.java
│   │   │       │   │   │   ├── Importer.java
│   │   │       │   │   │   ├── ImporterExtension.java
│   │   │       │   │   │   ├── JabberIqPrivateExtension.java
│   │   │       │   │   │   ├── RepositoryHolder.java
│   │   │       │   │   │   ├── RepositoryManager.java
│   │   │       │   │   │   ├── RepositoryManagerExtension.java
│   │   │       │   │   │   └── RepositoryManagerExtensionBase.java
│   │   │       │   │   └── locker/
│   │   │       │   │       ├── ConnectionLock.java
│   │   │       │   │       ├── MssqlConnectionLock.java
│   │   │       │   │       ├── MysqlConnectionLock.java
│   │   │       │   │       └── PostgresqlConnectionLock.java
│   │   │       │   └── xml/
│   │   │       │       ├── XMLDataSource.java
│   │   │       │       ├── XMLMsgRepository.java
│   │   │       │       └── XMLRepository.java
│   │   │       ├── disco/
│   │   │       │   ├── ServiceEntity.java
│   │   │       │   ├── ServiceIdentity.java
│   │   │       │   ├── XMPPService.java
│   │   │       │   └── XMPPServiceCollector.java
│   │   │       ├── disteventbus/
│   │   │       │   └── component/
│   │   │       │       └── EventBusComponent.java
│   │   │       ├── eventbus/
│   │   │       │   ├── EventBus.java
│   │   │       │   ├── EventBusAction.java
│   │   │       │   ├── EventBusEvent.java
│   │   │       │   ├── EventBusException.java
│   │   │       │   ├── EventBusFactory.java
│   │   │       │   ├── EventListener.java
│   │   │       │   ├── EventRoutedTransientFiller.java
│   │   │       │   ├── EventRoutingSelector.java
│   │   │       │   ├── EventSourceListener.java
│   │   │       │   ├── FillRoutedEvent.java
│   │   │       │   ├── HandleEvent.java
│   │   │       │   ├── RegistrationException.java
│   │   │       │   ├── RouteEvent.java
│   │   │       │   ├── TickMinuteEvent.java
│   │   │       │   ├── XMLEventBusEvent.java
│   │   │       │   ├── component/
│   │   │       │   │   ├── AbstractEventBusModule.java
│   │   │       │   │   ├── ElemPathCriteria.java
│   │   │       │   │   ├── EventBusComponent.java
│   │   │       │   │   ├── EventPublisherModule.java
│   │   │       │   │   ├── EventReceiverModule.java
│   │   │       │   │   ├── EventbusDiscoveryModule.java
│   │   │       │   │   ├── SubscribeModule.java
│   │   │       │   │   ├── UnsubscribeModule.java
│   │   │       │   │   └── stores/
│   │   │       │   │       ├── Affiliation.java
│   │   │       │   │       ├── AffiliationStore.java
│   │   │       │   │       ├── Subscription.java
│   │   │       │   │       └── SubscriptionStore.java
│   │   │       │   ├── events/
│   │   │       │   │   ├── ShutdownEvent.java
│   │   │       │   │   └── StartupFinishedEvent.java
│   │   │       │   └── impl/
│   │   │       │       ├── AbstractHandler.java
│   │   │       │       ├── AbstractListenerHandler.java
│   │   │       │       ├── ElementListenerHandler.java
│   │   │       │       ├── ElementSourceListenerHandler.java
│   │   │       │       ├── EventBusImplementation.java
│   │   │       │       ├── EventBusSerializer.java
│   │   │       │       ├── EventName.java
│   │   │       │       ├── EventsNameMap.java
│   │   │       │       ├── EventsRegistrar.java
│   │   │       │       ├── ObjectEventsListenerHandler.java
│   │   │       │       ├── ObjectEventsSourceListenerHandler.java
│   │   │       │       ├── ReflectEventListenerHandler.java
│   │   │       │       ├── ReflectEventListenerHandlerFactory.java
│   │   │       │       ├── ReflectEventRoutedTransientFiller.java
│   │   │       │       ├── ReflectEventRoutedTransientFillerFactory.java
│   │   │       │       ├── ReflectEventRoutingSelector.java
│   │   │       │       ├── ReflectEventRoutingSelectorFactory.java
│   │   │       │       ├── ReflectEventSourceListenerHandler.java
│   │   │       │       └── Serializer.java
│   │   │       ├── examples/
│   │   │       │   ├── ExampleUsingDataRepository.java
│   │   │       │   └── SampleCustomAuthRepository.java
│   │   │       ├── io/
│   │   │       │   ├── BufferUnderflowException.java
│   │   │       │   ├── CertFilesTrustManager.java
│   │   │       │   ├── CertificateContainer.java
│   │   │       │   ├── CertificateContainerIfc.java
│   │   │       │   ├── IOInterface.java
│   │   │       │   ├── JcaTLSWrapper.java
│   │   │       │   ├── ProxyIO.java
│   │   │       │   ├── SSLContextContainer.java
│   │   │       │   ├── SSLContextContainerAbstract.java
│   │   │       │   ├── SSLContextContainerIfc.java
│   │   │       │   ├── SampleSocketThread.java
│   │   │       │   ├── SocketIO.java
│   │   │       │   ├── TLSEventHandler.java
│   │   │       │   ├── TLSIO.java
│   │   │       │   ├── TLSIOIfc.java
│   │   │       │   ├── TLSStatus.java
│   │   │       │   ├── TLSUtil.java
│   │   │       │   ├── TLSWrapper.java
│   │   │       │   ├── TelnetClient.java
│   │   │       │   ├── TelnetServer.java
│   │   │       │   ├── ZLibIO.java
│   │   │       │   └── repo/
│   │   │       │       ├── CertificateItem.java
│   │   │       │       └── CertificateRepository.java
│   │   │       ├── kernel/
│   │   │       │   ├── BeanUtils.java
│   │   │       │   ├── DefaultTypesConverter.java
│   │   │       │   ├── KernelException.java
│   │   │       │   ├── TypesConverter.java
│   │   │       │   ├── beans/
│   │   │       │   │   ├── Autostart.java
│   │   │       │   │   ├── Bean.java
│   │   │       │   │   ├── BeanFactory.java
│   │   │       │   │   ├── BeanSelector.java
│   │   │       │   │   ├── Converter.java
│   │   │       │   │   ├── Initializable.java
│   │   │       │   │   ├── Inject.java
│   │   │       │   │   ├── RegistrarBean.java
│   │   │       │   │   ├── RegistrarBeanWithDefaultBeanClass.java
│   │   │       │   │   ├── UnregisterAware.java
│   │   │       │   │   ├── config/
│   │   │       │   │   │   ├── AbstractBeanConfigurator.java
│   │   │       │   │   │   ├── BeanConfigurator.java
│   │   │       │   │   │   ├── ConfigAlias.java
│   │   │       │   │   │   ├── ConfigAliases.java
│   │   │       │   │   │   ├── ConfigField.java
│   │   │       │   │   │   ├── ConfigFieldType.java
│   │   │       │   │   │   └── ConfigurationChangedAware.java
│   │   │       │   │   └── selector/
│   │   │       │   │       ├── ClusterModeRequired.java
│   │   │       │   │       ├── ConfigType.java
│   │   │       │   │       ├── ConfigTypeEnum.java
│   │   │       │   │       └── ServerBeanSelector.java
│   │   │       │   └── core/
│   │   │       │       ├── BeanConfig.java
│   │   │       │       ├── BeanConfigBuilder.java
│   │   │       │       ├── Dependency.java
│   │   │       │       ├── DependencyGrapher.java
│   │   │       │       ├── DependencyManager.java
│   │   │       │       ├── Kernel.java
│   │   │       │       ├── PlantUMLGrapher.java
│   │   │       │       └── RegistrarKernel.java
│   │   │       ├── map/
│   │   │       │   ├── ClusterMapFactory.java
│   │   │       │   ├── CollectionWrapper.java
│   │   │       │   ├── DMap.java
│   │   │       │   ├── DMapListener.java
│   │   │       │   ├── IteratorWrapper.java
│   │   │       │   ├── MapCreatedEvent.java
│   │   │       │   ├── MapDestroyedEvent.java
│   │   │       │   └── SetWrapper.java
│   │   │       ├── monitor/
│   │   │       │   ├── AdHocTask.java
│   │   │       │   ├── ConfigurableTask.java
│   │   │       │   ├── InfoTask.java
│   │   │       │   ├── MonitorComponent.java
│   │   │       │   ├── MonitorExtension.java
│   │   │       │   ├── MonitorTask.java
│   │   │       │   ├── TaskConfigItem.java
│   │   │       │   ├── TaskConfigItemJDBCRepository.java
│   │   │       │   ├── TasksScriptRegistrar.java
│   │   │       │   ├── TimerTaskService.java
│   │   │       │   ├── modules/
│   │   │       │   │   ├── AdHocCommandMonitorModule.java
│   │   │       │   │   ├── AddScriptTaskCommand.java
│   │   │       │   │   ├── AddTimerScriptTaskCommand.java
│   │   │       │   │   ├── ConfigureTaskCommand.java
│   │   │       │   │   ├── DeleteScriptTaskCommand.java
│   │   │       │   │   ├── DiscoveryMonitorModule.java
│   │   │       │   │   └── InfoTaskCommand.java
│   │   │       │   └── tasks/
│   │   │       │       ├── AbstractConfigurableTask.java
│   │   │       │       ├── AbstractConfigurableTimerTask.java
│   │   │       │       ├── ConnectionsTask.java
│   │   │       │       ├── CpuTempTask.java
│   │   │       │       ├── DiskTask.java
│   │   │       │       ├── LoadCheckerTask.java
│   │   │       │       ├── LoggerTask.java
│   │   │       │       ├── MemoryCheckerTask.java
│   │   │       │       ├── SampleTask.java
│   │   │       │       ├── ScriptTask.java
│   │   │       │       ├── ScriptTimerTask.java
│   │   │       │       └── TasksEvent.java
│   │   │       ├── net/
│   │   │       │   ├── Accept.java
│   │   │       │   ├── ConnectionOpenListener.java
│   │   │       │   ├── ConnectionOpenThread.java
│   │   │       │   ├── ConnectionType.java
│   │   │       │   ├── IOService.java
│   │   │       │   ├── IOServiceListener.java
│   │   │       │   ├── IOUtil.java
│   │   │       │   ├── ServiceCommand.java
│   │   │       │   ├── SocketThread.java
│   │   │       │   └── SocketType.java
│   │   │       ├── osgi/
│   │   │       │   ├── AbstractActivator.java
│   │   │       │   ├── Activator.java
│   │   │       │   ├── ModulesManager.java
│   │   │       │   ├── ModulesManagerImpl.java
│   │   │       │   ├── OSGiScriptEngine.java
│   │   │       │   ├── OSGiScriptEngineFactory.java
│   │   │       │   ├── OSGiScriptEngineManager.java
│   │   │       │   └── util/
│   │   │       │       ├── ClassUtil.java
│   │   │       │       └── ClassUtilBean.java
│   │   │       ├── server/
│   │   │       │   ├── AbstractComponentRegistrator.java
│   │   │       │   ├── AbstractMessageReceiver.java
│   │   │       │   ├── BasicComponent.java
│   │   │       │   ├── Bootstrap.java
│   │   │       │   ├── CmdAcl.java
│   │   │       │   ├── Command.java
│   │   │       │   ├── ComponentInfo.java
│   │   │       │   ├── ComponentRegistrator.java
│   │   │       │   ├── ConnectionManager.java
│   │   │       │   ├── DataForm.java
│   │   │       │   ├── DisableDisco.java
│   │   │       │   ├── Iq.java
│   │   │       │   ├── Lifecycle.java
│   │   │       │   ├── Message.java
│   │   │       │   ├── MessageReceiver.java
│   │   │       │   ├── MessageRouter.java
│   │   │       │   ├── MessageRouterConfig.java
│   │   │       │   ├── MessageRouterIfc.java
│   │   │       │   ├── Packet.java
│   │   │       │   ├── PacketFilterIfc.java
│   │   │       │   ├── PacketWriterWithTimeout.java
│   │   │       │   ├── Permissions.java
│   │   │       │   ├── PolicyViolationException.java
│   │   │       │   ├── Presence.java
│   │   │       │   ├── Priority.java
│   │   │       │   ├── QueueType.java
│   │   │       │   ├── ReceiverTimeoutHandler.java
│   │   │       │   ├── ServerComponent.java
│   │   │       │   ├── ServiceChecker.java
│   │   │       │   ├── StanzaSourceChecker.java
│   │   │       │   ├── ThreadExceptionHandler.java
│   │   │       │   ├── XMPPServer.java
│   │   │       │   ├── amp/
│   │   │       │   │   ├── ActionAbstract.java
│   │   │       │   │   ├── ActionIfc.java
│   │   │       │   │   ├── ActionResultsHandlerIfc.java
│   │   │       │   │   ├── AmpComponent.java
│   │   │       │   │   ├── AmpFeatureIfc.java
│   │   │       │   │   ├── ConditionIfc.java
│   │   │       │   │   ├── JidResourceMap.java
│   │   │       │   │   ├── action/
│   │   │       │   │   │   ├── Alert.java
│   │   │       │   │   │   ├── Broadcast.java
│   │   │       │   │   │   ├── Deliver.java
│   │   │       │   │   │   ├── Drop.java
│   │   │       │   │   │   ├── Error.java
│   │   │       │   │   │   ├── Notify.java
│   │   │       │   │   │   └── Store.java
│   │   │       │   │   ├── cond/
│   │   │       │   │   │   ├── Deliver.java
│   │   │       │   │   │   ├── ExpireAt.java
│   │   │       │   │   │   └── MatchResource.java
│   │   │       │   │   └── db/
│   │   │       │   │       ├── JDBCMsgBroadcastRepository.java
│   │   │       │   │       ├── JDBCMsgRepository.java
│   │   │       │   │       ├── MsgBroadcastRepository.java
│   │   │       │   │       ├── MsgBroadcastRepositoryIfc.java
│   │   │       │   │       └── MsgRepository.java
│   │   │       │   ├── bosh/
│   │   │       │   │   ├── BoshConnectionManager.java
│   │   │       │   │   ├── BoshIOService.java
│   │   │       │   │   ├── BoshSendQueueTask.java
│   │   │       │   │   ├── BoshSession.java
│   │   │       │   │   ├── BoshSessionCache.java
│   │   │       │   │   ├── BoshSessionTaskHandler.java
│   │   │       │   │   ├── BoshSidLoggerFilter.java
│   │   │       │   │   ├── BoshTask.java
│   │   │       │   │   └── Constants.java
│   │   │       │   ├── ext/
│   │   │       │   │   ├── AbstractCompDBRepository.java
│   │   │       │   │   ├── CompCompDBRepository.java
│   │   │       │   │   ├── CompConfigRepository.java
│   │   │       │   │   ├── CompRepoDefaults.java
│   │   │       │   │   ├── CompRepoItem.java
│   │   │       │   │   ├── CompSQLRepository.java
│   │   │       │   │   ├── ComponentConnection.java
│   │   │       │   │   ├── ComponentIOService.java
│   │   │       │   │   ├── ComponentProtocol.java
│   │   │       │   │   ├── ComponentProtocolHandler.java
│   │   │       │   │   ├── ComponentProtocolManager.java
│   │   │       │   │   ├── ExtProcessor.java
│   │   │       │   │   ├── ManagerCompDBRepository.java
│   │   │       │   │   ├── ServerCompDBRepository.java
│   │   │       │   │   ├── StreamOpenHandler.java
│   │   │       │   │   ├── handlers/
│   │   │       │   │   │   ├── BindProcessor.java
│   │   │       │   │   │   ├── ComponentAcceptStreamOpenHandler.java
│   │   │       │   │   │   ├── ComponentConnectStreamOpenHandler.java
│   │   │       │   │   │   ├── HandshakeProcessor.java
│   │   │       │   │   │   ├── JabberClientStreamOpenHandler.java
│   │   │       │   │   │   ├── SASLProcessor.java
│   │   │       │   │   │   ├── StartTLSProcessor.java
│   │   │       │   │   │   ├── StreamFeaturesProcessor.java
│   │   │       │   │   │   └── UnknownXMLNSStreamOpenHandler.java
│   │   │       │   │   └── lb/
│   │   │       │   │       ├── LoadBalancerIfc.java
│   │   │       │   │       ├── ReceiverBareJidLB.java
│   │   │       │   │       ├── ReceiverFullJidLB.java
│   │   │       │   │       ├── SenderBareJidLB.java
│   │   │       │   │       └── SenderFullJidLB.java
│   │   │       │   ├── extdisco/
│   │   │       │   │   ├── ExtServiceDiscoItem.java
│   │   │       │   │   ├── ExtServiceDiscoveryUserRepoRepository.java
│   │   │       │   │   ├── ExternalServiceDiscoveryComponent.java
│   │   │       │   │   ├── ExternalServiceDiscoveryModule.java
│   │   │       │   │   └── ExternalServiceDiscoveryProcessor.java
│   │   │       │   ├── filters/
│   │   │       │   │   ├── PacketCounter.java
│   │   │       │   │   └── PacketFiltersBean.java
│   │   │       │   ├── monitor/
│   │   │       │   │   ├── MonitorComponent.java
│   │   │       │   │   ├── MonitorPluginIfc.java
│   │   │       │   │   ├── MonitorRuntime.java
│   │   │       │   │   └── StatusReportGenerator.java
│   │   │       │   ├── package-info.java
│   │   │       │   ├── rtbl/
│   │   │       │   │   ├── RTBL.java
│   │   │       │   │   ├── RTBLComponent.java
│   │   │       │   │   ├── RTBLEventModule.java
│   │   │       │   │   ├── RTBLFetchModule.java
│   │   │       │   │   ├── RTBLIqModule.java
│   │   │       │   │   ├── RTBLRepository.java
│   │   │       │   │   ├── RTBLSubscribeModule.java
│   │   │       │   │   └── adhoc/
│   │   │       │   │       ├── AbstractAdHocCommand.java
│   │   │       │   │       ├── RTBLAddCommand.java
│   │   │       │   │       └── RTBLDeleteCommand.java
│   │   │       │   ├── script/
│   │   │       │   │   ├── AbstractScriptCommand.java
│   │   │       │   │   ├── AddScriptCommand.java
│   │   │       │   │   ├── CommandIfc.java
│   │   │       │   │   ├── RemoveScriptCommand.java
│   │   │       │   │   └── Script.java
│   │   │       │   ├── test/
│   │   │       │   │   ├── EchoComponent.java
│   │   │       │   │   ├── TestComponent.java
│   │   │       │   │   ├── TestGeneratorModule.java
│   │   │       │   │   └── TestSpamModule.java
│   │   │       │   ├── websocket/
│   │   │       │   │   ├── WebSocketClientConnectionManager.java
│   │   │       │   │   ├── WebSocketHixie76.java
│   │   │       │   │   ├── WebSocketHybi.java
│   │   │       │   │   ├── WebSocketProtocolIfc.java
│   │   │       │   │   └── WebSocketXMPPIOService.java
│   │   │       │   ├── xmppclient/
│   │   │       │   │   ├── C2SIOService.java
│   │   │       │   │   ├── ClientConnectionManager.java
│   │   │       │   │   ├── ClientTrustManagerFactory.java
│   │   │       │   │   ├── IPMonitor.java
│   │   │       │   │   ├── RegistrationThrottling.java
│   │   │       │   │   ├── RegistrationThrottlingProcessor.java
│   │   │       │   │   ├── SeeOtherHost.java
│   │   │       │   │   ├── SeeOtherHostDB.java
│   │   │       │   │   ├── SeeOtherHostDualIP.java
│   │   │       │   │   ├── SeeOtherHostDualIPSQLRepository.java
│   │   │       │   │   ├── SeeOtherHostHashed.java
│   │   │       │   │   ├── SeeOtherHostIfc.java
│   │   │       │   │   ├── StreamErrorCounterIOProcessor.java
│   │   │       │   │   ├── StreamManagementCommand.java
│   │   │       │   │   ├── StreamManagementIOProcessor.java
│   │   │       │   │   └── XMPPIOProcessor.java
│   │   │       │   ├── xmppcomponent/
│   │   │       │   │   └── ComponentConnectionManager.java
│   │   │       │   ├── xmppserver/
│   │   │       │   │   ├── CID.java
│   │   │       │   │   ├── CIDConnections.java
│   │   │       │   │   ├── KnownDomainsListProvider.java
│   │   │       │   │   ├── LocalhostException.java
│   │   │       │   │   ├── NotLocalhostException.java
│   │   │       │   │   ├── OutgoingState.java
│   │   │       │   │   ├── S2SConnection.java
│   │   │       │   │   ├── S2SConnectionHandlerIfc.java
│   │   │       │   │   ├── S2SConnectionManager.java
│   │   │       │   │   ├── S2SConnectionSelector.java
│   │   │       │   │   ├── S2SFilterIfc.java
│   │   │       │   │   ├── S2SIOService.java
│   │   │       │   │   ├── S2SProcessor.java
│   │   │       │   │   ├── S2SRandomSelector.java
│   │   │       │   │   └── proc/
│   │   │       │   │       ├── AuthenticationProcessor.java
│   │   │       │   │       ├── AuthenticatorSelectorManager.java
│   │   │       │   │       ├── Dialback.java
│   │   │       │   │       ├── PacketChecker.java
│   │   │       │   │       ├── S2SAbstract.java
│   │   │       │   │       ├── S2SAbstractFilter.java
│   │   │       │   │       ├── S2SAbstractProcessor.java
│   │   │       │   │       ├── SaslExternal.java
│   │   │       │   │       ├── StartTLS.java
│   │   │       │   │       ├── StartZlib.java
│   │   │       │   │       ├── StreamError.java
│   │   │       │   │       ├── StreamFeatures.java
│   │   │       │   │       └── StreamOpen.java
│   │   │       │   └── xmppsession/
│   │   │       │       ├── DisconnectUserEBAction.java
│   │   │       │       ├── PacketDefaultHandler.java
│   │   │       │       ├── SMResourceConnection.java
│   │   │       │       ├── SessionManager.java
│   │   │       │       ├── SessionManagerConfig.java
│   │   │       │       ├── SessionManagerHandler.java
│   │   │       │       ├── UserConnectedEvent.java
│   │   │       │       ├── UserPresenceChangedEvent.java
│   │   │       │       ├── UserSessionEvent.java
│   │   │       │       ├── UserSessionEventWithProcessorResultWriter.java
│   │   │       │       └── adhoc/
│   │   │       │           └── SuggestedDomainsListAdhoc.java
│   │   │       ├── stats/
│   │   │       │   ├── ComponentStatisticsProvider.java
│   │   │       │   ├── Counter.java
│   │   │       │   ├── CounterDataArchivizer.java
│   │   │       │   ├── CounterDataFileLogger.java
│   │   │       │   ├── CounterDataLogger.java
│   │   │       │   ├── CounterPerSecond.java
│   │   │       │   ├── CounterValue.java
│   │   │       │   ├── ErrorsStatisticsProvider.java
│   │   │       │   ├── JMXProxyListener.java
│   │   │       │   ├── JMXProxyListenerOpt.java
│   │   │       │   ├── JavaJMXProxyOpt.java
│   │   │       │   ├── MaxDailyCounterQueue.java
│   │   │       │   ├── StatRecord.java
│   │   │       │   ├── StatisticHolder.java
│   │   │       │   ├── StatisticHolderImpl.java
│   │   │       │   ├── StatisticType.java
│   │   │       │   ├── StatisticsArchivizerIfc.java
│   │   │       │   ├── StatisticsCollector.java
│   │   │       │   ├── StatisticsContainer.java
│   │   │       │   ├── StatisticsContainerIfc.java
│   │   │       │   ├── StatisticsInvocationHandler.java
│   │   │       │   ├── StatisticsList.java
│   │   │       │   ├── StatisticsProvider.java
│   │   │       │   ├── StatisticsProviderIfc.java
│   │   │       │   ├── StatisticsProviderMBean.java
│   │   │       │   └── db/
│   │   │       │       ├── CounterDataLoggerRepoBean.java
│   │   │       │       ├── CounterDataLoggerRepository.java
│   │   │       │       └── CounterDataLoggerRepositoryIfc.java
│   │   │       ├── sys/
│   │   │       │   ├── CPULoadListener.java
│   │   │       │   ├── MemoryChangeListener.java
│   │   │       │   ├── NMTScope.java
│   │   │       │   ├── NativeMemoryTracking.java
│   │   │       │   ├── OnlineJidsReporter.java
│   │   │       │   ├── ResourceState.java
│   │   │       │   ├── ShutdownHook.java
│   │   │       │   └── TigaseRuntime.java
│   │   │       ├── util/
│   │   │       │   ├── common/
│   │   │       │   │   ├── DependencyChecker.java
│   │   │       │   │   ├── OSUtils.java
│   │   │       │   │   └── TimerTask.java
│   │   │       │   ├── historyCache/
│   │   │       │   │   ├── AllHistoryCache.java
│   │   │       │   │   ├── FloatHistoryCache.java
│   │   │       │   │   ├── IntHistoryCache.java
│   │   │       │   │   └── LongHistoryCache.java
│   │   │       │   ├── log/
│   │   │       │   │   ├── LogFilter.java
│   │   │       │   │   ├── LogFormatter.java
│   │   │       │   │   ├── LogUserFilter.java
│   │   │       │   │   └── LogWithStackTraceEntry.java
│   │   │       │   ├── processing/
│   │   │       │   │   ├── ProcessingThreads.java
│   │   │       │   │   ├── QueueItem.java
│   │   │       │   │   └── WorkerThread.java
│   │   │       │   ├── reflection/
│   │   │       │   │   ├── ClassUtilBean.java
│   │   │       │   │   └── ReflectionHelper.java
│   │   │       │   ├── repository/
│   │   │       │   │   ├── DataTypes.java
│   │   │       │   │   └── RepositoryUtils.java
│   │   │       │   ├── routing/
│   │   │       │   │   ├── PatternComparator.java
│   │   │       │   │   └── RoutingsContainer.java
│   │   │       │   ├── setup/
│   │   │       │   │   ├── BeanDefinition.java
│   │   │       │   │   └── SetupHelper.java
│   │   │       │   ├── tracer/
│   │   │       │   │   └── TigaseTracer.java
│   │   │       │   ├── updater/
│   │   │       │   │   └── UpdatesChecker.java
│   │   │       │   └── workqueue/
│   │   │       │       ├── NonpriorityQueue.java
│   │   │       │       ├── PriorityQueueAbstract.java
│   │   │       │       ├── PriorityQueueRelaxed.java
│   │   │       │       └── PriorityQueueStrict.java
│   │   │       ├── vhosts/
│   │   │       │   ├── AbstractVHostItemExtension.java
│   │   │       │   ├── DefaultAwareVHostManagerIfc.java
│   │   │       │   ├── VHostComponentRepository.java
│   │   │       │   ├── VHostComponentRepositoryDataSourceAware.java
│   │   │       │   ├── VHostItem.java
│   │   │       │   ├── VHostItemDefaults.java
│   │   │       │   ├── VHostItemExtension.java
│   │   │       │   ├── VHostItemExtensionBackwardCompatible.java
│   │   │       │   ├── VHostItemExtensionIfc.java
│   │   │       │   ├── VHostItemExtensionManager.java
│   │   │       │   ├── VHostItemExtensionProvider.java
│   │   │       │   ├── VHostItemImpl.java
│   │   │       │   ├── VHostJDBCRepository.java
│   │   │       │   ├── VHostListener.java
│   │   │       │   ├── VHostManager.java
│   │   │       │   ├── VHostManagerIfc.java
│   │   │       │   ├── VHostRepoDefaults.java
│   │   │       │   └── filter/
│   │   │       │       ├── CustomDomainFilter.java
│   │   │       │       ├── DomainFilterPolicy.java
│   │   │       │       └── Rule.java
│   │   │       └── xmpp/
│   │   │           ├── Authorization.java
│   │   │           ├── ElementMatcher.java
│   │   │           ├── InvalidPacketException.java
│   │   │           ├── NoConnectionIdException.java
│   │   │           ├── NotAuthorizedException.java
│   │   │           ├── PacketErrorTypeException.java
│   │   │           ├── PacketInvalidAddressException.java
│   │   │           ├── PacketInvalidTypeException.java
│   │   │           ├── RepositoryAccess.java
│   │   │           ├── SpamReportsConsumer.java
│   │   │           ├── StanzaType.java
│   │   │           ├── StreamError.java
│   │   │           ├── XMPPDomBuilderHandler.java
│   │   │           ├── XMPPException.java
│   │   │           ├── XMPPIOService.java
│   │   │           ├── XMPPIOServiceListener.java
│   │   │           ├── XMPPImplIfc.java
│   │   │           ├── XMPPPacketFilterIfc.java
│   │   │           ├── XMPPParserException.java
│   │   │           ├── XMPPPostprocessorIfc.java
│   │   │           ├── XMPPPreprocessorIfc.java
│   │   │           ├── XMPPProcessor.java
│   │   │           ├── XMPPProcessorAbstract.java
│   │   │           ├── XMPPProcessorConcurrencyAwareIfc.java
│   │   │           ├── XMPPProcessorException.java
│   │   │           ├── XMPPProcessorIfc.java
│   │   │           ├── XMPPResourceConnection.java
│   │   │           ├── XMPPSession.java
│   │   │           ├── XMPPStopListenerIfc.java
│   │   │           ├── impl/
│   │   │           │   ├── AbstractAuthPreprocessor.java
│   │   │           │   ├── AddressingSanitizer.java
│   │   │           │   ├── Bind2.java
│   │   │           │   ├── BindResource.java
│   │   │           │   ├── BlockingCommand.java
│   │   │           │   ├── C2SDeliveryErrorProcessor.java
│   │   │           │   ├── CAPS.java
│   │   │           │   ├── CaptchaProvider.java
│   │   │           │   ├── ClientStateIndication.java
│   │   │           │   ├── DomainFilter.java
│   │   │           │   ├── EntityTime.java
│   │   │           │   ├── ErrorCounter.java
│   │   │           │   ├── FlexibleOfflineMessageRetrieval.java
│   │   │           │   ├── InvisibleCommand.java
│   │   │           │   ├── JabberIqAuth.java
│   │   │           │   ├── JabberIqCommand.java
│   │   │           │   ├── JabberIqIq.java
│   │   │           │   ├── JabberIqPrivacy.java
│   │   │           │   ├── JabberIqPrivate.java
│   │   │           │   ├── JabberIqRegister.java
│   │   │           │   ├── JabberIqRoster.java
│   │   │           │   ├── JabberIqStats.java
│   │   │           │   ├── JabberIqVersion.java
│   │   │           │   ├── Jingle.java
│   │   │           │   ├── LastActivity.java
│   │   │           │   ├── LastActivityAbstract.java
│   │   │           │   ├── LastActivityMarker.java
│   │   │           │   ├── LastActivityRetriever.java
│   │   │           │   ├── MIXProcessor.java
│   │   │           │   ├── Message.java
│   │   │           │   ├── MessageAll.java
│   │   │           │   ├── MessageAmp.java
│   │   │           │   ├── MessageCarbons.java
│   │   │           │   ├── MessageDeliveryLogic.java
│   │   │           │   ├── MessageDeliveryProviderIfc.java
│   │   │           │   ├── MessageForwarding.java
│   │   │           │   ├── MobileV1.java
│   │   │           │   ├── MobileV2.java
│   │   │           │   ├── MobileV3.java
│   │   │           │   ├── MotdProcessor.java
│   │   │           │   ├── OfflineMessages.java
│   │   │           │   ├── PepPlugin.java
│   │   │           │   ├── PresenceAbstract.java
│   │   │           │   ├── PresenceCapabilitiesManager.java
│   │   │           │   ├── PresenceOffline.java
│   │   │           │   ├── PresenceState.java
│   │   │           │   ├── PresenceSubscription.java
│   │   │           │   ├── Privacy.java
│   │   │           │   ├── PrivacyList.java
│   │   │           │   ├── RemoteRosterManagement.java
│   │   │           │   ├── SaslAuth.java
│   │   │           │   ├── SaslAuth2.java
│   │   │           │   ├── SaslAuthAbstract.java
│   │   │           │   ├── SaslChannelBinding.java
│   │   │           │   ├── ServerInfo.java
│   │   │           │   ├── ServiceDiscovery.java
│   │   │           │   ├── SessionBind.java
│   │   │           │   ├── SimpleForwarder.java
│   │   │           │   ├── StartTLS.java
│   │   │           │   ├── StartZLib.java
│   │   │           │   ├── StreamManagementInline.java
│   │   │           │   ├── TokenBucketPool.java
│   │   │           │   ├── UrnXmppPing.java
│   │   │           │   ├── VCard4.java
│   │   │           │   ├── VCardTemp.java
│   │   │           │   ├── VCardXMPPProcessorAbstract.java
│   │   │           │   ├── annotation/
│   │   │           │   │   ├── AnnotatedXMPPProcessor.java
│   │   │           │   │   ├── DiscoFeatures.java
│   │   │           │   │   ├── Handle.java
│   │   │           │   │   ├── HandleStanzaTypes.java
│   │   │           │   │   ├── Handles.java
│   │   │           │   │   ├── Id.java
│   │   │           │   │   ├── StreamFeature.java
│   │   │           │   │   └── StreamFeatures.java
│   │   │           │   ├── package-info.java
│   │   │           │   ├── push/
│   │   │           │   │   ├── AbstractPushNotifications.java
│   │   │           │   │   ├── AwayPushNotificationsExtension.java
│   │   │           │   │   ├── EncryptedPushNotificationExtension.java
│   │   │           │   │   ├── GroupchatFilter.java
│   │   │           │   │   ├── GroupchatPushNotificationsExtension.java
│   │   │           │   │   ├── IgnoreFromUnknownFilter.java
│   │   │           │   │   ├── JinglePushNotificationsExtension.java
│   │   │           │   │   ├── MeetPushNotificationExtension.java
│   │   │           │   │   ├── MutedFilter.java
│   │   │           │   │   ├── PriorityExtension.java
│   │   │           │   │   ├── PushNotificationCause.java
│   │   │           │   │   ├── PushNotifications.java
│   │   │           │   │   ├── PushNotificationsAware.java
│   │   │           │   │   ├── PushNotificationsExtension.java
│   │   │           │   │   ├── PushNotificationsFilter.java
│   │   │           │   │   └── PushPresence.java
│   │   │           │   └── roster/
│   │   │           │       ├── AnonymousRoster.java
│   │   │           │       ├── DynamicRoster.java
│   │   │           │       ├── DynamicRosterIfc.java
│   │   │           │       ├── DynamicRosterTest.java
│   │   │           │       ├── DynamicRosterTest123.java
│   │   │           │       ├── RepositoryAccessException.java
│   │   │           │       ├── RosterAbstract.java
│   │   │           │       ├── RosterElement.java
│   │   │           │       ├── RosterFactory.java
│   │   │           │       ├── RosterFlat.java
│   │   │           │       └── RosterRetrievingException.java
│   │   │           └── mam/
│   │   │               ├── ExtendedQuery.java
│   │   │               ├── ExtendedQueryImpl.java
│   │   │               ├── MAM2ExtendedQueryParser.java
│   │   │               ├── MAM2QueryParser.java
│   │   │               ├── MAMItemHandler.java
│   │   │               ├── MAMQueryParser.java
│   │   │               ├── MAMRepository.java
│   │   │               ├── Query.java
│   │   │               ├── QueryImpl.java
│   │   │               ├── QueryParser.java
│   │   │               ├── modules/
│   │   │               │   ├── GetFormModule.java
│   │   │               │   └── QueryModule.java
│   │   │               └── util/
│   │   │                   ├── MAMRepositoryManagerExtensionHelper.java
│   │   │                   ├── MAMUtil.java
│   │   │                   └── Range.java
│   │   ├── php/
│   │   │   └── drupal/
│   │   │       └── modules/
│   │   │           ├── tigase.module
│   │   │           ├── tigase_monitor-5.x/
│   │   │           │   ├── tigase_monitor.info
│   │   │           │   └── tigase_monitor.module
│   │   │           ├── tigase_monitor.module
│   │   │           └── tigase_usrreg-5.x/
│   │   │               ├── tigase_usrreg.info
│   │   │               └── tigase_usrreg.module
│   │   ├── python/
│   │   │   └── tigase/
│   │   │       └── admin/
│   │   │           └── PythonExample.py
│   │   ├── resources/
│   │   │   ├── META-INF/
│   │   │   │   └── java.security.Provider
│   │   │   ├── assembly/
│   │   │   │   └── resources.xml
│   │   │   ├── mib/
│   │   │   │   └── JVM-MANAGEMENT-MIB.mib
│   │   │   ├── templates/
│   │   │   │   └── StatusReportTemplate.html
│   │   │   └── win-stuff/
│   │   │       ├── Licence.txt
│   │   │       ├── Setup.bat
│   │   │       ├── Tigase-minimal.iss
│   │   │       ├── Tigase.iss
│   │   │       ├── scripts/
│   │   │       │   ├── InstallTigaseService.bat
│   │   │       │   ├── Run.bat
│   │   │       │   ├── Tigase.bat
│   │   │       │   ├── Uninst.bat
│   │   │       │   └── UninstallTigaseService.bat
│   │   │       └── wrapper/
│   │   │           ├── wrapper-community-license-1.2.txt
│   │   │           ├── wrapper.conf
│   │   │           └── wrapper.jar
│   │   ├── restructured/
│   │   │   ├── Makefile
│   │   │   ├── Tigase_Administration/
│   │   │   │   ├── Components/
│   │   │   │   │   ├── Advanced_Message_Processing.inc
│   │   │   │   │   ├── C2S.inc
│   │   │   │   │   ├── Components.inc
│   │   │   │   │   ├── External_Component_Configuration/
│   │   │   │   │   │   ├── Configuration.inc
│   │   │   │   │   │   ├── Intro.inc
│   │   │   │   │   │   ├── Load_Balancing.inc
│   │   │   │   │   │   └── Tigase_as_External.inc
│   │   │   │   │   ├── External_Service_Discovery_Component.inc
│   │   │   │   │   ├── Load_Balancing.inc
│   │   │   │   │   ├── Monitoring/
│   │   │   │   │   │   ├── MonitorComponent.inc
│   │   │   │   │   │   ├── Monitoring.inc
│   │   │   │   │   │   ├── Retrieving_statistics.inc
│   │   │   │   │   │   ├── Setting_up.inc
│   │   │   │   │   │   └── Statistics_Logger_Config.inc
│   │   │   │   │   ├── Server_to_Server_Protocol.inc
│   │   │   │   │   └── _Components.rst
│   │   │   │   ├── Configuration/
│   │   │   │   │   ├── Advanced_Options.inc
│   │   │   │   │   ├── DSL_configuration.inc
│   │   │   │   │   ├── JVM_settings.inc
│   │   │   │   │   ├── Logging.inc
│   │   │   │   │   ├── Session_Manager.inc
│   │   │   │   │   ├── Settings_for_High_Load_Systems.inc
│   │   │   │   │   ├── Startup_Files.inc
│   │   │   │   │   ├── Vhosts.inc
│   │   │   │   │   └── _Configuration.rst
│   │   │   │   ├── Database_Management/
│   │   │   │   │   ├── Database_Preparation/
│   │   │   │   │   │   ├── DbSchemaLoader.inc
│   │   │   │   │   │   ├── Derby.inc
│   │   │   │   │   │   ├── MSSQL.inc
│   │   │   │   │   │   ├── MongoDB.inc
│   │   │   │   │   │   ├── MySQL.inc
│   │   │   │   │   │   └── PostGRE.inc
│   │   │   │   │   ├── Database_Preparation.inc
│   │   │   │   │   ├── Existing_Databases.inc
│   │   │   │   │   ├── Hashed_User_Passwords_in_Database.inc
│   │   │   │   │   ├── Importing_Exporting_User_Data.inc
│   │   │   │   │   ├── Management.rst
│   │   │   │   │   ├── Multiple_Databases.inc
│   │   │   │   │   └── Schema_Updates.inc
│   │   │   │   ├── Licensing_Open_Source.rst
│   │   │   │   ├── Properties/
│   │   │   │   │   ├── _cluster.inc
│   │   │   │   │   ├── _external.inc
│   │   │   │   │   ├── _general.inc
│   │   │   │   │   ├── _performance.inc
│   │   │   │   │   ├── _properties.rst
│   │   │   │   │   ├── _repository.inc
│   │   │   │   │   ├── _user_connectivity.inc
│   │   │   │   │   └── _vhost.inc
│   │   │   │   ├── Quick_Start_Guide/
│   │   │   │   │   ├── Installation_Using_Web_Installer.inc
│   │   │   │   │   ├── Intro.rst
│   │   │   │   │   ├── Manual_Installation_in_Console_Mode.inc
│   │   │   │   │   ├── Script_Selection.inc
│   │   │   │   │   ├── Shutting_Down.inc
│   │   │   │   │   ├── Tigase_Server_Network_Instructions.inc
│   │   │   │   │   ├── Upgrading_from_Older_versions.inc
│   │   │   │   │   └── Windows_Installation.inc
│   │   │   │   ├── Release_Notes/
│   │   │   │   │   ├── Tigase_Release_Notes.rst
│   │   │   │   │   ├── Tigase_v8.0.0.inc
│   │   │   │   │   ├── Tigase_v8.1.0.inc
│   │   │   │   │   ├── Tigase_v8.2.0.inc
│   │   │   │   │   ├── Tigase_v8.3.0.inc
│   │   │   │   │   └── tigase-server-current.inc
│   │   │   │   ├── Security/
│   │   │   │   │   ├── Access_Control_List.inc
│   │   │   │   │   ├── Account_Registration_Limits.inc
│   │   │   │   │   ├── Application_Passwords.inc
│   │   │   │   │   ├── Auth_Connectors/
│   │   │   │   │   │   ├── Custom_Auth_Connector.inc
│   │   │   │   │   │   ├── LDAP_Auth.inc
│   │   │   │   │   │   ├── SASL_EXTERNAL.inc
│   │   │   │   │   │   └── Tigase_Auth_Connector.inc
│   │   │   │   │   ├── Auth_Connectors.inc
│   │   │   │   │   ├── Brute-force_attack_prevention.inc
│   │   │   │   │   ├── Packet_Filtering.inc
│   │   │   │   │   ├── RealTimeBlockList.inc
│   │   │   │   │   ├── SASL_Mechanisms.inc
│   │   │   │   │   ├── Server_Certificates.inc
│   │   │   │   │   ├── TLS_Features_Configuration.inc
│   │   │   │   │   ├── XEP-0191_Blocking_Command.inc
│   │   │   │   │   └── _Security.rst
│   │   │   │   ├── Statistics_Description.rst
│   │   │   │   ├── Tigase_Server_Binary_Updates.rst
│   │   │   │   ├── Tigase_User_Guide/
│   │   │   │   │   ├── Configuration_Instructions.inc
│   │   │   │   │   ├── How_to_Use.inc
│   │   │   │   │   ├── Introduction.inc
│   │   │   │   │   └── User_Guide.rst
│   │   │   │   ├── Using_Tigase/
│   │   │   │   │   ├── Anonymous_Users.inc
│   │   │   │   │   ├── Basic_System_Checks.inc
│   │   │   │   │   ├── Clustering.inc
│   │   │   │   │   ├── Debugging_Tigase.inc
│   │   │   │   │   ├── Intro.inc
│   │   │   │   │   ├── LastActivity.inc
│   │   │   │   │   ├── Licensing.inc
│   │   │   │   │   ├── Log_Guide.inc
│   │   │   │   │   ├── Offline_Messages.inc
│   │   │   │   │   ├── Presence_Forwarding.inc
│   │   │   │   │   ├── PubSub_Server_Information.inc
│   │   │   │   │   ├── Scripting/
│   │   │   │   │   │   ├── Introduction.inc
│   │   │   │   │   │   ├── Python.inc
│   │   │   │   │   │   ├── Scripting_Support.inc
│   │   │   │   │   │   └── v4.4.x_Update.inc
│   │   │   │   │   ├── Tips_and_Tricks.inc
│   │   │   │   │   ├── Virtual_Domains.inc
│   │   │   │   │   ├── Watchdog.inc
│   │   │   │   │   └── _using_tigase.rst
│   │   │   │   ├── XMPP_Server/
│   │   │   │   │   ├── About_Tigase_XMPP_Server.rst
│   │   │   │   │   ├── Custom_Extensions.inc
│   │   │   │   │   └── Supported_Extension.inc
│   │   │   │   └── index.rst
│   │   │   ├── Tigase_Development/
│   │   │   │   ├── Basic_Information.rst
│   │   │   │   ├── Cluster_Map_Interface.rst
│   │   │   │   ├── CodeStyleGuide.rst
│   │   │   │   ├── Component_Implementation.rst
│   │   │   │   ├── CustomAuthRepository.rst
│   │   │   │   ├── Data_Sources_And_Repositories.rst
│   │   │   │   ├── EventBus_API.rst
│   │   │   │   ├── Experimental.rst
│   │   │   │   ├── Hack_Tigase_Jabber-XMPP_Server_in_Eclipse.rst
│   │   │   │   ├── Old_Stuff.rst
│   │   │   │   ├── Packet_Filtering_in_Component.rst
│   │   │   │   ├── Plugin_Development.rst
│   │   │   │   ├── Server_Compilation.rst
│   │   │   │   ├── Tests.rst
│   │   │   │   ├── Tigase_Kernel.rst
│   │   │   │   ├── UsingDataRepository.rst
│   │   │   │   ├── Using_Maven.rst
│   │   │   │   └── index.rst
│   │   │   ├── conf.py
│   │   │   ├── files/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── StatsDumper.groovy
│   │   │   │   └── tigase-upgrade.sh
│   │   │   ├── images/
│   │   │   │   └── devguide/
│   │   │   │       └── tigase-architecture-draw.io.xml
│   │   │   ├── index.rst
│   │   │   ├── locale/
│   │   │   │   ├── es/
│   │   │   │   │   └── LC_MESSAGES/
│   │   │   │   │       └── Tigase_Administration/
│   │   │   │   │           └── Release_Notes/
│   │   │   │   │               └── Tigase_Release_Notes.po
│   │   │   │   ├── pl/
│   │   │   │   │   └── LC_MESSAGES/
│   │   │   │   │       ├── Tigase_Administration/
│   │   │   │   │       │   ├── Components/
│   │   │   │   │       │   │   └── _Components.po
│   │   │   │   │       │   ├── Configuration/
│   │   │   │   │       │   │   └── _Configuration.po
│   │   │   │   │       │   ├── Database_Management/
│   │   │   │   │       │   │   └── Management.po
│   │   │   │   │       │   ├── Licensing_Open_Source.po
│   │   │   │   │       │   ├── Properties/
│   │   │   │   │       │   │   └── _properties.po
│   │   │   │   │       │   ├── Quick_Start_Guide/
│   │   │   │   │       │   │   └── Intro.po
│   │   │   │   │       │   ├── Release_Notes/
│   │   │   │   │       │   │   └── Tigase_Release_Notes.po
│   │   │   │   │       │   ├── Security/
│   │   │   │   │       │   │   └── _Security.po
│   │   │   │   │       │   ├── Statistics_Description.po
│   │   │   │   │       │   ├── Tigase_Server_Binary_Updates.po
│   │   │   │   │       │   ├── Tigase_User_Guide/
│   │   │   │   │       │   │   └── User_Guide.po
│   │   │   │   │       │   ├── Using_Tigase/
│   │   │   │   │       │   │   └── _using_tigase.po
│   │   │   │   │       │   ├── XMPP_Server/
│   │   │   │   │       │   │   └── About_Tigase_XMPP_Server.po
│   │   │   │   │       │   └── index.po
│   │   │   │   │       ├── Tigase_Development/
│   │   │   │   │       │   ├── Basic_Information.po
│   │   │   │   │       │   ├── Cluster_Map_Interface.po
│   │   │   │   │       │   ├── CodeStyleGuide.po
│   │   │   │   │       │   ├── Component_Implementation.po
│   │   │   │   │       │   ├── Data_Sources_And_Repositories.po
│   │   │   │   │       │   ├── EventBus_API.po
│   │   │   │   │       │   ├── Experimental.po
│   │   │   │   │       │   ├── Hack_Tigase_Jabber-XMPP_Server_in_Eclipse.po
│   │   │   │   │       │   ├── Old_Stuff.po
│   │   │   │   │       │   ├── Packet_Filtering_in_Component.po
│   │   │   │   │       │   ├── Plugin_Development.po
│   │   │   │   │       │   ├── Server_Compilation.po
│   │   │   │   │       │   ├── Tests.po
│   │   │   │   │       │   ├── Tigase_Kernel.po
│   │   │   │   │       │   ├── Using_Maven.po
│   │   │   │   │       │   └── index.po
│   │   │   │   │       └── index.po
│   │   │   │   └── zh_CN/
│   │   │   │       └── LC_MESSAGES/
│   │   │   │           ├── Tigase_Administration/
│   │   │   │           │   ├── Components/
│   │   │   │           │   │   └── _Components.po
│   │   │   │           │   ├── Configuration/
│   │   │   │           │   │   └── _Configuration.po
│   │   │   │           │   ├── Database_Management/
│   │   │   │           │   │   └── Management.po
│   │   │   │           │   ├── Licensing_Open_Source.po
│   │   │   │           │   ├── Properties/
│   │   │   │           │   │   └── _properties.po
│   │   │   │           │   ├── Quick_Start_Guide/
│   │   │   │           │   │   └── Intro.po
│   │   │   │           │   ├── Release_Notes/
│   │   │   │           │   │   └── Tigase_Release_Notes.po
│   │   │   │           │   ├── Security/
│   │   │   │           │   │   └── _Security.po
│   │   │   │           │   ├── Statistics_Description.po
│   │   │   │           │   ├── Tigase_Server_Binary_Updates.po
│   │   │   │           │   ├── Tigase_User_Guide/
│   │   │   │           │   │   └── User_Guide.po
│   │   │   │           │   ├── Using_Tigase/
│   │   │   │           │   │   └── _using_tigase.po
│   │   │   │           │   ├── XMPP_Server/
│   │   │   │           │   │   └── About_Tigase_XMPP_Server.po
│   │   │   │           │   └── index.po
│   │   │   │           ├── Tigase_Development/
│   │   │   │           │   ├── Basic_Information.po
│   │   │   │           │   ├── Cluster_Map_Interface.po
│   │   │   │           │   ├── CodeStyleGuide.po
│   │   │   │           │   ├── Component_Implementation.po
│   │   │   │           │   ├── Data_Sources_And_Repositories.po
│   │   │   │           │   ├── EventBus_API.po
│   │   │   │           │   ├── Experimental.po
│   │   │   │           │   ├── Hack_Tigase_Jabber-XMPP_Server_in_Eclipse.po
│   │   │   │           │   ├── Old_Stuff.po
│   │   │   │           │   ├── Packet_Filtering_in_Component.po
│   │   │   │           │   ├── Plugin_Development.po
│   │   │   │           │   ├── Server_Compilation.po
│   │   │   │           │   ├── Tests.po
│   │   │   │           │   ├── Tigase_Kernel.po
│   │   │   │           │   ├── Using_Maven.po
│   │   │   │           │   └── index.po
│   │   │   │           └── index.po
│   │   │   ├── make.bat
│   │   │   ├── readme.md
│   │   │   └── requirements.txt
│   │   ├── ruby/
│   │   │   └── tigase/
│   │   │       └── admin/
│   │   │           └── RubyExample.rb
│   │   └── scala/
│   │       └── tigase/
│   │           └── admin/
│   │               └── ScalaExample.scala
│   └── test/
│       ├── java/
│       │   └── tigase/
│       │       ├── Assert.java
│       │       ├── TestLogger.java
│       │       ├── auth/
│       │       │   ├── BruteForceLockerBeanTest.java
│       │       │   ├── credentials/
│       │       │   │   └── entries/
│       │       │   │       ├── MD5PasswordCredentialsEntryTest.java
│       │       │   │       ├── MD5UserIdPasswordCredentialsEntryTest.java
│       │       │   │       ├── MD5UsernamePasswordCredentialsEntryTest.java
│       │       │   │       ├── PlainCredentialsEntryTest.java
│       │       │   │       └── ScramCredentialsEntryTest.java
│       │       │   └── mechanisms/
│       │       │       ├── SCRAMHelperTest.java
│       │       │       ├── SaslANONYMOUSTest.java
│       │       │       ├── SaslPLAINTest.java
│       │       │       ├── SaslSCRAMPlusTest.java
│       │       │       ├── SaslSCRAMTest.java
│       │       │       └── SaslXTOKENTest.java
│       │       ├── cluster/
│       │       │   ├── ClusterConnectionSelectorTest.java
│       │       │   ├── api/
│       │       │   │   └── ClusterElementTest.java
│       │       │   └── strategy/
│       │       │       └── DefaultClusterStrategyTest.java
│       │       ├── component/
│       │       │   ├── Bean1.java
│       │       │   └── DSLBeanConfiguratorTest.java
│       │       ├── conf/
│       │       │   ├── ConfigHelperTest.java
│       │       │   ├── ConfigHolderTest.java
│       │       │   └── ConfigReaderTest.java
│       │       ├── db/
│       │       │   ├── AbstractDataSourceAwareTestCase.java
│       │       │   ├── AbstractDataSourceTestCase.java
│       │       │   ├── AbstractUserRepositoryTest.java
│       │       │   ├── jdbc/
│       │       │   │   └── JDBCRepositoryTest.java
│       │       │   └── util/
│       │       │       ├── DBSchemaLoaderTest.java
│       │       │       ├── JDBCPasswordObfuscatorTest.java
│       │       │       └── locker/
│       │       │           └── ConnectionLockTest.java
│       │       ├── disco/
│       │       │   └── ServiceIdentityTest.java
│       │       ├── eventbus/
│       │       │   ├── component/
│       │       │   │   └── stores/
│       │       │   │       └── AffiliationStoreTest.java
│       │       │   └── impl/
│       │       │       ├── Event1.java
│       │       │       ├── Event12.java
│       │       │       ├── Event2.java
│       │       │       ├── EventBusImplementationTest.java
│       │       │       ├── EventBusSerializerTest.java
│       │       │       ├── EventNameTest.java
│       │       │       ├── EventsNameMapTest.java
│       │       │       └── ReflectEventListenerHandlerFactoryTest.java
│       │       ├── io/
│       │       │   ├── CertificateContainerTest.java
│       │       │   └── SSLContextContainerTest.java
│       │       ├── kernel/
│       │       │   ├── AbstractKernelTestCase.java
│       │       │   ├── AbstractKernelWithUserRepositoryTestCase.java
│       │       │   ├── Bean1.java
│       │       │   ├── Bean10.java
│       │       │   ├── Bean2.java
│       │       │   ├── Bean3.java
│       │       │   ├── Bean4.java
│       │       │   ├── Bean5.java
│       │       │   ├── Bean5Factory.java
│       │       │   ├── Bean6.java
│       │       │   ├── Bean7.java
│       │       │   ├── Bean8.java
│       │       │   ├── DefaultTypesConverterTest.java
│       │       │   ├── GenericBeanKernelTest.java
│       │       │   ├── KernelTest.java
│       │       │   ├── RegistrarBeanKernelTest.java
│       │       │   ├── RegistratBeanCyclicTest.java
│       │       │   ├── Special.java
│       │       │   └── modular/
│       │       │       ├── ApplicationTest.java
│       │       │       ├── Component.java
│       │       │       ├── ComponentsManager.java
│       │       │       ├── c1/
│       │       │       │   ├── Component1.java
│       │       │       │   ├── Component1Registrar.java
│       │       │       │   └── Helper.java
│       │       │       └── c2/
│       │       │           ├── Component2.java
│       │       │           └── Component2Registrar.java
│       │       ├── map/
│       │       │   ├── ClusterMapFactoryTest.java
│       │       │   └── DMapTest.java
│       │       ├── monitor/
│       │       │   └── tasks/
│       │       │       └── UsersDisconnectTaskTest.java
│       │       ├── server/
│       │       │   ├── BasicComponentTest.java
│       │       │   ├── BootstrapTest.java
│       │       │   ├── CmdAclTest.java
│       │       │   ├── ConnectionManagerTest.java
│       │       │   ├── MessageRouterTest.java
│       │       │   ├── PacketTest.java
│       │       │   ├── amp/
│       │       │   │   └── db/
│       │       │   │       ├── AbstractMsgBroadcastRepositoryTest.java
│       │       │   │       ├── AbstractMsgRepositoryTest.java
│       │       │   │       ├── JDBCMsgBroadcastRepositoryTest.java
│       │       │   │       └── JDBCMsgRepositoryTest.java
│       │       │   ├── bosh/
│       │       │   │   └── BoshIOServiceTest.java
│       │       │   ├── rtbl/
│       │       │   │   ├── RTBLRepositoryTest.java
│       │       │   │   └── RTBLTest.java
│       │       │   ├── websocket/
│       │       │   │   ├── WebSocketHixie76Test.java
│       │       │   │   ├── WebSocketHybiTest.java
│       │       │   │   └── WebSocketXMPPIOServiceTest.java
│       │       │   ├── xmppclient/
│       │       │   │   └── StreamManagementIOProcessorTest.java
│       │       │   ├── xmppserver/
│       │       │   │   ├── S2SConnManAbstractTest.java
│       │       │   │   ├── S2SConnManDomainTest.java
│       │       │   │   ├── S2SConnManTest.java
│       │       │   │   ├── S2SConnectionManagerDomainServerNameMapperTest.java
│       │       │   │   ├── SSLSocketDirectTest.java
│       │       │   │   ├── SSLTestAbstract.java
│       │       │   │   └── proc/
│       │       │   │       └── DialbackTest.java
│       │       │   └── xmppsession/
│       │       │       └── adhoc/
│       │       │           └── SuggestedDomainsListAdhocTest.java
│       │       ├── stats/
│       │       │   ├── MaxDailyCounterQueueTest.java
│       │       │   └── StatisticsListTest.java
│       │       ├── sys/
│       │       │   └── NativeMemoryTrackingTest.java
│       │       ├── tests/
│       │       │   └── SlowTest.java
│       │       ├── util/
│       │       │   ├── AllHistoryCacheTest.java
│       │       │   ├── DataTypesTest.java
│       │       │   ├── ReflectionHelperTest.java
│       │       │   └── updater/
│       │       │       └── UpdatesCheckerTest.java
│       │       ├── vhosts/
│       │       │   ├── DummyVHostManager.java
│       │       │   ├── VHostItemTest.java
│       │       │   ├── VHostJDBCRepositoryTest.java
│       │       │   └── filter/
│       │       │       ├── CustomDomainFilterTest.java
│       │       │       └── DomainFilterPolicyTest.java
│       │       └── xmpp/
│       │           ├── ElementMatcherTest.java
│       │           ├── XMPPDomBuilderHandlerTest.java
│       │           ├── XMPPIOServiceTest_Proxy.java
│       │           ├── XMPPProcessorAbstractTest.java
│       │           └── impl/
│       │               ├── AbstractProcessorWithDataSourceAwareTestCase.java
│       │               ├── AbstractProcessorWithDataSourceTestCase.java
│       │               ├── AddressingSanitizerTest.java
│       │               ├── BindResourceTest.java
│       │               ├── BlockingCommandTest.java
│       │               ├── C2SDeliveryErrorProcessorTest.java
│       │               ├── DomainFilterTest.java
│       │               ├── JabberIqAuthTest.java
│       │               ├── JabberIqCommandTest.java
│       │               ├── JabberIqPrivacyTest.java
│       │               ├── JabberIqRegisterTest.java
│       │               ├── JabberIqRegisterWhitelistTest.java
│       │               ├── MIXProcessorTest.java
│       │               ├── MessageAmpTest.java
│       │               ├── MessageCarbonsTest.java
│       │               ├── MessageDeliveryLogicTest.java
│       │               ├── MessageTest.java
│       │               ├── MobileV3Test.java
│       │               ├── OfflineMessagesTest.java
│       │               ├── OfflineMessages_StampComparatorTest.java
│       │               ├── PresenceCapabilitiesManagerTest.java
│       │               ├── PrivacyListTest.java
│       │               ├── ProcessorTestCase.java
│       │               ├── SaslAuth2Test.java
│       │               ├── SaslAuthTest.java
│       │               ├── TokenBucketPoolTest.java
│       │               ├── VCardHelperTest.java
│       │               ├── annotation/
│       │               │   ├── AnnotatedXMPPProcessorTest.java
│       │               │   ├── TestAnnotatedXMPPProcessor.java
│       │               │   └── TestAnnotatedXMPPProcessor2.java
│       │               ├── push/
│       │               │   ├── EncryptedPushNotificationExtensionTest.java
│       │               │   ├── PushNotificationHelper.java
│       │               │   ├── PushNotificationsTest.java
│       │               │   ├── PushNotificationsWithAwayTest.java
│       │               │   └── PushPresenceTest.java
│       │               └── roster/
│       │                   ├── PresenceSubscriptionPreApprovalTest.java
│       │                   └── RosterElementTest.java
│       └── resources/
│           ├── TestScript.groovy
│           └── logging.properties
└── tigase-server.doap
Download .txt
Showing preview only (905K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (11369 symbols across 962 files)

FILE: src/main/database/derby-common-0.0.1.sql
  type tig_schema_versions (line 21) | create table tig_schema_versions (
  type component (line 32) | create unique index component on tig_schema_versions ( component )

FILE: src/main/database/derby-counter_data_logger-0.0.1.sql
  type tig_stats_log (line 20) | create table tig_stats_log (

FILE: src/main/database/derby-server-8.0.0-schema.sql
  type tig_users (line 20) | create table tig_users (
  type user_id (line 47) | create unique index user_id on tig_users ( user_id )
  type user_pw (line 50) | create index user_pw on tig_users (user_pw)
  type last_login (line 53) | create index last_login on tig_users (last_login)
  type last_logout (line 56) | create index last_logout on tig_users (last_logout)
  type account_status (line 59) | create index account_status on tig_users (account_status)
  type online_status (line 62) | create index online_status on tig_users (online_status)
  type tig_nodes (line 66) | create table tig_nodes (
  type tnode (line 74) | create unique index tnode on tig_nodes ( parent_nid, uid, node )
  type node (line 77) | create index node on tig_nodes ( node )
  type nuid (line 81) | create index nuid on tig_nodes (uid)
  type parent_nid (line 84) | create index parent_nid on tig_nodes (parent_nid)
  type tig_pairs (line 88) | create table tig_pairs (
  type pkey (line 98) | create index pkey on tig_pairs ( pkey )
  type puid (line 102) | create index puid on tig_pairs (uid)
  type pnid (line 105) | create index pnid on tig_pairs (nid)
  type tig_offline_messages (line 109) | create table tig_offline_messages (
  type tig_offline_messages_expired (line 123) | create index tig_offline_messages_expired on tig_offline_messages (expired)
  type tig_offline_messages_receiver (line 126) | create index tig_offline_messages_receiver on tig_offline_messages (rece...
  type tig_offline_messages_receiver_sender (line 129) | create index tig_offline_messages_receiver_sender on tig_offline_message...
  type tig_broadcast_messages (line 133) | create table tig_broadcast_messages (
  type tig_broadcast_jids (line 142) | create table tig_broadcast_jids (
  type tig_broadcast_recipients (line 150) | create table tig_broadcast_recipients (
  type tig_cluster_nodes (line 158) | create table tig_cluster_nodes (
  type tig_user_credentials (line 172) | create table tig_user_credentials (

FILE: src/main/database/mysql-common-0.0.1.sql
  type tig_schema_versions (line 21) | create table if not EXISTS tig_schema_versions (

FILE: src/main/database/mysql-counter_data_logger-0.0.1.sql
  type tig_stats_log (line 20) | create table if not exists tig_stats_log (

FILE: src/main/database/mysql-server-8.0.0-schema.sql
  type tig_users (line 20) | create table if not exists tig_users (
  type tig_nodes (line 63) | create table if not exists tig_nodes (
  type tig_pairs (line 81) | create table if not exists tig_pairs (
  type tig_offline_messages (line 99) | create table if not exists tig_offline_messages (
  type tig_broadcast_messages (line 117) | create table if not exists tig_broadcast_messages (
  type tig_broadcast_jids (line 126) | create table if not exists tig_broadcast_jids (
  type tig_broadcast_recipients (line 137) | create table if not exists tig_broadcast_recipients (
  type tig_cluster_nodes (line 147) | create table if not exists tig_cluster_nodes (
  type tig_user_credentials (line 162) | create table if not exists tig_user_credentials (

FILE: src/main/database/mysql-server-8.0.0-sp.sql
  function TigGetDBProperty (line 75) | create function TigGetDBProperty(_tkey varchar(255) CHARSET utf8) return...

FILE: src/main/database/mysql-server-8.5.0-schema.sql
  type tig_offline_messages_receiver_sha1_msg_type_index (line 29) | create index tig_offline_messages_receiver_sha1_msg_type_index on tig_of...

FILE: src/main/database/postgresql-common-0.0.1.sql
  type tig_schema_versions (line 21) | create table if not EXISTS tig_schema_versions (
  function TigGetComponentVersion (line 33) | CREATE OR REPLACE FUNCTION TigGetComponentVersion(_component VARCHAR(100))
  function TigSetComponentVersion (line 46) | CREATE OR REPLACE FUNCTION TigSetComponentVersion(_component text, _vers...

FILE: src/main/database/postgresql-counter_data_logger-0.0.1.sql
  type tig_stats_log (line 20) | create table tig_stats_log (

FILE: src/main/database/postgresql-server-8.0.0-schema.sql
  type tig_users (line 20) | create table if not exists tig_users (
  type user_id (line 51) | create unique index user_id on tig_users ( lower(user_id) )
  type user_pw (line 59) | create index user_pw on tig_users (user_pw)
  type last_login (line 67) | create index last_login on tig_users (last_login)
  type last_logout (line 75) | create index last_logout on tig_users (last_logout)
  type account_status (line 83) | create index account_status on tig_users (account_status)
  type online_status (line 91) | create index online_status on tig_users (online_status)
  type tig_nodes (line 97) | create table if not exists tig_nodes (
  type tnode (line 111) | create unique index tnode on tig_nodes ( parent_nid, uid, node )
  type node (line 119) | create index node on tig_nodes ( node )
  type nuid (line 127) | create index nuid on tig_nodes (uid)
  type parent_nid (line 135) | create index parent_nid on tig_nodes (parent_nid)
  type tig_pairs (line 141) | create table if not exists tig_pairs (
  type pkey (line 154) | create index pkey on tig_pairs ( pkey )
  type puid (line 162) | create index puid on tig_pairs (uid)
  type pnid (line 170) | create index pnid on tig_pairs (nid)
  type tig_offline_messages (line 176) | create table if not exists tig_offline_messages (
  type tig_broadcast_messages (line 190) | create table if not exists tig_broadcast_messages (
  type tig_broadcast_jids (line 199) | create table if not exists tig_broadcast_jids (
  type tig_broadcast_jids_jid (line 210) | create index tig_broadcast_jids_jid on tig_broadcast_jids (lower(jid))
  type tig_broadcast_recipients (line 216) | create table if not exists tig_broadcast_recipients (
  type tig_offline_messages_expired (line 227) | create index tig_offline_messages_expired on tig_offline_messages (expired)
  type tig_offline_messages_receiver (line 230) | create index tig_offline_messages_receiver on tig_offline_messages (lowe...
  type tig_offline_messages_receiver_sender (line 233) | create index tig_offline_messages_receiver_sender on tig_offline_message...
  type tig_cluster_nodes (line 239) | create table if not exists tig_cluster_nodes (
  type tig_user_credentials (line 253) | create table if not exists tig_user_credentials (

FILE: src/main/database/postgresql-server-8.0.0-sp.sql
  function public (line 20) | CREATE OR REPLACE FUNCTION public.create_plpgsql_language ()
  function TigGetDBProperty (line 43) | create or replace function TigGetDBProperty(varchar(255)) returns text as '
  function TigInitdb (line 65) | create or replace function TigInitdb() returns void as '
  function TigAddUser (line 77) | create or replace function TigAddUser(varchar(2049), varchar(255))
  function TigGetUserDBUid (line 105) | create or replace function TigGetUserDBUid(varchar(2049)) returns bigint...
  function TigUpdatePasswordPlainPwRev (line 120) | create or replace function TigUpdatePasswordPlainPwRev(varchar(255), var...
  function TigUpdatePassword (line 134) | create or replace function TigUpdatePassword(varchar(2049), varchar(255))
  function TigOnlineUsers (line 148) | create or replace function TigOnlineUsers() returns void as '
  function TigOfflineUsers (line 159) | create or replace function TigOfflineUsers() returns void as '
  function TigAllUsers (line 170) | create or replace function TigAllUsers() returns setof varchar(2049) as
  function TigAllUsersCount (line 184) | create or replace function TigAllUsersCount() returns bigint as '
  function TigUserLogin (line 199) | create or replace function TigUserLogin(varchar(2049), varchar(255))
  function TigUserLogout (line 224) | create or replace function TigUserLogout(varchar(2049)) returns void as '
  function TigDisableAccount (line 239) | create or replace function TigDisableAccount(varchar(2049)) returns void...
  function TigEnableAccount (line 251) | create or replace function TigEnableAccount(varchar(2049)) returns void ...
  function TigActiveAccounts (line 263) | create or replace function TigActiveAccounts() returns void as '
  function TigAddNode (line 274) | create or replace function TigAddNode(bigint, bigint, varchar(255))
  function TigUsers2Ver4Convert (line 291) | create or replace function TigUsers2Ver4Convert() returns void as '
  function TigUpdatePairs (line 308) | create or replace function TigUpdatePairs(bigint, bigint, varchar(255), ...
  function TigUpdateLoginTime (line 329) | create or replace function TigUpdateLoginTime(varchar(2049)) returns voi...
  function TigDisabledAccounts (line 352) | create or replace function TigDisabledAccounts() returns table(user_id v...
  function Tig_OfflineMessages_AddMessage (line 369) | create or replace function Tig_OfflineMessages_AddMessage(_to varchar(20...
  function Tig_OfflineMessages_GetMessages (line 395) | create or replace function  Tig_OfflineMessages_GetMessages(_to varchar(...
  function Tig_OfflineMessages_GetMessagesByIds (line 407) | create or replace function  Tig_OfflineMessages_GetMessagesByIds(_to var...
  function Tig_OfflineMessages_GetMessagesCount (line 425) | create or replace function Tig_OfflineMessages_GetMessagesCount(_to varc...
  function Tig_OfflineMessages_ListMessages (line 438) | create or replace function  Tig_OfflineMessages_ListMessages(_to varchar...
  function Tig_OfflineMessages_DeleteMessages (line 450) | create or replace function Tig_OfflineMessages_DeleteMessages(_to varcha...
  function Tig_OfflineMessages_DeleteMessagesByIds (line 464) | create or replace function Tig_OfflineMessages_DeleteMessagesByIds(_to v...
  function Tig_OfflineMessages_DeleteMessage (line 485) | create or replace function Tig_OfflineMessages_DeleteMessage(_msg_id big...
  function Tig_OfflineMessages_GetExpiredMessages (line 508) | create or replace function Tig_OfflineMessages_GetExpiredMessages(_limit...
  function Tig_OfflineMessages_GetExpiredMessagesBefore (line 531) | create or replace function  Tig_OfflineMessages_GetExpiredMessagesBefore...
  function Tig_BroadcastMessages_AddMessage (line 556) | create or replace function Tig_BroadcastMessages_AddMessage(_msg_id varc...
  function Tig_BroadcastMessages_AddMessageRecipient (line 572) | create or replace function Tig_BroadcastMessages_AddMessageRecipient(_ms...
  function Tig_BroadcastMessages_GetMessages (line 611) | create or replace function  Tig_BroadcastMessages_GetMessages(_expired t...
  function Tig_BroadcastMessages_GetMessageRecipients (line 625) | create or replace function Tig_BroadcastMessages_GetMessageRecipients(_m...
  function TigUpdateAccountStatus (line 638) | CREATE OR REPLACE FUNCTION TigUpdateAccountStatus(_user_id VARCHAR(2049)...
  function TigAccountStatus (line 651) | CREATE OR REPLACE FUNCTION TigAccountStatus(_user_id VARCHAR(2049))
  function TigUserCredential_Update (line 664) | create or replace function TigUserCredential_Update(_user_id varchar(204...
  function TigUserCredentials_Get (line 680) | create or replace function TigUserCredentials_Get(_user_id varchar(2049)...
  function TigUserUsernames_Get (line 697) | create or replace function TigUserUsernames_Get(_user_id varchar(2049)) ...
  function TigUserCredential_Remove (line 711) | create or replace function TigUserCredential_Remove(_user_id varchar(204...
  function TigAddUserPlainPw (line 728) | create or replace function TigAddUserPlainPw(_user_id varchar(2049), _us...
  function TigGetPassword (line 762) | create or replace function TigGetPassword(_user_id varchar(2049)) return...
  function TigUpdatePasswordPlainPw (line 780) | create or replace function TigUpdatePasswordPlainPw(_user_id varchar(204...
  function TigUserLoginPlainPw (line 804) | create or replace function TigUserLoginPlainPw(_user_id varchar(2049), _...
  function TigRemoveUser (line 846) | create or replace function TigRemoveUser(_user_id varchar(2049)) returns...
  function TigPutDBProperty (line 862) | create or replace function TigPutDBProperty(varchar(255), text) returns ...

FILE: src/main/database/postgresql-server-8.2.0-sp.sql
  function TigUpdateLoginTime (line 53) | create or replace function TigUpdateLoginTime(varchar(2049)) returns voi...
  function Tig_OfflineMessages_DeleteMessage (line 75) | create function Tig_OfflineMessages_DeleteMessage(_msg_id bigint) return...

FILE: src/main/database/postgresql-server-8.5.0-sp.sql
  function Tig_OfflineMessages_AddMessage (line 29) | create or replace function Tig_OfflineMessages_AddMessage(_to varchar(20...
  function Tig_OfflineMessages_DeleteMessages (line 61) | create or replace function Tig_OfflineMessages_DeleteMessages(_to varcha...

FILE: src/main/database/sqlserver-common-0.0.1.sql
  type dbo (line 26) | create table [dbo].[tig_schema_versions] (

FILE: src/main/database/sqlserver-counter_data_logger-0.0.1.sql
  type tig_stats_log (line 20) | create table tig_stats_log

FILE: src/main/database/sqlserver-server-8.0.0-schema.sql
  type dbo (line 26) | CREATE TABLE [dbo].[tig_users](
  type tig_broadcast_recipients (line 245) | create table tig_broadcast_recipients (
  type IX_tig_offline_messages_expired (line 255) | create index IX_tig_offline_messages_expired on [dbo].[tig_offline_messa...
  type IX_tig_offline_messages_receiver_sha1 (line 261) | create index IX_tig_offline_messages_receiver_sha1 on [dbo].[tig_offline...
  type IX_tig_offline_messages_receiver_sha1_sender_sha1 (line 267) | create index IX_tig_offline_messages_receiver_sha1_sender_sha1 on [dbo]....
  type dbo (line 273) | create table [dbo].[tig_cluster_nodes] (
  type tig_user_credentials (line 291) | create table tig_user_credentials (

FILE: src/main/database/sqlserver-server-8.0.0-sp.sql
  function TigGetDBProperty (line 133) | create procedure dbo.TigInitdb

FILE: src/main/database/sqlserver-server-8.5.0-schema.sql
  type IX_tig_offline_messages_receiver_sha1_msg_type (line 21) | create index IX_tig_offline_messages_receiver_sha1_msg_type on [dbo].[ti...

FILE: src/main/java/tigase/auth/AuthRepositoryAware.java
  type AuthRepositoryAware (line 28) | public interface AuthRepositoryAware
    method setAuthRepository (line 36) | void setAuthRepository(AuthRepository repo);

FILE: src/main/java/tigase/auth/Aware.java
  type Aware (line 20) | public interface Aware {

FILE: src/main/java/tigase/auth/BruteForceLockerBean.java
  class BruteForceLockerBean (line 55) | @Bean(name = "brute-force-locker", parent = SessionManager.class, active...
    type Mode (line 69) | public enum Mode {
      method merge (line 74) | public Mode merge(Mode mode) {
    method getClientIp (line 104) | public static String getClientIp(XMPPResourceConnection session) {
    method addInvalidLogin (line 116) | public void addInvalidLogin(XMPPResourceConnection session, String ip,...
    method addInvalidLogin (line 120) | public void addInvalidLogin(XMPPResourceConnection session, String ip,...
    method canUserBeDisabled (line 179) | public boolean canUserBeDisabled(XMPPResourceConnection session, Strin...
    method clearAll (line 203) | public void clearAll() {
    method clearOutdated (line 211) | public void clearOutdated() {
    method clearOutdated (line 215) | public void clearOutdated(final long currentTime) {
    method getStatistics (line 231) | @Override
    method initialize (line 259) | @Override
    method isEnabled (line 270) | public boolean isEnabled(XMPPResourceConnection session) {
    method handleStatisticsEmitEvent (line 275) | @HandleEvent(filter = HandleEvent.Type.remote)
    method isLoginAllowed (line 284) | public boolean isLoginAllowed(XMPPResourceConnection session, final St...
    method isLoginAllowed (line 288) | public boolean isLoginAllowed(XMPPResourceConnection session, final St...
    method beforeUnregister (line 314) | @Override
    method everyHour (line 319) | @Override
    method everyMinute (line 324) | @Override
    method everySecond (line 330) | @Override
    method setMap (line 335) | void setMap(HashMap<Key, Value> map) {
    method createKey (line 339) | final Key createKey(XMPPResourceConnection session, String ip, BareJID...
    method createKey (line 345) | final Key createKey(final Mode mode, XMPPResourceConnection session, S...
    method addToStatistic (line 359) | private void addToStatistic(Value v) {
    method isLoginAllowed (line 368) | private boolean isLoginAllowed(final XMPPResourceConnection session, f...
    class Key (line 388) | public static class Key
      method Key (line 395) | public Key() {
      method Key (line 398) | public Key(String ip, String jid, String domain) {
      method encodeToStrings (line 404) | @Override
      method equals (line 409) | @Override
      method fillFromString (line 429) | @Override
      method getIp (line 436) | public String getIp() {
      method setIp (line 440) | public void setIp(String ip) {
      method getJid (line 444) | public String getJid() {
      method setJid (line 448) | public void setJid(String jid) {
      method hashCode (line 452) | @Override
      method isJIDPresent (line 460) | public boolean isJIDPresent() {
      method toString (line 464) | @Override
    class LoginLockedException (line 471) | public static class LoginLockedException
    class StatHolder (line 476) | public static class StatHolder
      method getIps (line 483) | public Map<String, Integer> getIps() {
      method getJids (line 487) | public Map<BareJID, Integer> getJids() {
      method clear (line 491) | public void clear() {
      method addIP (line 496) | public int addIP(String ip) {
      method addJID (line 500) | public int addJID(BareJID jid) {
      method addIP (line 504) | public int addIP(String ip, int value) {
      method addJID (line 508) | public int addJID(BareJID jid, int value) {
      method encodeToStrings (line 512) | @Override
      method fillFromString (line 524) | @Override
      method read (line 541) | private <T> HashMap<T, Integer> read(final String[] src, final int o...
      method fillTab (line 550) | private <T> void fillTab(Map<T, Integer> src, String[] dst, final in...
      method add (line 561) | private <T> int add(Map<T, Integer> map, T key, int value) {
    class StatisticsEmitEvent (line 571) | public static class StatisticsEmitEvent
      method StatisticsEmitEvent (line 578) | public StatisticsEmitEvent() {
      method StatisticsEmitEvent (line 581) | public StatisticsEmitEvent(String nodeName, StatHolder statHolder) {
      method getNodeName (line 586) | public String getNodeName() {
      method setNodeName (line 590) | public void setNodeName(String nodeName) {
      method getStatHolder (line 594) | public StatHolder getStatHolder() {
      method setStatHolder (line 598) | public void setStatHolder(StatHolder statHolder) {
    class Value (line 603) | public static class Value
      method Value (line 613) | public Value() {
      method Value (line 616) | public Value(String domain, String ip, BareJID jid) {
      method encodeToStrings (line 622) | @Override
      method equals (line 627) | @Override
      method fillFromString (line 644) | @Override
      method getBadLoginCounter (line 650) | public int getBadLoginCounter() {
      method setBadLoginCounter (line 654) | public void setBadLoginCounter(int badLoginCounter) {
      method getInvalidateAtTime (line 658) | public long getInvalidateAtTime() {
      method setInvalidateAtTime (line 662) | public void setInvalidateAtTime(long invalidateAtTime) {
      method hashCode (line 666) | @Override
    class BruteForceLockerVHostExtensionProvider (line 675) | @Bean(name = BruteForceLockerVHostExtension.ID, parent = VHostItemExte...
      method getId (line 679) | @Override
      method getExtensionClazz (line 684) | @Override
    class BruteForceLockerVHostExtension (line 690) | public static class BruteForceLockerVHostExtension
      method isEnabled (line 708) | public boolean isEnabled() {
      method getLockAccountAfterFailedAttempt (line 712) | public long getLockAccountAfterFailedAttempt() {
      method getDisableAccountAfterFailedAttempts (line 716) | public long getDisableAccountAfterFailedAttempts() {
      method getPeriodTime (line 720) | public long getPeriodTime() {
      method getLockTime (line 724) | public long getLockTime() {
      method getMode (line 728) | public Mode getMode() {
      method getId (line 732) | @Override
      method initFromElement (line 737) | @Override
      method initFromCommand (line 762) | @Override
      method toDebugString (line 788) | @Override
      method toElement (line 795) | @Override
      method addCommandFields (line 825) | @Override
      method initFromData (line 847) | @Override
      method mergeWithDefaults (line 875) | @Override

FILE: src/main/java/tigase/auth/CallbackHandlerFactory.java
  class CallbackHandlerFactory (line 34) | @Bean(name = "callback-handler-factory", parent = TigaseSaslProvider.cla...
    method create (line 42) | @Override
    method getHandlerClassname (line 77) | protected String getHandlerClassname(String mechanismName, XMPPResourc...

FILE: src/main/java/tigase/auth/CredentialsDecoderBean.java
  class CredentialsDecoderBean (line 32) | @Bean(name = "credentialDecoders", parent = AuthRepositoryMDPoolBean.Aut...
    method getSupportedMechanisms (line 39) | public List<String> getSupportedMechanisms() {
    method decode (line 43) | public Credentials.Entry decode(BareJID user, String mechanism, String...
    method register (line 53) | @Override
    method unregister (line 58) | @Override

FILE: src/main/java/tigase/auth/CredentialsEncoderBean.java
  class CredentialsEncoderBean (line 33) | @Bean(name = "credentialEncoders", parent = AuthRepositoryMDPoolBean.Aut...
    method getSupportedMechanisms (line 40) | public List<String> getSupportedMechanisms() {
    method encode (line 44) | public String encode(BareJID user, String mechanism, String password) ...
    method encodeForAllMechanisms (line 54) | public List<String[]> encodeForAllMechanisms(BareJID user, String pass...
    method register (line 65) | @Override
    method unregister (line 70) | @Override

FILE: src/main/java/tigase/auth/DefaultMechanismSelector.java
  class DefaultMechanismSelector (line 39) | @Bean(name = "mechanism-selector", parent = TigaseSaslProvider.class, ac...
    method DefaultMechanismSelector (line 57) | public DefaultMechanismSelector() {
    method filterMechanisms (line 61) | @Override
    method isAllowedForDomain (line 82) | protected boolean isAllowedForDomain(final String mechanismName, final...
    method match (line 97) | protected boolean match(SaslServerFactory factory, String mechanismNam...
    method isJIDInCertificate (line 119) | private boolean isJIDInCertificate(final XMPPResourceConnection sessio...

FILE: src/main/java/tigase/auth/DomainAware.java
  type DomainAware (line 26) | public interface DomainAware
    method setDomain (line 34) | void setDomain(String domain);

FILE: src/main/java/tigase/auth/MechanismNameAware.java
  type MechanismNameAware (line 20) | public interface MechanismNameAware {
    method setMechanismName (line 22) | void setMechanismName(String mechanismName);

FILE: src/main/java/tigase/auth/MechanismSelector.java
  type MechanismSelector (line 29) | public interface MechanismSelector {
    method filterMechanisms (line 40) | Collection<String> filterMechanisms(Enumeration<SaslServerFactory> ser...

FILE: src/main/java/tigase/auth/NonAuthUserRepositoryAware.java
  type NonAuthUserRepositoryAware (line 22) | public interface NonAuthUserRepositoryAware
    method setNonAuthUserRepository (line 25) | void setNonAuthUserRepository(NonAuthUserRepository repo);

FILE: src/main/java/tigase/auth/PasswordResetterIfc.java
  type PasswordResetterIfc (line 23) | public interface PasswordResetterIfc {
    method changePassword (line 25) | void changePassword(String encodedToken, String password) throws Repos...
    method validateToken (line 27) | void validateToken(String encodedToken) throws RepositoryException, Ru...
    method sendToken (line 29) | void sendToken(BareJID bareJID, String url) throws RepositoryException...

FILE: src/main/java/tigase/auth/PluginSettingsAware.java
  type PluginSettingsAware (line 28) | public interface PluginSettingsAware {
    method setPluginSettings (line 30) | public void setPluginSettings(Map<String, Object> settings);

FILE: src/main/java/tigase/auth/SaslInvalidLoginExcepion.java
  class SaslInvalidLoginExcepion (line 20) | public class SaslInvalidLoginExcepion
    method SaslInvalidLoginExcepion (line 25) | public SaslInvalidLoginExcepion(SaslError saslError, String jid) {
    method SaslInvalidLoginExcepion (line 30) | public SaslInvalidLoginExcepion(SaslError saslError, String jid, Strin...
    method getJid (line 35) | public String getJid() {

FILE: src/main/java/tigase/auth/SessionAware.java
  type SessionAware (line 27) | public interface SessionAware
    method setSession (line 35) | void setSession(XMPPResourceConnection session);

FILE: src/main/java/tigase/auth/TigaseSaslProvider.java
  class TigaseSaslProvider (line 44) | @Bean(name = "sasl-provider", parent = SessionManager.class, active = true)
    method TigaseSaslProvider (line 72) | @SuppressWarnings("unchecked")
    method setSaslServerFactories (line 77) | public void setSaslServerFactories(CopyOnWriteArraySet<SaslServerFacto...
    method beforeUnregister (line 89) | @Override
    method initialize (line 94) | @Override
    method create (line 99) | public CallbackHandler create(String mechanismName, XMPPResourceConnec...
    method filterMechanisms (line 105) | public Collection<String> filterMechanisms(Enumeration<SaslServerFacto...
    method register (line 110) | @Override
    method unregister (line 114) | @Override
    method putService (line 118) | @Override
    method removeService (line 124) | @Override
    method registerFactory (line 130) | private void registerFactory(SaslServerFactory factory) {
    method unregisterFactory (line 141) | private void unregisterFactory(SaslServerFactory factory) {

FILE: src/main/java/tigase/auth/XmppSaslException.java
  class XmppSaslException (line 25) | public class XmppSaslException
    type SaslError (line 30) | public enum SaslError {
      method SaslError (line 89) | SaslError(String elementName) {
      method getElementName (line 93) | public String getElementName() {
      method getElement (line 97) | public Element getElement() {
    method XmppSaslException (line 106) | public XmppSaslException(SaslError saslError) {
    method XmppSaslException (line 111) | public XmppSaslException(SaslError saslError, String detail) {
    method getSaslError (line 116) | public SaslError getSaslError() {
    method getSaslErrorElementName (line 120) | public String getSaslErrorElementName() {
    method getExceptionFor (line 124) | public static XmppSaslException getExceptionFor(AuthRepository.Account...

FILE: src/main/java/tigase/auth/adhoc/AbstractCredentialsCommand.java
  class AbstractCredentialsCommand (line 39) | public abstract class AbstractCredentialsCommand
    method checkIfCanModifyJID (line 55) | protected void checkIfCanModifyJID(final AdhHocRequest request, final ...
    method execute (line 64) | @Override
    method isAllowedFor (line 82) | @Override
    method getDefaultACL (line 87) | @Override
    method processForm (line 92) | protected abstract void processForm(Form form, AdhHocRequest request, ...
    method processNoForm (line 95) | protected abstract void processNoForm(AdhHocRequest request, AdHocResp...

FILE: src/main/java/tigase/auth/adhoc/AddUserCredentials.java
  class AddUserCredentials (line 32) | @Bean(name = AddUserCredentials.NODE, parent = SessionManager.class, act...
    method AddUserCredentials (line 38) | public AddUserCredentials() {
    method getName (line 41) | @Override
    method getNode (line 46) | @Override
    method processForm (line 51) | @Override
    method processNoForm (line 79) | @Override

FILE: src/main/java/tigase/auth/adhoc/DeleteUserCredentials.java
  class DeleteUserCredentials (line 31) | @Bean(name = DeleteUserCredentials.NODE, parent = SessionManager.class, ...
    method DeleteUserCredentials (line 37) | public DeleteUserCredentials() {
    method getName (line 40) | @Override
    method getNode (line 45) | @Override
    method processForm (line 50) | @Override
    method processNoForm (line 73) | @Override

FILE: src/main/java/tigase/auth/adhoc/ShowUserCredentials.java
  class ShowUserCredentials (line 34) | @Bean(name = ShowUserCredentials.NODE, parent = SessionManager.class, ac...
    method ShowUserCredentials (line 40) | public ShowUserCredentials() {
    method getName (line 43) | @Override
    method getNode (line 48) | @Override
    method processForm (line 53) | @Override
    method processNoForm (line 74) | @Override

FILE: src/main/java/tigase/auth/callbacks/AuthorizationIdCallback.java
  class AuthorizationIdCallback (line 22) | public class AuthorizationIdCallback
    method AuthorizationIdCallback (line 28) | public AuthorizationIdCallback(String prompt, String authzId) {
    method getAuthzId (line 33) | public String getAuthzId() {
    method setAuthzId (line 37) | public void setAuthzId(String authzId) {
    method getPrompt (line 41) | public String getPrompt() {

FILE: src/main/java/tigase/auth/callbacks/CallbackHandlerFactoryIfc.java
  type CallbackHandlerFactoryIfc (line 30) | public interface CallbackHandlerFactoryIfc {
    method create (line 32) | CallbackHandler create(String mechanismName, XMPPResourceConnection se...
    method create (line 35) | @Deprecated

FILE: src/main/java/tigase/auth/callbacks/ChannelBindingCallback.java
  class ChannelBindingCallback (line 24) | public class ChannelBindingCallback
    method ChannelBindingCallback (line 31) | public ChannelBindingCallback(String prompt, AbstractSaslSCRAM.BindTyp...
    method getBindingData (line 36) | public byte[] getBindingData() {
    method setBindingData (line 40) | public void setBindingData(byte[] bindingData) {
    method getPrompt (line 44) | public String getPrompt() {
    method getRequestedBindType (line 48) | public AbstractSaslSCRAM.BindType getRequestedBindType() {

FILE: src/main/java/tigase/auth/callbacks/PBKDIterationsCallback.java
  class PBKDIterationsCallback (line 22) | public class PBKDIterationsCallback
    method PBKDIterationsCallback (line 31) | public PBKDIterationsCallback(String prompt) {
    method getInterations (line 38) | public int getInterations() {
    method setInterations (line 45) | public void setInterations(int interations) {

FILE: src/main/java/tigase/auth/callbacks/ReplaceServerKeyCallback.java
  class ReplaceServerKeyCallback (line 22) | public class ReplaceServerKeyCallback
    method getNewServerKey (line 27) | public byte[] getNewServerKey() {
    method setNewServerKey (line 31) | public void setNewServerKey(byte[] newServerKey) {

FILE: src/main/java/tigase/auth/callbacks/SaltCallback.java
  class SaltCallback (line 22) | public class SaltCallback
    method SaltCallback (line 31) | public SaltCallback(String prompt) {
    method getSalt (line 38) | public byte[] getSalt() {
    method setSalt (line 45) | public void setSalt(byte[] salt) {

FILE: src/main/java/tigase/auth/callbacks/ServerKeyCallback.java
  class ServerKeyCallback (line 22) | public class ServerKeyCallback
    method ServerKeyCallback (line 29) | public ServerKeyCallback(String prompt) {
    method getServerKey (line 36) | public byte[] getServerKey() {
    method setServerKey (line 43) | public void setServerKey(byte[] serverKey) {

FILE: src/main/java/tigase/auth/callbacks/SharedSecretKeyCallback.java
  class SharedSecretKeyCallback (line 22) | public class SharedSecretKeyCallback implements Callback, java.io.Serial...
    method SharedSecretKeyCallback (line 26) | public SharedSecretKeyCallback() {}
    method getSecret (line 28) | public byte[] getSecret() {
    method setSecret (line 32) | public void setSecret(byte[] secret) {

FILE: src/main/java/tigase/auth/callbacks/StoredKeyCallback.java
  class StoredKeyCallback (line 22) | public class StoredKeyCallback
    method StoredKeyCallback (line 29) | public StoredKeyCallback(String prompt) {
    method getStoredKey (line 36) | public byte[] getStoredKey() {
    method setStoredKey (line 43) | public void setStoredKey(byte[] storedKey) {

FILE: src/main/java/tigase/auth/callbacks/ValidateCertificateData.java
  class ValidateCertificateData (line 24) | public class ValidateCertificateData
    method ValidateCertificateData (line 33) | public ValidateCertificateData() {
    method ValidateCertificateData (line 36) | public ValidateCertificateData(BareJID jid) {
    method getAuthorizedID (line 40) | public String getAuthorizedID() {
    method setAuthorizedID (line 44) | public void setAuthorizedID(String authorizedID) {
    method getDefaultAuthzid (line 48) | public BareJID getDefaultAuthzid() {
    method setDefaultAuthzid (line 52) | public void setDefaultAuthzid(BareJID defaultAuthzid) {
    method isAuthorized (line 56) | public boolean isAuthorized() {
    method setAuthorized (line 60) | public void setAuthorized(boolean authorized) {

FILE: src/main/java/tigase/auth/callbacks/VerifyPasswordCallback.java
  class VerifyPasswordCallback (line 26) | public class VerifyPasswordCallback
    method VerifyPasswordCallback (line 33) | public VerifyPasswordCallback(final String password) {
    method getPassword (line 37) | public String getPassword() {
    method isVerified (line 41) | public boolean isVerified() {
    method setVerified (line 45) | public void setVerified(boolean verified) {

FILE: src/main/java/tigase/auth/callbacks/XMPPSessionCallback.java
  class XMPPSessionCallback (line 24) | public class XMPPSessionCallback
    method XMPPSessionCallback (line 30) | public XMPPSessionCallback(String prompt) {
    method getPrompt (line 34) | public String getPrompt() {
    method getSession (line 38) | public XMPPResourceConnection getSession() {
    method setSession (line 42) | public void setSession(XMPPResourceConnection session) {

FILE: src/main/java/tigase/auth/credentials/Credentials.java
  type Credentials (line 30) | public interface Credentials {
    method canLogin (line 41) | boolean canLogin();
    method getAccountStatus (line 46) | AccountStatus getAccountStatus();
    method getEntryForMechanism (line 53) | Entry getEntryForMechanism(String mechanism);
    method getFirst (line 60) | Entry getFirst();
    method getUser (line 67) | BareJID getUser();
    method isAccountDisabled (line 72) | boolean isAccountDisabled();
    type Decoder (line 78) | interface Decoder<E extends Entry> {
      method decode (line 85) | E decode(BareJID user, String value);
      method getName (line 92) | String getName();
    type Encoder (line 100) | interface Encoder<E extends Entry> {
      method encode (line 110) | String encode(BareJID user, String password);
      method encode (line 120) | String encode(BareJID user, E entry);
      method getName (line 127) | String getName();
    type Entry (line 134) | interface Entry {
      method getMechanism (line 143) | String getMechanism();
      method verifyPlainPassword (line 148) | boolean verifyPlainPassword(String plain);
    type RawEntry (line 155) | interface RawEntry {
      method getMechanism (line 164) | String getMechanism();
      method getValue (line 169) | String getValue();
      method isForMechanism (line 175) | default boolean isForMechanism(String mechanism) {

FILE: src/main/java/tigase/auth/credentials/entries/MD5PasswordCredentialsEntry.java
  class MD5PasswordCredentialsEntry (line 33) | @Deprecated
    method MD5PasswordCredentialsEntry (line 42) | public MD5PasswordCredentialsEntry(String passwordHash) {
    method getMechanism (line 46) | @Override
    method verifyPlainPassword (line 51) | @Override
    class Decoder (line 62) | @Bean(name = "MD5-PASSWORD", parent = CredentialsDecoderBean.class, ac...
      method decode (line 66) | @Override
      method getName (line 71) | @Override
    class Encoder (line 77) | @Bean(name = "MD5-PASSWORD", parent = CredentialsEncoderBean.class, ac...
      method encode (line 81) | @Override
      method encode (line 91) | @Override
      method getName (line 96) | @Override

FILE: src/main/java/tigase/auth/credentials/entries/MD5UserIdPasswordCredentialsEntry.java
  class MD5UserIdPasswordCredentialsEntry (line 33) | @Deprecated
    method MD5UserIdPasswordCredentialsEntry (line 42) | public MD5UserIdPasswordCredentialsEntry(BareJID user, String password...
    method getMechanism (line 47) | @Override
    method verifyPlainPassword (line 52) | @Override
    class Decoder (line 64) | @Bean(name = "MD5-USERID-PASSWORD", parent = CredentialsDecoderBean.cl...
      method decode (line 68) | @Override
      method getName (line 73) | @Override
    class Encoder (line 79) | @Bean(name = "MD5-USERID-PASSWORD", parent = CredentialsEncoderBean.cl...
      method encode (line 83) | @Override
      method encode (line 88) | @Override
      method getName (line 99) | @Override

FILE: src/main/java/tigase/auth/credentials/entries/MD5UsernamePasswordCredentialsEntry.java
  class MD5UsernamePasswordCredentialsEntry (line 33) | @Deprecated
    method getUsername (line 42) | protected static String getUsername(BareJID user) {
    method MD5UsernamePasswordCredentialsEntry (line 50) | public MD5UsernamePasswordCredentialsEntry(BareJID user, String passwo...
    method getMechanism (line 55) | @Override
    method getPasswordHash (line 60) | public String getPasswordHash() {
    method verifyPlainPassword (line 64) | @Override
    class Decoder (line 76) | @Bean(name = "MD5-USERNAME-PASSWORD", parent = CredentialsDecoderBean....
      method decode (line 80) | @Override
      method getName (line 85) | @Override
    class Encoder (line 91) | @Bean(name = "MD5-USERNAME-PASSWORD", parent = CredentialsEncoderBean....
      method encode (line 95) | @Override
      method encode (line 100) | @Override
      method getName (line 111) | @Override

FILE: src/main/java/tigase/auth/credentials/entries/PlainCredentialsEntry.java
  class PlainCredentialsEntry (line 27) | public class PlainCredentialsEntry
    method PlainCredentialsEntry (line 32) | public PlainCredentialsEntry(String password) {
    method getMechanism (line 36) | @Override
    method getPassword (line 41) | public String getPassword() {
    method verifyPlainPassword (line 45) | @Override
    class Decoder (line 50) | @Bean(name = "PLAIN", parent = CredentialsDecoderBean.class, active = ...
      method decode (line 57) | @Override
      method getName (line 62) | @Override
    class Encoder (line 68) | @Bean(name = "PLAIN", parent = CredentialsEncoderBean.class, active = ...
      method encode (line 75) | @Override
      method encode (line 80) | @Override
      method getName (line 85) | @Override

FILE: src/main/java/tigase/auth/credentials/entries/ScramCredentialsEntry.java
  class ScramCredentialsEntry (line 33) | public class ScramCredentialsEntry
    method ScramCredentialsEntry (line 44) | public ScramCredentialsEntry(String algorithm, PlainCredentialsEntry e...
    method ScramCredentialsEntry (line 57) | public ScramCredentialsEntry(String algorithm, byte[] salt, int iterat...
    method ScramCredentialsEntry (line 68) | public ScramCredentialsEntry(String algorithm, byte[] salt, int iterat...
    method getIterations (line 76) | public int getIterations() {
    method getMechanism (line 80) | @Override
    method getSalt (line 85) | public byte[] getSalt() {
    method getServerKey (line 89) | public byte[] getServerKey() {
    method getStoredKey (line 93) | public byte[] getStoredKey() {
    method verifyPlainPassword (line 97) | @Override
    class Decoder (line 109) | public static class Decoder
      method Decoder (line 117) | public Decoder() {
      method Decoder (line 121) | protected Decoder(String algorithm) {
      method decode (line 125) | @Override
      method getName (line 172) | @Override
      method newInstance (line 177) | protected ScramCredentialsEntry newInstance(byte[] salt, int iterati...
      method newInstance (line 185) | protected ScramCredentialsEntry newInstance(byte[] salt, int iterati...
    class Encoder (line 190) | public static class Encoder
      method Encoder (line 201) | public Encoder() {
      method Encoder (line 205) | protected Encoder(String algorithm) {
      method encode (line 209) | public static String encode(byte[] salt, int iterations, byte[] stor...
      method encode (line 215) | public static String encode(ScramCredentialsEntry entry) {
      method encode (line 219) | @Override
      method encode (line 224) | @Override
      method getName (line 238) | @Override

FILE: src/main/java/tigase/auth/credentials/entries/ScramSha1CredentialsEntry.java
  class ScramSha1CredentialsEntry (line 27) | public class ScramSha1CredentialsEntry
    method ScramSha1CredentialsEntry (line 32) | public ScramSha1CredentialsEntry(PlainCredentialsEntry entry) throws N...
    method ScramSha1CredentialsEntry (line 36) | public ScramSha1CredentialsEntry(byte[] salt, int iterations, byte[] s...
    method ScramSha1CredentialsEntry (line 41) | public ScramSha1CredentialsEntry(byte[] salt, int iterations, byte[] s...
    class Decoder (line 45) | @Bean(name = "SCRAM-SHA-1", parent = CredentialsDecoderBean.class, act...
      method Decoder (line 49) | public Decoder() {
      method newInstance (line 53) | @Override
      method newInstance (line 62) | protected ScramSha1CredentialsEntry newInstance(byte[] salt, int ite...
    class Encoder (line 68) | @Bean(name = "SCRAM-SHA-1", parent = CredentialsEncoderBean.class, act...
      method Encoder (line 72) | public Encoder() {

FILE: src/main/java/tigase/auth/credentials/entries/ScramSha256CredentialsEntry.java
  class ScramSha256CredentialsEntry (line 27) | public class ScramSha256CredentialsEntry
    method ScramSha256CredentialsEntry (line 32) | public ScramSha256CredentialsEntry(PlainCredentialsEntry entry)
    method ScramSha256CredentialsEntry (line 37) | public ScramSha256CredentialsEntry(byte[] salt, int iterations, byte[]...
    method ScramSha256CredentialsEntry (line 42) | public ScramSha256CredentialsEntry(byte[] salt, int iterations, byte[]...
    class Decoder (line 46) | @Bean(name = "SCRAM-SHA-256", parent = CredentialsDecoderBean.class, a...
      method Decoder (line 50) | public Decoder() {
      method newInstance (line 54) | @Override
      method newInstance (line 63) | protected ScramSha256CredentialsEntry newInstance(byte[] salt, int i...
    class Encoder (line 69) | @Bean(name = "SCRAM-SHA-256", parent = CredentialsEncoderBean.class, a...
      method Encoder (line 73) | public Encoder() {

FILE: src/main/java/tigase/auth/credentials/entries/ScramSha512CredentialsEntry.java
  class ScramSha512CredentialsEntry (line 27) | public class ScramSha512CredentialsEntry
    method ScramSha512CredentialsEntry (line 32) | public ScramSha512CredentialsEntry(PlainCredentialsEntry entry)
    method ScramSha512CredentialsEntry (line 37) | public ScramSha512CredentialsEntry(byte[] salt, int iterations, byte[]...
    method ScramSha512CredentialsEntry (line 42) | public ScramSha512CredentialsEntry(byte[] salt, int iterations, byte[]...
    class Decoder (line 46) | @Bean(name = "SCRAM-SHA-512", parent = CredentialsDecoderBean.class, a...
      method Decoder (line 50) | public Decoder() {
      method newInstance (line 54) | @Override
      method newInstance (line 63) | protected ScramSha512CredentialsEntry newInstance(byte[] salt, int i...
    class Encoder (line 69) | @Bean(name = "SCRAM-SHA-512", parent = CredentialsEncoderBean.class, a...
      method Encoder (line 73) | public Encoder() {

FILE: src/main/java/tigase/auth/credentials/entries/XTokenCredentialsEntry.java
  class XTokenCredentialsEntry (line 29) | public class XTokenCredentialsEntry
    method XTokenCredentialsEntry (line 35) | public XTokenCredentialsEntry(byte[] secretKey, boolean oneTime) {
    method getSecretKey (line 40) | public byte[] getSecretKey() {
    method isOneTime (line 44) | public boolean isOneTime() {
    method getMechanism (line 48) | @Override
    method verifyPlainPassword (line 53) | @Override
    method encoded (line 58) | public String encoded() {
    class Decoder (line 62) | @Bean(name = SaslXTOKEN.NAME, parent = CredentialsDecoderBean.class, a...
      method decode (line 69) | @Override
      method getName (line 100) | @Override
    class Encoder (line 106) | @Bean(name = SaslXTOKEN.NAME, parent = CredentialsEncoderBean.class, a...
      method encode (line 113) | @Override
      method encode (line 118) | @Override
      method getName (line 123) | @Override

FILE: src/main/java/tigase/auth/impl/AuthRepoPlainCallbackHandler.java
  class AuthRepoPlainCallbackHandler (line 50) | @Deprecated
    method handle (line 61) | @Override
    method setAuthRepository (line 71) | @Override
    method setDomain (line 76) | @Override
    method handleAuthorizeCallback (line 81) | @SuppressWarnings("unused")
    method handleCallback (line 113) | protected void handleCallback(Callback callback) throws UnsupportedCal...
    method handleNameCallback (line 128) | protected void handleNameCallback(NameCallback nc) throws IOException {
    method handleRealmCallback (line 137) | protected void handleRealmCallback(RealmCallback rc) throws IOException {
    method handleVerifyPasswordCallback (line 148) | protected void handleVerifyPasswordCallback(VerifyPasswordCallback pc)...

FILE: src/main/java/tigase/auth/impl/CertBasedCallbackHandler.java
  class CertBasedCallbackHandler (line 39) | public class CertBasedCallbackHandler
    method handle (line 46) | @Override
    method setSession (line 90) | @Override

FILE: src/main/java/tigase/auth/impl/PlainCallbackHandler.java
  class PlainCallbackHandler (line 51) | public class PlainCallbackHandler
    method handle (line 63) | @Override
    method setAuthRepository (line 73) | @Override
    method setDomain (line 78) | @Override
    method setSession (line 83) | @Override
    method handleAuthorizeCallback (line 88) | protected void handleAuthorizeCallback(AuthorizeCallback authCallback) {
    method handleCallback (line 113) | protected void handleCallback(Callback callback) throws UnsupportedCal...
    method handleNameCallback (line 130) | protected void handleNameCallback(NameCallback nc) throws IOException {
    method handleRealmCallback (line 144) | protected void handleRealmCallback(RealmCallback rc) throws IOException {
    method handleVerifyPasswordCallback (line 155) | protected void handleVerifyPasswordCallback(VerifyPasswordCallback pc)...
    method handleAuthorizationIdCallback (line 192) | private void handleAuthorizationIdCallback(AuthorizationIdCallback cal...
    method setJid (line 208) | private void setJid(BareJID jid) {

FILE: src/main/java/tigase/auth/impl/PlainSPCallbackHandler.java
  class PlainSPCallbackHandler (line 48) | @Deprecated
    method handle (line 59) | @Override
    method setAuthRepository (line 69) | @Override
    method setDomain (line 74) | @Override
    method handleAuthorizeCallback (line 79) | protected void handleAuthorizeCallback(AuthorizeCallback authCallback) {
    method handleCallback (line 111) | protected void handleCallback(Callback callback) throws UnsupportedCal...
    method handleNameCallback (line 126) | protected void handleNameCallback(NameCallback nc) throws IOException {
    method handleRealmCallback (line 135) | protected void handleRealmCallback(RealmCallback rc) throws IOException {
    method handleVerifyPasswordCallback (line 146) | protected void handleVerifyPasswordCallback(VerifyPasswordCallback pc)...

FILE: src/main/java/tigase/auth/impl/ScramCallbackHandler.java
  class ScramCallbackHandler (line 50) | public class ScramCallbackHandler
    method ScramCallbackHandler (line 64) | public ScramCallbackHandler() {
    method handle (line 67) | @Override
    method setAuthRepository (line 77) | @Override
    method setDomain (line 82) | @Override
    method setMechanismName (line 87) | @Override
    method setSession (line 92) | @Override
    method handleAuthorizeCallback (line 97) | protected void handleAuthorizeCallback(AuthorizeCallback authCallback)...
    method handleCallback (line 122) | protected void handleCallback(Callback callback) throws UnsupportedCal...
    method handleNameCallback (line 146) | protected void handleNameCallback(NameCallback nc) throws IOException {
    method handlePBKDIterationsCallback (line 159) | protected void handlePBKDIterationsCallback(PBKDIterationsCallback cal...
    method handleSaltCallback (line 169) | protected void handleSaltCallback(SaltCallback callback) throws SaslEx...
    method fetchCredentials (line 182) | private void fetchCredentials() throws SaslException {
    method handleAuthorizationIdCallback (line 225) | private void handleAuthorizationIdCallback(AuthorizationIdCallback cal...
    method handleChannelBindingCallback (line 240) | private void handleChannelBindingCallback(ChannelBindingCallback callb...
    method handleServerKeyCallback (line 275) | private void handleServerKeyCallback(ServerKeyCallback callback) throw...
    method handleStoredKeyCallback (line 288) | private void handleStoredKeyCallback(StoredKeyCallback callback) throw...
    method setJid (line 301) | private void setJid(BareJID jid) {

FILE: src/main/java/tigase/auth/impl/XTokenCallbackHandler.java
  class XTokenCallbackHandler (line 54) | public class XTokenCallbackHandler implements CallbackHandler, AuthRepos...
    method handle (line 66) | @Override
    method setAuthRepository (line 76) | @Override
    method setDomain (line 81) | @Override
    method setSession (line 86) | @Override
    method handleAuthorizeCallback (line 91) | protected void handleAuthorizeCallback(AuthorizeCallback authCallback) {
    method handleCallback (line 116) | protected void handleCallback(Callback callback) throws UnsupportedCal...
    method handleNameCallback (line 137) | protected void handleNameCallback(NameCallback nc) throws IOException {
    method handleRealmCallback (line 151) | protected void handleRealmCallback(RealmCallback rc) throws IOException {
    method handleServerKeyCallback (line 162) | protected void handleServerKeyCallback(ServerKeyCallback pc) throws IO...
    method handleAuthorizationIdCallback (line 187) | private void handleAuthorizationIdCallback(AuthorizationIdCallback cal...
    method handleReplaceServerKeyCallback (line 203) | private void handleReplaceServerKeyCallback(ReplaceServerKeyCallback c...
    method handleSharedSecretKeyCallback (line 215) | private void handleSharedSecretKeyCallback(SharedSecretKeyCallback ssk...
    method setJid (line 222) | private void setJid(BareJID jid) {

FILE: src/main/java/tigase/auth/mechanisms/AbstractSasl.java
  class AbstractSasl (line 33) | public abstract class AbstractSasl
    method isAuthzIDIgnored (line 45) | public static boolean isAuthzIDIgnored() {
    method isEmpty (line 50) | protected static final boolean isEmpty(Object x) {
    method AbstractSasl (line 54) | protected AbstractSasl(Map<? super String, ?> props, CallbackHandler c...
    method dispose (line 59) | @Override
    method getNegotiatedProperty (line 64) | @Override
    method handleCallbacks (line 72) | protected void handleCallbacks(Callback... callbacks) throws SaslExcep...
    method isComplete (line 84) | @Override
    method split (line 89) | protected String[] split(final byte[] byteArray, final String defaultV...

FILE: src/main/java/tigase/auth/mechanisms/AbstractSaslSCRAM.java
  class AbstractSaslSCRAM (line 49) | public abstract class AbstractSaslSCRAM
    type BindType (line 66) | public enum BindType {
    method getSupportedChannelBindings (line 106) | public static Element getSupportedChannelBindings(XMPPResourceConnecti...
    method h (line 119) | public static byte[] h(String algorithm, byte[] data) throws NoSuchAlg...
    method hi (line 124) | public static byte[] hi(String algorithm, byte[] password, final byte[...
    method hmac (line 151) | protected static byte[] hmac(final SecretKey key, byte[] data)
    method hmac (line 158) | public static byte[] hmac(String algorithm, final byte[] key, byte[] d...
    method normalize (line 167) | public static byte[] normalize(String str) {
    method AbstractSaslSCRAM (line 171) | protected AbstractSaslSCRAM(String mechanismName, String algorithm, Ma...
    method AbstractSaslSCRAM (line 180) | protected AbstractSaslSCRAM(String mechanismName, String algorithm, Ma...
    method evaluateResponse (line 189) | @Override
    method getAuthorizationID (line 205) | @Override
    method getMechanismName (line 210) | @Override
    method unwrap (line 215) | @Override
    method wrap (line 220) | @Override
    method calculateC (line 225) | protected byte[] calculateC() {
    method checkRequestedBindType (line 242) | protected abstract void checkRequestedBindType(BindType requestedBindT...
    method h (line 244) | protected byte[] h(byte[] data) throws NoSuchAlgorithmException {
    method key (line 249) | protected SecretKey key(final byte[] key) {
    method processClientFirstMessage (line 253) | protected byte[] processClientFirstMessage(byte[] data) throws SaslExc...
    method processClientLastMessage (line 301) | protected byte[] processClientLastMessage(byte[] data)
    method validateBindingsData (line 357) | protected void validateBindingsData(BindType requestedBindType, byte[]...
    method xor (line 367) | protected byte[] xor(final byte[] a, final byte[] b) {
    method createBindType (line 376) | private BindType createBindType(final String cfmGs2header, final Strin...
    method randomString (line 394) | private String randomString() {
    method validateKeyPresence (line 405) | private void validateKeyPresence(final byte[] key, final String keyNam...
    type Step (line 419) | private enum Step {

FILE: src/main/java/tigase/auth/mechanisms/SCRAMHelper.java
  class SCRAMHelper (line 23) | public class SCRAMHelper {
    method encodePlainPassword (line 35) | public static AuthenticationData encodePlainPassword(String algorithm,...
    method transcode (line 51) | public static AuthenticationData transcode(String algorithm, byte[] sa...
    method SCRAMHelper (line 59) | private SCRAMHelper() {

FILE: src/main/java/tigase/auth/mechanisms/SaslANONYMOUS.java
  class SaslANONYMOUS (line 34) | public class SaslANONYMOUS
    method SaslANONYMOUS (line 40) | SaslANONYMOUS(Map<? super String, ?> props, CallbackHandler callbackHa...
    method evaluateResponse (line 45) | @Override
    method getAuthorizationID (line 61) | @Override
    method getMechanismName (line 66) | @Override
    method unwrap (line 71) | @Override
    method wrap (line 76) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslEXTERNAL.java
  class SaslEXTERNAL (line 31) | public class SaslEXTERNAL
    method SaslEXTERNAL (line 37) | SaslEXTERNAL(Map<? super String, ?> props, CallbackHandler callbackHan...
    method evaluateResponse (line 41) | @Override
    method getAuthorizationID (line 68) | @Override
    method getMechanismName (line 73) | @Override
    method unwrap (line 78) | @Override
    method wrap (line 83) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslPLAIN.java
  class SaslPLAIN (line 37) | public class SaslPLAIN
    method SaslPLAIN (line 42) | SaslPLAIN(Map<? super String, ?> props, CallbackHandler callbackHandle...
    method evaluateResponse (line 46) | @Override
    method getAuthorizationID (line 104) | @Override
    method getMechanismName (line 109) | @Override
    method unwrap (line 114) | @Override
    method wrap (line 119) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslSCRAM.java
  class SaslSCRAM (line 24) | public class SaslSCRAM
    method SaslSCRAM (line 30) | public SaslSCRAM(Map<? super String, ?> props, CallbackHandler callbac...
    method SaslSCRAM (line 34) | SaslSCRAM(Map<? super String, ?> props, CallbackHandler callbackHandle...
    method checkRequestedBindType (line 38) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslSCRAMPlus.java
  class SaslSCRAMPlus (line 27) | public class SaslSCRAMPlus
    method containsScramPlus (line 33) | public static boolean containsScramPlus(Collection<String> mechanisms) {
    method isAvailable (line 42) | public static boolean isAvailable(XMPPResourceConnection session) {
    method SaslSCRAMPlus (line 47) | public SaslSCRAMPlus(Map<? super String, ?> props, CallbackHandler cal...
    method SaslSCRAMPlus (line 51) | SaslSCRAMPlus(Map<? super String, ?> props, CallbackHandler callbackHa...
    method checkRequestedBindType (line 55) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslSCRAMSha256.java
  class SaslSCRAMSha256 (line 24) | public class SaslSCRAMSha256
    method SaslSCRAMSha256 (line 30) | public SaslSCRAMSha256(Map<? super String, ?> props, CallbackHandler c...
    method SaslSCRAMSha256 (line 34) | SaslSCRAMSha256(Map<? super String, ?> props, CallbackHandler callback...
    method checkRequestedBindType (line 38) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslSCRAMSha256Plus.java
  class SaslSCRAMSha256Plus (line 26) | public class SaslSCRAMSha256Plus
    method isAvailable (line 32) | public static boolean isAvailable(XMPPResourceConnection session) {
    method SaslSCRAMSha256Plus (line 37) | public SaslSCRAMSha256Plus(Map<? super String, ?> props, CallbackHandl...
    method SaslSCRAMSha256Plus (line 41) | SaslSCRAMSha256Plus(Map<? super String, ?> props, CallbackHandler call...
    method checkRequestedBindType (line 45) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslSCRAMSha512.java
  class SaslSCRAMSha512 (line 24) | public class SaslSCRAMSha512
    method SaslSCRAMSha512 (line 30) | public SaslSCRAMSha512(Map<? super String, ?> props, CallbackHandler c...
    method SaslSCRAMSha512 (line 34) | SaslSCRAMSha512(Map<? super String, ?> props, CallbackHandler callback...
    method checkRequestedBindType (line 38) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslSCRAMSha512Plus.java
  class SaslSCRAMSha512Plus (line 26) | public class SaslSCRAMSha512Plus
    method isAvailable (line 32) | public static boolean isAvailable(XMPPResourceConnection session) {
    method SaslSCRAMSha512Plus (line 37) | public SaslSCRAMSha512Plus(Map<? super String, ?> props, CallbackHandl...
    method SaslSCRAMSha512Plus (line 41) | SaslSCRAMSha512Plus(Map<? super String, ?> props, CallbackHandler call...
    method checkRequestedBindType (line 45) | @Override

FILE: src/main/java/tigase/auth/mechanisms/SaslXTOKEN.java
  class SaslXTOKEN (line 40) | public class SaslXTOKEN
    method generateSecretKey (line 46) | public static byte[] generateSecretKey() {
    type Step (line 54) | enum Step {
    method SaslXTOKEN (line 60) | SaslXTOKEN(Map<? super String, ?> props, CallbackHandler callbackHandl...
    method getMechanismName (line 64) | @Override
    method evaluateResponse (line 69) | @Override
    method getAuthorizationID (line 138) | @Override
    method unwrap (line 143) | @Override
    method wrap (line 148) | @Override

FILE: src/main/java/tigase/auth/mechanisms/TigaseSaslServerFactory.java
  class TigaseSaslServerFactory (line 29) | @Bean(name = "tigaseSaslServerFactory", parent = TigaseSaslProvider.clas...
    method TigaseSaslServerFactory (line 35) | public TigaseSaslServerFactory() {
    method createSaslServer (line 38) | @Override
    method getMechanismNames (line 68) | @Override

FILE: src/main/java/tigase/cluster/AmpComponentClustered.java
  class AmpComponentClustered (line 45) | @Bean(name = "amp", parent = Kernel.class, active = true)
    method AmpComponentClustered (line 59) | public AmpComponentClustered() {
    method processPacket (line 63) | @Override
    method setClusterController (line 77) | @Override
    method forwardPacket (line 93) | protected void forwardPacket(Packet packet) {
    class PacketForwardCommand (line 108) | protected class PacketForwardCommand
      method PacketForwardCommand (line 111) | public PacketForwardCommand(String name) {
      method executeCommand (line 115) | @Override

FILE: src/main/java/tigase/cluster/BoshConnectionClustered.java
  class BoshConnectionClustered (line 41) | @Bean(name = "bosh", parent = Kernel.class, active = true)
    method BoshConnectionClustered (line 52) | public BoshConnectionClustered() {
    method onNodeDisconnected (line 56) | @Override
    method getDiscoDescription (line 85) | @Override
    method getSeeOtherHostInstance (line 90) | @Override
    method start (line 107) | @Override
    method stop (line 134) | @Override
    method onNodeConnected (line 141) | @Override

FILE: src/main/java/tigase/cluster/ClientConnectionClustered.java
  class ClientConnectionClustered (line 47) | @Bean(name = "c2s", parent = Kernel.class, active = true)
    method ClientConnectionClustered (line 65) | public ClientConnectionClustered() {
    method onNodeDisconnected (line 69) | @Override
    method getDiscoDescription (line 98) | @Override
    method getSeeOtherHostInstance (line 103) | @Override
    method start (line 119) | @Override
    method stop (line 146) | @Override
    method onNodeConnected (line 153) | @Override

FILE: src/main/java/tigase/cluster/ClusterConnection.java
  class ClusterConnection (line 28) | public class ClusterConnection {
    method ClusterConnection (line 33) | public ClusterConnection(String addr) {
    method addConn (line 37) | public boolean addConn(XMPPIOService<Object> conn) {
    method removeConn (line 41) | public boolean removeConn(XMPPIOService<Object> conn) {
    method size (line 45) | public int size() {
    method getConnections (line 49) | public List<XMPPIOService<Object>> getConnections() {
    method toString (line 53) | @Override

FILE: src/main/java/tigase/cluster/ClusterConnectionManager.java
  class ClusterConnectionManager (line 81) | @Bean(name = "cl-comp", parent = Kernel.class, active = true)
    type REPO_ITEM_UPDATE_TYPE (line 118) | public static enum REPO_ITEM_UPDATE_TYPE {
    method run (line 162) | @Override
    method ClusterConnectionManager (line 177) | public ClusterConnectionManager() {
    method enableServiceConnectedTimeout (line 199) | @Override
    method hashCodeForPacket (line 204) | @Override
    method initBindings (line 259) | @Override
    method itemAdded (line 266) | @Override
    method itemRemoved (line 308) | @Override
    method itemUpdated (line 322) | @Override
    method nodeConnected (line 327) | @Override
    method everyHour (line 335) | @Override
    method nodeDisconnected (line 343) | @Override
    method processingInThreads (line 351) | @Override
    method processingOutThreads (line 363) | @Override
    method processOutPacket (line 375) | @Override
    method processPacket (line 389) | @Override
    method processSocketData (line 418) | @Override
    method processUndeliveredPacket (line 460) | @Override
    method reconnectionFailed (line 478) | @Override
    method schedulerThreads (line 484) | public int schedulerThreads() {
    method serviceStarted (line 488) | @Override
    method serviceStopped (line 529) | @Override
    method setRepo (line 595) | public void setRepo(ComponentRepository<ClusterRepoItem> repo) {
    method tlsHandshakeCompleted (line 605) | @Override
    method updateConnectionDetails (line 609) | @Override
    method xmppStreamClosed (line 625) | @Override
    method xmppStreamOpened (line 630) | @Override
    method getDiscoCategoryType (line 686) | @Override
    method getDiscoDescription (line 691) | @Override
    method getStatistics (line 696) | @Override
    method setClusterController (line 725) | @Override
    method start (line 733) | @Override
    method stop (line 751) | @Override
    method isInitialClusterConnectedDone (line 758) | boolean isInitialClusterConnectedDone() {
    method serviceConnected (line 762) | @Override
    method writePacketToSocket (line 819) | @Override
    method getDefPlainPorts (line 836) | @Override
    method getDefTrafficThrottling (line 846) | @Override
    method getMaxInactiveTime (line 851) | @Override
    method getMaxQueueSize (line 856) | @Override
    method getParamsForPort (line 861) | @Override
    method getXMPPIOServiceInstance (line 872) | @Override
    method isHighThroughput (line 877) | @Override
    method sendEvent (line 882) | private void sendEvent(REPO_ITEM_UPDATE_TYPE action, ClusterRepoItem i...
    method processHandshake (line 893) | private void processHandshake(Packet p, XMPPIOService<Object> serv) {
    method updateRoutings (line 986) | private void updateRoutings(String[] routings, boolean add) {
    class ClusterInitializedEvent (line 1006) | public static class ClusterInitializedEvent implements EventBusEvent {
      method ClusterInitializedEvent (line 1008) | public ClusterInitializedEvent() {
    class DefClConRepositoryBean (line 1014) | @Bean(name = "clConRepositoryBean", parent = ClusterConnectionManager....
      method findClassForDataSource (line 1025) | @Override
    class IOServiceStatisticsGetter (line 1035) | private class IOServiceStatisticsGetter
      method check (line 1044) | @Override
      method reset (line 1053) | public void reset() {
      method getAverageCompressionRatio (line 1066) | public float getAverageCompressionRatio() {
      method getAverageDecompressionRatio (line 1070) | public float getAverageDecompressionRatio() {
      method getWaitingToSend (line 1074) | public int getWaitingToSend() {
    class SendPacket (line 1079) | private class SendPacket
      method SendPacket (line 1082) | private SendPacket(String name) {
      method executeCommand (line 1086) | @Override
    class Watchdog (line 1105) | protected class Watchdog
      method getDurationSinceLastTransfer (line 1108) | @Override

FILE: src/main/java/tigase/cluster/ClusterConnectionSelector.java
  class ClusterConnectionSelector (line 38) | @Bean(name = "clusterConnectionSelector", parent = ClusterConnectionMana...
    method selectConnection (line 51) | @Override
    method setClusterConnectionHandler (line 73) | @Override
    method setProperties (line 78) | @Override

FILE: src/main/java/tigase/cluster/ClusterConnectionSelectorOld.java
  class ClusterConnectionSelectorOld (line 35) | @Bean(name = "clusterConnectionSelector", active = true)
    method selectConnection (line 41) | @Override
    method setClusterConnectionHandler (line 55) | @Override
    method setProperties (line 60) | @Override

FILE: src/main/java/tigase/cluster/ClusterController.java
  class ClusterController (line 53) | @Bean(name = "cluster-contr", parent = Kernel.class, active = true, expo...
    method componentAdded (line 71) | @Override
    method componentRemoved (line 89) | @Override
    method handleClusterPacket (line 94) | @Override
    method nodeConnected (line 122) | @Override
    method nodeDisconnected (line 130) | @Override
    method processPacket (line 138) | @Override
    method removeCommandListener (line 142) | @Override
    method sendToNodes (line 147) | @Override
    method sendToNodes (line 193) | @Override
    method sendToNodes (line 199) | @Override
    method sendToNodes (line 205) | @Override
    method sendToNodes (line 210) | @Override
    method sendToNodes (line 215) | @Override
    method sendToNodes (line 220) | @Override
    method getDiscoCategoryType (line 229) | @Override
    method getDiscoDescription (line 234) | @Override
    method isCorrectType (line 239) | @Override
    method setCommandListener (line 244) | @Override
    method setName (line 249) | @Override
    method nextId (line 254) | private String nextId() {
    method removeCommandListener (line 258) | private void removeCommandListener(String name, CommandListener listen...
    method setCommandListener (line 262) | private void setCommandListener(String name, CommandListener listener) {
    class Wrapper (line 266) | private class Wrapper
      method Wrapper (line 273) | public Wrapper(ClusterController controller, ClusteredComponentIfc c...
      method handleClusterPacket (line 279) | @Override
      method nodeConnected (line 284) | @Override
      method nodeDisconnected (line 289) | @Override
      method removeCommandListener (line 294) | @Override
      method sendToNodes (line 300) | @Override
      method sendToNodes (line 307) | @Override
      method sendToNodes (line 314) | @Override
      method sendToNodes (line 321) | @Override
      method sendToNodes (line 327) | @Override
      method sendToNodes (line 333) | @Override
      method sendToNodes (line 339) | @Override
      method setCommandListener (line 346) | @Override

FILE: src/main/java/tigase/cluster/SessionManagerClustered.java
  class SessionManagerClustered (line 69) | @Bean(name = "sess-man", parent = Kernel.class, active = true, exportabl...
    method SessionManagerClustered (line 101) | public SessionManagerClustered() {
    method containsJid (line 115) | @Override
    method everySecond (line 124) | @Override
    method everyMinute (line 132) | @Override
    method everyHour (line 140) | @Override
    method fastAddOutPacket (line 148) | @Override
    method handleLocalPacket (line 153) | @Override
    method handleLogin (line 160) | @Override
    method handleLogout (line 166) | @Override
    method handleResourceBind (line 180) | @Override
    method checkSingleUserConnectionsLimit (line 186) | @Override
    method initBindings (line 223) | @Override
    method onNodeConnected (line 229) | @Override
    method onNodeDisconnected (line 240) | @Override
    method processingInThreads (line 255) | @Override
    method processingOutThreads (line 260) | @Override
    method processPacket (line 275) | @Override
    method processPacket (line 321) | @Override
    method processPresenceUpdate (line 326) | @Override
    method getComponentInfo (line 331) | @Override
    method getConnectionIdsForJid (line 350) | @Override
    method getDiscoDescription (line 364) | @Override
    method getStatistics (line 380) | @Override
    method getStrategy (line 393) | public ClusteringStrategyIfc getStrategy() {
    method getXMPPResourceConnection (line 397) | @Override
    method getXMPPResourceConnections (line 402) | @Override
    method getXMPPSessions (line 407) | @Override
    method hasCompleteJidsInfo (line 412) | @Override
    method hasXMPPResourceConnectionForConnectionJid (line 417) | @Override
    method setClusterController (line 422) | @Override
    method fillRoutedUserSessionWithProcessorResultWriter (line 442) | @FillRoutedEvent
    method fillRoutedUserSessionEvent (line 448) | @FillRoutedEvent
    method routeUserSessionEvent (line 463) | @RouteEvent
    method closeSession (line 511) | @Override
    method xmppStreamMoved (line 538) | @Override
    method sendAdminNotification (line 548) | private void sendAdminNotification(String node, STATUS stat) {
    type STATUS (line 559) | private enum STATUS {
      method STATUS (line 565) | STATUS(String message) {

FILE: src/main/java/tigase/cluster/VirtualComponent.java
  class VirtualComponent (line 81) | public class VirtualComponent
    method handlesLocalDomains (line 160) | @Override
    method handlesNameSubdomains (line 165) | @Override
    method handlesNonLocalDomains (line 170) | @Override
    method initializationCompleted (line 175) | @Override
    method processPacket (line 179) | @Override
    method release (line 189) | @Override
    method getComponentId (line 193) | @Override
    method getComponentInfo (line 198) | @Override
    method getDefaults (line 206) | @Override
    method getDiscoFeatures (line 232) | @Override
    method getDiscoInfo (line 237) | @Override
    method getDiscoItems (line 242) | @Override
    method getName (line 255) | @Override
    method setName (line 260) | @Override
    method isInitializationComplete (line 266) | @Override
    method setProperties (line 271) | @Override
    method setVHostManager (line 320) | @Override

FILE: src/main/java/tigase/cluster/WebSocketClientConnectionClustered.java
  class WebSocketClientConnectionClustered (line 45) | @Bean(name = "ws2s", parent = Kernel.class, active = true)
    method WebSocketClientConnectionClustered (line 57) | public WebSocketClientConnectionClustered() {
    method onNodeDisconnected (line 61) | @Override
    method getDiscoDescription (line 91) | @Override
    method getSeeOtherHostInstance (line 96) | @Override
    method start (line 112) | @Override
    method stop (line 139) | @Override
    method onNodeConnected (line 146) | @Override

FILE: src/main/java/tigase/cluster/api/ClusterCommandException.java
  class ClusterCommandException (line 23) | public class ClusterCommandException
    method ClusterCommandException (line 28) | public ClusterCommandException() {
    method ClusterCommandException (line 32) | public ClusterCommandException(String arg0) {
    method ClusterCommandException (line 36) | public ClusterCommandException(Throwable arg0) {
    method ClusterCommandException (line 40) | public ClusterCommandException(String arg0, Throwable arg1) {

FILE: src/main/java/tigase/cluster/api/ClusterConnectionHandler.java
  type ClusterConnectionHandler (line 28) | public interface ClusterConnectionHandler {
    method hashCodeForPacket (line 33) | int hashCodeForPacket(Packet packet);

FILE: src/main/java/tigase/cluster/api/ClusterConnectionSelectorIfc.java
  type ClusterConnectionSelectorIfc (line 32) | public interface ClusterConnectionSelectorIfc {
    method selectConnection (line 37) | XMPPIOService<Object> selectConnection(Packet packet, ClusterConnectio...
    method setClusterConnectionHandler (line 39) | void setClusterConnectionHandler(ClusterConnectionHandler handler);
    method setProperties (line 41) | void setProperties(Map<String, Object> props);

FILE: src/main/java/tigase/cluster/api/ClusterControllerIfc.java
  type ClusterControllerIfc (line 30) | public interface ClusterControllerIfc {
    method handleClusterPacket (line 39) | void handleClusterPacket(Element packet);
    method nodeConnected (line 47) | void nodeConnected(String addr);
    method nodeDisconnected (line 55) | void nodeDisconnected(String addr);
    method removeCommandListener (line 57) | void removeCommandListener(CommandListener listener);
    method sendToNodes (line 69) | void sendToNodes(String command, Map<String, String> data, Queue<Eleme...
    method sendToNodes (line 81) | void sendToNodes(String command, Queue<Element> packets, JID fromNode,...
    method sendToNodes (line 92) | void sendToNodes(String command, Map<String, String> data, JID fromNod...
    method sendToNodes (line 102) | void sendToNodes(String command, Map<String, String> data, JID fromNod...
    method sendToNodes (line 111) | void sendToNodes(String command, JID fromNode, JID... toNodes);
    method sendToNodes (line 122) | void sendToNodes(String command, Element packet, JID fromNode, Set<JID...
    method sendToNodes (line 134) | void sendToNodes(String command, Map<String, String> data, Element pac...
    method setCommandListener (line 137) | void setCommandListener(CommandListener listener);

FILE: src/main/java/tigase/cluster/api/ClusterElement.java
  class ClusterElement (line 48) | public class ClusterElement {
    method clusterElement (line 94) | public static Element clusterElement(JID from, JID to, StanzaType type) {
    method createClusterElement (line 105) | public static Element createClusterElement(JID from, JID to, StanzaTyp...
    method createClusterMethodCall (line 114) | public static ClusterElement createClusterMethodCall(JID from, JID to,...
    method createForNextNode (line 136) | public static ClusterElement createForNextNode(ClusterElement clel, Li...
    method ClusterElement (line 169) | public ClusterElement(Element elem) {
    method ClusterElement (line 221) | public ClusterElement(JID from, JID to, StanzaType type, Packet packet) {
    method addDataPacket (line 233) | public void addDataPacket(Packet packet) {
    method addDataPacket (line 237) | public void addDataPacket(Element packet) {
    method addDataPackets (line 248) | public void addDataPackets(Queue<Element> packets) {
    method addMethodResult (line 256) | public void addMethodResult(String key, String val) {
    method addVisitedNode (line 271) | public void addVisitedNode(JID node_id) {
    method addVisitedNodes (line 281) | public void addVisitedNodes(Set<JID> nodes) {
    method createMethodResponse (line 289) | public ClusterElement createMethodResponse(JID from, StanzaType type, ...
    method createMethodResponse (line 293) | public ClusterElement createMethodResponse(JID from, JID to, StanzaTyp...
    method getAllMethodParams (line 315) | public Map<String, String> getAllMethodParams() {
    method getAllMethodResults (line 319) | public Map<String, String> getAllMethodResults() {
    method getClusterElement (line 323) | public Element getClusterElement(String id) {
    method getDataPackets (line 329) | public Queue<Element> getDataPackets() {
    method getFirstNode (line 333) | public JID getFirstNode() {
    method getMethodName (line 337) | public String getMethodName() {
    method getMethodParam (line 341) | public String getMethodParam(String par_name) {
    method getMethodParam (line 345) | public long getMethodParam(String par_name, long def) {
    method getMethodResultVal (line 359) | public String getMethodResultVal(String val_name) {
    method getMethodResultVal (line 363) | public long getMethodResultVal(String val_name, long def) {
    method getPriority (line 377) | public Priority getPriority() {
    method setPriority (line 381) | public void setPriority(Priority priority) {
    method getVisitedNodes (line 386) | public Set<JID> getVisitedNodes() {
    method isVisitedNode (line 390) | public boolean isVisitedNode(JID node_id) {
    method nextClusterNode (line 394) | public ClusterElement nextClusterNode(JID node_id) {
    method parseMethodCall (line 407) | protected void parseMethodCall(Element method_call) {

FILE: src/main/java/tigase/cluster/api/ClusteredComponentIfc.java
  type ClusteredComponentIfc (line 29) | public interface ClusteredComponentIfc
    method setClusterController (line 37) | void setClusterController(ClusterControllerIfc cl_controller);
    method nodeConnected (line 45) | void nodeConnected(String node);
    method nodeDisconnected (line 53) | void nodeDisconnected(String node);

FILE: src/main/java/tigase/cluster/api/CommandListener.java
  type CommandListener (line 32) | public interface CommandListener
    method executeCommand (line 45) | void executeCommand(JID fromNode, Set<JID> visitedNodes, Map<String, S...
    method getName (line 53) | String getName();
    method setName (line 60) | void setName(String name);
    method getPriority (line 66) | Priority getPriority();
    method getStatistics (line 73) | void getStatistics(StatisticsList list);

FILE: src/main/java/tigase/cluster/api/CommandListenerAbstract.java
  class CommandListenerAbstract (line 30) | public abstract class CommandListenerAbstract
    method getSyncInTraffic (line 39) | public static long getSyncInTraffic() {
    method getSyncOutTraffic (line 43) | public static long getSyncOutTraffic() {
    method CommandListenerAbstract (line 47) | public CommandListenerAbstract(String name, Priority priority) {
    method compareTo (line 52) | @Override
    method equals (line 57) | @Override
    method hashCode (line 63) | @Override
    method incSyncInTraffic (line 72) | public synchronized void incSyncInTraffic() {
    method incSyncOutTraffic (line 76) | public synchronized void incSyncOutTraffic() {
    method getName (line 80) | @Override
    method setName (line 85) | @Override
    method getPriority (line 90) | @Override
    method setPriority (line 95) | public void setPriority(Priority priority) {
    method getStatistics (line 99) | @Override

FILE: src/main/java/tigase/cluster/api/SessionManagerClusteredIfc.java
  type SessionManagerClusteredIfc (line 38) | public interface SessionManagerClusteredIfc
    method fastAddOutPacket (line 43) | boolean fastAddOutPacket(Packet packet);
    method processPacket (line 45) | void processPacket(Packet el_packet, XMPPResourceConnection conn);
    method processPresenceUpdate (line 47) | void processPresenceUpdate(XMPPSession session, Element element);
    method getXMPPResourceConnection (line 49) | XMPPResourceConnection getXMPPResourceConnection(Packet el_packet);
    method getXMPPResourceConnections (line 51) | ConcurrentHashMap<JID, XMPPResourceConnection> getXMPPResourceConnecti...
    method getXMPPSessions (line 53) | ConcurrentHashMap<BareJID, XMPPSession> getXMPPSessions();
    method hasXMPPResourceConnectionForConnectionJid (line 60) | boolean hasXMPPResourceConnectionForConnectionJid(JID connJid);
    method getComponentId (line 62) | JID getComponentId();
    method getNodesConnected (line 64) | List<JID> getNodesConnected();

FILE: src/main/java/tigase/cluster/repo/ClConConfigRepository.java
  class ClConConfigRepository (line 46) | @ConfigAliases({@ConfigAlias(field = "items", alias = "cluster-nodes")})
    method ClConConfigRepository (line 61) | public ClConConfigRepository() {
    method destroy (line 72) | @Override
    method getDefaultPropetyItems (line 77) | @Override
    method getName (line 82) | @Override
    method getPropertyKey (line 87) | @Override
    method getConfigKey (line 92) | @Override
    method getItemInstance (line 97) | @Override
    method initRepository (line 102) | @Deprecated
    method reload (line 109) | @Override
    method itemLoaded (line 162) | public void itemLoaded(ClusterRepoItem item) {
    method itemChanged (line 183) | @Override
    method shutdown (line 189) | @Override
    method storeItem (line 196) | public void storeItem(ClusterRepoItem item) {
    method initialize (line 199) | @Override
    method beforeUnregister (line 205) | @Override
    method removeObsoloteItems (line 211) | protected void removeObsoloteItems(long factor) {
    method clusterRecordValid (line 222) | private boolean clusterRecordValid(ClusterRepoItem item) {

FILE: src/main/java/tigase/cluster/repo/ClConDirRepository.java
  class ClConDirRepository (line 36) | @Repository.Meta(supportedUris = {"file://.*"})
    method destroy (line 50) | @Override
    method getDefaults (line 56) | @Override
    method initRepository (line 62) | @Override
    method setProperties (line 70) | @Override
    method storeItem (line 76) | @Override
    method reload (line 90) | @Override
    class DirFilter (line 115) | private class DirFilter
      method accept (line 118) | @Override

FILE: src/main/java/tigase/cluster/repo/ClConRepoDefaults.java
  class ClConRepoDefaults (line 27) | public abstract class ClConRepoDefaults {
    method getConfigKey (line 31) | static String getConfigKey() {
    method getDefaultPropetyItems (line 35) | static String[] getDefaultPropetyItems() {
    method getItemInstance (line 39) | static ClusterRepoItem getItemInstance() {
    method getPropertyKey (line 43) | static String getPropertyKey() {
    method getRepoUser (line 47) | public static BareJID getRepoUser() {

FILE: src/main/java/tigase/cluster/repo/ClConSQLRepository.java
  class ClConSQLRepository (line 41) | @Repository.Meta(supportedUris = {"jdbc:[^:]+:.*"})
    method destroy (line 77) | @Override
    method getDefaults (line 85) | @Deprecated
    method setDataSource (line 99) | @Override
    method initRepository (line 115) | @Deprecated
    method removeItem (line 129) | @Override
    method storeItem (line 149) | @Override
    method reload (line 190) | @Override
    method setProperties (line 244) | @Deprecated
    method store (line 251) | @Override
    method checkDB (line 261) | private void checkDB(DataRepository data_repo) throws SQLException {

FILE: src/main/java/tigase/cluster/repo/ClusterRepoConstants.java
  type ClusterRepoConstants (line 20) | public interface ClusterRepoConstants {

FILE: src/main/java/tigase/cluster/repo/ClusterRepoItem.java
  class ClusterRepoItem (line 34) | public class ClusterRepoItem
    method addCommandFields (line 82) | @Override
    method initFromCommand (line 94) | @Override
    method initFromElement (line 124) | @Override
    method initFromPropertyString (line 139) | @Override
    method toElement (line 166) | @Override
    method toPropertyString (line 181) | @Override
    method toString (line 187) | @Override
    method getCpuUsage (line 192) | public float getCpuUsage() {
    method setCpuUsage (line 196) | protected void setCpuUsage(float cpuUsage) {
    method getElemName (line 200) | @Override
    method getHostname (line 205) | public String getHostname() {
    method setHostname (line 209) | protected void setHostname(String hostname) {
    method getKey (line 213) | @Override
    method setKey (line 218) | @Override
    method getLastUpdate (line 223) | public long getLastUpdate() {
    method setLastUpdate (line 227) | protected void setLastUpdate(long update) {
    method getMemUsage (line 231) | public float getMemUsage() {
    method setMemUsage (line 235) | protected void setMemUsage(float memUsage) {
    method getPassword (line 239) | public String getPassword() {
    method setPassword (line 243) | protected void setPassword(String password) {
    method getSecondaryHostname (line 247) | public String getSecondaryHostname() {
    method setSecondaryHostname (line 251) | protected void setSecondaryHostname(String secondaryHostname) {
    method getPortNo (line 255) | public int getPortNo() {
    method clone (line 259) | @Override
    method setPort (line 264) | protected void setPort(int port) {
    method parsePortNo (line 268) | private int parsePortNo(String input) {

FILE: src/main/java/tigase/cluster/repo/ClusterRepoItemEvent.java
  class ClusterRepoItemEvent (line 27) | public class ClusterRepoItemEvent {
    method ClusterRepoItemEvent (line 32) | public ClusterRepoItemEvent(ClusterRepoItem item, REPO_ITEM_UPDATE_TYP...
    method getAction (line 37) | public REPO_ITEM_UPDATE_TYPE getAction() {
    method getItem (line 41) | public ClusterRepoItem getItem() {
    method toString (line 45) | @Override

FILE: src/main/java/tigase/cluster/strategy/ClusteringStrategyIfc.java
  type ClusteringStrategyIfc (line 39) | public interface ClusteringStrategyIfc<E extends ConnectionRecordIfc>
    method handleLocalPresenceSet (line 42) | public void handleLocalPresenceSet(XMPPResourceConnection conn);
    method handleLocalResourceBind (line 44) | public void handleLocalResourceBind(XMPPResourceConnection conn);
    method handleLocalUserLogin (line 46) | public void handleLocalUserLogin(BareJID userId, XMPPResourceConnectio...
    method handleLocalUserLogout (line 48) | public void handleLocalUserLogout(BareJID userId, XMPPResourceConnecti...
    method handleLocalUserChangedConnId (line 50) | public void handleLocalUserChangedConnId(BareJID userId, XMPPResourceC...
    method getInfo (line 52) | public String getInfo();
    method handleLocalPacket (line 54) | void handleLocalPacket(Packet packet, XMPPResourceConnection conn);
    method nodeConnected (line 61) | void nodeConnected(JID node);
    method nodeDisconnected (line 68) | void nodeDisconnected(JID node);
    method processPacket (line 70) | boolean processPacket(Packet packet, XMPPResourceConnection conn);
    method getNodesConnected (line 77) | List<JID> getNodesConnected();
    method getConnectionRecord (line 89) | E getConnectionRecord(JID jid);
    method getConnectionRecordInstance (line 91) | E getConnectionRecordInstance();
    method getConnectionRecords (line 102) | Set<E> getConnectionRecords(BareJID bareJID);
    method getConnectionRecordsByCreationTime (line 104) | default List<E> getConnectionRecordsByCreationTime(BareJID bareJID) {
    method getDefaults (line 120) | @Deprecated
    method getStatistics (line 127) | void getStatistics(StatisticsList list);
    method setClusterController (line 129) | void setClusterController(ClusterControllerIfc clComp);
    method setProperties (line 139) | void setProperties(Map<String, Object> props);

FILE: src/main/java/tigase/cluster/strategy/ConnectionRecord.java
  class ConnectionRecord (line 26) | public class ConnectionRecord
    method ConnectionRecord (line 41) | public ConnectionRecord() {
    method compareTo (line 45) | @Override
    method equals (line 50) | @Override
    method hashCode (line 61) | @Override
    method toElement (line 66) | @Override
    method toString (line 78) | @Override
    method getConnectionId (line 92) | @Override
    method setConnectionId (line 97) | public void setConnectionId(JID connectionId) {
    method getNode (line 101) | @Override
    method getSessionId (line 106) | @Override
    method getUserJid (line 111) | @Override
    method setElement (line 116) | @Override
    method setRecordFields (line 124) | @Override

FILE: src/main/java/tigase/cluster/strategy/ConnectionRecordIfc.java
  type ConnectionRecordIfc (line 30) | public interface ConnectionRecordIfc {
    method toElement (line 32) | Element toElement();
    method getConnectionId (line 34) | JID getConnectionId();
    method getNode (line 36) | JID getNode();
    method getSessionId (line 38) | String getSessionId();
    method getUserJid (line 40) | JID getUserJid();
    method setElement (line 42) | void setElement(Element elem);
    method setRecordFields (line 44) | void setRecordFields(JID node, JID userJid, String sessionId, JID conn...

FILE: src/main/java/tigase/cluster/strategy/DefaultClusteringStrategy.java
  class DefaultClusteringStrategy (line 39) | @Bean(name = "strategy", parent = SessionManagerClustered.class, active ...
    method DefaultClusteringStrategy (line 67) | public DefaultClusteringStrategy() {
    method handleLocalPacket (line 73) | @Override
    method handleLocalResourceBind (line 120) | @Override
    method handleLocalUserLogout (line 134) | @Override
    method getNodesForPacketForward (line 166) | @Override
    method prepareConnectionParams (line 227) | protected Map<String, String> prepareConnectionParams(XMPPResourceConn...
    method getConnectionRecord (line 248) | protected ConnectionRecordIfc getConnectionRecord(JID node, Map<String...
    method selectNodes (line 264) | private List<JID> selectNodes(JID fromNode, Set<JID> visitedNodes) {
    class UserConnectedCommand (line 326) | private class UserConnectedCommand
      method UserConnectedCommand (line 329) | public UserConnectedCommand(String name) {
      method executeCommand (line 333) | @Override
    class UserPresenceCommand (line 381) | private class UserPresenceCommand
      method UserPresenceCommand (line 385) | public UserPresenceCommand(String name) {
      method executeCommand (line 389) | @Override

FILE: src/main/java/tigase/cluster/strategy/DefaultClusteringStrategyAbstract.java
  class DefaultClusteringStrategyAbstract (line 52) | public abstract class DefaultClusteringStrategyAbstract<E extends Connec...
    method DefaultClusteringStrategyAbstract (line 76) | public DefaultClusteringStrategyAbstract() {
    method statisticExecutedIn (line 83) | @Override
    method everyHour (line 88) | @Override
    method everyMinute (line 93) | @Override
    method everySecond (line 98) | @Override
    method getStatistics (line 103) | @Override
    method setStatisticsPrefix (line 108) | @Override
    method addCommandListener (line 113) | public final void addCommandListener(CommandListener cmd) {
    method containsJid (line 117) | @Override
    method containsJidLocally (line 122) | @Override
    method containsJidLocally (line 127) | @Override
    method handleLocalPacket (line 132) | @Override
    method handleLocalPresenceSet (line 136) | @Override
    method handleLocalResourceBind (line 141) | @Override
    method handleLocalUserLogin (line 146) | @Override
    method handleLocalUserLogout (line 152) | @Override
    method handleLocalUserChangedConnId (line 158) | @Override
    method processPacket (line 164) | @Override
    method sendToNextNode (line 210) | public boolean sendToNextNode(JID fromNode, Set<JID> visitedNodes, Map...
    method toString (line 227) | @Override
    method getNodesConnected (line 232) | @Override
    method getConnectionIdsForJid (line 237) | @Override
    method getConnectionRecord (line 242) | @Override
    method getConnectionRecordInstance (line 247) | @Override
    method getConnectionRecords (line 252) | @Override
    method getDefaults (line 257) | @Override
    method getInfo (line 266) | @Override
    method getNodesForPacketForward (line 271) | public List<JID> getNodesForPacketForward(JID fromNode, Set<JID> visit...
    method isIqResponseToNode (line 306) | public boolean isIqResponseToNode(Packet packet) {
    method getNodesForIqResponse (line 314) | public List<JID> getNodesForIqResponse(Packet packet) {
    method getStatistics (line 322) | @Override
    method hasCompleteJidsInfo (line 330) | @Override
    method nodeConnected (line 335) | @Override
    method nodeDisconnected (line 341) | @Override
    method setClusterController (line 347) | @Override
    method setProperties (line 356) | @Override
    method getSM (line 376) | public SessionManagerClusteredIfc getSM() {
    method fireEvent (line 380) | public void fireEvent(Object event) {
    method isSuitableForForward (line 384) | protected boolean isSuitableForForward(Packet packet) {
    type ErrorForwarding (line 464) | private static enum ErrorForwarding {

FILE: src/main/java/tigase/cluster/strategy/SMNonCachingAllNodes.java
  class SMNonCachingAllNodes (line 37) | public abstract class SMNonCachingAllNodes
    method containsJid (line 47) | @Override
    method nodeConnected (line 52) | @Override
    method nodeDisconnected (line 56) | @Override
    method getNodesConnected (line 60) | @Override
    method getConnectionIdsForJid (line 65) | @Override
    method getConnectionRecords (line 70) | @Override
    method getNodesForJid (line 75) | public List<JID> getNodesForJid(JID jid) {
    method getNodesForPacketForward (line 79) | public List<JID> getNodesForPacketForward(JID fromNode, Set<JID> visit...
    method getNodesForUserConnect (line 125) | public List<JID> getNodesForUserConnect(JID jid) {
    method getNodesForUserDisconnect (line 129) | public List<JID> getNodesForUserDisconnect(JID jid) {
    method getStatistics (line 133) | @Override
    method hasCompleteJidsInfo (line 137) | @Override
    method setProperties (line 142) | @Override
    method isSuitableForForward (line 146) | protected boolean isSuitableForForward(Packet packet) {
    method selectNodes (line 186) | private List<JID> selectNodes(JID fromNode, Set<JID> visitedNodes) {

FILE: src/main/java/tigase/cluster/strategy/cmd/PacketForwardCmd.java
  class PacketForwardCmd (line 47) | public class PacketForwardCmd
    method PacketForwardCmd (line 56) | public PacketForwardCmd(String name, DefaultClusteringStrategyAbstract...
    method executeCommand (line 61) | @Override
    method getSM (line 137) | private SessionManagerClusteredIfc getSM() {

FILE: src/main/java/tigase/component/AbstractComponent.java
  class AbstractComponent (line 49) | @Deprecated
    method AbstractComponent (line 68) | public AbstractComponent() {
    method everyMinute (line 71) | @Override
    method getComponentVersion (line 84) | public abstract String getComponentVersion();
    method getDefaults (line 86) | @Override
    method getKernel (line 100) | public Kernel getKernel() {
    method setKernel (line 104) | public void setKernel(Kernel kernel) {
    method getResponseManager (line 108) | public ResponseManager getResponseManager() {
    method setResponseManager (line 112) | public void setResponseManager(ResponseManager responseManager) {
    method getStanzaProcessor (line 116) | public StanzaProcessor getStanzaProcessor() {
    method setStanzaProcessor (line 120) | public void setStanzaProcessor(StanzaProcessor stanzaProcessor) {
    method initBindings (line 124) | @Override
    method isDiscoNonAdmin (line 137) | public abstract boolean isDiscoNonAdmin();
    method processPacket (line 139) | @Override
    method setProperties (line 144) | @Override
    method updateServiceEntity (line 158) | @Override
    method getEventBus (line 164) | EventBus getEventBus() {
    method setEventBus (line 168) | public void setEventBus(EventBus eventBus) {
    method addOutPacket (line 172) | protected void addOutPacket(Packet packet, AsyncCallback asyncCallback) {
    method getDefaultModulesList (line 183) | protected abstract Map<String, Class<? extends Module>> getDefaultModu...
    method initModules (line 185) | protected void initModules(Map<String, Object> props)
    class DefaultPacketWriter (line 195) | public static class DefaultPacketWriter
      method getComponent (line 204) | public AbstractComponent getComponent() {
      method setComponent (line 208) | public void setComponent(AbstractComponent component) {
      method getResponseManager (line 212) | public ResponseManager getResponseManager() {
      method setResponseManager (line 216) | public void setResponseManager(ResponseManager responseManager) {
      method write (line 220) | @Override
      method write (line 231) | @Override
      method write (line 239) | @Override

FILE: src/main/java/tigase/component/AbstractKernelBasedComponent.java
  class AbstractKernelBasedComponent (line 42) | public abstract class AbstractKernelBasedComponent
    method getComponentVersion (line 52) | public String getComponentVersion() {
    method getKernel (line 57) | public Kernel getKernel() {
    method initBindings (line 61) | @Override
    method start (line 67) | @Override
    method isDiscoNonAdmin (line 77) | public abstract boolean isDiscoNonAdmin();
    method processPacket (line 79) | @Override
    method register (line 84) | @Override
    method unregister (line 100) | @Override
    method updateServiceEntity (line 105) | @Override
    method createScriptEngineManager (line 111) | @Override
    method registerModules (line 118) | protected abstract void registerModules(Kernel kernel);
    class DefaultPacketWriter (line 120) | @Bean(name = "writer", active = true)
      method write (line 130) | @Override
      method write (line 141) | @Override
      method write (line 149) | @Override

FILE: src/main/java/tigase/component/BackwardCompatibilityHelper.java
  class BackwardCompatibilityHelper (line 33) | public class BackwardCompatibilityHelper {
    method convertToArray (line 35) | public static Object convertToArray(Collection collection) {
    method convertToBoolArray (line 58) | public static Object convertToBoolArray(Collection col) {
    method convertToDoubleArray (line 69) | public static Object convertToDoubleArray(Collection col) {
    method convertToFloatArray (line 80) | public static Object convertToFloatArray(Collection col) {
    method convertToIntArray (line 91) | public static Object convertToIntArray(Collection col) {
    method convertToLongArray (line 102) | public static Object convertToLongArray(Collection col) {
    method convertToStringArray (line 113) | public static Object convertToStringArray(Collection col) {
    method fillProps (line 124) | public static Map<String, Object> fillProps(Map<String, Object> beanPr...
    method getDefConfigParams (line 149) | public static Map<String, Object> getDefConfigParams(Kernel kernel, St...

FILE: src/main/java/tigase/component/BindingsKernel.java
  class BindingsKernel (line 24) | public class BindingsKernel
    method BindingsKernel (line 29) | public BindingsKernel(Kernel kernel) {
    method BindingsKernel (line 33) | public BindingsKernel() {
    method containsKey (line 36) | @Override
    method get (line 45) | @Override
    method getKernel (line 54) | public Kernel getKernel() {
    method setKernel (line 58) | public void setKernel(Kernel kernel) {

FILE: src/main/java/tigase/component/ComponenScriptCommandProcessor.java
  class ComponenScriptCommandProcessor (line 31) | @Bean(name = "scriptCommandProcessor", active = true)
    method getScriptItems (line 38) | @Override
    method processScriptCommand (line 43) | @Override
    method isAllowed (line 48) | @Override
    method isAllowed (line 53) | @Override

FILE: src/main/java/tigase/component/DSLBeanConfigurator.java
  class DSLBeanConfigurator (line 43) | @Bean(name = BeanConfigurator.DEFAULT_CONFIGURATOR_NAME, active = true)
    method getConfiguration (line 52) | @Override
    method getProperties (line 63) | public Map<String, Object> getProperties() {
    method setProperties (line 67) | public void setProperties(Map<String, Object> props) {
    method getConfigHolder (line 71) | public ConfigHolder getConfigHolder() {
    method setConfigHolder (line 75) | public void setConfigHolder(ConfigHolder config) {
    method dumpConfiguration (line 80) | public void dumpConfiguration(File f) throws IOException {
    method dumpConfiguration (line 88) | public void dumpConfiguration(Writer writer) throws IOException {
    method hasDirectConfiguration (line 95) | protected boolean hasDirectConfiguration(BeanConfig beanConfig) {
    method getBeanConfigurationProperties (line 112) | protected Map<String, Object> getBeanConfigurationProperties(BeanConfi...
    method getFieldAliasses (line 155) | protected Map<String, String> getFieldAliasses(BeanConfig beanConfig) {
    method getBeanDefinitions (line 182) | @Override
    method dumpConfiguration (line 195) | private void dumpConfiguration(Map<String, Object> dump, Kernel kernel) {
    method dumpConfigFromSubBeans (line 289) | private void dumpConfigFromSubBeans(BeanDefinition beanDef, Kernel ker...
    method getBeanDefinitionFromDump (line 403) | private BeanDefinition getBeanDefinitionFromDump(Map<String, Object> d...

FILE: src/main/java/tigase/component/DSLBeanConfiguratorWithBackwardCompatibility.java
  class DSLBeanConfiguratorWithBackwardCompatibility (line 38) | public class DSLBeanConfiguratorWithBackwardCompatibility
    method configure (line 44) | @Override
    method getBeanConfigurationProperties (line 100) | public Map<String, Object> getBeanConfigurationProperties(BeanConfig b...
    method fillProps (line 104) | private void fillProps(BeanConfig beanConfig, Map<String, Object> resu...
    method getPropertyAtPath (line 109) | private <T> T getPropertyAtPath(String... path) {

FILE: src/main/java/tigase/component/PacketWriter.java
  type PacketWriter (line 30) | public interface PacketWriter {
    method write (line 37) | void write(Collection<Packet> packets);
    method write (line 44) | void write(final Packet packet);
    method write (line 46) | public void write(Packet packet, AsyncCallback callback);

FILE: src/main/java/tigase/component/ScheduledTask.java
  class ScheduledTask (line 36) | public abstract class ScheduledTask
    method ScheduledTask (line 53) | public ScheduledTask(Duration delay, Duration period) {
    method beanConfigurationChanged (line 58) | @Override
    method initialize (line 66) | @Override
    method beforeUnregister (line 89) | @Override

FILE: src/main/java/tigase/component/adhoc/AdHocCommand.java
  type AdHocCommand (line 27) | public interface AdHocCommand {
    method execute (line 29) | void execute(final AdhHocRequest request, AdHocResponse response) thro...
    method execute (line 31) | default void execute(final AdhHocRequest request, AdHocResponse respon...
    method getName (line 36) | String getName();
    method getNode (line 38) | String getNode();
    method getGroup (line 40) | default Optional<String> getGroup() {
    method isAllowedFor (line 44) | @TigaseDeprecated(since = "8.5.0", removeIn = "9.0.0")
    method isAllowedFor (line 48) | default boolean isAllowedFor(JID from, JID to) {
    method isForSelf (line 52) | default boolean isForSelf() {
    method getDefaultACL (line 56) | default CmdAcl getDefaultACL() {

FILE: src/main/java/tigase/component/adhoc/AdHocCommandException.java
  class AdHocCommandException (line 23) | public class AdHocCommandException
    method AdHocCommandException (line 36) | public AdHocCommandException(final Authorization errorCondition) {
    method AdHocCommandException (line 40) | public AdHocCommandException(final Authorization errorCondition, Strin...
    method AdHocCommandException (line 44) | public AdHocCommandException(final Element item, final Authorization e...
    method AdHocCommandException (line 48) | public AdHocCommandException(final Element item, final Authorization e...
    method getCode (line 57) | public String getCode() {
    method getErrorCondition (line 61) | public Authorization getErrorCondition() {
    method getItem (line 68) | public Element getItem() {
    method getMessage (line 72) | @Override
    method getName (line 80) | public String getName() {
    method getType (line 87) | public String getType() {
    method makeElement (line 91) | public Element makeElement() {
    method makeElement (line 95) | public Element makeElement(boolean insertOriginal) {
    method makeElement (line 113) | public Element makeElement(Element sourceElement) {
    method makeErrorElement (line 119) | public Element makeErrorElement() {

FILE: src/main/java/tigase/component/adhoc/AdHocCommandManager.java
  class AdHocCommandManager (line 38) | @Bean(name = "adHocCommandManager", active = true)
    method getAllCommands (line 48) | public Collection<AdHocCommand> getAllCommands() {
    method setAllCommands (line 52) | public void setAllCommands(AdHocCommand[] allCommands) {
    method getCommand (line 62) | public AdHocCommand getCommand(String nodeName) {
    method hasCommand (line 73) | public boolean hasCommand(String node) {
    method process (line 77) | public void process(Packet packet, Consumer<Packet> resultConsumer) th...
    method process (line 104) | public void process(Packet packet, Element commandElement, String node...
    method registerCommand (line 142) | public void registerCommand(AdHocCommand command) {

FILE: src/main/java/tigase/component/adhoc/AdHocResponse.java
  class AdHocResponse (line 29) | public class AdHocResponse {
    method AdHocResponse (line 36) | AdHocResponse(String sessionid, State currState) {
    method cancelSession (line 41) | public void cancelSession() {
    method completeSession (line 45) | public void completeSession() {
    method getElements (line 49) | public Collection<Element> getElements() {
    method addDataForm (line 53) | public Element addDataForm(Command.DataType dataType) {
    method addDataForm (line 59) | public Element addDataForm(Command.DataType dataType, Consumer<Element...
    method startSession (line 65) | public void startSession() {
    method getCurrentState (line 70) | State getCurrentState() {
    method getNewState (line 74) | public State getNewState() {
    method setNewState (line 78) | public void setNewState(State newState) {
    method getSessionid (line 82) | String getSessionid() {
    method setSessionid (line 86) | void setSessionid(String sessionid) {
    type State (line 90) | public static enum State {

FILE: src/main/java/tigase/component/adhoc/AdHocScriptCommandManager.java
  type AdHocScriptCommandManager (line 29) | public interface AdHocScriptCommandManager {
    method getCommandListItems (line 31) | List<Element> getCommandListItems(final JID senderJid, final JID toJid);
    method process (line 33) | List<Packet> process(Packet packet);

FILE: src/main/java/tigase/component/adhoc/AdHocSession.java
  class AdHocSession (line 20) | public class AdHocSession {

FILE: src/main/java/tigase/component/adhoc/AdhHocRequest.java
  class AdhHocRequest (line 24) | public class AdhHocRequest {
    method AdhHocRequest (line 38) | AdhHocRequest(Packet iq, Element command, String node, JID sender, Str...
    method getAction (line 48) | public String getAction() {
    method isAction (line 52) | public boolean isAction(String action) {
    method getCommand (line 56) | public Element getCommand() {
    method getIq (line 60) | public Packet getIq() {
    method getNode (line 64) | public String getNode() {
    method getSender (line 68) | public JID getSender() {
    method getRecipient (line 72) | public JID getRecipient() {
    method getSessionId (line 76) | public String getSessionId() {

FILE: src/main/java/tigase/component/exceptions/ComponentException.java
  class ComponentException (line 23) | public class ComponentException
    method ComponentException (line 26) | public ComponentException(Authorization errorCondition) {
    method ComponentException (line 30) | public ComponentException(Authorization errorCondition, String text) {
    method ComponentException (line 34) | public ComponentException(Authorization errorCondition, String text, T...
    method ComponentException (line 38) | public ComponentException(Authorization errorCondition, String text, S...
    method ComponentException (line 42) | public ComponentException(Authorization errorCondition, String text, S...

FILE: src/main/java/tigase/component/exceptions/RepositoryException.java
  class RepositoryException (line 20) | public class RepositoryException
    method RepositoryException (line 25) | public RepositoryException() {
    method RepositoryException (line 29) | public RepositoryException(String message) {
    method RepositoryException (line 33) | public RepositoryException(String message, Throwable cause) {
    method RepositoryException (line 37) | public RepositoryException(Throwable cause) {

FILE: src/main/java/tigase/component/modules/AbstractModule.java
  class AbstractModule (line 35) | public abstract class AbstractModule
    method getEventBus (line 44) | public EventBus getEventBus() {
    method setEventBus (line 48) | public void setEventBus(EventBus eventBus) {
    method getWriter (line 52) | public PacketWriter getWriter() {
    method setWriter (line 56) | public void setWriter(PacketWriter writer) {
    method fireEvent (line 65) | protected void fireEvent(Element event) {
    method write (line 69) | protected void write(Packet packet) {
    method write (line 73) | protected void write(Packet packet, AsyncCallback asyncCallback) {

FILE: src/main/java/tigase/component/modules/Module.java
  type Module (line 31) | public interface Module {
    method getFeatures (line 40) | default String[] getFeatures() {
    method getModuleCriteria (line 49) | Criteria getModuleCriteria();
    method canHandle (line 54) | default boolean canHandle(Packet packet) {
    method process (line 68) | void process(final Packet packet) throws ComponentException, TigaseStr...

FILE: src/main/java/tigase/component/modules/StanzaProcessor.java
  class StanzaProcessor (line 41) | @Bean(name = "stanzaProcessor", active = true)
    method getModules (line 57) | public List<Module> getModules() {
    method setModules (line 61) | public void setModules(List<Module> modules) {
    method getResponseManager (line 67) | public ResponseManager getResponseManager() {
    method setResponseManager (line 71) | public void setResponseManager(ResponseManager responseManager) {
    method getWriter (line 75) | public PacketWriter getWriter() {
    method setWriter (line 79) | public void setWriter(PacketWriter writer) {
    method processPacket (line 83) | public void processPacket(Packet packet) {
    method sendException (line 135) | public void sendException(final Packet packet, final ComponentExceptio...
    method shouldSendException (line 157) | protected boolean shouldSendException(final Packet packet) {
    method everyHour (line 175) | public void everyHour() {
    method everyMinute (line 179) | public void everyMinute() {
    method everySecond (line 183) | public void everySecond() {
    method getStatistics (line 187) | @Override
    method process (line 194) | private boolean process(final Packet packet) throws ComponentException...
    method execute (line 215) | private void execute(Module module, Packet packet) throws ComponentExc...
    class ModuleStatistics (line 232) | public static class ModuleStatistics extends StatisticsInvocationHandl...
      method generateModuleName (line 234) | private static String generateModuleName(Module module) {
      method ModuleStatistics (line 238) | public ModuleStatistics(Module module) {

FILE: src/main/java/tigase/component/modules/impl/AdHocCommandModule.java
  class AdHocCommandModule (line 41) | @Bean(name = AdHocCommandModule.ID, active = true)
    method AdHocCommandModule (line 56) | public AdHocCommandModule() {
    method getCommandListItems (line 60) | public List<Element> getCommandListItems(final JID senderJid, final JI...
    method getCommandsManager (line 66) | public AdHocCommandManager getCommandsManager() {
    method setCommandsManager (line 70) | public void setCommandsManager(AdHocCommandManager commandsManager) {
    method getFeatures (line 74) | @Override
    method getModuleCriteria (line 79) | @Override
    method getScriptItems (line 84) | public List<Element> getScriptItems(String node, JID stanzaTo, JID sta...
    method addCommandListItemsElements (line 92) | public void addCommandListItemsElements(String node, JID stanzaTo, fin...
    method getScriptProcessor (line 116) | public ScriptCommandProcessor getScriptProcessor() {
    method setScriptProcessor (line 120) | public void setScriptProcessor(ScriptCommandProcessor scriptProcessor) {
    method initialize (line 124) | @Override
    method process (line 131) | @Override
    method register (line 145) | public void register(AdHocCommand command) {
    method processScriptAdHoc (line 149) | protected void processScriptAdHoc(Packet packet) {
    type ScriptCommandProcessor (line 159) | public static interface ScriptCommandProcessor {
      method getScriptItems (line 161) | List<Element> getScriptItems(String node, JID jid, JID from);
      method processScriptCommand (line 163) | boolean processScriptCommand(Packet pc, Queue<Packet> results);
      method isAllowed (line 165) | boolean isAllowed(String node, JID from);
      method isAllowed (line 167) | boolean isAllowed(String node, String domain, JID from);

FILE: src/main/java/tigase/component/modules/impl/DiscoveryModule.java
  class DiscoveryModule (line 45) | @Bean(name = DiscoveryModule.ID, active = true)
    method DiscoveryModule (line 68) | public DiscoveryModule() {
    method getAdHocCommandModule (line 74) | public AdHocCommandModule getAdHocCommandModule() {
    method setAdHocCommandModule (line 78) | public void setAdHocCommandModule(AdHocCommandModule adHocCommandModul...
    method getAvailableFeatures (line 82) | public Set<String> getAvailableFeatures(BareJID serviceJID, String nod...
    method getAvailableFeatures (line 86) | public Set<String> getAvailableFeatures() {
    method getFeatures (line 99) | @Override
    method getModuleCriteria (line 104) | @Override
    method getModules (line 109) | public List<Module> getModules() {
    method setModules (line 113) | public void setModules(List<Module> modules) {
    method process (line 117) | @Override
    method processAdHocCommandItems (line 142) | protected void processAdHocCommandItems(Packet packet, JID jid, String...
    method processDiscoInfo (line 158) | protected void processDiscoInfo(Packet packet, JID jid, String node, J...
    method prepareDiscoInfoReponse (line 164) | @Deprecated
    method prepareDiscoInfoResponse (line 170) | protected Packet prepareDiscoInfoResponse(Packet packet, JID jid, Stri...
    method prepareDiscoItems (line 187) | protected List<Element> prepareDiscoItems(JID jid, String node, JID se...
    method processDiscoItems (line 191) | protected void processDiscoItems(Packet packet, JID jid, String node, ...

FILE: src/main/java/tigase/component/modules/impl/JabberVersionModule.java
  class JabberVersionModule (line 30) | @Bean(name = JabberVersionModule.ID, active = true)
    method JabberVersionModule (line 40) | public JabberVersionModule() {
    method getFeatures (line 43) | @Override
    method getModuleCriteria (line 48) | @Override
    method process (line 53) | @Override

FILE: src/main/java/tigase/component/modules/impl/XmppPingModule.java
  class XmppPingModule (line 28) | @Bean(name = XmppPingModule.ID, active = true)
    method XmppPingModule (line 36) | public XmppPingModule() {
    method getFeatures (line 39) | @Override
    method getModuleCriteria (line 44) | @Override
    method process (line 49) | @Override

FILE: src/main/java/tigase/component/modules/impl/config/ConfiguratorCommand.java
  class ConfiguratorCommand (line 49) | @Bean(name = "BeanConfiguratorAdHocCommand", active = true)
    method execute (line 63) | @Override
    method getName (line 153) | @Override
    method getNode (line 158) | @Override
    method isAllowedFor (line 163) | @Override
    method getConfigItems (line 168) | private ArrayList<ConfigFieldItem> getConfigItems(final String beanNam...
    method getConfigurableBeansNames (line 192) | private ArrayList<String> getConfigurableBeansNames() {
    class ConfigFieldItem (line 208) | private class ConfigFieldItem
      method compareTo (line 215) | @Override

FILE: src/main/java/tigase/component/responses/AsyncCallback.java
  type AsyncCallback (line 29) | public interface AsyncCallback {
    method onError (line 37) | void onError(Packet responseStanza, String errorCondition);
    method onSuccess (line 44) | void onSuccess(Packet responseStanza);
    method onTimeout (line 49) | void onTimeout();

FILE: src/main/java/tigase/component/responses/DefaultResponseHandler.java
  class DefaultResponseHandler (line 23) | public class DefaultResponseHandler
    method DefaultResponseHandler (line 30) | public DefaultResponseHandler(Packet packet, ResponseManager.Entry ent...
    method run (line 35) | @Override

FILE: src/main/java/tigase/component/responses/ResponseManager.java
  class ResponseManager (line 27) | @Bean(name = "responseManager", active = true)
    method checkTimeouts (line 34) | public void checkTimeouts() {
    method getResponseHandler (line 53) | public Runnable getResponseHandler(final Packet element) {
    method registerResponseHandler (line 91) | public String registerResponseHandler(final Packet stanza, final Long ...
    method getHandlers (line 110) | protected Map<String, Entry> getHandlers() {
    method verify (line 114) | private boolean verify(final Packet response, final Entry entry) {
    class Entry (line 125) | protected static final class Entry {
      method Entry (line 135) | public Entry(JID jid, long timestamp, long timeout, AsyncCallback ca...
      method getCallback (line 143) | AsyncCallback getCallback() {
      method getJid (line 147) | JID getJid() {
      method getTimeout (line 151) | long getTimeout() {
      method getTimestamp (line 155) | long getTimestamp() {

FILE: src/main/java/tigase/conf/AbstractConfigBuilder.java
  class AbstractConfigBuilder (line 29) | public class AbstractConfigBuilder<T extends Map, S extends AbstractConf...
    method AbstractConfigBuilder (line 33) | protected AbstractConfigBuilder(T map) {
    method bean (line 37) | public AbstractBeanConfigurator.BeanDefinition.Builder bean() {
    method property (line 41) | public void property(String key, Object value) {
    method build (line 45) | public T build() {
    method with (line 49) | public S with(AbstractBeanConfigurator.BeanDefinition... beans) {
    method with (line 56) | public S with(String property, Optional optional) {
    method with (line 63) | public S with(String property, Object value) {
    method withBean (line 71) | public S withBean(Consumer<AbstractBeanConfigurator.BeanDefinition.Bui...

FILE: src/main/java/tigase/conf/ConfigBuilder.java
  class ConfigBuilder (line 25) | public class ConfigBuilder
    method ConfigBuilder (line 28) | public ConfigBuilder() {

FILE: src/main/java/tigase/conf/ConfigHelper.java
  class ConfigHelper (line 28) | public class ConfigHelper {
    method merge (line 30) | public static Map<String, Object> merge(Map<String, Object>... props) {
    method mergeConfigs (line 45) | private static void mergeConfigs(Map<String, Object> result, Map<Strin...

FILE: src/main/java/tigase/conf/ConfigHolder.java
  class ConfigHolder (line 70) | public class ConfigHolder {
    method backupOldConfigFile (line 81) | public static Path backupOldConfigFile(Path initPropsFile) throws IOEx...
    method main (line 94) | public static void main(String[] args) throws Exception {
    method putIfAbsent (line 126) | private static void putIfAbsent(Map<String, Object> props, String newK...
    method removeIfExistsAnd (line 148) | public static void removeIfExistsAnd(Map<String, Object> props, String...
    method renameIfExists (line 158) | public static Optional renameIfExists(Map<String, Object> props, Strin...
    method upgradeConfig (line 168) | private static void upgradeConfig(Properties props) throws Exception {
    method upgradeDSL (line 200) | protected static boolean upgradeDSL(Map<String, Object> props) {
    method loadConfiguration (line 668) | public Optional<String[]> loadConfiguration(String[] args) throws IOEx...
    method getProperties (line 720) | public Map<String, Object> getProperties() {
    method setProperties (line 724) | public void setProperties(Map<String, Object> props) {
    method saveToDSLFile (line 728) | public void saveToDSLFile(File f) throws IOException {
    method getConfigFilePath (line 732) | public Path getConfigFilePath() {
    method loadFromDSLFiles (line 736) | private void loadFromDSLFiles() throws IOException, ConfigReader.Confi...
    method fixShutdownThreadIssue (line 742) | private void fixShutdownThreadIssue() {
    method stringToStreamOfStrings (line 754) | private static Stream<String> stringToStreamOfStrings(String val) {
    method stringToListOfStrings (line 758) | private static List<String> stringToListOfStrings(String val) {
    method convertToListOfStringsIfString (line 762) | private static Object convertToListOfStringsIfString(Object val) {

FILE: src/main/java/tigase/conf/ConfigItem.java
  class ConfigItem (line 33) | public class ConfigItem
    type FLAGS (line 64) | public enum FLAGS {
    method addCommandFields (line 78) | @Override
    method getClusterNode (line 103) | public String getClusterNode() {
    method getCompName (line 107) | public String getCompName() {
    method getConfigKey (line 115) | public String getConfigKey() {
    method getConfigVal (line 122) | public Object getConfigVal() {
    method getConfigValToString (line 126) | public String getConfigValToString() {
    method getElemName (line 130) | @Override
    method getFlag (line 135) | public FLAGS getFlag() {
    method getKey (line 145) | @Override
    method setKey (line 150) | protected void setKey(String key) {
    method getKeyName (line 157) | public String getKeyName() {
    method getNodeName (line 161) | public String getNodeName() {
    method initFromCommand (line 165) | @Override
    method initFromElement (line 192) | @Override
    method initFromPropertyString (line 197) | @Override
    method isCompNodeKey (line 232) | public boolean isCompNodeKey(String comp, String node, String key) {
    method equals (line 236) | @Override
    method hashCode (line 245) | @Override
    method isComponent (line 254) | public boolean isComponent(String comp) {
    method isKey (line 266) | public boolean isKey(String key) {
    method isNode (line 278) | public boolean isNode(String node) {
    method isNodeKey (line 292) | public boolean isNodeKey(String node, String key) {
    method set (line 296) | public void set(String clusterNode_m, String compName_m, String nodeNa...
    method set (line 310) | public void set(String clusterNode_m, String compName_m, String nodeNa...
    method set (line 333) | public void set(String compName_m, String nodeName_m, String key_m, St...
    method set (line 338) | public void set(String compName, String nodeName, String key, Object v...
    method set (line 342) | public void set(String clusterNode, String compName, String nodeName, ...
    method setNodeKey (line 346) | public void setNodeKey(String clusterNode, String compName, String nod...
    method toElement (line 374) | @Override
    method toPropertyString (line 393) | @Override
    method toString (line 404) | @Override

FILE: src/main/java/tigase/conf/ConfigReader.java
  class ConfigReader (line 31) | public class ConfigReader {
    type State (line 36) | public static enum State {
    method flatTree (line 50) | public static Map<String, Object> flatTree(Map<String, Object> props) {
    method flatTree (line 61) | private static void flatTree(Map<String, Object> result, String prefix...
    method ConfigReader (line 83) | public ConfigReader() {
    method read (line 87) | public Map<String, Object> read(Reader reader) throws IOException, Con...
    method read (line 93) | public Map<String, Object> read(File f) throws IOException, ConfigExce...
    method decodeValue (line 103) | protected Object decodeValue(String string_in) {
    method setBeanDefinitionValue (line 144) | protected void setBeanDefinitionValue(Object val) {
    method process (line 166) | private Map<String, Object> process(Reader reader) throws IOException,...
    type Variable (line 472) | public interface Variable {
      method calculateValue (line 474) | Object calculateValue();
    class AbstractEnvironmentPropertyVariable (line 478) | public static abstract class AbstractEnvironmentPropertyVariable
      method AbstractEnvironmentPropertyVariable (line 484) | protected AbstractEnvironmentPropertyVariable() {
      method AbstractEnvironmentPropertyVariable (line 487) | protected AbstractEnvironmentPropertyVariable(String name, String de...
      method equals (line 492) | @Override
      method getName (line 506) | protected String getName() {
      method setName (line 510) | protected void setName(String name) {
      method getDefValue (line 514) | protected String getDefValue() {
      method setDefValue (line 518) | protected void setDefValue(String defValue) {
    class CompositeVariable (line 523) | public static class CompositeVariable
      type Operation (line 526) | public enum Operation {
        method execute (line 532) | public Number execute(Number arg1, Number arg2) {
      method calculateValue (line 592) | @Override
      method add (line 650) | public void add(Object value) {
      method add (line 654) | public void add(char operation, Object value) {
      method getArguments (line 679) | public List<Object> getArguments() {
      method getOperations (line 683) | public List<Operation> getOperations() {
      method equals (line 687) | @Override
    class ConfigException (line 715) | public static class ConfigException
      method ConfigException (line 718) | public ConfigException(String msg) {
      method ConfigException (line 722) | public ConfigException(String msg, Throwable cause) {
    class EnvironmentVariable (line 727) | public static class EnvironmentVariable
      method EnvironmentVariable (line 730) | public EnvironmentVariable() {
      method EnvironmentVariable (line 733) | public EnvironmentVariable(String name, String defValue) {
      method calculateValue (line 737) | @Override
    class InvalidFormatException (line 748) | public static class InvalidFormatException
      method InvalidFormatException (line 751) | public InvalidFormatException(String msg) {
    class PropertyVariable (line 757) | public static class PropertyVariable
      method PropertyVariable (line 760) | public PropertyVariable() {
      method PropertyVariable (line 763) | public PropertyVariable(String name, String defValue) {
      method calculateValue (line 767) | @Override
    class UnsupportedOperationException (line 774) | public static class UnsupportedOperationException
      method UnsupportedOperationException (line 781) | public UnsupportedOperationException(String msg, int line, int posit...
      method getLine (line 788) | public int getLine() {
      method getPosition (line 792) | public int getPosition() {
      method getLineContent (line 796) | public String getLineContent() {
    class StateHolder (line 801) | public class StateHolder {

FILE: src/main/java/tigase/conf/ConfigRepositoryIfc.java
  type ConfigRepositoryIfc (line 31) | public interface ConfigRepositoryIfc
    method getProperties (line 42) | @Deprecated
    method getItemsForComponent (line 50) | Set<ConfigItem> getItemsForComponent(String compName);
    method putProperties (line 55) | @Deprecated
    method get (line 64) | Object get(String compName, String node, String key, Object def);
    method set (line 69) | void set(String compName, String node, String key, Object value);
    method getCompNames (line 75) | String[] getCompNames();
    method getKeys (line 81) | String[] getKeys(String compName, String node);
    method remove (line 86) | void remove(String compName, String node, String key);
    method addItem (line 92) | void addItem(String key, Object value) throws ConfigurationException;
    method setDefHostname (line 99) | void setDefHostname(String hostname);
    method getInitProperties (line 101) | Map<String, Object> getInitProperties();

FILE: src/main/java/tigase/conf/ConfigSQLRepository.java
  class ConfigSQLRepository (line 40) | @Deprecated
    method addItem (line 53) | @Override
    method allItems (line 58) | @Override
    method getCompNames (line 63) | @Override
    method getItem (line 68) | @Override
    method getItemsForComponent (line 73) | @Override
    method getKeys (line 78) | @Override
    method initRepository (line 83) | @Override
    method removeItem (line 117) | @Override
    method size (line 122) | @Override
    class JDBCAccess (line 127) | private class JDBCAccess {
      method initRepository (line 181) | public void initRepository(String conn_str, Map<String, String> para...
      method addItem (line 201) | private void addItem(ConfigItem item) {
      method checkDB (line 238) | private void checkDB() throws SQLException {
      method createItemFromRS (line 256) | private ConfigItem createItemFromRS(ResultSet rs) throws SQLException {
      method getAllItems (line 271) | private Collection<ConfigItem> getAllItems() {
      method getCompItems (line 301) | private Set<ConfigItem> getCompItems(String compName) {
      method getComponentNames (line 332) | private String[] getComponentNames() {
      method getItem (line 358) | private ConfigItem getItem(String compName, String node, String key) {
      method getKeys (line 393) | private String[] getKeys(String compName, String node) {
      method getPropertiesCount (line 421) | private int getPropertiesCount() {
      method removeItem (line 448) | private void removeItem(ConfigItem item) {

FILE: src/main/java/tigase/conf/ConfigWriter.java
  class ConfigWriter (line 34) | public class ConfigWriter {
    method buildTree (line 40) | public static Map<String, Object> buildTree(Map<String, Object> props) {
    method hasRestrictedChars (line 93) | public static boolean hasRestrictedChars(String str) {
    method ConfigWriter (line 102) | public ConfigWriter() {
    method resolveVariables (line 105) | public ConfigWriter resolveVariables() {
    method write (line 110) | public void write(File f, Map<String, Object> props) throws IOException {
    method write (line 116) | public void write(Writer writer, Map<String, Object> props) throws IOE...
    method writeObject (line 120) | private void writeObject(Writer writer, Object obj) throws IOException {
    method writeObject (line 124) | private void writeObject(Writer writer, Object obj, String newLine) th...
    method writeMap (line 297) | private void writeMap(Writer writer, Map<String, Object> map) throws I...
    method writeIndent (line 363) | private void writeIndent(Writer writer) throws IOException {
    method writeList (line 369) | private void writeList(Writer writer, List list) throws IOException {
    method writeListSimple (line 385) | private void writeListSimple(Writer writer, List list) throws IOExcept...
    method writeString (line 397) | private void writeString(Writer writer, String str) throws IOException {

FILE: src/main/java/tigase/conf/ConfigXMLRepository.java
  class ConfigXMLRepository (line 39) | public class ConfigXMLRepository
    method getConfigRepository (line 56) | public static ConfigXMLRepository getConfigRepository() throws XMLDBEx...
    method getConfigRepository (line 60) | public static ConfigXMLRepository getConfigRepository(final String fil...
    method getConfigRepository (line 64) | public static ConfigXMLRepository getConfigRepository(final boolean de...
    method ConfigXMLRepository (line 87) | public ConfigXMLRepository() {
    method ConfigXMLRepository (line 90) | private ConfigXMLRepository(final boolean debug) throws XMLDBException {
    method ConfigXMLRepository (line 96) | private ConfigXMLRepository(final boolean debug, final String file) th...
    method addItem (line 101) | @Override
    method allItems (line 121) | @Override
    method getCompNames (line 135) | @Override
    method getItem (line 146) | @Override
    method getItemsForComponent (line 162) | @Override
    method getKeys (line 184) | @Override
    method initRepository (line 194) | @Override
    method nodeForPackage (line 205) | public String nodeForPackage(Class cls) {
    method removeItem (line 209) | @Override
    method size (line 220) | @Override
    method store (line 225) | @Override
    method addVals (line 235) | private void addVals(Set<ConfigItem> props, String compName, String no...
    method getSubnodes (line 252) | private void getSubnodes(List<String> result, String root, String node) {
    method getSubnodes (line 265) | private String[] getSubnodes(final String root, final String node) {
    method init (line 273) | private void init() throws XMLDBException {

FILE: src/main/java/tigase/conf/Configurable.java
  type Configurable (line 37) | public interface Configurable
    method getDefaults (line 622) | @Deprecated
    method setProperties (line 634) | @Deprecated

FILE: src/main/java/tigase/conf/ConfigurationCache.java
  class ConfigurationCache (line 36) | public class ConfigurationCache
    method addRepoChangeListener (line 56) | @Override
    method removeRepoChangeListener (line 61) | @Override
    method addItem (line 66) | public void addItem(String compName, ConfigItem item) {
    method addItemNoStore (line 86) | @Override
    method addItem (line 91) | @Override
    method addItem (line 96) | @Override
    method allItems (line 120) | @Override
    method contains (line 131) | @Override
    method destroy (line 136) | @Override
    method get (line 145) | @Override
    method getCompNames (line 156) | @Override
    method getDefHostname (line 161) | public String getDefHostname() {
    method setDefHostname (line 165) | @Override
    method getDefaults (line 170) | @Deprecated
    method getInitProperties (line 176) | @Override
    method getItem (line 181) | public ConfigItem getItem(String compName, String node, String key) {
    method getItem (line 195) | @Override
    method getItemInstance (line 216) | @Override
    method getItemsForComponent (line 221) | @Override
    method getKeys (line 226) | @Override
    method getProperties (line 243) | @Deprecated
    method initRepository (line 268) | @Override
    method iterator (line 275) | @Override
    method putProperties (line 288) | @Override
    method reload (line 298) | @Override
    method remove (line 304) | @Override
    method removeItem (line 313) | public void removeItem(String compName, ConfigItem item) {
    method removeItem (line 324) | @Override
    method removeItemNoStore (line 329) | @Override
    method set (line 338) | @Override
    method setProperties (line 349) | @Override
    method size (line 356) | @Override
    method store (line 367) | @Override
    method validateItem (line 389) | @Override
    method setAutoloadTimer (line 394) | @Override
    method isOff (line 398) | private boolean isOff(String str) {

FILE: src/main/java/tigase/conf/ConfigurationException.java
  class ConfigurationException (line 25) | public class ConfigurationException
    method ConfigurationException (line 33) | public ConfigurationException() {
    method ConfigurationException (line 38) | public ConfigurationException(String msg) {
    method ConfigurationException (line 42) | public ConfigurationException(String string, Exception e) {

FILE: src/main/java/tigase/conf/Configurator.java
  class Configurator (line 28) | public class Configurator
    method getDiscoDescription (line 33) | @Override
    method getDiscoCategoryType (line 38) | @Override
    method componentAdded (line 43) | @Override
    method updateMessageRouter (line 52) | public void updateMessageRouter() {

FILE: src/main/java/tigase/conf/ConfiguratorAbstract.java
  class ConfiguratorAbstract (line 49) | public abstract class ConfiguratorAbstract
    method getMXBean (line 118) | public static Object getMXBean(String objName) {
    method loadFromPropertiesFiles (line 126) | public static void loadFromPropertiesFiles(String property_filenames, ...
    method loadFromPropertiesFiles (line 193) | public static void loadFromPropertiesFiles(Map<String, Object> initPro...
    method loadLogManagerConfig (line 205) | public static void loadLogManagerConfig(String config) {
    method parseArgs (line 217) | public static void parseArgs(Map<String, Object> initProperties, List<...
    method putMXBean (line 248) | public static void putMXBean(String objName, Object bean) {
    method componentAdded (line 254) | @Override
    method componentRemoved (line 262) | @Override
    method init (line 266) | public void init(String[] args) throws ConfigurationException, TigaseD...
    method initBindings (line 334) | @Override
    method initializationCompleted (line 341) | @Override
    method itemAdded (line 365) | @Override
    method itemRemoved (line 373) | @Override
    method itemUpdated (line 381) | @Override
    method parseArgs (line 401) | public void parseArgs(final String[] args) {
    method putProperties (line 405) | public void putProperties(String compId, Map<String, Object> props) th...
    method setup (line 409) | public void setup(Configurable component) throws ConfigurationException {
    method getDefaults (line 465) | @Override
    method getDefConfigParams (line 620) | public Map<String, Object> getDefConfigParams() {
    method getMessageRouterClassName (line 624) | public String getMessageRouterClassName() {
    method getProperties (line 628) | public Map<String, Object> getProperties(String nodeId) throws Configu...
    method getStatistics (line 632) | @Override
    method isCorrectType (line 637) | @Override
    method setProperties (line 642) | @Override
    method addAuthRepo (line 722) | private void addAuthRepo(Map<String, Object> props, String domain)
    method addUserRepo (line 743) | private void addUserRepo(Map<String, Object> props, String domain)
    method initMonitoring (line 764) | private void initMonitoring(String settings, String configDir) {
    method parseAuthRepoParams (line 777) | private String[] parseAuthRepoParams(Entry<String, Object> entry, Map<...
    method parseUserRepoParams (line 812) | private String[] parseUserRepoParams(Entry<String, Object> entry, Map<...
    method setupLogManager (line 847) | private void setupLogManager(Map<String, Object> properties) {
    method getRepoParams (line 874) | private Map<String, String> getRepoParams(Map<String, Object> props, S...

FILE: src/main/java/tigase/conf/ConfiguratorOld.java
  class ConfiguratorOld (line 49) | public class ConfiguratorOld
    method getMXBean (line 74) | public static Object getMXBean(String objName) {
    method help (line 82) | private static String help() {
    method main (line 99) | public static void main(final String[] args) throws Exception {
    method objectToString (line 143) | private static String objectToString(Object value) {
    method print (line 223) | private static void print(String key, Object value) {
    method putMXBean (line 227) | public static void putMXBean(String objName, Object bean) {
    method ConfiguratorOld (line 233) | public ConfiguratorOld() {
    method componentAdded (line 236) | @Override
    method init (line 260) | @Override
    method initializationCompleted (line 317) | @Override
    method parseArgs (line 330) | @Override
    method processPacket (line 491) | @Override
    method setup (line 601) | public void setup(String name) throws ConfigurationException {
    method getAllProperties (line 607) | public Map<String, Object> getAllProperties(String key) throws Configu...
    method getComponents (line 632) | public String[] getComponents() {
    method getDefaults (line 636) | @Override
    method getDefConfigParams (line 645) | @Override
    method getDiscoFeatures (line 650) | @Override
    method getDiscoInfo (line 655) | @Override
    method getDiscoItems (line 664) | @Override
    method setName (line 681) | @Override
    method setProperties (line 705) | @Override
    method setPropertyValue (line 713) | public Object setPropertyValue(String key, String val, Packet result_p...
    method setValue (line 734) | public Object setValue(String node_key, String value, boolean add, boo...
    method checkComponentName (line 912) | private boolean checkComponentName(Packet result, String name) {
    method createNewComponent (line 937) | private void createNewComponent(Packet packet, Packet result, boolean ...
    method initMonitoring (line 1002) | private void initMonitoring(String settings, String configDir) {
    method newComponentCommand (line 1013) | private void newComponentCommand(Packet result) {
    method newComponentCommand (line 1043) | private void newComponentCommand(Packet packet, Packet result, boolean...
    method parseBoolean (line 1138) | private boolean parseBoolean(String val) {
    method prepareConfigData (line 1142) | private void prepareConfigData(Packet result, String comp_name) throws...
    method updateConfigChanges (line 1164) | private void updateConfigChanges(Packet packet, Packet result, String ...

FILE: src/main/java/tigase/conf/LoggingBean.java
  class LoggingBean (line 36) | public class LoggingBean
    method LoggingBean (line 58) | public LoggingBean() {
    method getPackageLoggingLevels (line 71) | public synchronized Map<String,Level> getPackageLoggingLevels() {
    method setPackageLoggingLevel (line 97) | public synchronized void setPackageLoggingLevel(String packageName, Le...
    method setLoggers (line 135) | public void setLoggers(HashMap<String, HashMap<String, Object>> logger...
    method setHandlers (line 146) | public void setHandlers(HashMap<String, HashMap<String, Object>> handl...
    method getPacketFullDebug (line 171) | public boolean getPacketFullDebug() {
    method setPacketFullDebug (line 175) | public void setPacketFullDebug(boolean packetFullDebug) {
    method beanConfigurationChanged (line 180) | @Override
    method isShutdownThreadDump (line 238) | public boolean isShutdownThreadDump() {
    method setShutdownThreadDump (line 242) | public void setShutdownThreadDump(boolean shutdownThreadDump) {

FILE: src/main/java/tigase/conf/MonitoringBeanIfc.java
  type MonitoringBeanIfc (line 23) | public interface MonitoringBeanIfc {

FILE: src/main/java/tigase/conf/MonitoringSetupIfc.java
  type MonitoringSetupIfc (line 25) | public interface MonitoringSetupIfc {
    type MONITOR (line 27) | public enum MONITOR {
    method initMonitoring (line 33) | void initMonitoring(String settings, String configDir);
    method initializationCompleted (line 35) | void initializationCompleted();
    method putMXBean (line 37) | void putMXBean(String objName, Object bean);
    method getMXBean (line 39) | Object getMXBean(String objName);

FILE: src/main/java/tigase/conf/OldConfigHolder.java
  class OldConfigHolder (line 52) | public class OldConfigHolder {
    type Format (line 56) | public enum Format {
    method getOutput (line 64) | public Optional<String[]> getOutput() {
    method convert (line 71) | public void convert(String[] args, Path tdslPath) throws IOException, ...
    method getProperties (line 117) | protected Map<String, Object> getProperties() {
    method detectPathAndFormat (line 121) | protected Format detectPathAndFormat() {
    method loadFromPropertyStrings (line 173) | protected Map<String, Object> loadFromPropertyStrings(List<String> set...
    method convertFromOldFormat (line 201) | protected void convertFromOldFormat() throws ConfigReader.ConfigExcept...
    method saveOldExternalComponentConfigItems (line 736) | public static void saveOldExternalComponentConfigItems(String[] compon...
    method logOutput (line 753) | private void logOutput(String msg, Object... args) {
    method loadFromPropertyFiles (line 764) | private void loadFromPropertyFiles() throws ConfigReader.ConfigExcepti...
    method stringToStreamOfStrings (line 772) | private Stream<String> stringToStreamOfStrings(String val) {
    method stringToListOfStrings (line 776) | private List<String> stringToListOfStrings(String val) {

FILE: src/main/java/tigase/conf/SetLoggingCommand.java
  class SetLoggingCommand (line 35) | public class SetLoggingCommand
    method SetLoggingCommand (line 44) | public SetLoggingCommand(Kernel kernel) {
    method getBindings (line 49) | @Override
    method runCommand (line 54) | @Override

FILE: src/main/java/tigase/db/AbstractAuthRepositoryWithCredentials.java
  class AbstractAuthRepositoryWithCredentials (line 29) | public abstract class AbstractAuthRepositoryWithCredentials
    method getPassword (line 37) | @Override
    method isMechanismSupported (line 53) | @Override
    method setCredentialsCodecs (line 64) | @Override
    method getCredentialsDecoder (line 70) | protected CredentialsDecoderBean getCredentialsDecoder() {
    method getCredentialsEncoder (line 74) | protected CredentialsEncoderBean getCredentialsEncoder() {

FILE: src/main/java/tigase/db/AuthRepository.java
  type AuthRepository (line 46) | public interface AuthRepository
    type AccountStatus (line 115) | enum AccountStatus {
      method isInactive (line 135) | public boolean isInactive() {
      method byValue (line 141) | public static AccountStatus byValue(int value) {
      method AccountStatus (line 150) | AccountStatus(int value) {
      method getValue (line 154) | public int getValue() {
    method addUser (line 159) | void addUser(BareJID user, String password) throws TigaseDBException;
    method getAccountStatus (line 161) | AccountStatus getAccountStatus(BareJID user) throws TigaseDBException;
    method getCredentials (line 163) | default Credentials getCredentials(BareJID user, String credentialId) ...
    method getPassword (line 171) | @Deprecated
    method getResourceUri (line 180) | String getResourceUri();
    method getCredentialIds (line 182) | default Collection<String> getCredentialIds(BareJID user) throws Tigas...
    method getUsernames (line 186) | @Deprecated
    method getActiveUsersCountIn (line 197) | long getActiveUsersCountIn(Duration duration);
    method getUsersCount (line 204) | long getUsersCount();
    method getUsersCount (line 214) | long getUsersCount(String domain);
    method isMechanismSupported (line 216) | default boolean isMechanismSupported(String domain, String mechanism) {
    method isUserDisabled (line 220) | @Deprecated
    method loggedIn (line 234) | void loggedIn(BareJID jid) throws TigaseDBException;
    method logout (line 236) | void logout(BareJID user) throws TigaseDBException;
    method otherAuth (line 238) | @Deprecated
    method queryAuth (line 248) | @Deprecated
    method removeCredential (line 252) | default void removeCredential(BareJID user, String credentialId) throw...
    method removeUser (line 256) | void removeUser(BareJID user) throws TigaseDBException;
    method setAccountStatus (line 258) | void setAccountStatus(BareJID user, AccountStatus status) throws Tigas...
    method setCredentialsCodecs (line 260) | default void setCredentialsCodecs(CredentialsEncoderBean encoder, Cred...
    method setUserDisabled (line 264) | @Deprecated
    method updateCredential (line 273) | default void updateCredential(BareJID user, String credentialId, Strin...
    method updateCredential (line 278) | default void updateCredential(BareJID user, String credentialId, Strin...
    method updatePassword (line 282) | @Deprecated
    class DefaultCredentials (line 286) | class DefaultCredentials
      method DefaultCredentials (line 295) | public DefaultCredentials(BareJID user, AccountStatus accountStatus,...
      method getEntryForMechanism (line 303) | @Override
      method canLogin (line 317) | @Override
      method getFirst (line 322) | @Override
      method getUser (line 337) | @Override
      method isAccountDisabled (line 342) | public boolean isAccountDisabled() {
      method getAccountStatus (line 346) | @Override
      class RawEntry (line 351) | public static class RawEntry
        method RawEntry (line 357) | public RawEntry(String mechanism, String value) {
        method getMechanism (line 362) | public String getMechanism() {
        method getValue (line 366) | public String getValue() {
      method toString (line 372) | @Override
    class SingleCredential (line 382) | class SingleCredential
      method SingleCredential (line 389) | public SingleCredential(BareJID user, AccountStatus accountStatus, C...
      method getEntryForMechanism (line 395) | @Override
      method getFirst (line 403) | @Override
      method canLogin (line 408) | @Override
      method getUser (line 413) | @Override
      method isAccountDisabled (line 418) | @Override
      method getAccountStatus (line 423) | @Override
      method toString (line 428) | @Override
    class PasswordChangedEvent (line 437) | public static class PasswordChangedEvent implements EventBusEvent {
      method PasswordChangedEvent (line 443) | public PasswordChangedEvent(@NonNull BareJID jid, @NonNull String cr...
      method getJid (line 449) | public @NonNull BareJID getJid() {
      method getCredentialId (line 453) | public @NonNull String getCredentialId() {
      method getMechanism (line 461) | public @Nullable String getMechanism() {

FILE: src/main/java/tigase/db/AuthRepositoryImpl.java
  class AuthRepositoryImpl (line 44) | public class AuthRepositoryImpl
    method AuthRepositoryImpl (line 60) | public AuthRepositoryImpl(UserRepository repo) {
    method loggedIn (line 64) | @Override
    method addUser (line 69) | @Override
    method isMechanismSupported (line 77) | @Override
    method getResourceUri (line 86) | @Override
    method getActiveUsersCountIn (line 91) | @Override
    method getUsersCount (line 96) | @Override
    method getUsersCount (line 101) | @Override
    method initRepository (line 106) | @Override
    method logout (line 111) | @Override
    method otherAuth (line 115) | @Override
    method queryAuth (line 149) | @Override
    method removeUser (line 161) | @Override
    method updatePassword (line 168) | @Override
    method getPassword (line 173) | public String getPassword(BareJID user) throws UserNotFoundException, ...
    method getAccountStatus (line 177) | @Override
    method isUserDisabled (line 183) | @Override
    method setAccountStatus (line 194) | @Override
    method setUserDisabled (line 203) | @Override
    method digestAuth (line 211) | private boolean digestAuth(BareJID user, final String digest, final St...
    method plainAuth (line 228) | private boolean plainAuth(BareJID user, final String password) throws ...
    method saslAuth (line 239) | private boolean saslAuth(final Map<String, Object> props) throws Autho...
    class SaslCallbackHandler (line 279) | private class SaslCallbackHandler
      method SaslCallbackHandler (line 284) | private SaslCallbackHandler(final Map<String, Object> options) {
      method handle (line 288) | @Override

FILE: src/main/java/tigase/db/AuthRepositoryMDImpl.java
  class AuthRepositoryMDImpl (line 38) | public abstract class AuthRepositoryMDImpl
    method AuthRepositoryMDImpl (line 46) | public AuthRepositoryMDImpl() {
    method addUser (line 50) | @Override
    method getAccountStatus (line 63) | @Override
    method getCredentials (line 76) | @Override
    method getPassword (line 89) | @Override
    method getResourceUri (line 102) | @Override
    method getCredentialIds (line 107) | @Override
    method getActiveUsersCountIn (line 120) | @Override
    method getUsersCount (line 133) | @Override
    method getUsersCount (line 138) | @Override
    method initRepository (line 151) | @Override
    method isMechanismSupported (line 156) | @Override
    method isUserDisabled (line 167) | @Override
    method loggedIn (line 180) | public void loggedIn(BareJID user) throws TigaseDBException {
    method logout (line 191) | @Override
    method otherAuth (line 203) | @Override
    method queryAuth (line 220) | @Override
    method removeCredential (line 232) | @Override
    method removeUser (line 245) | @Override
    method setAccountStatus (line 260) | @Override
    method setUserDisabled (line 272) | @Override
    method updateCredential (line 284) | @Override
    method updateCredential (line 297) | @Override
    method updatePassword (line 311) | @Override

FILE: src/main/java/tigase/db/AuthRepositoryPool.java
  class AuthRepositoryPool (line 40) | public class AuthRepositoryPool
    method addRepo (line 47) | public void addRepo(AuthRepository repo) {
    method addUser (line 51) | @Override
    method getAccountStatus (line 66) | @Override
    method getCredentials (line 82) | @Override
    method getPassword (line 98) | @Override
    method getResourceUri (line 114) | @Override
    method getActiveUsersCountIn (line 131) | @Override
    method getCredentialIds (line 148) | @Override
    method getUsersCount (line 164) | @Override
    method getUsersCount (line 181) | @Override
    method initRepository (line 198) | @Override
    method isMechanismSupported (line 203) | @Override
    method isUserDisabled (line 219) | @Override
    method loggedIn (line 235) | @Override
    method logout (line 250) | @Override
    method otherAuth (line 265) | @Override
    method queryAuth (line 283) | @Override
    method removeCredential (line 298) | @Override
    method removeUser (line 313) | @Override
    method setAccountStatus (line 328) | @Override
    method setUserDisabled (line 343) | @Override
    method takeRepo (line 358) | public AuthRepository takeRepo() {
    method updateCredential (line 368) | @Override
    method updateCredential (line 383) | @Override
    method updatePassword (line 399) | @Override

FILE: src/main/java/tigase/db/AuthorizationException.java
  class AuthorizationException (line 27) | public class AuthorizationException
    method AuthorizationException (line 35) | public AuthorizationException() {
    method AuthorizationException (line 39) | public AuthorizationException(String message) {
    method AuthorizationException (line 43) | public AuthorizationException(String message, Throwable cause) {

FILE: src/main/java/tigase/db/DBInitException.java
  class DBInitException (line 27) | public class DBInitException
    method DBInitException (line 32) | public DBInitException(String message) {
    method DBInitException (line 36) | public DBInitException(String message, Throwable cause) {

FILE: src/main/java/tigase/db/DataOverwriteException.java
  class DataOverwriteException (line 26) | public class DataOverwriteException
    method DataOverwriteException (line 34) | public DataOverwriteException(String message) {
    method DataOverwriteException (line 41) | public DataOverwriteException(String message, Throwable cause) {

FILE: src/main/java/tigase/db/DataRepository.java
  type DataRepository (line 36) | public interface DataRepository
    type dbTypes (line 44) | public static enum dbTypes {
    method checkTable (line 65) | boolean checkTable(String tableName) throws SQLException;
    method checkTable (line 79) | boolean checkTable(String tableName, String createTableQuery) throws S...
    method commit (line 87) | void commit() throws SQLException;
    method createStatement (line 99) | Statement createStatement(BareJID user_id) throws SQLException;
    method endTransaction (line 106) | void endTransaction() throws SQLException;
    method initPreparedStatement (line 116) | void initPreparedStatement(String stIdKey, String query) throws SQLExc...
    method initPreparedStatement (line 127) | void initPreparedStatement(String stIdKey, String query, int autoGener...
    method release (line 136) | void release(Statement stmt, ResultSet rs);
    method releaseRepoHandle (line 138) | void releaseRepoHandle(DataRepository repo);
    method rollback (line 146) | void rollback() throws SQLException;
    method startTransaction (line 153) | void startTransaction() throws SQLException;
    method takeRepoHandle (line 164) | DataRepository takeRepoHandle(BareJID user_id);
    method getDatabaseType (line 171) | dbTypes getDatabaseType();
    method getPoolSize (line 173) | int getPoolSize();
    method getPreparedStatement (line 185) | PreparedStatement getPreparedStatement(BareJID user_id, String stIdKey...
    method getPreparedStatement (line 197) | PreparedStatement getPreparedStatement(int hashCode, String stIdKey) t...
    method getResourceUri (line 204) | String getResourceUri();
    method setTimestamp (line 210) | default void setTimestamp(PreparedStatement stmt, int pos, java.sql.Ti...
    method getTimestamp (line 226) | default Timestamp getTimestamp(ResultSet rs, int pos) throws SQLExcept...
    method getTimestamp (line 240) | default Timestamp getTimestamp(ResultSet rs, String field) throws SQLE...

FILE: src/main/java/tigase/db/DataRepositoryPool.java
  class DataRepositoryPool (line 48) | @Repository.Meta(supportedUris = {"jdbc:[^:]+:.*"})
    method addRepo (line 59) | public void addRepo(DataRepository repo) {
    method automaticSchemaManagement (line 63) | @Override
    method checkConnectivity (line 71) | @Override
    method takeRepo (line 76) | public DataRepository takeRepo(BareJID user_id) {
    method takeRepo (line 87) | public DataRepository takeRepo(int hashCode) {
    method takeRepoHandle (line 98) | @Override
    method releaseRepoHandle (line 103) | @Override
    method checkSchemaVersion (line 108) | @Override
    method getSchemaVersion (line 120) | @Override
    method checkTable (line 132) | @Override
    method checkTable (line 145) | @Override
    method createStatement (line 158) | @Override
    method getPreparedStatement (line 171) | @Override
    method getPreparedStatement (line 184) | @Override
    method getResourceUri (line 197) | @Override
    method getDatabaseType (line 205) | @Override
    method getStatistics (line 210) | @Override
    method initPreparedStatement (line 221) | @Override
    method initPreparedStatement (line 226) | @Override
    method executeForEachDataSource (line 231) | private void executeForEachDataSource(ForkWithSqlException taskToRun) ...
    method initialize (line 255) | @Override
    method initRepository (line 264) | @Override
    method release (line 275) | @Override
    method startTransaction (line 292) | @Override
    method commit (line 297) | @Override
    method rollback (line 302) | @Override
    method endTransaction (line 308) | @Override
    method getPoolSize (line 314) | @Override
    type ForkWithSqlException (line 319) | @FunctionalInterface
      method run (line 322) | void run(DataRepository dataRepository) throws SQLException;
    method toString (line 326) | @Override

FILE: src/main/java/tigase/db/DataSource.java
  type DataSource (line 41) | public interface DataSource
    method checkConnectivity (line 52) | default void checkConnectivity(Duration watchdogTime) {}
    method checkSchemaVersion (line 66) | default public boolean checkSchemaVersion(DataSourceAware<? extends Da...
    method automaticSchemaManagement (line 134) | default boolean automaticSchemaManagement() {
    method getSchemaVersion (line 145) | Optional<Version> getSchemaVersion(String component);
    method getResourceUri (line 153) | String getResourceUri();
    method initialize (line 164) | void initialize(String resource_uri) throws RepositoryException;

FILE: src/main/java/tigase/db/DataSourceAware.java
  type DataSourceAware (line 31) | public interface DataSourceAware<T extends DataSource> {
    method setDataSource (line 36) | void setDataSource(T dataSource) throws RepositoryException;

FILE: src/main/java/tigase/db/DataSourceHelper.java
  class DataSourceHelper (line 31) | public class DataSourceHelper {
    method getAnnotatedClasses (line 35) | public static <T extends Class<?>> Set<T> getAnnotatedClasses(T cls) {
    method getDefaultClass (line 50) | public static <T extends Class<?>> T getDefaultClass(T cls, String uri...
    method getDefaultClass (line 105) | public static <T extends Class<?>> T getDefaultClass(T cls, String uri...
    method getDefaultClassName (line 109) | public static String getDefaultClassName(Class cls, String uri) throws...
    type Matcher (line 114) | public static interface Matcher {
      method matches (line 116) | boolean matches(Class cls);

FILE: src/main/java/tigase/db/DataSourcePool.java
  type DataSourcePool (line 29) | public interface DataSourcePool<T extends DataSource>

FILE: src/main/java/tigase/db/DummyRepository.java
  class DummyRepository (line 39) | @Repository.Meta(supportedUris = {"dummy"})
    method addDataList (line 43) | @Override
    method addUser (line 47) | @Override
    method getActiveUsersCountIn (line 51) | @Override
    method addUser (line 56) | @Override
    method getData (line 67) | @Override
    method getData (line 77) | @Override
    method getData (line 88) | @Override
    method getDataList (line 93) | @Override
    method getKeys (line 98) | @Override
    method getKeys (line 103) | @Override
    method getSchemaVersion (line 108) | @Override
    method getResourceUri (line 113) | @Override
    method getSubnodes (line 118) | @Override
    method getSubnodes (line 125) | @Override
    method getUserUID (line 130) | @Override
    method getUsers (line 135) | @Override
    method getUsersCount (line 140) | @Override
    method getUsersCount (line 145) | @Override
    method initialize (line 150) | @Override
    method initRepository (line 155) | @Override
    method loggedIn (line 160) | @Override
    method logout (line 164) | @Override
    method otherAuth (line 168) | @Override
    method queryAuth (line 174) | @Override
    method removeData (line 178) | @Override
    method removeData (line 182) | @Override
    method removeSubnode (line 186) | @Override
    method removeUser (line 190) | @Override
    method setData (line 194) | @Override
    method setData (line 198) | @Override
    method setDataList (line 202) | @Override
    method updatePassword (line 206) | @Override
    method userExists (line 210) | @Override
    method getPassword (line 215) | @Override
    method isUserDisabled (line 221) | @Override
    method setUserDisabled (line 226) | @Override
    method setAccountStatus (line 231) | @Override
    method getAccountStatus (line 236) | @Override

FILE: src/main/java/tigase/db/MsgRepositoryIfc.java
  type MsgRepositoryIfc (line 35) | public interface MsgRepositoryIfc<T extends DataSource>
    method getMessagesCount (line 38) | Map<Enum, Long> getMessagesCount(JID to) throws UserNotFoundException,...
    method getMessagesList (line 40) | List<Element> getMessagesList(JID to) throws UserNotFoundException, Ti...
    method setCondition (line 42) | @TigaseDeprecated(since = "8.2.0", removeIn = "9.0.0")
    method loadMessagesToJID (line 46) | Queue<Element> loadMessagesToJID(List<String> db_ids, XMPPResourceConn...
    method deleteMessagesToJID (line 50) | int deleteMessagesToJID(List<String> db_ids, XMPPResourceConnection se...

FILE: src/main/java/tigase/db/NonAuthUserRepository.java
  type NonAuthUserRepository (line 29) | public interface NonAuthUserRepository {
    method addOfflineData (line 50) | void addOfflineData(BareJID user, String subnode, String key, String v...
    method addOfflineDataList (line 68) | void addOfflineDataList(BareJID user, String subnode, String key, Stri...
    method getDomainTempData (line 87) | String getDomainTempData(BareJID domain, String subnode, String key, S...
    method getPublicData (line 106) | String getPublicData(BareJID user, String subnode, String key, String ...
    method getPublicDataList (line 123) | String[] getPublicDataList(BareJID user, String subnode, String key) t...
    method getTempData (line 142) | String getTempData(String subnode, String key, String def) throws Tiga...
    method putDomainTempData (line 159) | void putDomainTempData(BareJID domain, String subnode, String key, Str...
    method putTempData (line 175) | void putTempData(String subnode, String key, String value) throws Tiga...
    method removeDomainTempData (line 189) | void removeDomainTempData(BareJID domain, String subnode, String key) ...
    method removeTempData (line 201) | void removeTempData(String subnode, String key) throws TigaseDBException;

FILE: src/main/java/tigase/db/NonAuthUserRepositoryImpl.java
  class NonAuthUserRepositoryImpl (line 36) | @Bean(name = "nonAuthUserRepository", parent = Kernel.class, active = tr...
    method NonAuthUserRepositoryImpl (line 49) | public NonAuthUserRepositoryImpl(UserRepository userRep, BareJID defDo...
    method NonAuthUserRepositoryImpl (line 58) | public NonAuthUserRepositoryImpl() {
    method addOfflineData (line 62) | @Override
    method addOfflineDataList (line 80) | @Override
    method getDomainTempData (line 98) | @Override
    method getPublicData (line 105) | @Override
    method getPublicDataList (line 116) | @Override
    method getTempData (line 127) | @Override
    method putDomainTempData (line 134) | @Override
    method putTempData (line 140) | @Override
    method removeDomainTempData (line 146) | @Override
    method removeTempData (line 152) | @Override
    method calcNode (line 158) | private String calcNode(String base, String subnode) {
    method checkDomain (line 166) | private void checkDomain(BareJID domain) throws TigaseDBException {

FILE: src/main/java/tigase/db/OfflineMsgRepositoryIfc.java
  type OfflineMsgRepositoryIfc (line 35) | public interface OfflineMsgRepositoryIfc
    method getMessageExpired (line 50) | @TigaseDeprecated(since = "8.2.0", removeIn = "9.0.0", note = "Will be...
    method loadMessagesToJID (line 65) | Queue<Element> loadMessagesToJID(XMPPResourceConnection session, boole...
    method storeMessage (line 80) | boolean storeMessage(JID from, JID to, Date expired, Element msg, NonA...

FILE: src/main/java/tigase/db/Repository.java
  type Repository (line 33) | public interface Repository {
    method initRepository (line 50) | @Deprecated

FILE: src/main/java/tigase/db/RepositoryFactory.java
  class RepositoryFactory (line 42) | @Deprecated
    method getAuthRepository (line 161) | public static AuthRepository getAuthRepository(String class_name, Stri...
    method getDataRepository (line 225) | public static DataRepository getDataRepository(String class_name, Stri...
    method getRepoClass (line 290) | public static <T extends Class<? extends Repository>> T getRepoClass(T...
    method getRepoClass (line 338) | public static String getRepoClass(String repo_name) {
    method getRepoClassName (line 376) | public static String getRepoClassName(Class cls, String uri) throws DB...
    method getRepoInternalClasses (line 389) | private static <T extends Class<? extends Repository>> Set<T> getRepoI...
    method getUserRepository (line 399) | public static UserRepository getUserRepository(String class_name, Stri...

FILE: src/main/java/tigase/db/RepositoryPool.java
  type RepositoryPool (line 25) | public interface RepositoryPool<T>
    method addRepo (line 33) | void addRepo(T repo);

FILE: src/main/java/tigase/db/Schema.java
  class Schema (line 23) | public class Schema {

FILE: src/main/java/tigase/db/TigaseDBException.java
  class TigaseDBException (line 29) | public class TigaseDBException
    method TigaseDBException (line 37) | public TigaseDBException(String message) {
    method TigaseDBException (line 41) | public TigaseDBException(String message, Throwable cause) {

FILE: src/main/java/tigase/db/UserExistsException.java
  class UserExistsException (line 29) | public class UserExistsException
    method UserExistsException (line 35) | public UserExistsException(String message) {
    method UserExistsException (line 39) | public UserExistsException(BareJID user, String message, Throwable cau...
    method UserExistsException (line 44) | public UserExistsException(String message, Throwable cause) {
    method getUserId (line 48) | public BareJID getUserId() {

FILE: src/main/java/tigase/db/UserNotFoundException.java
  class UserNotFoundException (line 26) | public class UserNotFoundException
    method UserNotFoundException (line 34) | public UserNotFoundException(String message) {
    method UserNotFoundException (line 41) | public UserNotFoundException(String message, Throwable cause) {

FILE: src/main/java/tigase/db/UserRepository.java
  type UserRepository (line 43) | public interface UserRepository
    method addDataList (line 62) | void addDataList(BareJID user, String subnode, String key, String[] list)
    method addUser (line 77) | void addUser(BareJID user) throws UserExistsException, TigaseDBException;
    method getData (line 97) | String getData(BareJID user, String subnode, String key, String def)
    method getData (line 116) | String getData(BareJID user, String subnode, String key) throws UserNo...
    method getData (line 131) | String getData(BareJID user, String key) throws UserNotFoundException,...
    method getDataMap (line 147) | default Map<String, String> getDataMap(BareJID user, String subnode) t...
    method getDataMap (line 167) | default Map<BareJID, String> getDataMap(@NonNull String key) throws Us...
    method getDataMap (line 194) | default <T> Map<String, T> getDataMap(BareJID user, String subnode, Fu...
    method getDataList (line 227) | String[] getDataList(BareJID user, String subnode, String key) throws ...
    method getKeys (line 245) | String[] getKeys(BareJID user, String subnode) throws UserNotFoundExce...
    method getKeys (line 260) | String[] getKeys(BareJID user) throws UserNotFoundException, TigaseDBE...
    method getResourceUri (line 267) | String getResourceUri();
    method getSubnodes (line 283) | @Deprecated
    method getSubnodes (line 298) | String[] getSubnodes(BareJID user) throws UserNotFoundException, Tigas...
    method getUserUID (line 313) | @Deprecated
    method getUsers (line 325) | List<BareJID> getUsers() throws TigaseDBException;
    method getUsersCount (line 332) | long getUsersCount();
    method getUsersCount (line 339) | long getUsersCount(String domain);
    method removeData (line 356) | void removeData(BareJID user, String subnode, String key) throws UserN...
    method removeData (line 370) | void removeData(BareJID user, String key) throws UserNotFoundException...
    method removeSubnode (line 385) | void removeSubnode(BareJID user, String subnode) throws UserNotFoundEx...
    method removeUser (line 398) | void removeUser(BareJID user) throws UserNotFoundException, TigaseDBEx...
    method setData (line 416) | void setData(BareJID user, String subnode, String key, String value)
    method setData (line 433) | void setData(BareJID user, String key, String value) throws UserNotFou...
    method setDataList (line 451) | void setDataList(BareJID user, String subnode, String key, String[] list)
    method userExists (line 470) | boolean userExists(BareJID user);
    class UserAddedEvent (line 472) | public static class UserAddedEvent implements EventBusEvent {
      method UserAddedEvent (line 476) | public UserAddedEvent(BareJID jid) {
      method getJid (line 480) | public BareJID getJid() {
    class UserRemovedEvent (line 485) | public static class UserRemovedEvent implements EventBusEvent {
      method UserRemovedEvent (line 489) | public UserRemovedEvent(BareJID jid) {
      method getJid (line 493) | public BareJID getJid() {
    class UserBeforeRemovedEvent (line 498) | public static class UserBeforeRemovedEvent implements EventBusEvent {
      method UserBeforeRemovedEvent (line 502) | public UserBeforeRemovedEvent(BareJID jid) {
      method getJid (line 506) | public BareJID getJid() {

FILE: src/main/java/tigase/db/UserRepositoryMDImpl.java
  class UserRepositoryMDImpl (line 40) | public abstract class UserRepositoryMDImpl
    method UserRepositoryMDImpl (line 49) | public UserRepositoryMDImpl() {
    method addDataList (line 53) | @Override
    method addUser (line 66) | @Override
    method getData (line 79) | @Override
    method getData (line 94) | @Override
    method getData (line 108) | @Override
    method getDataMap (line 122) | @Override
    method getDataMap (line 137) | @Override
    method getDataMap (line 156) | @Override
    method getDataList (line 171) | @Override
    method getKeys (line 186) | @Override
    method getKeys (line 200) | @Override
    method getResourceUri (line 214) | @Override
    method getSubnodes (line 219) | @Override
    method getSubnodes (line 235) | @Override
    method getUserUID (line 249) | @Override
    method getUsers (line 263) | @Override
    method getUsersCount (line 282) | @Override
    method getUsersCount (line 287) | @Override
    method initRepository (line 300) | @Override
    method removeData (line 306) | @Override
    method removeData (line 318) | @Override
    method removeSubnode (line 330) | @Override
    method removeUser (line 342) | @Override
    method setData (line 357) | @Override
    method setData (line 370) | @Override
    method setDataList (line 382) | @Override
    method userExists (line 395) | @Override

FILE: src/main/java/tigase/db/UserRepositoryPool.java
  class UserRepositoryPool (line 42) | public class UserRepositoryPool
    method addDataList (line 50) | @Override
    method addRepo (line 66) | public void addRepo(UserRepository repo) {
    method addUser (line 70) | @Override
    method getData (line 85) | @Override
    method getData (line 109) | @Override
    method getData (line 132) | @Override
    method getDataMap (line 155) | @Override
    method getDataMap (line 172) | @Override
    method getDataMap (line 188) | @Override
    method getDataList (line 205) | @Override
    method getKeys (line 223) | @Override
    method getKeys (line 240) | @Override
    method getResourceUri (line 257) | @Override
    method getSubnodes (line 262) | @Override
    method getSubnodes (line 281) | @Override
    method getUserUID (line 298) | @Override
    method getUsers (line 315) | @Override
    method getUsersCount (line 332) | @Override
    method getUsersCount (line 349) | @Override
    method initRepository (line 366) | @Override
    method removeData (line 376) | @Override
    method removeData (line 393) | @Override
    method removeSubnode (line 410) | @Override
    method removeUser (line 427) | @Override
    method setData (line 442) | @Override
    method setData (line 460) | @Override
    method setDataList (line 477) | @Override
    method takeRepo (line 493) | public UserRepository takeRepo() {
    method userExists (line 503) | @Override
    type IRepoCache (line 520) | public interface IRepoCache<K,V> {
      method get (line 522) | V get(Object key);
      method put (line 524) | V put(K key, V value);
      method remove (line 526) | V remove(Object key);
    class RepoNoCache (line 529) | private class RepoNoCache implements IRepoCache<String, Object> {
      method get (line 531) | @Override
      method put (line 536) | @Override
      method remove (line 541) | @Override
    class RepoCache (line 547) | private class RepoCache
      method RepoCache (line 550) | public RepoCache(int maxsize, long cache_time) {
      method get (line 554) | @Override
      method put (line 565) | @Override
      method remove (line 576) | @Override

FILE: src/main/java/tigase/db/beans/AuthRepositoryMDPoolBean.java
  class AuthRepositoryMDPoolBean (line 39) | @Bean(name = "authRepository", parent = Kernel.class, exportable = true,...
    method belongsTo (line 45) | @Override
    method getStatistics (line 50) | @Override
    method getConfigClass (line 55) | @Override
    method getDefaultBeanClass (line 60) | @Override
    class AuthRepositoryConfigBean (line 65) | public static class AuthRepositoryConfigBean
      method getRepositoryIfc (line 73) | @Override
      method getRepositoryPoolClassName (line 78) | @Override
      method initRepository (line 83) | @Override

FILE: src/main/java/tigase/db/beans/AuthUserRepositoryConfigBean.java
  class AuthUserRepositoryConfigBean (line 41) | public abstract class AuthUserRepositoryConfigBean<T, U extends AuthUser...
    method beanConfigurationChanged (line 56) | @Override
    method initialize (line 72) | @Override
    method beforeUnregister (line 78) | @Override
    method getUri (line 83) | @Override
    method getRepositoryClassName (line 91) | @Override
    method initRepository (line 99) | @Override
    method getRepositoryPoolClassName (line 125) | @Override
    method onDataSourceChange (line 130) | @HandleEvent

FILE: src/main/java/tigase/db/beans/DataSourceBean.java
  class DataSourceBean (line 53) | @Bean(name = "dataSource", parent = Kernel.class, active = true, exporta...
    method getRepository (line 75) | public DataSource getRepository(String name) {
    method getConfigClass (line 82) | @Override
    method addRepo (line 93) | @Override
    method removeRepo (line 106) | @Override
    method getDataSourceNames (line 118) | public Set<String> getDataSourceNames() {
    method setDefault (line 122) | @Override
    method belongsTo (line 127) | @Override
    method everyHour (line 132) | @Override
    method everyMinute (line 137) | @Override
    method everySecond (line 142) | @Override
    method getStatistics (line 147) | @Override
    method getDefaultBeanClass (line 157) | @Override
    method addWatchdogTask (line 162) | protected ScheduledFuture addWatchdogTask(Runnable task, Duration freq...
    method removeWatchdogTask (line 176) | protected void removeWatchdogTask(ScheduledFuture scheduledFuture) {
    method fire (line 190) | private void fire(Object event) {
    class DataSourceChangedEvent (line 200) | public static class DataSourceChangedEvent implements EventBusEvent {
      method DataSourceChangedEvent (line 207) | public DataSourceChangedEvent(DataSourceBean bean, String domain, Da...
      method isCorrectSender (line 218) | public boolean isCorrectSender(DataSourceBean bean) {
      method getDomain (line 226) | public String getDomain() {
      method getOldDataSource (line 234) | public DataSource getOldDataSource() {
      method getNewDataSource (line 242) | public DataSource getNewDataSource() {
    class DataSourceMDConfigBean (line 248) | public static class DataSourceMDConfigBean
      method setWatchdogFrequency (line 257) | public void setWatchdogFrequency(Duration watchdogFrequency) {
      method initialize (line 262) | @Override
      method beforeUnregister (line 268) | @Override
      method getRepositoryIfc (line 285) | @Override
      method getRepositoryPoolClassName (line 299) | @Override
      method initRepository (line 320) | @Override
      method executeWatchdog (line 325) | private void executeWatchdog() {
      method updateWatchdogTask (line 332) | private void updateWatchdogTask() {

FILE: src/main/java/tigase/db/beans/MDPoolBean.java
  class MDPoolBean (line 30) | public abstract class MDPoolBean<S, T extends MDPoolConfigBean<S, T>>
    method getName (line 43) | public String getName() {
    method register (line 47) | @Override
    method unregister (line 55) | @Override
    method getDefaultAlias (line 65) | public String getDefaultAlias() {
    method registerConfigBean (line 69) | protected void registerConfigBean(String domain) {
    method getConfigClass (line 78) | protected abstract Class<? extends T> getConfigClass();
    method addRepo (line 84) | protected abstract void addRepo(String domain, S repo);
    method removeRepo (line 90) | protected abstract S removeRepo(String domain);
    method setDefault (line 97) | protected abstract void setDefault(S repo);

FILE: src/main/java/tigase/db/beans/MDPoolBeanWithStatistics.java
  class MDPoolBeanWithStatistics (line 37) | public abstract class MDPoolBeanWithStatistics<S extends Repository, T e...
    method MDPoolBeanWithStatistics (line 50) | public MDPoolBeanWithStatistics(Class<S> repoClazz) {
    method addRepo (line 54) | public void addRepo(String name, S repo) {
    method removeRepo (line 63) | public S removeRepo(String domain) {
    method getDomainsList (line 73) | public Collection<String> getDomainsList() {
    method getDefaultRepository (line 77) | public S getDefaultRepository() {
    method repositoriesStream (line 81) | public Stream<S> repositoriesStream() {
    method everyHour (line 89) | @Override
    method everyMinute (line 96) | @Override
    method everySecond (line 103) | @Override
    method setDefault (line 110) | public void setDefault(S repo) {
    method getStatistics (line 115) | @Override
    method setStatisticsEnabled (line 122) | public void setStatisticsEnabled(boolean value) {
    method getRepo (line 137) | public S getRepo(String domain) {
    method wrapInProxy (line 164) | public void wrapInProxy(String name, S repo) {

FILE: src/main/java/tigase/db/beans/MDPoolConfigBean.java
  class MDPoolConfigBean (line 50) | public abstract class MDPoolConfigBean<A, B extends MDPoolConfigBean<A, B>>
    method beanConfigurationChanged (line 73) | @Override
    method unloadOldBeans (line 114) | public void unloadOldBeans() {
    method initialize (line 130) | @Override
    method register (line 135) | @Override
    method unregister (line 140) | @Override
    method setInstances (line 145) | public void setInstances(Set<A> instances) {
    method setMdPool (line 200) | public void setMdPool(MDPoolBean<A, B> mdPool) {
    method getRepositoryIfc (line 215) | protected abstract Class<? extends A> getRepositoryIfc();
    method getRepositoryPoolClassName (line 223) | protected abstract String getRepositoryPoolClassName() throws DBInitEx...
    method initRepository (line 228) | protected abstract void initRepository(A repo) throws RepositoryExcept...
    method getRepositoryClassName (line 233) | protected String getRepositoryClassName() throws DBInitException {
    method getUri (line 240) | protected String getUri() {
    method getRepository (line 244) | protected A getRepository() {
    method setRepository (line 248) | public void setRepository(A repo) {

FILE: src/main/java/tigase/db/beans/MDRepositoryBean.java
  class MDRepositoryBean (line 46) | public abstract class MDRepositoryBean<T extends DataSourceAware>
    type SelectorType (line 54) | public static enum SelectorType {
    method getName (line 88) | public String getName() {
    method setDataSourceBean (line 92) | public void setDataSourceBean(DataSourceBean dataSourceBean) {
    method registerIfNotExists (line 128) | public void registerIfNotExists(String name) {
    method register (line 135) | @Override
    method unregister (line 141) | @Override
    method initialize (line 146) | public void initialize() {
    method beforeUnregister (line 150) | @Override
    method findClassForDataSource (line 160) | protected abstract Class<? extends T> findClassForDataSource(DataSourc...
    method repositoriesStream (line 167) | protected Stream<T> repositoriesStream() {
    method getRepositories (line 176) | protected Map<String, T> getRepositories() {
    method getRepository (line 184) | protected T getRepository(String domain) {
    method onDataSourceChange (line 192) | @HandleEvent
    method initializeRepository (line 212) | protected void initializeRepository(String domain, T repo) {
    method updateDataSourceAware (line 223) | protected void updateDataSourceAware(String domain, T newRepo, T oldRe...
    class MDRepositoryConfigBean (line 235) | public abstract static class MDRepositoryConfigBean<A extends DataSour...
      method beanConfigurationChanged (line 255) | @Override
      method setDataSourceAware (line 287) | public void setDataSourceAware(A dataSourceAware) {
      method register (line 305) | @Override
      method unregister (line 314) | @Override
      method initialize (line 319) | @Override
      method beforeUnregister (line 330) | @Override
      method getRepositoryClassName (line 340) | protected Class<?> getRepositoryClassName() throws DBInitException, ...
      method getCls (line 347) | protected String getCls() {
      method onDataSourceChange (line 351) | @HandleEvent

FILE: src/main/java/tigase/db/beans/MDRepositoryBeanWithStatistics.java
  class MDRepositoryBeanWithStatistics (line 38) | public abstract class MDRepositoryBeanWithStatistics<T extends DataSourc...
    method MDRepositoryBeanWithStatistics (line 48) | public MDRepositoryBeanWithStatistics(Class<?>... repoClazz) {
    method everyHour (line 52) | @Override
    method everyMinute (line 59) | @Override
    method everySecond (line 66) | @Override
    method getStatistics (line 73) | @Override
    method setStatisticsEnabled (line 80) | public void setStatisticsEnabled(boolean value) {
    method wrapInProxy (line 94) | public void wrapInProxy(String name, T repo) {
    method getRepository (line 104) | @Override
    method getRepositories (line 116) | @Override
    method updateDataSourceAware (line 124) | @Override

FILE: src/main/java/tigase/db/beans/SDRepositoryBean.java
  class SDRepositoryBean (line 49) | public abstract class SDRepositoryBean<A extends DataSourceAware>
    method getDataSourceName (line 69) | public String getDataSourceName() {
    method getName (line 76) | public String getName() {
    method beanConfigurationChanged (line 80) | @Override
    method register (line 112) | @Override
    method unregister (line 117) | @Override
    method initialize (line 122) | @Override
    method beforeUnregister (line 133) | @Override
    method findClassForDataSource (line 139) | protected abstract Class<?> findClassForDataSource(DataSource dataSour...
    method initializeRepository (line 141) | protected void initializeRepository(A repository) {
    method getRepository (line 144) | protected A getRepository() {
    method setRepository (line 148) | public void setRepository(A repository) {
    method getRepositoryClassName (line 161) | protected Class<?> getRepositoryClassName() throws DBInitException, Cl...
    method onDataSourceChange (line 168) | @HandleEvent

FILE: src/main/java/tigase/db/beans/SDRepositoryBeanWithStatistics.java
  class SDRepositoryBeanWithStatistics (line 33) | public abstract class SDRepositoryBeanWithStatistics<T extends DataSourc...
    method SDRepositoryBeanWithStatistics (line 43) | public SDRepositoryBeanWithStatistics(Class<T> repoClazz) {
    method everyHour (line 47) | @Override
    method everyMinute (line 54) | @Override
    method everySecond (line 61) | @Override
    method getStatistics (line 68) | @Override
    method setStatisticsEnabled (line 75) | public void setStatisticsEnabled(boolean value) {
    method wrapInProxy (line 89) | public void wrapInProxy(T repo) {
    method getRepository (line 94) | @Override
    method setRepository (line 102) | @Override

FILE: src/main/java/tigase/db/beans/UserRepositoryMDPoolBean.java
  class UserRepositoryMDPoolBean (line 35) | @Bean(name = "userRepository", parent = Kernel.class, exportable = true,...
    method belongsTo (line 41) | @Override
    method getStatistics (line 46) | @Override
    method getConfigClass (line 51) | @Override
    method getDefaultBeanClass (line 56) | @Override
    class UserRepositoryConfigBean (line 61) | public static class UserRepositoryConfigBean
      method getRepositoryIfc (line 64) | @Override

FILE: src/main/java/tigase/db/comp/AbstractSDComponentRepositoryBean.java
  class AbstractSDComponentRepositoryBean (line 37) | public abstract class AbstractSDComponentRepositoryBean<Item extends Rep...
    method setRepository (line 41) | @Override
    method addRepoChangeListener (line 50) | @Override
    method removeRepoChangeListener (line 55) | @Override
    method addItem (line 61) | @Override
    method addItemNoStore (line 66) | @Override
    method allItems (line 71) | @Override
    method contains (line 76) | @Override
    method destroy (line 81) | @Override
    method getDefaults (line 86) | @Deprecated
    method getItem (line 92) | @Override
    method getItemInstance (line 97) | @Override
    method reload (line 102) | @Override
    method removeItem (line 107) | @Override
    method removeItemNoStore (line 112) | @Override
    method setProperties (line 117) | @Deprecated
    method size (line 123) | @Override
    method store (line 128) | @Override
    method validateItem (line 133) | @Override
    method setAutoloadTimer (line 138) | @Override
    method iterator (line 143) | @Override
    method initRepository (line 148) | @Override
    method toString (line 153) | @Override

FILE: src/main/java/tigase/db/comp/ComponentRepository.java
  type ComponentRepository (line 41) | public interface ComponentRepository<Item extends RepositoryItem>
    method addRepoChangeListener (line 49) | void addRepoChangeListener(RepositoryChangeListenerIfc<Item> repoChang...
    method removeRepoChangeListener (line 54) | void removeRepoChangeListener(RepositoryChangeListenerIfc<Item> repoCh...
    method addItem (line 63) | void addItem(Item item) throws TigaseDBException;
    method addItemNoStore (line 72) | void addItemNoStore(Item item);
    method allItems (line 77) | Collection<Item> allItems() throws TigaseDBException;
    method contains (line 87) | boolean contains(String key);
    method destroy (line 93) | void destroy();
    method getDefaults (line 106) | @Deprecated
    method getItem (line 118) | Item getItem(String key);
    method getItemInstance (line 125) | Item getItemInstance();
    method reload (line 133) | void reload() throws TigaseDBException;
    method removeItem (line 141) | void removeItem(String key) throws TigaseDBException;
    method removeItemNoStore (line 143) | void removeItemNoStore(String key);
    method setProperties (line 152) | @Deprecated
    method size (line 161) | int size();
    method store (line 167) | void store() throws TigaseDBException;
    method validateItem (line 177) | String validateItem(Item item);
    method setAutoloadTimer (line 184) | void setAutoloadTimer(long delay);

FILE: src/main/java/tigase/db/comp/ComponentRepositoryDataSourceAware.java
  type ComponentRepositoryDataSourceAware (line 31) | public interface ComponentRepositoryDataSourceAware<Item extends Reposit...

FILE: src/main/java/tigase/db/comp/ConfigRepository.java
  class ConfigRepository (line 35) | public abstract class ConfigRepository<Item extends RepositoryItem>
    method ConfigRepository (line 49) | public ConfigRepository() {
    method setAutoloadTimer (line 68) | @Override
    method setAutoReloadInterval (line 91) | public void setAutoReloadInterval(long autoLoadInterval) {
    method addRepoChangeListener (line 96) | @Override
    method removeRepoChangeListener (line 104) | @Override
    method toString (line 109) | @Override
    method getConfigKey (line 121) | public abstract String getConfigKey();
    method getDefaultItems (line 123) | public Item[] getDefaultItems() {
    method getDefaultPropetyItems (line 127) | @Deprecated
    method getPropertyKey (line 133) | @Deprecated
    method addItem (line 137) | @Override
    method addItemNoStore (line 147) | @Override
    method itemChanged (line 172) | public boolean itemChanged(Item oldItem, Item newItem) {
    method allItems (line 176) | @Override
    method contains (line 181) | @Override
    method getDefaults (line 186) | @Deprecated
    method getItem (line 201) | @Override
    method getItemsOld (line 210) | @Deprecated
    method setItemsOld (line 220) | @Deprecated
    method iterator (line 240) | @Override
    method reload (line 245) | @Override
    method removeItem (line 249) | @Override
    method removeItemNoStore (line 264) | @Override
    method setProperties (line 278) | @Deprecated
    method size (line 291) | @Override
    method store (line 296) | @Override
    method validateItem (line 300) | @Override
    method beforeUnregister (line 305) | @Override
    method initialize (line 310) | @Override
    method initItemsMap (line 329) | protected void initItemsMap() {
    method isInitialized (line 335) | protected boolean isInitialized() {

FILE: src/main/java/tigase/db/comp/RepositoryChangeListenerIfc.java
  type RepositoryChangeListenerIfc (line 23) | public interface RepositoryChangeListenerIfc<Item extends RepositoryItem> {
    method itemAdded (line 25) | void itemAdded(Item item);
    method itemUpdated (line 27) | void itemUpdated(Item item);
    method itemRemoved (line 29) | void itemRemoved(Item item);

FILE: src/main/java/tigase/db/comp/RepositoryItem.java
  type RepositoryItem (line 30) | public interface RepositoryItem {
    method addCommandFields (line 38) | void addCommandFields(Packet packet);
    method getAdmins (line 47) | String[] getAdmins();
    method setAdmins (line 56) | void setAdmins(String[] admins);
    method getKey (line 64) | String getKey();
    method getOwner (line 73) | String getOwner();
    method setOwner (line 82) | void setOwner(String owner);
    method initFromCommand (line 91) | void initFromCommand(Packet packet);
    method initFromElement (line 100) | void initFromElement(Element elem);
    method initFromPropertyString (line 110) | @Deprecated
    method isAdmin (line 121) | boolean isAdmin(String id);
    method isOwner (line 130) | boolean isOwner(String id);
    method toElement (line 140) | Element toElement();
    method toPropertyString (line 150) | @Deprecated

FILE: src/main/java/tigase/db/comp/RepositoryItemAbstract.java
  class RepositoryItemAbstract (line 37) | public abstract class RepositoryItemAbstract
    method getElemName (line 53) | public abstract String getElemName();
    method setKey (line 55) | protected abstract void setKey(String key);
    method addCommandFields (line 57) | @Override
    method getAdmins (line 64) | @Override
    method setAdmins (line 69) | @Override
    method getOwner (line 74) | @Override
    method setOwner (line 79) | @Override
    method initFromCommand (line 84) | @Override
    method initFromElement (line 93) | @Override
    method isAdmin (line 99) | @Override
    method isOwner (line 113) | @Override
    method toElement (line 118) | @Override
    method adminsFromString (line 132) | private String[] adminsFromString(String admins_m) {
    method adminsToString (line 147) | private String adminsToString(String[] admins_m) {
    method streamConfigFields (line 163) | private Stream<Field> streamConfigFields() {

FILE: src/main/java/tigase/db/comp/UserRepoRepository.java
  class UserRepoRepository (line 40) | public abstract class UserRepoRepository<Item extends RepositoryItem>
    method getRepoUser (line 52) | public abstract BareJID getRepoUser();
    method getItemsListPKey (line 54) | public String getItemsListPKey() {
    method reload (line 58) | @Override
    method setRepo (line 111) | public void setRepo(UserRepository userRepository) {
    method store (line 130) | @Override

FILE: src/main/java/tigase/db/derby/MsgBroadcastRepositoryStoredProcedures.java
  class MsgBroadcastRepositoryStoredProcedures (line 28) | public class MsgBroadcastRepositoryStoredProcedures {
    method addMessage (line 30) | public static void addMessage(String msgId, Timestamp expired, String ...
    method addMessageRecipient (line 59) | public static void addMessageRecipient(String msgId, String jid) throw...
    method getMessageRecipients (line 112) | public static void getMessageRecipients(String msgId, ResultSet[] data...
    method getMessages (line 127) | public static void getMessages(Timestamp expired, ResultSet[] data) th...

FILE: src/main/java/tigase/db/derby/MsgRepositoryStoredProcedures.java
  class MsgRepositoryStoredProcedures (line 31) | public class MsgRepositoryStoredProcedures {
    method addMessage (line 37) | public static void addMessage(String receiver, String sender, Integer ...
    method deleteMessage (line 89) | public static void deleteMessage(Long msgId) throws SQLException {
    method deleteMessages (line 103) | public static void deleteMessages(String receiver, ResultSet[] data) t...
    method deleteMessagesByIds (line 124) | public static void deleteMessagesByIds(String receiver, String msgId1,...
    method getExpiredMessages (line 157) | public static void getExpiredMessages(int limit, ResultSet[] data) thr...
    method getExpiredMessagesBefore (line 174) | public static void getExpiredMessagesBefore(Timestamp before, ResultSe...
    method getMessages (line 197) | public static void getMessages(String receiver, ResultSet[] data) thro...
    method getMessagesByIds (line 216) | public static void getMessagesByIds(String receiver, String msgId1, St...
    method getMessagesCount (line 247) | public static void getMessagesCount(String receiver, ResultSet[] data)...
    method listMessages (line 267) | public static void listMessages(String receiver, ResultSet[] data) thr...

FILE: src/main/java/tigase/db/derby/StoredProcedures.java
  class StoredProcedures (line 35) | public class StoredProcedures {
    method encodePassword (line 45) | private static String encodePassword(String encMethod, String userId, ...
    method md5 (line 58) | private static String md5(String data) {
    method sha1 (line 74) | private static String sha1(String data) {
    method tigAccountStatus (line 90) | public static void tigAccountStatus(final String user, ResultSet[] dat...
    method tigActiveAccounts (line 100) | public static void tigActiveAccounts(ResultSet[] data) throws SQLExcep...
    method tigAddNode (line 120) | public static void tigAddNode(long parentNid, long uid, String node, R...
    method tigAddUser (line 144) | public static void tigAddUser(String userId, String userPw, ResultSet[...
    method tigAddUserPlainPw (line 193) | public static void tigAddUserPlainPw(String userId, String userPw, Res...
    method tigAllUsers (line 200) | public static void tigAllUsers(ResultSet[] data) throws SQLException {
    method tigAllUsersCount (line 220) | public static void tigAllUsersCount(ResultSet[] data) throws SQLExcept...
    method tigDisableAccount (line 239) | public static void tigDisableAccount(final String userId) throws SQLEx...
    method tigDisabledAccounts (line 260) | public static void tigDisabledAccounts(ResultSet[] data) throws SQLExc...
    method tigEnableAccount (line 280) | p
Copy disabled (too large) Download .json
Condensed preview — 1407 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (13,506K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 64,
    "preview": "# These are supported funding model platforms\n\ngithub: [tigase]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 352,
    "preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: 'bug'\nassignees: ''\n\n---\n\n> # NOTE: Tig"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 362,
    "preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: 'enhancement'\nassignees: ''\n\n---\n\n> "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/question.md",
    "chars": 343,
    "preview": "---\nname: General question\nabout: Just a question\ntitle: ''\nlabels: 'question'\nassignees: ''\n\n---\n\n> # NOTE: Tigase has "
  },
  {
    "path": ".gitignore",
    "chars": 1548,
    "preview": ".settings\ntarget\ninit.properties\n.classpath\n.project\nscripts/admin\nall-production-servers.txt\nMANIFEST.MF\ncluster-1-serv"
  },
  {
    "path": ".mvn/extensions.xml",
    "chars": 1603,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n\n    Tigase XMPP Server - The instant messaging server\n    Copyright (C) 200"
  },
  {
    "path": ".onedev-buildspec.yml",
    "chars": 922,
    "preview": "version: 40\nimports:\n- projectPath: Templates\n  revision: 0.0.8\njobs:\n- name: Maven CI\n  jobExecutor: linux\n  steps:\n  -"
  },
  {
    "path": ".readthedocs.yaml",
    "chars": 327,
    "preview": "# Required\nversion: 2\n\n# Set the version of Python and other tools you might need\nbuild:\n  os: ubuntu-22.04\n  tools:\n   "
  },
  {
    "path": "COPYING",
    "chars": 34519,
    "preview": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C)"
  },
  {
    "path": "License.html",
    "chars": 34203,
    "preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n\n<html><head>\n <meta http-equiv=\"Content-Type\" content=\""
  },
  {
    "path": "README.md",
    "chars": 8749,
    "preview": "> # NOTE: Tigase has new home at [tigase.dev](https://tigase.dev/) - please submit all issues/pull-requests there in the"
  },
  {
    "path": "etc/bosh-extra-headers.txt",
    "chars": 153,
    "preview": "Access-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Ty"
  },
  {
    "path": "etc/client-access-policy.xml",
    "chars": 1164,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n\n    Tigase XMPP Server - The instant messaging server\n    Copyright (C) 200"
  },
  {
    "path": "etc/config.properties",
    "chars": 4187,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": "etc/config.tdsl",
    "chars": 124,
    "preview": "'config-type' = 'setup'\n\nhttp () {\n    setup () {\n        'admin-user' = 'admin'\n        'admin-password' = 'tigase'\n   "
  },
  {
    "path": "etc/cross-domain-policy.xml",
    "chars": 1054,
    "preview": "<!--\n\n    Tigase XMPP Server - The instant messaging server\n    Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n\n   "
  },
  {
    "path": "etc/init-debian.properties",
    "chars": 389,
    "preview": "config-type = --gen-config-def\n--admins = admin@$HOST_NAME\n--virt-hosts = $HOST_NAME\n--debug=server\n--user-db-uri = jdbc"
  },
  {
    "path": "etc/init-mysql.properties",
    "chars": 1533,
    "preview": "# Load standard set of the server components.\n# Look at the http://www.tigase.org/configuration-wizards\n# document for o"
  },
  {
    "path": "etc/jmx.access",
    "chars": 2337,
    "preview": "######################################################################\n#     Default Access Control File for Remote JMX("
  },
  {
    "path": "etc/jmx.password",
    "chars": 2893,
    "preview": "# ----------------------------------------------------------------------\n#           Template for jmxremote.password\n#\n#"
  },
  {
    "path": "etc/logback.xml",
    "chars": 3502,
    "preview": "<!--\n\n    Tigase XMPP Server - The instant messaging server\n    Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n\n   "
  },
  {
    "path": "etc/snmp.acl",
    "chars": 3386,
    "preview": "# ----------------------------------------------------------------------\n#           Template for SNMP Access Control Li"
  },
  {
    "path": "etc/tigase.conf",
    "chars": 3043,
    "preview": "#osgiEnabled=(true|false)\n#osgiEnabled=false\nOSGI=${osgiEnabled}\nENC=\"-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8\"\n#G"
  },
  {
    "path": "licenseheader.txt",
    "chars": 1204,
    "preview": "<#if licenseFirst??>\n${licenseFirst}\n</#if>\n${licensePrefix}Tigase Jabber/XMPP Server\n${licensePrefix}Copyright (C) 2004"
  },
  {
    "path": "package.html",
    "chars": 3590,
    "preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n\n<html>\n\t<head>\n\t\t<meta http-equiv=\"Content-Type\" conten"
  },
  {
    "path": "pom.xml",
    "chars": 23928,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n\n    Tigase XMPP Server - The instant messaging server\n    Copyright © 2004 "
  },
  {
    "path": "prj.el",
    "chars": 2739,
    "preview": "!!!\n!!! Tigase XMPP Server - The instant messaging server\n!!! Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n!!!\n!!"
  },
  {
    "path": "scripts/config.sh",
    "chars": 976,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/db-create.cmd",
    "chars": 872,
    "preview": "@REM\n@REM Tigase XMPP Server - The instant messaging server\n@REM Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n@RE"
  },
  {
    "path": "scripts/db-create.sh",
    "chars": 825,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/db-derby-connect.sh",
    "chars": 1081,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/debian/changelog",
    "chars": 271203,
    "preview": "tigase (@version@) unstable; urgency=medium\n\n  * For full changelog, see\n  http://www.tigase.org/\n\n -- Sergey Nazarov <p"
  },
  {
    "path": "scripts/debian/compat",
    "chars": 2,
    "preview": "5\n"
  },
  {
    "path": "scripts/debian/control",
    "chars": 601,
    "preview": "Source: tigase\nSection: net\nPriority: optional\nMaintainer: Sergey Nazarov <phearnot@renee.ru>\nBuild-Depends: debhelper ("
  },
  {
    "path": "scripts/debian/copyright",
    "chars": 506,
    "preview": "This package was debianized by Sergey Nazarov\n<phearnot@renee.ru> on January 9, 2009.\n The source was downloaded from ht"
  },
  {
    "path": "scripts/debian/init-debian.properties",
    "chars": 313,
    "preview": "config-type = --gen-config-def\n--admins = admin@$HOST_NAME\n--virt-hosts = $HOST_NAME\n--debug=server\n--user-db-uri = jdbc"
  },
  {
    "path": "scripts/debian/rules",
    "chars": 741,
    "preview": "#!/usr/bin/make -f\n\n#export DH_VERBOSE=1\n\ninclude /usr/share/cdbs/1/rules/simple-patchsys.mk\ninclude /usr/share/cdbs/1/r"
  },
  {
    "path": "scripts/debian/tigase-debian.conf",
    "chars": 498,
    "preview": "ENC=\"-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8\"\nDRV=\"-Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org"
  },
  {
    "path": "scripts/debian/tigase-install.sh",
    "chars": 1898,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/debian/tigase.default",
    "chars": 278,
    "preview": "# Defaults for tigase initscript\n# sourced by /etc/init.d/tigase\n# installed at /etc/default/tigase by the maintainer sc"
  },
  {
    "path": "scripts/debian/tigase.dirs",
    "chars": 102,
    "preview": "/etc/tigase\n/usr/share/tigase/libs\n/usr/share/tigase/jars\n/var/log/tigase\n/var/lib/tigase/embedded-db\n"
  },
  {
    "path": "scripts/debian/tigase.init.d",
    "chars": 6134,
    "preview": "#!/bin/bash\n### BEGIN INIT INFO\n# Provides:          tigase\n# Required-Start:    networking\n# Required-Stop:     network"
  },
  {
    "path": "scripts/debian/tigase.postinst",
    "chars": 1838,
    "preview": "#! /bin/sh\nset -e\n\n# summary of how this script can be called:\n#        * <postinst> `configure' <most-recently-configur"
  },
  {
    "path": "scripts/debian/tigase.postrm",
    "chars": 1029,
    "preview": "#!/bin/sh\n# postrm script for tigase\n#\n# see: dh_installdeb(1)\n\nset -e\n\n# summary of how this script can be called:\n#   "
  },
  {
    "path": "scripts/gentoo/conf.d/tigase",
    "chars": 90,
    "preview": "TIGASE_HOME=\"/home/tigase/tigase-server\"\nTIGASE_USER=tigase\nTIGASE_CONF=\"etc/tigase.conf\"\n"
  },
  {
    "path": "scripts/gentoo/init.d/tigase",
    "chars": 665,
    "preview": "#!/sbin/runscript\n\ndepend() {\n\tneed net\n\tuse dns logger postgresql mysql\n}\n\nstart()\t{\n\tebegin \"Starting Tigase\"\n\tsu - ${"
  },
  {
    "path": "scripts/machine-check.sh",
    "chars": 5276,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/mandriva/init.d/tigase",
    "chars": 1024,
    "preview": "#!/bin/bash\n#\n# Startup script for SER\n#\n# chkconfig: 345 85 15\n# description: Ser is a fast SIP Proxy.\n#\n# processname:"
  },
  {
    "path": "scripts/redhat/init.d/tigase",
    "chars": 6386,
    "preview": "#!/bin/bash\n### BEGIN INIT INFO\n#\n# tigase        This starts and stops the Tigase XMPP server.\n#\n# chkconfig: 345 85 15"
  },
  {
    "path": "scripts/repo.sh",
    "chars": 1294,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/restart-all-servers.sh",
    "chars": 3012,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/stop-all-servers.sh",
    "chars": 1211,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/systemd/tigase-server",
    "chars": 57,
    "preview": "# Defaults / Configuration options for Tigase XMPP Server"
  },
  {
    "path": "scripts/systemd/tigase-server.service",
    "chars": 537,
    "preview": "[Unit]\nDescription=Tigase XMPP Server\nAfter=syslog.target network-online.target\n\n[Service]\nType=forking\nUser=tigase\nEnvi"
  },
  {
    "path": "scripts/tigase.sh",
    "chars": 7226,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/update-all-servers.sh",
    "chars": 1312,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/update-code-functions.sh",
    "chars": 1857,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/update-code.sh",
    "chars": 1821,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/user_roster.sh",
    "chars": 1494,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "scripts/wait-for-it.sh",
    "chars": 6049,
    "preview": "#!/usr/bin/env bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tiga"
  },
  {
    "path": "src/main/bash/cron-dnotify-check.sh",
    "chars": 1069,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "src/main/bash/users-list-moitor.sh",
    "chars": 1241,
    "preview": "#!/bin/bash\n#\n# Tigase XMPP Server - The instant messaging server\n# Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n"
  },
  {
    "path": "src/main/database/derby-common-0.0.1.sql",
    "chars": 1637,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-common-0.0.2.sql",
    "chars": 1034,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-common-0.0.3.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-counter_data_logger-0.0.1.sql",
    "chars": 2201,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-installer-create-db.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-installer-post.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.0.0-props.sql",
    "chars": 855,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.0.0-schema.sql",
    "chars": 5355,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.0.0-sp.sql",
    "chars": 11864,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.0.0.sql",
    "chars": 1069,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.1.0-props.sql",
    "chars": 855,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.1.0.sql",
    "chars": 876,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.2.0-props.sql",
    "chars": 855,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.2.0-schema.sql",
    "chars": 860,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.2.0-sp.sql",
    "chars": 1149,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.2.0.sql",
    "chars": 1069,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.3.0-props.sql",
    "chars": 855,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.3.0-schema.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.3.0-sp.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.3.0.sql",
    "chars": 1069,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.4.0.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/derby-server-8.5.0.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mssql-server-8.5.0.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-common-0.0.1.sql",
    "chars": 1795,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-common-0.0.2.sql",
    "chars": 1066,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-common-0.0.3.sql",
    "chars": 1427,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-counter_data_logger-0.0.1.sql",
    "chars": 3083,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-installer-create-db.sql",
    "chars": 1600,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-installer-post.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.0.0-props.sql",
    "chars": 908,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.0.0-schema.sql",
    "chars": 5845,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.0.0-sp.sql",
    "chars": 23364,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.0.0.sql",
    "chars": 1075,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.1.0-props.sql",
    "chars": 908,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.1.0.sql",
    "chars": 881,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.2.0-props.sql",
    "chars": 908,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.2.0-schema.sql",
    "chars": 4134,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.2.0-sp.sql",
    "chars": 2178,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.2.0.sql",
    "chars": 1076,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.3.0-props.sql",
    "chars": 908,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.3.0-schema.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.3.0-sp.sql",
    "chars": 837,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.3.0.sql",
    "chars": 1076,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.4.0-props.sql",
    "chars": 908,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.4.0-schema.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.4.0-sp.sql",
    "chars": 4289,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.4.0.sql",
    "chars": 1074,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.5.0-schema.sql",
    "chars": 1727,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.5.0-sp.sql",
    "chars": 2029,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/mysql-server-8.5.0.sql",
    "chars": 974,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-common-0.0.1.sql",
    "chars": 1970,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-common-0.0.2.sql",
    "chars": 1037,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-common-0.0.3.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-counter_data_logger-0.0.1.sql",
    "chars": 3285,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-installer-create-db.sql",
    "chars": 1391,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-installer-post.sql",
    "chars": 1315,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.0.0-props.sql",
    "chars": 910,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.0.0-schema.sql",
    "chars": 6831,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.0.0-sp.sql",
    "chars": 27874,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.0.0.sql",
    "chars": 1087,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.1.0-props.sql",
    "chars": 910,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.1.0.sql",
    "chars": 881,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.2.0-props.sql",
    "chars": 910,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.2.0-schema.sql",
    "chars": 2297,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.2.0-sp.sql",
    "chars": 2632,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.2.0.sql",
    "chars": 1088,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.3.0-props.sql",
    "chars": 910,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.3.0-schema.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.3.0-sp.sql",
    "chars": 837,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.3.0.sql",
    "chars": 1096,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.4.0.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.5.0-schema.sql",
    "chars": 1064,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.5.0-sp.sql",
    "chars": 2648,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/postgresql-server-8.5.0.sql",
    "chars": 868,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-common-0.0.1.sql",
    "chars": 2305,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-common-0.0.2.sql",
    "chars": 1102,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-common-0.0.3.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-counter_data_logger-0.0.1.sql",
    "chars": 2969,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-installer-create-db.sql",
    "chars": 1689,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-installer-post.sql",
    "chars": 961,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.0.0-props.sql",
    "chars": 1060,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.0.0-schema.sql",
    "chars": 11112,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.0.0-sp.sql",
    "chars": 31475,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.0.0.sql",
    "chars": 1128,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.1.0-props.sql",
    "chars": 1060,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.1.0.sql",
    "chars": 833,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.2.0-props.sql",
    "chars": 973,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.2.0-schema.sql",
    "chars": 3041,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.2.0-sp.sql",
    "chars": 2983,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.2.0.sql",
    "chars": 945,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.3.0-props.sql",
    "chars": 973,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.3.0-schema.sql",
    "chars": 780,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.3.0-sp.sql",
    "chars": 837,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.3.0.sql",
    "chars": 945,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.4.0.sql",
    "chars": 777,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.5.0-schema.sql",
    "chars": 1092,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.5.0-sp.sql",
    "chars": 2395,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/database/sqlserver-server-8.5.0.sql",
    "chars": 888,
    "preview": "--\n-- Tigase XMPP Server - The instant messaging server\n-- Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n--\n-- Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/AddUser.groovy",
    "chars": 4103,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/AddUserTracker.groovy",
    "chars": 3473,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/BoshPreBindSession.groovy",
    "chars": 3734,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/BroadcastToOnline.groovy",
    "chars": 3959,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/ChangeUserPassword.groovy",
    "chars": 3411,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/CompManager.groovy",
    "chars": 10609,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/CompRepoItemAdd.groovy",
    "chars": 3615,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/CompRepoItemRemove.groovy",
    "chars": 3568,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/CompRepoItemUpdate.groovy",
    "chars": 5231,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/CompRepoReload.groovy",
    "chars": 1327,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/ConnectionTime.groovy",
    "chars": 1813,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/DNSQuery.groovy",
    "chars": 2638,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/DeleteMOTD.groovy",
    "chars": 2014,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/DeleteUser.groovy",
    "chars": 5136,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/DeleteWelcomeMessage.groovy",
    "chars": 2044,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/DisableUser.groovy",
    "chars": 4899,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/EditMOTD.groovy",
    "chars": 2685,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/EditUser.groovy",
    "chars": 3924,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/EndUserSession.groovy",
    "chars": 4914,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/ForceStopServiceForKey.groovy",
    "chars": 1942,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetAnyFile.groovy",
    "chars": 1874,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetConfigFile.groovy",
    "chars": 2609,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetConfigTDSLFromMemory.groovy",
    "chars": 1764,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetListOfActiveUsers.groovy",
    "chars": 4460,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetListOfClusterNodes.groovy",
    "chars": 1448,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetListOfIdleUsers.groovy",
    "chars": 4351,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetListOfOnlineUsers.groovy",
    "chars": 4114,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetNumberOfActiveUsers.groovy",
    "chars": 3972,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetNumberOfIdleUsers.groovy",
    "chars": 3953,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetRegisteredUserList.groovy",
    "chars": 3971,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetTopActiveUsers.groovy",
    "chars": 2556,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetUserInfo.groovy",
    "chars": 7244,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/GetUserRoster.groovy",
    "chars": 5534,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/ListCommands.groovy",
    "chars": 3875,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/ListServiceKeys.groovy",
    "chars": 1417,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/LoadErrors.groovy",
    "chars": 1790,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/OAuthCredentials.groovy",
    "chars": 2619,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/PluginManager.groovy",
    "chars": 4610,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/ReEnableUser.groovy",
    "chars": 4823,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  },
  {
    "path": "src/main/groovy/tigase/admin/RemoveUserTracker.groovy",
    "chars": 2645,
    "preview": "/*\n * Tigase XMPP Server - The instant messaging server\n * Copyright (C) 2004 Tigase, Inc. (office@tigase.com)\n *\n * Thi"
  }
]

// ... and 1207 more files (download for full content)

About this extraction

This page contains the full source code of the tigase/tigase-server GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1407 files (11.7 MB), approximately 3.1M tokens, and a symbol index with 11369 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!