if (copyPool.getTriggers() != null) { for (MWMTrigger trigger : copyPool.getTriggers()) { Set<MWMPool> p2t = triggersToPools.get(trigger.getName()); if (p2t == null) { p2t = new HashSet<>(); triggersToPools.put(trigger.getName(), p2t); Set<MWMTrigger> triggers = new HashSet<>(); for (MWMTrigger copyTrigger : src.getTriggers()) { Set<MWMPool> p2t = triggersToPools.get(copyTrigger.getName()); if (p2t == null) { p2t = new HashSet<>(); MWMTrigger trigger = new MWMTrigger(dest, copyTrigger.getName(), copyTrigger.getTriggerExpression(), copyTrigger.getActionExpression(), p2t, copyTrigger.getIsInUnmanaged()); pm.makePersistent(trigger); for (MWMPool pool : p2t) {
@Override public void dropWMTriggerToPoolMapping(String resourcePlanName, String triggerName, String poolPath, String ns) throws NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan(resourcePlanName, ns, true); MWMPool pool = getPool(resourcePlan, poolPath); MWMTrigger trigger = getTrigger(resourcePlan, triggerName); pool.getTriggers().remove(trigger); trigger.getPools().remove(pool); pm.makePersistent(pool); pm.makePersistent(trigger); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, (Query)null); } }
@Override public void alterWMTrigger(WMTrigger trigger) throws NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; Query query = null; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan( trigger.getResourcePlanName(), trigger.getNs(), true); MWMTrigger mTrigger = getTrigger(resourcePlan, trigger.getTriggerName()); // Update the object. if (trigger.isSetTriggerExpression()) { mTrigger.setTriggerExpression(trigger.getTriggerExpression()); } if (trigger.isSetActionExpression()) { mTrigger.setActionExpression(trigger.getActionExpression()); } if (trigger.isSetIsInUnmanaged()) { mTrigger.setIsInUnmanaged(trigger.isIsInUnmanaged()); } commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } }
private WMTrigger fromMWMTrigger(MWMTrigger mTrigger, String resourcePlanName) { WMTrigger trigger = new WMTrigger(); trigger.setResourcePlanName(resourcePlanName); trigger.setTriggerName(mTrigger.getName()); trigger.setTriggerExpression(mTrigger.getTriggerExpression()); trigger.setActionExpression(mTrigger.getActionExpression()); trigger.setIsInUnmanaged(mTrigger.getIsInUnmanaged()); trigger.setNs(mTrigger.getResourcePlan().getNs()); return trigger; }
private WMFullResourcePlan fullFromMResourcePlan(MWMResourcePlan mplan) { if (mplan == null) { return null; } WMFullResourcePlan rp = new WMFullResourcePlan(); rp.setPlan(fromMResourcePlan(mplan)); for (MWMPool mPool : mplan.getPools()) { rp.addToPools(fromMPool(mPool, mplan.getName())); for (MWMTrigger mTrigger : mPool.getTriggers()) { rp.addToPoolTriggers(new WMPoolTrigger(mPool.getPath(), mTrigger.getName())); } } for (MWMTrigger mTrigger : mplan.getTriggers()) { rp.addToTriggers(fromMWMTrigger(mTrigger, mplan.getName())); } for (MWMMapping mMapping : mplan.getMappings()) { rp.addToMappings(fromMMapping(mMapping, mplan.getName())); } return rp; }
@Override public void createWMTrigger(WMTrigger trigger) throws AlreadyExistsException, NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan( trigger.getResourcePlanName(), trigger.getNs(), true); MWMTrigger mTrigger = new MWMTrigger(resourcePlan, normalizeIdentifier(trigger.getTriggerName()), trigger.getTriggerExpression(), trigger.getActionExpression(), null, trigger.isSetIsInUnmanaged() && trigger.isIsInUnmanaged()); pm.makePersistent(mTrigger); commited = commitTransaction(); } catch (Exception e) { checkForConstraintException(e, "Trigger already exists, use alter: "); throw e; } finally { rollbackAndCleanup(commited, (Query)null); } }
private WMFullResourcePlan fullFromMResourcePlan(MWMResourcePlan mplan) { if (mplan == null) { return null; } WMFullResourcePlan rp = new WMFullResourcePlan(); rp.setPlan(fromMResourcePlan(mplan)); for (MWMPool mPool : mplan.getPools()) { rp.addToPools(fromMPool(mPool, mplan.getName())); for (MWMTrigger mTrigger : mPool.getTriggers()) { rp.addToPoolTriggers(new WMPoolTrigger(mPool.getPath(), mTrigger.getName())); } } for (MWMTrigger mTrigger : mplan.getTriggers()) { rp.addToTriggers(fromMWMTrigger(mTrigger, mplan.getName())); } for (MWMMapping mMapping : mplan.getMappings()) { rp.addToMappings(fromMMapping(mMapping, mplan.getName())); } return rp; }
@Override public void createWMTrigger(WMTrigger trigger) throws AlreadyExistsException, NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan(trigger.getResourcePlanName(), true); MWMTrigger mTrigger = new MWMTrigger(resourcePlan, normalizeIdentifier(trigger.getTriggerName()), trigger.getTriggerExpression(), trigger.getActionExpression(), null, trigger.isSetIsInUnmanaged() && trigger.isIsInUnmanaged()); pm.makePersistent(mTrigger); commited = commitTransaction(); } catch (Exception e) { checkForConstraintException(e, "Trigger already exists, use alter: "); throw e; } finally { rollbackAndCleanup(commited, (Query)null); } }
@Override public void alterWMTrigger(WMTrigger trigger) throws NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; Query query = null; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan(trigger.getResourcePlanName(), true); MWMTrigger mTrigger = getTrigger(resourcePlan, trigger.getTriggerName()); // Update the object. if (trigger.isSetTriggerExpression()) { mTrigger.setTriggerExpression(trigger.getTriggerExpression()); } if (trigger.isSetActionExpression()) { mTrigger.setActionExpression(trigger.getActionExpression()); } if (trigger.isSetIsInUnmanaged()) { mTrigger.setIsInUnmanaged(trigger.isIsInUnmanaged()); } commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } }
@Override public void createWMTriggerToPoolMapping(String resourcePlanName, String triggerName, String poolPath, String ns) throws AlreadyExistsException, NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan(resourcePlanName, ns, true); MWMPool pool = getPool(resourcePlan, poolPath); MWMTrigger trigger = getTrigger(resourcePlan, triggerName); pool.getTriggers().add(trigger); trigger.getPools().add(pool); pm.makePersistent(pool); pm.makePersistent(trigger); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, (Query)null); } }
private WMTrigger fromMWMTrigger(MWMTrigger mTrigger, String resourcePlanName) { WMTrigger trigger = new WMTrigger(); trigger.setResourcePlanName(resourcePlanName); trigger.setTriggerName(mTrigger.getName()); trigger.setTriggerExpression(mTrigger.getTriggerExpression()); trigger.setActionExpression(mTrigger.getActionExpression()); trigger.setIsInUnmanaged(mTrigger.getIsInUnmanaged()); return trigger; }
@Override public void dropWMTriggerToPoolMapping(String resourcePlanName, String triggerName, String poolPath) throws NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan(resourcePlanName, true); MWMPool pool = getPool(resourcePlan, poolPath); MWMTrigger trigger = getTrigger(resourcePlan, triggerName); pool.getTriggers().remove(trigger); trigger.getPools().remove(pool); pm.makePersistent(pool); pm.makePersistent(trigger); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, (Query)null); } }
if (copyPool.getTriggers() != null) { for (MWMTrigger trigger : copyPool.getTriggers()) { Set<MWMPool> p2t = triggersToPools.get(trigger.getName()); if (p2t == null) { p2t = new HashSet<>(); triggersToPools.put(trigger.getName(), p2t); Set<MWMTrigger> triggers = new HashSet<>(); for (MWMTrigger copyTrigger : src.getTriggers()) { Set<MWMPool> p2t = triggersToPools.get(copyTrigger.getName()); if (p2t == null) { p2t = new HashSet<>(); MWMTrigger trigger = new MWMTrigger(dest, copyTrigger.getName(), copyTrigger.getTriggerExpression(), copyTrigger.getActionExpression(), p2t, copyTrigger.getIsInUnmanaged()); pm.makePersistent(trigger); for (MWMPool pool : p2t) {
@Override public void createWMTriggerToPoolMapping(String resourcePlanName, String triggerName, String poolPath) throws AlreadyExistsException, NoSuchObjectException, InvalidOperationException, MetaException { boolean commited = false; try { openTransaction(); MWMResourcePlan resourcePlan = getMWMResourcePlan(resourcePlanName, true); MWMPool pool = getPool(resourcePlan, poolPath); MWMTrigger trigger = getTrigger(resourcePlan, triggerName); pool.getTriggers().add(trigger); trigger.getPools().add(pool); pm.makePersistent(pool); pm.makePersistent(trigger); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, (Query)null); } }