/* * Copyright (c) 2014 EMC Corporation * All Rights Reserved */ package com.emc.storageos.db.client.upgrade.callbacks; import java.net.URI; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.emc.storageos.db.client.DbClient; import com.emc.storageos.db.client.model.StoragePort; import com.emc.storageos.db.client.model.DiscoveredDataObject.DiscoveryStatus; import com.emc.storageos.db.client.upgrade.BaseCustomMigrationCallback; public class StoragePortDiscoveryStatusMigration extends BaseCustomMigrationCallback { private static final Logger log = LoggerFactory.getLogger(StoragePortDiscoveryStatusMigration.class); @Override public void process() { DbClient dbClient = getDbClient(); List<URI> portIds = dbClient.queryByType(StoragePort.class, true); Iterator<StoragePort> ports = dbClient.queryIterativeObjects(StoragePort.class, portIds); List<StoragePort> modifiedPorts = new ArrayList<StoragePort>(); while (ports.hasNext()) { // set default value of DiscoveryStatus to VISIBLE StoragePort port = ports.next(); log.info("Setting discovery status of " + port.getId() + " to " + DiscoveryStatus.VISIBLE); port.setDiscoveryStatus(DiscoveryStatus.VISIBLE.name()); modifiedPorts.add(port); } dbClient.persistObject(modifiedPorts); } }