/* * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.endpoint; import java.util.AbstractMap.SimpleImmutableEntry; import java.util.Map; import org.opendaylight.groupbasedpolicy.api.EpRendererAugmentation; import org.opendaylight.groupbasedpolicy.api.EpRendererAugmentationRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.RegisterEndpointInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.RegisterL3PrefixEndpointInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.Endpoint; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.EndpointL3; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.EndpointL3Prefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.l3endpoint.rev151217.NatAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.l3endpoint.rev151217.NatAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.l3endpoint.rev151217.NatAddressInput; import org.opendaylight.yangtools.yang.binding.Augmentation; public class OfOverlayL3NatAug implements EpRendererAugmentation, AutoCloseable { private EpRendererAugmentationRegistry epRendererAugmentationRegistry; public OfOverlayL3NatAug(EpRendererAugmentationRegistry epRendererAugmentationRegistry) { this.epRendererAugmentationRegistry = epRendererAugmentationRegistry; this.epRendererAugmentationRegistry.register(this); } @Override public Map.Entry<Class<? extends Augmentation<Endpoint>>, Augmentation<Endpoint>> buildEndpointAugmentation( RegisterEndpointInput input) { // TODO Auto-generated method stub return null; } @Override public Map.Entry<Class<? extends Augmentation<EndpointL3>>, Augmentation<EndpointL3>> buildEndpointL3Augmentation( RegisterEndpointInput input) { if (input.getAugmentation(NatAddressInput.class) != null) { return new SimpleImmutableEntry<Class<? extends Augmentation<EndpointL3>>, Augmentation<EndpointL3>>( NatAddress.class, new NatAddressBuilder(input.getAugmentation(NatAddressInput.class)).build()); } return null; } @Override public Map.Entry<Class<? extends Augmentation<EndpointL3Prefix>>, Augmentation<EndpointL3Prefix>> buildL3PrefixEndpointAugmentation( RegisterL3PrefixEndpointInput input) { return null; } @Override public void close() throws Exception { this.epRendererAugmentationRegistry.unregister(this); } }