static void setTableOwner(DataSource ds, String tableName, Subject s) { IdentityManager im = AuthenticationUtil.getIdentityManager(); if (im == null) { throw new RuntimeException("CONFIG: no IdentityManager implementation available"); } KeyValue kv = new KeyValue(tableName + ".owner"); KeyValueDAO dao = new KeyValueDAO(ds, null, "tap_schema"); if (s == null) { dao.delete(kv.getName()); log.debug("setOwner: " + kv.getName() + " deleted"); } else { kv.value = im.toOwner(s).toString(); dao.put(kv); log.debug("setOwner: " + kv.getName() + " = " + kv.value); } }
job.appData = identManager.toOwner(owner); prof.checkpoint("IdentityManager.toOwner");
/** * Iterator over jobs owned by the specified owner. * * @param subject * @param phases Show only these phases * @param after Only show jobs after this time * @param last Show the last <i>last</i> jobs, ordererd by startTime ascending * @return job iterator */ public Iterator<JobRef> iterator(Subject subject, String appname, List<ExecutionPhase> phases, Date after, Integer last) throws TransientException, JobPersistenceException { Object owner = identManager.toOwner(subject); log.debug("iterator(" + owner + ")"); try { JobListIterator jobListIterator = new JobListIterator(jdbc, owner, appname, phases, after, last); prof.checkpoint("JobListStatementCreator"); return jobListIterator; } catch(Throwable t) { if (DBUtil.isTransientDBException(t)) throw new TransientException("failed to get job list for owner: " + owner, t); else throw new JobPersistenceException("failed to get job list for owner: " + owner, t); } }