Move the IntentSynchronizer out of the routing app into its own app
Change-Id: I05e84bce3853ea995b9921b96a2e6a3e8eddb689
diff --git a/apps/vpls/BUCK b/apps/vpls/BUCK
index 0cdc7da..471e91c 100644
--- a/apps/vpls/BUCK
+++ b/apps/vpls/BUCK
@@ -6,14 +6,7 @@
'//cli:onos-cli',
'//utils/rest:onlab-rest',
'//incubator/api:onos-incubator-api',
- '//apps/routing-api:onos-apps-routing-api',
- '//apps/routing:onos-apps-routing',
-]
-
-BUNDLES = [
- '//apps/vpls:onos-apps-vpls',
- '//apps/routing-api:onos-apps-routing-api',
- '//apps/routing:onos-apps-routing',
+ '//apps/intentsync:onos-apps-intentsync',
]
TEST_DEPS = [
@@ -29,6 +22,6 @@
title = 'VLAN L2 Broadcast Network App',
category = 'Traffic Steering',
url = 'http://onosproject.org',
- included_bundles = BUNDLES,
description = 'Application to create L2 broadcast network using VLAN.',
+ required_apps = [ 'org.onosproject.intentsynchronizer' ],
)
diff --git a/apps/vpls/features.xml b/apps/vpls/features.xml
deleted file mode 100644
index 4325d99..0000000
--- a/apps/vpls/features.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- ~ Copyright 2016-present Open Networking Laboratory
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
- <feature name="${project.artifactId}" version="${project.version}"
- description="${project.description}">
- <feature>onos-api</feature>
- <bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
- <bundle>mvn:${project.groupId}/onos-app-routing-api/${project.version}</bundle>
- <bundle>mvn:${project.groupId}/onos-app-routing/${project.version}</bundle>
- </feature>
-</features>
diff --git a/apps/vpls/pom.xml b/apps/vpls/pom.xml
index e627c12..89775a5 100644
--- a/apps/vpls/pom.xml
+++ b/apps/vpls/pom.xml
@@ -35,6 +35,7 @@
<onos.app.category>Traffic Steering</onos.app.category>
<onos.app.title>VLAN L2 Broadcast Network App</onos.app.title>
<onos.app.url>http://onosproject.org</onos.app.url>
+ <onos.app.requires>org.onosproject.intentsynchronizer</onos.app.requires>
</properties>
<dependencies>
@@ -44,12 +45,7 @@
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
- <artifactId>onos-app-routing-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-app-routing</artifactId>
+ <artifactId>onos-apps-intentsync</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java b/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
index 7b4667b..94b819a 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
@@ -36,7 +36,7 @@
import org.onosproject.net.intent.SinglePointToMultiPointIntent;
import org.onosproject.net.intent.constraint.EncapsulationConstraint;
import org.onosproject.net.intent.constraint.PartialFailureConstraint;
-import org.onosproject.routing.IntentSynchronizationService;
+import org.onosproject.intentsync.IntentSynchronizationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java b/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
index 444b5aa..af47248 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
@@ -49,7 +49,7 @@
import org.onosproject.net.intent.Intent;
import org.onosproject.net.intent.IntentService;
import org.onosproject.net.intent.Key;
-import org.onosproject.routing.IntentSynchronizationService;
+import org.onosproject.intentsync.IntentSynchronizationService;
import org.onosproject.vpls.config.VplsConfigService;
import org.slf4j.Logger;
diff --git a/apps/vpls/src/test/java/org/onosproject/vpls/VplsTest.java b/apps/vpls/src/test/java/org/onosproject/vpls/VplsTest.java
index 5f5aaec..3ebc858 100644
--- a/apps/vpls/src/test/java/org/onosproject/vpls/VplsTest.java
+++ b/apps/vpls/src/test/java/org/onosproject/vpls/VplsTest.java
@@ -36,6 +36,7 @@
import org.onosproject.incubator.net.intf.Interface;
import org.onosproject.incubator.net.intf.InterfaceListener;
import org.onosproject.incubator.net.intf.InterfaceService;
+import org.onosproject.intentsync.IntentSynchronizationService;
import org.onosproject.net.ConnectPoint;
import org.onosproject.net.DefaultHost;
import org.onosproject.net.DeviceId;
@@ -62,8 +63,6 @@
import org.onosproject.net.intent.MultiPointToSinglePointIntent;
import org.onosproject.net.intent.SinglePointToMultiPointIntent;
import org.onosproject.net.provider.ProviderId;
-import org.onosproject.routing.IntentSynchronizationAdminService;
-import org.onosproject.routing.IntentSynchronizationService;
import org.onosproject.vpls.config.VplsConfigService;
import java.util.Collection;
@@ -77,11 +76,20 @@
import java.util.stream.Collectors;
import static java.lang.String.format;
-import static org.easymock.EasyMock.*;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.replay;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.onosproject.net.EncapsulationType.*;
-import static org.onosproject.vpls.IntentInstaller.*;
+import static org.onosproject.net.EncapsulationType.NONE;
+import static org.onosproject.net.EncapsulationType.VLAN;
+import static org.onosproject.net.EncapsulationType.valueOf;
+import static org.onosproject.vpls.IntentInstaller.PARTIAL_FAILURE_CONSTRAINT;
+import static org.onosproject.vpls.IntentInstaller.PREFIX_BROADCAST;
+import static org.onosproject.vpls.IntentInstaller.PREFIX_UNICAST;
+import static org.onosproject.vpls.IntentInstaller.setEncap;
/**
* Tests for the {@link Vpls} class.
@@ -808,8 +816,7 @@
* Test IntentSynchronizer that passes all intents straight through to the
* intent service.
*/
- private class TestIntentSynchronizer implements IntentSynchronizationService,
- IntentSynchronizationAdminService {
+ private class TestIntentSynchronizer implements IntentSynchronizationService {
private final IntentService intentService;
@@ -833,14 +840,6 @@
}
@Override
- public void modifyPrimary(boolean isPrimary) {
- }
-
- @Override
- public void removeIntents() {
- }
-
- @Override
public void removeIntentsByAppId(ApplicationId applicationId) {
}
}