public void run(final FlowTrigger trigger, final Map data) { final VipInventory v = (VipInventory) data.get(VipConstant.Params.VIP.toString()); final String serviceProviderType = (String) data.get(VipConstant.Params.VIP_SERVICE_PROVIDER_TYPE.toString()); final L3NetworkInventory peerL3 = (L3NetworkInventory) data.get(VipConstant.Params.GUEST_L3NETWORK_VIP_FOR.toString()); boolean needLockVip = data.containsKey(Params.NEED_LOCK_VIP.toString()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor( PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip vip = new Vip(v.getUuid()); vip.setStruct(struct); vip.acquire(new Completion(trigger) { @Override public void success() { trigger.next(); } @Override public void fail(ErrorCode errorCode) { trigger.fail(errorCode); } }); }
@Override public void rollback(final FlowRollback trigger, Map data) { if (!data.containsKey(SUCCESS)) { trigger.rollback(); return; } VipInventory v = (VipInventory) data.get(VipConstant.Params.VIP.toString()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor( PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip vip = new Vip(v.getUuid()); vip.setStruct(struct); vip.release(new Completion(trigger) { @Override public void success() { trigger.rollback(); } @Override public void fail(ErrorCode errorCode) { //TODO add GC logger.warn(errorCode.toString()); trigger.rollback(); } }); } }
@Override public void run(final FlowTrigger trigger, Map data) { VipInventory v = (VipInventory) data.get(VipConstant.Params.VIP.toString()); ModifyVipAttributesStruct struct = new ModifyVipAttributesStruct(); struct.setUseFor( PortForwardingConstant.PORTFORWARDING_NETWORK_SERVICE_TYPE); Vip vip = new Vip(v.getUuid()); vip.setStruct(struct); vip.release(new Completion(trigger) { @Override public void success() { trigger.next(); } @Override public void fail(ErrorCode errorCode) { trigger.fail(errorCode); } }); } }
@Override public void run(final FlowTrigger trigger, Map data) { VipInventory vip = (VipInventory) data.get(VipConstant.Params.VIP.toString()); VipReleaseExtensionPoint ext = vipMgr.getVipReleaseExtensionPoint(vip.getUseFor()); ext.releaseServicesOnVip(vip, new Completion(trigger) { @Override public void success() { trigger.next(); } @Override public void fail(ErrorCode errorCode) { trigger.fail(errorCode); } }); } }