
edu.internet2.middleware.grouperClient.jdbc.tableSync.GcGrouperSyncJobDao Maven / Gradle / Ivy
package edu.internet2.middleware.grouperClient.jdbc.tableSync;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import edu.internet2.middleware.grouperClient.jdbc.GcDbAccess;
import edu.internet2.middleware.grouperClient.jdbc.GcPersist;
import edu.internet2.middleware.grouperClient.jdbc.GcPersistableField;
import edu.internet2.middleware.grouperClient.util.GrouperClientUtils;
/**
* dao for jobs
* @author mchyzer
*
*/
public class GcGrouperSyncJobDao {
/**
* keep an internal cache of groups by sync type
*/
@GcPersistableField(persist = GcPersist.dontPersist)
private Map internalCacheSyncJobs = new HashMap();
/**
* keep an internal cache of jobs by uuid
*/
@GcPersistableField(persist = GcPersist.dontPersist)
private Map internalCacheSyncJobsById = new HashMap();
public GcGrouperSyncJobDao() {
}
/**
* select grouper sync jobs by job id
* @param connectionName
* @param syncType
* @return the job
*/
public GcGrouperSyncJob jobCreateBySyncType(String syncType) {
GcGrouperSyncJob gcGrouperSyncJob = new GcGrouperSyncJob();
gcGrouperSyncJob.setGrouperSync(this.getGcGrouperSync());
gcGrouperSyncJob.setSyncType(syncType);
this.internal_jobStore(gcGrouperSyncJob);
this.gcGrouperSync.addObjectCreatedCount(1);
return gcGrouperSyncJob;
}
/**
* delete batch
* @param gcGrouperSyncJobs
* @param deleteLogs true if should delete logs
* @return rows deleted (jobs and logs)
*/
public int jobDelete(Collection gcGrouperSyncJobs, boolean deleteLogs) {
int count = 0;
if (GrouperClientUtils.length(gcGrouperSyncJobs) == 0) {
return 0;
}
List> batchBindVars = new ArrayList>();
Set logJobIds = new HashSet();
for (GcGrouperSyncJob gcGrouperSyncJob : gcGrouperSyncJobs) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy