From a020afd9f99763e86f2fcfad42d278c74c96fcb0 Mon Sep 17 00:00:00 2001 From: Matej Perina Date: Thu, 18 Aug 2016 14:42:32 +0200 Subject: [PATCH] BUG 6396 neutron-mapper project migration to blueprint Change-Id: Ie529605fc79e185ef9e54d9ed6a83e4c228464db Signed-off-by: Matej Perina --- .../src/main/config/default-config.xml | 10 ------- .../impl/NeutronMapperInstance.java | 28 +++++++++++++++++++ .../impl/NeutronMapperModule.java | 6 ++-- .../neutron/mapper/NeutronMapper.java | 6 ++-- .../opendaylight/blueprint/neutron-mapper.xml | 16 +++++++++++ .../src/main/yang/neutron-mapper-impl.yang | 19 ------------- .../neutron/mapper/NeutronMapperTest.java | 14 ++++------ 7 files changed, 54 insertions(+), 45 deletions(-) create mode 100644 neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperInstance.java create mode 100644 neutron-mapper/src/main/resources/org/opendaylight/blueprint/neutron-mapper.xml diff --git a/neutron-mapper/src/main/config/default-config.xml b/neutron-mapper/src/main/config/default-config.xml index 2ba6576cf..725473dd8 100644 --- a/neutron-mapper/src/main/config/default-config.xml +++ b/neutron-mapper/src/main/config/default-config.xml @@ -15,16 +15,6 @@ neutron-mapper:neutron-mapper-impl neutron-mapper-impl - - - binding:binding-rpc-registry - binding-rpc-broker - - - - binding:binding-async-data-broker - binding-data-broker - diff --git a/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperInstance.java b/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperInstance.java new file mode 100644 index 000000000..dc03214a9 --- /dev/null +++ b/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperInstance.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2016 Cisco Systems, Inc. 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.controller.config.yang.config.neutron_mapper.impl; + +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.groupbasedpolicy.neutron.mapper.NeutronMapper; +import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.base_endpoint.rev160427.BaseEndpointService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.EndpointService; + +public class NeutronMapperInstance implements AutoCloseable{ + + private NeutronMapper mapper; + + public NeutronMapperInstance (DataBroker dataBroker, EndpointService epService, + BaseEndpointService baseEndpointService) { + mapper = new NeutronMapper(dataBroker, epService, baseEndpointService); + } + @Override + public void close() throws Exception { + mapper.close(); + } +} diff --git a/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperModule.java b/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperModule.java index 0d5434161..c3d97adac 100644 --- a/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperModule.java +++ b/neutron-mapper/src/main/java/org/opendaylight/controller/config/yang/config/neutron_mapper/impl/NeutronMapperModule.java @@ -8,7 +8,7 @@ package org.opendaylight.controller.config.yang.config.neutron_mapper.impl; -import org.opendaylight.groupbasedpolicy.neutron.mapper.NeutronMapper; +import org.opendaylight.controller.sal.common.util.NoopAutoCloseable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,9 +31,7 @@ public class NeutronMapperModule extends org.opendaylight.controller.config.yang @Override public java.lang.AutoCloseable createInstance() { - final NeutronMapper neutronMapper = new NeutronMapper(getDataBrokerDependency(), getRpcRegistryDependency()); - LOG.info("Neutron mapper started."); - return neutronMapper; + return NoopAutoCloseable.INSTANCE; } public static boolean isDebugEnabled() { diff --git a/neutron-mapper/src/main/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapper.java b/neutron-mapper/src/main/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapper.java index 71456e344..ea1ea847c 100644 --- a/neutron-mapper/src/main/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapper.java +++ b/neutron-mapper/src/main/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapper.java @@ -22,7 +22,6 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener; import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier; import org.opendaylight.controller.md.sal.binding.api.DataTreeModification; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronAware; import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronFloatingIpAware; import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronNetworkAware; @@ -105,9 +104,8 @@ public class NeutronMapper implements DataTreeChangeListener, AutoClose private Neutron neutronBefore; private Neutron neutronAfter; - public NeutronMapper(DataBroker dataProvider, RpcProviderRegistry rpcProvider) { - EndpointService epService = rpcProvider.getRpcService(EndpointService.class); - BaseEndpointService baseEpService = rpcProvider.getRpcService(BaseEndpointService.class); + public NeutronMapper(DataBroker dataProvider, EndpointService epService, + BaseEndpointService baseEpService) { EndpointRegistrator epRegistrator = new EndpointRegistrator(epService, baseEpService); networkAware = new NeutronNetworkAware(dataProvider); securityGroupAware = new NeutronSecurityGroupAware(dataProvider); diff --git a/neutron-mapper/src/main/resources/org/opendaylight/blueprint/neutron-mapper.xml b/neutron-mapper/src/main/resources/org/opendaylight/blueprint/neutron-mapper.xml new file mode 100644 index 000000000..513b844ab --- /dev/null +++ b/neutron-mapper/src/main/resources/org/opendaylight/blueprint/neutron-mapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/neutron-mapper/src/main/yang/neutron-mapper-impl.yang b/neutron-mapper/src/main/yang/neutron-mapper-impl.yang index 2bc1066a8..d56137bc0 100644 --- a/neutron-mapper/src/main/yang/neutron-mapper-impl.yang +++ b/neutron-mapper/src/main/yang/neutron-mapper-impl.yang @@ -28,25 +28,6 @@ module neutron-mapper-impl { augment "/config:modules/config:module/config:configuration" { case neutron-mapper-impl { when "/config:modules/config:module/config:type = 'neutron-mapper-impl'"; - - container data-broker { - uses config:service-ref { - refine type { - mandatory true; - config:required-identity mdsal:binding-async-data-broker; - } - } - } - - container rpc-registry { - uses config:service-ref { - refine type { - mandatory true; - config:required-identity mdsal:binding-rpc-registry; - } - } - } - } } } \ No newline at end of file diff --git a/neutron-mapper/src/test/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapperTest.java b/neutron-mapper/src/test/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapperTest.java index b68e3e160..059ef8d08 100644 --- a/neutron-mapper/src/test/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapperTest.java +++ b/neutron-mapper/src/test/java/org/opendaylight/groupbasedpolicy/neutron/mapper/NeutronMapperTest.java @@ -19,9 +19,6 @@ import static org.mockito.Mockito.when; import java.io.IOException; import java.util.Set; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.md.sal.binding.api.DataBroker; @@ -55,6 +52,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroupBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; + public class NeutronMapperTest extends NeutronMapperDataBrokerTest { private final Uuid tenantUuid = new Uuid("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"); @@ -82,11 +83,8 @@ public class NeutronMapperTest extends NeutronMapperDataBrokerTest { dataBroker = getDataBroker(); epService = mock(EndpointService.class); baseEpService = mock(BaseEndpointService.class); - rpcProvider = mock(RpcProviderRegistry.class); - when(rpcProvider.getRpcService(EndpointService.class)).thenReturn(epService); - when(rpcProvider.getRpcService(BaseEndpointService.class)).thenReturn(baseEpService); - mapper = new NeutronMapper(dataBroker, rpcProvider); + mapper = new NeutronMapper(dataBroker, epService, baseEpService); networkL3Extension = new NetworkL3ExtensionBuilder().setExternal(true).build(); @@ -119,7 +117,7 @@ public class NeutronMapperTest extends NeutronMapperDataBrokerTest { @Test public void testConstructor() throws IOException { DataBroker dataBrokerSpy = spy(dataBroker); - NeutronMapper other = new NeutronMapper(dataBrokerSpy, rpcProvider); + NeutronMapper other = new NeutronMapper(dataBrokerSpy, epService, baseEpService); verify(dataBrokerSpy).registerDataTreeChangeListener(new DataTreeIdentifier<>( LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.builder(Neutron.class).build()), other); -- 2.36.6