package org.opendaylight.openflowplugin.impl.device.initialization;
import com.google.common.base.Preconditions;
+import com.google.common.util.concurrent.Futures;
import java.util.Collections;
-import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
private static final Logger LOG = LoggerFactory.getLogger(AbstractDeviceInitializer.class);
/**
- * Perform initial information gathering and store them to operational datastore
+ * Perform initial information gathering and store them to operational datastore.
+ *
* @param deviceContext device context
* @param switchFeaturesMandatory is switch features mandatory
* @param skipTableFeatures skip collecting of table features
* @param multipartWriterProvider multipart writer provider
* @param convertorExecutor convertor executor
*/
+ @SuppressWarnings("checkstyle:IllegalCatch")
public Future<Void> initialize(@Nonnull final DeviceContext deviceContext,
final boolean switchFeaturesMandatory,
final boolean skipTableFeatures,
@Nullable final MultipartWriterProvider multipartWriterProvider,
- @Nullable final ConvertorExecutor convertorExecutor) throws ExecutionException,InterruptedException {
+ @Nullable final ConvertorExecutor convertorExecutor) {
Preconditions.checkNotNull(deviceContext);
// Write node to datastore
- LOG.debug("Initializing node information for node {}", deviceContext.getDeviceInfo().getLOGValue());
+ LOG.debug("Initializing node information for node {}", deviceContext.getDeviceInfo());
try {
deviceContext.writeToTransaction(LogicalDatastoreType.OPERATIONAL, deviceContext
.getDeviceInfo()
.build());
} catch (final Exception e) {
LOG.warn("Failed to write node {} to DS ", deviceContext.getDeviceInfo().getNodeId(), e);
- throw new ExecutionException(new ConnectionException("Failed to write node " + deviceContext.getDeviceInfo().getNodeId() + " to DS ", e));
+ return Futures.immediateFailedFuture(new ConnectionException(
+ "Failed to write node " + deviceContext.getDeviceInfo().getNodeId() + " to DS ", e));
}
// Get information about device
multipartWriterProvider, convertorExecutor);
}
- protected abstract Future<Void> initializeNodeInformation(@Nonnull final DeviceContext deviceContext,
- final boolean switchFeaturesMandatory,
- final boolean skipTableFeatures,
- @Nullable final MultipartWriterProvider multipartWriterProvider,
- @Nullable final ConvertorExecutor convertorExecutor);
+ protected abstract Future<Void> initializeNodeInformation(@Nonnull DeviceContext deviceContext,
+ boolean switchFeaturesMandatory,
+ boolean skipTableFeatures,
+ @Nullable MultipartWriterProvider multipartWriterProvider,
+ @Nullable ConvertorExecutor convertorExecutor);
}