Resolve OSGi wiring issue in TL1
Change-Id: Ic749d0739e2faa0fc913dbffa78c38af56142834
diff --git a/providers/tl1/BUCK b/providers/tl1/BUCK
index f5ebffb..6168610 100644
--- a/providers/tl1/BUCK
+++ b/providers/tl1/BUCK
@@ -1,7 +1,6 @@
BUNDLES = [
'//providers/tl1/device:onos-providers-tl1-device',
'//protocols/tl1/api:onos-protocols-tl1-api',
- '//protocols/tl1/ctl:onos-protocols-tl1-ctl',
]
onos_app (
diff --git a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java b/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java
index 6013aea..506eb9d 100644
--- a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java
+++ b/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceProvider.java
@@ -47,10 +47,11 @@
import org.onosproject.net.device.DeviceService;
import org.onosproject.net.provider.AbstractProvider;
import org.onosproject.net.provider.ProviderId;
+import org.onosproject.tl1.DefaultTl1Device;
import org.onosproject.tl1.Tl1Controller;
import org.onosproject.tl1.Tl1Device;
import org.onosproject.tl1.Tl1Listener;
-import org.onosproject.tl1.impl.DefaultTl1Device;
+import org.onosproject.tl1.device.Tl1DeviceConfig;
import org.slf4j.Logger;
import java.io.IOException;
@@ -74,7 +75,11 @@
@Component(immediate = true)
public class Tl1DeviceProvider extends AbstractProvider implements DeviceProvider {
private static final String APP_NAME = "org.onosproject.tl1";
- protected static final String TL1 = "tl1";
+ /**
+ * @deprecated in 1.11.0. Use {@link Tl1DeviceConfig#TL1} instead
+ */
+ @Deprecated
+ protected static final String TL1 = Tl1DeviceConfig.TL1;
private static final String PROVIDER = "org.onosproject.provider.tl1.device";
private static final String UNKNOWN = "unknown";
private static final int REACHABILITY_TIMEOUT = 2000; // in milliseconds
@@ -116,7 +121,7 @@
},
new ConfigFactory<DeviceId, Tl1DeviceConfig>(SubjectFactories.DEVICE_SUBJECT_FACTORY,
Tl1DeviceConfig.class,
- TL1) {
+ Tl1DeviceConfig.TL1) {
@Override
public Tl1DeviceConfig createConfig() {
return new Tl1DeviceConfig();
@@ -150,7 +155,7 @@
}
public Tl1DeviceProvider() {
- super(new ProviderId(TL1, PROVIDER));
+ super(new ProviderId(Tl1DeviceConfig.TL1, PROVIDER));
}
@Override
@@ -237,11 +242,11 @@
try {
// Add device to TL1 controller
DeviceId deviceId = DeviceId.deviceId(
- new URI(TL1, device.ip() + ":" + device.port(), null));
+ new URI(Tl1DeviceConfig.TL1, device.ip() + ":" + device.port(), null));
if (controller.addDevice(deviceId, device)) {
SparseAnnotations ann = DefaultAnnotations.builder()
- .set(AnnotationKeys.PROTOCOL, TL1.toUpperCase())
+ .set(AnnotationKeys.PROTOCOL, Tl1DeviceConfig.TL1.toUpperCase())
.build();
// Register device in the core with default parameters and mark it as unavailable
DeviceDescription dd = new DefaultDeviceDescription(deviceId.uri(),
diff --git a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1ProviderConfig.java b/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1ProviderConfig.java
index 4f883cd..d083cb9 100644
--- a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1ProviderConfig.java
+++ b/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1ProviderConfig.java
@@ -21,7 +21,7 @@
import org.onosproject.core.ApplicationId;
import org.onosproject.incubator.net.config.basics.ConfigException;
import org.onosproject.net.config.Config;
-import org.onosproject.tl1.impl.DefaultTl1Device;
+import org.onosproject.tl1.DefaultTl1Device;
import org.onosproject.tl1.Tl1Device;
import java.util.Set;
diff --git a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceConfig.java b/providers/tl1/device/src/main/java/org/onosproject/tl1/device/Tl1DeviceConfig.java
similarity index 92%
rename from providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceConfig.java
rename to providers/tl1/device/src/main/java/org/onosproject/tl1/device/Tl1DeviceConfig.java
index 91c235d..4a7fd7a 100644
--- a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceConfig.java
+++ b/providers/tl1/device/src/main/java/org/onosproject/tl1/device/Tl1DeviceConfig.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.onosproject.provider.tl1.device.impl;
+package org.onosproject.tl1.device;
import com.google.common.annotations.Beta;
import org.apache.commons.lang3.tuple.Pair;
@@ -28,6 +28,11 @@
@Beta
public class Tl1DeviceConfig extends Config<DeviceId> {
+ /**
+ * TL1 provider scheme and ConfigKey.
+ */
+ public static final String TL1 = "tl1";
+
private static final String IP = "ip";
private static final String PORT = "port";
private static final String USERNAME = "username";
@@ -78,7 +83,7 @@
private Pair<String, Integer> extractIpPort() {
String info = subject.toString();
- if (info.startsWith(Tl1DeviceProvider.TL1)) {
+ if (info.startsWith(TL1)) {
//+1 is due to length of colon separator
String ip = info.substring(info.indexOf(":") + 1, info.lastIndexOf(":"));
int port = Integer.parseInt(info.substring(info.lastIndexOf(":") + 1));
diff --git a/providers/tl1/device/src/main/java/org/onosproject/tl1/device/package-info.java b/providers/tl1/device/src/main/java/org/onosproject/tl1/device/package-info.java
new file mode 100644
index 0000000..4e579ba
--- /dev/null
+++ b/providers/tl1/device/src/main/java/org/onosproject/tl1/device/package-info.java
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2017-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.
+ */
+/**
+ * TL1 device configuration.
+ */
+package org.onosproject.tl1.device;