/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.computesystemcontroller.impl; import com.emc.storageos.db.client.ModelClient; import com.emc.storageos.db.client.model.DataObject; import com.emc.storageos.db.client.model.DiscoveredSystemObject; import com.emc.storageos.db.client.model.DiscoveredDataObject.CompatibilityStatus; import com.emc.storageos.db.client.model.DiscoveredDataObject.DataCollectionJobStatus; public class DiscoveryStatusUtils { /** * Marks the target as processing. * * @param target * the target object. */ public static void markAsProcessing(ModelClient modelClient, DataObject target) { if (target instanceof DiscoveredSystemObject) { DiscoveredSystemObject obj = (DiscoveredSystemObject) target; obj.setDiscoveryStatus(DataCollectionJobStatus.IN_PROGRESS.name()); modelClient.save(obj); } } /** * Marks the target as succeeded. * * @param target * the target object. */ public static void markAsSucceeded(ModelClient modelClient, DataObject target) { if (target instanceof DiscoveredSystemObject) { DiscoveredSystemObject obj = (DiscoveredSystemObject) target; obj.setDiscoveryStatus(DataCollectionJobStatus.COMPLETE.name()); obj.setLastDiscoveryStatusMessage(""); obj.setLastDiscoveryRunTime(System.currentTimeMillis()); obj.setSuccessDiscoveryTime(System.currentTimeMillis()); modelClient.save(obj); } } /** * Marks the target as incompatible. * * @param target * the target object. */ public static void markAsIncompatible(ModelClient modelClient, DataObject target, String message) { if (target instanceof DiscoveredSystemObject) { DiscoveredSystemObject obj = (DiscoveredSystemObject) target; obj.setDiscoveryStatus(DataCollectionJobStatus.COMPLETE.name()); obj.setCompatibilityStatus(CompatibilityStatus.INCOMPATIBLE.name()); obj.setLastDiscoveryStatusMessage(message); obj.setLastDiscoveryRunTime(System.currentTimeMillis()); modelClient.save(obj); } } /** * Marks the target as failed. * * @param target * the target object. * @param message * the error message * @param e * the error that caused the failure. */ public static void markAsFailed(ModelClient modelClient, DataObject target, String message, Exception e) { if (target instanceof DiscoveredSystemObject) { DiscoveredSystemObject obj = (DiscoveredSystemObject) target; obj.setDiscoveryStatus(DataCollectionJobStatus.ERROR.name()); obj.setLastDiscoveryStatusMessage(message); obj.setLastDiscoveryRunTime(System.currentTimeMillis()); modelClient.save(obj); } } /** * Marks the target as ignored. * * @param target * the target object. */ public static void markAsIgnored(ModelClient modelClient, DataObject target) { if (target instanceof DiscoveredSystemObject) { DiscoveredSystemObject obj = (DiscoveredSystemObject) target; obj.setCompatibilityStatus(CompatibilityStatus.UNKNOWN.name()); obj.setDiscoveryStatus(DataCollectionJobStatus.COMPLETE.name()); obj.setLastDiscoveryStatusMessage(""); obj.setLastDiscoveryRunTime(System.currentTimeMillis()); modelClient.save(obj); } } }