/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.db.client.upgrade.callbacks; import java.net.URI; 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.Initiator; import com.emc.storageos.db.client.model.IpInterface; import com.emc.storageos.db.client.upgrade.BaseCustomMigrationCallback; import com.emc.storageos.svcs.errorhandling.resources.MigrationCallbackException; public class HostInterfaceLabelMigration extends BaseCustomMigrationCallback { public static final Long FLAG_DEFAULT = 2L; private static final Logger log = LoggerFactory.getLogger(HostInterfaceLabelMigration.class); @Override public void process() throws MigrationCallbackException { processInitiators(); processIpInterfaces(); } private void processInitiators() { DbClient dbClient = getDbClient(); List<URI> uris = dbClient.queryByType(Initiator.class, false); Iterator<Initiator> objects = dbClient.queryIterativeObjects(Initiator.class, uris); while (objects.hasNext()) { Initiator initiator = objects.next(); if (initiator.getLabel() == null || initiator.getLabel().isEmpty()) { log.info("Setting label of " + initiator.getId() + " to " + initiator.getInitiatorPort()); initiator.setLabel(initiator.getInitiatorPort()); dbClient.persistObject(initiator); } } } private void processIpInterfaces() { DbClient dbClient = getDbClient(); List<URI> uris = dbClient.queryByType(IpInterface.class, false); Iterator<IpInterface> objects = dbClient.queryIterativeObjects(IpInterface.class, uris); while (objects.hasNext()) { IpInterface ipinterface = objects.next(); if (ipinterface.getLabel() == null || ipinterface.getLabel().isEmpty()) { log.info("Setting label of " + ipinterface.getId() + " to " + ipinterface.getIpAddress()); ipinterface.setLabel(ipinterface.getIpAddress()); dbClient.persistObject(ipinterface); } } } }