/* * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2007. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.http.webclient.repository.query; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; import javax.servlet.http.HttpServletRequest; import org.springframework.web.servlet.mvc.SimpleFormController; import org.openrdf.query.QueryLanguage; import org.openrdf.query.parser.QueryParserFactory; import org.openrdf.query.parser.QueryParserRegistry; /** * @author Herko ter Horst * @author Arjohn Kampman */ public class QueryFormController extends SimpleFormController { @Override protected Map<String, Object> referenceData(HttpServletRequest request) { Map<String, Object> result = new HashMap<String, Object>(); Map<String, QueryLanguage> queryLanguages = new TreeMap<String, QueryLanguage>(); for (QueryParserFactory factory : QueryParserRegistry.getInstance().getAll()) { QueryLanguage ql = factory.getQueryLanguage(); // FIXME: webclient produces an error when the ql name is not upper // cased. Why? queryLanguages.put(ql.getName().toUpperCase(), ql); } result.put("queryLanguages", queryLanguages); return result; } }