diff --git a/agent/src/main/java/com/cloud/agent/Agent.java b/agent/src/main/java/com/cloud/agent/Agent.java index 144f7efb687..4edfb7871a5 100644 --- a/agent/src/main/java/com/cloud/agent/Agent.java +++ b/agent/src/main/java/com/cloud/agent/Agent.java @@ -51,6 +51,7 @@ import org.apache.cloudstack.managed.context.ManagedContextTimerTask; import org.apache.cloudstack.utils.security.KeyStoreUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.log4j.MDC; @@ -72,7 +73,6 @@ import com.cloud.exception.AgentControlChannelException; import com.cloud.host.Host; import com.cloud.resource.ServerResource; import com.cloud.utils.PropertiesUtil; -import com.cloud.utils.StringUtils; import com.cloud.utils.backoff.BackoffAlgorithm; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.exception.CloudRuntimeException; @@ -85,7 +85,6 @@ import com.cloud.utils.nio.NioConnection; import com.cloud.utils.nio.Task; import com.cloud.utils.script.OutputInterpreter; import com.cloud.utils.script.Script; -import com.google.common.base.Strings; /** * @config @@ -715,7 +714,7 @@ public class Agent implements HandlerFactory, IAgentControl { final String csrFile = agentFile.getParent() + "/" + KeyStoreUtils.CSR_FILENAME; String storedPassword = _shell.getPersistentProperty(null, KeyStoreUtils.KS_PASSPHRASE_PROPERTY); - if (Strings.isNullOrEmpty(storedPassword)) { + if (StringUtils.isEmpty(storedPassword)) { storedPassword = keyStorePassword; _shell.setPersistentProperty(null, KeyStoreUtils.KS_PASSPHRASE_PROPERTY, storedPassword); } @@ -782,9 +781,9 @@ public class Agent implements HandlerFactory, IAgentControl { } private void processManagementServerList(final List msList, final String lbAlgorithm, final Long lbCheckInterval) { - if (CollectionUtils.isNotEmpty(msList) && !Strings.isNullOrEmpty(lbAlgorithm)) { + if (CollectionUtils.isNotEmpty(msList) && StringUtils.isNotEmpty(lbAlgorithm)) { try { - final String newMSHosts = String.format("%s%s%s", StringUtils.toCSVList(msList), IAgentShell.hostLbAlgorithmSeparator, lbAlgorithm); + final String newMSHosts = String.format("%s%s%s", com.cloud.utils.StringUtils.toCSVList(msList), IAgentShell.hostLbAlgorithmSeparator, lbAlgorithm); _shell.setPersistentProperty(null, "host", newMSHosts); _shell.setHosts(newMSHosts); _shell.resetHostCounter(); diff --git a/agent/src/main/java/com/cloud/agent/AgentShell.java b/agent/src/main/java/com/cloud/agent/AgentShell.java index 01654ac9caa..7d395dff959 100644 --- a/agent/src/main/java/com/cloud/agent/AgentShell.java +++ b/agent/src/main/java/com/cloud/agent/AgentShell.java @@ -36,6 +36,7 @@ import org.apache.commons.daemon.Daemon; import org.apache.commons.daemon.DaemonContext; import org.apache.commons.daemon.DaemonInitException; import org.apache.commons.lang.math.NumberUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; @@ -50,7 +51,6 @@ import com.cloud.utils.PropertiesUtil; import com.cloud.utils.backoff.BackoffAlgorithm; import com.cloud.utils.backoff.impl.ConstantTimeBackoff; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; public class AgentShell implements IAgentShell, Daemon { private static final Logger s_logger = Logger.getLogger(AgentShell.class.getName()); @@ -155,7 +155,7 @@ public class AgentShell implements IAgentShell, Daemon { @Override public void setHosts(final String host) { - if (!Strings.isNullOrEmpty(host)) { + if (StringUtils.isNotEmpty(host)) { _host = host.split(hostLbAlgorithmSeparator)[0]; resetHostCounter(); } @@ -333,7 +333,7 @@ public class AgentShell implements IAgentShell, Daemon { } String val = getProperty(null, preferredHostIntervalKey); - preferredHostCheckInterval = (Strings.isNullOrEmpty(val) ? null : Long.valueOf(val)); + preferredHostCheckInterval = StringUtils.isEmpty(val) ? null : Long.valueOf(val); return true; } diff --git a/agent/src/main/java/com/cloud/agent/direct/download/DirectTemplateDownloaderImpl.java b/agent/src/main/java/com/cloud/agent/direct/download/DirectTemplateDownloaderImpl.java index 9c150e92a98..16a6dc39334 100644 --- a/agent/src/main/java/com/cloud/agent/direct/download/DirectTemplateDownloaderImpl.java +++ b/agent/src/main/java/com/cloud/agent/direct/download/DirectTemplateDownloaderImpl.java @@ -20,7 +20,7 @@ package com.cloud.agent.direct.download; import com.cloud.utils.exception.CloudRuntimeException; import org.apache.cloudstack.utils.security.DigestHelper; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; diff --git a/agent/src/main/java/com/cloud/agent/direct/download/MetalinkDirectTemplateDownloader.java b/agent/src/main/java/com/cloud/agent/direct/download/MetalinkDirectTemplateDownloader.java index c8e85277913..40e77c37110 100644 --- a/agent/src/main/java/com/cloud/agent/direct/download/MetalinkDirectTemplateDownloader.java +++ b/agent/src/main/java/com/cloud/agent/direct/download/MetalinkDirectTemplateDownloader.java @@ -22,7 +22,7 @@ import com.cloud.utils.Pair; import com.cloud.utils.UriUtils; import com.cloud.utils.exception.CloudRuntimeException; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; diff --git a/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java b/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java index 35835a523ef..9a522db6c81 100644 --- a/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java +++ b/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java @@ -50,7 +50,7 @@ import com.cloud.utils.Pair; import com.cloud.utils.compression.CompressionUtil; import com.cloud.agent.api.to.deployasis.OVFNetworkTO; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.apache.log4j.Logger; import org.w3c.dom.Document; @@ -274,7 +274,7 @@ public class OVFHelper { } public List getOVFVolumeInfoFromFile(String ovfFilePath, Document doc, String configurationId) throws InternalErrorException { - if (org.apache.commons.lang.StringUtils.isBlank(ovfFilePath)) { + if (StringUtils.isBlank(ovfFilePath)) { return null; } @@ -446,7 +446,7 @@ public class OVFHelper { } public Document getDocumentFromFile(String ovfFilePath) { - if (org.apache.commons.lang.StringUtils.isBlank(ovfFilePath)) { + if (StringUtils.isBlank(ovfFilePath)) { return null; } DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newDefaultInstance(); @@ -724,7 +724,7 @@ public class OVFHelper { } private boolean hardwareItemContainsConfiguration(OVFVirtualHardwareItemTO item, String configurationId) { - if (StringUtils.isBlank(configurationId) || StringUtils.isBlank(item.getConfigurationIds())) { + if (StringUtils.isAnyBlank(configurationId, item.getConfigurationIds())) { return true; } String configurationIds = item.getConfigurationIds(); diff --git a/api/src/main/java/com/cloud/network/Network.java b/api/src/main/java/com/cloud/network/Network.java index 111b85a6d96..1940cd0e020 100644 --- a/api/src/main/java/com/cloud/network/Network.java +++ b/api/src/main/java/com/cloud/network/Network.java @@ -23,7 +23,7 @@ import java.util.Date; import java.util.List; import com.cloud.exception.InvalidParameterValueException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; diff --git a/api/src/main/java/com/cloud/network/PhysicalNetwork.java b/api/src/main/java/com/cloud/network/PhysicalNetwork.java index 48e416c4b46..b30217d7dad 100644 --- a/api/src/main/java/com/cloud/network/PhysicalNetwork.java +++ b/api/src/main/java/com/cloud/network/PhysicalNetwork.java @@ -18,9 +18,9 @@ package com.cloud.network; import com.cloud.exception.CloudException; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; +import org.apache.commons.lang3.StringUtils; import java.util.HashSet; import java.util.List; diff --git a/api/src/main/java/org/apache/cloudstack/acl/RoleType.java b/api/src/main/java/org/apache/cloudstack/acl/RoleType.java index a8a64a58df5..1c6a43d08d9 100644 --- a/api/src/main/java/org/apache/cloudstack/acl/RoleType.java +++ b/api/src/main/java/org/apache/cloudstack/acl/RoleType.java @@ -16,9 +16,10 @@ // under the License. package org.apache.cloudstack.acl; +import org.apache.commons.lang3.StringUtils; + import com.cloud.user.Account; import com.google.common.base.Enums; -import com.google.common.base.Strings; // Enum for default roles in CloudStack public enum RoleType { @@ -51,7 +52,7 @@ public enum RoleType { } public static RoleType fromString(final String name) { - if (!Strings.isNullOrEmpty(name) + if (StringUtils.isNotEmpty(name) && Enums.getIfPresent(RoleType.class, name).isPresent()) { return RoleType.valueOf(name); } diff --git a/api/src/main/java/org/apache/cloudstack/acl/Rule.java b/api/src/main/java/org/apache/cloudstack/acl/Rule.java index 27920107fdc..a4ef7773f67 100644 --- a/api/src/main/java/org/apache/cloudstack/acl/Rule.java +++ b/api/src/main/java/org/apache/cloudstack/acl/Rule.java @@ -18,10 +18,11 @@ package org.apache.cloudstack.acl; import com.cloud.exception.InvalidParameterValueException; -import com.google.common.base.Strings; import java.util.regex.Pattern; +import org.apache.commons.lang3.StringUtils; + public final class Rule { private final String rule; private final static Pattern ALLOWED_PATTERN = Pattern.compile("^[a-zA-Z0-9*]+$"); @@ -32,7 +33,7 @@ public final class Rule { } public boolean matches(final String commandName) { - return !Strings.isNullOrEmpty(commandName) + return StringUtils.isNotEmpty(commandName) && commandName.toLowerCase().matches(rule.toLowerCase().replace("*", "\\w*")); } @@ -46,7 +47,7 @@ public final class Rule { } private static boolean validate(final String rule) { - if (Strings.isNullOrEmpty(rule) || !ALLOWED_PATTERN.matcher(rule).matches()) { + if (StringUtils.isEmpty(rule) || !ALLOWED_PATTERN.matcher(rule).matches()) { throw new InvalidParameterValueException("Only API names and wildcards are allowed, invalid rule provided: " + rule); } return true; diff --git a/api/src/main/java/org/apache/cloudstack/api/ApiArgValidator.java b/api/src/main/java/org/apache/cloudstack/api/ApiArgValidator.java index bd2294c6018..971bb82e37a 100644 --- a/api/src/main/java/org/apache/cloudstack/api/ApiArgValidator.java +++ b/api/src/main/java/org/apache/cloudstack/api/ApiArgValidator.java @@ -18,6 +18,6 @@ package org.apache.cloudstack.api; public enum ApiArgValidator { - NotNullOrEmpty, // does Strings.isNullOrEmpty check + NotNullOrEmpty, // does StringUtils.isEmpty check PositiveNumber, // does != null and > 0 check } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java index 508750a068c..dc265bdc51b 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java @@ -19,7 +19,7 @@ package org.apache.cloudstack.api.command.admin.account; import java.util.Collection; import java.util.Map; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.cloudstack.acl.RoleType; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/BaseRolePermissionCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/BaseRolePermissionCmd.java index a6c6e20369a..9853c228f18 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/BaseRolePermissionCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/BaseRolePermissionCmd.java @@ -22,8 +22,8 @@ import org.apache.cloudstack.acl.Rule; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; +import org.apache.commons.lang3.StringUtils; -import com.google.common.base.Strings; public abstract class BaseRolePermissionCmd extends BaseCmd { @@ -49,7 +49,7 @@ public abstract class BaseRolePermissionCmd extends BaseCmd { } public Permission getPermission() { - if (Strings.isNullOrEmpty(permission)) { + if (StringUtils.isEmpty(permission)) { return null; } return Permission.valueOf(permission.toUpperCase()); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ImportRoleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ImportRoleCmd.java index 2ad07e7fe0c..b51cb42e1df 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ImportRoleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ImportRoleCmd.java @@ -39,9 +39,9 @@ import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.RoleResponse; import org.apache.cloudstack.context.CallContext; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import com.cloud.user.Account; -import com.google.common.base.Strings; @APICommand(name = ImportRoleCmd.APINAME, description = "Imports a role based on provided map of rule permissions", responseObject = RoleResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, @@ -90,19 +90,20 @@ public class ImportRoleCmd extends RoleCmd { HashMap detail = (HashMap)iter.next(); Map ruleDetails = new HashMap<>(); String rule = detail.get(ApiConstants.RULE); - if (Strings.isNullOrEmpty(rule)) { + + if (StringUtils.isEmpty(rule)) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Empty rule provided in rules param"); } ruleDetails.put(ApiConstants.RULE, new Rule(rule)); String permission = detail.get(ApiConstants.PERMISSION); - if (Strings.isNullOrEmpty(permission)) { + if (StringUtils.isEmpty(permission)) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Invalid permission: "+ permission + " provided in rules param"); } ruleDetails.put(ApiConstants.PERMISSION, roleService.getRolePermission(permission)); String description = detail.get(ApiConstants.DESCRIPTION); - if (!Strings.isNullOrEmpty(permission)) { + if (StringUtils.isNotEmpty(permission)) { ruleDetails.put(ApiConstants.DESCRIPTION, description); } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ListRolesCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ListRolesCmd.java index 1d2af113c0a..9a23618911d 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ListRolesCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/ListRolesCmd.java @@ -33,7 +33,6 @@ import org.apache.commons.lang3.StringUtils; import com.cloud.user.Account; import com.cloud.utils.Pair; -import com.google.common.base.Strings; @APICommand(name = ListRolesCmd.APINAME, description = "Lists dynamic roles in CloudStack", responseObject = RoleResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.9.0", authorized = { RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin }) @@ -66,7 +65,7 @@ public class ListRolesCmd extends BaseListCmd { } public RoleType getRoleType() { - if (!Strings.isNullOrEmpty(roleType)) { + if (StringUtils.isNotEmpty(roleType)) { return RoleType.valueOf(roleType); } return null; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/RoleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/RoleCmd.java index 440278ba911..e652918c4ca 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/RoleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/acl/RoleCmd.java @@ -23,8 +23,7 @@ import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.response.RoleResponse; - -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public abstract class RoleCmd extends BaseCmd { @@ -43,7 +42,7 @@ public abstract class RoleCmd extends BaseCmd { ///////////////////////////////////////////////////// public RoleType getRoleType() { - if (!Strings.isNullOrEmpty(roleType)) { + if (StringUtils.isNotEmpty(roleType)) { return RoleType.fromString(roleType); } return null; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/annotation/ListAnnotationsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/annotation/ListAnnotationsCmd.java index 92e5414c33e..76c89c2ae86 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/annotation/ListAnnotationsCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/annotation/ListAnnotationsCmd.java @@ -21,7 +21,6 @@ import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.NetworkRuleConflictException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; -import com.cloud.utils.StringUtils; import com.google.common.base.Preconditions; import org.apache.cloudstack.acl.RoleType; import org.apache.cloudstack.api.APICommand; @@ -32,6 +31,7 @@ import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.AnnotationResponse; import org.apache.cloudstack.api.response.ListResponse; +import org.apache.commons.lang3.StringUtils; @APICommand(name = ListAnnotationsCmd.APINAME, description = "Lists annotations.", responseObject = AnnotationResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.11", authorized = {RoleType.Admin}) @@ -84,7 +84,7 @@ public class ListAnnotationsCmd extends BaseListCmd { NetworkRuleConflictException { // preconditions to check: // if entity type is null entity uuid can not have a value - Preconditions.checkArgument(StringUtils.isNotBlank(entityType) ? ! StringUtils.isNotBlank(uuid) : true, + Preconditions.checkArgument(StringUtils.isNotBlank(entityType) ? StringUtils.isBlank(uuid) : true, "I can search for an anotation on an entity or for a specific annotation, not both"); // if uuid has a value entity type and entity uuid can not have a value Preconditions.checkArgument(StringUtils.isNotBlank(uuid) ? entityType == null && entityUuid == null : true, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/IssueCertificateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/IssueCertificateCmd.java index 8926829205f..f26c97408ce 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/IssueCertificateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/IssueCertificateCmd.java @@ -36,10 +36,10 @@ import org.apache.cloudstack.ca.CAManager; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.framework.ca.Certificate; import org.apache.cloudstack.utils.security.CertUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.event.EventTypes; -import com.google.common.base.Strings; @APICommand(name = IssueCertificateCmd.APINAME, description = "Issues a client certificate using configured or provided CA plugin", @@ -85,7 +85,7 @@ public class IssueCertificateCmd extends BaseAsyncCmd { private List processList(final String string) { final List list = new ArrayList<>(); - if (!Strings.isNullOrEmpty(string)) { + if (StringUtils.isNotEmpty(string)) { for (final String address: string.split(",")) { list.add(address.trim()); } @@ -115,7 +115,7 @@ public class IssueCertificateCmd extends BaseAsyncCmd { @Override public void execute() { - if (Strings.isNullOrEmpty(getCsr()) && getDomains().isEmpty()) { + if (StringUtils.isEmpty(getCsr()) && getDomains().isEmpty()) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Please provide the domains or the CSR, none of them are provided"); } final Certificate certificate = caManager.issueCertificate(getCsr(), getDomains(), getAddresses(), getValidityDuration(), getProvider()); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/RevokeCertificateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/RevokeCertificateCmd.java index 0f154f045df..f3277b5d4e0 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/RevokeCertificateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/RevokeCertificateCmd.java @@ -32,9 +32,9 @@ import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.ca.CAManager; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; -import com.google.common.base.Strings; @APICommand(name = RevokeCertificateCmd.APINAME, description = "Revokes certificate using configured CA plugin", @@ -68,7 +68,7 @@ public class RevokeCertificateCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// public BigInteger getSerialBigInteger() { - if (Strings.isNullOrEmpty(serial)) { + if (StringUtils.isEmpty(serial)) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Certificate serial cannot be empty"); } return new BigInteger(serial, 16); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java index 936f0cd69f1..acc0d79baae 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java @@ -16,7 +16,6 @@ // under the License. package org.apache.cloudstack.api.command.admin.config; -import com.google.common.base.Strings; import org.apache.cloudstack.acl.RoleService; import org.apache.cloudstack.api.response.DomainResponse; import org.apache.log4j.Logger; @@ -34,6 +33,7 @@ import org.apache.cloudstack.api.response.ImageStoreResponse; import org.apache.cloudstack.api.response.StoragePoolResponse; import org.apache.cloudstack.api.response.ZoneResponse; import org.apache.cloudstack.config.Configuration; +import org.apache.commons.lang3.StringUtils; import com.cloud.user.Account; @@ -146,7 +146,7 @@ public class UpdateCfgCmd extends BaseCmd { @Override public void execute() { - if (Strings.isNullOrEmpty(getCfgName())) { + if (StringUtils.isEmpty(getCfgName())) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Empty configuration name provided"); } if (getCfgName().equalsIgnoreCase(RoleService.EnableDynamicApiChecker.key())) { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/UpdateNetworkOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/UpdateNetworkOfferingCmd.java index 83c82741ab2..7faa8e55b9a 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/UpdateNetworkOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/UpdateNetworkOfferingCmd.java @@ -26,6 +26,7 @@ import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.NetworkOfferingResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.dc.DataCenter; @@ -33,7 +34,6 @@ import com.cloud.domain.Domain; import com.cloud.exception.InvalidParameterValueException; import com.cloud.offering.NetworkOffering; import com.cloud.user.Account; -import com.google.common.base.Strings; @APICommand(name = "updateNetworkOffering", description = "Updates a network offering.", responseObject = NetworkOfferingResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -131,7 +131,7 @@ public class UpdateNetworkOfferingCmd extends BaseCmd { public List getDomainIds() { List validDomainIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(domainIds)) { + if (StringUtils.isNotEmpty(domainIds)) { if (domainIds.contains(",")) { String[] domains = domainIds.split(","); for (String domain : domains) { @@ -161,7 +161,7 @@ public class UpdateNetworkOfferingCmd extends BaseCmd { public List getZoneIds() { List validZoneIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(zoneIds)) { + if (StringUtils.isNotEmpty(zoneIds)) { if (zoneIds.contains(",")) { String[] zones = zoneIds.split(","); for (String zone : zones) { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java index b30156097f3..5976aa81301 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java @@ -34,6 +34,7 @@ import org.apache.cloudstack.api.response.ServiceOfferingResponse; import org.apache.cloudstack.api.response.VsphereStoragePoliciesResponse; import org.apache.cloudstack.api.response.ZoneResponse; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.log4j.Logger; @@ -41,7 +42,6 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.offering.ServiceOffering; import com.cloud.storage.Storage; import com.cloud.user.Account; -import com.google.common.base.Strings; @APICommand(name = "createServiceOffering", description = "Creates a service offering.", responseObject = ServiceOfferingResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -240,7 +240,7 @@ public class CreateServiceOfferingCmd extends BaseCmd { } public String getDisplayText() { - if (Strings.isNullOrEmpty(displayText)) { + if (StringUtils.isEmpty(displayText)) { throw new InvalidParameterValueException("Failed to create service offering because the offering display text has not been spified."); } return displayText; @@ -255,7 +255,7 @@ public class CreateServiceOfferingCmd extends BaseCmd { } public String getServiceOfferingName() { - if (Strings.isNullOrEmpty(serviceOfferingName)) { + if (StringUtils.isEmpty(serviceOfferingName)) { throw new InvalidParameterValueException("Failed to create service offering because offering name has not been spified."); } return serviceOfferingName; @@ -326,7 +326,7 @@ public class CreateServiceOfferingCmd extends BaseCmd { for (Object prop : props) { HashMap detail = (HashMap) prop; // Compatibility with key and value pairs input from API cmd for details map parameter - if (!Strings.isNullOrEmpty(detail.get("key")) && !Strings.isNullOrEmpty(detail.get("value"))) { + if (StringUtils.isNoneEmpty(detail.get("key"), detail.get("value"))) { detailsMap.put(detail.get("key"), detail.get("value")); continue; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateDiskOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateDiskOfferingCmd.java index 5ccdc06cc05..b679192eaed 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateDiskOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateDiskOfferingCmd.java @@ -27,6 +27,7 @@ import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.DiskOfferingResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.dc.DataCenter; @@ -34,7 +35,6 @@ import com.cloud.domain.Domain; import com.cloud.exception.InvalidParameterValueException; import com.cloud.offering.DiskOffering; import com.cloud.user.Account; -import com.google.common.base.Strings; @APICommand(name = "updateDiskOffering", description = "Updates a disk offering.", responseObject = DiskOfferingResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -150,7 +150,7 @@ public class UpdateDiskOfferingCmd extends BaseCmd { public List getDomainIds() { List validDomainIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(domainIds)) { + if (StringUtils.isNotEmpty(domainIds)) { if (domainIds.contains(",")) { String[] domains = domainIds.split(","); for (String domain : domains) { @@ -180,7 +180,7 @@ public class UpdateDiskOfferingCmd extends BaseCmd { public List getZoneIds() { List validZoneIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(zoneIds)) { + if (StringUtils.isNotEmpty(zoneIds)) { if (zoneIds.contains(",")) { String[] zones = zoneIds.split(","); for (String zone : zones) { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java index 4212a0059e2..add970fcb00 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java @@ -26,8 +26,8 @@ import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; -import org.apache.cloudstack.api.BaseCmd.CommandType; import org.apache.cloudstack.api.response.ServiceOfferingResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.dc.DataCenter; @@ -35,7 +35,6 @@ import com.cloud.domain.Domain; import com.cloud.exception.InvalidParameterValueException; import com.cloud.offering.ServiceOffering; import com.cloud.user.Account; -import com.google.common.base.Strings; @APICommand(name = "updateServiceOffering", description = "Updates a service offering.", responseObject = ServiceOfferingResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -109,7 +108,7 @@ public class UpdateServiceOfferingCmd extends BaseCmd { public List getDomainIds() { List validDomainIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(domainIds)) { + if (StringUtils.isNotEmpty(domainIds)) { if (domainIds.contains(",")) { String[] domains = domainIds.split(","); for (String domain : domains) { @@ -139,7 +138,7 @@ public class UpdateServiceOfferingCmd extends BaseCmd { public List getZoneIds() { List validZoneIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(zoneIds)) { + if (StringUtils.isNotEmpty(zoneIds)) { if (zoneIds.contains(",")) { String[] zones = zoneIds.split(","); for (String zone : zones) { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ChangeOutOfBandManagementPasswordCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ChangeOutOfBandManagementPasswordCmd.java index 0499a6e4577..0bd029afbd3 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ChangeOutOfBandManagementPasswordCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ChangeOutOfBandManagementPasswordCmd.java @@ -23,7 +23,6 @@ import com.cloud.exception.NetworkRuleConflictException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.host.Host; -import com.google.common.base.Strings; import org.apache.cloudstack.acl.RoleType; import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.ApiArgValidator; @@ -37,6 +36,7 @@ import org.apache.cloudstack.api.response.HostResponse; import org.apache.cloudstack.api.response.OutOfBandManagementResponse; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagementService; +import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; @@ -94,7 +94,7 @@ public class ChangeOutOfBandManagementPasswordCmd extends BaseAsyncCmd { } public String getPassword() { - if (Strings.isNullOrEmpty(password)) { + if (StringUtils.isEmpty(password)) { password = _mgr.generateRandomPassword(); } return password; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ConfigureOutOfBandManagementCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ConfigureOutOfBandManagementCmd.java index d9c6c9f439e..f58d52100c2 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ConfigureOutOfBandManagementCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/outofbandmanagement/ConfigureOutOfBandManagementCmd.java @@ -22,7 +22,6 @@ import com.cloud.exception.NetworkRuleConflictException; import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.host.Host; -import com.google.common.base.Strings; import com.google.common.collect.ImmutableMap; import org.apache.cloudstack.acl.RoleType; import org.apache.cloudstack.api.APICommand; @@ -37,6 +36,7 @@ import org.apache.cloudstack.api.response.OutOfBandManagementResponse; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagement; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagementService; +import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; @@ -105,21 +105,17 @@ public class ConfigureOutOfBandManagementCmd extends BaseCmd { public final ImmutableMap getHostPMOptions() { final ImmutableMap.Builder builder = ImmutableMap.builder(); - if (!Strings.isNullOrEmpty(driver)) { - builder.put(OutOfBandManagement.Option.DRIVER, driver); - } - if (!Strings.isNullOrEmpty(address)) { - builder.put(OutOfBandManagement.Option.ADDRESS, address); - } - if (!Strings.isNullOrEmpty(port)) { - builder.put(OutOfBandManagement.Option.PORT, port); - } - if (!Strings.isNullOrEmpty(username)) { - builder.put(OutOfBandManagement.Option.USERNAME, username); - } - if (!Strings.isNullOrEmpty(password)) { - builder.put(OutOfBandManagement.Option.PASSWORD, password); - } + putOptionIfIsNotEmpty(builder, OutOfBandManagement.Option.DRIVER, driver); + putOptionIfIsNotEmpty(builder, OutOfBandManagement.Option.ADDRESS, address); + putOptionIfIsNotEmpty(builder, OutOfBandManagement.Option.PORT, port); + putOptionIfIsNotEmpty(builder, OutOfBandManagement.Option.USERNAME, username); + putOptionIfIsNotEmpty(builder, OutOfBandManagement.Option.PASSWORD, password); return builder.build(); } + + protected void putOptionIfIsNotEmpty(ImmutableMap.Builder builder, OutOfBandManagement.Option option, String value) { + if (StringUtils.isNotEmpty(value)) { + builder.put(option, value); + } + } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java index 71d6a661af3..884c982dc02 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java @@ -25,7 +25,7 @@ import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.DomainResponse; import org.apache.cloudstack.api.response.UserResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.user.Account; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/ImportUnmanagedInstanceCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/ImportUnmanagedInstanceCmd.java index 5f924f213a0..dca683f787f 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/ImportUnmanagedInstanceCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/ImportUnmanagedInstanceCmd.java @@ -40,6 +40,7 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.vm.VmImportService; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.BooleanUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.event.EventTypes; @@ -54,7 +55,6 @@ import com.cloud.offering.DiskOffering; import com.cloud.user.Account; import com.cloud.utils.net.NetUtils; import com.cloud.vm.VmDetailConstants; -import com.google.common.base.Strings; @APICommand(name = ImportUnmanagedInstanceCmd.API_NAME, description = "Import unmanaged virtual machine from a given cluster.", @@ -207,7 +207,7 @@ public class ImportUnmanagedInstanceCmd extends BaseAsyncCmd { if (LOGGER.isTraceEnabled()) { LOGGER.trace(String.format("nic, '%s', goes on net, '%s'", nic, networkUuid)); } - if (Strings.isNullOrEmpty(nic) || Strings.isNullOrEmpty(networkUuid) || _entityMgr.findByUuid(Network.class, networkUuid) == null) { + if (StringUtils.isAnyEmpty(nic, networkUuid) || _entityMgr.findByUuid(Network.class, networkUuid) == null) { throw new InvalidParameterValueException(String.format("Network ID: %s for NIC ID: %s is invalid", networkUuid, nic)); } nicNetworkMap.put(nic, _entityMgr.findByUuid(Network.class, networkUuid).getId()); @@ -221,17 +221,17 @@ public class ImportUnmanagedInstanceCmd extends BaseAsyncCmd { if (MapUtils.isNotEmpty(nicIpAddressList)) { for (Map entry : (Collection>)nicIpAddressList.values()) { String nic = entry.get(VmDetailConstants.NIC); - String ipAddress = Strings.emptyToNull(entry.get(VmDetailConstants.IP4_ADDRESS)); + String ipAddress = StringUtils.defaultIfEmpty(entry.get(VmDetailConstants.IP4_ADDRESS), null); if (LOGGER.isTraceEnabled()) { LOGGER.trace(String.format("nic, '%s', gets ip, '%s'", nic, ipAddress)); } - if (Strings.isNullOrEmpty(nic)) { + if (StringUtils.isEmpty(nic)) { throw new InvalidParameterValueException(String.format("NIC ID: '%s' is invalid for IP address mapping", nic)); } - if (Strings.isNullOrEmpty(ipAddress)) { + if (StringUtils.isEmpty(ipAddress)) { throw new InvalidParameterValueException(String.format("Empty address for NIC ID: %s is invalid", nic)); } - if (!Strings.isNullOrEmpty(ipAddress) && !ipAddress.equals("auto") && !NetUtils.isValidIp4(ipAddress)) { + if (StringUtils.isNotEmpty(ipAddress) && !ipAddress.equals("auto") && !NetUtils.isValidIp4(ipAddress)) { throw new InvalidParameterValueException(String.format("IP address '%s' for NIC ID: %s is invalid", ipAddress, nic)); } Network.IpAddresses ipAddresses = new Network.IpAddresses(ipAddress, null); @@ -250,7 +250,7 @@ public class ImportUnmanagedInstanceCmd extends BaseAsyncCmd { if (LOGGER.isTraceEnabled()) { LOGGER.trace(String.format("disk, '%s', gets offering, '%s'", disk, offeringUuid)); } - if (Strings.isNullOrEmpty(disk) || Strings.isNullOrEmpty(offeringUuid) || _entityMgr.findByUuid(DiskOffering.class, offeringUuid) == null) { + if (StringUtils.isAnyEmpty(disk, offeringUuid) || _entityMgr.findByUuid(DiskOffering.class, offeringUuid) == null) { throw new InvalidParameterValueException(String.format("Disk offering ID: %s for disk ID: %s is invalid", offeringUuid, disk)); } dataDiskToDiskOfferingMap.put(disk, _entityMgr.findByUuid(DiskOffering.class, offeringUuid).getId()); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/UpdateVPCOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/UpdateVPCOfferingCmd.java index ce8f96c464d..77b37a0890b 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/UpdateVPCOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/UpdateVPCOfferingCmd.java @@ -26,6 +26,7 @@ import org.apache.cloudstack.api.BaseAsyncCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.response.VpcOfferingResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.dc.DataCenter; @@ -34,7 +35,6 @@ import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.vpc.VpcOffering; import com.cloud.user.Account; -import com.google.common.base.Strings; @APICommand(name = "updateVPCOffering", description = "Updates VPC offering", responseObject = VpcOfferingResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -94,7 +94,7 @@ public class UpdateVPCOfferingCmd extends BaseAsyncCmd { public List getDomainIds() { List validDomainIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(domainIds)) { + if (StringUtils.isNotEmpty(domainIds)) { if (domainIds.contains(",")) { String[] domains = domainIds.split(","); for (String domain : domains) { @@ -124,7 +124,7 @@ public class UpdateVPCOfferingCmd extends BaseAsyncCmd { public List getZoneIds() { List validZoneIds = new ArrayList<>(); - if (!Strings.isNullOrEmpty(zoneIds)) { + if (StringUtils.isNotEmpty(zoneIds)) { if (zoneIds.contains(",")) { String[] zones = zoneIds.split(","); for (String zone : zones) { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddAccountToProjectCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddAccountToProjectCmd.java index 62cb100d979..255cdeb293e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddAccountToProjectCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddAccountToProjectCmd.java @@ -22,6 +22,7 @@ import org.apache.cloudstack.api.ApiArgValidator; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.response.ProjectRoleResponse; import org.apache.commons.lang3.EnumUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.cloudstack.api.APICommand; @@ -38,7 +39,6 @@ import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.projects.Project; import com.cloud.projects.ProjectAccount; -import com.google.common.base.Strings; @APICommand(name = "addAccountToProject", description = "Adds account to a project", responseObject = SuccessResponse.class, since = "3.0.0", requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -93,7 +93,7 @@ public class AddAccountToProjectCmd extends BaseAsyncCmd { } public ProjectAccount.Role getRoleType() { - if (!Strings.isNullOrEmpty(roleType)) { + if (StringUtils.isNotEmpty(roleType)) { String role = roleType.substring(0, 1).toUpperCase() + roleType.substring(1).toLowerCase(); if (!EnumUtils.isValidEnum(ProjectAccount.Role.class, role)) { throw new InvalidParameterValueException("Only Admin or Regular project role types are valid"); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddUserToProjectCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddUserToProjectCmd.java index c8e71feb579..5ebb3bebd70 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddUserToProjectCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/account/AddUserToProjectCmd.java @@ -35,7 +35,7 @@ import org.apache.commons.lang3.EnumUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.projects.ProjectAccount; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = AddUserToProjectCmd.APINAME, description = "Adds user to a project", responseObject = SuccessResponse.class, since = "4.14", requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized = {RoleType.Admin, RoleType.DomainAdmin, RoleType.ResourceAdmin, RoleType.User}) @@ -86,7 +86,7 @@ public class AddUserToProjectCmd extends BaseAsyncCmd { } public ProjectAccount.Role getRoleType() { - if (!Strings.isNullOrEmpty(roleType)) { + if (StringUtils.isNotEmpty(roleType)) { String role = roleType.substring(0, 1).toUpperCase() + roleType.substring(1).toLowerCase(); if (!EnumUtils.isValidEnum(ProjectAccount.Role.class, role)) { throw new InvalidParameterValueException("Only Admin or Regular project role types are valid"); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/AssignToLoadBalancerRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/AssignToLoadBalancerRuleCmd.java index 1e730370801..6fda59d7fcb 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/AssignToLoadBalancerRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/AssignToLoadBalancerRuleCmd.java @@ -36,12 +36,12 @@ import org.apache.cloudstack.api.response.FirewallRuleResponse; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.api.response.UserVmResponse; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.rules.LoadBalancer; import com.cloud.user.Account; -import com.cloud.utils.StringUtils; import com.cloud.utils.net.NetUtils; import com.cloud.vm.VirtualMachine; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/RemoveFromLoadBalancerRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/RemoveFromLoadBalancerRuleCmd.java index 13765563fd9..048de308dc1 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/RemoveFromLoadBalancerRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/RemoveFromLoadBalancerRuleCmd.java @@ -36,12 +36,12 @@ import org.apache.cloudstack.api.response.FirewallRuleResponse; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.api.response.UserVmResponse; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.rules.LoadBalancer; import com.cloud.user.Account; -import com.cloud.utils.StringUtils; @APICommand(name = "removeFromLoadBalancerRule", description = "Removes a virtual machine or a list of virtual machines from a load balancer rule.", diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java index 3d79c2275af..ca6c8018512 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java @@ -30,7 +30,7 @@ import org.apache.cloudstack.api.response.NetworkACLItemResponse; import org.apache.cloudstack.api.response.NetworkACLResponse; import org.apache.cloudstack.api.response.NetworkResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.event.EventTypes; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java index 5149d4e7af6..315a58a2f5a 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java @@ -40,7 +40,7 @@ import org.apache.cloudstack.api.response.ZoneResponse; import com.cloud.network.Network; import com.cloud.utils.Pair; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = "listNetworks", description = "Lists all available networks.", responseObject = NetworkResponse.class, responseView = ResponseView.Restricted, entityType = {Network.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -113,7 +113,7 @@ public class ListNetworksCmd extends BaseListTaggedResourcesCmd implements UserC } public String getGuestIpType() { - if (!Strings.isNullOrEmpty(guestIpType)) { + if (StringUtils.isNotEmpty(guestIpType)) { if (guestIpType.equalsIgnoreCase("all")) { return null; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/project/UpdateProjectCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/project/UpdateProjectCmd.java index 70aa26d8338..8108bdebc74 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/project/UpdateProjectCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/project/UpdateProjectCmd.java @@ -35,7 +35,7 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.ResourceAllocationException; import com.cloud.projects.Project; import com.cloud.projects.ProjectAccount; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = "updateProject", description = "Updates a project", responseObject = ProjectResponse.class, since = "3.0.0", requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) @@ -97,7 +97,7 @@ public class UpdateProjectCmd extends BaseAsyncCmd { } public ProjectAccount.Role getAccountRole() { - if (!Strings.isNullOrEmpty(roleType)) { + if (StringUtils.isNotEmpty(roleType)) { return getRoleType(roleType); } return ProjectAccount.Role.Regular; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/AssignToGlobalLoadBalancerRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/AssignToGlobalLoadBalancerRuleCmd.java index 99971bf67d1..27723da3448 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/AssignToGlobalLoadBalancerRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/AssignToGlobalLoadBalancerRuleCmd.java @@ -37,6 +37,7 @@ import org.apache.cloudstack.api.response.FirewallRuleResponse; import org.apache.cloudstack.api.response.GlobalLoadBalancerResponse; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; @@ -44,7 +45,6 @@ import com.cloud.network.rules.LoadBalancer; import com.cloud.region.ha.GlobalLoadBalancerRule; import com.cloud.region.ha.GlobalLoadBalancingRulesService; import com.cloud.user.Account; -import com.cloud.utils.StringUtils; @APICommand(name = "assignToGlobalLoadBalancerRule", description = "Assign load balancer rule or list of load " + "balancer rules to a global load balancer rules.", diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/RemoveFromGlobalLoadBalancerRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/RemoveFromGlobalLoadBalancerRuleCmd.java index c514984d217..503e5a53d54 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/RemoveFromGlobalLoadBalancerRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/region/ha/gslb/RemoveFromGlobalLoadBalancerRuleCmd.java @@ -33,13 +33,13 @@ import org.apache.cloudstack.api.response.FirewallRuleResponse; import org.apache.cloudstack.api.response.GlobalLoadBalancerResponse; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.region.ha.GlobalLoadBalancerRule; import com.cloud.region.ha.GlobalLoadBalancingRulesService; import com.cloud.user.Account; -import com.cloud.utils.StringUtils; @APICommand(name = "removeFromGlobalLoadBalancerRule", description = "Removes a load balancer rule association with global load balancer rule", diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/resource/ListDetailOptionsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/resource/ListDetailOptionsCmd.java index b7a46795638..795b4d07fdd 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/resource/ListDetailOptionsCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/resource/ListDetailOptionsCmd.java @@ -25,7 +25,7 @@ import org.apache.cloudstack.api.response.DetailOptionsResponse; import org.apache.cloudstack.context.CallContext; import com.cloud.server.ResourceTag; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = ListDetailOptionsCmd.APINAME, description = "Lists all possible details and their options for a resource type such as a VM or a template", @@ -58,7 +58,7 @@ public class ListDetailOptionsCmd extends BaseCmd { } public String getResourceId() { - if (!Strings.isNullOrEmpty(resourceId)) { + if (StringUtils.isNotEmpty(resourceId)) { return resourceManagerUtil.getUuid(resourceId, getResourceType()); } return null; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupEgressCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupEgressCmd.java index 79cb8317255..cfcb9ee1728 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupEgressCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupEgressCmd.java @@ -38,12 +38,12 @@ import org.apache.cloudstack.api.response.ProjectResponse; import org.apache.cloudstack.api.response.SecurityGroupResponse; import org.apache.cloudstack.api.response.SecurityGroupRuleResponse; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.security.SecurityGroup; import com.cloud.network.security.SecurityRule; -import com.cloud.utils.StringUtils; @APICommand(name = "authorizeSecurityGroupEgress", responseObject = SecurityGroupRuleResponse.class, description = "Authorizes a particular egress rule for this security group", since = "3.0.0", entityType = {SecurityGroup.class}, requestHasSensitiveInfo = false, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupIngressCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupIngressCmd.java index 3b339e4ca65..41abc461738 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupIngressCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/securitygroup/AuthorizeSecurityGroupIngressCmd.java @@ -38,12 +38,12 @@ import org.apache.cloudstack.api.response.ProjectResponse; import org.apache.cloudstack.api.response.SecurityGroupResponse; import org.apache.cloudstack.api.response.SecurityGroupRuleResponse; import org.apache.cloudstack.context.CallContext; +import org.apache.commons.lang3.StringUtils; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.security.SecurityGroup; import com.cloud.network.security.SecurityRule; -import com.cloud.utils.StringUtils; @APICommand(name = "authorizeSecurityGroupIngress", responseObject = SecurityGroupRuleResponse.class, description = "Authorizes a particular ingress rule for this security group", entityType = {SecurityGroup.class}, requestHasSensitiveInfo = false, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java index c87bc4661a1..dab181e7c1a 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java @@ -68,12 +68,11 @@ import com.cloud.network.Network.IpAddresses; import com.cloud.offering.DiskOffering; import com.cloud.template.VirtualMachineTemplate; import com.cloud.uservm.UserVm; -import com.cloud.utils.StringUtils; import com.cloud.utils.net.Dhcp; import com.cloud.utils.net.NetUtils; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VmDetailConstants; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = "deployVirtualMachine", description = "Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.", responseObject = UserVmResponse.class, responseView = ResponseView.Restricted, entityType = {VirtualMachine.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = true) @@ -360,7 +359,7 @@ public class DeployVMCmd extends BaseAsyncCreateCustomIdCmd implements SecurityG if (s_logger.isTraceEnabled()) { s_logger.trace(String.format("nic, '%s', goes on net, '%s'", nic, networkUuid)); } - if (nic == null || Strings.isNullOrEmpty(networkUuid) || _entityMgr.findByUuid(Network.class, networkUuid) == null) { + if (nic == null || StringUtils.isEmpty(networkUuid) || _entityMgr.findByUuid(Network.class, networkUuid) == null) { throw new InvalidParameterValueException(String.format("Network ID: %s for NIC ID: %s is invalid", networkUuid, nic)); } map.put(nic, _entityMgr.findByUuid(Network.class, networkUuid).getId()); diff --git a/api/src/main/java/org/apache/cloudstack/api/response/OutOfBandManagementResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/OutOfBandManagementResponse.java index c0282c8a823..3a8f5fb55ab 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/OutOfBandManagementResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/OutOfBandManagementResponse.java @@ -18,12 +18,12 @@ package org.apache.cloudstack.api.response; import com.cloud.host.Host; import com.cloud.serializer.Param; -import com.google.common.base.Strings; import com.google.gson.annotations.SerializedName; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseResponse; import org.apache.cloudstack.api.EntityReference; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagement; +import org.apache.commons.lang3.StringUtils; @EntityReference(value = Host.class) public class OutOfBandManagementResponse extends BaseResponse { @@ -94,7 +94,7 @@ public class OutOfBandManagementResponse extends BaseResponse { this.setPort(outOfBandManagementConfig.getPort()); } this.setUsername(outOfBandManagementConfig.getUsername()); - if (!Strings.isNullOrEmpty(outOfBandManagementConfig.getPassword())) { + if (StringUtils.isNotEmpty(outOfBandManagementConfig.getPassword())) { this.setPassword(outOfBandManagementConfig.getPassword().substring(0, 1) + "****"); } } diff --git a/api/src/main/java/org/apache/cloudstack/backup/Backup.java b/api/src/main/java/org/apache/cloudstack/backup/Backup.java index e6aa238ec9a..75c7ab4cca5 100644 --- a/api/src/main/java/org/apache/cloudstack/backup/Backup.java +++ b/api/src/main/java/org/apache/cloudstack/backup/Backup.java @@ -20,9 +20,9 @@ package org.apache.cloudstack.backup; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; +import org.apache.commons.lang3.StringUtils; import com.cloud.storage.Volume; -import com.cloud.utils.StringUtils; public interface Backup extends ControlledEntity, InternalIdentity, Identity { diff --git a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java index 1b8e2f8cf93..08f856655dc 100644 --- a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java +++ b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java @@ -52,7 +52,7 @@ import org.eclipse.jetty.webapp.WebAppContext; import org.apache.log4j.Logger; import com.cloud.utils.PropertiesUtil; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; /*** * The ServerDaemon class implements the embedded server, it can be started either @@ -221,7 +221,7 @@ public class ServerDaemon implements Daemon { private void createHttpsConnector(final HttpConfiguration httpConfig) { // Configure SSL - if (httpsEnable && !Strings.isNullOrEmpty(keystoreFile) && new File(keystoreFile).exists()) { + if (httpsEnable && StringUtils.isNotEmpty(keystoreFile) && new File(keystoreFile).exists()) { // SSL Context final SslContextFactory sslContextFactory = new SslContextFactory.Server(); @@ -256,7 +256,7 @@ public class ServerDaemon implements Daemon { gzipHandler.setCompressionLevel(9); gzipHandler.setHandler(webApp); - if (Strings.isNullOrEmpty(webAppLocation)) { + if (StringUtils.isEmpty(webAppLocation)) { webApp.setWar(getShadedWarUrl()); } else { webApp.setWar(webAppLocation); diff --git a/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java b/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java index 9a55d3bc2fa..54b9d38a962 100644 --- a/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java +++ b/core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java @@ -44,7 +44,7 @@ import org.apache.cloudstack.diagnostics.DiagnosticsCommand; import org.apache.cloudstack.diagnostics.PrepareFilesAnswer; import org.apache.cloudstack.diagnostics.PrepareFilesCommand; import org.apache.cloudstack.utils.security.KeyStoreUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.joda.time.Duration; diff --git a/core/src/main/java/com/cloud/agent/transport/Request.java b/core/src/main/java/com/cloud/agent/transport/Request.java index 79c3384c095..28809341f78 100644 --- a/core/src/main/java/com/cloud/agent/transport/Request.java +++ b/core/src/main/java/com/cloud/agent/transport/Request.java @@ -33,6 +33,8 @@ import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import com.cloud.utils.HumanReadableJson; + +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -55,7 +57,6 @@ import com.cloud.exception.UnsupportedVersionException; import com.cloud.serializer.GsonHelper; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; /** @@ -465,7 +466,7 @@ public class Request { int i = 0; if (temp != null) { while (i < temp.length) { - temp[i] = StringUtils.cleanString(temp[i]); + temp[i] = com.cloud.utils.StringUtils.cleanString(temp[i]); i++; } List stringList = new ArrayList(); diff --git a/core/src/main/java/com/cloud/storage/template/OVAProcessor.java b/core/src/main/java/com/cloud/storage/template/OVAProcessor.java index b5d78ac6cdb..f08ac583d2f 100644 --- a/core/src/main/java/com/cloud/storage/template/OVAProcessor.java +++ b/core/src/main/java/com/cloud/storage/template/OVAProcessor.java @@ -36,7 +36,7 @@ import com.cloud.agent.api.to.deployasis.OVFVirtualHardwareItemTO; import com.cloud.agent.api.to.deployasis.OVFVirtualHardwareSectionTO; import com.cloud.agent.api.to.deployasis.OVFNetworkTO; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/core/src/main/java/com/cloud/storage/template/S3TemplateDownloader.java b/core/src/main/java/com/cloud/storage/template/S3TemplateDownloader.java index 9ece38870df..f214406e898 100644 --- a/core/src/main/java/com/cloud/storage/template/S3TemplateDownloader.java +++ b/core/src/main/java/com/cloud/storage/template/S3TemplateDownloader.java @@ -37,7 +37,7 @@ import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.URIException; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.params.HttpMethodParams; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.BufferedInputStream; @@ -46,7 +46,6 @@ import java.io.InputStream; import java.util.Date; import static com.cloud.utils.NumbersUtil.toHumanReadableSize; -import static com.cloud.utils.StringUtils.join; import static java.util.Arrays.asList; /** @@ -98,7 +97,7 @@ public class S3TemplateDownloader extends ManagedContextRunnable implements Temp this.fileExtension = StringUtils.substringAfterLast(StringUtils.substringAfterLast(downloadUrl, "/"), "."); // Calculate and set S3 Key. - this.s3Key = join(asList(installPath, StringUtils.substringAfterLast(downloadUrl, "/")), S3Utils.SEPARATOR); + this.s3Key = StringUtils.join(asList(installPath, StringUtils.substringAfterLast(downloadUrl, "/")), S3Utils.SEPARATOR); // Set proxy if available. HTTPUtils.setProxy(proxy, this.httpClient); diff --git a/core/src/main/java/org/apache/cloudstack/ca/SetupKeystoreAnswer.java b/core/src/main/java/org/apache/cloudstack/ca/SetupKeystoreAnswer.java index 16ddc96c5ea..5e485538caa 100644 --- a/core/src/main/java/org/apache/cloudstack/ca/SetupKeystoreAnswer.java +++ b/core/src/main/java/org/apache/cloudstack/ca/SetupKeystoreAnswer.java @@ -20,14 +20,14 @@ package org.apache.cloudstack.ca; import com.cloud.agent.api.LogLevel; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class SetupKeystoreAnswer extends SetupCertificateAnswer { @LogLevel(LogLevel.Log4jLevel.Off) private final String csr; public SetupKeystoreAnswer(final String csr) { - super(!Strings.isNullOrEmpty(csr)); + super(StringUtils.isNotEmpty(csr)); this.csr = csr; } diff --git a/core/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsAnswer.java b/core/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsAnswer.java index 006f0434ab3..8d56a4a345f 100644 --- a/core/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsAnswer.java +++ b/core/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsAnswer.java @@ -19,7 +19,7 @@ package org.apache.cloudstack.diagnostics; import com.cloud.agent.api.Answer; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.apache.cloudstack.api.ApiConstants; import org.apache.log4j.Logger; @@ -35,7 +35,7 @@ public class DiagnosticsAnswer extends Answer { public Map getExecutionDetails() { final Map executionDetailsMap = new HashMap<>(); - if (result == true && !Strings.isNullOrEmpty(details)) { + if (result == true && StringUtils.isNotEmpty(details)) { final String[] parseDetails = details.split("&&"); if (parseDetails.length >= 3) { executionDetailsMap.put(ApiConstants.STDOUT, parseDetails[0].trim()); diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java index c15edcf7309..2c48cda7d24 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java @@ -120,7 +120,7 @@ import com.cloud.utils.nio.Link; import com.cloud.utils.nio.NioServer; import com.cloud.utils.nio.Task; import com.cloud.utils.time.InaccurateClock; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; /** * Implementation of the Agent Manager. This class controls the connection to the agents. @@ -391,7 +391,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl } } String logcontextid = (String) MDC.get("logcontextid"); - if (!Strings.isNullOrEmpty(logcontextid)) { + if (StringUtils.isNotEmpty(logcontextid)) { cmd.setContextParam("logid", logcontextid); } } @@ -1086,7 +1086,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl String lbAlgorithm = null; if (startup != null && startup.length > 0) { final String agentMSHosts = startup[0].getMsHostList(); - if (!Strings.isNullOrEmpty(agentMSHosts)) { + if (StringUtils.isNotEmpty(agentMSHosts)) { String[] msHosts = agentMSHosts.split("@"); if (msHosts.length > 1) { lbAlgorithm = msHosts[1]; diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 1bba582b678..72d2e3dc1f1 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -251,7 +251,6 @@ import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotManager; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import com.google.common.base.Strings; import static com.cloud.configuration.ConfigurationManagerImpl.MIGRATE_VM_ACROSS_CLUSTERS; @@ -1006,7 +1005,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac private void setupAgentSecurity(final Host vmHost, final Map sshAccessDetails, final VirtualMachine vm) throws AgentUnavailableException, OperationTimedoutException { final String csr = caManager.generateKeyStoreAndCsr(vmHost, sshAccessDetails); - if (!Strings.isNullOrEmpty(csr)) { + if (org.apache.commons.lang3.StringUtils.isNotEmpty(csr)) { final Map ipAddressDetails = new HashMap<>(sshAccessDetails); ipAddressDetails.remove(NetworkElementCommand.ROUTER_NAME); final Certificate certificate = caManager.issueCertificate(csr, Arrays.asList(vm.getHostName(), vm.getInstanceName()), @@ -1536,7 +1535,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac if (disk.getType() != Volume.Type.ISO) { final VolumeObjectTO vol = (VolumeObjectTO)disk.getData(); final VolumeVO volume = _volsDao.findById(vol.getId()); - if (vmSpec.getDeployAsIsInfo() != null && StringUtils.isNotBlank(vol.getPath())) { + if (vmSpec.getDeployAsIsInfo() != null && org.apache.commons.lang3.StringUtils.isNotBlank(vol.getPath())) { volume.setPath(vol.getPath()); _volsDao.update(volume.getId(), volume); } diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index f6e80f3a38b..c2f08c86199 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -16,8 +16,6 @@ // under the License. package org.apache.cloudstack.engine.orchestration; -import static org.apache.commons.lang.StringUtils.isNotBlank; - import java.net.URI; import java.util.ArrayList; import java.util.Arrays; @@ -200,7 +198,6 @@ import com.cloud.user.User; import com.cloud.user.dao.AccountDao; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.UuidUtils; import com.cloud.utils.component.AdapterBase; import com.cloud.utils.component.ManagerBase; @@ -245,7 +242,7 @@ import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.NicSecondaryIpVO; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; /** * NetworkManagerImpl implements NetworkManager. @@ -642,10 +639,10 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra } private void updateRouterIpInNetworkDetails(Long networkId, String routerIp, String routerIpv6) { - if (isNotBlank(routerIp)) { + if (StringUtils.isNotBlank(routerIp)) { networkDetailsDao.addDetail(networkId, ApiConstants.ROUTER_IP, routerIp, true); } - if (isNotBlank(routerIpv6)) { + if (StringUtils.isNotBlank(routerIpv6)) { networkDetailsDao.addDetail(networkId, ApiConstants.ROUTER_IPV6, routerIpv6, true); } } @@ -2272,8 +2269,8 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra final NetworkVO network = _networksDao.findById(nic.getNetworkId()); if (network != null && network.getTrafficType() == TrafficType.Guest) { - final String nicIp = Strings.isNullOrEmpty(nic.getIPv4Address()) ? nic.getIPv6Address() : nic.getIPv4Address(); - if (!Strings.isNullOrEmpty(nicIp)) { + final String nicIp = StringUtils.isEmpty(nic.getIPv4Address()) ? nic.getIPv6Address() : nic.getIPv4Address(); + if (StringUtils.isNotEmpty(nicIp)) { NicProfile nicProfile = new NicProfile(nic.getIPv4Address(), nic.getIPv6Address(), nic.getMacAddress()); nicProfile.setId(nic.getId()); cleanupNicDhcpDnsEntry(network, vm, nicProfile); @@ -2463,7 +2460,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra boolean ipv6 = false; - if (StringUtils.isNotBlank(ip6Gateway) && StringUtils.isNotBlank(ip6Cidr)) { + if (StringUtils.isNoneBlank(ip6Gateway, ip6Cidr)) { ipv6 = true; } // Validate zone @@ -2542,7 +2539,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra if (vlanSpecified) { URI uri = encodeVlanIdIntoBroadcastUri(vlanId, pNtwk); // Aux: generate secondary URI for secondary VLAN ID (if provided) for performing checks - URI secondaryUri = isNotBlank(isolatedPvlan) ? BroadcastDomainType.fromString(isolatedPvlan) : null; + URI secondaryUri = StringUtils.isNotBlank(isolatedPvlan) ? BroadcastDomainType.fromString(isolatedPvlan) : null; //don't allow to specify vlan tag used by physical network for dynamic vlan allocation if (!(bypassVlanOverlapCheck && ntwkOff.getGuestType() == GuestType.Shared) && _dcDao.findVnet(zoneId, pNtwk.getId(), BroadcastDomainType.getValue(uri)).size() > 0) { throw new InvalidParameterValueException("The VLAN tag to use for new guest network, " + vlanId + " is already being used for dynamic vlan allocation for the guest network in zone " @@ -2681,7 +2678,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra userNetwork.setGateway(gateway); } - if (StringUtils.isNotBlank(ip6Gateway) && StringUtils.isNotBlank(ip6Cidr)) { + if (StringUtils.isNoneBlank(ip6Gateway, ip6Cidr)) { userNetwork.setIp6Cidr(ip6Cidr); userNetwork.setIp6Gateway(ip6Gateway); } @@ -2690,11 +2687,11 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra userNetwork.setExternalId(externalId); } - if (isNotBlank(routerIp)) { + if (StringUtils.isNotBlank(routerIp)) { userNetwork.setRouterIp(routerIp); } - if (isNotBlank(routerIpv6)) { + if (StringUtils.isNotBlank(routerIpv6)) { userNetwork.setRouterIpv6(routerIpv6); } @@ -4155,11 +4152,11 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra if (network.getTrafficType() == Networks.TrafficType.Management) { privateIpAddress = address; } - if (network.getTrafficType() != null && !Strings.isNullOrEmpty(address)) { + if (network.getTrafficType() != null && StringUtils.isNotEmpty(address)) { accessDetails.put(network.getTrafficType().name(), address); } } - if (privateIpAddress != null && Strings.isNullOrEmpty(accessDetails.get(NetworkElementCommand.ROUTER_IP))) { + if (privateIpAddress != null && StringUtils.isEmpty(accessDetails.get(NetworkElementCommand.ROUTER_IP))) { accessDetails.put(NetworkElementCommand.ROUTER_IP, privateIpAddress); } return accessDetails; @@ -4299,7 +4296,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra throws ConcurrentOperationException, InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException { s_logger.debug("Allocating nic for vm " + vm.getUuid() + " in network " + network + " during import"); String guestIp = null; - if (ipAddresses != null && !Strings.isNullOrEmpty(ipAddresses.getIp4Address())) { + if (ipAddresses != null && StringUtils.isNotEmpty(ipAddresses.getIp4Address())) { if (ipAddresses.getIp4Address().equals("auto")) { ipAddresses.setIp4Address(null); } @@ -4331,10 +4328,10 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra NicVO vo = new NicVO(network.getGuruName(), vm.getId(), network.getId(), vm.getType()); vo.setMacAddress(macAddress); vo.setAddressFormat(Networks.AddressFormat.Ip4); - if (NetUtils.isValidIp4(finalGuestIp) && !Strings.isNullOrEmpty(network.getGateway())) { + if (NetUtils.isValidIp4(finalGuestIp) && StringUtils.isNotEmpty(network.getGateway())) { vo.setIPv4Address(finalGuestIp); vo.setIPv4Gateway(network.getGateway()); - if (!Strings.isNullOrEmpty(network.getCidr())) { + if (StringUtils.isNotEmpty(network.getCidr())) { vo.setIPv4Netmask(NetUtils.cidr2Netmask(network.getCidr())); } } diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java index 3b9397782f5..8bba188cfcb 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java @@ -36,7 +36,6 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import com.cloud.agent.api.to.DatadiskTO; -import com.cloud.utils.StringUtils; import com.cloud.vm.SecondaryStorageVmVO; import com.cloud.vm.UserVmDetailVO; import com.cloud.vm.VMInstanceVO; @@ -85,6 +84,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.log4j.Logger; diff --git a/engine/schema/src/main/java/com/cloud/host/HostVO.java b/engine/schema/src/main/java/com/cloud/host/HostVO.java index 776e48c2730..5757e073e74 100644 --- a/engine/schema/src/main/java/com/cloud/host/HostVO.java +++ b/engine/schema/src/main/java/com/cloud/host/HostVO.java @@ -46,7 +46,7 @@ import com.cloud.storage.Storage.StoragePoolType; import com.cloud.utils.NumbersUtil; import com.cloud.utils.db.GenericDao; import java.util.Arrays; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; @Entity @Table(name = "host") diff --git a/engine/schema/src/main/java/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java b/engine/schema/src/main/java/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java index c9bd769bc5b..479e02eb5ba 100644 --- a/engine/schema/src/main/java/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java @@ -28,7 +28,7 @@ import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java index 604b310d013..d2513056216 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java @@ -33,7 +33,7 @@ import com.cloud.upgrade.dao.Upgrade41510to41520; import com.cloud.upgrade.dao.Upgrade41600to41610; import com.cloud.upgrade.dao.Upgrade41610to41700; import org.apache.cloudstack.utils.CloudStackVersion; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.upgrade.dao.DbUpgrade; diff --git a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java index 337d05e58f5..ef8b3b96485 100644 --- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.TimeZone; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java index 5a5d6f92f40..5374bdb4f43 100644 --- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.TimeZone; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/engine/schema/src/main/java/com/cloud/user/UserAccountVO.java b/engine/schema/src/main/java/com/cloud/user/UserAccountVO.java index 2ad2ae07f01..dfebb3c346c 100644 --- a/engine/schema/src/main/java/com/cloud/user/UserAccountVO.java +++ b/engine/schema/src/main/java/com/cloud/user/UserAccountVO.java @@ -33,7 +33,7 @@ import org.apache.cloudstack.api.InternalIdentity; import com.cloud.utils.db.Encrypt; import com.cloud.utils.db.GenericDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @Entity @Table(name = "user") @@ -258,7 +258,7 @@ public class UserAccountVO implements UserAccount, InternalIdentity { @Override public String getTimezone() { - if (Strings.isNullOrEmpty(timezone)) { + if (StringUtils.isEmpty(timezone)) { return "UTC"; } return timezone; diff --git a/engine/schema/src/main/java/com/cloud/user/UserVO.java b/engine/schema/src/main/java/com/cloud/user/UserVO.java index 05655bf711e..7ac4698cf02 100644 --- a/engine/schema/src/main/java/com/cloud/user/UserVO.java +++ b/engine/schema/src/main/java/com/cloud/user/UserVO.java @@ -34,7 +34,7 @@ import org.apache.cloudstack.api.InternalIdentity; import com.cloud.user.Account.State; import com.cloud.utils.db.Encrypt; import com.cloud.utils.db.GenericDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; /** * A bean representing a user @@ -252,7 +252,7 @@ public class UserVO implements User, Identity, InternalIdentity { @Override public String getTimezone() { - if (Strings.isNullOrEmpty(timezone)) { + if (StringUtils.isEmpty(timezone)) { return "UTC"; } return timezone; diff --git a/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java b/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java index 81bd545d65d..a1e0d54be9f 100644 --- a/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java @@ -29,7 +29,7 @@ import com.cloud.utils.db.GenericSearchBuilder; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Op; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.cloud.utils.db.TransactionLegacy; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -164,7 +164,7 @@ public class AccountDaoImpl extends GenericDaoBase implements A @Override public Pair, Integer> findAccountsLike(String accountName, Filter filter) { SearchCriteria sc = createSearchCriteria(); - if (!Strings.isNullOrEmpty(accountName)) { + if (StringUtils.isNotEmpty(accountName)) { sc.addAnd("accountName", SearchCriteria.Op.LIKE, "%" + accountName + "%"); } return searchAndCount(sc, filter); diff --git a/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java b/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java index 886933a5b46..b1debd0b894 100644 --- a/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java +++ b/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java @@ -50,7 +50,7 @@ import com.cloud.utils.db.GenericDao; import com.cloud.utils.db.StateMachine; import com.cloud.utils.fsm.FiniteStateObject; import com.cloud.vm.VirtualMachine.State; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.gson.Gson; @Entity @@ -619,7 +619,7 @@ public class VMInstanceVO implements VirtualMachine, FiniteStateObject getBackupVolumeList() { - if (Strings.isNullOrEmpty(this.backupVolumes)) { + if (StringUtils.isEmpty(this.backupVolumes)) { return Collections.emptyList(); } return Arrays.asList(new Gson().fromJson(this.backupVolumes, Backup.VolumeInfo[].class)); diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/NicSecondaryIpDaoImpl.java b/engine/schema/src/main/java/com/cloud/vm/dao/NicSecondaryIpDaoImpl.java index ba3a5c7917a..a56d35d5a63 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/NicSecondaryIpDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/NicSecondaryIpDaoImpl.java @@ -19,9 +19,9 @@ package com.cloud.vm.dao; import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import com.cloud.utils.StringUtils; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.GenericSearchBuilder; import com.cloud.utils.db.SearchBuilder; diff --git a/engine/schema/src/main/java/org/apache/cloudstack/acl/dao/ProjectRoleDaoImpl.java b/engine/schema/src/main/java/org/apache/cloudstack/acl/dao/ProjectRoleDaoImpl.java index b15382612f4..b88e1b52104 100644 --- a/engine/schema/src/main/java/org/apache/cloudstack/acl/dao/ProjectRoleDaoImpl.java +++ b/engine/schema/src/main/java/org/apache/cloudstack/acl/dao/ProjectRoleDaoImpl.java @@ -24,7 +24,7 @@ import org.apache.cloudstack.acl.ProjectRoleVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class ProjectRoleDaoImpl extends GenericDaoBase implements ProjectRoleDao{ private final SearchBuilder ProjectRoleSearch; @@ -41,7 +41,7 @@ public class ProjectRoleDaoImpl extends GenericDaoBase imp @Override public List findByName(String name, Long projectId) { SearchCriteria sc = ProjectRoleSearch.create(); - if (!Strings.isNullOrEmpty(name)) { + if (StringUtils.isNotEmpty(name)) { sc.setParameters("name", "%" + name + "%"); } if (projectId != null) { diff --git a/engine/schema/src/main/java/org/apache/cloudstack/annotation/dao/AnnotationDaoImpl.java b/engine/schema/src/main/java/org/apache/cloudstack/annotation/dao/AnnotationDaoImpl.java index 0bb47a5660c..32607897a38 100644 --- a/engine/schema/src/main/java/org/apache/cloudstack/annotation/dao/AnnotationDaoImpl.java +++ b/engine/schema/src/main/java/org/apache/cloudstack/annotation/dao/AnnotationDaoImpl.java @@ -24,7 +24,7 @@ import org.apache.cloudstack.acl.RoleType; import org.apache.cloudstack.annotation.AnnotationService.EntityType; import org.apache.cloudstack.annotation.AnnotationVO; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -93,8 +93,7 @@ public class AnnotationDaoImpl extends GenericDaoBase implem if (StringUtils.isNotBlank(userUuid)) { sc.addAnd("userUuid", SearchCriteria.Op.EQ, userUuid); } - if (StringUtils.isNotBlank(callingUserUuid) && StringUtils.isNotBlank(annotationFilter) && - annotationFilter.equalsIgnoreCase("self")) { + if (StringUtils.isNoneBlank(callingUserUuid, annotationFilter) && annotationFilter.equalsIgnoreCase("self")) { sc.addAnd("userUuid", SearchCriteria.Op.EQ, callingUserUuid); } if (!isCallerAdmin) { diff --git a/engine/storage/configdrive/src/main/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilder.java b/engine/storage/configdrive/src/main/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilder.java index 0675b43cb4a..a76bbd947a6 100644 --- a/engine/storage/configdrive/src/main/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilder.java +++ b/engine/storage/configdrive/src/main/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilder.java @@ -33,7 +33,7 @@ import java.util.List; import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.joda.time.Duration; diff --git a/engine/storage/configdrive/src/test/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilderTest.java b/engine/storage/configdrive/src/test/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilderTest.java index 50cab35e78d..c1bce019172 100644 --- a/engine/storage/configdrive/src/test/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilderTest.java +++ b/engine/storage/configdrive/src/test/java/org/apache/cloudstack/storage/configdrive/ConfigDriveBuilderTest.java @@ -31,7 +31,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java index a62921c9d94..6a352a300c3 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java @@ -34,6 +34,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.StorageStrategyFactory import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.storage.command.CopyCmdAnswer; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -42,7 +43,6 @@ import com.cloud.host.Host; import com.cloud.storage.Volume; import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.VolumeDao; -import com.cloud.utils.StringUtils; @Component diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java index 237be6c1eff..8aaceee68b9 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/KvmNonManagedStorageDataMotionStrategy.java @@ -35,7 +35,7 @@ import org.apache.cloudstack.storage.datastore.DataStoreManagerImpl; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.to.TemplateObjectTO; import org.apache.commons.collections.MapUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Answer; diff --git a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java index aee1f75c352..43637103912 100644 --- a/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java +++ b/engine/storage/datamotion/src/main/java/org/apache/cloudstack/storage/motion/StorageSystemDataMotionStrategy.java @@ -69,7 +69,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.to.PrimaryDataStoreTO; import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.commons.collections.MapUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; @@ -1047,7 +1047,7 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy { } if (copyCmdAnswer == null || !copyCmdAnswer.getResult()) { - if (copyCmdAnswer != null && !StringUtils.isEmpty(copyCmdAnswer.getDetails())) { + if (copyCmdAnswer != null && StringUtils.isNotEmpty(copyCmdAnswer.getDetails())) { errMsg = copyCmdAnswer.getDetails(); if (needCache) { @@ -1282,7 +1282,7 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy { } if (copyCmdAnswer == null || !copyCmdAnswer.getResult()) { - if (copyCmdAnswer != null && !StringUtils.isEmpty(copyCmdAnswer.getDetails())) { + if (copyCmdAnswer != null && StringUtils.isNotEmpty(copyCmdAnswer.getDetails())) { throw new CloudRuntimeException(copyCmdAnswer.getDetails()); } else { @@ -1610,7 +1610,7 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy { copyCmdAnswer = copyImageToVolume(srcVolumeInfo, destVolumeInfo, hostVO); if (copyCmdAnswer == null || !copyCmdAnswer.getResult()) { - if (copyCmdAnswer != null && !StringUtils.isEmpty(copyCmdAnswer.getDetails())) { + if (copyCmdAnswer != null && StringUtils.isNotEmpty(copyCmdAnswer.getDetails())) { throw new CloudRuntimeException(copyCmdAnswer.getDetails()); } else { @@ -2396,7 +2396,7 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy { handleQualityOfServiceForVolumeMigration(volumeInfo, PrimaryDataStoreDriver.QualityOfServiceState.NO_MIGRATION); if (copyCmdAnswer == null || !copyCmdAnswer.getResult()) { - if (copyCmdAnswer != null && !StringUtils.isEmpty(copyCmdAnswer.getDetails())) { + if (copyCmdAnswer != null && StringUtils.isNotEmpty(copyCmdAnswer.getDetails())) { errMsg = copyCmdAnswer.getDetails(); } else { @@ -2711,7 +2711,7 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy { MigrateVolumeAnswer migrateVolumeAnswer = (MigrateVolumeAnswer)agentManager.send(hostVO.getId(), migrateVolumeCommand); if (migrateVolumeAnswer == null || !migrateVolumeAnswer.getResult()) { - if (migrateVolumeAnswer != null && !StringUtils.isEmpty(migrateVolumeAnswer.getDetails())) { + if (migrateVolumeAnswer != null && StringUtils.isNotEmpty(migrateVolumeAnswer.getDetails())) { throw new CloudRuntimeException(migrateVolumeAnswer.getDetails()); } else { @@ -2779,7 +2779,7 @@ public class StorageSystemDataMotionStrategy implements DataMotionStrategy { CopyVolumeAnswer copyVolumeAnswer = (CopyVolumeAnswer)agentManager.send(hostVO.getId(), copyVolumeCommand); if (copyVolumeAnswer == null || !copyVolumeAnswer.getResult()) { - if (copyVolumeAnswer != null && !StringUtils.isEmpty(copyVolumeAnswer.getDetails())) { + if (copyVolumeAnswer != null && StringUtils.isNotEmpty(copyVolumeAnswer.getDetails())) { throw new CloudRuntimeException(copyVolumeAnswer.getDetails()); } else { diff --git a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateDataFactoryImpl.java b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateDataFactoryImpl.java index 155452d37a6..492ec74382b 100644 --- a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateDataFactoryImpl.java +++ b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateDataFactoryImpl.java @@ -24,7 +24,6 @@ import java.util.List; import javax.inject.Inject; import com.cloud.hypervisor.Hypervisor; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; import org.apache.cloudstack.direct.download.DirectDownloadManager; import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; @@ -37,6 +36,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.image.store.TemplateObject; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java index ef0ef7edcdf..4aefccc67ab 100644 --- a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java +++ b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java @@ -66,7 +66,7 @@ import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; import org.apache.cloudstack.storage.image.store.TemplateObject; import org.apache.cloudstack.storage.to.TemplateObjectTO; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -111,7 +111,6 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; import com.cloud.utils.fsm.StateMachine2; import com.cloud.vm.VmDetailConstants; -import com.google.common.base.Strings; @Component public class TemplateServiceImpl implements TemplateService { @@ -765,15 +764,15 @@ public class TemplateServiceImpl implements TemplateService { if (!deployAsIs) { if (!diskTemplate.isBootable()) { createChildDataDiskTemplate(diskTemplate, templateVO, parentTemplate, imageStore, diskCount++); - if (!diskTemplate.isIso() && Strings.isNullOrEmpty(details.get(VmDetailConstants.DATA_DISK_CONTROLLER))){ + if (!diskTemplate.isIso() && StringUtils.isEmpty(details.get(VmDetailConstants.DATA_DISK_CONTROLLER))){ details.put(VmDetailConstants.DATA_DISK_CONTROLLER, getOvaDiskControllerDetails(diskTemplate, false)); details.put(VmDetailConstants.DATA_DISK_CONTROLLER + diskTemplate.getDiskId(), getOvaDiskControllerDetails(diskTemplate, false)); } } else { finalizeParentTemplate(diskTemplate, templateVO, parentTemplate, imageStore, diskCount++); - if (Strings.isNullOrEmpty(VmDetailConstants.ROOT_DISK_CONTROLLER)) { + if (StringUtils.isEmpty(VmDetailConstants.ROOT_DISK_CONTROLLER)) { final String rootDiskController = getOvaDiskControllerDetails(diskTemplate, true); - if (!Strings.isNullOrEmpty(rootDiskController)) { + if (StringUtils.isNotEmpty(rootDiskController)) { details.put(VmDetailConstants.ROOT_DISK_CONTROLLER, rootDiskController); } } diff --git a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/store/TemplateObject.java b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/store/TemplateObject.java index c8b78aa9c91..0bcfad470b8 100644 --- a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/store/TemplateObject.java +++ b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/store/TemplateObject.java @@ -54,7 +54,7 @@ import com.cloud.utils.component.ComponentContext; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @SuppressWarnings("serial") public class TemplateObject implements TemplateInfo { @@ -251,7 +251,7 @@ public class TemplateObject implements TemplateInfo { * In the case of managed storage, the install path may already be specified (by the storage plug-in), so do not overwrite it. */ private void setInstallPathIfNeeded(TemplateObjectTO template, VMTemplateStoragePoolVO templatePoolRef) { - if (Strings.isNullOrEmpty(templatePoolRef.getInstallPath())) { + if (StringUtils.isEmpty(templatePoolRef.getInstallPath())) { templatePoolRef.setInstallPath(template.getPath()); } } @@ -260,7 +260,7 @@ public class TemplateObject implements TemplateInfo { * In the case of managed storage, the local download path may already be specified (by the storage plug-in), so do not overwrite it. */ private void setDownloadPathIfNeeded(TemplateObjectTO template, VMTemplateStoragePoolVO templatePoolRef) { - if (Strings.isNullOrEmpty(templatePoolRef.getLocalDownloadPath())) { + if (StringUtils.isEmpty(templatePoolRef.getLocalDownloadPath())) { templatePoolRef.setLocalDownloadPath(template.getPath()); } } diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/image/deployasis/DeployAsIsHelperImpl.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/image/deployasis/DeployAsIsHelperImpl.java index 9d26da84bf6..2c26252952c 100644 --- a/engine/storage/src/main/java/org/apache/cloudstack/storage/image/deployasis/DeployAsIsHelperImpl.java +++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/image/deployasis/DeployAsIsHelperImpl.java @@ -56,7 +56,7 @@ import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -172,7 +172,7 @@ public class DeployAsIsHelperImpl implements DeployAsIsHelper { GuestOSHypervisorVO mapping = guestOsMappings.get(0); guestOsId = mapping.getGuestOsId(); } else { - if (!StringUtils.isEmpty(guestOsDescription)) { + if (StringUtils.isNotEmpty(guestOsDescription)) { for (GuestOSHypervisorVO guestOSHypervisorVO : guestOsMappings) { GuestOSVO guestOSVO = guestOSDao.findById(guestOSHypervisorVO.getGuestOsId()); if (guestOsDescription.equalsIgnoreCase(guestOSVO.getDisplayName())) { diff --git a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java index 30cd7ac3f2f..09014eb7287 100644 --- a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java +++ b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java @@ -38,7 +38,7 @@ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import javax.inject.Inject; diff --git a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeObject.java b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeObject.java index 705d8120bcd..09f20ab1a27 100644 --- a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeObject.java +++ b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeObject.java @@ -42,7 +42,7 @@ import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; import org.apache.cloudstack.storage.to.VolumeObjectTO; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Answer; diff --git a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index 92526846729..fa01058ff6b 100644 --- a/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -132,7 +132,7 @@ import com.cloud.utils.db.DB; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VirtualMachine; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import static com.cloud.storage.resource.StorageProcessor.REQUEST_TEMPLATE_RELOAD; import java.util.concurrent.ExecutionException; @@ -2113,7 +2113,7 @@ public class VolumeServiceImpl implements VolumeService { destPoolSystemId = destPoolSystemIdDetail.getValue(); } - if (Strings.isNullOrEmpty(srcPoolSystemId) || Strings.isNullOrEmpty(destPoolSystemId)) { + if (StringUtils.isAnyEmpty(srcPoolSystemId, destPoolSystemId)) { s_logger.warn("PowerFlex src pool: " + srcDataStore.getId() + " or dest pool: " + destDataStore.getId() + " storage instance details are not available"); return false; diff --git a/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java b/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java index 7d1b7b75ec9..5c304a37cb6 100644 --- a/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java +++ b/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java @@ -70,7 +70,7 @@ import com.cloud.utils.db.SearchCriteria.SelectType; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.Ip; import com.cloud.utils.net.NetUtils; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import net.sf.cglib.proxy.Callback; import net.sf.cglib.proxy.CallbackFilter; @@ -1998,7 +1998,7 @@ public abstract class GenericDaoBase extends Compone public Integer getDistinctCountIncludingRemoved(SearchCriteria sc, String[] distinctColumns) { String clause = sc != null ? sc.getWhereClause() : null; - if (Strings.isNullOrEmpty(clause)) { + if (StringUtils.isEmpty(clause)) { clause = null; } diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java index cb5044cbaad..e774a52648e 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java @@ -29,7 +29,7 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.db.TransactionStatus; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @Component public class QuotaEmailTemplatesDaoImpl extends GenericDaoBase implements QuotaEmailTemplatesDao { @@ -51,7 +51,7 @@ public class QuotaEmailTemplatesDaoImpl extends GenericDaoBase doInTransaction(final TransactionStatus status) { SearchCriteria sc = QuotaEmailTemplateSearch.create(); - if (!Strings.isNullOrEmpty(templateName)) { + if (StringUtils.isNotEmpty(templateName)) { sc.setParameters("template_name", templateName); } return listBy(sc); diff --git a/framework/security/src/main/java/org/apache/cloudstack/framework/security/keystore/KeystoreManagerImpl.java b/framework/security/src/main/java/org/apache/cloudstack/framework/security/keystore/KeystoreManagerImpl.java index bed74bf4c3e..2e0d9e306d3 100644 --- a/framework/security/src/main/java/org/apache/cloudstack/framework/security/keystore/KeystoreManagerImpl.java +++ b/framework/security/src/main/java/org/apache/cloudstack/framework/security/keystore/KeystoreManagerImpl.java @@ -30,8 +30,7 @@ import java.util.regex.Pattern; import javax.inject.Inject; -import com.google.common.base.Strings; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -49,7 +48,7 @@ public class KeystoreManagerImpl extends ManagerBase implements KeystoreManager @Override public boolean validateCertificate(String certificate, String key, String domainSuffix) { - if (Strings.isNullOrEmpty(certificate) || Strings.isNullOrEmpty(key) || Strings.isNullOrEmpty(domainSuffix)) { + if (StringUtils.isAnyEmpty(certificate, key, domainSuffix)) { s_logger.error("Invalid parameter found in (certificate, key, domainSuffix) tuple for domain: " + domainSuffix); return false; } diff --git a/framework/spring/lifecycle/src/main/java/org/apache/cloudstack/spring/lifecycle/registry/ExtensionRegistry.java b/framework/spring/lifecycle/src/main/java/org/apache/cloudstack/spring/lifecycle/registry/ExtensionRegistry.java index ebb5b5f7800..eda9a231fe5 100644 --- a/framework/spring/lifecycle/src/main/java/org/apache/cloudstack/spring/lifecycle/registry/ExtensionRegistry.java +++ b/framework/spring/lifecycle/src/main/java/org/apache/cloudstack/spring/lifecycle/registry/ExtensionRegistry.java @@ -27,7 +27,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import javax.annotation.PostConstruct; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.BeanNameAware; diff --git a/plugins/acl/dynamic-role-based/src/main/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java b/plugins/acl/dynamic-role-based/src/main/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java index f693bae8c33..4664811979e 100644 --- a/plugins/acl/dynamic-role-based/src/main/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java +++ b/plugins/acl/dynamic-role-based/src/main/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java @@ -36,7 +36,7 @@ import com.cloud.user.AccountService; import com.cloud.user.User; import com.cloud.utils.component.AdapterBase; import com.cloud.utils.component.PluggableService; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class DynamicRoleBasedAPIAccessChecker extends AdapterBase implements APIAclChecker { @@ -107,7 +107,7 @@ public class DynamicRoleBasedAPIAccessChecker extends AdapterBase implements API } public void addApiToRoleBasedAnnotationsMap(final RoleType roleType, final String commandName) { - if (roleType == null || Strings.isNullOrEmpty(commandName)) { + if (roleType == null || StringUtils.isEmpty(commandName)) { return; } final Set commands = annotationRoleBasedApisMap.get(roleType); diff --git a/plugins/api/discovery/src/main/java/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java b/plugins/api/discovery/src/main/java/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java index 5d2285629d6..1244cfb7dae 100644 --- a/plugins/api/discovery/src/main/java/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java +++ b/plugins/api/discovery/src/main/java/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java @@ -39,6 +39,7 @@ import org.apache.cloudstack.api.response.ApiDiscoveryResponse; import org.apache.cloudstack.api.response.ApiParameterResponse; import org.apache.cloudstack.api.response.ApiResponseResponse; import org.apache.cloudstack.api.response.ListResponse; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.reflections.ReflectionUtils; import org.springframework.stereotype.Component; @@ -46,7 +47,6 @@ import org.springframework.stereotype.Component; import com.cloud.serializer.Param; import com.cloud.user.User; import com.cloud.utils.ReflectUtil; -import com.cloud.utils.StringUtils; import com.cloud.utils.component.ComponentLifecycleBase; import com.cloud.utils.component.PluggableService; import com.google.gson.annotations.SerializedName; @@ -126,7 +126,7 @@ public class ApiDiscoveryServiceImpl extends ComponentLifecycleBase implements A for (ApiParameterResponse param : response.getParams()) { if (responseApiNameListMap.containsKey(param.getRelated())) { List relatedApis = responseApiNameListMap.get(param.getRelated()); - param.setRelated(StringUtils.join(relatedApis, ",")); + param.setRelated(StringUtils.defaultString(StringUtils.join(relatedApis, ","))); } else { param.setRelated(null); } diff --git a/plugins/api/discovery/src/test/java/org/apache/cloudstack/discovery/ApiDiscoveryTest.java b/plugins/api/discovery/src/test/java/org/apache/cloudstack/discovery/ApiDiscoveryTest.java index c261fb2538f..b0ca23245de 100644 --- a/plugins/api/discovery/src/test/java/org/apache/cloudstack/discovery/ApiDiscoveryTest.java +++ b/plugins/api/discovery/src/test/java/org/apache/cloudstack/discovery/ApiDiscoveryTest.java @@ -26,7 +26,7 @@ import org.apache.cloudstack.api.command.user.vm.ListVMsCmd; import org.apache.cloudstack.api.response.ApiDiscoveryResponse; import org.apache.cloudstack.api.response.ApiResponseResponse; import org.apache.cloudstack.api.response.ListResponse; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.junit.BeforeClass; import org.junit.Test; diff --git a/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/veeam/VeeamClient.java b/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/veeam/VeeamClient.java index 9facba529b4..1012d5e9715 100644 --- a/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/veeam/VeeamClient.java +++ b/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/veeam/VeeamClient.java @@ -56,7 +56,6 @@ import org.apache.cloudstack.backup.veeam.api.Ref; import org.apache.cloudstack.backup.veeam.api.RestoreSession; import org.apache.cloudstack.backup.veeam.api.Task; import org.apache.cloudstack.utils.security.SSLUtils; -import org.apache.commons.lang.StringUtils; import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; @@ -80,7 +79,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class VeeamClient { private static final Logger LOG = Logger.getLogger(VeeamClient.class); @@ -138,7 +137,7 @@ public class VeeamClient { final HttpResponse response = httpClient.execute(request); checkAuthFailure(response); veeamSessionId = response.getFirstHeader(SESSION_HEADER).getValue(); - if (Strings.isNullOrEmpty(veeamSessionId)) { + if (StringUtils.isEmpty(veeamSessionId)) { throw new CloudRuntimeException("Veeam Session ID is not available to perform API requests"); } if (response.getStatusLine().getStatusCode() != HttpStatus.SC_CREATED) { diff --git a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCACustomTrustManager.java b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCACustomTrustManager.java index 0a4df0adeb5..fb5da50ce16 100644 --- a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCACustomTrustManager.java +++ b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCACustomTrustManager.java @@ -30,7 +30,7 @@ import javax.net.ssl.X509TrustManager; import org.apache.log4j.Logger; import com.cloud.certificate.dao.CrlDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public final class RootCACustomTrustManager implements X509TrustManager { private static final Logger LOG = Logger.getLogger(RootCACustomTrustManager.class); @@ -43,7 +43,7 @@ public final class RootCACustomTrustManager implements X509TrustManager { private Map activeCertMap; public RootCACustomTrustManager(final String clientAddress, final boolean authStrictness, final boolean allowExpiredCertificate, final Map activeCertMap, final X509Certificate caCertificate, final CrlDao crlDao) { - if (!Strings.isNullOrEmpty(clientAddress)) { + if (StringUtils.isNotEmpty(clientAddress)) { this.clientAddress = clientAddress.replace("/", "").split(":")[0]; } this.authStrictness = authStrictness; @@ -96,7 +96,7 @@ public final class RootCACustomTrustManager implements X509TrustManager { final String errorMsg = String.format("Client is using revoked certificate of serial=%x, subject=%s from address=%s", primaryClientCertificate.getSerialNumber(), primaryClientCertificate.getSubjectDN(), clientAddress); LOG.error(errorMsg); - exceptionMsg = (Strings.isNullOrEmpty(exceptionMsg)) ? errorMsg : (exceptionMsg + ". " + errorMsg); + exceptionMsg = (StringUtils.isEmpty(exceptionMsg)) ? errorMsg : (exceptionMsg + ". " + errorMsg); } // Validity check @@ -126,9 +126,9 @@ public final class RootCACustomTrustManager implements X509TrustManager { if (!certMatchesOwnership) { final String errorMsg = "Certificate ownership verification failed for client: " + clientAddress; LOG.error(errorMsg); - exceptionMsg = (Strings.isNullOrEmpty(exceptionMsg)) ? errorMsg : (exceptionMsg + ". " + errorMsg); + exceptionMsg = (StringUtils.isEmpty(exceptionMsg)) ? errorMsg : (exceptionMsg + ". " + errorMsg); } - if (authStrictness && !Strings.isNullOrEmpty(exceptionMsg)) { + if (authStrictness && StringUtils.isNotEmpty(exceptionMsg)) { throw new CertificateException(exceptionMsg); } if (LOG.isDebugEnabled()) { @@ -139,7 +139,7 @@ public final class RootCACustomTrustManager implements X509TrustManager { } } - if (primaryClientCertificate != null && activeCertMap != null && !Strings.isNullOrEmpty(clientAddress)) { + if (primaryClientCertificate != null && activeCertMap != null && StringUtils.isNotEmpty(clientAddress)) { activeCertMap.put(clientAddress, primaryClientCertificate); } } diff --git a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java index b0eebd41d76..f71274bbc88 100644 --- a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java +++ b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java @@ -75,7 +75,7 @@ import com.cloud.utils.component.AdapterBase; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public final class RootCAProvider extends AdapterBase implements CAProvider, Configurable { private static final Logger LOG = Logger.getLogger(RootCAProvider.class); @@ -133,7 +133,7 @@ public final class RootCAProvider extends AdapterBase implements CAProvider, Con /////////////////////////////////////////////////////////// private Certificate generateCertificate(final List domainNames, final List ipAddresses, final int validityDays) throws NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, CertificateException, SignatureException, IOException, OperatorCreationException { - if (domainNames == null || domainNames.size() < 1 || Strings.isNullOrEmpty(domainNames.get(0))) { + if (domainNames == null || domainNames.size() < 1 || StringUtils.isEmpty(domainNames.get(0))) { throw new CloudRuntimeException("No domain name is specified, cannot generate certificate"); } final String subject = "CN=" + domainNames.get(0); @@ -335,7 +335,7 @@ public final class RootCAProvider extends AdapterBase implements CAProvider, Con } private boolean loadRootCAKeyPair() { - if (Strings.isNullOrEmpty(rootCAPublicKey.value()) || Strings.isNullOrEmpty(rootCAPrivateKey.value())) { + if (StringUtils.isAnyEmpty(rootCAPublicKey.value(), rootCAPrivateKey.value())) { return false; } try { @@ -348,7 +348,7 @@ public final class RootCAProvider extends AdapterBase implements CAProvider, Con } private boolean loadRootCACertificate() { - if (Strings.isNullOrEmpty(rootCACertificate.value())) { + if (StringUtils.isEmpty(rootCACertificate.value())) { return false; } try { diff --git a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalKickStartPxeResource.java b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalKickStartPxeResource.java index 260f4f16e87..dbee3c4a91d 100644 --- a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalKickStartPxeResource.java +++ b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalKickStartPxeResource.java @@ -24,7 +24,7 @@ import java.util.Map; import javax.naming.ConfigurationException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.trilead.ssh2.SCPClient; diff --git a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPingPxeResource.java b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPingPxeResource.java index 80827a25ac8..71e7ae766dc 100644 --- a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPingPxeResource.java +++ b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPingPxeResource.java @@ -28,6 +28,7 @@ import java.util.Map; import javax.naming.ConfigurationException; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.trilead.ssh2.SCPClient; @@ -233,7 +234,7 @@ public class BaremetalPingPxeResource extends BaremetalPxeResourceBase { sb.append(contents); sb.append(";"); } - String arg = org.apache.commons.lang.StringUtils.stripEnd(sb.toString(), ";"); + String arg = StringUtils.stripEnd(sb.toString(), ";"); sshConnection.connect(null, 60000, 60000); if (!sshConnection.authenticateWithPassword(_username, _password)) { diff --git a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/Force10BaremetalSwitchBackend.java b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/Force10BaremetalSwitchBackend.java index c34a6cd15a0..30197bfc91d 100644 --- a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/Force10BaremetalSwitchBackend.java +++ b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/Force10BaremetalSwitchBackend.java @@ -26,7 +26,7 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.xmlobject.XmlObject; import com.cloud.utils.xmlobject.XmlObjectParser; import org.apache.commons.codec.binary.Base64; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; diff --git a/plugins/hypervisors/hyperv/src/main/java/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java b/plugins/hypervisors/hyperv/src/main/java/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java index 038661b58ad..14d3c09f98a 100644 --- a/plugins/hypervisors/hyperv/src/main/java/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java +++ b/plugins/hypervisors/hyperv/src/main/java/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java @@ -2085,7 +2085,7 @@ public class HypervDirectConnectResource extends ServerResourceBase implements S final String controlIp = getRouterSshControlIp(cmd); final String config = cmd.getConfiguration(); - if (org.apache.commons.lang.StringUtils.isBlank(config)) { + if (org.apache.commons.lang3.StringUtils.isBlank(config)) { s_logger.error("SetMonitorServiceCommand should have config for this case"); return new Answer(cmd, false, "SetMonitorServiceCommand failed due to missing config"); } @@ -2401,7 +2401,7 @@ public class HypervDirectConnectResource extends ServerResourceBase implements S } final List stringList = new ArrayList(); Collections.addAll(stringList, temp); - cleanLogString = StringUtils.join(stringList, ","); + cleanLogString = org.apache.commons.lang3.StringUtils.join(stringList, ","); } } return cleanLogString; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java index b5886a1ceda..022eafaca8a 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkDriverImpl.java @@ -20,7 +20,7 @@ package com.cloud.hypervisor.kvm.dpdk; import com.cloud.utils.component.AdapterBase; import com.cloud.utils.script.Script; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.util.Map; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java index 741aa72172e..18ff8d42b16 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java @@ -28,10 +28,9 @@ import java.util.regex.Pattern; import javax.naming.ConfigurationException; -import com.cloud.utils.StringUtils; import com.cloud.utils.net.NetUtils; import com.cloud.utils.script.OutputInterpreter; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.libvirt.LibvirtException; @@ -402,7 +401,7 @@ public class BridgeVifDriver extends VifDriverBase { continue; } final String device = tokens[2]; - if (!Strings.isNullOrEmpty(device) && !device.equalsIgnoreCase(linkLocalBr)) { + if (StringUtils.isNotEmpty(device) && !device.equalsIgnoreCase(linkLocalBr)) { Script.runSimpleBashScript("ip route del " + _controlCidr + " dev " + tokens[2]); } else { foundLinkLocalBr = true; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java index fd22c5ecefb..4c165f74a12 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java @@ -26,7 +26,7 @@ import java.util.regex.Pattern; import javax.naming.ConfigurationException; -import com.cloud.utils.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.libvirt.LibvirtException; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 46763a151f9..0640d6e2bb5 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -174,7 +174,6 @@ import com.cloud.utils.ExecutionResult; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.PropertiesUtil; -import com.cloud.utils.StringUtils; import com.cloud.utils.Ternary; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; @@ -185,7 +184,7 @@ import com.cloud.utils.ssh.SshHelper; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.PowerState; import com.cloud.vm.VmDetailConstants; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.apache.cloudstack.utils.bytescale.ByteScaleUtils; import org.libvirt.VcpuInfo; @@ -813,12 +812,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } directDownloadTemporaryDownloadPath = (String) params.get("direct.download.temporary.download.location"); - if (org.apache.commons.lang.StringUtils.isBlank(directDownloadTemporaryDownloadPath)) { + if (StringUtils.isBlank(directDownloadTemporaryDownloadPath)) { directDownloadTemporaryDownloadPath = getDefaultDirectDownloadTemporaryPath(); } cachePath = (String) params.get(HOST_CACHE_PATH_PARAMETER); - if (org.apache.commons.lang.StringUtils.isBlank(cachePath)) { + if (StringUtils.isBlank(cachePath)) { cachePath = getDefaultCachePath(); } @@ -1060,12 +1059,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv _rngEnable = true; value = (String) params.get("vm.rng.model"); - if (!Strings.isNullOrEmpty(value)) { + if (StringUtils.isNotEmpty(value)) { _rngBackendModel = RngBackendModel.valueOf(value.toUpperCase()); } value = (String) params.get("vm.rng.path"); - if (!Strings.isNullOrEmpty(value)) { + if (StringUtils.isNotEmpty(value)) { _rngPath = value; } @@ -1077,12 +1076,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } value = (String) params.get("vm.watchdog.model"); - if (!Strings.isNullOrEmpty(value)) { + if (StringUtils.isNotEmpty(value)) { _watchDogModel = WatchDogModel.valueOf(value.toUpperCase()); } value = (String) params.get("vm.watchdog.action"); - if (!Strings.isNullOrEmpty(value)) { + if (StringUtils.isNotEmpty(value)) { _watchDogAction = WatchDogAction.valueOf(value.toUpperCase()); } @@ -1133,7 +1132,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } final String cpuArchOverride = (String)params.get("guest.cpu.arch"); - if (!Strings.isNullOrEmpty(cpuArchOverride)) { + if (StringUtils.isNotEmpty(cpuArchOverride)) { _guestCpuArch = cpuArchOverride; s_logger.info("Using guest CPU architecture: " + _guestCpuArch); } @@ -2127,7 +2126,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } nicNum = macAddressToNicNum.get(ip.getVifMacAddress()); - if (org.apache.commons.lang.StringUtils.equalsIgnoreCase(lastIp, "true") && !ip.isAdd()) { + if (StringUtils.equalsIgnoreCase(lastIp, "true") && !ip.isAdd()) { // in isolated network eth2 is the default public interface. We don't want to delete it. if (nicNum != 2) { vifHotUnPlug(conn, routerName, ip.getVifMacAddress()); @@ -2514,7 +2513,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv protected ClockDef createClockDef(final VirtualMachineTO vmTO) { ClockDef clock = new ClockDef(); - if (org.apache.commons.lang.StringUtils.startsWith(vmTO.getOs(), WINDOWS)) { + if (StringUtils.startsWith(vmTO.getOs(), WINDOWS)) { clock.setClockOffset(ClockDef.ClockOffset.LOCALTIME); clock.setTimer(HYPERVCLOCK, null, null); } else if ((vmTO.getType() != VirtualMachine.Type.User || isGuestPVEnabled(vmTO.getOs())) && _hypervisorLibvirtVersion >= MIN_LIBVIRT_VERSION_FOR_GUEST_CPU_MODE) { @@ -2690,7 +2689,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } } String comp = extraConfigBuilder.toString(); - if (org.apache.commons.lang.StringUtils.isNotBlank(comp)) { + if (StringUtils.isNotBlank(comp)) { vm.addComp(comp); } } @@ -3759,10 +3758,10 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } else if (platformEmulator.startsWith("Other PV Virtio-SCSI")) { return DiskDef.DiskBus.SCSI; } else if (platformEmulator.contains("Ubuntu") || - org.apache.commons.lang3.StringUtils.startsWithAny(platformEmulator, + StringUtils.startsWithAny(platformEmulator, "Fedora", "CentOS", "Red Hat Enterprise Linux", "Debian GNU/Linux", "FreeBSD", "Oracle", "Other PV")) { return DiskDef.DiskBus.VIRTIO; - } else if (isUefiEnabled && org.apache.commons.lang3.StringUtils.startsWithAny(platformEmulator, "Windows", "Other")) { + } else if (isUefiEnabled && StringUtils.startsWithAny(platformEmulator, "Windows", "Other")) { return DiskDef.DiskBus.SATA; } else { return DiskDef.DiskBus.IDE; @@ -4483,7 +4482,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } public String getVlanIdFromBridgeName(String brName) { - if (org.apache.commons.lang.StringUtils.isNotBlank(brName)) { + if (StringUtils.isNotBlank(brName)) { String[] s = brName.split("-"); if (s.length > 1) { return s[1]; @@ -4590,8 +4589,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv Map info = qemu.info(file); String backingFilePath = info.get(QemuImg.BACKING_FILE); String backingFileFormat = info.get(QemuImg.BACKING_FILE_FORMAT); - if (org.apache.commons.lang.StringUtils.isNotBlank(backingFilePath) - && org.apache.commons.lang.StringUtils.isBlank(backingFileFormat)) { + if (StringUtils.isNotBlank(backingFilePath) && StringUtils.isBlank(backingFileFormat)) { // VMs which are created in CloudStack 4.14 and before cannot be started or migrated // in latest Linux distributions due to missing backing file format // Please refer to https://libvirt.org/kbase/backing_chains.html#vm-refuses-to-start-due-to-misconfigured-backing-store-format diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java index bb3f7132f22..15ed16e21b6 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java @@ -26,7 +26,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -35,8 +35,6 @@ import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; -import com.google.common.base.Strings; - import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.ChannelDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.DiskDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef; @@ -254,7 +252,7 @@ public class LibvirtDomainXMLParser { String state = getAttrValue("target", "state", channel); ChannelDef def = null; - if (!StringUtils.isNotBlank(state)) { + if (StringUtils.isBlank(state)) { def = new ChannelDef(name, ChannelDef.ChannelType.valueOf(type.toUpperCase()), new File(path)); } else { def = new ChannelDef(name, ChannelDef.ChannelType.valueOf(type.toUpperCase()), @@ -291,7 +289,7 @@ public class LibvirtDomainXMLParser { String bytes = getAttrValue("rate", "bytes", rng); String period = getAttrValue("rate", "period", rng); - if (Strings.isNullOrEmpty(backendModel)) { + if (StringUtils.isEmpty(backendModel)) { def = new RngDef(path, Integer.parseInt(bytes), Integer.parseInt(period)); } else { def = new RngDef(path, RngBackendModel.valueOf(backendModel.toUpperCase()), @@ -308,11 +306,11 @@ public class LibvirtDomainXMLParser { String action = watchDog.getAttribute("action"); String model = watchDog.getAttribute("model"); - if (Strings.isNullOrEmpty(model)) { + if (StringUtils.isEmpty(model)) { continue; } - if (Strings.isNullOrEmpty(action)) { + if (StringUtils.isEmpty(action)) { def = new WatchDogDef(WatchDogModel.valueOf(model.toUpperCase())); } else { def = new WatchDogDef(WatchDogAction.valueOf(action.toUpperCase()), diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtStoragePoolXMLParser.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtStoragePoolXMLParser.java index bd7deaa0eb4..d88d68d54b1 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtStoragePoolXMLParser.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtStoragePoolXMLParser.java @@ -23,7 +23,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index d8b1d4e289a..3da0687eff3 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang.StringEscapeUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; public class LibvirtVMDef { diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java index 185ef898c8a..05d33bc3418 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java @@ -28,7 +28,7 @@ import com.cloud.hypervisor.kvm.dpdk.DpdkDriver; import com.cloud.hypervisor.kvm.dpdk.DpdkDriverImpl; import com.cloud.hypervisor.kvm.dpdk.DpdkHelper; import com.cloud.utils.exception.CloudRuntimeException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.libvirt.LibvirtException; @@ -64,7 +64,7 @@ public class OvsVifDriver extends VifDriverBase { } String controlCidr = (String)params.get("control.cidr"); - if (com.cloud.utils.StringUtils.isNotBlank(controlCidr)) { + if (StringUtils.isNotBlank(controlCidr)) { _controlCidr = controlCidr; } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceAgentExecutor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceAgentExecutor.java index 110c4a8acd9..7635b81b918 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceAgentExecutor.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceAgentExecutor.java @@ -20,7 +20,7 @@ import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.OutputInterpreter; import com.cloud.utils.script.Script; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.joda.time.Duration; @@ -43,7 +43,7 @@ public class RollingMaintenanceAgentExecutor extends RollingMaintenanceExecutorB Duration duration = Duration.standardSeconds(timeout); final Script script = new Script(scriptFile.getAbsolutePath(), duration, s_logger); final OutputInterpreter.AllLinesParser parser = new OutputInterpreter.AllLinesParser(); - if (!Strings.isNullOrEmpty(payload)) { + if (StringUtils.isNotEmpty(payload)) { script.add(payload); } s_logger.info("Executing stage: " + stage + " script: " + script); diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceExecutorBase.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceExecutorBase.java index 140b58851cc..70c8e1983d6 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceExecutorBase.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceExecutorBase.java @@ -17,7 +17,7 @@ package com.cloud.hypervisor.kvm.resource.rolling.maintenance; import com.cloud.utils.exception.CloudRuntimeException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceServiceExecutor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceServiceExecutor.java index 6659bf4a0e8..bf8147ac853 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceServiceExecutor.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/rolling/maintenance/RollingMaintenanceServiceExecutor.java @@ -20,7 +20,7 @@ import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.OutputInterpreter; import com.cloud.utils.script.Script; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java index 1ad1802e949..21552bd6a82 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateCommandWrapper.java @@ -47,7 +47,7 @@ import com.cloud.agent.api.to.DiskTO; import com.cloud.agent.api.to.DpdkTO; import org.apache.commons.collections.MapUtils; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.libvirt.Connect; import org.libvirt.Domain; @@ -80,7 +80,6 @@ import com.cloud.resource.ResourceWrapper; import com.cloud.utils.Ternary; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VirtualMachine; -import com.google.common.base.Strings; @ResourceWrapper(handles = MigrateCommand.class) public final class LibvirtMigrateCommandWrapper extends CommandWrapper { @@ -91,7 +90,7 @@ public final class LibvirtMigrateCommandWrapper extends CommandWrapper paths, String sourceText) { - if (paths != null && !StringUtils.isBlank(sourceText)) { + if (paths != null && StringUtils.isNotBlank(sourceText)) { for (String path : paths) { if (sourceText.contains(path)) { return path; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRevokeDirectDownloadCertificateWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRevokeDirectDownloadCertificateWrapper.java index e942dcbad00..6c83c4d9f06 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRevokeDirectDownloadCertificateWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRevokeDirectDownloadCertificateWrapper.java @@ -28,14 +28,13 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; import org.apache.cloudstack.agent.directdownload.RevokeDirectDownloadCertificateCommand; import org.apache.cloudstack.utils.security.KeyStoreUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import static org.apache.commons.lang.StringUtils.isBlank; - @ResourceWrapper(handles = RevokeDirectDownloadCertificateCommand.class) public class LibvirtRevokeDirectDownloadCertificateWrapper extends CommandWrapper { @@ -80,7 +79,7 @@ public class LibvirtRevokeDirectDownloadCertificateWrapper extends CommandWrappe try { File agentFile = getAgentPropertiesFile(); String privatePassword = getKeystorePassword(agentFile); - if (isBlank(privatePassword)) { + if (StringUtils.isBlank(privatePassword)) { return new Answer(command, false, "No password found for keystore: " + KeyStoreUtils.KS_FILENAME); } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtSetupDirectDownloadCertificateCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtSetupDirectDownloadCertificateCommandWrapper.java index 97035eedd22..fff8da7c4ea 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtSetupDirectDownloadCertificateCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtSetupDirectDownloadCertificateCommandWrapper.java @@ -27,14 +27,13 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; import org.apache.cloudstack.agent.directdownload.SetupDirectDownloadCertificateCommand; import org.apache.cloudstack.utils.security.KeyStoreUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import static org.apache.commons.lang.StringUtils.isBlank; - @ResourceWrapper(handles = SetupDirectDownloadCertificateCommand.class) public class LibvirtSetupDirectDownloadCertificateCommandWrapper extends CommandWrapper { @@ -118,7 +117,7 @@ public class LibvirtSetupDirectDownloadCertificateCommandWrapper extends Command try { File agentFile = getAgentPropertiesFile(); String privatePassword = getKeystorePassword(agentFile); - if (isBlank(privatePassword)) { + if (StringUtils.isBlank(privatePassword)) { return new Answer(cmd, false, "No password found for keystore: " + KeyStoreUtils.KS_FILENAME); } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/IscsiAdmStorageAdaptor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/IscsiAdmStorageAdaptor.java index fb896834e1b..e050e304477 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/IscsiAdmStorageAdaptor.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/IscsiAdmStorageAdaptor.java @@ -23,6 +23,7 @@ import java.util.Map; import org.apache.cloudstack.utils.qemu.QemuImg; import org.apache.cloudstack.utils.qemu.QemuImgException; import org.apache.cloudstack.utils.qemu.QemuImgFile; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat; @@ -31,7 +32,6 @@ import com.cloud.agent.api.to.DiskTO; import com.cloud.storage.Storage; import com.cloud.storage.Storage.ProvisioningType; import com.cloud.storage.Storage.StoragePoolType; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.OutputInterpreter; import com.cloud.utils.script.Script; @@ -104,7 +104,7 @@ public class IscsiAdmStorageAdaptor implements StorageAdaptor { String chapInitiatorUsername = details.get(DiskTO.CHAP_INITIATOR_USERNAME); String chapInitiatorSecret = details.get(DiskTO.CHAP_INITIATOR_SECRET); - if (StringUtils.isNotBlank(chapInitiatorUsername) && StringUtils.isNotBlank(chapInitiatorSecret)) { + if (StringUtils.isNoneBlank(chapInitiatorUsername, chapInitiatorSecret)) { try { // ex. sudo iscsiadm -m node -T iqn.2012-03.com.test:volume1 -p 192.168.233.10:3260 --op update -n node.session.auth.authmethod -v CHAP executeChapCommand(volumeUuid, pool, "node.session.auth.authmethod", "CHAP", null); diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java index 1b11b41f36d..fc0366f6b1c 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java @@ -70,7 +70,7 @@ import org.apache.cloudstack.utils.qemu.QemuImgException; import org.apache.cloudstack.utils.qemu.QemuImgFile; import org.apache.commons.collections.MapUtils; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.libvirt.Connect; import org.libvirt.Domain; @@ -1893,7 +1893,7 @@ public class KVMStorageProcessor implements StorageProcessor { } Long templateSize = null; - if (!org.apache.commons.lang.StringUtils.isBlank(cmd.getUrl())) { + if (StringUtils.isNotBlank(cmd.getUrl())) { String url = cmd.getUrl(); templateSize = UriUtils.getRemoteSize(url); } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java index 4103d76348b..30559fa234f 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/ScaleIOStorageAdaptor.java @@ -38,7 +38,7 @@ import com.cloud.storage.StorageManager; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.OutputInterpreter; import com.cloud.utils.script.Script; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.libvirt.LibvirtException; @StorageAdaptorInfo(storagePoolType= Storage.StoragePoolType.PowerFlex) @@ -70,7 +70,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { @Override public KVMPhysicalDisk getPhysicalDisk(String volumePath, KVMStoragePool pool) { - if (Strings.isNullOrEmpty(volumePath) || pool == null) { + if (StringUtils.isEmpty(volumePath) || pool == null) { LOGGER.error("Unable to get physical disk, volume path or pool not specified"); return null; } @@ -80,7 +80,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { try { String diskFilePath = null; String systemId = ScaleIOUtil.getSystemIdForVolume(volumeId); - if (!Strings.isNullOrEmpty(systemId) && systemId.length() == ScaleIOUtil.IDENTIFIER_LENGTH) { + if (StringUtils.isNotEmpty(systemId) && systemId.length() == ScaleIOUtil.IDENTIFIER_LENGTH) { // Disk path format: /dev/disk/by-id/emc-vol-- final String diskFileName = ScaleIOUtil.DISK_NAME_PREFIX + systemId + "-" + volumeId; diskFilePath = ScaleIOUtil.DISK_PATH + File.separator + diskFileName; @@ -135,7 +135,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { @Override public boolean connectPhysicalDisk(String volumePath, KVMStoragePool pool, Map details) { - if (Strings.isNullOrEmpty(volumePath) || pool == null) { + if (StringUtils.isEmpty(volumePath) || pool == null) { LOGGER.error("Unable to connect physical disk due to insufficient data"); throw new CloudRuntimeException("Unable to connect physical disk due to insufficient data"); } @@ -145,7 +145,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { int waitTimeInSec = DEFAULT_DISK_WAIT_TIME_IN_SECS; if (details != null && details.containsKey(StorageManager.STORAGE_POOL_DISK_WAIT.toString())) { String waitTime = details.get(StorageManager.STORAGE_POOL_DISK_WAIT.toString()); - if (!Strings.isNullOrEmpty(waitTime)) { + if (StringUtils.isNotEmpty(waitTime)) { waitTimeInSec = Integer.valueOf(waitTime).intValue(); } } @@ -187,7 +187,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { } private long getPhysicalDiskSize(String diskPath) { - if (Strings.isNullOrEmpty(diskPath)) { + if (StringUtils.isEmpty(diskPath)) { return 0; } @@ -244,7 +244,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { @Override public KVMPhysicalDisk copyPhysicalDisk(KVMPhysicalDisk disk, String name, KVMStoragePool destPool, int timeout) { - if (Strings.isNullOrEmpty(name) || disk == null || destPool == null) { + if (StringUtils.isEmpty(name) || disk == null || destPool == null) { LOGGER.error("Unable to copy physical disk due to insufficient data"); throw new CloudRuntimeException("Unable to copy physical disk due to insufficient data"); } @@ -280,7 +280,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { LOGGER.warn("Unable to get info from source disk: " + disk.getName()); } - String errMsg = String.format("Unable to convert/copy from %s to %s, due to: %s", disk.getName(), name, ((Strings.isNullOrEmpty(e.getMessage())) ? "an unknown error" : e.getMessage())); + String errMsg = String.format("Unable to convert/copy from %s to %s, due to: %s", disk.getName(), name, ((StringUtils.isEmpty(e.getMessage())) ? "an unknown error" : e.getMessage())); LOGGER.error(errMsg); throw new CloudRuntimeException(errMsg, e); } @@ -315,7 +315,7 @@ public class ScaleIOStorageAdaptor implements StorageAdaptor { @Override public KVMPhysicalDisk createTemplateFromDirectDownloadFile(String templateFilePath, String destTemplatePath, KVMStoragePool destPool, Storage.ImageFormat format, int timeout) { - if (Strings.isNullOrEmpty(templateFilePath) || Strings.isNullOrEmpty(destTemplatePath) || destPool == null) { + if (StringUtils.isAnyEmpty(templateFilePath, destTemplatePath) || destPool == null) { LOGGER.error("Unable to create template from direct download template file due to insufficient data"); throw new CloudRuntimeException("Unable to create template from direct download template file due to insufficient data"); } diff --git a/plugins/hypervisors/kvm/src/main/java/org/apache/cloudstack/utils/qemu/QemuImg.java b/plugins/hypervisors/kvm/src/main/java/org/apache/cloudstack/utils/qemu/QemuImg.java index 7de09a3a935..53974f6f70a 100644 --- a/plugins/hypervisors/kvm/src/main/java/org/apache/cloudstack/utils/qemu/QemuImg.java +++ b/plugins/hypervisors/kvm/src/main/java/org/apache/cloudstack/utils/qemu/QemuImg.java @@ -24,7 +24,7 @@ import com.cloud.hypervisor.kvm.resource.LibvirtConnection; import com.cloud.storage.Storage; import com.cloud.utils.script.OutputInterpreter; import com.cloud.utils.script.Script; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang.NotImplementedException; import org.libvirt.LibvirtException; diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java index d1bce216f18..ce7da76f032 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java @@ -45,7 +45,7 @@ import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.cloudstack.utils.volume.VirtualMachineDiskInfo; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.BooleanUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.BackupSnapshotCommand; diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java index 8bef78759e1..f403ba0c16a 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java @@ -165,7 +165,6 @@ import com.cloud.utils.ssh.SshHelper; import com.cloud.vm.DomainRouterVO; import com.cloud.vm.dao.UserVmCloneSettingDao; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; import com.vmware.pbm.PbmProfile; import com.vmware.vim25.AboutInfo; import com.vmware.vim25.ManagedObjectReference; @@ -1274,16 +1273,16 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw } final String oldVCenterHost = vmwareDc.getVcenterHost(); - if (!Strings.isNullOrEmpty(userName)) { + if (StringUtils.isNotEmpty(userName)) { vmwareDc.setUser(userName); } - if (!Strings.isNullOrEmpty(password)) { + if (StringUtils.isNotEmpty(password)) { vmwareDc.setPassword(password); } - if (!Strings.isNullOrEmpty(vCenterHost)) { + if (StringUtils.isNotEmpty(vCenterHost)) { vmwareDc.setVcenterHost(vCenterHost); } - if (!Strings.isNullOrEmpty(vmwareDcName)) { + if (StringUtils.isNotEmpty(vmwareDcName)) { vmwareDc.setVmwareDatacenterName(vmwareDcName); } vmwareDc.setGuid(String.format("%s@%s", vmwareDc.getVmwareDatacenterName(), vmwareDc.getVcenterHost())); @@ -1298,7 +1297,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw clusterDetails.put("username", vmwareDc.getUser()); clusterDetails.put("password", vmwareDc.getPassword()); final String clusterUrl = clusterDetails.get("url"); - if (!oldVCenterHost.equals(vmwareDc.getVcenterHost()) && !Strings.isNullOrEmpty(clusterUrl)) { + if (!oldVCenterHost.equals(vmwareDc.getVcenterHost()) && StringUtils.isNotEmpty(clusterUrl)) { clusterDetails.put("url", clusterUrl.replace(oldVCenterHost, vmwareDc.getVcenterHost())); } clusterDetailsDao.persist(cluster.getId(), clusterDetails); @@ -1308,7 +1307,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw hostDetails.put("username", vmwareDc.getUser()); hostDetails.put("password", vmwareDc.getPassword()); final String hostGuid = hostDetails.get("guid"); - if (!Strings.isNullOrEmpty(hostGuid)) { + if (StringUtils.isNotEmpty(hostGuid)) { hostDetails.put("guid", hostGuid.replace(oldVCenterHost, vmwareDc.getVcenterHost())); } hostDetailsDao.persist(host.getId(), hostDetails); diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java index 9ed1f7d1579..91904f0e340 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java @@ -1191,7 +1191,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { for (ManagedObjectReference taskMor : tasks) { TaskInfo info = (TaskInfo)(context.getVimClient().getDynamicProperty(taskMor, "info")); - if (info.getEntityName().equals(cmd.getVmName()) && StringUtils.isNotBlank(info.getName()) && info.getName().equalsIgnoreCase("CreateSnapshot_Task")) { + if (info.getEntityName().equals(cmd.getVmName()) && org.apache.commons.lang3.StringUtils.isNotBlank(info.getName()) && info.getName().equalsIgnoreCase("CreateSnapshot_Task")) { if (!(info.getState().equals(TaskInfoState.SUCCESS) || info.getState().equals(TaskInfoState.ERROR))) { s_logger.debug("There is already a VM snapshot task running, wait for it"); context.getVimClient().waitForTask(taskMor); @@ -1406,7 +1406,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { for (ManagedObjectReference taskMor : tasks) { TaskInfo info = (TaskInfo)(context.getVimClient().getDynamicProperty(taskMor, "info")); - if (info.getEntityName().equals(cmd.getVmName()) && StringUtils.isNotBlank(info.getName()) && info.getName().equalsIgnoreCase("RevertToSnapshot_Task")) { + if (info.getEntityName().equals(cmd.getVmName()) && org.apache.commons.lang3.StringUtils.isNotBlank(info.getName()) && info.getName().equalsIgnoreCase("RevertToSnapshot_Task")) { s_logger.debug("There is already a VM snapshot task running, wait for it"); context.getVimClient().waitForTask(taskMor); } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java index d1776eaf8b0..586c916c53c 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -63,7 +63,7 @@ import org.apache.cloudstack.vm.UnmanagedInstanceTO; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.apache.log4j.Logger; import org.apache.log4j.NDC; @@ -281,7 +281,6 @@ import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.PowerState; import com.cloud.vm.VirtualMachineName; import com.cloud.vm.VmDetailConstants; -import com.google.common.base.Strings; import com.google.gson.Gson; import com.vmware.vim25.AboutInfo; import com.vmware.vim25.ArrayUpdateOperation; @@ -2255,7 +2254,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa VirtualDevice device = VmwareHelper.prepareDiskDevice(vmMo, null, controllerKey, diskChain, volumeDsDetails.first(), deviceNumber, i + 1); diskStoragePolicyId = volumeTO.getvSphereStoragePolicyId(); - if (!StringUtils.isEmpty(diskStoragePolicyId)) { + if (StringUtils.isNotEmpty(diskStoragePolicyId)) { PbmProfileManagerMO profMgrMo = new PbmProfileManagerMO(context); diskProfileSpec = profMgrMo.getProfileSpec(diskStoragePolicyId); deviceConfigSpecArray[i].getProfile().add(diskProfileSpec); @@ -2338,7 +2337,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa } } - if (!StringUtils.isBlank(vmSpec.getBootArgs())) { + if (StringUtils.isNotBlank(vmSpec.getBootArgs())) { String newMacSequence = generateMacSequence(nics); vmSpec.setBootArgs(replaceNicsMacSequenceInBootArgs(oldMacSequence, newMacSequence, vmSpec)); } @@ -2440,7 +2439,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa setBootOptions(vmSpec, bootMode, vmConfigSpec); - if (!StringUtils.isEmpty(vmStoragePolicyId)) { + if (StringUtils.isNotEmpty(vmStoragePolicyId)) { vmConfigSpec.getVmProfile().add(vmProfileSpec); if (s_logger.isTraceEnabled()) { s_logger.trace(String.format("Configuring the VM %s with storage policy: %s", vmInternalCSName, vmStoragePolicyId)); @@ -2947,7 +2946,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa */ protected String replaceNicsMacSequenceInBootArgs(String oldMacSequence, String newMacSequence, VirtualMachineTO vmSpec) { String bootArgs = vmSpec.getBootArgs(); - if (!StringUtils.isBlank(bootArgs) && !StringUtils.isBlank(oldMacSequence) && !StringUtils.isBlank(newMacSequence)) { + if (StringUtils.isNoneBlank(bootArgs, oldMacSequence, newMacSequence)) { return bootArgs.replace(oldMacSequence, newMacSequence); } return ""; @@ -3592,7 +3591,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa * Ex. "[-iqn.2010-01.com.solidfire:4nhe.vol-1.27-0] i-2-18-VM/ROOT-18.vmdk" should return "i-2-18-VM/ROOT-18" */ public String getVmdkPath(String path) { - if (!StringUtils.isNotBlank(path)) { + if (StringUtils.isBlank(path)) { return null; } @@ -4879,7 +4878,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa VmwareHypervisorHost srcHyperHost = null; // OfflineVmwareMigration: ifhost is null ??? - if (org.apache.commons.lang.StringUtils.isBlank(cmd.getAttachedVmName())) { + if (StringUtils.isBlank(cmd.getAttachedVmName())) { return migrateVolume(cmd); } ManagedObjectReference morDs = null; @@ -7230,7 +7229,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa instanceDisk.setCapacity(disk.getCapacityInBytes()); instanceDisk.setPosition(diskDevice.getUnitNumber()); DatastoreFile file = new DatastoreFile(getAbsoluteVmdkFile(disk)); - if (!Strings.isNullOrEmpty(file.getFileBaseName()) && !Strings.isNullOrEmpty(file.getDatastoreName())) { + if (StringUtils.isNoneEmpty(file.getFileBaseName(), file.getDatastoreName())) { VirtualMachineDiskInfo diskInfo = vmMo.getDiskInfoBuilder().getDiskInfoByBackingFileBaseName(file.getFileBaseName(), file.getDatastoreName()); instanceDisk.setChainInfo(getGson().toJson(diskInfo)); } @@ -7426,19 +7425,19 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa instance.setCpuSpeed(vmMo.getConfigSummary().getCpuReservation()); instance.setMemory(vmMo.getConfigSummary().getMemorySizeMB()); instance.setOperatingSystemId(vmMo.getVmGuestInfo().getGuestId()); - if (Strings.isNullOrEmpty(instance.getOperatingSystemId())) { + if (StringUtils.isEmpty(instance.getOperatingSystemId())) { instance.setOperatingSystemId(vmMo.getConfigSummary().getGuestId()); } VirtualMachineGuestOsIdentifier osIdentifier = VirtualMachineGuestOsIdentifier.OTHER_GUEST; try { osIdentifier = VirtualMachineGuestOsIdentifier.fromValue(instance.getOperatingSystemId()); } catch (IllegalArgumentException iae) { - if (!Strings.isNullOrEmpty(instance.getOperatingSystemId()) && instance.getOperatingSystemId().contains("64")) { + if (StringUtils.isNotEmpty(instance.getOperatingSystemId()) && instance.getOperatingSystemId().contains("64")) { osIdentifier = VirtualMachineGuestOsIdentifier.OTHER_GUEST_64; } } instance.setOperatingSystem(vmMo.getGuestInfo().getGuestFullName()); - if (Strings.isNullOrEmpty(instance.getOperatingSystem())) { + if (StringUtils.isEmpty(instance.getOperatingSystem())) { instance.setOperatingSystem(vmMo.getConfigSummary().getGuestFullName()); } UnmanagedInstanceTO.PowerState powerState = UnmanagedInstanceTO.PowerState.PowerUnknown; @@ -7483,7 +7482,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa continue; } // Filter instance if answer is requested for a particular instance name - if (!Strings.isNullOrEmpty(cmd.getInstanceName()) && + if (StringUtils.isNotEmpty(cmd.getInstanceName()) && !cmd.getInstanceName().equals(vmMo.getVmName())) { continue; } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java index b3ab3fe8389..c0aaf0ef751 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -57,7 +57,7 @@ import org.apache.cloudstack.storage.to.SnapshotObjectTO; import org.apache.cloudstack.storage.to.TemplateObjectTO; import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.cloudstack.utils.volume.VirtualMachineDiskInfo; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Answer; @@ -103,7 +103,6 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; import com.cloud.vm.VirtualMachine.PowerState; import com.cloud.vm.VmDetailConstants; -import com.google.common.base.Strings; import com.google.gson.Gson; import com.vmware.vim25.BaseConfigInfoDiskFileBackingInfo; import com.vmware.vim25.DatastoreHostMount; @@ -2186,7 +2185,7 @@ public class VmwareStorageProcessor implements StorageProcessor { if (isAttach) { String diskController = getLegacyVmDataDiskController(); - if (controllerInfo != null && !Strings.isNullOrEmpty(controllerInfo.get(VmDetailConstants.DATA_DISK_CONTROLLER))) { + if (controllerInfo != null && StringUtils.isNotEmpty(controllerInfo.get(VmDetailConstants.DATA_DISK_CONTROLLER))) { diskController = controllerInfo.get(VmDetailConstants.DATA_DISK_CONTROLLER); } @@ -2780,7 +2779,7 @@ public class VmwareStorageProcessor implements StorageProcessor { target.setPort(storagePortNumber); target.setIScsiName(iqn); - if (StringUtils.isNotBlank(chapName) && StringUtils.isNotBlank(chapSecret)) { + if (StringUtils.isNoneBlank(chapName, chapSecret)) { HostInternetScsiHbaAuthenticationProperties auth = new HostInternetScsiHbaAuthenticationProperties(); String strAuthType = "chapRequired"; @@ -2791,7 +2790,7 @@ public class VmwareStorageProcessor implements StorageProcessor { auth.setChapName(chapName); auth.setChapSecret(chapSecret); - if (StringUtils.isNotBlank(mutualChapName) && StringUtils.isNotBlank(mutualChapSecret)) { + if (StringUtils.isNoneBlank(mutualChapName, mutualChapSecret)) { auth.setMutualChapInherited(false); auth.setMutualChapAuthenticationType(strAuthType); auth.setMutualChapName(mutualChapName); diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java index c77ac44cdaf..65eba99ba4e 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java @@ -33,7 +33,7 @@ import org.apache.cloudstack.storage.command.DettachCommand; import org.apache.cloudstack.storage.command.StorageSubSystemCommand; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Command; diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java index a9715765bf7..c3987fd963f 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java @@ -63,6 +63,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.xmlrpc.XmlRpcException; import org.joda.time.Duration; @@ -134,7 +135,6 @@ import com.cloud.utils.ExecutionResult; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.PropertiesUtil; -import com.cloud.utils.StringUtils; import com.cloud.utils.Ternary; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; @@ -654,7 +654,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe // there is only one ip in this public vlan and removing it, so // remove the nic - if (org.apache.commons.lang.StringUtils.equalsIgnoreCase(lastIp, "true") && !ip.isAdd()) { + if (StringUtils.equalsIgnoreCase(lastIp, "true") && !ip.isAdd()) { final VIF correctVif = getCorrectVif(conn, router, network); // in isolated network eth2 is the default public interface. We don't want to delete it. if (correctVif != null && !correctVif.getDevice(conn).equals("2")) { @@ -784,11 +784,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe if (record.isControlDomain || record.isASnapshot || record.isATemplate) { continue; // Skip DOM0 } - final String platform = StringUtils.mapToString(record.platform); + final String platform = com.cloud.utils.StringUtils.mapToString(record.platform); if (platform.isEmpty()) { continue; //Skip if platform is null } - vmMetaDatum.put(record.nameLabel, StringUtils.mapToString(record.platform)); + vmMetaDatum.put(record.nameLabel, com.cloud.utils.StringUtils.mapToString(record.platform)); } } } catch (final Throwable e) { @@ -1426,7 +1426,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe throw new CloudRuntimeException("Unable to finalize VM MetaData: " + vmSpec); } try { - String bootMode = org.apache.commons.lang3.StringUtils.defaultIfEmpty(vmSpec.getDetails().get(ApiConstants.BootType.UEFI.toString()), null); + String bootMode = StringUtils.defaultIfEmpty(vmSpec.getDetails().get(ApiConstants.BootType.UEFI.toString()), null); String bootType = (bootMode == null) ? ApiConstants.BootType.BIOS.toString() : ApiConstants.BootType.UEFI.toString(); setVmBootDetails(vm, conn, bootType, bootMode); } catch (final XenAPIException | XmlRpcException e) { @@ -1905,7 +1905,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe if (details != null) { final String platformstring = details.get(VmDetailConstants.PLATFORM); if (platformstring != null && !platformstring.isEmpty()) { - final Map platform = StringUtils.stringToMap(platformstring); + final Map platform = com.cloud.utils.StringUtils.stringToMap(platformstring); vm.setPlatform(conn, platform); } else { final String timeoffset = details.get(VmDetailConstants.TIME_OFFSET); @@ -2139,7 +2139,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } protected String getGuestOsType(String platformEmulator) { - if (org.apache.commons.lang.StringUtils.isBlank(platformEmulator)) { + if (StringUtils.isBlank(platformEmulator)) { s_logger.debug("no guest OS type, start it as HVM guest"); platformEmulator = "Other install media"; } @@ -2417,7 +2417,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe deviceConfig.put("target", target); deviceConfig.put("targetIQN", targetiqn); - if (StringUtils.isNotBlank(chapInitiatorUsername) && StringUtils.isNotBlank(chapInitiatorPassword)) { + if (StringUtils.isNoneBlank(chapInitiatorUsername, chapInitiatorPassword)) { deviceConfig.put("chapuser", chapInitiatorUsername); deviceConfig.put("chappassword", chapInitiatorPassword); } @@ -3709,7 +3709,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } for (PBD pbd : pbds) { Host host = pbd.getHost(conn); - if (!isRefNull(host) && org.apache.commons.lang3.StringUtils.equals(host.getUuid(conn), _host.getUuid())) { + if (!isRefNull(host) && StringUtils.equals(host.getUuid(conn), _host.getUuid())) { if (!pbd.getCurrentlyAttached(conn)) { s_logger.debug(String.format("PBD [%s] of local SR [%s] was unplugged, pluggin it now", pbd.getUuid(conn), srRec.uuid)); pbd.plug(conn); @@ -5672,7 +5672,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe secondaryStorageMountPath = uri.getHost() + ":" + uri.getPath(); localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(secondaryStorageMountPath.getBytes()); String mountPoint = mountNfs(conn, secondaryStorageMountPath, localDir); - if (org.apache.commons.lang.StringUtils.isBlank(mountPoint)) { + if (StringUtils.isBlank(mountPoint)) { return new CopyToSecondaryStorageAnswer(cmd, false, "Could not mount secondary storage " + secondaryStorageMountPath + " on host " + localDir); } @@ -5711,7 +5711,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe localDir = BASE_MOUNT_POINT_ON_REMOTE + UUID.nameUUIDFromBytes(remoteDir.getBytes()); } String result = callHostPlugin(conn, "cloud-plugin-storage", "umountNfsSecondaryStorage", "localDir", localDir, "remoteDir", remoteDir); - if (org.apache.commons.lang.StringUtils.isBlank(result)) { + if (StringUtils.isBlank(result)) { String errMsg = "Could not umount secondary storage " + remoteDir + " on host " + localDir; s_logger.warn(errMsg); } diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java index 7e2c701e51a..3f4e8bdb6c8 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java @@ -37,7 +37,7 @@ import org.apache.cloudstack.storage.to.TemplateObjectTO; import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.xmlrpc.XmlRpcException; diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServerUtilitiesHelper.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServerUtilitiesHelper.java index 56b16ccc4fa..524811675b5 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServerUtilitiesHelper.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServerUtilitiesHelper.java @@ -20,7 +20,7 @@ import java.io.File; import com.cloud.utils.Pair; import com.cloud.utils.ssh.SshHelper; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; /** @@ -45,6 +45,6 @@ public class XenServerUtilitiesHelper { } public static boolean isXenServerToolsSR(final String label) { - return !Strings.isNullOrEmpty(label) && (label.startsWith("XenServer Tools") || label.startsWith("Citrix Hypervisor Tools") || label.startsWith("XCP-ng Tools")); + return StringUtils.isNotEmpty(label) && (label.startsWith("XenServer Tools") || label.startsWith("Citrix Hypervisor Tools") || label.startsWith("XCP-ng Tools")); } } diff --git a/plugins/hypervisors/xenserver/src/main/java/org/apache/cloudstack/storage/motion/XenServerStorageMotionStrategy.java b/plugins/hypervisors/xenserver/src/main/java/org/apache/cloudstack/storage/motion/XenServerStorageMotionStrategy.java index 9d93f97f5c3..dbfcfe987fc 100644 --- a/plugins/hypervisors/xenserver/src/main/java/org/apache/cloudstack/storage/motion/XenServerStorageMotionStrategy.java +++ b/plugins/hypervisors/xenserver/src/main/java/org/apache/cloudstack/storage/motion/XenServerStorageMotionStrategy.java @@ -36,6 +36,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.to.VolumeObjectTO; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -68,7 +69,6 @@ import com.cloud.storage.dao.SnapshotDao; import com.cloud.storage.dao.VolumeDao; import com.cloud.storage.dao.VolumeDetailsDao; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.dao.VMInstanceDao; diff --git a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/XenServerGuruTest.java b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/XenServerGuruTest.java index 84ce99b1cc8..cc6621452c1 100644 --- a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/XenServerGuruTest.java +++ b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/XenServerGuruTest.java @@ -21,7 +21,7 @@ import org.apache.cloudstack.hypervisor.xenserver.XenserverConfigs; import org.apache.cloudstack.storage.command.CopyCommand; import org.apache.cloudstack.storage.command.StorageSubSystemCommand; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessorTest.java b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessorTest.java index 7022e6d4b67..070519452b8 100644 --- a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessorTest.java +++ b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessorTest.java @@ -28,7 +28,7 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.xmlrpc.XmlRpcException; import org.junit.Assert; import org.junit.Before; diff --git a/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/api/CloudianSsoLoginCmd.java b/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/api/CloudianSsoLoginCmd.java index 7bdd7fda5e1..3cf2d296d43 100644 --- a/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/api/CloudianSsoLoginCmd.java +++ b/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/api/CloudianSsoLoginCmd.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.cloudian.CloudianConnector; import org.apache.cloudstack.cloudian.response.CloudianSsoLoginResponse; import com.cloud.user.Account; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = CloudianSsoLoginCmd.APINAME, description = "Generates single-sign-on login url for logged-in CloudStack user to access the Cloudian Management Console", responseObject = CloudianSsoLoginResponse.class, @@ -58,7 +58,7 @@ public class CloudianSsoLoginCmd extends BaseCmd { @Override public void execute() { final String ssoUrl = connector.generateSsoUrl(); - if (Strings.isNullOrEmpty(ssoUrl)) { + if (StringUtils.isEmpty(ssoUrl)) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to generate Cloudian single-sign on URL for the user"); } final CloudianSsoLoginResponse response = new CloudianSsoLoginResponse(); diff --git a/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianClient.java b/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianClient.java index 45d0964552e..8d810f67b82 100644 --- a/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianClient.java +++ b/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianClient.java @@ -60,7 +60,7 @@ import org.apache.log4j.Logger; import com.cloud.utils.nio.TrustAllManager; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class CloudianClient { private static final Logger LOG = Logger.getLogger(CloudianClient.class); @@ -190,7 +190,7 @@ public class CloudianClient { } public CloudianUser listUser(final String userId, final String groupId) { - if (Strings.isNullOrEmpty(userId) || Strings.isNullOrEmpty(groupId)) { + if (StringUtils.isAnyEmpty(userId, groupId)) { return null; } LOG.debug("Trying to find Cloudian user with id=" + userId + " and group id=" + groupId); @@ -210,7 +210,7 @@ public class CloudianClient { } public List listUsers(final String groupId) { - if (Strings.isNullOrEmpty(groupId)) { + if (StringUtils.isEmpty(groupId)) { return new ArrayList<>(); } LOG.debug("Trying to list Cloudian users in group id=" + groupId); @@ -245,7 +245,7 @@ public class CloudianClient { } public boolean removeUser(final String userId, final String groupId) { - if (Strings.isNullOrEmpty(userId) || Strings.isNullOrEmpty(groupId)) { + if (StringUtils.isAnyEmpty(userId, groupId)) { return false; } LOG.debug("Removing Cloudian user with user id=" + userId + " in group id=" + groupId); @@ -279,7 +279,7 @@ public class CloudianClient { } public CloudianGroup listGroup(final String groupId) { - if (Strings.isNullOrEmpty(groupId)) { + if (StringUtils.isEmpty(groupId)) { return null; } LOG.debug("Trying to find Cloudian group with id=" + groupId); @@ -331,7 +331,7 @@ public class CloudianClient { } public boolean removeGroup(final String groupId) { - if (Strings.isNullOrEmpty(groupId)) { + if (StringUtils.isEmpty(groupId)) { return false; } LOG.debug("Removing Cloudian group id=" + groupId); diff --git a/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianUtils.java b/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianUtils.java index faca579886e..0ef0fc9b5e0 100644 --- a/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianUtils.java +++ b/plugins/integrations/cloudian/src/main/java/org/apache/cloudstack/cloudian/client/CloudianUtils.java @@ -27,7 +27,7 @@ import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; import com.cloud.utils.HttpUtils; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class CloudianUtils { @@ -41,7 +41,7 @@ public class CloudianUtils { * @return returns the generated signature or null on error */ public static String generateHMACSignature(final String data, final String key) { - if (Strings. isNullOrEmpty(data) || Strings.isNullOrEmpty(key)) { + if (StringUtils.isAnyEmpty(data, key)) { return null; } try { @@ -70,7 +70,7 @@ public class CloudianUtils { stringBuilder.append("×tamp=").append(System.currentTimeMillis()); final String signature = generateHMACSignature(stringBuilder.toString(), ssoKey); - if (Strings.isNullOrEmpty(signature)) { + if (StringUtils.isEmpty(signature)) { return null; } diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java index aec96fe6778..c11b19cb1ef 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java @@ -164,7 +164,7 @@ import com.cloud.utils.net.NetUtils; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import static com.cloud.utils.NumbersUtil.toHumanReadableSize; @@ -475,7 +475,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne Pair hp = hostEntry.getValue(); HostVO h = hp.first(); hostDao.loadHostTags(h); - if (!Strings.isNullOrEmpty(offering.getHostTag()) && !(h.getHostTags() != null && h.getHostTags().contains(offering.getHostTag()))) { + if (StringUtils.isNotEmpty(offering.getHostTag()) && !(h.getHostTags() != null && h.getHostTags().contains(offering.getHostTag()))) { continue; } int reserved = hp.second(); @@ -716,7 +716,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne } } - if (!Strings.isNullOrEmpty(externalLoadBalancerIpAddress)) { + if (StringUtils.isNotEmpty(externalLoadBalancerIpAddress)) { if (!NetUtils.isValidIp4(externalLoadBalancerIpAddress) && !NetUtils.isValidIp6(externalLoadBalancerIpAddress)) { throw new InvalidParameterValueException("Invalid external load balancer IP address"); } @@ -728,8 +728,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne } } - if (!KubernetesClusterExperimentalFeaturesEnabled.value() && (!Strings.isNullOrEmpty(dockerRegistryUrl) || - !Strings.isNullOrEmpty(dockerRegistryUserName) || !Strings.isNullOrEmpty(dockerRegistryEmail) || !Strings.isNullOrEmpty(dockerRegistryPassword))) { + if (!KubernetesClusterExperimentalFeaturesEnabled.value() && !StringUtils.isAllEmpty(dockerRegistryUrl, dockerRegistryUserName, dockerRegistryEmail, dockerRegistryPassword)) { throw new CloudRuntimeException(String.format("Private registry for the Kubernetes cluster is an experimental feature. Use %s configuration for enabling experimental features", KubernetesClusterExperimentalFeaturesEnabled.key())); } } @@ -749,7 +748,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne throw new InvalidParameterValueException(String.format("Network ID: %s is already under use by another Kubernetes cluster", network.getUuid())); } } else if (Network.GuestType.Shared.equals(network.getGuestType())) { - if (controlNodesCount > 1 && Strings.isNullOrEmpty(externalLoadBalancerIpAddress)) { + if (controlNodesCount > 1 && StringUtils.isEmpty(externalLoadBalancerIpAddress)) { throw new InvalidParameterValueException(String.format("Multi-control nodes, HA Kubernetes cluster with %s network ID: %s needs an external load balancer IP address. %s parameter can be used", network.getGuestType().toString(), network.getUuid(), ApiConstants.EXTERNAL_LOAD_BALANCER_IP_ADDRESS)); } @@ -785,31 +784,33 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne @Override public void doInTransactionWithoutResult(TransactionStatus status) { List details = new ArrayList<>(); - if (Network.GuestType.Shared.equals(network.getGuestType()) && !Strings.isNullOrEmpty(externalLoadBalancerIpAddress)) { - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.EXTERNAL_LOAD_BALANCER_IP_ADDRESS, externalLoadBalancerIpAddress, true)); + long kubernetesClusterId = kubernetesCluster.getId(); + + if (Network.GuestType.Shared.equals(network.getGuestType())) { + addKubernetesClusterDetailIfIsNotEmpty(details, kubernetesClusterId, ApiConstants.EXTERNAL_LOAD_BALANCER_IP_ADDRESS, externalLoadBalancerIpAddress, true); } - if (!Strings.isNullOrEmpty(dockerRegistryUserName)) { - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.DOCKER_REGISTRY_USER_NAME, dockerRegistryUserName, true)); - } - if (!Strings.isNullOrEmpty(dockerRegistryPassword)) { - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.DOCKER_REGISTRY_PASSWORD, dockerRegistryPassword, false)); - } - if (!Strings.isNullOrEmpty(dockerRegistryUrl)) { - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.DOCKER_REGISTRY_URL, dockerRegistryUrl, true)); - } - if (!Strings.isNullOrEmpty(dockerRegistryEmail)) { - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.DOCKER_REGISTRY_EMAIL, dockerRegistryEmail, true)); - } - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.USERNAME, "admin", true)); + + addKubernetesClusterDetailIfIsNotEmpty(details, kubernetesClusterId, ApiConstants.DOCKER_REGISTRY_USER_NAME, dockerRegistryUserName, true); + addKubernetesClusterDetailIfIsNotEmpty(details, kubernetesClusterId, ApiConstants.DOCKER_REGISTRY_PASSWORD, dockerRegistryPassword, false); + addKubernetesClusterDetailIfIsNotEmpty(details, kubernetesClusterId, ApiConstants.DOCKER_REGISTRY_URL, dockerRegistryUrl, true); + addKubernetesClusterDetailIfIsNotEmpty(details, kubernetesClusterId, ApiConstants.DOCKER_REGISTRY_EMAIL, dockerRegistryEmail, true); + + details.add(new KubernetesClusterDetailsVO(kubernetesClusterId, ApiConstants.USERNAME, "admin", true)); SecureRandom random = new SecureRandom(); String randomPassword = new BigInteger(130, random).toString(32); - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), ApiConstants.PASSWORD, randomPassword, false)); - details.add(new KubernetesClusterDetailsVO(kubernetesCluster.getId(), "networkCleanup", String.valueOf(networkCleanup), true)); + details.add(new KubernetesClusterDetailsVO(kubernetesClusterId, ApiConstants.PASSWORD, randomPassword, false)); + details.add(new KubernetesClusterDetailsVO(kubernetesClusterId, "networkCleanup", String.valueOf(networkCleanup), true)); kubernetesClusterDetailsDao.saveDetails(details); } }); } + protected void addKubernetesClusterDetailIfIsNotEmpty(List details, long id, String name, String value, boolean display) { + if (StringUtils.isNotEmpty(value)) { + details.add(new KubernetesClusterDetailsVO(id, name, value, display)); + } + } + private void validateKubernetesClusterScaleParameters(ScaleKubernetesClusterCmd cmd) { final Long kubernetesClusterId = cmd.getId(); final Long serviceOfferingId = cmd.getServiceOfferingId(); @@ -1145,7 +1146,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne } else { String apiKey = kubeadmin.getApiKey(); String secretKey = kubeadmin.getSecretKey(); - if (Strings.isNullOrEmpty(apiKey) || Strings.isNullOrEmpty(secretKey)) { + if (StringUtils.isAnyEmpty(apiKey, secretKey)) { keys = accountService.createApiKeyAndSecretKey(kubeadmin.getId()); } else { keys = new String[]{apiKey, secretKey}; @@ -1262,7 +1263,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne response.setName(kubernetesCluster.getName()); String configData = ""; KubernetesClusterDetailsVO clusterDetailsVO = kubernetesClusterDetailsDao.findDetail(kubernetesCluster.getId(), "kubeConfigData"); - if (clusterDetailsVO != null && !Strings.isNullOrEmpty(clusterDetailsVO.getValue())) { + if (clusterDetailsVO != null && StringUtils.isNotEmpty(clusterDetailsVO.getValue())) { configData = new String(Base64.decodeBase64(clusterDetailsVO.getValue())); } else { String exceptionMessage = KubernetesCluster.State.Starting.equals(kubernetesCluster.getState()) ? diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java index 62d45a3e028..2399981c576 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java @@ -35,6 +35,7 @@ import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationSe import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -70,7 +71,6 @@ import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.SSHKeyPairDao; import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionStatus; @@ -81,7 +81,6 @@ import com.cloud.utils.ssh.SshHelper; import com.cloud.vm.UserVmService; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.UserVmDao; -import com.google.common.base.Strings; public class KubernetesClusterActionWorker { @@ -172,7 +171,7 @@ public class KubernetesClusterActionWorker { } protected String readResourceFile(String resource) throws IOException { - return IOUtils.toString(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResourceAsStream(resource)), StringUtils.getPreferredCharset()); + return IOUtils.toString(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResourceAsStream(resource)), com.cloud.utils.StringUtils.getPreferredCharset()); } protected void logMessage(final Level logLevel, final String message, final Exception e) { @@ -298,7 +297,7 @@ public class KubernetesClusterActionWorker { protected Pair getKubernetesClusterServerIpSshPort(UserVm controlVm) { int port = CLUSTER_NODES_DEFAULT_START_SSH_PORT; KubernetesClusterDetailsVO detail = kubernetesClusterDetailsDao.findDetail(kubernetesCluster.getId(), ApiConstants.EXTERNAL_LOAD_BALANCER_IP_ADDRESS); - if (detail != null && !Strings.isNullOrEmpty(detail.getValue())) { + if (detail != null && StringUtils.isNotEmpty(detail.getValue())) { return new Pair<>(detail.getValue(), port); } Network network = networkDao.findById(kubernetesCluster.getNetworkId()); diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterResourceModifierActionWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterResourceModifierActionWorker.java index 595aab93999..1ffc62efb1e 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterResourceModifierActionWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterResourceModifierActionWorker.java @@ -82,7 +82,6 @@ import com.cloud.user.Account; import com.cloud.user.SSHKeyPairVO; import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.component.ComponentContext; import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; @@ -96,7 +95,7 @@ import com.cloud.vm.Nic; import com.cloud.vm.UserVmManager; import com.cloud.vm.VirtualMachine; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import static com.cloud.utils.NumbersUtil.toHumanReadableSize; @@ -154,7 +153,7 @@ public class KubernetesClusterResourceModifierActionWorker extends KubernetesClu final String ejectIsoKey = "{{ k8s.eject.iso }}"; String pubKey = "- \"" + configurationDao.getValue("ssh.publickey") + "\""; String sshKeyPair = kubernetesCluster.getKeyPair(); - if (!Strings.isNullOrEmpty(sshKeyPair)) { + if (StringUtils.isNotEmpty(sshKeyPair)) { SSHKeyPairVO sshkp = sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), sshKeyPair); if (sshkp != null) { pubKey += "\n - \"" + sshkp.getPublicKey() + "\""; @@ -185,7 +184,7 @@ public class KubernetesClusterResourceModifierActionWorker extends KubernetesClu dockerRegistryEmail = detail.getValue(); } } - if (!Strings.isNullOrEmpty(dockerUserName) && !Strings.isNullOrEmpty(dockerPassword)) { + if (StringUtils.isNoneEmpty(dockerUserName, dockerPassword)) { // do write file for /.docker/config.json through the code instead of k8s-node.yml as we can no make a section // optional or conditionally applied String dockerConfigString = "write_files:\n" + @@ -206,7 +205,7 @@ public class KubernetesClusterResourceModifierActionWorker extends KubernetesClu final String dockerAuthKey = "{{docker.secret}}"; final String dockerEmailKey = "{{docker.email}}"; final String usernamePasswordKey = dockerUserName + ":" + dockerPassword; - String base64Auth = Base64.encodeBase64String(usernamePasswordKey.getBytes(StringUtils.getPreferredCharset())); + String base64Auth = Base64.encodeBase64String(usernamePasswordKey.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())); k8sNodeConfig = k8sNodeConfig.replace(dockerUrlKey, "\"" + dockerRegistryUrl + "\""); k8sNodeConfig = k8sNodeConfig.replace(dockerAuthKey, "\"" + base64Auth + "\""); k8sNodeConfig = k8sNodeConfig.replace(dockerEmailKey, "\"" + dockerRegistryEmail + "\""); @@ -232,7 +231,7 @@ public class KubernetesClusterResourceModifierActionWorker extends KubernetesClu continue; } hostDao.loadHostTags(h); - if (!Strings.isNullOrEmpty(offering.getHostTag()) && !(h.getHostTags() != null && h.getHostTags().contains(offering.getHostTag()))) { + if (StringUtils.isNotEmpty(offering.getHostTag()) && !(h.getHostTags() != null && h.getHostTags().contains(offering.getHostTag()))) { continue; } int reserved = hp.second(); @@ -377,7 +376,7 @@ public class KubernetesClusterResourceModifierActionWorker extends KubernetesClu } catch (IOException e) { logAndThrow(Level.ERROR, "Failed to read Kubernetes node configuration file", e); } - String base64UserData = Base64.encodeBase64String(k8sNodeConfig.getBytes(StringUtils.getPreferredCharset())); + String base64UserData = Base64.encodeBase64String(k8sNodeConfig.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())); nodeVm = userVmService.createAdvancedVirtualMachine(zone, serviceOffering, clusterTemplate, networkIds, owner, hostName, hostName, null, null, null, Hypervisor.HypervisorType.None, BaseCmd.HTTPMethod.POST, base64UserData, kubernetesCluster.getKeyPair(), diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterScaleWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterScaleWorker.java index 0c2c17d3aa4..a68962d6e50 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterScaleWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterScaleWorker.java @@ -57,7 +57,7 @@ import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class KubernetesClusterScaleWorker extends KubernetesClusterResourceModifierActionWorker { @@ -186,7 +186,7 @@ public class KubernetesClusterScaleWorker extends KubernetesClusterResourceModif File pkFile = getManagementServerSshPublicKeyFile(); int retryCounter = 0; String hostName = userVm.getHostName(); - if (!Strings.isNullOrEmpty(hostName)) { + if (StringUtils.isNotEmpty(hostName)) { hostName = hostName.toLowerCase(); } while (retryCounter < retries) { @@ -394,7 +394,7 @@ public class KubernetesClusterScaleWorker extends KubernetesClusterResourceModif Pair publicIpSshPort = getKubernetesClusterServerIpSshPort(null); publicIpAddress = publicIpSshPort.first(); sshPort = publicIpSshPort.second(); - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { logTransitStateToFailedIfNeededAndThrow(Level.ERROR, String.format("Scaling failed for Kubernetes cluster : %s, unable to retrieve associated public IP", kubernetesCluster.getName())); } if (newVmRequiredCount < 0) { // downscale diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java index b6da75dba81..dc34d37c38f 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java @@ -65,7 +65,6 @@ import com.cloud.user.Account; import com.cloud.user.SSHKeyPairVO; import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.Ip; import com.cloud.utils.net.NetUtils; @@ -74,7 +73,7 @@ import com.cloud.vm.ReservationContext; import com.cloud.vm.ReservationContextImpl; import com.cloud.vm.UserVmManager; import com.cloud.vm.VirtualMachine; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class KubernetesClusterStartWorker extends KubernetesClusterResourceModifierActionWorker { @@ -156,7 +155,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif k8sControlNodeConfig = k8sControlNodeConfig.replace(caCert, tlsCaCert.replace("\n", "\n ")); String pubKey = "- \"" + configurationDao.getValue("ssh.publickey") + "\""; String sshKeyPair = kubernetesCluster.getKeyPair(); - if (!Strings.isNullOrEmpty(sshKeyPair)) { + if (StringUtils.isNotEmpty(sshKeyPair)) { SSHKeyPairVO sshkp = sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), sshKeyPair); if (sshkp != null) { pubKey += "\n - \"" + sshkp.getPublicKey() + "\""; @@ -188,7 +187,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif Pair> ipAddresses = getKubernetesControlNodeIpAddresses(zone, network, owner); String controlNodeIp = ipAddresses.first(); Map requestedIps = ipAddresses.second(); - if (Network.GuestType.Shared.equals(network.getGuestType()) && Strings.isNullOrEmpty(serverIp)) { + if (Network.GuestType.Shared.equals(network.getGuestType()) && StringUtils.isEmpty(serverIp)) { serverIp = controlNodeIp; } Network.IpAddresses addrs = new Network.IpAddresses(controlNodeIp, null); @@ -206,7 +205,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif } catch (IOException e) { logAndThrow(Level.ERROR, "Failed to read Kubernetes control node configuration file", e); } - String base64UserData = Base64.encodeBase64String(k8sControlNodeConfig.getBytes(StringUtils.getPreferredCharset())); + String base64UserData = Base64.encodeBase64String(k8sControlNodeConfig.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())); controlVm = userVmService.createAdvancedVirtualMachine(zone, serviceOffering, clusterTemplate, networkIds, owner, hostName, hostName, null, null, null, Hypervisor.HypervisorType.None, BaseCmd.HTTPMethod.POST, base64UserData, kubernetesCluster.getKeyPair(), @@ -226,7 +225,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif final String ejectIsoKey = "{{ k8s.eject.iso }}"; String pubKey = "- \"" + configurationDao.getValue("ssh.publickey") + "\""; String sshKeyPair = kubernetesCluster.getKeyPair(); - if (!Strings.isNullOrEmpty(sshKeyPair)) { + if (StringUtils.isNotEmpty(sshKeyPair)) { SSHKeyPairVO sshkp = sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), sshKeyPair); if (sshkp != null) { pubKey += "\n - \"" + sshkp.getPublicKey() + "\""; @@ -261,7 +260,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif } catch (IOException e) { logAndThrow(Level.ERROR, "Failed to read Kubernetes control configuration file", e); } - String base64UserData = Base64.encodeBase64String(k8sControlNodeConfig.getBytes(StringUtils.getPreferredCharset())); + String base64UserData = Base64.encodeBase64String(k8sControlNodeConfig.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())); additionalControlVm = userVmService.createAdvancedVirtualMachine(zone, serviceOffering, clusterTemplate, networkIds, owner, hostName, hostName, null, null, null, Hypervisor.HypervisorType.None, BaseCmd.HTTPMethod.POST, base64UserData, kubernetesCluster.getKeyPair(), @@ -449,20 +448,20 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif } private boolean isKubernetesClusterKubeConfigAvailable(final long timeoutTime) { - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { KubernetesClusterDetailsVO kubeConfigDetail = kubernetesClusterDetailsDao.findDetail(kubernetesCluster.getId(), "kubeConfigData"); - if (kubeConfigDetail != null && !Strings.isNullOrEmpty(kubeConfigDetail.getValue())) { + if (kubeConfigDetail != null && StringUtils.isNotEmpty(kubeConfigDetail.getValue())) { return true; } } String kubeConfig = KubernetesClusterUtil.getKubernetesClusterConfig(kubernetesCluster, publicIpAddress, sshPort, CLUSTER_NODE_VM_USER, sshKeyFile, timeoutTime); - if (!Strings.isNullOrEmpty(kubeConfig)) { + if (StringUtils.isNotEmpty(kubeConfig)) { final String controlVMPrivateIpAddress = getControlVmPrivateIp(); - if (!Strings.isNullOrEmpty(controlVMPrivateIpAddress)) { + if (StringUtils.isNotEmpty(controlVMPrivateIpAddress)) { kubeConfig = kubeConfig.replace(String.format("server: https://%s:%d", controlVMPrivateIpAddress, CLUSTER_API_PORT), String.format("server: https://%s:%d", publicIpAddress, CLUSTER_API_PORT)); } - kubernetesClusterDetailsDao.addDetail(kubernetesCluster.getId(), "kubeConfigData", Base64.encodeBase64String(kubeConfig.getBytes(StringUtils.getPreferredCharset())), false); + kubernetesClusterDetailsDao.addDetail(kubernetesCluster.getId(), "kubeConfigData", Base64.encodeBase64String(kubeConfig.getBytes(com.cloud.utils.StringUtils.getPreferredCharset())), false); return true; } return false; @@ -509,7 +508,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif } Pair publicIpSshPort = getKubernetesClusterServerIpSshPort(null); publicIpAddress = publicIpSshPort.first(); - if (Strings.isNullOrEmpty(publicIpAddress) && + if (StringUtils.isEmpty(publicIpAddress) && (Network.GuestType.Isolated.equals(network.getGuestType()) || kubernetesCluster.getControlNodeCount() > 1)) { // Shared network, single-control node cluster won't have an IP yet logTransitStateAndThrow(Level.ERROR, String.format("Failed to start Kubernetes cluster : %s as no public IP found for the cluster" , kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.CreateFailed); } @@ -525,10 +524,10 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif logTransitStateAndThrow(Level.ERROR, String.format("Provisioning the control VM failed in the Kubernetes cluster : %s", kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.CreateFailed, e); } clusterVMs.add(k8sControlVM); - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { publicIpSshPort = getKubernetesClusterServerIpSshPort(k8sControlVM); publicIpAddress = publicIpSshPort.first(); - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { logTransitStateAndThrow(Level.WARN, String.format("Failed to start Kubernetes cluster : %s as no public IP found for the cluster", kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.CreateFailed); } } @@ -604,7 +603,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif Pair sshIpPort = getKubernetesClusterServerIpSshPort(null); publicIpAddress = sshIpPort.first(); sshPort = sshIpPort.second(); - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { logTransitStateAndThrow(Level.ERROR, String.format("Failed to start Kubernetes cluster : %s as no public IP found for the cluster" , kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.OperationFailed); } if (!KubernetesClusterUtil.isKubernetesClusterServerRunning(kubernetesCluster, publicIpAddress, CLUSTER_API_PORT, startTimeoutTime, 15000)) { @@ -633,7 +632,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif Pair sshIpPort = getKubernetesClusterServerIpSshPort(null); publicIpAddress = sshIpPort.first(); sshPort = sshIpPort.second(); - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { return false; } long actualNodeCount = 0; @@ -645,7 +644,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif if (kubernetesCluster.getTotalNodeCount() != actualNodeCount) { return false; } - if (Strings.isNullOrEmpty(sshIpPort.first())) { + if (StringUtils.isEmpty(sshIpPort.first())) { return false; } if (!KubernetesClusterUtil.isKubernetesClusterServerRunning(kubernetesCluster, sshIpPort.first(), diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterUpgradeWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterUpgradeWorker.java index ad289bf81a9..c9ea83ea675 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterUpgradeWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterUpgradeWorker.java @@ -36,7 +36,7 @@ import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.ssh.SshHelper; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class KubernetesClusterUpgradeWorker extends KubernetesClusterActionWorker { @@ -81,7 +81,7 @@ public class KubernetesClusterUpgradeWorker extends KubernetesClusterActionWorke for (int i = 0; i < clusterVMs.size(); ++i) { UserVm vm = clusterVMs.get(i); String hostName = vm.getHostName(); - if (!Strings.isNullOrEmpty(hostName)) { + if (StringUtils.isNotEmpty(hostName)) { hostName = hostName.toLowerCase(); } result = null; @@ -138,7 +138,7 @@ public class KubernetesClusterUpgradeWorker extends KubernetesClusterActionWorke Pair publicIpSshPort = getKubernetesClusterServerIpSshPort(null); publicIpAddress = publicIpSshPort.first(); sshPort = publicIpSshPort.second(); - if (Strings.isNullOrEmpty(publicIpAddress)) { + if (StringUtils.isEmpty(publicIpAddress)) { logAndThrow(Level.ERROR, String.format("Upgrade failed for Kubernetes cluster : %s, unable to retrieve associated public IP", kubernetesCluster.getName())); } clusterVMs = getKubernetesClusterVMs(); diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/utils/KubernetesClusterUtil.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/utils/KubernetesClusterUtil.java index c16ac429e86..3ec49b1dedc 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/utils/KubernetesClusterUtil.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/utils/KubernetesClusterUtil.java @@ -39,7 +39,7 @@ import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; import com.cloud.utils.nio.TrustAllManager; import com.cloud.utils.ssh.SshHelper; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class KubernetesClusterUtil { @@ -103,7 +103,7 @@ public class KubernetesClusterUtil { final UserVm userVm, final long timeoutTime, final int waitDuration) { String hostName = userVm.getHostName(); - if (!Strings.isNullOrEmpty(hostName)) { + if (StringUtils.isNotEmpty(hostName)) { hostName = hostName.toLowerCase(); } while (System.currentTimeMillis() < timeoutTime) { @@ -134,13 +134,13 @@ public class KubernetesClusterUtil { final String namespace, String serviceName) { try { String cmd = "sudo /opt/bin/kubectl get pods --all-namespaces"; - if (!Strings.isNullOrEmpty(namespace)) { + if (StringUtils.isNotEmpty(namespace)) { cmd = String.format("sudo /opt/bin/kubectl get pods --namespace=%s", namespace); } Pair result = SshHelper.sshExecute(ipAddress, port, user, sshKeyFile, null, cmd, 10000, 10000, 10000); - if (result.first() && !Strings.isNullOrEmpty(result.second())) { + if (result.first() && StringUtils.isNotEmpty(result.second())) { String[] lines = result.second().split("\n"); for (String line : lines) { @@ -192,7 +192,7 @@ public class KubernetesClusterUtil { sshKeyFile, null, "sudo cat /etc/kubernetes/admin.conf", 10000, 10000, 10000); - if (result.first() && !Strings.isNullOrEmpty(result.second())) { + if (result.first() && StringUtils.isNotEmpty(result.second())) { kubeConfig = result.second(); break; } else { @@ -235,7 +235,7 @@ public class KubernetesClusterUtil { con.setSSLSocketFactory(sslContext.getSocketFactory()); BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); String versionOutput = br.lines().collect(Collectors.joining()); - if (!Strings.isNullOrEmpty(versionOutput)) { + if (StringUtils.isNotEmpty(versionOutput)) { if (LOGGER.isInfoEnabled()) { LOGGER.info(String.format("Kubernetes cluster : %s API has been successfully provisioned, %s", kubernetesCluster.getName(), versionOutput)); } diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/version/KubernetesVersionManagerImpl.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/version/KubernetesVersionManagerImpl.java index 9e58cf395d5..649783ebb37 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/version/KubernetesVersionManagerImpl.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/version/KubernetesVersionManagerImpl.java @@ -56,7 +56,7 @@ import com.cloud.utils.db.Filter; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class KubernetesVersionManagerImpl extends ManagerBase implements KubernetesVersionService { public static final Logger LOGGER = Logger.getLogger(KubernetesVersionManagerImpl.class.getName()); @@ -130,7 +130,7 @@ public class KubernetesVersionManagerImpl extends ManagerBase implements Kuberne } private List filterKubernetesSupportedVersions(List versions, final String minimumSemanticVersion) { - if (!Strings.isNullOrEmpty(minimumSemanticVersion)) { + if (StringUtils.isNotEmpty(minimumSemanticVersion)) { for (int i = versions.size() - 1; i >= 0; --i) { KubernetesSupportedVersionVO version = versions.get(i); try { @@ -159,7 +159,7 @@ public class KubernetesVersionManagerImpl extends ManagerBase implements Kuberne registerIsoCmd.setDisplayText(isoName); registerIsoCmd.setBootable(false); registerIsoCmd.setUrl(isoUrl); - if (!Strings.isNullOrEmpty(isoChecksum)) { + if (StringUtils.isNotEmpty(isoChecksum)) { registerIsoCmd.setChecksum(isoChecksum); } registerIsoCmd.setAccountName(accountManager.getSystemAccount().getAccountName()); @@ -176,7 +176,7 @@ public class KubernetesVersionManagerImpl extends ManagerBase implements Kuberne } public static int compareSemanticVersions(String v1, String v2) throws IllegalArgumentException { - if (Strings.isNullOrEmpty(v1) || Strings.isNullOrEmpty(v2)) { + if (StringUtils.isAnyEmpty(v1, v2)) { throw new IllegalArgumentException(String.format("Invalid version comparision with versions %s, %s", v1, v2)); } if(!isSemanticVersion(v1)) { @@ -240,7 +240,7 @@ public class KubernetesVersionManagerImpl extends ManagerBase implements Kuberne final Long zoneId = cmd.getZoneId(); String minimumSemanticVersion = cmd.getMinimumSemanticVersion(); final Long minimumKubernetesVersionId = cmd.getMinimumKubernetesVersionId(); - if (!Strings.isNullOrEmpty(minimumSemanticVersion) && minimumKubernetesVersionId != null) { + if (StringUtils.isNotEmpty(minimumSemanticVersion) && minimumKubernetesVersionId != null) { throw new CloudRuntimeException(String.format("Both parameters %s and %s can not be passed together", ApiConstants.MIN_SEMANTIC_VERSION, ApiConstants.MIN_KUBERNETES_VERSION_ID)); } if (minimumKubernetesVersionId != null) { @@ -299,10 +299,10 @@ public class KubernetesVersionManagerImpl extends ManagerBase implements Kuberne if (zoneId != null && dataCenterDao.findById(zoneId) == null) { throw new InvalidParameterValueException("Invalid zone specified"); } - if (Strings.isNullOrEmpty(isoUrl)) { + if (StringUtils.isEmpty(isoUrl)) { throw new InvalidParameterValueException(String.format("Invalid URL for ISO specified, %s", isoUrl)); } - if (Strings.isNullOrEmpty(name)) { + if (StringUtils.isEmpty(name)) { name = String.format("v%s", semanticVersion); if (zoneId != null) { name = String.format("%s-%s", name, dataCenterDao.findById(zoneId).getName()); diff --git a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/admin/kubernetes/version/AddKubernetesSupportedVersionCmd.java b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/admin/kubernetes/version/AddKubernetesSupportedVersionCmd.java index ece9d5aae5d..bd9e38980f2 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/admin/kubernetes/version/AddKubernetesSupportedVersionCmd.java +++ b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/admin/kubernetes/version/AddKubernetesSupportedVersionCmd.java @@ -38,7 +38,7 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.kubernetes.version.KubernetesSupportedVersion; import com.cloud.kubernetes.version.KubernetesVersionService; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = AddKubernetesSupportedVersionCmd.APINAME, description = "Add a supported Kubernetes version", @@ -95,7 +95,7 @@ public class AddKubernetesSupportedVersionCmd extends BaseCmd implements AdminCm } public String getSemanticVersion() { - if(Strings.isNullOrEmpty(semanticVersion)) { + if(StringUtils.isEmpty(semanticVersion)) { throw new InvalidParameterValueException("Version can not be null"); } if(!semanticVersion.matches("[0-9]+(\\.[0-9]+)*")) { diff --git a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/version/ListKubernetesSupportedVersionsCmd.java b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/version/ListKubernetesSupportedVersionsCmd.java index 6d2c285f413..d461182aab9 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/version/ListKubernetesSupportedVersionsCmd.java +++ b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/version/ListKubernetesSupportedVersionsCmd.java @@ -33,7 +33,7 @@ import org.apache.log4j.Logger; import com.cloud.exception.ConcurrentOperationException; import com.cloud.kubernetes.version.KubernetesVersionService; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @APICommand(name = ListKubernetesSupportedVersionsCmd.APINAME, description = "Lists supported Kubernetes version", @@ -81,7 +81,7 @@ public class ListKubernetesSupportedVersionsCmd extends BaseListCmd { } public String getMinimumSemanticVersion() { - if(!Strings.isNullOrEmpty(minimumSemanticVersion) && + if(StringUtils.isNotEmpty(minimumSemanticVersion) && !minimumSemanticVersion.matches("[0-9]+(\\.[0-9]+)*")) { throw new IllegalArgumentException("Invalid version format"); } diff --git a/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java b/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java index d85e07b70b6..8609cd9829b 100644 --- a/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java +++ b/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java @@ -62,7 +62,7 @@ import com.cloud.utils.component.Manager; import com.cloud.utils.component.ManagerBase; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class PrometheusExporterImpl extends ManagerBase implements PrometheusExporter, Manager { private static final Logger LOG = Logger.getLogger(PrometheusExporterImpl.class); @@ -464,7 +464,7 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp @Override public String toMetricsString() { - if (Strings.isNullOrEmpty(hostName) && Strings.isNullOrEmpty(ip)) { + if (StringUtils.isAllEmpty(hostName, ip)) { return String.format("%s{zone=\"%s\",filter=\"%s\"} %d", name, zoneName, filter, core); } return String.format("%s{zone=\"%s\",hostname=\"%s\",ip=\"%s\",filter=\"%s\",dedicated=\"%d\"} %d", name, zoneName, hostName, ip, filter, isDedicated, core); @@ -495,7 +495,7 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp @Override public String toMetricsString() { - if (Strings.isNullOrEmpty(hostName) && Strings.isNullOrEmpty(ip)) { + if (StringUtils.isAllEmpty(hostName, ip)) { return String.format("%s{zone=\"%s\",filter=\"%s\"} %.2f", name, zoneName, filter, mhertz); } return String.format("%s{zone=\"%s\",hostname=\"%s\",ip=\"%s\",overprovisioningfactor=\"%s\",filter=\"%s\"} %.2f", name, zoneName, hostName, ip, overProvisioningFactor, filter, mhertz); @@ -528,7 +528,7 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp @Override public String toMetricsString() { - if (Strings.isNullOrEmpty(hostName) && Strings.isNullOrEmpty(ip)) { + if (StringUtils.isAllEmpty(hostName, ip)) { return String.format("%s{zone=\"%s\",filter=\"%s\"} %.2f", name, zoneName, filter, miBytes); } return String.format("%s{zone=\"%s\",hostname=\"%s\",ip=\"%s\",overprovisioningfactor=\"%s\",filter=\"%s\",dedicated=\"%d\"} %.2f", name, zoneName, hostName, ip, overProvisioningFactor, filter, isDedicated, miBytes); @@ -583,7 +583,7 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp @Override public String toMetricsString() { - if (Strings.isNullOrEmpty(overProvisioningFactor)) { + if (StringUtils.isEmpty(overProvisioningFactor)) { return String.format("%s{zone=\"%s\",name=\"%s\",address=\"%s\",type=\"%s\",filter=\"%s\"} %.2f", name, zoneName, pname, address, type, filter, total); } return String.format("%s{zone=\"%s\",name=\"%s\",address=\"%s\",type=\"%s\",overprovisioningfactor=\"%s\",filter=\"%s\"} %.2f", name, zoneName, pname, address, type, overProvisioningFactor, filter, total); diff --git a/plugins/metrics/src/main/java/org/apache/cloudstack/response/VolumeMetricsResponse.java b/plugins/metrics/src/main/java/org/apache/cloudstack/response/VolumeMetricsResponse.java index 47d7a7cca65..c67315cf59f 100644 --- a/plugins/metrics/src/main/java/org/apache/cloudstack/response/VolumeMetricsResponse.java +++ b/plugins/metrics/src/main/java/org/apache/cloudstack/response/VolumeMetricsResponse.java @@ -21,7 +21,7 @@ import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.response.VolumeResponse; import com.cloud.serializer.Param; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.gson.annotations.SerializedName; public class VolumeMetricsResponse extends VolumeResponse { @@ -34,7 +34,7 @@ public class VolumeMetricsResponse extends VolumeResponse { private Long diskIopsTotal; public void setStorageType(final String storageType, final String volumeType) { - if (!Strings.isNullOrEmpty(storageType) && !Strings.isNullOrEmpty(volumeType)) { + if (StringUtils.isNoneEmpty(storageType, volumeType)) { this.setStorageType(String.format("%s (%s)", storageType.substring(0, 1).toUpperCase() + storageType.substring(1), volumeType)); } } diff --git a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfApi.java b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfApi.java index 86396d9b02f..bdb4502a357 100644 --- a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfApi.java +++ b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfApi.java @@ -47,7 +47,7 @@ import org.apache.commons.httpclient.methods.PutMethod; import org.apache.commons.httpclient.methods.StringRequestEntity; import org.apache.commons.httpclient.protocol.Protocol; import org.apache.commons.httpclient.protocol.ProtocolSocketFactory; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.google.gson.Gson; diff --git a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfUtils.java b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfUtils.java index 449aa3c8bad..35ca009a80c 100644 --- a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfUtils.java +++ b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/bigswitch/BigSwitchBcfUtils.java @@ -24,7 +24,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.net.util.SubnetUtils; import org.apache.log4j.Logger; import org.bouncycastle.util.IPAddress; diff --git a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java index 29a29a46bf8..45f4a1fceba 100644 --- a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java +++ b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java @@ -24,7 +24,7 @@ import java.util.List; import javax.inject.Inject; import org.apache.cloudstack.context.CallContext; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java index 0a1bd10dbe0..1ba4dd3faed 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java @@ -48,7 +48,7 @@ import org.apache.cloudstack.network.contrail.model.FloatingIpPoolModel; import org.apache.cloudstack.network.contrail.model.ModelController; import org.apache.cloudstack.network.contrail.model.VirtualNetworkModel; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.configuration.ConfigurationManager; diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServerDBSyncImpl.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServerDBSyncImpl.java index b9a3ed3b034..320ac489ba9 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServerDBSyncImpl.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServerDBSyncImpl.java @@ -40,7 +40,7 @@ import net.juniper.contrail.api.types.VirtualMachine; import net.juniper.contrail.api.types.VirtualMachineInterface; import net.juniper.contrail.api.types.VirtualNetwork; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/NetworkPolicyModel.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/NetworkPolicyModel.java index fbf791aa167..1b509dc2655 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/NetworkPolicyModel.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/NetworkPolicyModel.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.network.Networks; diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/ServiceInstanceModel.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/ServiceInstanceModel.java index 7a074a0036c..d0db7b80b52 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/ServiceInstanceModel.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/ServiceInstanceModel.java @@ -31,7 +31,7 @@ import net.juniper.contrail.api.types.ServiceTemplate; import net.juniper.contrail.api.types.ServiceTemplateType; import org.apache.cloudstack.network.contrail.management.ContrailManager; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.offering.ServiceOffering; diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/VirtualMachineModel.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/VirtualMachineModel.java index c44fcac6a01..d78dc4d7039 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/VirtualMachineModel.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/model/VirtualMachineModel.java @@ -29,7 +29,7 @@ import net.juniper.contrail.api.types.ServiceInstance; import net.juniper.contrail.api.types.VirtualMachine; import org.apache.cloudstack.network.contrail.management.ContrailManager; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.exception.InternalErrorException; diff --git a/plugins/network-elements/netscaler/src/main/java/com/cloud/network/resource/NetScalerControlCenterResource.java b/plugins/network-elements/netscaler/src/main/java/com/cloud/network/resource/NetScalerControlCenterResource.java index e23cb0b6692..b702495f02d 100644 --- a/plugins/network-elements/netscaler/src/main/java/com/cloud/network/resource/NetScalerControlCenterResource.java +++ b/plugins/network-elements/netscaler/src/main/java/com/cloud/network/resource/NetScalerControlCenterResource.java @@ -33,6 +33,7 @@ import java.util.Map; import javax.naming.ConfigurationException; import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolException; @@ -88,7 +89,6 @@ import com.cloud.network.rules.LbStickinessMethod.StickinessMethodType; import com.cloud.resource.ServerResource; import com.cloud.serializer.GsonHelper; import com.cloud.utils.NumbersUtil; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.ExecutionException; import com.cloud.utils.net.NetUtils; @@ -738,7 +738,7 @@ public class NetScalerControlCenterResource implements ServerResource { int i = 0; if (temp != null) { while (i < temp.length) { - temp[i] = StringUtils.cleanString(temp[i]); + temp[i] = com.cloud.utils.StringUtils.cleanString(temp[i]); i++; } List stringList = new ArrayList(); diff --git a/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java b/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java index 6992ca7c347..2c42554afcc 100644 --- a/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java +++ b/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolOutOfBandManagementDriver.java @@ -19,7 +19,6 @@ package org.apache.cloudstack.outofbandmanagement.driver.ipmitool; import com.cloud.utils.component.AdapterBase; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; import com.google.common.collect.ImmutableMap; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; @@ -59,7 +58,7 @@ public final class IpmitoolOutOfBandManagementDriver extends AdapterBase impleme private String getIpmiUserId(ImmutableMap options, final Duration timeOut) { final String username = options.get(OutOfBandManagement.Option.USERNAME); - if (Strings.isNullOrEmpty(username)) { + if (StringUtils.isEmpty(username)) { throw new CloudRuntimeException("Empty IPMI user configured, cannot proceed to find user's ID."); } @@ -76,7 +75,7 @@ public final class IpmitoolOutOfBandManagementDriver extends AdapterBase impleme } final String userId = IPMITOOL.findIpmiUser(output.getResult(), username); - if (Strings.isNullOrEmpty(userId)) { + if (StringUtils.isEmpty(userId)) { String message = String.format("No IPMI user ID found for the username [%s].", username); LOG.debug(message); throw new CloudRuntimeException(message); diff --git a/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolWrapper.java b/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolWrapper.java index f5896b20733..22b9ef4a09c 100644 --- a/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolWrapper.java +++ b/plugins/outofbandmanagement-drivers/ipmitool/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/ipmitool/IpmitoolWrapper.java @@ -17,9 +17,8 @@ package org.apache.cloudstack.outofbandmanagement.driver.ipmitool; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagement; @@ -61,7 +60,7 @@ public final class IpmitoolWrapper { } public OutOfBandManagement.PowerState parsePowerState(final String standardOutput) { - if (Strings.isNullOrEmpty(standardOutput)) { + if (StringUtils.isEmpty(standardOutput)) { return OutOfBandManagement.PowerState.Unknown; } if (standardOutput.equals("Chassis Power is on")) { diff --git a/plugins/outofbandmanagement-drivers/nested-cloudstack/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/nestedcloudstack/NestedCloudStackOutOfBandManagementDriver.java b/plugins/outofbandmanagement-drivers/nested-cloudstack/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/nestedcloudstack/NestedCloudStackOutOfBandManagementDriver.java index 37d5c577590..fcf2caa6b96 100644 --- a/plugins/outofbandmanagement-drivers/nested-cloudstack/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/nestedcloudstack/NestedCloudStackOutOfBandManagementDriver.java +++ b/plugins/outofbandmanagement-drivers/nested-cloudstack/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/nestedcloudstack/NestedCloudStackOutOfBandManagementDriver.java @@ -23,7 +23,7 @@ import br.com.autonomiccs.apacheCloudStack.exceptions.ApacheCloudStackClientRequ import com.cloud.utils.component.AdapterBase; import com.cloud.utils.exception.CloudRuntimeException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableMap; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagement; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagementDriver; @@ -53,14 +53,14 @@ public final class NestedCloudStackOutOfBandManagementDriver extends AdapterBase } protected void ensureOptionExists(final ImmutableMap options, final OutOfBandManagement.Option option) { - if (options != null && option != null && options.containsKey(option) && !Strings.isNullOrEmpty(options.get(option))) { + if (options != null && option != null && options.containsKey(option) && StringUtils.isNotEmpty(options.get(option))) { return; } throw new CloudRuntimeException("Invalid out-of-band management configuration detected for the nested-cloudstack driver"); } protected OutOfBandManagement.PowerState getNestedVMPowerState(final String jsonResponse) { - if (Strings.isNullOrEmpty(jsonResponse)) { + if (StringUtils.isEmpty(jsonResponse)) { return OutOfBandManagement.PowerState.Unknown; } diff --git a/plugins/storage/image/default/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageStoreLifeCycleImpl.java b/plugins/storage/image/default/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageStoreLifeCycleImpl.java index d40ca2364d5..0e53191fb8e 100644 --- a/plugins/storage/image/default/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageStoreLifeCycleImpl.java +++ b/plugins/storage/image/default/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageStoreLifeCycleImpl.java @@ -188,7 +188,7 @@ public class CloudStackImageStoreLifeCycleImpl implements ImageStoreLifeCycle { } List stringList = new ArrayList(); Collections.addAll(stringList, temp); - cleanLogString = StringUtils.join(stringList, ","); + cleanLogString = org.apache.commons.lang3.StringUtils.join(stringList, ","); } } return cleanLogString; diff --git a/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/driver/DateraPrimaryDataStoreDriver.java b/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/driver/DateraPrimaryDataStoreDriver.java index 49559d209d6..91e73aa4424 100644 --- a/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/driver/DateraPrimaryDataStoreDriver.java +++ b/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/driver/DateraPrimaryDataStoreDriver.java @@ -46,6 +46,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.util.DateraObject; import org.apache.cloudstack.storage.datastore.util.DateraUtil; import org.apache.cloudstack.storage.to.SnapshotObjectTO; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Answer; @@ -76,7 +77,6 @@ import com.cloud.storage.dao.VMTemplatePoolDao; import com.cloud.storage.dao.VolumeDao; import com.cloud.storage.dao.VolumeDetailsDao; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.exception.CloudRuntimeException; import com.google.common.base.Preconditions; @@ -439,7 +439,7 @@ public class DateraPrimaryDataStoreDriver implements PrimaryDataStoreDriver { String dataObjectTypeString = dataObject.getType().name(); // TEMPLATE, VOLUME, SNAPSHOT String dataObjectTypeBrief; - dataObjectTypeBrief = org.apache.commons.lang.StringUtils.substring(dataObjectTypeString, 0, 1); + dataObjectTypeBrief = StringUtils.substring(dataObjectTypeString, 0, 1); name.add(dataObjectTypeBrief); // T, V switch (dataObject.getType()) { @@ -468,7 +468,7 @@ public class DateraPrimaryDataStoreDriver implements PrimaryDataStoreDriver { } String appInstanceName = StringUtils.join("-", name.toArray()); - return org.apache.commons.lang.StringUtils.substring(appInstanceName, 0, DateraUtil.APPINSTANCE_MAX_LENTH); + return StringUtils.substring(appInstanceName, 0, DateraUtil.APPINSTANCE_MAX_LENTH); } // Not being used right now as Datera doesn't support min IOPS diff --git a/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraObject.java b/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraObject.java index 4d56f4b55c9..43dcb78bb67 100644 --- a/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraObject.java +++ b/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraObject.java @@ -17,13 +17,14 @@ package org.apache.cloudstack.storage.datastore.util; -import com.cloud.utils.StringUtils; import com.google.gson.annotations.SerializedName; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; + public class DateraObject { public static final String DEFAULT_CREATE_MODE = "cloudstack"; diff --git a/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraUtil.java b/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraUtil.java index 01ff8930570..e6d1e1c8e18 100644 --- a/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraUtil.java +++ b/plugins/storage/volume/datera/src/main/java/org/apache/cloudstack/storage/datastore/util/DateraUtil.java @@ -19,7 +19,6 @@ package org.apache.cloudstack.storage.datastore.util; import com.cloud.host.Host; import com.cloud.host.HostVO; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; import com.google.common.base.Preconditions; import com.google.gson.Gson; @@ -27,6 +26,7 @@ import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpRequest; diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/api/StoragePoolStatistics.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/api/StoragePoolStatistics.java index 599aa5c3ae9..4f3f1190592 100644 --- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/api/StoragePoolStatistics.java +++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/api/StoragePoolStatistics.java @@ -17,7 +17,7 @@ package org.apache.cloudstack.storage.datastore.api; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class StoragePoolStatistics { String maxCapacityInKb; // total capacity @@ -26,7 +26,7 @@ public class StoragePoolStatistics { String netUnusedCapacityInKb; // capacity available for volume creation (volume space to write) public Long getMaxCapacityInKb() { - if (Strings.isNullOrEmpty(maxCapacityInKb)) { + if (StringUtils.isEmpty(maxCapacityInKb)) { return Long.valueOf(0); } return Long.valueOf(maxCapacityInKb); @@ -37,7 +37,7 @@ public class StoragePoolStatistics { } public Long getSpareCapacityInKb() { - if (Strings.isNullOrEmpty(spareCapacityInKb)) { + if (StringUtils.isEmpty(spareCapacityInKb)) { return Long.valueOf(0); } return Long.valueOf(spareCapacityInKb); @@ -48,7 +48,7 @@ public class StoragePoolStatistics { } public Long getNetCapacityInUseInKb() { - if (Strings.isNullOrEmpty(netCapacityInUseInKb)) { + if (StringUtils.isEmpty(netCapacityInUseInKb)) { return Long.valueOf(0); } return Long.valueOf(netCapacityInUseInKb); @@ -59,7 +59,7 @@ public class StoragePoolStatistics { } public Long getNetUnusedCapacityInKb() { - if (Strings.isNullOrEmpty(netUnusedCapacityInKb)) { + if (StringUtils.isEmpty(netUnusedCapacityInKb)) { return Long.valueOf(0); } return Long.valueOf(netUnusedCapacityInKb); diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/client/ScaleIOGatewayClientImpl.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/client/ScaleIOGatewayClientImpl.java index fa195414b67..9a8225bde43 100644 --- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/client/ScaleIOGatewayClientImpl.java +++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/client/ScaleIOGatewayClientImpl.java @@ -34,6 +34,7 @@ import java.util.Map; import javax.net.ssl.SSLContext; import javax.net.ssl.X509TrustManager; +import org.apache.commons.lang3.StringUtils; import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.storage.datastore.api.ProtectionDomain; @@ -78,7 +79,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.json.JsonMapper; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { private static final Logger LOG = Logger.getLogger(ScaleIOGatewayClientImpl.class); @@ -107,8 +107,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { public ScaleIOGatewayClientImpl(final String url, final String username, final String password, final boolean validateCertificate, final int timeout, final int maxConnections) throws NoSuchAlgorithmException, KeyManagementException, URISyntaxException { - Preconditions.checkArgument(!Strings.isNullOrEmpty(url), "Gateway client url cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(username) && !Strings.isNullOrEmpty(password), "Gateway client credentials cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(url), "Gateway client url cannot be null"); + Preconditions.checkArgument(StringUtils.isNoneEmpty(username, password), "Gateway client credentials cannot be null"); final RequestConfig config = RequestConfig.custom() .setConnectTimeout(timeout * 1000) @@ -169,7 +169,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { } String sessionKeyInResponse = EntityUtils.toString(response.getEntity()); - if (Strings.isNullOrEmpty(sessionKeyInResponse)) { + if (StringUtils.isEmpty(sessionKeyInResponse)) { throw new CloudRuntimeException("Failed to create a valid session for PowerFlex Gateway " + apiURI.getHost() + " to perform API requests"); } @@ -379,8 +379,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public Volume createVolume(final String name, final String storagePoolId, final Integer sizeInGb, final Storage.ProvisioningType volumeType) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(name), "Volume name cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(storagePoolId), "Storage pool id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(name), "Volume name cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(storagePoolId), "Storage pool id cannot be null"); Preconditions.checkArgument(sizeInGb != null && sizeInGb > 0, "Size(GB) must be greater than 0"); Volume newVolume = new Volume(); @@ -422,18 +422,18 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public Volume getVolume(String volumeId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); return get("/instances/Volume::" + volumeId, Volume.class); } @Override public Volume getVolumeByName(String name) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(name), "Volume name cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(name), "Volume name cannot be null"); Volume searchVolume = new Volume(); searchVolume.setName(name); String volumeId = post("/types/Volume/instances/action/queryIdByKey", searchVolume, String.class); - if (!Strings.isNullOrEmpty(volumeId)) { + if (StringUtils.isNotEmpty(volumeId)) { return getVolume(volumeId.replace("\"", "")); } return null; @@ -441,8 +441,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean renameVolume(final String volumeId, final String newName) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(newName), "New name for volume cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(newName), "New name for volume cannot be null"); Boolean renameVolumeStatus = post( "/instances/Volume::" + volumeId + "/action/setVolumeName", @@ -455,7 +455,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public Volume resizeVolume(final String volumeId, final Integer sizeInGB) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); Preconditions.checkArgument(sizeInGB != null && (sizeInGB > 0 && sizeInGB % 8 == 0), "Size(GB) must be greater than 0 and in granularity of 8"); @@ -471,8 +471,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public Volume cloneVolume(final String sourceVolumeId, final String destVolumeName) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(sourceVolumeId), "Source volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(destVolumeName), "Dest volume name cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sourceVolumeId), "Source volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(destVolumeName), "Dest volume name cannot be null"); Map snapshotMap = new HashMap<>(); snapshotMap.put(sourceVolumeId, destVolumeName); @@ -489,7 +489,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { final SnapshotDef snapshotDef = new SnapshotDef(); snapshotDef.setVolumeId(volumeId); String snapshotName = srcVolumeDestSnapshotMap.get(volumeId); - if (!Strings.isNullOrEmpty(snapshotName)) { + if (StringUtils.isNotEmpty(snapshotName)) { snapshotDef.setSnapshotName(srcVolumeDestSnapshotMap.get(volumeId)); } defs.add(snapshotDef); @@ -501,7 +501,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean revertSnapshot(final String systemId, final Map srcSnapshotDestVolumeMap) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(systemId), "System id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(systemId), "System id cannot be null"); Preconditions.checkArgument(srcSnapshotDestVolumeMap != null && !srcSnapshotDestVolumeMap.isEmpty(), "srcSnapshotDestVolumeMap cannot be null"); // Take group snapshot (needs additional storage pool capacity till revert operation) to keep the last state of all volumes ??? @@ -555,8 +555,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public int deleteSnapshotGroup(final String systemId, final String snapshotGroupId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(systemId), "System id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(snapshotGroupId), "Snapshot group id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(systemId), "System id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(snapshotGroupId), "Snapshot group id cannot be null"); JsonNode node = post( "/instances/System::" + systemId + "/action/removeConsistencyGroupSnapshots", @@ -570,8 +570,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public Volume takeSnapshot(final String volumeId, final String snapshotVolumeName) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(snapshotVolumeName), "Snapshot name cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(snapshotVolumeName), "Snapshot name cannot be null"); final SnapshotDef[] snapshotDef = new SnapshotDef[1]; snapshotDef[0] = new SnapshotDef(); @@ -592,8 +592,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean revertSnapshot(final String sourceSnapshotVolumeId, final String destVolumeId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(sourceSnapshotVolumeId), "Source snapshot volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(destVolumeId), "Destination volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sourceSnapshotVolumeId), "Source snapshot volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(destVolumeId), "Destination volume id cannot be null"); Volume sourceSnapshotVolume = getVolume(sourceSnapshotVolumeId); if (sourceSnapshotVolume == null) { @@ -620,8 +620,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean mapVolumeToSdc(final String volumeId, final String sdcId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(sdcId), "Sdc Id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sdcId), "Sdc Id cannot be null"); if (isVolumeMappedToSdc(volumeId, sdcId)) { return true; @@ -638,8 +638,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean mapVolumeToSdcWithLimits(final String volumeId, final String sdcId, final Long iopsLimit, final Long bandwidthLimitInKbps) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(sdcId), "Sdc Id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sdcId), "Sdc Id cannot be null"); Preconditions.checkArgument(iopsLimit != null && (iopsLimit == 0 || iopsLimit > 10), "IOPS limit must be 0 (unlimited) or greater than 10"); Preconditions.checkArgument(bandwidthLimitInKbps != null && (bandwidthLimitInKbps == 0 || (bandwidthLimitInKbps > 0 && bandwidthLimitInKbps % 1024 == 0)), @@ -668,8 +668,8 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean unmapVolumeFromSdc(final String volumeId, final String sdcId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(sdcId), "Sdc Id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sdcId), "Sdc Id cannot be null"); if (isVolumeMappedToSdc(volumeId, sdcId)) { Boolean unmapVolumeFromSdcStatus = post( @@ -684,7 +684,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean unmapVolumeFromAllSdcs(final String volumeId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); Volume volume = getVolume(volumeId); if (volume == null) { @@ -707,10 +707,10 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean isVolumeMappedToSdc(final String volumeId, final String sdcId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(sdcId), "Sdc Id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sdcId), "Sdc Id cannot be null"); - if (Strings.isNullOrEmpty(volumeId) || Strings.isNullOrEmpty(sdcId)) { + if (StringUtils.isAnyEmpty(volumeId, sdcId)) { return false; } @@ -733,7 +733,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean deleteVolume(final String volumeId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); try { unmapVolumeFromAllSdcs(volumeId); @@ -749,13 +749,13 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean migrateVolume(final String srcVolumeId, final String destPoolId, final int timeoutInSecs) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(srcVolumeId), "src volume id cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(destPoolId), "dest pool id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(srcVolumeId), "src volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(destPoolId), "dest pool id cannot be null"); Preconditions.checkArgument(timeoutInSecs > 0, "timeout must be greater than 0"); try { Volume volume = getVolume(srcVolumeId); - if (volume == null || Strings.isNullOrEmpty(volume.getVtreeId())) { + if (volume == null || StringUtils.isEmpty(volume.getVtreeId())) { LOG.warn("Couldn't find the volume(-tree), can not migrate the volume " + srcVolumeId); return false; } @@ -819,7 +819,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { private boolean waitForVolumeMigrationToComplete(final String volumeTreeId, int waitTimeoutInSecs) { LOG.debug("Waiting for the migration to complete for the volume-tree " + volumeTreeId); - if (Strings.isNullOrEmpty(volumeTreeId)) { + if (StringUtils.isEmpty(volumeTreeId)) { LOG.warn("Invalid volume-tree id, unable to check the migration status of the volume-tree " + volumeTreeId); return false; } @@ -848,7 +848,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { } private VTreeMigrationInfo.MigrationStatus getVolumeTreeMigrationStatus(final String volumeTreeId) { - if (Strings.isNullOrEmpty(volumeTreeId)) { + if (StringUtils.isEmpty(volumeTreeId)) { LOG.warn("Invalid volume-tree id, unable to get the migration status of the volume-tree " + volumeTreeId); return null; } @@ -861,7 +861,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { } private boolean rollbackVolumeMigration(final String srcVolumeId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(srcVolumeId), "src volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(srcVolumeId), "src volume id cannot be null"); Volume volume = getVolume(srcVolumeId); if (volume == null) { @@ -911,7 +911,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { } private boolean pauseVolumeMigration(final String volumeId, final boolean forced) { - if (Strings.isNullOrEmpty(volumeId)) { + if (StringUtils.isEmpty(volumeId)) { LOG.warn("Invalid Volume Id, Unable to pause migration of the volume " + volumeId); return false; } @@ -943,24 +943,24 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public StoragePool getStoragePool(String poolId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(poolId), "Storage pool id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(poolId), "Storage pool id cannot be null"); return get("/instances/StoragePool::" + poolId, StoragePool.class); } @Override public StoragePoolStatistics getStoragePoolStatistics(String poolId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(poolId), "Storage pool id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(poolId), "Storage pool id cannot be null"); return get("/instances/StoragePool::" + poolId + "/relationships/Statistics", StoragePoolStatistics.class); } @Override public VolumeStatistics getVolumeStatistics(String volumeId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumeId), "Volume id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumeId), "Volume id cannot be null"); Volume volume = getVolume(volumeId); if (volume != null) { String volumeTreeId = volume.getVtreeId(); - if (!Strings.isNullOrEmpty(volumeTreeId)) { + if (StringUtils.isNotEmpty(volumeTreeId)) { VolumeStatistics volumeStatistics = get("/instances/VTree::" + volumeTreeId + "/relationships/Statistics", VolumeStatistics.class); if (volumeStatistics != null) { volumeStatistics.setAllocatedSizeInKb(volume.getSizeInKb()); @@ -974,7 +974,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public String getSystemId(String protectionDomainId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(protectionDomainId), "Protection domain id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(protectionDomainId), "Protection domain id cannot be null"); ProtectionDomain protectionDomain = get("/instances/ProtectionDomain::" + protectionDomainId, ProtectionDomain.class); if (protectionDomain != null) { @@ -985,7 +985,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public List listVolumesInStoragePool(String poolId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(poolId), "Storage pool id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(poolId), "Storage pool id cannot be null"); Volume[] volumes = get("/instances/StoragePool::" + poolId + "/relationships/Volume", Volume[].class); if (volumes != null) { @@ -1009,16 +1009,16 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public Sdc getSdc(String sdcId) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(sdcId), "Sdc id cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(sdcId), "Sdc id cannot be null"); return get("/instances/Sdc::" + sdcId, Sdc.class); } @Override public Sdc getSdcByIp(String ipAddress) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(ipAddress), "IP address cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(ipAddress), "IP address cannot be null"); String sdcId = post("/types/Sdc/instances/action/queryIdByKey", String.format("{\"ip\":\"%s\"}", ipAddress), String.class); - if (!Strings.isNullOrEmpty(sdcId)) { + if (StringUtils.isNotEmpty(sdcId)) { return getSdc(sdcId.replace("\"", "")); } return null; @@ -1051,7 +1051,7 @@ public class ScaleIOGatewayClientImpl implements ScaleIOGatewayClient { @Override public boolean isSdcConnected(String ipAddress) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(ipAddress), "IP address cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(ipAddress), "IP address cannot be null"); List sdcs = listSdcs(); if(sdcs != null) { diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java index f840bae0168..1ab9129734f 100644 --- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java +++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/driver/ScaleIOPrimaryDataStoreDriver.java @@ -55,6 +55,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.util.ScaleIOUtil; import org.apache.cloudstack.storage.to.SnapshotObjectTO; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Answer; @@ -84,7 +85,6 @@ import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VirtualMachineManager; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; public class ScaleIOPrimaryDataStoreDriver implements PrimaryDataStoreDriver { private static final Logger LOGGER = Logger.getLogger(ScaleIOPrimaryDataStoreDriver.class); @@ -768,7 +768,7 @@ public class ScaleIOPrimaryDataStoreDriver implements PrimaryDataStoreDriver { destPoolSystemId = destPoolSystemIdDetail.getValue(); } - if (Strings.isNullOrEmpty(srcPoolSystemId) || Strings.isNullOrEmpty(destPoolSystemId)) { + if (StringUtils.isAnyEmpty(srcPoolSystemId, destPoolSystemId)) { throw new CloudRuntimeException("Failed to validate PowerFlex pools compatibility for migration as storage instance details are not available"); } @@ -904,7 +904,7 @@ public class ScaleIOPrimaryDataStoreDriver implements PrimaryDataStoreDriver { @Override public Pair getVolumeStats(StoragePool storagePool, String volumePath) { Preconditions.checkArgument(storagePool != null, "storagePool cannot be null"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(volumePath), "volumePath cannot be null"); + Preconditions.checkArgument(StringUtils.isNotEmpty(volumePath), "volumePath cannot be null"); try { final ScaleIOGatewayClient client = getScaleIOClient(storagePool.getId()); diff --git a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/util/ScaleIOUtil.java b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/util/ScaleIOUtil.java index 0180f17cdd7..73a37ce2fb0 100644 --- a/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/util/ScaleIOUtil.java +++ b/plugins/storage/volume/scaleio/src/main/java/org/apache/cloudstack/storage/datastore/util/ScaleIOUtil.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.storage.datastore.util; import org.apache.log4j.Logger; import com.cloud.utils.script.Script; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class ScaleIOUtil { private static final Logger LOGGER = Logger.getLogger(ScaleIOUtil.class); @@ -98,7 +98,7 @@ public class ScaleIOUtil { } public static final String getVolumePath(String volumePathWithName) { - if (Strings.isNullOrEmpty(volumePathWithName)) { + if (StringUtils.isEmpty(volumePathWithName)) { return volumePathWithName; } @@ -110,7 +110,7 @@ public class ScaleIOUtil { } public static final String updatedPathWithVolumeName(String volumePath, String volumeName) { - if (Strings.isNullOrEmpty(volumePath) || Strings.isNullOrEmpty(volumeName)) { + if (StringUtils.isAnyEmpty(volumePath, volumeName)) { return volumePath; } diff --git a/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java b/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java index f73a8fdbe0f..6bad1efbb73 100644 --- a/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java +++ b/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/driver/SolidFirePrimaryDataStoreDriver.java @@ -48,7 +48,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.util.SolidFireUtil; import org.apache.cloudstack.storage.to.SnapshotObjectTO; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.Answer; diff --git a/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/util/SolidFireUtil.java b/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/util/SolidFireUtil.java index acf1d5c7b15..47f2f8819f2 100644 --- a/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/util/SolidFireUtil.java +++ b/plugins/storage/volume/solidfire/src/main/java/org/apache/cloudstack/storage/datastore/util/SolidFireUtil.java @@ -27,7 +27,7 @@ import java.util.StringTokenizer; import java.util.UUID; import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java index 90114523cfd..b8b401e0b62 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java @@ -41,7 +41,7 @@ import org.apache.cloudstack.api.response.RoleResponse; import org.apache.cloudstack.ldap.LdapManager; import org.apache.cloudstack.ldap.LdapUser; import org.apache.cloudstack.ldap.NoLdapUserMatchingQueryException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.bouncycastle.util.encoders.Base64; diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java index a8f14dfcd54..2413d718b62 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java @@ -27,7 +27,7 @@ import javax.naming.directory.SearchControls; import javax.naming.directory.SearchResult; import javax.naming.ldap.LdapContext; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; public class ADLdapUserManagerImpl extends OpenLdapUserManagerImpl implements LdapUserManager { diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java index 2cd035e3a99..3d49d3ecfa4 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java @@ -24,7 +24,7 @@ import java.util.UUID; import javax.inject.Inject; import org.apache.cloudstack.acl.RoleType; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.server.auth.UserAuthenticator; @@ -66,7 +66,7 @@ public class LdapAuthenticator extends AdapterBase implements UserAuthenticator } // TODO not allowing an empty password is a policy we shouldn't decide on. A private cloud may well want to allow this. - if (!StringUtils.isEmpty(username) && !StringUtils.isEmpty(password)) { + if (StringUtils.isNoneEmpty(username, password)) { if (_ldapManager.isLdapEnabled(domainId) || _ldapManager.isLdapEnabled()) { if (LOGGER.isTraceEnabled()) { LOGGER.trace("LDAP is enabled in the ldapManager"); diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java index 5fe27e50d4d..a3e82af3dcc 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java @@ -35,7 +35,7 @@ import javax.naming.ldap.PagedResultsResponseControl; import org.apache.cloudstack.ldap.dao.LdapTrustMapDao; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; public class OpenLdapUserManagerImpl implements LdapUserManager { diff --git a/plugins/user-authenticators/md5/src/main/java/com/cloud/server/auth/MD5UserAuthenticator.java b/plugins/user-authenticators/md5/src/main/java/com/cloud/server/auth/MD5UserAuthenticator.java index 37b441d688a..8398c6c3fc5 100644 --- a/plugins/user-authenticators/md5/src/main/java/com/cloud/server/auth/MD5UserAuthenticator.java +++ b/plugins/user-authenticators/md5/src/main/java/com/cloud/server/auth/MD5UserAuthenticator.java @@ -22,7 +22,7 @@ import java.util.Map; import javax.inject.Inject; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.user.UserAccount; @@ -48,7 +48,7 @@ public class MD5UserAuthenticator extends AdapterBase implements UserAuthenticat s_logger.debug("Retrieving user: " + username); } - if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) { + if (StringUtils.isAnyEmpty(username, password)) { s_logger.debug("Username or Password cannot be empty"); return new Pair(false, null); } diff --git a/plugins/user-authenticators/pbkdf2/src/main/java/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java b/plugins/user-authenticators/pbkdf2/src/main/java/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java index fb4dd62ba9d..733bde734fc 100644 --- a/plugins/user-authenticators/pbkdf2/src/main/java/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java +++ b/plugins/user-authenticators/pbkdf2/src/main/java/org/apache/cloudstack/server/auth/PBKDF2UserAuthenticator.java @@ -25,7 +25,7 @@ import java.util.Map; import javax.inject.Inject; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.bouncycastle.crypto.PBEParametersGenerator; import org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator; @@ -55,7 +55,7 @@ public class PBKDF2UserAuthenticator extends AdapterBase implements UserAuthenti s_logger.debug("Retrieving user: " + username); } - if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) { + if (StringUtils.isAnyEmpty(username, password)) { s_logger.debug("Username or Password cannot be empty"); return new Pair(false, null); } diff --git a/plugins/user-authenticators/plain-text/src/main/java/com/cloud/server/auth/PlainTextUserAuthenticator.java b/plugins/user-authenticators/plain-text/src/main/java/com/cloud/server/auth/PlainTextUserAuthenticator.java index caddd202ebf..3740d702ca1 100644 --- a/plugins/user-authenticators/plain-text/src/main/java/com/cloud/server/auth/PlainTextUserAuthenticator.java +++ b/plugins/user-authenticators/plain-text/src/main/java/com/cloud/server/auth/PlainTextUserAuthenticator.java @@ -19,7 +19,7 @@ import java.util.Map; import javax.inject.Inject; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.user.UserAccount; @@ -39,7 +39,7 @@ public class PlainTextUserAuthenticator extends AdapterBase implements UserAuthe s_logger.debug("Retrieving user: " + username); } - if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) { + if (StringUtils.isAnyEmpty(username, password)) { s_logger.debug("Username or Password cannot be empty"); return new Pair(false, null); } diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java index 4b486466f8e..85279ea85b4 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java @@ -46,7 +46,7 @@ import org.apache.cloudstack.saml.SAMLPluginConstants; import org.apache.cloudstack.saml.SAMLProviderMetadata; import org.apache.cloudstack.saml.SAMLTokenVO; import org.apache.cloudstack.saml.SAMLUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.opensaml.DefaultBootstrap; import org.opensaml.saml2.core.Assertion; diff --git a/plugins/user-authenticators/sha256salted/src/main/java/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java b/plugins/user-authenticators/sha256salted/src/main/java/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java index 27ab8e9b45c..0b87bd445fd 100644 --- a/plugins/user-authenticators/sha256salted/src/main/java/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java +++ b/plugins/user-authenticators/sha256salted/src/main/java/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java @@ -24,7 +24,7 @@ import java.util.Map; import javax.inject.Inject; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.bouncycastle.util.encoders.Base64; @@ -51,7 +51,7 @@ public class SHA256SaltedUserAuthenticator extends AdapterBase implements UserAu s_logger.debug("Retrieving user: " + username); } - if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) { + if (StringUtils.isAnyEmpty(username, password)) { s_logger.debug("Username or Password cannot be empty"); return new Pair(false, null); } diff --git a/server/src/main/java/com/cloud/api/ApiDBUtils.java b/server/src/main/java/com/cloud/api/ApiDBUtils.java index 28bafe2cb8c..7f4199348c9 100644 --- a/server/src/main/java/com/cloud/api/ApiDBUtils.java +++ b/server/src/main/java/com/cloud/api/ApiDBUtils.java @@ -249,7 +249,6 @@ import com.cloud.user.dao.UserStatisticsDao; import com.cloud.uservm.UserVm; import com.cloud.utils.EnumUtils; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.vm.ConsoleProxyVO; import com.cloud.vm.DomainRouterVO; import com.cloud.vm.InstanceGroup; @@ -329,6 +328,7 @@ import org.apache.cloudstack.framework.jobs.dao.AsyncJobDao; import org.apache.cloudstack.resourcedetail.dao.DiskOfferingDetailsDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; +import org.apache.commons.lang3.StringUtils; import javax.annotation.PostConstruct; import javax.inject.Inject; diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index 95aebc815e7..e105676c0a0 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -338,7 +338,6 @@ import com.cloud.user.UserStatisticsVO; import com.cloud.user.dao.UserStatisticsDao; import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.crypt.DBEncryptionUtil; import com.cloud.utils.db.EntityManager; import com.cloud.utils.db.SearchBuilder; @@ -363,7 +362,7 @@ import com.cloud.vm.dao.NicSecondaryIpVO; import com.cloud.vm.snapshot.VMSnapshot; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class ApiResponseHelper implements ResponseGenerator { @@ -646,7 +645,7 @@ public class ApiResponseHelper implements ResponseGenerator { UserVm vm = ApiDBUtils.findUserVmById(vmSnapshot.getVmId()); if (vm != null) { vmSnapshotResponse.setVirtualMachineId(vm.getUuid()); - vmSnapshotResponse.setVirtualMachineName(Strings.isNullOrEmpty(vm.getDisplayName()) ? vm.getHostName() : vm.getDisplayName()); + vmSnapshotResponse.setVirtualMachineName(StringUtils.isEmpty(vm.getDisplayName()) ? vm.getHostName() : vm.getDisplayName()); vmSnapshotResponse.setHypervisor(vm.getHypervisorType()); DataCenterVO datacenter = ApiDBUtils.findZoneById(vm.getDataCenterId()); if (datacenter != null) { diff --git a/server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java b/server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java index e05a982ca2f..a8506342b72 100644 --- a/server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java +++ b/server/src/main/java/com/cloud/api/dispatch/ParamProcessWorker.java @@ -17,8 +17,6 @@ package com.cloud.api.dispatch; -import static org.apache.commons.lang.StringUtils.isNotBlank; - import java.lang.reflect.Field; import java.text.DateFormat; import java.text.ParseException; @@ -63,7 +61,7 @@ import com.cloud.user.AccountManager; import com.cloud.utils.DateUtil; import com.cloud.utils.db.EntityManager; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class ParamProcessWorker implements DispatchWorker { @@ -94,7 +92,7 @@ public class ParamProcessWorker implements DispatchWorker { } private void validateNonEmptyString(final Object param, final String argName) { - if (param == null || Strings.isNullOrEmpty(param.toString())) { + if (param == null || StringUtils.isEmpty(param.toString())) { throw new InvalidParameterValueException(String.format("Empty or null value provided for API arg: %s", argName)); } } @@ -346,7 +344,7 @@ public class ParamProcessWorker implements DispatchWorker { // Assuming that the parameters have been checked for required before now, // we ignore blank or null values and defer to the command to set a default // value for optional parameters ... - if (paramObj != null && isNotBlank(paramObj.toString())) { + if (paramObj != null && StringUtils.isNotBlank(paramObj.toString())) { field.set(cmdObj, Float.valueOf(paramObj.toString())); } break; @@ -354,7 +352,7 @@ public class ParamProcessWorker implements DispatchWorker { // Assuming that the parameters have been checked for required before now, // we ignore blank or null values and defer to the command to set a default // value for optional parameters ... - if (paramObj != null && isNotBlank(paramObj.toString())) { + if (paramObj != null && StringUtils.isNotBlank(paramObj.toString())) { field.set(cmdObj, Double.valueOf(paramObj.toString())); } break; @@ -362,7 +360,7 @@ public class ParamProcessWorker implements DispatchWorker { // Assuming that the parameters have been checked for required before now, // we ignore blank or null values and defer to the command to set a default // value for optional parameters ... - if (paramObj != null && isNotBlank(paramObj.toString())) { + if (paramObj != null && StringUtils.isNotBlank(paramObj.toString())) { field.set(cmdObj, Integer.valueOf(paramObj.toString())); } break; diff --git a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java index 971d409c5d2..0a0f528fc52 100644 --- a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java @@ -237,7 +237,6 @@ import com.cloud.user.dao.UserDao; import com.cloud.utils.DateUtil; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.Ternary; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericSearchBuilder; @@ -256,7 +255,7 @@ import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @Component public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements QueryService, Configurable { @@ -791,7 +790,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q boolean listAll = cmd.listAll(); Long projectId = cmd.getProjectId(); - if (projectId == null && ResourceObjectType.Project.name().equalsIgnoreCase(resourceType) && !Strings.isNullOrEmpty(resourceId)) { + if (projectId == null && ResourceObjectType.Project.name().equalsIgnoreCase(resourceType) && StringUtils.isNotEmpty(resourceId)) { try { projectId = Long.parseLong(resourceId); } catch (final NumberFormatException e) { @@ -1567,7 +1566,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q } accountId = owner.getId(); } - if (!Strings.isNullOrEmpty(username)) { + if (StringUtils.isNotEmpty(username)) { User owner = userDao.getUserByName(username, domainId); if (owner == null) { throw new InvalidParameterValueException("Unable to find user " + username + " in domain " + domainId); @@ -1581,7 +1580,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q if (accountName != null) { throw new InvalidParameterValueException("could not find account " + accountName + " because domain is not specified"); } - if (!Strings.isNullOrEmpty(username)) { + if (StringUtils.isNotEmpty(username)) { throw new InvalidParameterValueException("could not find user " + username + " because domain is not specified"); } } @@ -1594,7 +1593,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q throw new PermissionDeniedException("Can't list domain id= " + domainId + " projects; unauthorized"); } - if (!Strings.isNullOrEmpty(username) && !username.equals(user.getUsername())) { + if (StringUtils.isNotEmpty(username) && !username.equals(user.getUsername())) { throw new PermissionDeniedException("Can't list user " + username + " projects; unauthorized"); } @@ -3180,7 +3179,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q } if (currentVmOffering != null) { - List storageTags = StringUtils.csvTagsToList(currentVmOffering.getTags()); + List storageTags = com.cloud.utils.StringUtils.csvTagsToList(currentVmOffering.getTags()); if (!storageTags.isEmpty()) { SearchBuilder sb = _srvOfferingJoinDao.createSearchBuilder(); for(String tag : storageTags) { @@ -3195,7 +3194,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q sc.addAnd("storageTags", SearchCriteria.Op.SC, scc); } - List hostTags = StringUtils.csvTagsToList(currentVmOffering.getHostTag()); + List hostTags = com.cloud.utils.StringUtils.csvTagsToList(currentVmOffering.getHostTag()); if (!hostTags.isEmpty()) { SearchBuilder sb = _srvOfferingJoinDao.createSearchBuilder(); for(String tag : hostTags) { @@ -3847,10 +3846,10 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q case Template: case UserVm: HypervisorType hypervisorType = HypervisorType.None; - if (!Strings.isNullOrEmpty(resourceUuid) && ResourceObjectType.Template.equals(type)) { + if (StringUtils.isNotEmpty(resourceUuid) && ResourceObjectType.Template.equals(type)) { hypervisorType = _templateDao.findByUuid(resourceUuid).getHypervisorType(); } - if (!Strings.isNullOrEmpty(resourceUuid) && ResourceObjectType.UserVm.equals(type)) { + if (StringUtils.isNotEmpty(resourceUuid) && ResourceObjectType.UserVm.equals(type)) { hypervisorType = _vmInstanceDao.findByUuid(resourceUuid).getHypervisorType(); } fillVMOrTemplateDetailOptions(options, hypervisorType); diff --git a/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java index 7571ffb6053..c4bb69f1290 100644 --- a/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java @@ -40,7 +40,7 @@ import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.ha.HAResource; import org.apache.cloudstack.ha.dao.HAConfigDao; import org.apache.cloudstack.outofbandmanagement.dao.OutOfBandManagementDao; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -105,7 +105,7 @@ public class HostJoinDaoImpl extends GenericDaoBase implements private boolean containsHostHATag(final String tags) { boolean result = false; String haTag = ApiDBUtils.getHaTag(); - if (StringUtils.isNotEmpty(haTag) && StringUtils.isNotEmpty(tags)) { + if (StringUtils.isNoneEmpty(haTag, tags)) { List tagsList = Arrays.asList(tags.split(",")); if (tagsList.contains(haTag)) { result = true; diff --git a/server/src/main/java/com/cloud/api/query/vo/HostJoinVO.java b/server/src/main/java/com/cloud/api/query/vo/HostJoinVO.java index d7a3bfee132..bb3b6935389 100644 --- a/server/src/main/java/com/cloud/api/query/vo/HostJoinVO.java +++ b/server/src/main/java/com/cloud/api/query/vo/HostJoinVO.java @@ -33,12 +33,12 @@ import com.cloud.host.Status; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.org.Cluster; import com.cloud.resource.ResourceState; -import com.cloud.utils.StringUtils; import com.cloud.utils.db.GenericDao; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; import org.apache.cloudstack.ha.HAConfig; import org.apache.cloudstack.outofbandmanagement.OutOfBandManagement; +import org.apache.commons.lang3.StringUtils; /** * Host DB view. diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java index bea9cd0198d..a17d8b44caf 100755 --- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java @@ -239,7 +239,6 @@ import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserDao; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.UriUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.DB; @@ -265,7 +264,7 @@ import com.cloud.vm.dao.VMInstanceDao; import com.google.common.base.Enums; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Sets; public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService, Configurable { @@ -551,7 +550,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati @Override public void onPublishMessage(String serderAddress, String subject, Object args) { String globalSettingUpdated = (String) args; - if (Strings.isNullOrEmpty(globalSettingUpdated)) { + if (StringUtils.isEmpty(globalSettingUpdated)) { return; } if (globalSettingUpdated.equals(ApiServiceConfiguration.ManagementServerAddresses.key()) || @@ -1167,7 +1166,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati checkIpRange(startIp, endIp, cidrAddress, cidrSize); // Check if the IP range overlaps with the public ip - if(!Strings.isNullOrEmpty(startIp)) { + if(StringUtils.isNotEmpty(startIp)) { checkOverlapPublicIpRange(zoneId, startIp, endIp); } @@ -1301,7 +1300,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati String endIp = cmd.getEndIp(); final boolean forSystemVms = cmd.isForSystemVms(); String vlan = cmd.getVlan(); - if (!(Strings.isNullOrEmpty(vlan) || vlan.startsWith(BroadcastDomainType.Vlan.scheme()))) { + if (StringUtils.isNotEmpty(vlan) && !vlan.startsWith(BroadcastDomainType.Vlan.scheme())) { vlan = BroadcastDomainType.Vlan.toUri(vlan).toString(); } @@ -1678,11 +1677,11 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati private void verifyIpRangeParameters(String startIP, String endIp) { - if (!Strings.isNullOrEmpty(startIP) && !NetUtils.isValidIp4(startIP)) { + if (StringUtils.isNotEmpty(startIP) && !NetUtils.isValidIp4(startIP)) { throw new InvalidParameterValueException("The current start address of the IP range " + startIP + " is not a valid IP address."); } - if (!Strings.isNullOrEmpty(endIp) && !NetUtils.isValidIp4(endIp)) { + if (StringUtils.isNotEmpty(endIp) && !NetUtils.isValidIp4(endIp)) { throw new InvalidParameterValueException("The current end address of the IP range " + endIp + " is not a valid IP address."); } @@ -1730,7 +1729,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati // pod has allocated private IP addresses if (podHasAllocatedPrivateIPs(id)) { - if (!Strings.isNullOrEmpty(netmask)) { + if (StringUtils.isNotEmpty(netmask)) { final long newCidr = NetUtils.getCidrSize(netmask); final long oldCidr = pod.getCidrSize(); @@ -1867,7 +1866,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati // endIp is an optional parameter; if not specified - default it to the // end ip of the pod's cidr - if (!Strings.isNullOrEmpty(startIp)) { + if (StringUtils.isNotEmpty(startIp)) { if (endIp == null) { endIp = NetUtils.getIpRangeEndIpFromCidr(cidrAddress, cidrSize); } @@ -1879,7 +1878,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati // Create the new pod in the database String ipRange; - if (!Strings.isNullOrEmpty(startIp)) { + if (StringUtils.isNotEmpty(startIp)) { ipRange = startIp + "-" + endIp + "-" + DefaultForSystemVmsForPodIpRange + "-" + DefaultVlanForPodIpRange; } else { throw new InvalidParameterValueException("Start ip is required parameter"); @@ -1900,7 +1899,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati final HostPodVO pod = _podDao.persist(podFinal); - if (!Strings.isNullOrEmpty(startIp)) { + if (StringUtils.isNotEmpty(startIp)) { _zoneDao.addPrivateIpAddress(zoneId, pod.getId(), startIp, endIpFinal, false, null); } @@ -2021,24 +2020,24 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati private void checkIpRange(final String startIp, final String endIp, final String cidrAddress, final long cidrSize) { //Checking not null for start IP as well. Previously we assumed to be not null always. //But the check is required for the change in updatePod API. - if (!Strings.isNullOrEmpty(startIp) && !NetUtils.isValidIp4(startIp)) { + if (StringUtils.isNotEmpty(startIp) && !NetUtils.isValidIp4(startIp)) { throw new InvalidParameterValueException("The start address of the IP range is not a valid IP address."); } - if (!Strings.isNullOrEmpty(endIp) && !NetUtils.isValidIp4(endIp)) { + if (StringUtils.isNotEmpty(endIp) && !NetUtils.isValidIp4(endIp)) { throw new InvalidParameterValueException("The end address of the IP range is not a valid IP address."); } //Not null check is required for the change in updatePod API. - if (!Strings.isNullOrEmpty(startIp) && !NetUtils.getCidrSubNet(startIp, cidrSize).equalsIgnoreCase(NetUtils.getCidrSubNet(cidrAddress, cidrSize))) { + if (StringUtils.isNotEmpty(startIp) && !NetUtils.getCidrSubNet(startIp, cidrSize).equalsIgnoreCase(NetUtils.getCidrSubNet(cidrAddress, cidrSize))) { throw new InvalidParameterValueException("The start address of the IP range is not in the CIDR subnet."); } - if (!Strings.isNullOrEmpty(endIp) && !NetUtils.getCidrSubNet(endIp, cidrSize).equalsIgnoreCase(NetUtils.getCidrSubNet(cidrAddress, cidrSize))) { + if (StringUtils.isNotEmpty(endIp) && !NetUtils.getCidrSubNet(endIp, cidrSize).equalsIgnoreCase(NetUtils.getCidrSubNet(cidrAddress, cidrSize))) { throw new InvalidParameterValueException("The end address of the IP range is not in the CIDR subnet."); } - if (!Strings.isNullOrEmpty(endIp) && NetUtils.ip2Long(startIp) > NetUtils.ip2Long(endIp)) { + if (StringUtils.isNotEmpty(endIp) && NetUtils.ip2Long(startIp) > NetUtils.ip2Long(endIp)) { throw new InvalidParameterValueException("The start IP address must have a lower value than the end IP address."); } @@ -2748,7 +2747,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati final ProvisioningType typedProvisioningType = ProvisioningType.getProvisioningType(provisioningType); - tags = StringUtils.cleanupTags(tags); + tags = com.cloud.utils.StringUtils.cleanupTags(tags); ServiceOfferingVO offering = new ServiceOfferingVO(name, cpu, ramSize, speed, networkRate, null, offerHA, limitResourceUse, volatileVm, displayText, typedProvisioningType, localStorageRequired, false, tags, isSystem, vmType, @@ -3162,7 +3161,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati throw new InvalidParameterValueException(String.format("Unable to create disk offering by user: %s because it is not root-admin or domain-admin", user.getUuid())); } - tags = StringUtils.cleanupTags(tags); + tags = com.cloud.utils.StringUtils.cleanupTags(tags); final DiskOfferingVO newDiskOffering = new DiskOfferingVO(name, description, typedProvisioningType, diskSize, tags, isCustomized, isCustomizedIops, minIops, maxIops); newDiskOffering.setUseLocalStorage(localStorageRequired); @@ -3552,7 +3551,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati protected void updateOfferingTagsIfIsNotNull(String tags, DiskOfferingVO diskOffering) { if (tags == null) { return; } if (StringUtils.isNotBlank(tags)) { - tags = StringUtils.cleanupTags(tags); + tags = com.cloud.utils.StringUtils.cleanupTags(tags); List pools = _storagePoolDao.listStoragePoolsWithActiveVolumesByOfferingId(diskOffering.getId()); if (CollectionUtils.isNotEmpty(pools)) { List listOfTags = Arrays.asList(tags.split(",")); @@ -3582,7 +3581,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati return; } if (StringUtils.isNotBlank(hostTags)) { - hostTags = StringUtils.cleanupTags(hostTags); + hostTags = com.cloud.utils.StringUtils.cleanupTags(hostTags); List hosts = _hostDao.listHostsWithActiveVMs(offering.getId()); if (CollectionUtils.isNotEmpty(hosts)) { List listOfHostTags = Arrays.asList(hostTags.split(",")); @@ -3604,7 +3603,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati * Verify if name or displayText are not blank, tags is not null, sortkey and displayDiskOffering is not null */ protected boolean shouldUpdateDiskOffering(String name, String displayText, Integer sortKey, Boolean displayDiskOffering, String tags, String cacheMode) { - return StringUtils.isNotBlank(name) || StringUtils.isNotBlank(displayText) || tags != null || sortKey != null || displayDiskOffering != null || StringUtils.isNotBlank(cacheMode); + return !StringUtils.isAllBlank(name, displayText, cacheMode) || tags != null || sortKey != null || displayDiskOffering != null; } protected boolean shouldUpdateBytesRateParameters(Long bytesReadRate, Long bytesReadRateMax, Long bytesReadRateMaxLength, Long bytesWriteRate, Long bytesWriteRateMax, Long bytesWriteRateMaxLength) { @@ -4518,7 +4517,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati endIp = MoreObjects.firstNonNull(endIp, currentEndIP); final String cidr = NetUtils.ipAndNetMaskToCidr(gateway, netmask); - if (Strings.isNullOrEmpty(cidr)) { + if (StringUtils.isEmpty(cidr)) { throw new InvalidParameterValueException(String.format("Invalid gateway (%s) or netmask (%s)", gateway, netmask)); } final String cidrAddress = getCidrAddress(cidr); @@ -4646,8 +4645,8 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati (List listAllocatedIPs, String startIp, String endIp, Boolean forSystemVms) { Collections.sort(listAllocatedIPs, Comparator.comparing(IPAddressVO::getAddress)); for (IPAddressVO allocatedIP : listAllocatedIPs) { - if ((!Strings.isNullOrEmpty(startIp) && NetUtils.ip2Long(startIp) > NetUtils.ip2Long(allocatedIP.getAddress().addr())) - || (!Strings.isNullOrEmpty(endIp) && NetUtils.ip2Long(endIp) < NetUtils.ip2Long(allocatedIP.getAddress().addr()))) { + if ((StringUtils.isNotEmpty(startIp) && NetUtils.ip2Long(startIp) > NetUtils.ip2Long(allocatedIP.getAddress().addr())) + || (StringUtils.isNotEmpty(endIp) && NetUtils.ip2Long(endIp) < NetUtils.ip2Long(allocatedIP.getAddress().addr()))) { throw new InvalidParameterValueException(String.format("The start IP address must be less than or equal to %s which is already in use. " + "The end IP address must be greater than or equal to %s which is already in use. " + "There are %d IPs already allocated in this range.", @@ -4662,9 +4661,9 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati private void checkAllocatedIpv6sAreWithinVlanRange(List listAllocatedIPs, String startIpv6, String endIpv6) { Collections.sort(listAllocatedIPs, Comparator.comparing(UserIpv6AddressVO::getAddress)); for (UserIpv6AddressVO allocatedIP : listAllocatedIPs) { - if ((!Strings.isNullOrEmpty(startIpv6) + if ((StringUtils.isNotEmpty(startIpv6) && IPv6Address.fromString(startIpv6).toBigInteger().compareTo(IPv6Address.fromString(allocatedIP.getAddress()).toBigInteger()) > 0) - || (!Strings.isNullOrEmpty(endIpv6) + || (StringUtils.isNotEmpty(endIpv6) && IPv6Address.fromString(endIpv6).toBigInteger().compareTo(IPv6Address.fromString(allocatedIP.getAddress()).toBigInteger()) < 0)) { throw new InvalidParameterValueException(String.format("The start IPv6 address must be less than or equal to %s which is already in use. " + "The end IPv6 address must be greater than or equal to %s which is already in use. " @@ -5776,7 +5775,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati final String multicastRateStr = _configDao.getValue("multicast.throttling.rate"); final int multicastRate = multicastRateStr == null ? 10 : Integer.parseInt(multicastRateStr); - tags = StringUtils.cleanupTags(tags); + tags = com.cloud.utils.StringUtils.cleanupTags(tags); // specifyVlan should always be true for Shared network offerings if (!specifyVlan && type == GuestType.Shared) { @@ -6222,7 +6221,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati ListIterator it = offerings.listIterator(); while (it.hasNext()) { NetworkOfferingJoinVO offering = it.next(); - if (!Strings.isNullOrEmpty(offering.getDomainId())) { + if (StringUtils.isNotEmpty(offering.getDomainId())) { boolean toRemove = false; String[] domainIdsArray = offering.getDomainId().split(","); for (String domainIdString : domainIdsArray) { @@ -6325,14 +6324,14 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } // Now apply pagination - final List wPagination = StringUtils.applyPagination(supportedOfferings, cmd.getStartIndex(), cmd.getPageSizeVal()); + final List wPagination = com.cloud.utils.StringUtils.applyPagination(supportedOfferings, cmd.getStartIndex(), cmd.getPageSizeVal()); if (wPagination != null) { final Pair, Integer> listWPagination = new Pair, Integer>(wPagination, supportedOfferings.size()); return listWPagination; } return new Pair, Integer>(supportedOfferings, supportedOfferings.size()); } else { - final List wPagination = StringUtils.applyPagination(offerings, cmd.getStartIndex(), cmd.getPageSizeVal()); + final List wPagination = com.cloud.utils.StringUtils.applyPagination(offerings, cmd.getStartIndex(), cmd.getPageSizeVal()); if (wPagination != null) { final Pair, Integer> listWPagination = new Pair<>(wPagination, offerings.size()); return listWPagination; diff --git a/server/src/main/java/com/cloud/deploy/DeploymentPlanningManagerImpl.java b/server/src/main/java/com/cloud/deploy/DeploymentPlanningManagerImpl.java index 5a42f6e321c..436828f6293 100644 --- a/server/src/main/java/com/cloud/deploy/DeploymentPlanningManagerImpl.java +++ b/server/src/main/java/com/cloud/deploy/DeploymentPlanningManagerImpl.java @@ -36,7 +36,6 @@ import com.cloud.storage.VMTemplateVO; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.user.AccountVO; import com.cloud.user.dao.AccountDao; -import com.cloud.utils.StringUtils; import com.cloud.exception.StorageUnavailableException; import com.cloud.utils.db.Filter; import com.cloud.utils.fsm.StateMachine2; @@ -45,6 +44,7 @@ import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.cloudstack.affinity.AffinityGroupProcessor; import org.apache.cloudstack.affinity.AffinityGroupService; diff --git a/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java b/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java index e26b80121bb..b69a6d498b7 100644 --- a/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java +++ b/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java @@ -22,7 +22,6 @@ import com.cloud.host.dao.HostDao; import com.cloud.offering.ServiceOffering; import com.cloud.service.ServiceOfferingDetailsVO; import com.cloud.service.dao.ServiceOfferingDetailsDao; -import com.cloud.utils.StringUtils; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.UserVmDetailVO; import com.cloud.vm.VMInstanceVO; @@ -31,6 +30,7 @@ import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import javax.inject.Inject; diff --git a/server/src/main/java/com/cloud/network/NetworkModelImpl.java b/server/src/main/java/com/cloud/network/NetworkModelImpl.java index 3e3c3e0a756..d4a93561e7b 100644 --- a/server/src/main/java/com/cloud/network/NetworkModelImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkModelImpl.java @@ -2218,7 +2218,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi @Override public void checkIp6Parameters(String startIPv6, String endIPv6, String ip6Gateway, String ip6Cidr) throws InvalidParameterValueException { - if (StringUtils.isBlank(ip6Gateway) || StringUtils.isBlank(ip6Cidr)) { + if (org.apache.commons.lang3.StringUtils.isAnyBlank(ip6Gateway, ip6Cidr)) { throw new InvalidParameterValueException("ip6Gateway and ip6Cidr should be defined for an IPv6 network work properly"); } @@ -2233,7 +2233,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi throw new InvalidParameterValueException("ip6Gateway is not in ip6cidr indicated network!"); } - if (StringUtils.isNotBlank(startIPv6)) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(startIPv6)) { if (!NetUtils.isValidIp6(startIPv6)) { throw new InvalidParameterValueException("Invalid format for the startIPv6 parameter"); } @@ -2242,7 +2242,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi } } - if (StringUtils.isNotBlank(endIPv6)) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(endIPv6)) { if (!NetUtils.isValidIp6(endIPv6)) { throw new InvalidParameterValueException("Invalid format for the endIPv6 parameter"); } diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index 7a79cfa167d..979b98349f8 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -16,9 +16,6 @@ // under the License. package com.cloud.network; -import static org.apache.commons.lang.StringUtils.isBlank; -import static org.apache.commons.lang.StringUtils.isNotBlank; - import java.net.Inet6Address; import java.net.InetAddress; import java.net.URI; @@ -64,6 +61,7 @@ import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.PublishScope; import org.apache.cloudstack.network.element.InternalLoadBalancerElementService; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.api.ApiDBUtils; @@ -172,7 +170,6 @@ import com.cloud.user.dao.UserDao; import com.cloud.utils.Journal; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.DB; import com.cloud.utils.db.EntityManager; @@ -734,10 +731,10 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C String ip6addr = null; //Isolated network can exist in Basic zone only, so no need to verify the zone type if (network.getGuestType() == Network.GuestType.Isolated) { - if ((ipv4Address != null || NetUtils.isIpv4(network.getGateway()) && isBlank(ipv6Address))) { + if ((ipv4Address != null || NetUtils.isIpv4(network.getGateway()) && StringUtils.isBlank(ipv6Address))) { ipaddr = _ipAddrMgr.allocateGuestIP(network, ipv4Address); } - if (isNotBlank(ipv6Address)) { + if (StringUtils.isNotBlank(ipv6Address)) { ip6addr = ipv6AddrMgr.allocateGuestIpv6(network, ipv6Address); } } else if (network.getGuestType() == Network.GuestType.Shared) { @@ -771,7 +768,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C return null; } - if (isNotBlank(ipaddr) || isNotBlank(ip6addr)) { + if (!StringUtils.isAllBlank(ipaddr, ip6addr)) { // we got the ip addr so up the nics table and secodary ip final String ip4AddrFinal = ipaddr; final String ip6AddrFinal = ip6addr; @@ -1039,14 +1036,14 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C private void validateRouterIps(String routerIp, String routerIpv6, String startIp, String endIp, String gateway, String netmask, String startIpv6, String endIpv6, String ip6Cidr) { - if (isNotBlank(routerIp)) { + if (StringUtils.isNotBlank(routerIp)) { if (startIp != null && endIp == null) { endIp = startIp; } if (!NetUtils.isValidIp4(routerIp)) { throw new CloudRuntimeException("Router IPv4 IP provided is of incorrect format"); } - if (isNotBlank(startIp) && isNotBlank(endIp)) { + if (StringUtils.isNoneBlank(startIp, endIp)) { if (!NetUtils.isIpInRange(routerIp, startIp, endIp)) { throw new CloudRuntimeException("Router IPv4 IP provided is not within the specified range: " + startIp + " - " + endIp); } @@ -1057,14 +1054,14 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } } } - if (isNotBlank(routerIpv6)) { + if (StringUtils.isNotBlank(routerIpv6)) { if (startIpv6 != null && endIpv6 == null) { endIpv6 = startIpv6; } if (!NetUtils.isValidIp6(routerIpv6)) { throw new CloudRuntimeException("Router IPv6 address provided is of incorrect format"); } - if (isNotBlank(startIpv6) && isNotBlank(endIpv6)) { + if (StringUtils.isNoneBlank(startIpv6, endIpv6)) { String ipv6Range = startIpv6 + "-" + endIpv6; if (!NetUtils.isIp6InRange(routerIpv6, ipv6Range)) { throw new CloudRuntimeException("Router IPv6 address provided is not within the specified range: " + startIpv6 + " - " + endIpv6); @@ -1202,12 +1199,12 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C throw new InvalidParameterValueException("Only Admins can create network with guest type " + GuestType.Shared); } - if (ntwkOff.getGuestType() != GuestType.Shared && (isNotBlank(routerIp) || isNotBlank(routerIpv6))) { + if (ntwkOff.getGuestType() != GuestType.Shared && (!StringUtils.isAllBlank(routerIp, routerIpv6))) { throw new InvalidParameterValueException("Router IP can be specified only for Shared networks"); } if (ntwkOff.getGuestType() == GuestType.Shared && !_networkModel.isProviderForNetworkOffering(Provider.VirtualRouter, networkOfferingId) - && (isNotBlank(routerIp) || isNotBlank(routerIpv6))) { + && (!StringUtils.isAllBlank(routerIp, routerIpv6))) { throw new InvalidParameterValueException("Virtual Router is not a supported provider for the Shared network, hence router ip should not be provided"); } @@ -1256,7 +1253,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C if (startIP != null) { ipv4 = true; } - if (isNotBlank(ip6Cidr) && isNotBlank(ip6Gateway)) { + if (StringUtils.isNoneBlank(ip6Cidr, ip6Gateway)) { ipv6 = true; } @@ -1335,18 +1332,18 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C throw new InvalidParameterValueException("Can only support create IPv6 network with advance shared network!"); } - if(isBlank(zone.getIp6Dns1()) && isBlank(zone.getIp6Dns2())) { + if(StringUtils.isAllBlank(zone.getIp6Dns1(), zone.getIp6Dns2())) { throw new InvalidParameterValueException("Can only create IPv6 network if the zone has IPv6 DNS! Please configure the zone IPv6 DNS1 and/or IPv6 DNS2."); } } validateRouterIps(routerIp, routerIpv6, startIP, endIP, gateway, netmask, startIPv6, endIPv6, ip6Cidr); - if (isNotBlank(isolatedPvlan) && (zone.getNetworkType() != NetworkType.Advanced || ntwkOff.getGuestType() == GuestType.Isolated)) { + if (StringUtils.isNotBlank(isolatedPvlan) && (zone.getNetworkType() != NetworkType.Advanced || ntwkOff.getGuestType() == GuestType.Isolated)) { throw new InvalidParameterValueException("Can only support create Private VLAN network with advanced shared or L2 network!"); } - if (isNotBlank(isolatedPvlan) && ipv6) { + if (StringUtils.isNotBlank(isolatedPvlan) && ipv6) { throw new InvalidParameterValueException("Can only support create Private VLAN network with IPv4!"); } @@ -1354,7 +1351,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C String secondaryVlanId = pvlanPair.first(); PVlanType privateVlanType = pvlanPair.second(); - if ((isNotBlank(secondaryVlanId) || privateVlanType != null) && isBlank(vlanId)) { + if ((StringUtils.isNotBlank(secondaryVlanId) || privateVlanType != null) && StringUtils.isBlank(vlanId)) { throw new InvalidParameterValueException("VLAN ID has to be set in order to configure a Private VLAN"); } @@ -1391,7 +1388,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C throw new InvalidParameterValueException("Cannot support IPv6 on network offering with external devices!"); } - if (isNotBlank(secondaryVlanId) && providersConfiguredForExternalNetworking(ntwkProviders)) { + if (StringUtils.isNotBlank(secondaryVlanId) && providersConfiguredForExternalNetworking(ntwkProviders)) { throw new InvalidParameterValueException("Cannot support private vlan on network offering with external devices!"); } @@ -1464,19 +1461,19 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C String secondaryVlanId = pvlanId; PVlanType type = null; - if (isNotBlank(pvlanTypeStr)) { + if (StringUtils.isNotBlank(pvlanTypeStr)) { PVlanType providedType = PVlanType.fromValue(pvlanTypeStr); type = providedType; - } else if (isNotBlank(vlanId) && isNotBlank(secondaryVlanId)) { + } else if (StringUtils.isNoneBlank(vlanId, secondaryVlanId)) { // Preserve the existing functionality type = vlanId.equals(secondaryVlanId) ? PVlanType.Promiscuous : PVlanType.Isolated; } - if (isBlank(secondaryVlanId) && type == PVlanType.Promiscuous) { + if (StringUtils.isBlank(secondaryVlanId) && type == PVlanType.Promiscuous) { secondaryVlanId = vlanId; } - if (isNotBlank(secondaryVlanId)) { + if (StringUtils.isNotBlank(secondaryVlanId)) { try { Integer.parseInt(secondaryVlanId); } catch (NumberFormatException e) { @@ -1491,11 +1488,11 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C * Basic checks for setting up private VLANs, considering the VLAN ID, secondary VLAN ID and private VLAN type */ protected void performBasicPrivateVlanChecks(String vlanId, String secondaryVlanId, PVlanType privateVlanType) { - if (isNotBlank(vlanId) && isBlank(secondaryVlanId) && privateVlanType != null && privateVlanType != PVlanType.Promiscuous) { + if (StringUtils.isNotBlank(vlanId) && StringUtils.isBlank(secondaryVlanId) && privateVlanType != null && privateVlanType != PVlanType.Promiscuous) { throw new InvalidParameterValueException("Private VLAN ID has not been set, therefore Promiscuous type is expected"); - } else if (isNotBlank(vlanId) && isNotBlank(secondaryVlanId) && !vlanId.equalsIgnoreCase(secondaryVlanId) && privateVlanType == PVlanType.Promiscuous) { + } else if (StringUtils.isNoneBlank(vlanId, secondaryVlanId) && !vlanId.equalsIgnoreCase(secondaryVlanId) && privateVlanType == PVlanType.Promiscuous) { throw new InvalidParameterValueException("Private VLAN type is set to Promiscuous, but VLAN ID and Secondary VLAN ID differ"); - } else if (isNotBlank(vlanId) && isNotBlank(secondaryVlanId) && privateVlanType != null && privateVlanType != PVlanType.Promiscuous && vlanId.equalsIgnoreCase(secondaryVlanId)) { + } else if (StringUtils.isNoneBlank(vlanId, secondaryVlanId) && privateVlanType != null && privateVlanType != PVlanType.Promiscuous && vlanId.equalsIgnoreCase(secondaryVlanId)) { throw new InvalidParameterValueException("Private VLAN type is set to " + privateVlanType + ", but VLAN ID and Secondary VLAN ID are equal"); } } @@ -1803,7 +1800,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } //Now apply pagination - List wPagination = StringUtils.applyPagination(networksToReturn, cmd.getStartIndex(), cmd.getPageSizeVal()); + List wPagination = com.cloud.utils.StringUtils.applyPagination(networksToReturn, cmd.getStartIndex(), cmd.getPageSizeVal()); if (wPagination != null) { Pair, Integer> listWPagination = new Pair, Integer>(wPagination, networksToReturn.size()); return listWPagination; @@ -2857,7 +2854,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C for (Network tier : migratedTiers) { String tierNetworkOfferingUuid = networkToOffering.get(tier.getUuid()); - if (!isNotBlank(tierNetworkOfferingUuid)) { + if (StringUtils.isBlank(tierNetworkOfferingUuid)) { throwInvalidIdException("Failed to resume migrating VPC as the specified tierNetworkOfferings is not complete", String.valueOf(tier.getUuid()), "networkUuid"); } @@ -3012,7 +3009,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C return false; } - if (!StringUtils.areTagsEqual(oldNetworkOffering.getTags(), newNetworkOffering.getTags())) { + if (!com.cloud.utils.StringUtils.areTagsEqual(oldNetworkOffering.getTags(), newNetworkOffering.getTags())) { s_logger.debug("Network offerings " + newNetworkOffering.getUuid() + " and " + oldNetworkOffering.getUuid() + " have different tags, can't upgrade"); return false; } diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 1ed4f43583d..39d4c5f55df 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -66,7 +66,7 @@ import org.apache.cloudstack.network.topology.NetworkTopology; import org.apache.cloudstack.network.topology.NetworkTopologyContext; import org.apache.cloudstack.utils.identity.ManagementServerNode; import org.apache.cloudstack.utils.usage.UsageUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.cloud.network.router.deployment.RouterDeploymentDefinitionBuilder; import org.springframework.beans.factory.annotation.Autowired; diff --git a/server/src/main/java/com/cloud/network/router/VpcNetworkHelperImpl.java b/server/src/main/java/com/cloud/network/router/VpcNetworkHelperImpl.java index 4e49bd0e0a3..8b89f205744 100644 --- a/server/src/main/java/com/cloud/network/router/VpcNetworkHelperImpl.java +++ b/server/src/main/java/com/cloud/network/router/VpcNetworkHelperImpl.java @@ -28,7 +28,7 @@ import java.util.TreeSet; import javax.annotation.PostConstruct; import javax.inject.Inject; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.cloud.network.router.deployment.RouterDeploymentDefinition; diff --git a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java index 5bb7767252a..9e5dd4e5353 100644 --- a/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -51,7 +51,7 @@ import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.managed.context.ManagedContextRunnable; import org.apache.cloudstack.utils.identity.ManagementServerNode; import org.apache.commons.codec.digest.DigestUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; diff --git a/server/src/main/java/com/cloud/network/vpc/NetworkACLServiceImpl.java b/server/src/main/java/com/cloud/network/vpc/NetworkACLServiceImpl.java index 00667aa40c2..53e113f9509 100644 --- a/server/src/main/java/com/cloud/network/vpc/NetworkACLServiceImpl.java +++ b/server/src/main/java/com/cloud/network/vpc/NetworkACLServiceImpl.java @@ -35,7 +35,7 @@ import org.apache.cloudstack.api.command.user.network.UpdateNetworkACLListCmd; import org.apache.cloudstack.context.CallContext; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -947,7 +947,7 @@ public class NetworkACLServiceImpl extends ManagerBase implements NetworkACLServ String nextAclRuleUuid = moveNetworkAclItemCmd.getNextAclRuleUuid(); String previousAclRuleUuid = moveNetworkAclItemCmd.getPreviousAclRuleUuid(); - if (StringUtils.isBlank(previousAclRuleUuid) && StringUtils.isBlank(nextAclRuleUuid)) { + if (StringUtils.isAllBlank(previousAclRuleUuid, nextAclRuleUuid)) { throw new InvalidParameterValueException("Both previous and next ACL rule IDs cannot be blank."); } diff --git a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java index e72922d514e..5752da2bf91 100644 --- a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java @@ -151,7 +151,6 @@ import com.cloud.vm.DomainRouterVO; import com.cloud.vm.ReservationContext; import com.cloud.vm.ReservationContextImpl; import com.cloud.vm.dao.DomainRouterDao; -import com.google.common.base.Strings; public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvisioningService, VpcService { private static final Logger s_logger = Logger.getLogger(VpcManagerImpl.class); @@ -713,7 +712,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis ListIterator it = offerings.listIterator(); while (it.hasNext()) { VpcOfferingJoinVO offering = it.next(); - if(!Strings.isNullOrEmpty(offering.getDomainId())) { + if(org.apache.commons.lang3.StringUtils.isNotEmpty(offering.getDomainId())) { boolean toRemove = true; String[] domainIdsArray = offering.getDomainId().split(","); for (String domainIdString : domainIdsArray) { diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 31455c0ca9b..66413f02246 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -59,6 +59,7 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.utils.identity.ManagementServerNode; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -165,7 +166,6 @@ import com.cloud.storage.dao.VMTemplateDao; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.UriUtils; import com.cloud.utils.component.Manager; import com.cloud.utils.component.ManagerBase; @@ -200,7 +200,6 @@ import com.cloud.vm.VirtualMachineProfileImpl; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; import com.google.gson.Gson; @Component @@ -542,8 +541,8 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, // save cluster details for later cluster/host cross-checking final Map details = new HashMap(); details.put("url", url); - details.put("username", org.apache.commons.lang3.StringUtils.defaultString(username)); - details.put("password", org.apache.commons.lang3.StringUtils.defaultString(password)); + details.put("username", StringUtils.defaultString(username)); + details.put("password", StringUtils.defaultString(password)); details.put("cpuOvercommitRatio", CapacityManager.CpuOverprovisioningFactor.value().toString()); details.put("memoryOvercommitRatio", CapacityManager.MemOverprovisioningFactor.value().toString()); _clusterDetailsDao.persist(cluster.getId(), details); @@ -697,7 +696,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, } List skipList = Arrays.asList(HypervisorType.VMware.name().toLowerCase(Locale.ROOT), Type.SecondaryStorage.name().toLowerCase(Locale.ROOT)); if (!skipList.contains(hypervisorType.toLowerCase(Locale.ROOT)) && - (Strings.isNullOrEmpty(username) || Strings.isNullOrEmpty(password))) { + (StringUtils.isAnyEmpty(username, password))) { throw new InvalidParameterValueException("Username and Password need to be provided."); } @@ -1090,7 +1089,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, // Verify cluster information and update the cluster if needed boolean doUpdate = false; - if (org.apache.commons.lang.StringUtils.isNotBlank(name)) { + if (StringUtils.isNotBlank(name)) { if(cluster.getHypervisorType() == HypervisorType.VMware) { throw new InvalidParameterValueException("Renaming VMware cluster is not supported as it could cause problems if the updated cluster name is not mapped on VCenter."); } @@ -1495,14 +1494,14 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, } protected boolean isMaintenanceLocalStrategyMigrate() { - if(org.apache.commons.lang3.StringUtils.isBlank(HOST_MAINTENANCE_LOCAL_STRATEGY.value())) { + if(StringUtils.isBlank(HOST_MAINTENANCE_LOCAL_STRATEGY.value())) { return false; } return HOST_MAINTENANCE_LOCAL_STRATEGY.value().toLowerCase().equals(WorkType.Migration.toString().toLowerCase()); } protected boolean isMaintenanceLocalStrategyForceStop() { - if(org.apache.commons.lang3.StringUtils.isBlank(HOST_MAINTENANCE_LOCAL_STRATEGY.value())) { + if(StringUtils.isBlank(HOST_MAINTENANCE_LOCAL_STRATEGY.value())) { return false; } return HOST_MAINTENANCE_LOCAL_STRATEGY.value().toLowerCase().equals(WorkType.ForceStop.toString().toLowerCase()); @@ -1512,7 +1511,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, * Returns true if the host.maintenance.local.storage.strategy is the Default: "Error", blank, empty, or null. */ protected boolean isMaintenanceLocalStrategyDefault() { - if (org.apache.commons.lang3.StringUtils.isBlank(HOST_MAINTENANCE_LOCAL_STRATEGY.value().toString()) + if (StringUtils.isBlank(HOST_MAINTENANCE_LOCAL_STRATEGY.value().toString()) || HOST_MAINTENANCE_LOCAL_STRATEGY.value().toLowerCase().equals(State.Error.toString().toLowerCase())) { return true; } @@ -1776,7 +1775,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, resourceStateTransitTo(host, resourceEvent, _nodeId); } - if (org.apache.commons.lang.StringUtils.isNotBlank(name)) { + if (StringUtils.isNotBlank(name)) { s_logger.debug("Updating Host name to: " + name); host.setName(name); _hostDao.update(host.getId(), host); @@ -3169,7 +3168,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, if (hostTags == null) { return null; } else { - return StringUtils.listToCsvTags(hostTags); + return com.cloud.utils.StringUtils.listToCsvTags(hostTags); } } diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java index c00ed1d9a6e..33c0c2197df 100644 --- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java @@ -46,7 +46,7 @@ import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.config.impl.ConfigurationVO; import org.apache.commons.codec.binary.Base64; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.configuration.Config; diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index ce09ed0729d..c14f88c5a73 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -50,7 +50,7 @@ import org.apache.cloudstack.utils.graphite.GraphiteException; import org.apache.cloudstack.utils.usage.UsageUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.log4j.Logger; import org.influxdb.BatchOptions; @@ -366,12 +366,12 @@ public class StatsCollector extends ManagerBase implements ComponentMethodInterc databaseName = configureDatabaseName(uri); - if (!StringUtils.isEmpty(uri.getPath())) { + if (StringUtils.isNotEmpty(uri.getPath())) { externalStatsPrefix = uri.getPath().substring(1); } /* Append a dot (.) to the prefix if it is set */ - if (!StringUtils.isEmpty(externalStatsPrefix)) { + if (StringUtils.isNotEmpty(externalStatsPrefix)) { externalStatsPrefix += "."; } else { externalStatsPrefix = ""; diff --git a/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java b/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java index b755a84887d..2350be80be0 100644 --- a/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java +++ b/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java @@ -43,9 +43,9 @@ import com.cloud.agent.api.GetVmVncTicketAnswer; import com.cloud.agent.api.GetVmVncTicketCommand; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.OperationTimedoutException; -import com.cloud.utils.StringUtils; import org.apache.cloudstack.framework.security.keys.KeysManager; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.springframework.web.context.support.SpringBeanAutowiringSupport; diff --git a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java index c340da29f40..4b6a55d8176 100644 --- a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java @@ -117,6 +117,7 @@ import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; import org.apache.cloudstack.storage.to.VolumeObjectTO; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -206,7 +207,6 @@ import com.cloud.user.dao.UserDao; import com.cloud.utils.DateUtil; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.UriUtils; import com.cloud.utils.component.ComponentContext; import com.cloud.utils.component.ManagerBase; @@ -613,7 +613,7 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C @Override public String getStoragePoolTags(long poolId) { - return StringUtils.listToCsvTags(getStoragePoolTagList(poolId)); + return com.cloud.utils.StringUtils.listToCsvTags(getStoragePoolTagList(poolId)); } @Override @@ -725,7 +725,7 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C * The name will follow the pattern: -local- */ protected String createLocalStoragePoolName(Host host, StoragePoolInfo storagePoolInformation) { - return String.format("%s-%s-%s", org.apache.commons.lang3.StringUtils.trim(host.getName()), "local", storagePoolInformation.getUuid().split("-")[0]); + return String.format("%s-%s-%s", StringUtils.trim(host.getName()), "local", storagePoolInformation.getUuid().split("-")[0]); } @Override @@ -889,7 +889,7 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C } String name = cmd.getName(); - if(org.apache.commons.lang.StringUtils.isNotBlank(name)) { + if(StringUtils.isNotBlank(name)) { s_logger.debug("Updating Storage Pool name to: " + name); pool.setName(name); _storagePoolDao.update(pool.getId(), pool); @@ -1889,7 +1889,7 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C dataStoreVO.setParent(datastoreClusterPool.getId()); Map details = new HashMap<>(); - if(org.apache.commons.lang.StringUtils.isNotEmpty(childDataStoreAnswer.getPoolType())) { + if(StringUtils.isNotEmpty(childDataStoreAnswer.getPoolType())) { details.put("pool_type", childDataStoreAnswer.getPoolType()); } _storagePoolDao.persist(dataStoreVO, details, storageTags); @@ -2443,7 +2443,7 @@ public class StorageManagerImpl extends ManagerBase implements StorageManager, C } else { storagePolicyId = _diskOfferingDetailsDao.getDetail(volume.getDiskOfferingId(), ApiConstants.STORAGE_POLICY); } - if (org.apache.commons.lang.StringUtils.isNotEmpty(storagePolicyId)) { + if (StringUtils.isNotEmpty(storagePolicyId)) { VsphereStoragePolicyVO storagePolicyVO = _vsphereStoragePolicyDao.findById(Long.parseLong(storagePolicyId)); List hostIds = getUpHostsInPool(pool.getId()); Collections.shuffle(hostIds); diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index d092ad11135..345e83f5c10 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -155,7 +155,6 @@ import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.Predicate; import com.cloud.utils.ReflectionUse; -import com.cloud.utils.StringUtils; import com.cloud.utils.UriUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.DB; @@ -194,7 +193,7 @@ import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonParseException; @@ -556,7 +555,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic public String getVolumeNameFromCommand(CreateVolumeCmd cmd) { String userSpecifiedName = cmd.getVolumeName(); - if (org.apache.commons.lang.StringUtils.isBlank(userSpecifiedName)) { + if (StringUtils.isBlank(userSpecifiedName)) { userSpecifiedName = getRandomVolumeName(); } @@ -1030,7 +1029,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic } if (diskOffering.getTags() != null) { - if (!StringUtils.areTagsEqual(diskOffering.getTags(), newDiskOffering.getTags())) { + if (!com.cloud.utils.StringUtils.areTagsEqual(diskOffering.getTags(), newDiskOffering.getTags())) { throw new InvalidParameterValueException("The tags on the new and old disk offerings must match."); } } else if (newDiskOffering.getTags() != null) { @@ -2245,7 +2244,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic } public void updateMissingRootDiskController(final VMInstanceVO vm, final String rootVolChainInfo) { - if (vm == null || !VirtualMachine.Type.User.equals(vm.getType()) || Strings.isNullOrEmpty(rootVolChainInfo)) { + if (vm == null || !VirtualMachine.Type.User.equals(vm.getType()) || StringUtils.isEmpty(rootVolChainInfo)) { return; } String rootDiskController = null; @@ -2519,7 +2518,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic */ private DiskOfferingVO retrieveAndValidateNewDiskOffering(MigrateVolumeCmd cmd) { String newDiskOfferingUuid = cmd.getNewDiskOfferingUuid(); - if (org.apache.commons.lang.StringUtils.isBlank(newDiskOfferingUuid)) { + if (StringUtils.isBlank(newDiskOfferingUuid)) { return null; } DiskOfferingVO newDiskOffering = _diskOfferingDao.findByUuid(newDiskOfferingUuid); @@ -2609,15 +2608,15 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic @Override public boolean doesTargetStorageSupportDiskOffering(StoragePool destPool, String diskOfferingTags) { - if (org.apache.commons.lang.StringUtils.isBlank(diskOfferingTags)) { + if (StringUtils.isBlank(diskOfferingTags)) { return true; } String storagePoolTags = getStoragePoolTags(destPool); - if (org.apache.commons.lang.StringUtils.isBlank(storagePoolTags)) { + if (StringUtils.isBlank(storagePoolTags)) { return false; } - String[] storageTagsAsStringArray = org.apache.commons.lang.StringUtils.split(storagePoolTags, ","); - String[] newDiskOfferingTagsAsStringArray = org.apache.commons.lang.StringUtils.split(diskOfferingTags, ","); + String[] storageTagsAsStringArray = StringUtils.split(storagePoolTags, ","); + String[] newDiskOfferingTagsAsStringArray = StringUtils.split(diskOfferingTags, ","); return CollectionUtils.isSubCollection(Arrays.asList(newDiskOfferingTagsAsStringArray), Arrays.asList(storageTagsAsStringArray)); } @@ -3450,7 +3449,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic if (host != null) { _hostDao.loadDetails(host); String hypervisorVersion = host.getDetail("product_version"); - if (org.apache.commons.lang.StringUtils.isBlank(hypervisorVersion)) { + if (StringUtils.isBlank(hypervisorVersion)) { hypervisorVersion = host.getHypervisorVersion(); } maxDataVolumesSupported = _hypervisorCapabilitiesDao.getMaxDataVolumesLimit(host.getHypervisorType(), hypervisorVersion); diff --git a/server/src/main/java/com/cloud/tags/ResourceManagerUtilImpl.java b/server/src/main/java/com/cloud/tags/ResourceManagerUtilImpl.java index e088b26ad96..bd324787ac2 100644 --- a/server/src/main/java/com/cloud/tags/ResourceManagerUtilImpl.java +++ b/server/src/main/java/com/cloud/tags/ResourceManagerUtilImpl.java @@ -66,7 +66,7 @@ import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; import java.util.HashMap; diff --git a/server/src/main/java/com/cloud/test/TestAppender.java b/server/src/main/java/com/cloud/test/TestAppender.java index 539cac1ee7b..52ddec26720 100644 --- a/server/src/main/java/com/cloud/test/TestAppender.java +++ b/server/src/main/java/com/cloud/test/TestAppender.java @@ -21,6 +21,8 @@ package com.cloud.test; import com.google.common.base.Joiner; import com.google.common.base.Objects; import com.google.common.collect.ImmutableMap; + +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -37,7 +39,6 @@ import java.util.regex.Pattern; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; -import static com.google.common.base.Strings.isNullOrEmpty; import static java.lang.String.format; import static org.apache.log4j.Level.ALL; import static org.apache.log4j.Level.DEBUG; @@ -154,7 +155,7 @@ public final class TestAppender extends AppenderSkeleton { } public TestAppenderBuilder addExpectedPattern(final Level level, final String pattern) { checkArgument(level != null, "addExpectedPattern requires a non-null level"); - checkArgument(!isNullOrEmpty(pattern), "addExpectedPattern requires a non-blank pattern"); + checkArgument(StringUtils.isNotEmpty(pattern), "addExpectedPattern requires a non-blank pattern"); checkState(expectedPatterns.containsKey(level), "level " + level + " is not supported by " + getClass().getName()); expectedPatterns.get(level).add(new PatternResult(Pattern.compile(pattern))); return this; diff --git a/server/src/main/java/com/cloud/user/DomainManagerImpl.java b/server/src/main/java/com/cloud/user/DomainManagerImpl.java index f6569a0c469..8624d277c6e 100644 --- a/server/src/main/java/com/cloud/user/DomainManagerImpl.java +++ b/server/src/main/java/com/cloud/user/DomainManagerImpl.java @@ -85,7 +85,7 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; import com.cloud.vm.ReservationContext; import com.cloud.vm.ReservationContextImpl; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; @Component public class DomainManagerImpl extends ManagerBase implements DomainManager, DomainService { @@ -257,7 +257,7 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom public Domain findDomainByIdOrPath(final Long id, final String domainPath) { Long domainId = id; if (domainId == null || domainId < 1L) { - if (Strings.isNullOrEmpty(domainPath) || domainPath.trim().isEmpty()) { + if (StringUtils.isBlank(domainPath)) { domainId = Domain.ROOT_DOMAIN; } else { final Domain domainVO = findDomainByPath(domainPath.trim()); diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index d7c90b305c8..da6b55be32f 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -7648,7 +7648,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir @Override public void persistDeviceBusInfo(UserVmVO vm, String rootDiskController) { String existingVmRootDiskController = vm.getDetail(VmDetailConstants.ROOT_DISK_CONTROLLER); - if (StringUtils.isEmpty(existingVmRootDiskController) && !StringUtils.isEmpty(rootDiskController)) { + if (StringUtils.isEmpty(existingVmRootDiskController) && StringUtils.isNotEmpty(rootDiskController)) { vm.setDetail(VmDetailConstants.ROOT_DISK_CONTROLLER, rootDiskController); _vmDao.saveDetails(vm); if (s_logger.isDebugEnabled()) { diff --git a/server/src/main/java/org/apache/cloudstack/acl/ProjectRoleManagerImpl.java b/server/src/main/java/org/apache/cloudstack/acl/ProjectRoleManagerImpl.java index 90d8e1ecec2..6daae8d6383 100644 --- a/server/src/main/java/org/apache/cloudstack/acl/ProjectRoleManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/acl/ProjectRoleManagerImpl.java @@ -56,7 +56,6 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; public class ProjectRoleManagerImpl extends ManagerBase implements ProjectRoleService, PluggableService { @Inject @@ -130,10 +129,10 @@ public class ProjectRoleManagerImpl extends ManagerBase implements ProjectRoleSe public ProjectRole updateProjectRole(ProjectRole role, Long projectId, String name, String description) { checkAccess(projectId); ProjectRoleVO projectRoleVO = (ProjectRoleVO) role; - if (!Strings.isNullOrEmpty(name)) { + if (StringUtils.isNotEmpty(name)) { projectRoleVO.setName(name); } - if (!Strings.isNullOrEmpty(description)) { + if (StringUtils.isNotEmpty(description)) { projectRoleVO.setDescription(description); } projRoleDao.update(role.getId(), projectRoleVO); diff --git a/server/src/main/java/org/apache/cloudstack/acl/RoleManagerImpl.java b/server/src/main/java/org/apache/cloudstack/acl/RoleManagerImpl.java index dce518c135e..dff79b13599 100644 --- a/server/src/main/java/org/apache/cloudstack/acl/RoleManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/acl/RoleManagerImpl.java @@ -61,7 +61,6 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; public class RoleManagerImpl extends ManagerBase implements RoleService, Configurable, PluggableService { @@ -132,7 +131,7 @@ public class RoleManagerImpl extends ManagerBase implements RoleService, Configu @Override public RolePermission findRolePermissionByRoleIdAndRule(final Long roleId, final String rule) { - if (roleId == null || Strings.isNullOrEmpty(rule)) { + if (roleId == null || StringUtils.isEmpty(rule)) { return null; } @@ -182,7 +181,7 @@ public class RoleManagerImpl extends ManagerBase implements RoleService, Configu @ActionEvent(eventType = EventTypes.EVENT_ROLE_IMPORT, eventDescription = "importing Role") public Role importRole(String name, RoleType type, String description, List> rules, boolean forced) { checkCallerAccess(); - if (Strings.isNullOrEmpty(name)) { + if (StringUtils.isEmpty(name)) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Invalid role name provided"); } if (type == null || type == RoleType.Unknown) { @@ -252,7 +251,7 @@ public class RoleManagerImpl extends ManagerBase implements RoleService, Configu throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unknown is not a valid role type"); } RoleVO roleVO = (RoleVO)role; - if (!Strings.isNullOrEmpty(name)) { + if (StringUtils.isNotEmpty(name)) { roleVO.setName(name); } if (roleType != null) { @@ -263,7 +262,7 @@ public class RoleManagerImpl extends ManagerBase implements RoleService, Configu throw new PermissionDeniedException("Found accounts that have role in use, won't allow to change role type"); } } - if (!Strings.isNullOrEmpty(description)) { + if (StringUtils.isNotEmpty(description)) { roleVO.setDescription(description); } @@ -440,7 +439,7 @@ public class RoleManagerImpl extends ManagerBase implements RoleService, Configu @Override public Permission getRolePermission(String permission) { - if (Strings.isNullOrEmpty(permission)) { + if (StringUtils.isEmpty(permission)) { return null; } if (!permission.equalsIgnoreCase(RolePermission.Permission.ALLOW.toString()) && diff --git a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java index 003664cc5e7..b93f2b340d9 100644 --- a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java @@ -45,7 +45,7 @@ import com.cloud.hypervisor.Hypervisor; import com.cloud.resource.ResourceState; import com.cloud.utils.component.ComponentLifecycleBase; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class IndirectAgentLBServiceImpl extends ComponentLifecycleBase implements IndirectAgentLB, Configurable { public static final Logger LOG = Logger.getLogger(IndirectAgentLBServiceImpl.class); @@ -74,7 +74,7 @@ public class IndirectAgentLBServiceImpl extends ComponentLifecycleBase implement @Override public List getManagementServerList(final Long hostId, final Long dcId, final List orderedHostIdList) { final String msServerAddresses = ApiServiceConfiguration.ManagementServerAddresses.value(); - if (Strings.isNullOrEmpty(msServerAddresses)) { + if (StringUtils.isEmpty(msServerAddresses)) { throw new CloudRuntimeException(String.format("No management server addresses are defined in '%s' setting", ApiServiceConfiguration.ManagementServerAddresses.key())); } diff --git a/server/src/main/java/org/apache/cloudstack/annotation/AnnotationManagerImpl.java b/server/src/main/java/org/apache/cloudstack/annotation/AnnotationManagerImpl.java index c151b5cd37e..e28f2f76621 100644 --- a/server/src/main/java/org/apache/cloudstack/annotation/AnnotationManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/annotation/AnnotationManagerImpl.java @@ -60,7 +60,6 @@ import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.SSHKeyPairDao; import com.cloud.user.dao.UserDao; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.component.PluggableService; import com.cloud.utils.exception.CloudRuntimeException; @@ -86,11 +85,9 @@ import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; -import static org.apache.commons.lang.StringUtils.isBlank; -import static org.apache.commons.lang.StringUtils.isNotBlank; - /** * @since 4.11 */ @@ -296,7 +293,7 @@ public final class AnnotationManagerImpl extends ManagerBase implements Annotati String userUuid = cmd.getUserUuid(); String entityUuid = cmd.getEntityUuid(); String entityType = cmd.getEntityType(); - String annotationFilter = isNotBlank(cmd.getAnnotationFilter()) ? cmd.getAnnotationFilter() : "all"; + String annotationFilter = StringUtils.isNotBlank(cmd.getAnnotationFilter()) ? cmd.getAnnotationFilter() : "all"; boolean isCallerAdmin = isCallingUserRole(RoleType.Admin); UserVO callingUser = getCallingUserFromContext(); String callingUserUuid = callingUser.getUuid(); @@ -304,16 +301,16 @@ public final class AnnotationManagerImpl extends ManagerBase implements Annotati if (cmd.getUuid() != null) { annotations = getSingleAnnotationListByUuid(cmd.getUuid(), userUuid, annotationFilter, callingUserUuid, isCallerAdmin); - } else if (isNotBlank(entityType)) { + } else if (StringUtils.isNotBlank(entityType)) { annotations = getAnnotationsForSpecificEntityType(entityType, entityUuid, userUuid, isCallerAdmin, annotationFilter, callingUserUuid, keyword, callingUser); - } else if (isNotBlank(entityUuid)) { + } else if (StringUtils.isNotBlank(entityUuid)) { annotations = getAnnotationsForSpecificEntityId(entityUuid, userUuid, isCallerAdmin, annotationFilter, callingUserUuid, keyword, callingUser); } else { annotations = getAllAnnotations(annotationFilter, userUuid, callingUserUuid, isCallerAdmin, keyword); } - List paginated = StringUtils.applyPagination(annotations, cmd.getStartIndex(), cmd.getPageSizeVal()); + List paginated = com.cloud.utils.StringUtils.applyPagination(annotations, cmd.getStartIndex(), cmd.getPageSizeVal()); return (paginated != null) ? new Pair<>(paginated, annotations.size()) : new Pair<>(annotations, annotations.size()); } @@ -323,7 +320,7 @@ public final class AnnotationManagerImpl extends ManagerBase implements Annotati if(LOGGER.isDebugEnabled()) { LOGGER.debug("getting all annotations"); } - if ("self".equalsIgnoreCase(annotationFilter) && isBlank(userUuid)) { + if ("self".equalsIgnoreCase(annotationFilter) && StringUtils.isBlank(userUuid)) { userUuid = callingUserUuid; } List annotations = annotationDao.listAllAnnotations(userUuid, getCallingUserRole(), @@ -359,10 +356,10 @@ public final class AnnotationManagerImpl extends ManagerBase implements Annotati if (LOGGER.isDebugEnabled()) { LOGGER.debug("getting annotations for type: " + entityType); } - if ("self".equalsIgnoreCase(annotationFilter) && isBlank(userUuid)) { + if ("self".equalsIgnoreCase(annotationFilter) && StringUtils.isBlank(userUuid)) { userUuid = callingUserUuid; } - if (isNotBlank(entityUuid)) { + if (StringUtils.isNotBlank(entityUuid)) { return getAnnotationsByEntityIdAndType(entityType, entityUuid, userUuid, isCallerAdmin, annotationFilter, callingUserUuid, keyword, callingUser); } else { diff --git a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java index 0ef2ada2800..ed1f54e2565 100644 --- a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java @@ -110,7 +110,7 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.gson.Gson; public class BackupManagerImpl extends ManagerBase implements BackupManager { @@ -586,7 +586,7 @@ public class BackupManagerImpl extends ManagerBase implements BackupManager { @Override @ActionEvent(eventType = EventTypes.EVENT_VM_BACKUP_RESTORE, eventDescription = "restoring VM from backup", async = true) public boolean restoreBackupVolumeAndAttachToVM(final String backedUpVolumeUuid, final Long backupId, final Long vmId) throws Exception { - if (Strings.isNullOrEmpty(backedUpVolumeUuid)) { + if (StringUtils.isEmpty(backedUpVolumeUuid)) { throw new CloudRuntimeException("Invalid volume ID passed"); } final BackupVO backup = backupDao.findById(backupId); @@ -747,7 +747,7 @@ public class BackupManagerImpl extends ManagerBase implements BackupManager { } public BackupProvider getBackupProvider(final String name) { - if (Strings.isNullOrEmpty(name)) { + if (StringUtils.isEmpty(name)) { throw new CloudRuntimeException("Invalid backup provider name provided"); } if (!backupProvidersMap.containsKey(name)) { diff --git a/server/src/main/java/org/apache/cloudstack/ca/CAManagerImpl.java b/server/src/main/java/org/apache/cloudstack/ca/CAManagerImpl.java index 04877359cf1..1e5d8127053 100644 --- a/server/src/main/java/org/apache/cloudstack/ca/CAManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/ca/CAManagerImpl.java @@ -72,7 +72,7 @@ import com.cloud.host.Status; import com.cloud.host.dao.HostDao; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.exception.CloudRuntimeException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class CAManagerImpl extends ManagerBase implements CAManager { public static final Logger LOG = Logger.getLogger(CAManagerImpl.class); @@ -107,7 +107,7 @@ public class CAManagerImpl extends ManagerBase implements CAManager { } private CAProvider getCAProvider(final String provider) { - if (Strings.isNullOrEmpty(provider)) { + if (StringUtils.isEmpty(provider)) { return getConfiguredCaProvider(); } final String caProviderName = provider.toLowerCase(); @@ -155,7 +155,7 @@ public class CAManagerImpl extends ManagerBase implements CAManager { if (validityDuration != null) { validity = validityDuration; } - if (Strings.isNullOrEmpty(csr)) { + if (StringUtils.isEmpty(csr)) { if (domainNames == null || domainNames.isEmpty()) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "No domains or CSR provided"); } @@ -187,7 +187,7 @@ public class CAManagerImpl extends ManagerBase implements CAManager { final String csr; try { csr = generateKeyStoreAndCsr(host, null); - if (Strings.isNullOrEmpty(csr)) { + if (StringUtils.isEmpty(csr)) { return false; } final Certificate certificate = issueCertificate(csr, Arrays.asList(host.getName(), host.getPrivateIpAddress()), Arrays.asList(host.getPrivateIpAddress(), host.getPublicIpAddress(), host.getStorageIpAddress()), CAManager.CertValidityPeriod.value(), caProvider); @@ -247,10 +247,10 @@ public class CAManagerImpl extends ManagerBase implements CAManager { final String privateAddress = host.getPrivateIpAddress(); final String publicAddress = host.getPublicIpAddress(); final Map activeCertsMap = getActiveCertificatesMap(); - if (!Strings.isNullOrEmpty(privateAddress) && activeCertsMap.containsKey(privateAddress)) { + if (StringUtils.isNotEmpty(privateAddress) && activeCertsMap.containsKey(privateAddress)) { activeCertsMap.remove(privateAddress); } - if (!Strings.isNullOrEmpty(publicAddress) && activeCertsMap.containsKey(publicAddress)) { + if (StringUtils.isNotEmpty(publicAddress) && activeCertsMap.containsKey(publicAddress)) { activeCertsMap.remove(publicAddress); } } @@ -268,7 +268,7 @@ public class CAManagerImpl extends ManagerBase implements CAManager { if (sslContext == null) { throw new CloudRuntimeException("SSLContext provided to create SSLEngine is null, aborting"); } - if (Strings.isNullOrEmpty(remoteAddress)) { + if (StringUtils.isEmpty(remoteAddress)) { throw new CloudRuntimeException("Remote client address connecting to mgmt server cannot be empty/null"); } return getConfiguredCaProvider().createSSLEngine(sslContext, remoteAddress, getActiveCertificatesMap()); diff --git a/server/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsServiceImpl.java b/server/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsServiceImpl.java index de370b3ae2b..01e7c56d7ea 100644 --- a/server/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/diagnostics/DiagnosticsServiceImpl.java @@ -74,7 +74,6 @@ import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Strings; public class DiagnosticsServiceImpl extends ManagerBase implements PluggableService, DiagnosticsService, Configurable { private static final Logger LOGGER = Logger.getLogger(DiagnosticsServiceImpl.class); @@ -141,7 +140,7 @@ public class DiagnosticsServiceImpl extends ManagerBase implements PluggableServ final String shellCmd = prepareShellCmd(cmdType, ipAddress, optionalArguments); - if (Strings.isNullOrEmpty(shellCmd)) { + if (StringUtils.isEmpty(shellCmd)) { throw new IllegalArgumentException("Optional parameters contain unwanted characters: " + optionalArguments); } @@ -150,7 +149,7 @@ public class DiagnosticsServiceImpl extends ManagerBase implements PluggableServ final DiagnosticsCommand command = new DiagnosticsCommand(shellCmd, vmManager.getExecuteInSequence(hypervisorType)); final Map accessDetails = networkManager.getSystemVMAccessDetails(vmInstance); - if (Strings.isNullOrEmpty(accessDetails.get(NetworkElementCommand.ROUTER_IP))) { + if (StringUtils.isEmpty(accessDetails.get(NetworkElementCommand.ROUTER_IP))) { throw new CloudRuntimeException("Unable to set system vm ControlIP for system vm with ID: " + vmId); } @@ -169,7 +168,7 @@ public class DiagnosticsServiceImpl extends ManagerBase implements PluggableServ } protected boolean hasValidChars(String optionalArgs) { - if (Strings.isNullOrEmpty(optionalArgs)) { + if (StringUtils.isEmpty(optionalArgs)) { return true; } else { final String regex = "^[\\w\\-\\s.]+$"; @@ -180,7 +179,7 @@ public class DiagnosticsServiceImpl extends ManagerBase implements PluggableServ protected String prepareShellCmd(String cmdType, String ipAddress, String optionalParams) { final String CMD_TEMPLATE = String.format("%s %s", cmdType, ipAddress); - if (Strings.isNullOrEmpty(optionalParams)) { + if (StringUtils.isEmpty(optionalParams)) { return CMD_TEMPLATE; } else { if (hasValidChars(optionalParams)) { diff --git a/server/src/main/java/org/apache/cloudstack/ha/HAManagerImpl.java b/server/src/main/java/org/apache/cloudstack/ha/HAManagerImpl.java index 947e45203d4..5ee837b71c2 100644 --- a/server/src/main/java/org/apache/cloudstack/ha/HAManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/ha/HAManagerImpl.java @@ -86,7 +86,7 @@ import com.cloud.utils.fsm.NoTransitionException; import com.cloud.utils.fsm.StateListener; import com.cloud.utils.fsm.StateMachine2; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public final class HAManagerImpl extends ManagerBase implements HAManager, ClusterManagerListener, PluggableService, Configurable, StateListener { public static final Logger LOG = Logger.getLogger(HAManagerImpl.class); @@ -244,7 +244,7 @@ public final class HAManagerImpl extends ManagerBase implements HAManager, Clust return true; } final DataCenterDetailVO zoneDetails = dataCenterDetailsDao.findDetail(resource.getDataCenterId(), HA_ENABLED_DETAIL); - return zoneDetails == null || Strings.isNullOrEmpty(zoneDetails.getValue()) || Boolean.valueOf(zoneDetails.getValue()); + return zoneDetails == null || StringUtils.isEmpty(zoneDetails.getValue()) || Boolean.valueOf(zoneDetails.getValue()); } private boolean isHAEnabledForCluster(final HAResource resource) { @@ -252,7 +252,7 @@ public final class HAManagerImpl extends ManagerBase implements HAManager, Clust return true; } final ClusterDetailsVO clusterDetails = clusterDetailsDao.findDetail(resource.getClusterId(), HA_ENABLED_DETAIL); - return clusterDetails == null || Strings.isNullOrEmpty(clusterDetails.getValue()) || Boolean.valueOf(clusterDetails.getValue()); + return clusterDetails == null || StringUtils.isEmpty(clusterDetails.getValue()) || Boolean.valueOf(clusterDetails.getValue()); } private boolean isHAEligibleForResource(final HAResource resource) { @@ -352,7 +352,7 @@ public final class HAManagerImpl extends ManagerBase implements HAManager, Clust } haConfig.setResourceId(resourceId); haConfig.setResourceType(resourceType); - if (Strings.isNullOrEmpty(haConfig.getHaProvider())) { + if (StringUtils.isEmpty(haConfig.getHaProvider())) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, String.format("HAProvider is not provided for the resource [%s], failing configuration.", resourceId)); } if (haConfigDao.persist(haConfig) != null) { @@ -365,7 +365,7 @@ public final class HAManagerImpl extends ManagerBase implements HAManager, Clust if (haProvider != null) { haConfig.setHaProvider(haProvider); } - if (Strings.isNullOrEmpty(haConfig.getHaProvider())) { + if (StringUtils.isEmpty(haConfig.getHaProvider())) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, String.format("HAProvider is not provided for the resource [%s], failing configuration.", resourceId)); } return haConfigDao.update(haConfig.getId(), haConfig); @@ -380,7 +380,7 @@ public final class HAManagerImpl extends ManagerBase implements HAManager, Clust public boolean configureHA(final Long resourceId, final HAResource.ResourceType resourceType, final String haProvider) { Preconditions.checkArgument(resourceId != null && resourceId > 0L); Preconditions.checkArgument(resourceType != null); - Preconditions.checkArgument(!Strings.isNullOrEmpty(haProvider)); + Preconditions.checkArgument(StringUtils.isNotEmpty(haProvider)); if (!haProviderMap.containsKey(haProvider.toLowerCase())) { throw new CloudRuntimeException(String.format("Given HA provider [%s] does not exist.", haProvider)); diff --git a/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java b/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java index 00ea94a4444..e477239f6e6 100644 --- a/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java @@ -88,7 +88,7 @@ import com.cloud.utils.db.EntityManager; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.security.CertificateHelper; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class CertServiceImpl implements CertService { @@ -134,7 +134,7 @@ public class CertServiceImpl implements CertService { final Account caller = ctx.getCallingAccount(); Account owner = null; - if (!Strings.isNullOrEmpty(certCmd.getAccountName()) && certCmd.getDomainId() != null || certCmd.getProjectId() != null) { + if (StringUtils.isNotEmpty(certCmd.getAccountName()) && certCmd.getDomainId() != null || certCmd.getProjectId() != null) { owner = _accountMgr.finalizeOwner(caller, certCmd.getAccountName(), certCmd.getDomainId(), certCmd.getProjectId()); } else { owner = caller; @@ -423,7 +423,7 @@ public class CertServiceImpl implements CertService { } public PrivateKey parsePrivateKey(final String key) throws IOException { - Preconditions.checkArgument(!Strings.isNullOrEmpty(key)); + Preconditions.checkArgument(StringUtils.isNotEmpty(key)); try (final PemReader pemReader = new PemReader(new StringReader(key));) { final PemObject pemObject = pemReader.readPemObject(); final byte[] content = pemObject.getContent(); @@ -439,7 +439,7 @@ public class CertServiceImpl implements CertService { @Override public Certificate parseCertificate(final String cert) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(cert)); + Preconditions.checkArgument(StringUtils.isNotEmpty(cert)); final PemReader certPem = new PemReader(new StringReader(cert)); try { return readCertificateFromPemObject(certPem.readPemObject()); diff --git a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java index e4e221daca2..855ca81c2ab 100644 --- a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java @@ -37,7 +37,7 @@ import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.collect.ImmutableMap; @@ -110,7 +110,7 @@ public class OutOfBandManagementServiceImpl extends ManagerBase implements OutOf } private OutOfBandManagementDriver getDriver(final OutOfBandManagement outOfBandManagementConfig) { - if (!Strings.isNullOrEmpty(outOfBandManagementConfig.getDriver())) { + if (StringUtils.isNotEmpty(outOfBandManagementConfig.getDriver())) { final OutOfBandManagementDriver driver = outOfBandManagementDriversMap.get(outOfBandManagementConfig.getDriver()); if (driver != null) { return driver; @@ -128,7 +128,7 @@ public class OutOfBandManagementServiceImpl extends ManagerBase implements OutOf } for (OutOfBandManagement.Option option: options.keySet()) { final String value = options.get(option); - if (Strings.isNullOrEmpty(value)) { + if (StringUtils.isEmpty(value)) { continue; } switch (option) { @@ -228,7 +228,7 @@ public class OutOfBandManagementServiceImpl extends ManagerBase implements OutOf return true; } final DataCenterDetailVO zoneDetails = dataCenterDetailsDao.findDetail(zoneId, OOBM_ENABLED_DETAIL); - if (zoneDetails != null && !Strings.isNullOrEmpty(zoneDetails.getValue()) && !Boolean.valueOf(zoneDetails.getValue())) { + if (zoneDetails != null && StringUtils.isNotEmpty(zoneDetails.getValue()) && !Boolean.valueOf(zoneDetails.getValue())) { return false; } return true; @@ -239,7 +239,7 @@ public class OutOfBandManagementServiceImpl extends ManagerBase implements OutOf return true; } final ClusterDetailsVO clusterDetails = clusterDetailsDao.findDetail(clusterId, OOBM_ENABLED_DETAIL); - if (clusterDetails != null && !Strings.isNullOrEmpty(clusterDetails.getValue()) && !Boolean.valueOf(clusterDetails.getValue())) { + if (clusterDetails != null && StringUtils.isNotEmpty(clusterDetails.getValue()) && !Boolean.valueOf(clusterDetails.getValue())) { return false; } return true; @@ -376,7 +376,7 @@ public class OutOfBandManagementServiceImpl extends ManagerBase implements OutOf outOfBandManagementConfig = outOfBandManagementDao.persist(new OutOfBandManagementVO(host.getId())); } outOfBandManagementConfig = updateConfig(outOfBandManagementConfig, options); - if (Strings.isNullOrEmpty(outOfBandManagementConfig.getDriver()) || !outOfBandManagementDriversMap.containsKey(outOfBandManagementConfig.getDriver().toLowerCase())) { + if (StringUtils.isEmpty(outOfBandManagementConfig.getDriver()) || !outOfBandManagementDriversMap.containsKey(outOfBandManagementConfig.getDriver().toLowerCase())) { throw new CloudRuntimeException("Out-of-band management driver is not available. Please provide a valid driver name."); } @@ -445,13 +445,13 @@ public class OutOfBandManagementServiceImpl extends ManagerBase implements OutOf @ActionEvent(eventType = EventTypes.EVENT_HOST_OUTOFBAND_MANAGEMENT_CHANGE_PASSWORD, eventDescription = "updating out-of-band management password") public OutOfBandManagementResponse changePassword(final Host host, final String newPassword) { checkOutOfBandManagementEnabledByZoneClusterHost(host); - if (Strings.isNullOrEmpty(newPassword)) { + if (StringUtils.isEmpty(newPassword)) { throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for %s.", host)); } final OutOfBandManagement outOfBandManagementConfig = outOfBandManagementDao.findByHost(host.getId()); final ImmutableMap options = getOptions(outOfBandManagementConfig); - if (!(options.containsKey(OutOfBandManagement.Option.PASSWORD) && !Strings.isNullOrEmpty(options.get(OutOfBandManagement.Option.PASSWORD)))) { + if (!(options.containsKey(OutOfBandManagement.Option.PASSWORD) && StringUtils.isNotEmpty(options.get(OutOfBandManagement.Option.PASSWORD)))) { throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for %s.", host)); } final OutOfBandManagementDriver driver = getDriver(outOfBandManagementConfig); diff --git a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index bf9ed7fd65c..62298110eae 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -137,7 +137,6 @@ import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import com.google.common.base.Strings; import com.google.gson.Gson; public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { @@ -259,7 +258,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { for (UnmanagedInstanceTO.Disk disk : instance.getDisks()) { UnmanagedInstanceDiskResponse diskResponse = new UnmanagedInstanceDiskResponse(); diskResponse.setDiskId(disk.getDiskId()); - if (!Strings.isNullOrEmpty(disk.getLabel())) { + if (StringUtils.isNotEmpty(disk.getLabel())) { diskResponse.setLabel(disk.getLabel()); } diskResponse.setCapacity(disk.getCapacity()); @@ -281,7 +280,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { nicResponse.setId(nic.getNicId()); nicResponse.setNetworkName(nic.getNetwork()); nicResponse.setMacAddress(nic.getMacAddress()); - if (!Strings.isNullOrEmpty(nic.getAdapterType())) { + if (StringUtils.isNotEmpty(nic.getAdapterType())) { nicResponse.setAdapterType(nic.getAdapterType()); } if (!CollectionUtils.isEmpty(nic.getIpAddress())) { @@ -314,7 +313,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { if (volumeVO.getRemoved() == null) { continue; } - if (Strings.isNullOrEmpty(volumeVO.getChainInfo())) { + if (StringUtils.isEmpty(volumeVO.getChainInfo())) { continue; } List volumeFileNames = new ArrayList<>(); @@ -338,14 +337,14 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { path = split[split.length - 1]; split = path.split("\\."); path = split[0]; - if (!Strings.isNullOrEmpty(path)) { + if (StringUtils.isNotEmpty(path)) { if (!additionalNameFilter.contains(path)) { volumeFileNames.add(path); } if (path.contains("-")) { split = path.split("-"); path = split[0]; - if (!Strings.isNullOrEmpty(path) && !path.equals("ROOT") && !additionalNameFilter.contains(path)) { + if (StringUtils.isNotEmpty(path) && !path.equals("ROOT") && !additionalNameFilter.contains(path)) { volumeFileNames.add(path); } } @@ -576,7 +575,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { if (!diskOfferingMap.containsKey(disk.getDiskId())) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Disk offering for disk ID: %s not found during VM import", disk.getDiskId())); } - if (Strings.isNullOrEmpty(diskController)) { + if (StringUtils.isEmpty(diskController)) { diskController = disk.getController(); } else { if (!diskController.equals(disk.getController())) { @@ -604,13 +603,13 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { String networkBroadcastUri = network.getBroadcastUri() == null ? null : network.getBroadcastUri().toString(); if (nic.getVlan() != null && nic.getVlan() != 0 && nic.getPvlan() == null && - (Strings.isNullOrEmpty(networkBroadcastUri) || + (StringUtils.isEmpty(networkBroadcastUri) || !networkBroadcastUri.equals(String.format("vlan://%d", nic.getVlan())))) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("VLAN of network(ID: %s) %s is found different from the VLAN of nic(ID: %s) vlan://%d during VM import", network.getUuid(), networkBroadcastUri, nic.getNicId(), nic.getVlan())); } String pvLanType = nic.getPvlanType() == null ? "" : nic.getPvlanType().toLowerCase().substring(0, 1); if (nic.getVlan() != null && nic.getVlan() != 0 && nic.getPvlan() != null && nic.getPvlan() != 0 && - (Strings.isNullOrEmpty(network.getBroadcastUri().toString()) || + (StringUtils.isEmpty(network.getBroadcastUri().toString()) || !networkBroadcastUri.equals(String.format("pvlan://%d-%s%d", nic.getVlan(), pvLanType, nic.getPvlan())))) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("PVLAN of network(ID: %s) %s is found different from the VLAN of nic(ID: %s) pvlan://%d-%s%d during VM import", network.getUuid(), networkBroadcastUri, nic.getNicId(), nic.getVlan(), pvLanType, nic.getPvlan())); } @@ -639,11 +638,11 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Network for nic ID: %s not found during VM import", nic.getNicId())); } // Check IP is assigned for non L2 networks - if (!network.getGuestType().equals(Network.GuestType.L2) && (ipAddresses == null || Strings.isNullOrEmpty(ipAddresses.getIp4Address()))) { + if (!network.getGuestType().equals(Network.GuestType.L2) && (ipAddresses == null || StringUtils.isEmpty(ipAddresses.getIp4Address()))) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("NIC(ID: %s) needs a valid IP address for it to be associated with network(ID: %s). %s parameter of API can be used for this", nic.getNicId(), network.getUuid(), ApiConstants.NIC_IP_ADDRESS_LIST)); } // If network is non L2, IP v4 is assigned and not set to auto-assign, check it is available for network - if (!network.getGuestType().equals(Network.GuestType.L2) && ipAddresses != null && !Strings.isNullOrEmpty(ipAddresses.getIp4Address()) && !ipAddresses.getIp4Address().equals("auto")) { + if (!network.getGuestType().equals(Network.GuestType.L2) && ipAddresses != null && StringUtils.isNotEmpty(ipAddresses.getIp4Address()) && !ipAddresses.getIp4Address().equals("auto")) { Set ips = networkModel.getAvailableIps(network, ipAddresses.getIp4Address()); if (CollectionUtils.isEmpty(ips) || !ips.contains(NetUtils.ip2Long(ipAddresses.getIp4Address()))) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("IP address %s for NIC(ID: %s) is not available in network(ID: %s)", ipAddresses.getIp4Address(), nic.getNicId(), network.getUuid())); @@ -655,7 +654,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { Map nicNetworkMap = new HashMap<>(); String nicAdapter = null; for (UnmanagedInstanceTO.Nic nic : nics) { - if (Strings.isNullOrEmpty(nicAdapter)) { + if (StringUtils.isEmpty(nicAdapter)) { nicAdapter = nic.getAdapterType(); } else { if (!nicAdapter.equals(nic.getAdapterType())) { @@ -705,9 +704,9 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { Volume.Type type, String name, Long diskSize, Long minIops, Long maxIops, VirtualMachineTemplate template, Account owner, Long deviceId) { final DataCenter zone = dataCenterDao.findById(vm.getDataCenterId()); - final String path = Strings.isNullOrEmpty(disk.getFileBaseName()) ? disk.getImagePath() : disk.getFileBaseName(); + final String path = StringUtils.isEmpty(disk.getFileBaseName()) ? disk.getImagePath() : disk.getFileBaseName(); String chainInfo = disk.getChainInfo(); - if (Strings.isNullOrEmpty(chainInfo)) { + if (StringUtils.isEmpty(chainInfo)) { VirtualMachineDiskInfo diskInfo = new VirtualMachineDiskInfo(); diskInfo.setDiskDeviceBusName(String.format("%s%d:%d", disk.getController(), disk.getControllerUnit(), disk.getPosition())); diskInfo.setDiskChain(new String[]{disk.getImagePath()}); @@ -876,7 +875,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { } catch (Exception e) { LOGGER.error(String.format("VM import failed for unmanaged vm: %s during volume migration", vm.getInstanceName()), e); cleanupFailedImportVM(vm); - throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("VM import failed for unmanaged vm: %s during volume migration. %s", userVm.getInstanceName(), Strings.nullToEmpty(e.getMessage()))); + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("VM import failed for unmanaged vm: %s during volume migration. %s", userVm.getInstanceName(), StringUtils.defaultString(e.getMessage()))); } } return userVm; @@ -928,7 +927,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { UsageEventUtils.publishUsageEvent(EventTypes.EVENT_NETWORK_OFFERING_ASSIGN, userVm.getAccountId(), userVm.getDataCenterId(), userVm.getId(), Long.toString(nic.getId()), network.getNetworkOfferingId(), null, 1L, VirtualMachine.class.getName(), userVm.getUuid(), userVm.isDisplay()); } catch (Exception e) { - LOGGER.error(String.format("Failed to publish network usage records during VM import. %s", Strings.nullToEmpty(e.getMessage()))); + LOGGER.error(String.format("Failed to publish network usage records during VM import. %s", StringUtils.defaultString(e.getMessage()))); } } } @@ -945,7 +944,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { validatedServiceOffering = getUnmanagedInstanceServiceOffering(unmanagedInstance, serviceOffering, owner, zone, details); } catch (Exception e) { LOGGER.error("Service offering for VM import not compatible", e); - throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import VM: %s. %s", unmanagedInstance.getName(), Strings.nullToEmpty(e.getMessage()))); + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import VM: %s. %s", unmanagedInstance.getName(), StringUtils.defaultString(e.getMessage()))); } String internalCSName = unmanagedInstance.getInternalCSName(); @@ -972,7 +971,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { Pair> rootAndDataDisksPair = getRootAndDataDisks(unmanagedInstanceDisks, dataDiskOfferingMap); final UnmanagedInstanceTO.Disk rootDisk = rootAndDataDisksPair.first(); final List dataDisks = rootAndDataDisksPair.second(); - if (rootDisk == null || Strings.isNullOrEmpty(rootDisk.getController())) { + if (rootDisk == null || StringUtils.isEmpty(rootDisk.getController())) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("VM import failed. Unable to retrieve root disk details for VM: %s ", instanceName)); } allDetails.put(VmDetailConstants.ROOT_DISK_CONTROLLER, rootDisk.getController()); @@ -985,7 +984,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { resourceLimitService.checkResourceLimit(owner, Resource.ResourceType.volume, unmanagedInstanceDisks.size()); } catch (ResourceAllocationException e) { LOGGER.error(String.format("Volume resource allocation error for owner: %s", owner.getUuid()), e); - throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Volume resource allocation error for owner: %s. %s", owner.getUuid(), Strings.nullToEmpty(e.getMessage()))); + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Volume resource allocation error for owner: %s. %s", owner.getUuid(), StringUtils.defaultString(e.getMessage()))); } // Check NICs and supplied networks Map nicIpAddressMap = getNicIpAddresses(unmanagedInstance.getNics(), callerNicIpAddressMap); @@ -1037,7 +1036,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { } catch (Exception e) { LOGGER.error(String.format("Failed to import volumes while importing vm: %s", instanceName), e); cleanupFailedImportVM(userVm); - throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import volumes while importing vm: %s. %s", instanceName, Strings.nullToEmpty(e.getMessage()))); + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import volumes while importing vm: %s. %s", instanceName, StringUtils.defaultString(e.getMessage()))); } try { boolean firstNic = true; @@ -1050,7 +1049,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { } catch (Exception e) { LOGGER.error(String.format("Failed to import NICs while importing vm: %s", instanceName), e); cleanupFailedImportVM(userVm); - throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import NICs while importing vm: %s. %s", instanceName, Strings.nullToEmpty(e.getMessage()))); + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import NICs while importing vm: %s. %s", instanceName, StringUtils.defaultString(e.getMessage()))); } if (migrateAllowed) { userVm = migrateImportedVM(host, template, validatedServiceOffering, userVm, owner, diskProfileStoragePoolList); @@ -1134,10 +1133,10 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { } final DataCenter zone = dataCenterDao.findById(cluster.getDataCenterId()); final String instanceName = cmd.getName(); - if (Strings.isNullOrEmpty(instanceName)) { + if (StringUtils.isEmpty(instanceName)) { throw new InvalidParameterValueException(String.format("Instance name cannot be empty")); } - if (cmd.getDomainId() != null && Strings.isNullOrEmpty(cmd.getAccountName())) { + if (cmd.getDomainId() != null && StringUtils.isEmpty(cmd.getAccountName())) { throw new InvalidParameterValueException("domainid parameter must be specified with account parameter"); } final Account owner = accountService.getActiveAccountById(cmd.getEntityOwnerId()); @@ -1175,14 +1174,14 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { resourceLimitService.checkResourceLimit(owner, Resource.ResourceType.user_vm, 1); } catch (ResourceAllocationException e) { LOGGER.error(String.format("VM resource allocation error for account: %s", owner.getUuid()), e); - throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("VM resource allocation error for account: %s. %s", owner.getUuid(), Strings.nullToEmpty(e.getMessage()))); + throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("VM resource allocation error for account: %s. %s", owner.getUuid(), StringUtils.defaultString(e.getMessage()))); } String displayName = cmd.getDisplayName(); - if (Strings.isNullOrEmpty(displayName)) { + if (StringUtils.isEmpty(displayName)) { displayName = instanceName; } String hostName = cmd.getHostName(); - if (Strings.isNullOrEmpty(hostName)) { + if (StringUtils.isEmpty(hostName)) { if (!NetUtils.verifyDomainNameLabel(instanceName, true)) { throw new InvalidParameterValueException(String.format("Please provide hostname for the VM. VM name contains unsupported characters for it to be used as hostname")); } @@ -1237,14 +1236,14 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { if (template.getName().equals(VM_IMPORT_DEFAULT_TEMPLATE_NAME)) { String osName = unmanagedInstance.getOperatingSystem(); GuestOS guestOS = null; - if (!Strings.isNullOrEmpty(osName)) { + if (StringUtils.isNotEmpty(osName)) { guestOS = guestOSDao.listByDisplayName(osName); } GuestOSHypervisor guestOSHypervisor = null; if (guestOS != null) { guestOSHypervisor = guestOSHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), host.getHypervisorType().toString(), host.getHypervisorVersion()); } - if (guestOSHypervisor == null && !Strings.isNullOrEmpty(unmanagedInstance.getOperatingSystemId())) { + if (guestOSHypervisor == null && StringUtils.isNotEmpty(unmanagedInstance.getOperatingSystemId())) { guestOSHypervisor = guestOSHypervisorDao.findByOsNameAndHypervisor(unmanagedInstance.getOperatingSystemId(), host.getHypervisorType().toString(), host.getHypervisorVersion()); } if (guestOSHypervisor == null) { diff --git a/server/src/test/java/com/cloud/network/vpc/NetworkACLServiceImplTest.java b/server/src/test/java/com/cloud/network/vpc/NetworkACLServiceImplTest.java index f21bc2c3496..ecbf983f65b 100644 --- a/server/src/test/java/com/cloud/network/vpc/NetworkACLServiceImplTest.java +++ b/server/src/test/java/com/cloud/network/vpc/NetworkACLServiceImplTest.java @@ -35,7 +35,7 @@ import org.apache.cloudstack.api.command.user.network.MoveNetworkAclItemCmd; import org.apache.cloudstack.api.command.user.network.UpdateNetworkACLItemCmd; import org.apache.cloudstack.api.command.user.network.UpdateNetworkACLListCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxy.java b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxy.java index 702e9a855d1..fd4f68bcee0 100644 --- a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxy.java +++ b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxy.java @@ -31,7 +31,7 @@ import java.util.Map; import java.util.Properties; import java.util.concurrent.Executor; -import com.cloud.utils.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.xml.DOMConfigurator; import org.eclipse.jetty.websocket.api.Session; diff --git a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java index cf0a05de622..596084955fa 100644 --- a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java +++ b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java @@ -16,7 +16,7 @@ // under the License. package com.cloud.consoleproxy; -import com.cloud.utils.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.extensions.Frame; diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index 99539a29dcb..3a91457fe66 100644 --- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -123,7 +123,6 @@ import com.cloud.user.AccountService; import com.cloud.utils.DateUtil; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.db.QueryBuilder; @@ -148,6 +147,7 @@ import com.cloud.vm.dao.SecondaryStorageVmDao; import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; /** * Class to manage secondary storages.

@@ -858,7 +858,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar _useSSlCopy = BooleanUtils.toBoolean(_configDao.getValue("secstorage.encrypt.copy")); String ssvmUrlDomain = _configDao.getValue("secstorage.ssl.cert.domain"); - if(_useSSlCopy && org.apache.commons.lang3.StringUtils.isEmpty(ssvmUrlDomain)){ + if(_useSSlCopy && StringUtils.isEmpty(ssvmUrlDomain)){ s_logger.warn("Empty secondary storage url domain, explicitly disabling SSL"); _useSSlCopy = false; } @@ -1074,7 +1074,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar StringBuilder buf = profile.getBootArgsBuilder(); buf.append(" template=domP type=secstorage"); - buf.append(" host=").append(StringUtils.toCSVList(indirectAgentLB.getManagementServerList(dest.getHost().getId(), dest.getDataCenter().getId(), null))); + buf.append(" host=").append(com.cloud.utils.StringUtils.toCSVList(indirectAgentLB.getManagementServerList(dest.getHost().getId(), dest.getDataCenter().getId(), null))); buf.append(" port=").append(_mgmtPort); buf.append(" name=").append(profile.getVirtualMachine().getHostName()); diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java index ea4e75d8943..69ebbd99598 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java @@ -29,7 +29,7 @@ import java.util.Map.Entry; import org.apache.cloudstack.storage.template.UploadEntity; import org.apache.cloudstack.utils.imagestore.ImageStoreUtil; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.exception.InvalidParameterValueException; diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index 565c4dfb98c..21dbac12577 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -22,11 +22,9 @@ import static com.cloud.network.NetworkModel.PASSWORD_FILE; import static com.cloud.network.NetworkModel.PUBLIC_KEYS_FILE; import static com.cloud.network.NetworkModel.USERDATA_DIR; import static com.cloud.network.NetworkModel.USERDATA_FILE; -import static com.cloud.utils.StringUtils.join; import static com.cloud.utils.storage.S3.S3Utils.putFile; import static java.lang.String.format; import static java.util.Arrays.asList; -import static org.apache.commons.lang.StringUtils.substringAfterLast; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -80,7 +78,7 @@ import org.apache.cloudstack.utils.security.DigestHelper; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; @@ -798,7 +796,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S return new CopyCmdAnswer(errMsg); } } - File destFile = new File(downloadDirectory, substringAfterLast(srcData.getPath(), S3Utils.SEPARATOR)); + File destFile = new File(downloadDirectory, StringUtils.substringAfterLast(srcData.getPath(), S3Utils.SEPARATOR)); S3Utils.getFile(s3, s3.getBucketName(), srcData.getPath(), destFile).waitForCompletion(); return postProcessing(destFile, downloadPath, destPath, srcData, destData); @@ -1093,7 +1091,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } protected String determineS3TemplateDirectory(final Long accountId, final Long templateId, final String templateUniqueName) { - return join(asList(TEMPLATE_ROOT_DIR, accountId, templateId, templateUniqueName), S3Utils.SEPARATOR); + return StringUtils.join(asList(TEMPLATE_ROOT_DIR, accountId, templateId, templateUniqueName), S3Utils.SEPARATOR); } private String determineS3TemplateNameFromKey(String key) { @@ -1101,7 +1099,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } protected String determineS3VolumeDirectory(final Long accountId, final Long volId) { - return join(asList(VOLUME_ROOT_DIR, accountId, volId), S3Utils.SEPARATOR); + return StringUtils.join(asList(VOLUME_ROOT_DIR, accountId, volId), S3Utils.SEPARATOR); } protected Long determineS3VolumeIdFromKey(String key) { @@ -1109,7 +1107,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } private String determineStorageTemplatePath(final String storagePath, String dataPath, String nfsVersion) { - return join(asList(getRootDir(storagePath, nfsVersion), dataPath), File.separator); + return StringUtils.join(asList(getRootDir(storagePath, nfsVersion), dataPath), File.separator); } protected File downloadFromUrlToNfs(String url, NfsTO nfs, String path, String name) { @@ -3470,7 +3468,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S public void validatePostUploadRequest(String signature, String metadata, String timeout, String hostname, long contentLength, String uuid) throws InvalidParameterValueException { // check none of the params are empty - if (StringUtils.isEmpty(signature) || StringUtils.isEmpty(metadata) || StringUtils.isEmpty(timeout)) { + if (StringUtils.isAnyEmpty(signature, metadata, timeout)) { updateStateMapWithError(uuid, "signature, metadata and expires are compulsory fields."); throw new InvalidParameterValueException("signature, metadata and expires are compulsory fields."); } diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java index a3595a24d87..e06d7da210d 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java @@ -77,13 +77,13 @@ import com.cloud.storage.template.Processor.FormatInfo; import com.cloud.storage.template.TemplateDownloader.DownloadCompleteCallback; import com.cloud.storage.template.TemplateDownloader.Status; import com.cloud.utils.NumbersUtil; -import com.cloud.utils.StringUtils; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; import com.cloud.utils.storage.QCOW2Utils; import org.apache.cloudstack.utils.security.ChecksumValue; import org.apache.cloudstack.utils.security.DigestHelper; +import org.apache.commons.lang3.StringUtils; import static com.cloud.utils.NumbersUtil.toHumanReadableSize; @@ -463,7 +463,7 @@ public class DownloadManagerImpl extends ManagerBase implements DownloadManager if (extension.equals("iso")) { templateName = jobs.get(jobId).getTmpltName().trim().replace(" ", "_"); } else { - templateName = UUID.nameUUIDFromBytes((jobs.get(jobId).getTmpltName() + System.currentTimeMillis()).getBytes(StringUtils.getPreferredCharset())).toString(); + templateName = UUID.nameUUIDFromBytes((jobs.get(jobId).getTmpltName() + System.currentTimeMillis()).getBytes(com.cloud.utils.StringUtils.getPreferredCharset())).toString(); } return templateName; } diff --git a/tools/checkstyle/src/main/resources/cloud-style.xml b/tools/checkstyle/src/main/resources/cloud-style.xml index 4fad942fff0..ae68a7a5f08 100644 --- a/tools/checkstyle/src/main/resources/cloud-style.xml +++ b/tools/checkstyle/src/main/resources/cloud-style.xml @@ -40,6 +40,10 @@ + + + + diff --git a/usage/src/main/java/com/cloud/usage/parser/VMInstanceUsageParser.java b/usage/src/main/java/com/cloud/usage/parser/VMInstanceUsageParser.java index 8c30e99c708..e918d0ed958 100644 --- a/usage/src/main/java/com/cloud/usage/parser/VMInstanceUsageParser.java +++ b/usage/src/main/java/com/cloud/usage/parser/VMInstanceUsageParser.java @@ -28,6 +28,7 @@ import javax.inject.Inject; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.usage.UsageTypes; +import org.apache.commons.lang3.StringUtils; import com.cloud.usage.UsageVMInstanceVO; import com.cloud.usage.UsageVO; @@ -35,7 +36,6 @@ import com.cloud.usage.dao.UsageDao; import com.cloud.usage.dao.UsageVMInstanceDao; import com.cloud.user.AccountVO; import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; @Component public class VMInstanceUsageParser { diff --git a/utils/src/main/java/com/cloud/utils/StringUtils.java b/utils/src/main/java/com/cloud/utils/StringUtils.java index e858bee74a0..f427b8fd100 100644 --- a/utils/src/main/java/com/cloud/utils/StringUtils.java +++ b/utils/src/main/java/com/cloud/utils/StringUtils.java @@ -22,7 +22,6 @@ package com.cloud.utils; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.regex.Matcher; @@ -54,43 +53,6 @@ public class StringUtils { return Charset.defaultCharset(); } - public static String join(final Iterable iterable, final String delim) { - final StringBuilder sb = new StringBuilder(); - if (iterable != null) { - final Iterator iter = iterable.iterator(); - if (iter.hasNext()) { - final Object next = iter.next(); - sb.append(next.toString()); - } - while (iter.hasNext()) { - final Object next = iter.next(); - sb.append(delim + next.toString()); - } - } - return sb.toString(); - } - - public static String join(final String delimiter, final Object... components) { - return org.apache.commons.lang.StringUtils.join(components, delimiter); - } - /** - * @deprecated - * Please use org.apache.commons.lang.StringUtils.isBlank() as a replacement - */ - @Deprecated - public static boolean isBlank(String str) { - return org.apache.commons.lang.StringUtils.isBlank(str); - } - - /** - * @deprecated - * Please use org.apache.commons.lang.StringUtils.isNotBlank() as a replacement - */ - @Deprecated - public static boolean isNotBlank(final String str) { - return org.apache.commons.lang.StringUtils.isNotBlank(str); - } - public static String cleanupTags(String tags) { if (tags != null) { final String[] tokens = tags.split(","); @@ -311,6 +273,6 @@ public class StringUtils { } public static String toCSVList(final List csvList) { - return join(csvList, ","); + return org.apache.commons.lang3.StringUtils.defaultString(org.apache.commons.lang3.StringUtils.join(csvList, ",")); } } diff --git a/utils/src/main/java/com/cloud/utils/SwiftUtil.java b/utils/src/main/java/com/cloud/utils/SwiftUtil.java index 34aceb51553..7c2914d262d 100644 --- a/utils/src/main/java/com/cloud/utils/SwiftUtil.java +++ b/utils/src/main/java/com/cloud/utils/SwiftUtil.java @@ -249,7 +249,7 @@ public class SwiftUtil { protected static String getSwiftObjectCmd(SwiftClientCfg cfg, String swiftCliPath, String operation,String container, String objectName) { String cmd = getSwiftCmd(cfg,swiftCliPath, operation) +" "+ container+" "+objectName; - if(StringUtils.isNotBlank(cfg.getStoragePolicy()) && supportsStoragePolicies(operation)){ + if(org.apache.commons.lang3.StringUtils.isNotBlank(cfg.getStoragePolicy()) && supportsStoragePolicies(operation)){ return cmd + String.format(WITH_STORAGE_POLICY, cfg.getStoragePolicy()); } return cmd; diff --git a/utils/src/main/java/com/cloud/utils/UriUtils.java b/utils/src/main/java/com/cloud/utils/UriUtils.java index d2022c169f9..6b222289b6a 100644 --- a/utils/src/main/java/com/cloud/utils/UriUtils.java +++ b/utils/src/main/java/com/cloud/utils/UriUtils.java @@ -64,7 +64,7 @@ import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -584,11 +584,11 @@ public class UriUtils { */ public static List expandVlanUri(final String vlanAuthority) { final List expandedVlans = new ArrayList<>(); - if (Strings.isNullOrEmpty(vlanAuthority)) { + if (StringUtils.isEmpty(vlanAuthority)) { return expandedVlans; } for (final String vlanPart: vlanAuthority.split(",")) { - if (Strings.isNullOrEmpty(vlanPart)) { + if (StringUtils.isEmpty(vlanPart)) { continue; } final String[] range = vlanPart.split("-"); @@ -627,7 +627,7 @@ public class UriUtils { public static List expandPvlanUri(String pvlanRange) { final List expandedVlans = new ArrayList<>(); - if (Strings.isNullOrEmpty(pvlanRange)) { + if (StringUtils.isEmpty(pvlanRange)) { return expandedVlans; } String[] parts = pvlanRange.split("-\\w"); diff --git a/utils/src/main/java/com/cloud/utils/log/CglibThrowableRenderer.java b/utils/src/main/java/com/cloud/utils/log/CglibThrowableRenderer.java index 9178c805536..d693082af9e 100644 --- a/utils/src/main/java/com/cloud/utils/log/CglibThrowableRenderer.java +++ b/utils/src/main/java/com/cloud/utils/log/CglibThrowableRenderer.java @@ -22,7 +22,7 @@ package com.cloud.utils.log; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.spi.ThrowableRenderer; /** diff --git a/utils/src/main/java/com/cloud/utils/net/NetUtils.java b/utils/src/main/java/com/cloud/utils/net/NetUtils.java index c60eac1a8d6..feaac8f7f8b 100644 --- a/utils/src/main/java/com/cloud/utils/net/NetUtils.java +++ b/utils/src/main/java/com/cloud/utils/net/NetUtils.java @@ -42,7 +42,7 @@ import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang.SystemUtils; import org.apache.commons.net.util.SubnetUtils; import org.apache.commons.validator.routines.InetAddressValidator; @@ -821,7 +821,7 @@ public class NetUtils { } static boolean areCidrsNotEmpty(String cidrA, String cidrB) { - return StringUtils.isNotEmpty(cidrA) && StringUtils.isNotEmpty(cidrB); + return StringUtils.isNoneEmpty(cidrA, cidrB); } public static Long[] cidrToLong(final String cidr) { diff --git a/utils/src/main/java/com/cloud/utils/security/CertificateHelper.java b/utils/src/main/java/com/cloud/utils/security/CertificateHelper.java index 3e70dda95d1..b3333620939 100644 --- a/utils/src/main/java/com/cloud/utils/security/CertificateHelper.java +++ b/utils/src/main/java/com/cloud/utils/security/CertificateHelper.java @@ -21,7 +21,7 @@ package com.cloud.utils.security; import com.cloud.utils.Ternary; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.codec.binary.Base64; import org.bouncycastle.util.io.pem.PemObject; import org.bouncycastle.util.io.pem.PemReader; @@ -50,9 +50,9 @@ import java.util.List; public class CertificateHelper { public static byte[] buildAndSaveKeystore(final String alias, final String cert, final String privateKey, final String storePassword) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, InvalidKeySpecException, IOException { - Preconditions.checkArgument(!Strings.isNullOrEmpty(alias), "Certificate alias cannot be blank"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(cert), "Certificate cannot be blank"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(privateKey), "Private key cannot be blank"); + Preconditions.checkArgument(StringUtils.isNotEmpty(alias), "Certificate alias cannot be blank"); + Preconditions.checkArgument(StringUtils.isNotEmpty(cert), "Certificate cannot be blank"); + Preconditions.checkArgument(StringUtils.isNotEmpty(privateKey), "Private key cannot be blank"); final KeyStore ks = buildKeystore(alias, cert, privateKey, storePassword); @@ -106,9 +106,9 @@ public class CertificateHelper { public static KeyStore buildKeystore(final String alias, final String cert, final String privateKey, final String storePassword) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, InvalidKeySpecException, IOException { - Preconditions.checkArgument(!Strings.isNullOrEmpty(alias), "Certificate alias cannot be blank"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(cert), "Certificate cannot be blank"); - Preconditions.checkArgument(!Strings.isNullOrEmpty(privateKey), "Private key cannot be blank"); + Preconditions.checkArgument(StringUtils.isNotEmpty(alias), "Certificate alias cannot be blank"); + Preconditions.checkArgument(StringUtils.isNotEmpty(cert), "Certificate cannot be blank"); + Preconditions.checkArgument(StringUtils.isNotEmpty(privateKey), "Private key cannot be blank"); char password[] = null; if (storePassword != null) { diff --git a/utils/src/main/java/com/cloud/utils/ssh/SSHCmdHelper.java b/utils/src/main/java/com/cloud/utils/ssh/SSHCmdHelper.java index 5324cdcbc18..e89120cabcb 100644 --- a/utils/src/main/java/com/cloud/utils/ssh/SSHCmdHelper.java +++ b/utils/src/main/java/com/cloud/utils/ssh/SSHCmdHelper.java @@ -25,7 +25,7 @@ import java.io.InputStream; import org.apache.cloudstack.utils.security.KeyStoreUtils; import org.apache.log4j.Logger; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import com.trilead.ssh2.ChannelCondition; import com.trilead.ssh2.Session; @@ -201,7 +201,7 @@ public class SSHCmdHelper { } final SSHCmdResult result = new SSHCmdResult(-1, sbStdoutResult.toString(), sbStdErrResult.toString()); - if (!Strings.isNullOrEmpty(result.getStdOut()) || !Strings.isNullOrEmpty(result.getStdErr())) { + if (!StringUtils.isAllEmpty(result.getStdOut(), result.getStdErr())) { s_logger.debug("SSH command: " + cmd.split(KeyStoreUtils.KS_FILENAME)[0] + "\nSSH command output:" + result.getStdOut().split("-----BEGIN")[0] + "\n" + result.getStdErr()); } diff --git a/utils/src/main/java/com/cloud/utils/ssh/SshHelper.java b/utils/src/main/java/com/cloud/utils/ssh/SshHelper.java index d5cd91aff76..bce61fd4629 100644 --- a/utils/src/main/java/com/cloud/utils/ssh/SshHelper.java +++ b/utils/src/main/java/com/cloud/utils/ssh/SshHelper.java @@ -25,7 +25,7 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.joda.time.Duration; diff --git a/utils/src/main/java/com/cloud/utils/storage/S3/S3Utils.java b/utils/src/main/java/com/cloud/utils/storage/S3/S3Utils.java index 274ff9bc994..cc71e821005 100644 --- a/utils/src/main/java/com/cloud/utils/storage/S3/S3Utils.java +++ b/utils/src/main/java/com/cloud/utils/storage/S3/S3Utils.java @@ -34,6 +34,8 @@ import com.amazonaws.services.s3.model.S3ObjectSummary; import com.amazonaws.services.s3.transfer.Download; import com.amazonaws.services.s3.transfer.TransferManager; import com.amazonaws.services.s3.transfer.Upload; + +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.File; @@ -50,7 +52,6 @@ import static com.amazonaws.Protocol.HTTPS; import static java.lang.String.format; import static java.util.Collections.emptyList; import static java.util.Collections.unmodifiableList; -import static org.apache.commons.lang.StringUtils.isNotBlank; public final class S3Utils { @@ -108,7 +109,7 @@ public final class S3Utils { final AmazonS3Client client = new AmazonS3Client(basicAWSCredentials, configuration); - if (isNotBlank(clientOptions.getEndPoint())) { + if (StringUtils.isNotBlank(clientOptions.getEndPoint())) { LOGGER.debug(format("Setting the end point for S3 client with access key %1$s to %2$s.", clientOptions.getAccessKey(), clientOptions.getEndPoint())); client.setEndpoint(clientOptions.getEndPoint()); diff --git a/utils/src/main/java/org/apache/cloudstack/utils/CloudStackVersion.java b/utils/src/main/java/org/apache/cloudstack/utils/CloudStackVersion.java index 8bd2b6f9bf2..91c5a9758ea 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/CloudStackVersion.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/CloudStackVersion.java @@ -24,10 +24,10 @@ import com.google.common.collect.ImmutableList; import java.util.regex.Pattern; +import org.apache.commons.lang3.StringUtils; + import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; -import static org.apache.commons.lang.StringUtils.isNotBlank; -import static org.apache.commons.lang.StringUtils.substringBefore; /** * @@ -87,9 +87,9 @@ public final class CloudStackVersion implements Comparable { public static CloudStackVersion parse(final String value) { // Strip out any legacy patch information from the version string ... - final String trimmedValue = substringBefore(value, "-"); + final String trimmedValue = StringUtils.substringBefore(value, "-"); - checkArgument(isNotBlank(trimmedValue), CloudStackVersion.class.getName() + ".parse(String) requires a non-blank value"); + checkArgument(StringUtils.isNotBlank(trimmedValue), CloudStackVersion.class.getName() + ".parse(String) requires a non-blank value"); checkArgument(NUMBER_VERSION_FORMAT.matcher(trimmedValue).matches(), CloudStackVersion.class.getName() + ".parse(String) passed " + value + ", but requires a value in the format of int.int.int(.int)(-)"); diff --git a/utils/src/main/java/org/apache/cloudstack/utils/imagestore/ImageStoreUtil.java b/utils/src/main/java/org/apache/cloudstack/utils/imagestore/ImageStoreUtil.java index da194196e8d..5d6ba2cd5f3 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/imagestore/ImageStoreUtil.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/imagestore/ImageStoreUtil.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.utils.imagestore; import com.cloud.utils.UriUtils; import com.cloud.utils.script.Script; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; public class ImageStoreUtil { diff --git a/utils/src/main/java/org/apache/cloudstack/utils/process/ProcessRunner.java b/utils/src/main/java/org/apache/cloudstack/utils/process/ProcessRunner.java index 7bb2164210d..b8b2555f4c9 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/process/ProcessRunner.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/process/ProcessRunner.java @@ -20,7 +20,6 @@ package org.apache.cloudstack.utils.process; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; import com.google.common.io.CharStreams; import org.apache.log4j.Logger; import org.joda.time.Duration; @@ -99,7 +98,7 @@ public final class ProcessRunner { retVal = -1; stdError = "Operation timed out, aborted."; } finally { - if (Strings.isNullOrEmpty(stdError)) { + if (StringUtils.isEmpty(stdError)) { stdOutput = CharStreams.toString(new InputStreamReader(process.getInputStream())); stdError = CharStreams.toString(new InputStreamReader(process.getErrorStream())); } diff --git a/utils/src/main/java/org/apache/cloudstack/utils/redfish/RedfishClient.java b/utils/src/main/java/org/apache/cloudstack/utils/redfish/RedfishClient.java index 51d6b7cb251..4687aeba0fc 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/redfish/RedfishClient.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/redfish/RedfishClient.java @@ -38,7 +38,7 @@ import javax.net.ssl.TrustManager; import com.cloud.utils.nio.TrustAllManager; import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.CloseableHttpResponse; diff --git a/utils/src/main/java/org/apache/cloudstack/utils/security/CertUtils.java b/utils/src/main/java/org/apache/cloudstack/utils/security/CertUtils.java index d357d6d0528..e56a780a647 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/security/CertUtils.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/security/CertUtils.java @@ -73,7 +73,7 @@ import org.bouncycastle.util.io.pem.PemWriter; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; public class CertUtils { @@ -219,7 +219,7 @@ public class CertUtils { final List subjectAlternativeNames = new ArrayList(); if (publicIPAddresses != null) { for (final String publicIPAddress: new HashSet<>(publicIPAddresses)) { - if (Strings.isNullOrEmpty(publicIPAddress)) { + if (StringUtils.isEmpty(publicIPAddress)) { continue; } subjectAlternativeNames.add(new GeneralName(GeneralName.iPAddress, publicIPAddress)); @@ -227,7 +227,7 @@ public class CertUtils { } if (dnsNames != null) { for (final String dnsName : new HashSet<>(dnsNames)) { - if (Strings.isNullOrEmpty(dnsName)) { + if (StringUtils.isEmpty(dnsName)) { continue; } subjectAlternativeNames.add(new GeneralName(GeneralName.dNSName, dnsName)); diff --git a/utils/src/main/java/org/apache/cloudstack/utils/security/ChecksumValue.java b/utils/src/main/java/org/apache/cloudstack/utils/security/ChecksumValue.java index e7a7be46bad..3ef7e879815 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/security/ChecksumValue.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/security/ChecksumValue.java @@ -18,7 +18,7 @@ package org.apache.cloudstack.utils.security; import java.util.Objects; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; public class ChecksumValue { String checksum; diff --git a/utils/src/main/java/org/apache/cloudstack/utils/security/DigestHelper.java b/utils/src/main/java/org/apache/cloudstack/utils/security/DigestHelper.java index f856b1f2892..8fd8e8f338e 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/security/DigestHelper.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/security/DigestHelper.java @@ -16,7 +16,7 @@ // under the License. package org.apache.cloudstack.utils.security; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import java.io.IOException; import java.io.InputStream; diff --git a/utils/src/main/java/org/apache/cloudstack/utils/volume/VirtualMachineDiskInfo.java b/utils/src/main/java/org/apache/cloudstack/utils/volume/VirtualMachineDiskInfo.java index c158f10d3a3..34455436b78 100644 --- a/utils/src/main/java/org/apache/cloudstack/utils/volume/VirtualMachineDiskInfo.java +++ b/utils/src/main/java/org/apache/cloudstack/utils/volume/VirtualMachineDiskInfo.java @@ -17,7 +17,7 @@ package org.apache.cloudstack.utils.volume; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; public class VirtualMachineDiskInfo { private String diskDeviceBusName; diff --git a/utils/src/test/java/com/cloud/utils/StringUtilsTest.java b/utils/src/test/java/com/cloud/utils/StringUtilsTest.java index 09a6c71bcf8..3d8c57b3946 100644 --- a/utils/src/test/java/com/cloud/utils/StringUtilsTest.java +++ b/utils/src/test/java/com/cloud/utils/StringUtilsTest.java @@ -140,12 +140,6 @@ public class StringUtilsTest { assertEquals(result, expected); } - @Test - public void testJoin() { - assertEquals("a-b-c", StringUtils.join("-", "a", "b", "c")); - assertEquals("", StringUtils.join("-")); - } - @Test public void testCleanSecretkeyFromJsonObjectAtEnd() { final String input = "{\"foo\":\"bar\",\"secretkey\":\"test\"}"; diff --git a/utils/src/test/java/com/cloud/utils/log/CglibThrowableRendererTest.java b/utils/src/test/java/com/cloud/utils/log/CglibThrowableRendererTest.java index bf9cfc525f8..136fe120e51 100644 --- a/utils/src/test/java/com/cloud/utils/log/CglibThrowableRendererTest.java +++ b/utils/src/test/java/com/cloud/utils/log/CglibThrowableRendererTest.java @@ -21,7 +21,7 @@ package com.cloud.utils.log; import java.lang.reflect.Method; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Test; diff --git a/utils/src/test/java/org/apache/cloudstack/utils/process/ProcessTest.java b/utils/src/test/java/org/apache/cloudstack/utils/process/ProcessTest.java index a175e6010cd..581a7d56beb 100644 --- a/utils/src/test/java/org/apache/cloudstack/utils/process/ProcessTest.java +++ b/utils/src/test/java/org/apache/cloudstack/utils/process/ProcessTest.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.utils.process; import com.cloud.utils.concurrency.NamedThreadFactory; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.joda.time.Duration; import org.junit.Assert; import org.junit.Test; @@ -41,7 +41,7 @@ public class ProcessTest { public void testProcessRunner() { ProcessResult result = RUNNER.executeCommands(Arrays.asList("sleep", "0")); Assert.assertEquals(result.getReturnCode(), 0); - Assert.assertTrue(Strings.isNullOrEmpty(result.getStdError())); + Assert.assertTrue(StringUtils.isEmpty(result.getStdError())); } @Test diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/ClusterMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/ClusterMO.java index 1bcebc9eab3..6f1b0ae6a4c 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/ClusterMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/ClusterMO.java @@ -23,7 +23,7 @@ import java.util.HashMap; import java.util.List; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.google.gson.Gson; diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java index a2435b1463c..07bead77c1f 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java @@ -25,7 +25,7 @@ import java.util.Map; import java.util.regex.Pattern; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.google.gson.Gson; diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java index c8a0997efe7..6ccd5825cdb 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java @@ -41,7 +41,7 @@ import javax.xml.transform.stream.StreamResult; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.commons.collections.MapUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.maven.artifact.versioning.ComparableVersion; import org.w3c.dom.Document; diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index c27470e3ad6..5a08aa7e2f0 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -44,7 +44,7 @@ import com.vmware.vim25.TaskInfo; import com.vmware.vim25.TaskInfoState; import com.vmware.vim25.VirtualMachineTicket; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.hypervisor.vmware.mo.SnapshotDescriptor.SnapshotInfo; @@ -1313,7 +1313,7 @@ public class VirtualMachineMO extends BaseMO { deviceConfigSpec.setDevice(newDisk); deviceConfigSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.CREATE); deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD); - if (!StringUtils.isEmpty(vSphereStoragePolicyId)) { + if (StringUtils.isNotEmpty(vSphereStoragePolicyId)) { PbmProfileManagerMO profMgrMo = new PbmProfileManagerMO(getContext()); VirtualMachineDefinedProfileSpec diskProfileSpec = profMgrMo.getProfileSpec(vSphereStoragePolicyId); deviceConfigSpec.getProfile().add(diskProfileSpec); @@ -1439,7 +1439,7 @@ public class VirtualMachineMO extends BaseMO { deviceConfigSpec.setDevice(newDisk); deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD); - if (!StringUtils.isEmpty(vSphereStoragePolicyId)) { + if (StringUtils.isNotEmpty(vSphereStoragePolicyId)) { PbmProfileManagerMO profMgrMo = new PbmProfileManagerMO(getContext()); VirtualMachineDefinedProfileSpec diskProfileSpec = profMgrMo.getProfileSpec(vSphereStoragePolicyId); deviceConfigSpec.getProfile().add(diskProfileSpec); diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareClient.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareClient.java index 9d79e5466af..ccc68283d06 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareClient.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareClient.java @@ -43,7 +43,7 @@ import com.vmware.pbm.PbmPortType; import com.vmware.pbm.PbmService; import com.vmware.pbm.PbmServiceInstanceContent; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.w3c.dom.Element; diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContextPool.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContextPool.java index b2e7636e0ae..bcb0960f454 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContextPool.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContextPool.java @@ -16,7 +16,7 @@ // under the License. package com.cloud.hypervisor.vmware.util; -import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; import org.apache.cloudstack.managed.context.ManagedContextTimerTask; import org.apache.log4j.Logger; import org.joda.time.Duration; @@ -58,7 +58,7 @@ public class VmwareContextPool { public VmwareContext getContext(final String vCenterAddress, final String vCenterUserName) { final String poolKey = composePoolKey(vCenterAddress, vCenterUserName).intern(); - if (Strings.isNullOrEmpty(poolKey)) { + if (StringUtils.isEmpty(poolKey)) { return null; } synchronized (poolKey) { @@ -116,7 +116,7 @@ public class VmwareContextPool { final String poolKey = context.getPoolKey().intern(); final Queue ctxList = _pool.get(poolKey); synchronized (poolKey) { - if (!Strings.isNullOrEmpty(poolKey) && ctxList != null && ctxList.contains(context)) { + if (StringUtils.isNotEmpty(poolKey) && ctxList != null && ctxList.contains(context)) { ctxList.remove(context); } } diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java index 94b83a39e73..14ea3771cd4 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java @@ -37,7 +37,7 @@ import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.hypervisor.vmware.mo.CustomFieldConstants; @@ -739,7 +739,7 @@ public class VmwareHelper { public static HostMO getHostMOFromHostName(final VmwareContext context, final String hostName) { HostMO host = null; - if (com.cloud.utils.StringUtils.isNotBlank(hostName) && hostName.contains("@")) { + if (StringUtils.isNotBlank(hostName) && hostName.contains("@")) { String hostMorInfo = hostName.split("@")[0]; if (hostMorInfo.contains(":")) { ManagedObjectReference morHost = new ManagedObjectReference();