in core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/entity/Neo4jEntityFactory.java [151:311]
public <E extends Entity> E newEntity(final Class<E> reference) {
E result;
if (reference.equals(Realm.class)) {
result = (E) new Neo4jRealm();
} else if (reference.equals(DynRealm.class)) {
result = (E) new Neo4jDynRealm();
} else if (reference.equals(DynRealmMembership.class)) {
result = (E) new Neo4jDynRealmMembership();
} else if (reference.equals(AnyTemplateRealm.class)) {
result = (E) new Neo4jAnyTemplateRealm();
} else if (reference.equals(AccountPolicy.class)) {
result = (E) new Neo4jAccountPolicy();
} else if (reference.equals(PasswordPolicy.class)) {
result = (E) new Neo4jPasswordPolicy();
} else if (reference.equals(PropagationPolicy.class)) {
result = (E) new Neo4jPropagationPolicy();
} else if (reference.equals(PushPolicy.class)) {
result = (E) new Neo4jPushPolicy();
} else if (reference.equals(InboundPolicy.class)) {
result = (E) new Neo4jInboundPolicy();
} else if (reference.equals(InboundCorrelationRuleEntity.class)) {
result = (E) new Neo4jInboundCorrelationRuleEntity();
} else if (reference.equals(PushCorrelationRuleEntity.class)) {
result = (E) new Neo4jPushCorrelationRuleEntity();
} else if (reference.equals(AnyTypeClass.class)) {
result = (E) new Neo4jAnyTypeClass();
} else if (reference.equals(AnyType.class)) {
result = (E) new Neo4jAnyType();
} else if (reference.equals(AnyObject.class)) {
result = (E) new Neo4jAnyObject();
} else if (reference.equals(Role.class)) {
result = (E) new Neo4jRole();
} else if (reference.equals(User.class)) {
result = (E) new Neo4jUser();
} else if (reference.equals(Group.class)) {
result = (E) new Neo4jGroup();
} else if (reference.equals(TypeExtension.class)) {
result = (E) new Neo4jTypeExtension();
} else if (reference.equals(RelationshipType.class)) {
result = (E) new Neo4jRelationshipType();
} else if (reference.equals(ARelationship.class)) {
result = (E) new Neo4jARelationship();
} else if (reference.equals(GRelationship.class)) {
result = (E) new Neo4jGRelationship();
} else if (reference.equals(URelationship.class)) {
result = (E) new Neo4jURelationship();
} else if (reference.equals(AMembership.class)) {
result = (E) new Neo4jAMembership();
} else if (reference.equals(UMembership.class)) {
result = (E) new Neo4jUMembership();
} else if (reference.equals(LinkedAccount.class)) {
result = (E) new Neo4jLinkedAccount();
} else if (reference.equals(AnyAbout.class)) {
result = (E) new Neo4jAnyAbout();
} else if (reference.equals(MailTemplate.class)) {
result = (E) new Neo4jMailTemplate();
} else if (reference.equals(Notification.class)) {
result = (E) new Neo4jNotification();
} else if (reference.equals(ConnInstance.class)) {
result = (E) new Neo4jConnInstance();
} else if (reference.equals(ExternalResource.class)) {
result = (E) new Neo4jExternalResource();
} else if (reference.equals(PlainSchema.class)) {
result = (E) new Neo4jPlainSchema();
} else if (reference.equals(DerSchema.class)) {
result = (E) new Neo4jDerSchema();
} else if (reference.equals(Report.class)) {
result = (E) new Neo4jReport();
} else if (reference.equals(ReportExec.class)) {
result = (E) new Neo4jReportExec();
} else if (reference.equals(NotificationTask.class)) {
result = (E) new Neo4jNotificationTask();
} else if (reference.equals(PropagationTask.class)) {
result = (E) new Neo4jPropagationTask();
} else if (reference.equals(PushTask.class)) {
result = (E) new Neo4jPushTask();
} else if (reference.equals(LiveSyncTask.class)) {
result = (E) new Neo4jLiveSyncTask();
} else if (reference.equals(PullTask.class)) {
result = (E) new Neo4jPullTask();
} else if (reference.equals(MacroTask.class)) {
result = (E) new Neo4jMacroTask();
} else if (reference.equals(SchedTask.class)) {
result = (E) new Neo4jSchedTask();
} else if (reference.equals(AnyTemplatePullTask.class)) {
result = (E) new Neo4jAnyTemplatePullTask();
} else if (reference.equals(MacroTaskCommand.class)) {
result = (E) new Neo4jMacroTaskCommand();
} else if (reference.equals(FormPropertyDef.class)) {
result = (E) new Neo4jFormPropertyDef();
} else if (reference.equals(SecurityQuestion.class)) {
result = (E) new Neo4jSecurityQuestion();
} else if (reference.equals(AuditConf.class)) {
result = (E) new Neo4jAuditConf();
} else if (reference.equals(ADynGroupMembership.class)) {
result = (E) new Neo4jADynGroupMembership();
} else if (reference.equals(UDynGroupMembership.class)) {
result = (E) new Neo4jUDynGroupMembership();
} else if (reference.equals(AccessToken.class)) {
result = (E) new Neo4jAccessToken();
} else if (reference.equals(Implementation.class)) {
result = (E) new Neo4jImplementation();
} else if (reference.equals(Remediation.class)) {
result = (E) new Neo4jRemediation();
} else if (reference.equals(Batch.class)) {
result = (E) new Neo4jBatch();
} else if (reference.equals(Delegation.class)) {
result = (E) new Neo4jDelegation();
} else if (reference.equals(FIQLQuery.class)) {
result = (E) new Neo4jFIQLQuery();
} else if (reference.equals(JobStatus.class)) {
result = (E) new Neo4jJobStatus();
} else if (reference.equals(SRARoute.class)) {
result = (E) new Neo4jSRARoute();
} else if (reference.equals(AuthModule.class)) {
result = (E) new Neo4jAuthModule();
} else if (reference.equals(AttrRepo.class)) {
result = (E) new Neo4jAttrRepo();
} else if (reference.equals(AuthPolicy.class)) {
result = (E) new Neo4jAuthPolicy();
} else if (reference.equals(AccessPolicy.class)) {
result = (E) new Neo4jAccessPolicy();
} else if (reference.equals(AttrReleasePolicy.class)) {
result = (E) new Neo4jAttrReleasePolicy();
} else if (reference.equals(TicketExpirationPolicy.class)) {
result = (E) new Neo4jTicketExpirationPolicy();
} else if (reference.equals(OIDCRPClientApp.class)) {
result = (E) new Neo4jOIDCRPClientApp();
} else if (reference.equals(CASSPClientApp.class)) {
result = (E) new Neo4jCASSPClientApp();
} else if (reference.equals(SAML2SPClientApp.class)) {
result = (E) new Neo4jSAML2SPClientApp();
} else if (reference.equals(SAML2IdPEntity.class)) {
result = (E) new Neo4jSAML2IdPEntity();
} else if (reference.equals(SAML2SPEntity.class)) {
result = (E) new Neo4jSAML2SPEntity();
} else if (reference.equals(AuthProfile.class)) {
result = (E) new Neo4jAuthProfile();
} else if (reference.equals(OIDCJWKS.class)) {
result = (E) new Neo4jOIDCJWKS();
} else if (reference.equals(WAConfigEntry.class)) {
result = (E) new Neo4jWAConfigEntry();
} else if (reference.equals(ConfParam.class)) {
result = (E) new Neo4jConfParam();
} else if (reference.equals(DomainEntity.class)) {
result = (E) new Neo4jDomain();
} else if (reference.equals(NetworkServiceEntity.class)) {
result = (E) new Neo4jNetworkService();
} else if (reference.equals(AuditEvent.class)) {
result = (E) new Neo4jAuditEvent();
} else {
throw new IllegalArgumentException("Could not find a Neo4j implementation of " + reference.getName());
}
if (result instanceof AbstractGeneratedKeyNode generatedKeyEntity) {
generatedKeyEntity.setKey(SecureRandomUtils.generateRandomUUID().toString());
}
return result;
}