public DeploymentUnit removeContext(ControllerContext context, DeploymentUnit unit) { check(context, unit); lock.writeLock().lock(); try { Set<ControllerContext> contexts = deploymentMapping.get(unit); if (contexts != null) { contexts.remove(context); if (contexts.isEmpty()) deploymentMapping.remove(unit); } } finally { lock.writeLock().unlock(); } return contextMapping.remove(context); }
public DeploymentUnit putContext(ControllerContext context, DeploymentUnit unit) { check(context, unit); lock.writeLock().lock(); try { Set<ControllerContext> contexts = deploymentMapping.get(unit); if (contexts == null) { contexts = new HashSet<ControllerContext>(); deploymentMapping.put(unit, contexts); } contexts.add(context); } finally { lock.writeLock().unlock(); } return contextMapping.put(context, unit); }