Java Code Examples for org.apache.commons.lang3.StringUtils.chop()

The following are Jave code examples for showing how to use chop() of the org.apache.commons.lang3.StringUtils class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: yadaframework   File: YadaConfiguration.java   View Source Code Vote up 6 votes
/**
 * Url da cui prelevare i "contenuti" caricati dall'utente, senza slash finale.
 * Può essere relativa alla root della webapp oppure completa, per esempio "/contents" oppure "http://cdn.my.com/contents" o "//cdn.my.com/contents"
 * @return the configured value, or "/contents" by default
 */
public String getContentUrl() {
	if (contentUrl==null) {
		contentUrl = configuration.getString("config/paths/contentDir/@url", "/contents");
		if (contentUrl.endsWith("/")) {
			contentUrl = StringUtils.chop(contentUrl); // Remove last character
		}
		if (!contentUrl.startsWith("http") && !contentUrl.startsWith("/")) {
			contentUrl = '/' + contentUrl;
		}
		if (contentUrl.length()==0 || contentUrl.equals("/")) {
			throw new YadaConfigurationException("The configured contentDir url is invalid: it should either be a full url or a folder-like value, as in '/xxx/yyy'");
		}
	}
	return contentUrl;
}
 
Example 2
Project: yadaframework   File: YadaWebConfig.java   View Source Code Vote up 4 votes
/**
 * Tutti i file dentro a /res vengono indicati come cacheabili lato browser per 1 anno (tramite l'header expires).
 * Per evitare che nuove versioni non vengano mai prese, si usa il "trucco" di indicare il numero di build nell'url, così cambiando
 * la build cambia l'url e la cache del browser va in miss la prima volta.
 * Per sfruttare questo meccanismo bisogna usare lo YadaDialect con l'attributo yada:href, che si comporta come il th:href ma inserisce
 * il numero di build nell'url calcolata. Per esempio: yada:href="@{/res/img/favicon.ico}"
 * Stessa cosa per yada:src
 * I file dentro a /static, invece, non cambiano mai nemmeno alle nuove release (anche se in cache stanno solo 100 giorni). Però non è per questo che si usa static, ma per il fatto che dentro ai commenti condizionali
 * non si possono usare i tag thymeleaf, per cui ad esempio html5shiv.js viene messo in /static
 */
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
	
	// The official versioning code doesn't seem to work properly: even when adding a ResourceUrlEncodingFilter to rewrite links
	// See: 
	// https://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resources
	// http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-config-static-resources
	//	registry.addResourceHandler("/resources/**").addResourceLocations("/META-INF/")
	//		.setCachePeriod(8640000) // 100 days cache period
	//		.resourceChain(false).addResolver(new VersionResourceResolver().addFixedVersionStrategy(config.getApplicationBuild(), "/**/"));
	
	String res = STATIC_RESOURCES_FOLDER;
	if (res.endsWith("/")) {
		res = StringUtils.chop(res); // Remove last character
	}
	registry.addResourceHandler(res + "-" + config.getApplicationBuild() + "/**").addResourceLocations(res+"/").setCachePeriod(8640000); // 100 days cache period
	// Uso "-?*/**" per matchare anche eventuali versioni vecchie che qualcuno potrebbe avere in cache
	// Non si può fare perché non matcha
	// registry.addResourceHandler(res + "-*/**").addResourceLocations(res+"/").setCachePeriod(31556926); // 1 year cache period

	String s = STATIC_FILE_FOLDER;
	if (s.endsWith("/")) {
		s = StringUtils.chop(s); // Remove last character
	}
	registry.addResourceHandler(s + "/**").addResourceLocations(s+"/").setCachePeriod(8640000); // 100 days cache period
	
	// yadares prende le risorse dal classpath
	String yadares = STATIC_YADARESOURCES_FOLDER;
	if (yadares.endsWith("/")) {
		yadares = StringUtils.chop(res); // Remove last character
	}
	registry.addResourceHandler(yadares + "-" + config.getYadaVersion() + "/**").addResourceLocations("classpath:" + YadaConstants.YADA_VIEW_PREFIX+"/yada/").setCachePeriod(8640000); // 100 days cache period

	// Handling the "contents" uploaded locally
	// NOTE: if you don't need versioning but are happy with the apache file handling, just let apache serve the contents
	if (config.isContentUrlLocal()) {
		String contentUrl = config.getContentUrl();
		// TODO The problem with contents is that the version should be taken from the file timestamp so here it should accept any value but I don't know how to make it work with any version value
		registry.addResourceHandler(contentUrl + "/**").addResourceLocations("file:"+config.getContentPath() + "/").setCachePeriod(8640000); // 100 days cache period
	}
	
	// robots.txt is usually added by the deploy script depending on the environment
	registry.addResourceHandler("/robots.txt").addResourceLocations("/").setCachePeriod(86400); // 1 day cache period
}