Merge branch 'master' into SYNCOPE-156
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/d0116264 Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/d0116264 Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/d0116264 Branch: refs/heads/SYNCOPE-156 Commit: d0116264b576e125d1e70e4f7adbaf6de4be0e29 Parents: 62f5e4e 4b2dc4d Author: Marco Di Sabatino Di Diodoro <mdisabat...@apache.org> Authored: Fri Aug 14 10:11:06 2015 +0200 Committer: Marco Di Sabatino Di Diodoro <mdisabat...@apache.org> Committed: Fri Aug 14 10:11:06 2015 +0200 ---------------------------------------------------------------------- .travis.yml | 8 +- .../client/cli/commands/LoggerCommand.java | 6 +- .../client/console/SyncopeConsoleSession.java | 43 +- .../syncope/client/console/pages/BasePage.java | 5 +- .../console/pages/BulkActionModalPage.java | 12 +- .../syncope/client/console/pages/Login.java | 49 + .../syncope/client/console/pages/Realms.java | 4 - .../client/console/rest/BaseRestClient.java | 3 - .../client/console/rest/GroupRestClient.java | 14 +- .../client/console/rest/LoggerRestClient.java | 11 +- .../client/console/rest/RealmRestClient.java | 2 +- .../client/console/rest/UserRestClient.java | 20 +- .../syncope/client/console/pages/BasePage.html | 7 + .../syncope/client/console/pages/Login.html | 1 + .../client/lib/SyncopeClientFactoryBean.java | 32 +- .../client/console/pages/Configuration.java | 2 - .../syncope/common/lib/SyncopeConstants.java | 2 + .../syncope/common/lib/jaxb/package-info.java | 23 + .../syncope/common/lib/mod/StatusMod.java | 2 + .../syncope/common/lib/to/AbstractSchemaTO.java | 11 + .../syncope/common/lib/to/BulkAction.java | 10 +- .../apache/syncope/common/lib/to/DomainTO.java | 62 + .../apache/syncope/common/lib/to/LoggerTO.java | 2 + .../syncope/common/lib/to/SchedTaskTO.java | 10 +- .../common/lib/types/AbstractPolicySpec.java | 19 + .../syncope/common/lib/types/AuditElements.java | 8 + .../syncope/common/lib/types/Entitlement.java | 10 +- .../syncope/common/lib/types/LoggerType.java | 5 +- .../lib/types/ResourceAssociationAction.java | 39 + .../types/ResourceAssociationActionType.java | 39 - .../common/rest/api/CollectionWrapper.java | 8 +- .../syncope/common/rest/api/RESTHeaders.java | 2 + .../common/rest/api/service/AnyService.java | 8 +- .../rest/api/service/AnyTypeClassService.java | 2 +- .../common/rest/api/service/DomainService.java | 96 ++ .../common/rest/api/service/LoggerService.java | 6 +- .../common/rest/api/service/ReportService.java | 2 +- .../common/rest/api/service/TaskService.java | 2 +- .../common/rest/api/service/UserService.java | 5 +- core/logic/pom.xml | 29 + .../syncope/core/logic/AbstractAnyLogic.java | 25 +- .../syncope/core/logic/AbstractLogic.java | 3 - .../syncope/core/logic/AnyObjectLogic.java | 167 +-- .../syncope/core/logic/AnyTypeClassLogic.java | 36 +- .../apache/syncope/core/logic/AnyTypeLogic.java | 2 +- .../syncope/core/logic/ConfigurationLogic.java | 3 +- .../apache/syncope/core/logic/DomainLogic.java | 143 +++ .../apache/syncope/core/logic/GroupLogic.java | 188 +-- .../apache/syncope/core/logic/LoggerLogic.java | 33 +- .../syncope/core/logic/ResourceLogic.java | 4 - .../apache/syncope/core/logic/SchemaLogic.java | 33 +- .../apache/syncope/core/logic/SyncopeLogic.java | 2 +- .../apache/syncope/core/logic/TaskLogic.java | 76 +- .../apache/syncope/core/logic/UserLogic.java | 167 ++- .../logic/audit/AuditConnectionFactory.java | 159 --- .../init/ImplementationClassNamesLoader.java | 18 +- .../core/logic/init/JobInstanceLoaderImpl.java | 181 ++- .../syncope/core/logic/init/LoggerAccessor.java | 95 ++ .../syncope/core/logic/init/LoggerLoader.java | 107 +- .../core/logic/init/LogicInitializer.java | 3 + .../logic/notification/NotificationJob.java | 237 +--- .../notification/NotificationJobDelegate.java | 258 ++++ .../syncope/core/logic/report/ReportJob.java | 158 +-- .../core/logic/report/ReportJobDelegate.java | 181 +++ .../apache/syncope/core/logic/AbstractTest.java | 5 +- .../apache/syncope/core/logic/MappingTest.java | 67 -- .../syncope/core/logic/NotificationTest.java | 6 +- core/logic/src/test/resources/logicTest.xml | 23 +- core/misc/pom.xml | 7 +- .../apache/syncope/core/misc/AuditManager.java | 23 +- .../apache/syncope/core/misc/MappingUtils.java | 26 +- .../apache/syncope/core/misc/RealmUtils.java | 4 +- .../core/misc/policy/AccountPolicyEnforcer.java | 18 +- .../misc/policy/PasswordPolicyEnforcer.java | 7 +- .../core/misc/policy/PolicyEnforcer.java | 27 - .../core/misc/policy/PolicyEvaluator.java | 5 +- .../core/misc/security/AuthContextUtils.java | 66 +- .../core/misc/security/AuthDataAccessor.java | 288 +++++ .../core/misc/security/PasswordGenerator.java | 15 +- .../security/SyncopeAuthenticationDetails.java | 86 ++ .../SyncopeAuthenticationDetailsSource.java | 32 + .../security/SyncopeAuthenticationProvider.java | 278 ++--- .../misc/security/SyncopeGrantedAuthority.java | 7 + .../security/SyncopeUserDetailsService.java | 88 +- .../misc/security/UnauthorizedException.java | 5 +- .../misc/spring/ApplicationContextProvider.java | 12 +- .../misc/src/main/resources/securityContext.xml | 7 +- .../core/persistence/api/DomainsHolder.java | 27 + .../api/content/ContentExporter.java | 2 +- .../core/persistence/api/dao/DomainDAO.java | 33 + .../core/persistence/api/dao/UserDAO.java | 3 + .../core/persistence/api/entity/Domain.java | 32 + .../persistence/api/entity/task/SchedTask.java | 4 +- core/persistence-jpa/pom.xml | 12 +- .../jpa/content/AbstractContentDealer.java | 57 +- .../jpa/content/XMLContentExporter.java | 36 +- .../jpa/content/XMLContentLoader.java | 113 +- .../persistence/jpa/dao/AbstractAnyDAO.java | 17 +- .../core/persistence/jpa/dao/AbstractDAO.java | 51 +- .../persistence/jpa/dao/JPAAnyObjectDAO.java | 8 +- .../persistence/jpa/dao/JPAAnySearchDAO.java | 15 +- .../persistence/jpa/dao/JPAAnyTypeClassDAO.java | 20 +- .../core/persistence/jpa/dao/JPAAnyTypeDAO.java | 10 +- .../core/persistence/jpa/dao/JPAConfDAO.java | 8 +- .../persistence/jpa/dao/JPAConnInstanceDAO.java | 8 +- .../core/persistence/jpa/dao/JPADerAttrDAO.java | 8 +- .../persistence/jpa/dao/JPADerSchemaDAO.java | 12 +- .../core/persistence/jpa/dao/JPADomainDAO.java | 59 + .../jpa/dao/JPAExternalResourceDAO.java | 28 +- .../core/persistence/jpa/dao/JPAGroupDAO.java | 16 +- .../core/persistence/jpa/dao/JPALoggerDAO.java | 8 +- .../persistence/jpa/dao/JPANotificationDAO.java | 8 +- .../persistence/jpa/dao/JPAPlainAttrDAO.java | 4 +- .../jpa/dao/JPAPlainAttrValueDAO.java | 8 +- .../persistence/jpa/dao/JPAPlainSchemaDAO.java | 12 +- .../core/persistence/jpa/dao/JPAPolicyDAO.java | 12 +- .../core/persistence/jpa/dao/JPARealmDAO.java | 14 +- .../jpa/dao/JPARelationshipTypeDAO.java | 14 +- .../core/persistence/jpa/dao/JPAReportDAO.java | 13 +- .../persistence/jpa/dao/JPAReportExecDAO.java | 10 +- .../core/persistence/jpa/dao/JPARoleDAO.java | 21 +- .../jpa/dao/JPASecurityQuestionDAO.java | 8 +- .../core/persistence/jpa/dao/JPATaskDAO.java | 15 +- .../persistence/jpa/dao/JPATaskExecDAO.java | 10 +- .../core/persistence/jpa/dao/JPAUserDAO.java | 176 ++- .../core/persistence/jpa/dao/JPAVirAttrDAO.java | 8 +- .../persistence/jpa/dao/JPAVirSchemaDAO.java | 12 +- .../jpa/entity/AnnotatedEntityListener.java | 2 +- .../persistence/jpa/entity/JPADerSchema.java | 3 +- .../core/persistence/jpa/entity/JPADomain.java | 79 ++ .../jpa/entity/JPAEntityFactory.java | 5 +- .../persistence/jpa/entity/JPAPlainSchema.java | 3 +- .../persistence/jpa/entity/JPAVirSchema.java | 3 +- .../persistence/jpa/entity/group/JPAGroup.java | 2 +- .../entity/task/AbstractProvisioningTask.java | 6 +- .../jpa/entity/task/JPAPushTask.java | 3 +- .../jpa/entity/task/JPASchedTask.java | 11 +- .../jpa/entity/task/JPASyncTask.java | 3 +- .../persistence/jpa/entity/user/JPAUser.java | 10 +- .../spring/CommonEntityManagerFactoryConf.java | 107 ++ .../spring/DomainEntityManagerFactoryBean.java | 45 + .../spring/DomainTransactionInterceptor.java | 70 ++ .../jpa/spring/SpringComponentReplacer.java | 42 + .../jpa/validation/entity/DomainCheck.java | 41 + .../jpa/validation/entity/DomainValidator.java | 42 + .../entity/EntityValidationListener.java | 2 +- .../entity/ProvisioningTaskValidator.java | 14 +- .../validation/entity/SchedTaskValidator.java | 44 +- .../jpa/validation/entity/UserCheck.java | 41 - .../jpa/validation/entity/UserValidator.java | 199 --- .../src/main/resources/audit/audit.sql | 4 +- .../src/main/resources/content.xml | 117 -- .../src/main/resources/domains.xml | 56 + .../main/resources/domains/Master.properties | 28 + .../main/resources/domains/MasterContent.xml | 124 ++ .../src/main/resources/domains/MasterDomain.xml | 125 ++ .../src/main/resources/persistence.properties | 12 - .../src/main/resources/persistenceContext.xml | 93 +- .../resources/persistenceContextEMFactory.xml | 67 -- .../src/main/resources/quartz/tables_h2.sql | 266 ---- .../main/resources/quartz/tables_mariadb.sql | 206 ---- .../src/main/resources/quartz/tables_mysql.sql | 206 ---- .../resources/quartz/tables_mysql_innodb.sql | 221 ---- .../src/main/resources/quartz/tables_oracle.sql | 208 ---- .../main/resources/quartz/tables_postgres.sql | 204 ---- .../main/resources/quartz/tables_sqlServer.sql | 296 ----- .../core/persistence/jpa/AbstractTest.java | 16 + .../core/persistence/jpa/inner/DomainTest.java | 88 ++ .../persistence/jpa/inner/MultitenancyTest.java | 111 ++ .../core/persistence/jpa/inner/TaskTest.java | 27 + .../core/persistence/jpa/inner/UserTest.java | 20 +- .../persistence/jpa/outer/AnyTypeClassTest.java | 32 + .../core/persistence/jpa/outer/GroupTest.java | 11 +- .../persistence/jpa/outer/ResourceTest.java | 5 +- .../core/persistence/jpa/outer/RoleTest.java | 41 +- .../resources/META-INF/persistence-enhance.xml | 2 +- .../src/test/resources/content.xml | 1138 ------------------ .../test/resources/domains/Master.properties | 28 + .../test/resources/domains/MasterContent.xml | 1131 +++++++++++++++++ .../src/test/resources/domains/Two.properties | 28 + .../src/test/resources/domains/TwoContent.xml | 134 +++ .../src/test/resources/domains/TwoDomain.xml | 125 ++ .../src/test/resources/persistence.properties | 30 - .../src/test/resources/persistenceTest.xml | 1 + .../api/AnyObjectProvisioningManager.java | 5 + .../api/GroupProvisioningManager.java | 3 + .../api/UserProvisioningManager.java | 14 +- .../core/provisioning/api/UserSuspender.java | 26 - .../provisioning/api/data/DomainDataBinder.java | 31 + .../provisioning/api/data/SchemaDataBinder.java | 18 +- .../provisioning/api/job/JobInstanceLoader.java | 12 +- .../core/provisioning/api/job/JobNamer.java | 10 +- .../provisioning/api/job/ProvisioningJob.java | 28 - .../core/provisioning/api/job/PushJob.java | 26 - .../api/job/SchedTaskJobDelegate.java | 26 + .../core/provisioning/api/job/SyncJob.java | 26 - .../core/provisioning/api/job/TaskJob.java | 43 - .../api/propagation/PropagationManager.java | 5 +- core/provisioning-java/pom.xml | 13 + .../provisioning/java/ConnectorFacadeProxy.java | 2 +- .../provisioning/java/ConnectorManager.java | 2 +- .../DefaultAnyObjectProvisioningManager.java | 46 +- .../java/DefaultGroupProvisioningManager.java | 62 +- .../java/DefaultUserProvisioningManager.java | 133 +- .../provisioning/java/UserSuspenderImpl.java | 51 - .../java/data/AbstractAnyDataBinder.java | 18 +- .../java/data/AnyObjectDataBinderImpl.java | 2 - .../java/data/AnyTypeClassDataBinderImpl.java | 27 +- .../java/data/ConfigurationDataBinderImpl.java | 2 - .../java/data/DomainDataBinderImpl.java | 70 ++ .../java/data/SchemaDataBinderImpl.java | 155 ++- .../java/data/TaskDataBinderImpl.java | 8 +- .../java/data/UserDataBinderImpl.java | 8 +- .../java/job/AbstractSchedTaskJobDelegate.java | 144 +++ .../provisioning/java/job/AbstractTaskJob.java | 216 ---- .../java/job/AbstractTransactionalTaskJob.java | 35 - .../core/provisioning/java/job/SampleJob.java | 52 - .../java/job/SpringBeanJobFactory.java | 12 +- .../core/provisioning/java/job/TaskJob.java | 119 ++ .../propagation/PropagationManagerImpl.java | 6 +- .../java/sync/AbstractProvisioningJob.java | 478 -------- .../sync/AbstractProvisioningJobDelegate.java | 434 +++++++ .../java/sync/AbstractPushResultHandler.java | 3 +- .../java/sync/AbstractSyncResultHandler.java | 6 +- .../java/sync/AbstractSyncopeResultHandler.java | 2 +- .../provisioning/java/sync/PushJobDelegate.java | 192 +++ .../provisioning/java/sync/PushJobImpl.java | 189 --- .../provisioning/java/sync/SyncJobDelegate.java | 221 ++++ .../provisioning/java/sync/SyncJobImpl.java | 212 ---- .../core/provisioning/java/sync/SyncUtils.java | 2 + .../java/sync/UserSyncResultHandlerImpl.java | 7 +- .../src/main/resources/provisioning.properties | 3 + .../src/main/resources/provisioningContext.xml | 27 +- .../src/main/resources/quartz/tables_h2.sql | 266 ++++ .../main/resources/quartz/tables_mariadb.sql | 206 ++++ .../src/main/resources/quartz/tables_mysql.sql | 206 ++++ .../resources/quartz/tables_mysql_innodb.sql | 221 ++++ .../src/main/resources/quartz/tables_oracle.sql | 208 ++++ .../main/resources/quartz/tables_postgres.sql | 204 ++++ .../main/resources/quartz/tables_sqlServer.sql | 296 +++++ .../core/provisioning/java/AbstractTest.java | 2 + .../provisioning/java/ConnectorManagerTest.java | 2 +- .../core/provisioning/java/MappingTest.java | 69 ++ .../java/ResourceDataBinderTest.java | 130 ++ .../core/provisioning/java/TestInitializer.java | 37 + .../java/data/ResourceDataBinderTest.java | 132 -- .../src/test/resources/provisioningTest.xml | 7 +- .../syncope/core/rest/cxf/AddDomainFilter.java | 39 + .../syncope/core/rest/cxf/AddETagFilter.java | 48 + .../rest/cxf/service/AbstractAnyService.java | 14 +- .../core/rest/cxf/service/AddETagFilter.java | 50 - .../rest/cxf/service/ConnectorServiceImpl.java | 2 +- .../rest/cxf/service/DomainServiceImpl.java | 66 + .../rest/cxf/service/LoggerServiceImpl.java | 10 +- .../rest/cxf/service/ResourceServiceImpl.java | 2 +- .../core/rest/cxf/service/TaskServiceImpl.java | 2 +- .../rest/cxf/service/UserSelfServiceImpl.java | 6 +- .../core/rest/cxf/service/UserServiceImpl.java | 5 +- .../src/main/resources/restCXFContext.xml | 7 +- .../activiti/ActivitiDefinitionLoader.java | 67 +- .../workflow/activiti/ActivitiImportUtils.java | 35 +- .../activiti/ActivitiUserWorkflowAdapter.java | 153 ++- .../activiti/spring/DomainProcessEngine.java | 102 ++ .../spring/DomainProcessEngineFactoryBean.java | 104 ++ .../task/AbstractActivitiServiceTask.java | 7 +- .../workflow/activiti/task/AutoActivate.java | 2 +- .../core/workflow/activiti/task/Create.java | 8 +- .../core/workflow/activiti/task/Delete.java | 5 +- .../workflow/activiti/task/GenerateToken.java | 5 +- .../core/workflow/activiti/task/Notify.java | 9 +- .../workflow/activiti/task/PasswordReset.java | 11 +- .../core/workflow/activiti/task/Update.java | 12 +- .../main/resources/workflowActivitiContext.xml | 17 +- .../core/workflow/api/UserWorkflowAdapter.java | 13 +- .../java/AbstractAnyObjectWorkflowAdapter.java | 3 +- .../java/AbstractGroupWorkflowAdapter.java | 3 +- .../java/AbstractUserWorkflowAdapter.java | 57 +- .../java/DefaultUserWorkflowAdapter.java | 2 - .../core/logic/init/CamelRouteLoader.java | 28 +- .../persistence/jpa/dao/JPACamelRouteDAO.java | 10 +- .../camel/AbstractCamelProvisioningManager.java | 4 +- .../CamelAnyObjectProvisioningManager.java | 19 + .../camel/CamelGroupProvisioningManager.java | 23 +- .../camel/CamelUserProvisioningManager.java | 67 +- .../processor/AnyObjectCreateProcessor.java | 2 +- .../processor/AnyObjectDeleteProcessor.java | 2 +- .../AnyObjectDeprovisionProcessor.java | 2 +- .../processor/AnyObjectProvisionProcessor.java | 77 ++ .../processor/AnyObjectUpdateProcessor.java | 2 +- .../camel/processor/GroupCreateProcessor.java | 2 +- .../camel/processor/GroupDeleteProcessor.java | 2 +- .../processor/GroupDeprovisionProcessor.java | 4 +- .../processor/GroupProvisionProcessor.java | 77 ++ .../camel/processor/GroupUpdateProcessor.java | 2 +- .../processor/UserConfirmPwdResetProcessor.java | 7 +- .../camel/processor/UserCreateProcessor.java | 2 +- .../camel/processor/UserDeleteProcessor.java | 2 +- .../processor/UserDeprovisionProcessor.java | 2 +- .../processor/UserInnerSuspendProcessor.java | 61 - .../processor/UserInternalSuspendProcessor.java | 61 + .../camel/processor/UserProvisionProcessor.java | 98 ++ .../processor/UserSetStatusInSyncProcessor.java | 2 +- .../UserStatusPropagationProcessor.java | 13 +- .../processor/UserUpdateInSyncProcessor.java | 2 +- .../camel/processor/UserUpdateProcessor.java | 2 +- .../src/main/resources/anyObjectRoutes.xml | 6 + .../src/main/resources/groupRoutes.xml | 6 + .../src/main/resources/userRoutes.xml | 20 +- fit/core-reference/pom.xml | 10 +- .../fit/core/reference/TestSampleJob.java | 64 - .../core/reference/TestSampleJobDelegate.java | 64 + .../main/resources/all/provisioning.properties | 6 +- .../src/main/resources/coreContext.xml | 2 + .../src/main/resources/log4j2.xml | 41 +- .../src/main/resources/provisioning.properties | 4 + .../src/main/webapp/cacheStats.jsp | 5 +- fit/core-reference/src/main/webapp/db.jsp | 3 +- .../fit/core/reference/AbstractITCase.java | 19 +- .../fit/core/reference/AbstractTaskITCase.java | 22 +- .../fit/core/reference/AnyTypeClassITCase.java | 24 +- .../fit/core/reference/AnyTypeITCase.java | 1 - .../core/reference/AuthenticationITCase.java | 102 +- .../fit/core/reference/CamelRouteITCase.java | 5 +- .../fit/core/reference/ConnectorITCase.java | 9 +- .../fit/core/reference/DomainITCase.java | 118 ++ .../core/reference/ExceptionMapperITCase.java | 3 +- .../syncope/fit/core/reference/GroupITCase.java | 24 +- .../fit/core/reference/LoggerITCase.java | 11 +- .../fit/core/reference/MultitenancyITCase.java | 214 ++++ .../core/reference/PropagationTaskITCase.java | 2 +- .../fit/core/reference/PushTaskITCase.java | 25 +- .../fit/core/reference/ResourceITCase.java | 2 +- .../fit/core/reference/SchedTaskITCase.java | 5 +- .../fit/core/reference/SyncTaskITCase.java | 57 +- .../syncope/fit/core/reference/UserITCase.java | 85 +- .../fit/core/reference/VirAttrITCase.java | 6 +- pom.xml | 12 +- 337 files changed, 10976 insertions(+), 7572 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/d0116264/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/d0116264/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/d0116264/client/console/src/main/java/org/apache/syncope/client/console/rest/RealmRestClient.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/d0116264/client/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java ----------------------------------------------------------------------