cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TaxonController.java -text
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TaxonListController.java -text
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TaxonPortalController.java -text
-cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TaxonPortalListController.java -text
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TaxonomicTreeController.java -text
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TermListController.java -text
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/interceptor/ContentNegociationHandlerInterceptor.java -text
<!--Uncomment tomcat to deploy to-->
<!-- current production -->
- <update>true</update>
- <server>tomcat-edit</server>
- <url>http://search.biocase.org:8080/manager</url>
+<!-- <update>true</update>-->
+<!-- <server>tomcat-edit</server>-->
+<!-- <url>http://search.biocase.org:8080/manager</url>-->
<!-- remote testing-->
-<!-- <update>true</update>
+ <update>true</update>
<server>tomcat-cdm</server>
- <url>http://160.45.63.201:8080/manager</url>
- -->
+ <url>http://160.45.63.201:8080/manager</url>
<!-- <server>tomcat-local</server>-->
</configuration>
import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
+import org.apache.log4j.Logger;\r
import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.stereotype.Controller;\r
import org.springframework.web.bind.annotation.RequestMapping;\r
@Controller\r
@RequestMapping(value = { "/*/geo/map/distribution/*" })\r
public class ExternalGeoController extends BaseController<TaxonBase, ITaxonService> {\r
+ \r
+ public static final Logger logger = Logger.getLogger(ExternalGeoController.class);\r
\r
@Autowired\r
private IEditGeoService geoservice;\r
public ModelAndView doGetDistributionMapUriParams(HttpServletRequest request, HttpServletResponse response)\r
throws IOException {\r
\r
+ logger.info("doGetDistributionMapUriParams() " + request.getServletPath());\r
ModelAndView mv = new ModelAndView();\r
// get the descriptions for the taxon\r
Taxon taxon = getCdmBase(request, response, null, Taxon.class);\r
@RequestParam(value = "page", required = false) Integer page,\r
@RequestParam(value = "pageSize", required = false) Integer pageSize,\r
HttpServletRequest request, HttpServletResponse response) throws IOException {\r
- \r
+ logger.info("getAccepted() " + request.getServletPath());\r
TaxonBase tb = doGet(request, response);\r
HashSet<TaxonBase> resultset = new HashSet<TaxonBase>();\r
if(tb instanceof Taxon){\r
import java.io.IOException;\r
import java.util.ArrayList;\r
import java.util.Arrays;\r
+import java.util.HashSet;\r
import java.util.Hashtable;\r
import java.util.List;\r
import java.util.Map;\r
import java.util.regex.Matcher;\r
import java.util.regex.Pattern;\r
\r
-\r
import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
+import org.apache.commons.lang.ObjectUtils;\r
import org.apache.log4j.Logger;\r
import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.stereotype.Controller;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
-import eu.etaxonomy.cdm.model.media.ImageFile;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
-import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;\r
import eu.etaxonomy.cdm.model.name.NameRelationship;\r
import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;\r
-import eu.etaxonomy.cdm.model.occurrence.Collection;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.cdm.model.taxon.Synonym;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
@Override\r
@RequestMapping(method = RequestMethod.GET)\r
public TaxonBase doGet(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ logger.info("doGet()");\r
TaxonBase tb = getCdmBase(request, response, TAXON_INIT_STRATEGY, TaxonBase.class);\r
return tb;\r
}\r
//FIXME duplicate method see TaxonPortalListController.doFind() : TaxonPortalListController is disabled!\r
public Pager<IdentifiableEntity> doFind(\r
@RequestParam(value = "query", required = false) String query,\r
+ @RequestParam(value = "tree", required = false) UUID treeUuid,\r
+ @RequestParam(value = "area", required = false) Set<NamedArea> areas,\r
@RequestParam(value = "page", required = false) Integer page,\r
@RequestParam(value = "pageSize", required = false) Integer pageSize,\r
@RequestParam(value = "doTaxa", required = false) Boolean doTaxa,\r
@RequestParam(value = "doSynonyms", required = false) Boolean doSynonyms,\r
- @RequestParam(value = "doTaxaByCommonNames", required = false) Boolean doTaxaByCommonNames,\r
- @RequestParam(value = "area", required = false) Set<NamedArea> areas,\r
- @RequestParam(value = "treeUuid", required = false) UUID treeUuid) throws IOException {\r
+ @RequestParam(value = "doTaxaByCommonNames", required = false) Boolean doTaxaByCommonNames)\r
+ throws IOException {\r
+ \r
+ logger.info("doFind( " +\r
+ "query=\"" + ObjectUtils.toString(query) + "\", treeUuid=" + ObjectUtils.toString(treeUuid) + \r
+ ", area=" + ObjectUtils.toString(areas) +\r
+ ", pageSize=" + ObjectUtils.toString(pageSize) + ", page=" + ObjectUtils.toString(page) + \r
+ ", doTaxa=" + ObjectUtils.toString(doTaxa) + ", doSynonyms=" + ObjectUtils.toString(doSynonyms) +")" );\r
\r
if(page == null){ page = BaseListController.DEFAULT_PAGE;}\r
if(pageSize == null){ pageSize = BaseListController.DEFAULT_PAGESIZE;}\r
value = {"/*/portal/taxon/*/synonymy"},\r
method = RequestMethod.GET)\r
public ModelAndView doGetSynonymy(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ \r
+ logger.info("doGetSynonymy() " + request.getServletPath());\r
ModelAndView mv = new ModelAndView();\r
TaxonBase tb = getCdmBase(request, response, null, Taxon.class);\r
Taxon taxon = (Taxon)tb;\r
return mv;\r
}\r
\r
+ @RequestMapping(value = "/*/portal/taxon/*/accepted", method = RequestMethod.GET)\r
+ public Set<TaxonBase> getAccepted(\r
+ @RequestParam(value = "page", required = false) Integer page,\r
+ @RequestParam(value = "pageSize", required = false) Integer pageSize,\r
+ HttpServletRequest request, HttpServletResponse response) throws IOException {\r
+ \r
+ logger.info("getAccepted() " + request.getServletPath());\r
+ TaxonBase tb = doGet(request, response);\r
+ HashSet<TaxonBase> resultset = new HashSet<TaxonBase>();\r
+ if(tb instanceof Taxon){\r
+ //the taxon already is accepted\r
+ //FIXME take the current view into account once views are implemented!!!\r
+ resultset.add((Taxon)tb);\r
+ } else {\r
+ Synonym syn = (Synonym)tb;\r
+ resultset.addAll(syn.getAcceptedTaxa());\r
+ }\r
+ return resultset;\r
+ }\r
+ \r
@RequestMapping(\r
value = {"/*/portal/taxon/*/taxonRelationships"},\r
method = RequestMethod.GET)\r
public List<TaxonRelationship> doGetTaxonRelations(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
\r
+ logger.info("doGetTaxonRelations()" + request.getServletPath());\r
TaxonBase tb = getCdmBase(request, response, null, Taxon.class);\r
Taxon taxon = (Taxon)tb;\r
List<TaxonRelationship> relations = new ArrayList<TaxonRelationship>();\r
value = {"/*/portal/taxon/*/nameRelationships"},\r
method = RequestMethod.GET)\r
public List<NameRelationship> doGetNameRelations(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ logger.info("doGetNameRelations()" + request.getServletPath());\r
TaxonBase tb = getCdmBase(request, response, SIMPLE_TAXON_INIT_STRATEGY, Taxon.class);\r
List<NameRelationship> list = nameService.listToNameRelationships(tb.getName(), null, null, null, null, NAMERELATIONSHIP_INIT_STRATEGY);\r
return list;\r
value = {"/*/portal/name/*/descriptions"},\r
method = RequestMethod.GET)\r
public List<TaxonNameDescription> doGetNameDescriptions(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ logger.info("doGetNameDescriptions()" + request.getServletPath());\r
UUID nameUuuid = readValueUuid(request, null);\r
TaxonNameBase tnb = nameService.load(nameUuuid, null);\r
Pager<TaxonNameDescription> p = descriptionService.getTaxonNameDescriptions(tnb, null, null, NAMEDESCRIPTION_INIT_STRATEGY);\r
value = {"/*/portal/taxon/*/nameTypeDesignations"},\r
method = RequestMethod.GET)\r
public List<TypeDesignationBase> doGetNameTypeDesignations(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ logger.info("doGetNameTypeDesignations()" + request.getServletPath());\r
TaxonBase tb = getCdmBase(request, response, SIMPLE_TAXON_INIT_STRATEGY, Taxon.class);\r
Pager<TypeDesignationBase> p = nameService.getTypeDesignations(tb.getName(), null, null, null, TYPEDESIGNATION_INIT_STRATEGY);\r
return p.getRecords();\r
value = {"/*/portal/taxon/*/descriptions"},\r
method = RequestMethod.GET)\r
public List<TaxonDescription> doGetDescriptions(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ logger.info("doGetDescriptions()" + request.getServletPath());\r
Taxon t = getCdmBase(request, response, null, Taxon.class);\r
Pager<TaxonDescription> p = descriptionService.getTaxonDescriptions(t, null, null, null, null, TAXONDESCRIPTION_INIT_STRATEGY);\r
return p.getRecords();\r
value = {"/*/portal/taxon/*/media/*/*"},\r
method = RequestMethod.GET)\r
public List<Media> doGetMedia(HttpServletRequest request, HttpServletResponse response)throws IOException {\r
+ logger.info("doGetMedia()" + request.getServletPath());\r
Taxon t = getCdmBase(request, response, null, Taxon.class);\r
Pager<TaxonDescription> p = descriptionService.getTaxonDescriptions(t, null, null, null, null, TAXONDESCRIPTION_INIT_STRATEGY);\r
\r
*/\r
private SortedMap<String, MediaRepresentation> orderMediaRepresentations(Media media, String[] mimeTypeRegexes,\r
Integer size, Integer widthOrDuration, Integer height) {\r
-\r
SortedMap<String, MediaRepresentation> prefRepr = new TreeMap<String, MediaRepresentation>();\r
for (String mimeTypeRegex : mimeTypeRegexes) {\r
// getRepresentationByMimeType\r
+++ /dev/null
-// $Id: TaxonListController.java 5584 2009-04-09 10:04:18Z a.kohlbecker $\r
-/**\r
- * Copyright (C) 2009 EDIT European Distributed Institute of Taxonomy\r
- * http://www.e-taxonomy.eu\r
- * \r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 See LICENSE.TXT at the top of this package for the full license terms.\r
- */\r
-\r
-package eu.etaxonomy.cdm.remote.controller;\r
-\r
-import java.util.UUID;\r
-\r
-import org.springframework.beans.factory.annotation.Autowired;\r
-import org.springframework.stereotype.Controller;\r
-import org.springframework.web.bind.annotation.RequestMapping;\r
-import org.springframework.web.bind.annotation.RequestMethod;\r
-import org.springframework.web.bind.annotation.RequestParam;\r
-\r
-import eu.etaxonomy.cdm.api.service.IReferenceService;\r
-import eu.etaxonomy.cdm.api.service.ITaxonService;\r
-import eu.etaxonomy.cdm.api.service.config.ITaxonServiceConfigurator;\r
-import eu.etaxonomy.cdm.api.service.config.impl.TaxonServiceConfiguratorImpl;\r
-import eu.etaxonomy.cdm.api.service.pager.Pager;\r
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonomicTree;\r
-import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
-\r
-/**\r
- * @author a.kohlbecker\r
- * @date 20.03.2009\r
- */\r
-//@Controller\r
-@RequestMapping(value = {"/*/portal/taxon/"})\r
-public class TaxonPortalListController extends BaseListController<TaxonBase, ITaxonService> {\r
-\r
- @Autowired\r
- private IReferenceService referenceService;\r
- \r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.remote.controller.BaseListController#setService(eu.etaxonomy.cdm.api.service.IService)\r
- */\r
- @Override\r
- @Autowired\r
- public void setService(ITaxonService service) {\r
- this.service = service; \r
- }\r
- \r
- public Pager<TaxonBase> doGet() {\r
- return null;\r
- }\r
- \r
- @RequestMapping(method = RequestMethod.GET)\r
- public Pager<IdentifiableEntity> doFind( //FIXME duplicate method see TaxonPortalController.doFind()\r
- @RequestParam(value = "page", required = false) Integer page,\r
- @RequestParam(value = "pageSize", required = false) Integer pageSize,\r
- @RequestParam(value = "q", required = false) String query,\r
- @RequestParam(value = "doTaxa", required = false) Boolean doTaxa,\r
- @RequestParam(value = "doSynonyms", required = false) Boolean doSynonyms,\r
- @RequestParam(value = "doNamesWithoutTaxa", required = false) Boolean doNamesWithoutTaxa,\r
- @RequestParam(value = "treeUuid", required = false) UUID treeUuid) {\r
- \r
- if(page == null){ page = DEFAULT_PAGE;}\r
- if(pageSize == null){ pageSize = DEFAULT_PAGESIZE;}\r
- \r
- ITaxonServiceConfigurator config = new TaxonServiceConfiguratorImpl();\r
- config.setPageNumber(page);\r
- config.setPageSize(pageSize);\r
- config.setSearchString(query);\r
- config.setDoTaxa(doTaxa);\r
- config.setDoSynonyms(doSynonyms);\r
- config.setDoNamesWithoutTaxa(doNamesWithoutTaxa);\r
- config.setMatchMode(MatchMode.BEGINNING);\r
- if(treeUuid != null){\r
- TaxonomicTree taxonomicTree = service.getTaxonomicTreeByUuid(treeUuid);\r
- config.setTaxonomicTree(taxonomicTree);\r
- }\r
- \r
- return (Pager<IdentifiableEntity>) service.findTaxaAndNames(config);\r
- }\r
-}
\ No newline at end of file
\r
\r
\r
- @RequestMapping(\r
- value = {"/*/taxontree"}, \r
- method = RequestMethod.GET)\r
- public List<TaxonomicTree> getTaxonomicTrees(HttpServletRequest request, HttpServletResponse response) throws IOException {\r
- return service.listTaxonomicTrees(null, null, null, TAXONTREE_INIT_STRATEGY);\r
+ @RequestMapping(value = { "/*/taxontree" }, method = RequestMethod.GET)\r
+ public List<TaxonomicTree> getTaxonomicTrees(HttpServletRequest request, HttpServletResponse response)\r
+ throws IOException {\r
+ logger.info("getTaxonomicTrees()");\r
+ return service.listTaxonomicTrees(null, null, null, TAXONTREE_INIT_STRATEGY);\r
}\r
\r
\r
value = {"/*/taxontree/?*"},\r
method = RequestMethod.GET)\r
public List<TaxonNode> getRootTaxa(HttpServletRequest request, HttpServletResponse response) throws IOException {\r
- \r
+ logger.info("getRootTaxa()");\r
List<String> uriParams = readUriParameters(request);\r
TaxonomicTree tree = null;\r
Rank rank = null;\r
value = {"/*/taxontree/*/?*", "/*/taxontree/*/**/?*"}, \r
method = RequestMethod.GET)\r
public List<TaxonNode> getChildTaxa(HttpServletRequest request, HttpServletResponse response) throws IOException {\r
- \r
+ logger.info("getChildTaxa()");\r
List<String> uriParams = readUriParameters(request);\r
if(uriParams.size() <= 1){\r
response.sendError(400, "At least two uuid parameters expected but found " + uriParams.size());\r
value = {"/*/taxontree/*/*/path", "/*/taxontree/*/**/*/path"}, \r
method = RequestMethod.GET)\r
public List<TaxonNode> getPathToRoot(HttpServletRequest request, HttpServletResponse response) throws IOException {\r
- \r
+ logger.info("getPathToRoot()");\r
List<Taxon> pathToRoot = new ArrayList<Taxon>();\r
List<String> uriParams = readUriParameters(request);\r
if(uriParams.size() <= 1){\r
# cdm\r
###\r
log4j.logger.eu.etaxonomy.cdm = INFO\r
+# avoid vast amount of "getCitation not yet implemented" & "getProblems not yet implemented" messages\r
+log4j.logger.eu.etaxonomy.cdm.model.name.TaxonNameBase = ERROR\r
log4j.logger.eu.etaxonomy.cdm.database.UpdatableRoutingDataSource = INFO\r
log4j.logger.eu.etaxonomy.cdm.persistence.dao.AbstractBeanInitializer = ERROR\r
log4j.logger.eu.etaxonomy.cdm.remote.controller = WARN\r
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
">
-
+ <!--
+ see also /cdmlib-remote/src/main/resources/spy.properties in which P6Spy is configured
+ important properities are:
+ realdriver=com.mysql.jdbc.Driver
+ log4j.logger.p6spy=INFO,STDOUT
+ log4j.logger.p6spy=INFO, SQLPROFILER_CLIENT
+ log4j.appender.SQLPROFILER_CLIENT.RemoteHost =
+
+ you can use sqlprofiler as SQLPROFILER_CLIENT
+ -->
<bean id="dataSource" lazy-init="true" class="org.springframework.jdbc.datasource.DriverManagerDataSource">\r
<property name="driverClassName" value="com.p6spy.engine.spy.P6SpyDriver"/>
<property name="username" value="${local.usr}"/>
\r
<bean id="dataSource" lazy-init="true" class="eu.etaxonomy.cdm.database.UpdatableRoutingDataSource">\r
<!-- The property beanDefinitionFile defaults to "datasources.xml" in {USER_HOME}./cdmLibrary -->\r
- <!-- The property defaultDatasourceName defaults to "empty_default" \r
+ <!-- The property defaultDatasourceName defaults to "default" \r
+ <property name="beanDefinitionFile" value="datasources-p6spy.xml" />\r
<property name="defaultDatasourceName" value="cichorieae" />\r
-->\r
</bean>\r
<description>EDIT CDM Community Server</description>
<display-name>CDM Community Server</display-name>
-
+ <!-- ==================================================================
+ load /WEB-INF/applicationContext.xml
+
+ org.springframework.web.context.ContextLoaderListener defaults
+ to /WEB-INF/applicationContext.xml if contextConfigLocation
+ not set
+ ================================================================== -->
+ <!--
+ -->
+ <listener>
+ <listener-class>
+ org.springframework.web.context.ContextLoaderListener
+ </listener-class>
+ </listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
+
+ <!-- ==================================================================
+ load other log4j.properties than that found in WEB-INF/classes/
+ ================================================================== -->
+ <!--
+ <listener>
+ <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
+ </listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/eu/etaxonomy/cdm/remote/log4j.properties</param-value>
</context-param>
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- <!-- defaults to /WEB-INF/applicationContext.xml if contextConfigLocation not set -->
- </listener-class>
- </listener>
+ -->
+
<servlet>
<description>CDM Remote REST API</description>
<!-- <filter-name>springSecurityFilterChain</filter-name>-->
<!-- <url-pattern>/*</url-pattern>-->
<!-- </filter-mapping>-->
-
- <!--
- <listener>
- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
- </listener>
- -->
+
</web-app>
+#\r
+#\r
+# If you are having problems with logging you may debug Log4J initialization, \r
+# start the application with a system property log4j.configDebug set to "true". \r
+# E.g.:\r
+#\r
+# java -Dlog4j.configDebug=true\r
+#\r
+\r
log4j.rootLogger=WARN, stdout\r
\r
\r
log4j.appender.logfile=org.apache.log4j.RollingFileAppender\r
log4j.appender.logfile.File=cdmlib-remote.log\r
log4j.appender.logfile.MaxFileSize=512KB\r
-# Keep three backup files.\r
+# Keep three backup files.\r
log4j.appender.logfile.MaxBackupIndex=3\r
-# Pattern to output: date priority [category] - message\r
+# Pattern to output: date priority [category] - message\r
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout\r
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n\r
\r
\r
-\r
-#log4j.category.org.springframework.web.servlet.mvc.support=DEBUG, stdout\r
-log4j.logger.eu.etaxonomy.cdm = info \r
+###\r
+# cdm\r
+###\r
+log4j.logger.eu.etaxonomy.cdm = INFO\r
+log4j.logger.eu.etaxonomy.cdm.database.UpdatableRoutingDataSource = INFO\r
+log4j.logger.eu.etaxonomy.cdm.persistence.dao.AbstractBeanInitializer = ERROR\r
log4j.logger.eu.etaxonomy.cdm.remote.controller = WARN\r
#log4j.logger.eu.etaxonomy.cdm.remote.json.processor.AbstractCdmBeanProcessor = DEBUG\r
-#log4j.logger.eu.etaxonomy.cdm.persistence.dao.AbstractBeanInitializer = DEBUG\r
-# prevent CdmExceptionResolver from logging errors\r
+log4j.logger.eu.etaxonomy.cdm.remote.controller = INFO\r
+log4j.logger.eu.etaxonomy.cdm.remote.controller.interceptor = WARN\r
+# prevent CdmExceptionResolver from logging errors\r
log4j.logger.eu.etaxonomy.cdm.remote.exception.CdmExceptionResolver = ERROR\r
-log4j.logger.org.hibernate=warn\r
+\r
+###\r
+# springframework\r
+### \r
log4j.logger.org.springframework = warn\r
log4j.logger.org.springframework.web.servlet.DispatcherServlet = WARN\r
log4j.logger.org.springframework.web.servlet.mvc.annotation = WARN\r
+#log4j.category.org.springframework.web.servlet.mvc.support=DEBUG, stdout\r
log4j.logger.org.springframework.web.servlet.view = WARN\r
\r
-### json-lib\r
+###\r
+# json-lib\r
+### \r
log4j.logger.net.sf.json.JSONObject = ERROR\r
\r
-### log just the SQL\r
-log4j.logger.org.hibernate.SQL=warn\r
+###\r
+# Hibernate\r
+###\r
+log4j.logger.org.hibernate=WARN\r
+# log just the SQL\r
+log4j.logger.org.hibernate.SQL=WARN\r
log4j.logger.org.hibernate.search = ERROR\r
-\r
-### log JDBC bind parameters ###\r
-log4j.logger.org.hibernate.type=warn\r
-\r
-### log schema export/update ###\r
-log4j.logger.org.hibernate.tool.hbm2ddl=warn\r
-\r
-log4j.logger.org.mortbay.jetty = info\r
+# log JDBC bind parameters\r
+log4j.logger.org.hibernate.type=WARN\r
+# log schema export/update\r
+log4j.logger.org.hibernate.tool.hbm2ddl=WARN\r