diff --git a/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java b/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java index e6132c00..479cb705 100644 --- a/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java +++ b/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java @@ -25,6 +25,10 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable String id; @Column String syncId; + + @Column + String sessionId; + @Column String syncName; @Column @@ -104,6 +108,12 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable public void setEndDate(String endDate) { this.endDate = endDate; } + public String getSessionId() { + return sessionId; + } + public void setSessionId(String sessionId) { + this.sessionId = sessionId; + } @Override public String toString() { StringBuilder builder = new StringBuilder(); @@ -111,6 +121,8 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable builder.append(id); builder.append(", syncId="); builder.append(syncId); + builder.append(", sessionId="); + builder.append(sessionId); builder.append(", syncName="); builder.append(syncName); builder.append(", objectId="); @@ -123,6 +135,10 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable builder.append(syncTime); builder.append(", result="); builder.append(result); + builder.append(", startDate="); + builder.append(startDate); + builder.append(", endDate="); + builder.append(endDate); builder.append("]"); return builder.toString(); } diff --git a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/AbstractSynchronizerService.java b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/AbstractSynchronizerService.java index 46f68926..6d0cadcf 100644 --- a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/AbstractSynchronizerService.java +++ b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/AbstractSynchronizerService.java @@ -8,6 +8,7 @@ import org.maxkey.entity.Synchronizers; import org.maxkey.persistence.service.HistorySynchronizerService; import org.maxkey.persistence.service.OrganizationsService; import org.maxkey.persistence.service.UserInfoService; +import org.maxkey.web.WebContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +32,7 @@ public abstract class AbstractSynchronizerService { protected Organizations rootOrganization = null; + protected String sessionId; public void loadOrgsById(String orgId) { List orgsList = organizationsService.query(null); @@ -124,6 +126,19 @@ public abstract class AbstractSynchronizerService { public void setHistorySynchronizerService(HistorySynchronizerService historySynchronizerService) { this.historySynchronizerService = historySynchronizerService; } + + + public String getSessionId() { + return sessionId; + } + + public void setSessionId(String sessionId) { + this.sessionId = sessionId; + } + + public void genSessionId(){ + this.sessionId = WebContext.genId(); + } } diff --git a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java index 9ca78b61..316450d8 100644 --- a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java +++ b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java @@ -30,6 +30,7 @@ import org.maxkey.persistence.ldap.ActiveDirectoryUtils; import org.maxkey.persistence.ldap.LdapUtils; import org.maxkey.synchronizer.AbstractSynchronizerService; import org.maxkey.synchronizer.ISynchronizerService; +import org.maxkey.web.WebContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -40,9 +41,11 @@ public class ActiveDirectoryOrganizationService extends AbstractSynchronizerSer ActiveDirectoryUtils ldapUtils; + public void sync() { loadOrgsById("1"); _logger.info("Sync Organizations ..."); + genSessionId(); try { SearchControls constraints = new SearchControls(); constraints.setSearchScope(ldapUtils.getSearchScope()); @@ -125,6 +128,7 @@ public class ActiveDirectoryOrganizationService extends AbstractSynchronizerSer organizationsService.insert(org); HistorySynchronizer historySynchronizer =new HistorySynchronizer(); historySynchronizer.setId(historySynchronizer.generateId()); + historySynchronizer.setSessionId(this.getSessionId()); historySynchronizer.setSyncId(this.synchronizer.getId()); historySynchronizer.setSyncName(this.synchronizer.getName()); historySynchronizer.setObjectId(org.getId()); diff --git a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java index d5b6d9d6..0310f99b 100644 --- a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java +++ b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java @@ -44,6 +44,7 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService public void sync() { _logger.info("Sync Users..."); loadOrgsById("1"); + genSessionId(); try { SearchControls constraints = new SearchControls(); constraints.setSearchScope(ldapUtils.getSearchScope()); @@ -160,6 +161,7 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService userInfoService.insert(userInfo); HistorySynchronizer historySynchronizer =new HistorySynchronizer(); historySynchronizer.setId(historySynchronizer.generateId()); + historySynchronizer.setSessionId(this.getSessionId()); historySynchronizer.setSyncId(this.synchronizer.getId()); historySynchronizer.setSyncName(this.synchronizer.getName()); historySynchronizer.setObjectId(userInfo.getId()); diff --git a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java index 2bb269af..9b16889e 100644 --- a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java +++ b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java @@ -43,6 +43,7 @@ public class LdapOrganizationService extends AbstractSynchronizerService implem public void sync() { _logger.info("Sync Organizations ..."); loadOrgsById("1"); + genSessionId(); try { SearchControls constraints = new SearchControls(); constraints.setSearchScope(ldapUtils.getSearchScope()); @@ -123,6 +124,7 @@ public class LdapOrganizationService extends AbstractSynchronizerService implem HistorySynchronizer historySynchronizer =new HistorySynchronizer(); historySynchronizer.setId(historySynchronizer.generateId()); historySynchronizer.setSyncId(this.synchronizer.getId()); + historySynchronizer.setSessionId(this.getSessionId()); historySynchronizer.setSyncName(this.synchronizer.getName()); historySynchronizer.setObjectId(org.getId()); historySynchronizer.setObjectName(org.getName()); diff --git a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java index 4a96b9ae..bed85e3d 100644 --- a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java +++ b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java @@ -43,6 +43,7 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS public void sync() { _logger.info("Sync Users..."); loadOrgsById("1"); + genSessionId(); try { SearchControls constraints = new SearchControls(); constraints.setSearchScope(ldapUtils.getSearchScope()); @@ -146,6 +147,7 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS userInfoService.insert(userInfo); HistorySynchronizer historySynchronizer =new HistorySynchronizer(); historySynchronizer.setId(historySynchronizer.generateId()); + historySynchronizer.setSessionId(this.getSessionId()); historySynchronizer.setSyncId(this.synchronizer.getId()); historySynchronizer.setSyncName(this.synchronizer.getName()); historySynchronizer.setObjectId(userInfo.getId());