@SuppressWarnings("unchecked") private Map<String, EntityManager> getEmMap(Coordination coordination) { Map<String, EntityManager> emMap = (Map<String, EntityManager>)coordination.getVariables().get(EntityManager.class); if (emMap == null) { emMap = new HashMap<String, EntityManager>(); coordination.getVariables().put(EntityManager.class, emMap); } return emMap; }
/** * Get EntityManager from outer most Coordination that holds an EM * @param coordination * @return */ private EntityManager getEm(Coordination coordination) { Map<Class<?>, Object> vars = coordination.getVariables(); synchronized (vars) { return getEmMap(coordination).get(unitName); } }
private void setEm(Coordination coordination, EntityManager em) { Map<Class<?>, Object> vars = coordination.getVariables(); synchronized (vars) { Map<String, EntityManager> emMap = getEmMap(coordination); emMap.put(unitName, em); } }
private EntityManager removeEm(Coordination coordination) { Map<Class<?>, Object> vars = coordination.getVariables(); synchronized (vars) { return getEmMap(coordination).remove(unitName); } }