RestDeviceProvider small refactor
Change-Id: I69d01f7b80bda5e8b83bf47fa86e748042c2dc20
diff --git a/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java b/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java
index 37b3d02..61d1625 100644
--- a/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java
+++ b/providers/rest/device/src/main/java/org/onosproject/provider/rest/device/impl/RestDeviceProvider.java
@@ -66,6 +66,7 @@
import org.slf4j.Logger;
import javax.ws.rs.ProcessingException;
+import javax.ws.rs.core.MediaType;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
@@ -95,14 +96,9 @@
implements DeviceProvider {
private static final String APP_NAME = "org.onosproject.restsb";
protected static final String REST = "rest";
- private static final String JSON = "json";
private static final String PROVIDER = "org.onosproject.provider.rest.device";
private static final String IPADDRESS = "ipaddress";
- private static final String HTTPS = "https";
- private static final String AUTHORIZATION_PROPERTY = "authorization";
- private static final String BASIC_AUTH_PREFIX = "Basic ";
- private static final String URL_SEPARATOR = "://";
- protected static final String ISNOTNULL = "Rest device is not null";
+ private static final String ISNOTNULL = "Rest device is not null";
private static final String UNKNOWN = "unknown";
private static final int REST_TIMEOUT_SEC = 5;
private static final int DEFAULT_POLL_FREQUENCY_SECONDS = 30;
@@ -126,14 +122,14 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected DriverService driverService;
-
private DeviceProviderService providerService;
private ApplicationId appId;
private ExecutorService executor;
- private SharedScheduledExecutorService portStatisticsExecutor = SharedScheduledExecutors.getPoolThreadExecutor();
+ private final SharedScheduledExecutorService portStatisticsExecutor =
+ SharedScheduledExecutors.getPoolThreadExecutor();
- protected final List<ConfigFactory> factories = ImmutableList.of(
+ private final List<ConfigFactory> factories = ImmutableList.of(
new ConfigFactory<ApplicationId, RestProviderConfig>(APP_SUBJECT_FACTORY,
RestProviderConfig.class,
"rest_devices",
@@ -152,9 +148,8 @@
}
});
- private final NetworkConfigListener cfgLister = new InternalNetworkConfigListener();
+ private final NetworkConfigListener configListener = new InternalNetworkConfigListener();
- private Set<DeviceId> addedDevices = new HashSet<>();
private ScheduledFuture<?> scheduledTask;
@@ -164,7 +159,7 @@
providerService = providerRegistry.register(this);
factories.forEach(cfgService::registerConfigFactory);
executor = Executors.newFixedThreadPool(5, groupedThreads("onos/restsbprovider", "device-installer-%d", log));
- cfgService.addListener(cfgLister);
+ cfgService.addListener(configListener);
executor.execute(RestDeviceProvider.this::createAndConnectDevices);
executor.execute(RestDeviceProvider.this::createDevices);
scheduledTask = schedulePolling();
@@ -173,7 +168,7 @@
@Deactivate
public void deactivate() {
- cfgService.removeListener(cfgLister);
+ cfgService.removeListener(configListener);
controller.getDevices().keySet().forEach(this::deviceRemoved);
providerRegistry.unregister(this);
providerService = null;
@@ -198,7 +193,6 @@
// TODO: This will be implemented later.
}
-
@Override
public boolean isReachable(DeviceId deviceId) {
RestSBDevice restDevice = controller.getDevice(deviceId);
@@ -232,7 +226,7 @@
devicesDiscovery(restSBDev, driver);
Set<DeviceId> deviceIds = devicesDiscovery.deviceIds();
restSBDev.setActive(true);
- deviceIds.stream().forEach(deviceId -> {
+ deviceIds.forEach(deviceId -> {
controller.addProxiedDevice(deviceId, restSBDev);
DeviceDescription devDesc =
devicesDiscovery.deviceDetails(deviceId);
@@ -250,7 +244,6 @@
}
checkAndUpdateDevice(deviceId);
- addedDevices.add(deviceId);
});
} else {
log.warn("Driver not found for {}", restSBDev);
@@ -273,7 +266,6 @@
restSBDev.setActive(true);
providerService.deviceConnected(deviceId, deviceDescription);
checkAndUpdateDevice(deviceId);
- addedDevices.add(deviceId);
}
}
@@ -345,7 +337,7 @@
private void deviceRemoved(DeviceId deviceId) {
checkNotNull(deviceId, ISNOTNULL);
providerService.deviceDisconnected(deviceId);
- controller.getProxiedDevices(deviceId).stream().forEach(device -> {
+ controller.getProxiedDevices(deviceId).forEach(device -> {
controller.removeProxiedDevice(device);
providerService.deviceDisconnected(device);
});
@@ -361,18 +353,17 @@
.map(deviceId -> {
RestDeviceConfig config =
cfgService.getConfig(deviceId, RestDeviceConfig.class);
- RestSBDevice device = new DefaultRestSBDevice(config.ip(),
- config.port(),
- config.username(),
- config.password(),
- config.protocol(),
- config.url(),
- false, config.testUrl(),
- config.manufacturer(),
- config.hwVersion(),
- config.swVersion());
- return device;
-
+ return new DefaultRestSBDevice(config.ip(),
+ config.port(),
+ config.username(),
+ config.password(),
+ config.protocol(),
+ config.url(),
+ false,
+ config.testUrl(),
+ config.manufacturer(),
+ config.hwVersion(),
+ config.swVersion());
}).collect(Collectors.toSet()));
}
@@ -388,7 +379,6 @@
log.error("Configuration error {}", e);
}
log.debug("REST Devices {}", controller.getDevices());
- addedDevices.clear();
}
private void connectDevices(Set<RestSBDevice> devices) {
@@ -402,9 +392,7 @@
controller.addDevice(device);
return testDeviceConnection(device);
})
- .forEach(device -> {
- deviceAdded(device);
- });
+ .forEach(this::deviceAdded);
//Removing devices not wanted anymore
toBeRemoved.forEach(device -> deviceRemoved(device.deviceId()));
}
@@ -453,26 +441,16 @@
Callable<Boolean> connectionSuccess;
if (dev.testUrl().isPresent()) {
- connectionSuccess = new Callable<Boolean>() {
- @Override
- public Boolean call() throws Exception {
- return controller
- .get(dev.deviceId(), dev.testUrl().get(), JSON) != null;
- }
- };
+ connectionSuccess = () ->
+ controller.get(dev.deviceId(), dev.testUrl().get(), MediaType.APPLICATION_JSON_TYPE) != null;
} else {
- connectionSuccess = new Callable<Boolean>() {
- @Override
- public Boolean call() throws Exception {
- return controller.get(dev.deviceId(), "", JSON) != null;
- }
- };
+ connectionSuccess = () ->
+ controller.get(dev.deviceId(), "", MediaType.APPLICATION_JSON_TYPE) != null;
}
Future<Boolean> future = executor.submit(connectionSuccess);
try {
- Boolean result = future.get(REST_TIMEOUT_SEC, TimeUnit.SECONDS);
- return result;
+ return future.get(REST_TIMEOUT_SEC, TimeUnit.SECONDS);
} catch (TimeoutException ex) {
log.warn("Connection to device {} timed out", dev.deviceId());
return false;