All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openstack4j.openstack.common.functions.RemoveVersionFromURL Maven / Gradle / Ivy

There is a newer version: 3.12
Show newest version
package org.openstack4j.openstack.common.functions;

import com.google.common.base.Function;

import static org.openstack4j.core.transport.ClientConstants.URI_SEP;

/**
 * A function that removes the API version from the tail end of a URL as well as any trailing "/".
 * 
 * https://vcloud.test.com:2323/v2.0 would return https://vcloud.test.com:2323
* http://someurl:2321/ would return http://someurl:2321
*

* NOTE: This only removes the tail end of the path if it contains a version * * @author Jeremy Unruh */ public class RemoveVersionFromURL implements Function { public static final String VERSION_REGEX = "/v[0-9]+(\\.[0-9])*"; public static final RemoveVersionFromURL INSTANCE = new RemoveVersionFromURL(); @Override public String apply(String url) { String result = url.replaceFirst(VERSION_REGEX, ""); if (result.endsWith(URI_SEP)) return result.substring(0, result.length() - 1); return result; } public String removeAndApply(String url, String version) { if (url == null) return url; return apply(url).concat(version); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy