/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package util; import com.emc.storageos.coordinator.client.service.CoordinatorClient; import com.emc.storageos.coordinator.common.Configuration; import com.emc.storageos.coordinator.common.impl.ConfigurationImpl; import com.emc.storageos.services.util.PlatformUtils; import org.apache.commons.lang.StringUtils; import play.Play; import plugin.StorageOsPlugin; import static com.emc.storageos.db.client.model.uimodels.InitialSetup.*; public class SetupUtils { private static boolean complete = false; public static boolean isSetupComplete() { if (StorageOsPlugin.isEnabled()) { CoordinatorClient coordinatorClient = StorageOsPlugin.getInstance().getCoordinatorClient(); Configuration setupConfig = coordinatorClient.queryConfiguration(CONFIG_KIND, CONFIG_ID); complete = (setupConfig != null) && StringUtils.equals(setupConfig.getConfig(COMPLETE), Boolean.TRUE.toString()); } // In Dev mode we don't have coordinator so assume always setup else if (Play.mode.isDev()) { complete = true; } else { complete = false; } return complete; } public static void markSetupComplete() { if (complete) { return; } if (StorageOsPlugin.isEnabled()) { CoordinatorClient coordinatorClient = StorageOsPlugin.getInstance().getCoordinatorClient(); ConfigurationImpl config = new ConfigurationImpl(); config.setKind(CONFIG_KIND); config.setId(CONFIG_ID); config.setConfig(COMPLETE, Boolean.TRUE.toString()); coordinatorClient.persistServiceConfiguration(config); complete = true; } else if (Play.mode.isDev()) { complete = true; } } /** * Checks if the build is a open source build or emc enterprise build * * @return true if it is an open source build otherwise false. */ public static boolean isOssBuild() { return PlatformUtils.isOssBuild(); } /** * Check if current deployment is an appliance * @return true if it is an appliance, otherwise false(e.g.: devkit) */ public static boolean isAppliance() { if (Play.mode.isDev()) { return false; } return PlatformUtils.isAppliance(); } }