</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>groupbasedpolicy-ise-adapter</artifactId>
+ <artifactId>sxp-ise-adapter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>groupbasedpolicy-ise-adapter</artifactId>
+ <artifactId>sxp-ise-adapter</artifactId>
<version>${project.version}</version>
<type>xml</type>
<classifier>config</classifier>
<groupId>org.opendaylight.groupbasedpolicy</groupId>
<artifactId>sxp-mapper</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.groupbasedpolicy</groupId>
+ <artifactId>sxp-ep-provider</artifactId>
+ </dependency>
<dependency>
<groupId>org.opendaylight.groupbasedpolicy</groupId>
<artifactId>ios-xe-renderer</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.groupbasedpolicy</groupId>
- <artifactId>groupbasedpolicy-ise-adapter</artifactId>
+ <artifactId>sxp-ise-adapter</artifactId>
</dependency>
<!-- GBP configuration -->
</dependency>
<dependency>
<groupId>org.opendaylight.groupbasedpolicy</groupId>
- <artifactId>groupbasedpolicy-ise-adapter</artifactId>
+ <artifactId>sxp-ise-adapter</artifactId>
<type>xml</type>
<classifier>config</classifier>
</dependency>
<bundle>mvn:commons-net/commons-net/{{VERSION}}</bundle>
<bundle>mvn:com.sun.jersey/jersey-client/{{VERSION}}</bundle>
<bundle>mvn:com.sun.jersey/jersey-core/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.groupbasedpolicy/groupbasedpolicy-ise-adapter/{{VERSION}}</bundle>
- <configfile finalname="${config.configfile.directory}/16-groupbasedpolicy-ise-adapter.xml">mvn:org.opendaylight.groupbasedpolicy/groupbasedpolicy-ise-adapter/{{VERSION}}/xml/config</configfile>
+ <bundle>mvn:org.opendaylight.groupbasedpolicy/sxp-ise-adapter/{{VERSION}}</bundle>
+ <bundle>mvn:org.opendaylight.groupbasedpolicy/sxp-ep-provider/{{VERSION}}</bundle>
+ <configfile finalname="${config.configfile.directory}/16-groupbasedpolicy-ise-adapter.xml">mvn:org.opendaylight.groupbasedpolicy/sxp-ise-adapter/{{VERSION}}/xml/config</configfile>
</feature>
</features>
+++ /dev/null
-/*
- * Copyright (c) 2016 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.controller.config.yang.config.groupbasedpolicy.gbp_ise_adapter;
-
-import org.opendaylight.controller.sal.common.util.NoopAutoCloseable;
-
-/**
-* gbp-ise-adapter impl module
-*/
-@Deprecated
-public class GpbIseAdapterProviderModule extends org.opendaylight.controller.config.yang.config.groupbasedpolicy.gbp_ise_adapter.AbstractGpbIseAdapterProviderModule {
- public GpbIseAdapterProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public GpbIseAdapterProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.groupbasedpolicy.gbp_ise_adapter.GpbIseAdapterProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
- return NoopAutoCloseable.INSTANCE;
- }
-
-}
<modules>
<module>sxp-ep-provider</module>
- <module>groupbasedpolicy-ise-adapter</module>
+ <module>sxp-ise-adapter</module>
<!--<module>ep-sgt-mapper</module>-->
</modules>
<relativePath>..</relativePath>
</parent>
- <artifactId>groupbasedpolicy-ise-adapter</artifactId>
+ <artifactId>sxp-ise-adapter</artifactId>
<packaging>bundle</packaging>
- <name>sxp-integration_groupbasedpolicy-ise-adapter</name>
-
- <properties>
- <sxp.version>1.4.0-SNAPSHOT</sxp.version>
- </properties>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.groupbasedpolicy</groupId>
- <artifactId>groupbasedpolicy-artifacts</artifactId>
- <version>${project.version}</version>
- <scope>import</scope>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.sxp</groupId>
- <artifactId>sxp-api</artifactId>
- <version>${sxp.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
+ <name>sxp-integration_sxp-ise-adapter</name>
<dependencies>
<!-- model dependencies -->
<dependency>
<groupId>org.opendaylight.groupbasedpolicy</groupId>
- <artifactId>sxp-mapper</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.sxp</groupId>
- <artifactId>sxp-api</artifactId>
+ <artifactId>sxp-ep-provider</artifactId>
</dependency>
<dependency>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
<module>
- <type xmlns:gbp-ise-adapter="urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-ise-adapter">
- gbp-ise-adapter:gbp-ise-adapter-impl
+ <type xmlns:gbp-sxp-ise-adapter="urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:sxp-integration:gbp-sxp-ise-adapter">
+ gbp-sxp-ise-adapter:gbp-ise-adapter-impl
</type>
<name>gbp-ise-adapter</name>
</module>
</configuration>
<required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-ise-adapter?module=gbp-ise-adapter-cfg&revision=2016-06-30</capability>
- <capability>urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-ise-adapter:model?module=gbp-ise-adapter-model&revision=2016-06-30</capability>
+ <capability>urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-sxp-ise-adapter:model?module=gbp-sxp-ise-adapter-model&revision=2016-06-30</capability>
</required-capabilities>
</snapshot>
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.controller.config.yang.config.groupbasedpolicy.gbp_ise_adapter;
+package org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_integration.gbp_sxp_ise_adapter;
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.Futures;
import org.opendaylight.controller.config.yang.config.groupbasedpolicy.GroupbasedpolicyInstance;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl.GbpIseAdapterProvider;
+import org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl.GbpIseAdapterProvider;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration;
--- /dev/null
+/*
+ * Copyright (c) 2016 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.controller.config.yang.config.groupbasedpolicy.sxp_integration.gbp_sxp_ise_adapter;
+
+import org.opendaylight.controller.sal.common.util.NoopAutoCloseable;
+
+/**
+ * gbp-sxp-ise-adapter impl module
+ */
+@Deprecated
+public class GpbSxpIseAdapterProviderModule extends org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_integration.gbp_sxp_ise_adapter.AbstractGpbSxpIseAdapterProviderModule {
+ public GpbSxpIseAdapterProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
+ super(identifier, dependencyResolver);
+ }
+
+ public GpbSxpIseAdapterProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_integration.gbp_sxp_ise_adapter.GpbSxpIseAdapterProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
+ super(identifier, dependencyResolver, oldModule, oldInstance);
+ }
+
+ @Override
+ public void customValidation() {
+ // add custom validation form module attributes here.
+ }
+
+ @Override
+ public java.lang.AutoCloseable createInstance() {
+ return NoopAutoCloseable.INSTANCE;
+ }
+
+}
/*
* Generated file
*
-* Generated from: yang module name: gbp-ise-adapter-cfg yang module local name: gbp-ise-adapter-impl
+* Generated from: yang module name: gbp-sxp-ise-adapter-cfg yang module local name: gbp-sxp-ise-adapter-impl
* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Thu Jun 30 17:44:55 CEST 2016
+* Generated at: Thu Aug 18 13:41:21 CEST 2016
*
* Do not modify this file unless it is present under src/main directory
*/
-package org.opendaylight.controller.config.yang.config.groupbasedpolicy.gbp_ise_adapter;
+package org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_integration.gbp_sxp_ise_adapter;
@Deprecated
-public class GpbIseAdapterProviderModuleFactory extends org.opendaylight.controller.config.yang.config.groupbasedpolicy.gbp_ise_adapter.AbstractGpbIseAdapterProviderModuleFactory {
+public class GpbSxpIseAdapterProviderModuleFactory extends org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_integration.gbp_sxp_ise_adapter.AbstractGpbSxpIseAdapterProviderModuleFactory {
}
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.GbpIseAdapter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.GbpSxpIseAdapter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
private static final Logger LOG = LoggerFactory.getLogger(GbpIseAdapterProvider.class);
private final DataBroker dataBroker;
- private ListenerRegistration<ClusteredDataTreeChangeListener<IseHarvestConfig>> registration;
+ private ListenerRegistration<ClusteredDataTreeChangeListener<IseSourceConfig>> registration;
public GbpIseAdapterProvider(final DataBroker dataBroker, final BindingAwareBroker brokerDependency) {
this.dataBroker = Preconditions.checkNotNull(dataBroker, "provided dataBroker must not be null");
final GbpIseConfigListenerImpl gbpIseConfigListener = new GbpIseConfigListenerImpl(dataBroker, gbpIseSgtHarvester);
// build data-tree path
- final DataTreeIdentifier<IseHarvestConfig> dataTreePath = new DataTreeIdentifier<>(
+ final DataTreeIdentifier<IseSourceConfig> dataTreePath = new DataTreeIdentifier<>(
LogicalDatastoreType.CONFIGURATION,
- InstanceIdentifier.create(GbpIseAdapter.class).child(IseHarvestConfig.class));
+ InstanceIdentifier.create(GbpSxpIseAdapter.class).child(IseSourceConfig.class));
// register config listener
registration = dataBroker.registerDataTreeChangeListener(dataTreePath,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
/**
- * Purpose: dtcl for {@link IseHarvestConfig}
+ * Purpose: dtcl for {@link IseSourceConfig}
*/
-public interface GbpIseConfigListener extends ClusteredDataTreeChangeListener<IseHarvestConfig>, AutoCloseable {
+public interface GbpIseConfigListener extends ClusteredDataTreeChangeListener<IseSourceConfig>, AutoCloseable {
// nobody
}
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FutureCallback;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.GbpIseAdapter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestStatusBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.GbpSxpIseAdapter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseHarvestStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseHarvestStatusBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
@Override
- public void onDataTreeChanged(@Nonnull final Collection<DataTreeModification<IseHarvestConfig>> collection) {
- for (DataTreeModification<IseHarvestConfig> modification : collection) {
- final IseHarvestConfig iseHarvestConfig = modification.getRootNode().getDataAfter();
- if (iseHarvestConfig != null) {
+ public void onDataTreeChanged(@Nonnull final Collection<DataTreeModification<IseSourceConfig>> collection) {
+ for (DataTreeModification<IseSourceConfig> modification : collection) {
+ final IseSourceConfig iseSourceConfig = modification.getRootNode().getDataAfter();
+ if (iseSourceConfig != null) {
pool.submit(() -> {
- final ListenableFuture<Integer> harvestResult = gbpIseSgtHarvester.harvest(iseHarvestConfig);
+ final ListenableFuture<Integer> harvestResult = gbpIseSgtHarvester.harvest(iseSourceConfig);
Futures.addCallback(harvestResult, new FutureCallback<Integer>() {
@Override
public void onSuccess(@Nullable final Integer result) {
private CheckedFuture<Void, TransactionCommitFailedException> storeOutcome(final boolean succeeded, final int counter, final String reason) {
final WriteTransaction wTx = dataBroker.newWriteOnlyTransaction();
- final InstanceIdentifier<IseHarvestStatus> harvestStatusPath = InstanceIdentifier.create(GbpIseAdapter.class)
+ final InstanceIdentifier<IseHarvestStatus> harvestStatusPath = InstanceIdentifier.create(GbpSxpIseAdapter.class)
.child(IseHarvestStatus.class);
final IseHarvestStatus harvestStatus = new IseHarvestStatusBuilder()
.setReason(reason)
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.util.concurrent.ListenableFuture;
import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
/**
* Purpose: read sgts and naming from ISE via rest-API and have apropriate templates generated and stored
* @param configuration user given
* @return amount of successfully written items
*/
- ListenableFuture<Integer> harvest(@Nonnull IseHarvestConfig configuration);
+ ListenableFuture<Integer> harvest(@Nonnull IseSourceConfig configuration);
}
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.base.Function;
import com.google.common.util.concurrent.AsyncFunction;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
-import org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl.util.RestClientFactory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.connection.config.Header;
+import org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl.util.RestClientFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.ConnectionConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.connection.config.Header;
import org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.database.rev160308.Sgt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public static final String PATH_ERS_CONFIG_SGT = "/ers/config/sgt";
public static final String EXPRESSION_SGT_ALL_LINK_HREFS = "/ns3:searchResult/ns3:resources/ns5:resource/link/@href";
- public static final String EXPRESSION_SGT_DETAIL = "./ns4:sgt";
+ public static final String EXPRESSION_SGT_DETAIL = "./ns4:sgt";
public static final String EXPRESSION_SGT_NAME_ATTR = "./@name";
public static final String EXPRESSION_SGT_VALUE = "./value/text()";
}
@Override
- public ListenableFuture<Integer> harvest(@Nonnull final IseHarvestConfig configuration) {
+ public ListenableFuture<Integer> harvest(@Nonnull final IseSourceConfig configuration) {
final ConnectionConfig connectionConfig = configuration.getConnectionConfig();
ListenableFuture<Integer> result;
try {
final String rawSgtDetail = deliverResponse(requestBuilder);
LOG.trace("rawSgtDetail: {}", rawSgtDetail);
- final Node sgtNode = (Node) xpath.evaluate(EXPRESSION_SGT_DETAIL, new InputSource(new StringReader(rawSgtDetail)),
+ final Node sgtNode = (Node) xpath.evaluate(EXPRESSION_SGT_DETAIL, new InputSource(new StringReader(rawSgtDetail)),
XPathConstants.NODE);
- final Node sgtName = (Node) xpath.evaluate(EXPRESSION_SGT_NAME_ATTR, sgtNode, XPathConstants.NODE);
- final Node sgtValue = (Node) xpath.evaluate(EXPRESSION_SGT_VALUE, sgtNode, XPathConstants.NODE);
+ final Node sgtName = (Node) xpath.evaluate(EXPRESSION_SGT_NAME_ATTR, sgtNode, XPathConstants.NODE);
+ final Node sgtValue = (Node) xpath.evaluate(EXPRESSION_SGT_VALUE, sgtNode, XPathConstants.NODE);
LOG.debug("sgt value [{}]: {} -> {}", i, sgtValue, sgtName);
// store replies into list of SgtInfo
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.util.concurrent.CheckedFuture;
import java.util.List;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.util.concurrent.CheckedFuture;
import java.util.Collections;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.SxpMapper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.sxp.mapper.EndpointPolicyTemplateBySgt;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.sxp.mapper.EndpointPolicyTemplateBySgtBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.sxp.mapper.EndpointPolicyTemplateBySgtKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.SxpEpMapper;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgt;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgtBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgtKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.database.rev160308.Sgt;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Purpose: process given sgt+name - create {@link EndpointPolicyTemplateBySgt} and write it to sxp-mapper templates
+ * Purpose: process given sgt+name - create {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgt} and write it to sxp-mapper templates
*/
public class SgtToEPTemplateGeneratorImpl implements SgtInfoProcessor {
final EndpointGroupId epgId = new EndpointGroupId(sgtInfo.getName());
final InstanceIdentifier<EndpointPolicyTemplateBySgt> epPolicyTemplatePath = InstanceIdentifier
- .create(SxpMapper.class)
+ .create(SxpEpMapper.class)
.child(EndpointPolicyTemplateBySgt.class, new EndpointPolicyTemplateBySgtKey(sgt));
final EndpointPolicyTemplateBySgt epPolicyTemplate = new EndpointPolicyTemplateBySgtBuilder()
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.util.concurrent.CheckedFuture;
import java.util.List;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl.util;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl.util;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.config.ClientConfig;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import org.apache.commons.net.util.TrustManagerUtils;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.ConnectionConfig;
/**
* Purpose: setup ise-ready jersey {@link Client}
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-module gbp-ise-adapter-cfg {
+module gbp-sxp-ise-adapter-cfg {
yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-ise-adapter";
- prefix "gpb-ise-adapter-cfg";
+ namespace "urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:sxp-integration:gbp-sxp-ise-adapter";
+ prefix "gpb-sxp-ise-adapter-cfg";
import config { prefix config; revision-date 2013-04-05; }
import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }
"Initial revision.";
}
- identity gbp-ise-adapter-impl {
+ identity gbp-sxp-ise-adapter-impl {
description
- "gbp-ise-adapter impl module";
+ "gbp-sxp-ise-adapter impl module";
base "config:module-type";
- config:java-name-prefix GpbIseAdapterProvider;
+ config:java-name-prefix GpbSxp-IseAdapterProvider;
}
// Augments the 'configuration' choice node under modules/module.
augment "/config:modules/config:module/config:configuration" {
- case gbp-ise-adapter-impl {
- when "/config:modules/config:module/config:type = 'gbp-ise-adapter-impl'";
+ case gbp-sxp-ise-adapter-impl {
+ when "/config:modules/config:module/config:type = 'gbp-sxp-ise-adapter-impl'";
}
}
}
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-module gbp-ise-adapter-model {
+module gbp-sxp-ise-adapter-model {
yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-ise-adapter:model";
- prefix "gbp-ise-adapter-model";
+ namespace "urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy:gbp-sxp-ise-adapter:model";
+ prefix "gbp-sxp-ise-adapter-model";
import gbp-common { prefix gbp-common; revision-date 2014-04-21; }
+ import sxp-database { prefix sxp-database; revision-date 2016-03-08; }
import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
import ietf-yang-types {prefix yang; revision-date "2013-07-15";}
description
"This module contains the YANG definitions for
- gbp-ise-adapter implementation.";
+ gbp-sxp-ise-adapter implementation.";
revision "2016-06-30" {
description
"Initial revision.";
}
- container gbp-ise-adapter {
+ container gbp-sxp-ise-adapter {
description "root point for ise connection info and sgt harvest status";
- container ise-harvest-config {
+ container ise-source-config {
description "connection + credentials for ise-rest-api connection and target tennant";
config true;
"tenant for all extracted sgt";
}
+ leaf sgt-range-min {
+ description "minimal sgt used by this tenant";
+ type sxp-database:sgt;
+ }
+
+ leaf sgt-range-max {
+ description "maximal sgt used by this tenant";
+ type sxp-database:sgt;
+ }
+
container connection-config {
description "rest connection configuration part";
* 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.gbp_ise_adapter.impl;
+
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import static org.powermock.api.mockito.PowerMockito.verifyNew;
import static org.powermock.api.mockito.PowerMockito.whenNew;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@Test
public void testOnSessionInitiated() throws Exception {
Mockito.when(dataBroker.registerDataTreeChangeListener(
- Matchers.<DataTreeIdentifier<IseHarvestConfig>>any(),
+ Matchers.<DataTreeIdentifier<IseSourceConfig>>any(),
Matchers.<GbpIseConfigListener>any())).thenReturn(registration);
// prepare expectation for objects in onSessionInitiated (powerMock requirement for later checking)
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.util.concurrent.Futures;
import java.util.Collections;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseHarvestStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
/**
@Mock
private GbpIseSgtHarvester harvester;
@Mock
- private DataTreeModification<IseHarvestConfig> treeModification;
+ private DataTreeModification<IseSourceConfig> treeModification;
@Mock
- private DataObjectModification<IseHarvestConfig> dataModification;
+ private DataObjectModification<IseSourceConfig> dataModification;
@Mock
private WriteTransaction wTx;
@Mock
- private IseHarvestConfig config;
+ private IseSourceConfig config;
private GbpIseConfigListenerImpl listener;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import static org.powermock.api.support.membermodification.MemberMatcher.method;
import static org.powermock.api.support.membermodification.MemberModifier.stub;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl.util.RestClientFactory;
+import org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl.util.RestClientFactory;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.IseHarvestConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.connection.config.HeaderBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.IseSourceConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.ConnectionConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.connection.config.HeaderBuilder;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.slf4j.Logger;
@Mock
private ClientResponse response;
- private IseHarvestConfig config;
+ private IseSourceConfig config;
private GbpIseSgtHarvesterImpl harvester;
@Before
public void setUp() throws Exception {
- config = new IseHarvestConfigBuilder()
+ config = new IseSourceConfigBuilder()
.setTenant(TENANT_ID)
.setConnectionConfig(new ConnectionConfigBuilder()
.setConnectionTimeout(10)
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.collect.Lists;
import com.google.common.util.concurrent.CheckedFuture;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.SxpMapper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.sxp.mapper.EndpointPolicyTemplateBySgt;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.sxp.mapper.EndpointPolicyTemplateBySgtBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.mapper.model.rev160302.sxp.mapper.EndpointPolicyTemplateBySgtKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.SxpEpMapper;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgt;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgtBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgtKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.database.rev160308.Sgt;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
outcome.get(10, TimeUnit.SECONDS);
final KeyedInstanceIdentifier<EndpointPolicyTemplateBySgt, EndpointPolicyTemplateBySgtKey> epTemplatePath1 =
- InstanceIdentifier.create(SxpMapper.class)
+ InstanceIdentifier.create(SxpEpMapper.class)
.child(EndpointPolicyTemplateBySgt.class, new EndpointPolicyTemplateBySgtKey(SGT_1));
final EndpointPolicyTemplateBySgt epTemplate1 = new EndpointPolicyTemplateBySgtBuilder()
.setSgt(SGT_1)
.build();
final KeyedInstanceIdentifier<EndpointPolicyTemplateBySgt, EndpointPolicyTemplateBySgtKey> epTemplatePath2 =
- InstanceIdentifier.create(SxpMapper.class)
+ InstanceIdentifier.create(SxpEpMapper.class)
.child(EndpointPolicyTemplateBySgt.class, new EndpointPolicyTemplateBySgtKey(SGT_2));
final EndpointPolicyTemplateBySgt epTemplate2 = new EndpointPolicyTemplateBySgtBuilder()
.setSgt(SGT_2)
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl;
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl;
import com.google.common.collect.Lists;
import com.google.common.util.concurrent.CheckedFuture;
* 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.gbp_ise_adapter.impl.util;
+
+package org.opendaylight.groupbasedpolicy.sxp_ise_adapter.impl.util;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.client.urlconnection.HTTPSProperties;
+import java.util.Map;
+import javax.net.ssl.SSLSession;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfigBuilder;
-
-import javax.net.ssl.SSLSession;
-import java.util.Map;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.ConnectionConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.sxp.ise.adapter.model.rev160630.gbp.sxp.ise.adapter.ise.source.config.ConnectionConfigBuilder;
/**
* Purpose: cover {@link RestClientFactory}