Resolve OSGi wiring issue in TL1
Change-Id: Ic749d0739e2faa0fc913dbffa78c38af56142834
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/provider/tl1/device/impl/Tl1DeviceConfig.java
deleted file mode 100644
index 91c235d..0000000
--- a/providers/tl1/device/src/main/java/org/onosproject/provider/tl1/device/impl/Tl1DeviceConfig.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2015-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.
- */
-
-package org.onosproject.provider.tl1.device.impl;
-
-import com.google.common.annotations.Beta;
-import org.apache.commons.lang3.tuple.Pair;
-import org.onlab.packet.IpAddress;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.config.Config;
-
-/**
- * Configuration to push devices to the TL1 provider.
- */
-@Beta
-public class Tl1DeviceConfig extends Config<DeviceId> {
-
- private static final String IP = "ip";
- private static final String PORT = "port";
- private static final String USERNAME = "username";
- private static final String PASSWORD = "password";
-
- @Override
- public boolean isValid() {
- return hasOnlyFields(IP, PORT, USERNAME, PASSWORD) &&
- ip() != null;
- }
-
- /**
- * Gets the Ip of the TL1 device.
- *
- * @return ip
- */
- public IpAddress ip() {
- return IpAddress.valueOf(get(IP, extractIpPort().getKey()));
- }
-
- /**
- * Gets the port of the TL1 device.
- *
- * @return port
- */
- public int port() {
- return get(PORT, extractIpPort().getValue());
- }
-
- /**
- * Gets the username of the TL1 device.
- *
- * @return username
- */
- public String username() {
- return get(USERNAME, "");
- }
-
- /**
- * Gets the password of the TL1 device.
- *
- * @return password
- */
- public String password() {
- return get(PASSWORD, "");
- }
-
-
- private Pair<String, Integer> extractIpPort() {
- String info = subject.toString();
- if (info.startsWith(Tl1DeviceProvider.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));
- return Pair.of(ip, port);
- }
- return null;
- }
-}
\ No newline at end of file
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;