package org.genedb.web.mvc.controller;
import org.genedb.db.taxon.TaxonNodeListFormatter;
import org.genedb.db.taxon.TaxonNodeManager;
import org.genedb.util.Pair;
import org.apache.log4j.Logger;
import org.springframework.core.convert.ConversionService;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import java.util.Set;
import com.google.common.collect.Sets;
public class BaseController {
protected Logger logger = Logger.getLogger(BaseController.class);
//private TaxonNodeListFormatter taxonNodeListFormatter;
protected ConversionService conversionService;
public void setConversionService(ConversionService conversionService) {
this.conversionService = conversionService;
}
private TaxonNodeManager taxonNodeManager;
private Set<String> validExtensions = Sets.newHashSet();
public Pair<String, String> parseExtension(String argument) {
if (argument != null) {
int extensionStart = argument.lastIndexOf('.');
if (extensionStart > 0 && extensionStart < argument.length()) {
String firstPart = argument.substring(0, extensionStart);
String extension = argument.substring(extensionStart+1);
logger.warn("The extension is '"+extension+"'");
if (validExtensions.contains(extension)) {
return new Pair<String, String>(firstPart, extension);
}
}
return new Pair<String, String>(argument, "");
}
return null;
}
// public void setTaxonNodeListFormatter(TaxonNodeListFormatter taxonNodeListFormatter) {
// this.taxonNodeListFormatter = taxonNodeListFormatter;
// }
public void setValidExtensions(Set<String> validExtensions) {
this.validExtensions = validExtensions;
}
public void setTaxonNodeManager(TaxonNodeManager taxonNodeManager) {
this.taxonNodeManager = taxonNodeManager;
}
protected TaxonNodeManager getTaxonNodeManager() {
return taxonNodeManager;
}
}