ctakes-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vjapa...@apache.org
Subject svn commit: r1551254 [2/26] - in /ctakes/branches/ytex: ctakes-ytex-res/ ctakes-ytex-res/.settings/ ctakes-ytex-res/src/ ctakes-ytex-res/src/main/ ctakes-ytex-res/src/main/resources/ ctakes-ytex-res/src/main/resources/org/ ctakes-ytex-res/src/main/reso...
Date Mon, 16 Dec 2013 16:30:40 GMT
Added: ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/beans-kernel.xml
URL: http://svn.apache.org/viewvc/ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/beans-kernel.xml?rev=1551254&view=auto
==============================================================================
--- ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/beans-kernel.xml (added)
+++ ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/beans-kernel.xml Mon Dec 16 16:30:30 2013
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
+	xmlns:tx="http://www.springframework.org/schema/tx"
+	xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
+http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
+
+	<!-- ensure that the above transactional advice runs for any execution of 
+		an operation defined by the FooService interface -->
+	<aop:config>
+		<aop:pointcut id="daoOperation"
+			expression="execution(* org.apache.ctakes.ytex.kernel.dao.*Dao.*(..))" />
+		<aop:pointcut id="umlsDaoOperation"
+			expression="execution(* org.apache.ctakes.ytex.umls.dao.*Dao.*(..))" />
+		<aop:pointcut id="exporterOperation"
+			expression="execution(* org.apache.ctakes.ytex.*.*Exporter*.*(..))" />
+		<aop:pointcut id="wekaImporter"
+			expression="execution(* org.apache.ctakes.ytex.weka.WekaResultsImporterImpl.*(..))" />
+		<aop:pointcut id="mapperOperation"
+			expression="execution(* org.apache.ctakes.ytex.uima.mapper.*.*(..))" />
+		<aop:pointcut id="treeOperation"
+			expression="execution(* org.apache.ctakes.ytex.kernel.tree.*Tree*.*.*(..))" />
+		<aop:pointcut id="utilOperation"
+			expression="execution(* org.apache.ctakes.ytex.kernel.KernelUtil*.*(..))" />
+		<aop:pointcut id="corpusEvaluatorOperation"
+			expression="execution(* org.apache.ctakes.ytex.kernel.*EvaluatorImpl.*(..))" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="exporterOperation" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="mapperOperation" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="wekaImporter" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="daoOperation" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="umlsDaoOperation" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="treeOperation" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="utilOperation" />
+		<aop:advisor advice-ref="txAdvice" pointcut-ref="corpusEvaluatorOperation" />
+	</aop:config>
+	<bean id="kernelEvaluationDao"
+		class="org.apache.ctakes.ytex.kernel.dao.KernelEvaluationDaoImpl">
+		<property name="sessionFactory" ref="sessionFactory" />
+		<property name="transactionManager" ref="transactionManager" />
+	</bean>
+	<bean id="conceptDao" class="org.apache.ctakes.ytex.kernel.dao.ConceptDaoImpl">
+		<property name="ytexProperties" ref="ytexProperties" />
+		<property name="dataSource" ref="dataSource" />
+		<property name="intrinsicInfoContentEvaluator" ref="intrinsicInfoContentEvaluator" />
+	</bean>
+	<bean id="umlsDao" class="org.apache.ctakes.ytex.umls.dao.UMLSDaoImpl">
+		<property name="sessionFactory" ref="sessionFactory" />
+	</bean>
+	<bean id="wekaBagOfWordsExporter" class="org.apache.ctakes.ytex.weka.WekaBagOfWordsExporterImpl">
+		<property name="dataSource" ref="dataSource" />
+		<property name="transactionManager" ref="transactionManager" />
+	</bean>
+	<bean id="gramMatrixExporter" class="org.apache.ctakes.ytex.weka.GramMatrixExporterImpl">
+		<property name="dataSource" ref="dataSource" />
+		<property name="kernelEvaluationDao" ref="kernelEvaluationDao" />
+		<!-- property name="bagOfWordsExporter" ref="wekaBagOfWordsExporter" / -->
+		<property name="transactionManager" ref="transactionManager" />
+	</bean>
+	<bean id="documentResultInstanceImporter"
+		class="org.apache.ctakes.ytex.weka.DocumentResultInstanceImporter">
+		<property name="sessionFactory" ref="sessionFactory" />
+	</bean>
+	<bean id="wekaResultsImporter" class="org.apache.ctakes.ytex.weka.WekaResultsImporterImpl">
+		<property name="docResultInstanceImporter" ref="documentResultInstanceImporter" />
+		<property name="sessionFactory" ref="sessionFactory" />
+	</bean>
+	<!-- <bean id="corpusDao" class="org.apache.ctakes.ytex.kernel.dao.CorpusDaoImpl"> 
+		<property name="sessionFactory" ref="sessionFactory" /> </bean> -->
+	<bean id="classifierEvaluationDao"
+		class="org.apache.ctakes.ytex.kernel.dao.ClassifierEvaluationDaoImpl">
+		<property name="sessionFactory" ref="sessionFactory" />
+	</bean>
+	<bean id="libSVMGramMatrixExporter"
+		class="org.apache.ctakes.ytex.libsvm.LibSVMGramMatrixExporterImpl">
+		<property name="dataSource" ref="dataSource" />
+		<property name="kernelEvaluationDao" ref="kernelEvaluationDao" />
+		<property name="transactionManager" ref="transactionManager" />
+		<property name="libsvmUtil" ref="libsvmUtil" />
+		<property name="kernelUtil" ref="kernelUtil" />
+	</bean>
+	<bean id="rGramMatrixExporter" class="org.apache.ctakes.ytex.R.RGramMatrixExporterImpl">
+		<property name="kernelEvaluationDao" ref="kernelEvaluationDao" />
+		<property name="kernelUtil" ref="kernelUtil" />
+		<property name="instanceDataExporter" ref="instanceDataExporter" />
+	</bean>
+	<bean id="libsvmUtil" class="org.apache.ctakes.ytex.libsvm.LibSVMUtilImpl">
+		<property name="dataSource" ref="dataSource" />
+	</bean>
+
+	<bean id="instanceTreeBuilder"
+		class="org.apache.ctakes.ytex.kernel.tree.InstanceTreeBuilderImpl">
+		<property name="dataSource" ref="dataSource" />
+	</bean>
+	<bean id="abstractNormKernel" abstract="true"
+		class="org.apache.ctakes.ytex.kernel.evaluator.NormKernel"
+		init-method="init">
+		<property name="cacheManager" ref="cacheManager" />
+	</bean>
+	<bean id="equalityKernel" class="org.apache.ctakes.ytex.kernel.evaluator.EqualityKernel">
+	</bean>
+	<bean id="atttributeProductKernel"
+		class="org.apache.ctakes.ytex.kernel.evaluator.AttributeProductKernel">
+	</bean>
+	<bean id="cacheManager"
+		class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
+		<property name="configLocation" value="classpath:org/apache/ctakes/ytex/kernel/ehcache.xml" />
+	</bean>
+	<bean id="abstractCorpusKernelEvaluator"
+		class="org.apache.ctakes.ytex.kernel.evaluator.CorpusKernelEvaluatorImpl">
+		<property name="dataSource" ref="dataSource" />
+		<property name="kernelEvaluationDao" ref="kernelEvaluationDao" />
+		<property name="transactionManager" ref="transactionManager" />
+	</bean>
+
+	<bean id="foldGenerator" class="org.apache.ctakes.ytex.kernel.FoldGeneratorImpl">
+		<property name="kernelUtil" ref="kernelUtil" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+	</bean>
+	<bean id="kernelUtil" class="org.apache.ctakes.ytex.kernel.KernelUtilImpl">
+		<property name="dataSource" ref="dataSource" />
+		<property name="transactionManager" ref="transactionManager" />
+		<property name="kernelEvaluationDao" ref="kernelEvaluationDao" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+		<property name="foldGenerator" ref="foldGenerator" />
+	</bean>
+
+	<bean id="baseClassifierEvaluationParser" abstract="true">
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+	</bean>
+	<bean id="semiLEvaluationParser" class="org.apache.ctakes.ytex.semil.SemiLEvaluationParser"
+		parent="baseClassifierEvaluationParser" />
+	<bean id="libSVMParser" class="org.apache.ctakes.ytex.libsvm.LibSVMParser"
+		parent="baseClassifierEvaluationParser" />
+	<bean id="svmLightParser" class="org.apache.ctakes.ytex.svmlight.SVMLightParser"
+		parent="baseClassifierEvaluationParser" />
+	<bean id="svmlinParser" class="org.apache.ctakes.ytex.kernel.SvmlinEvaluationParser"
+		parent="baseClassifierEvaluationParser" />
+
+	<bean id="ClassifierEvaluationImporter"
+		class="org.apache.ctakes.ytex.kernel.ClassifierEvaluationImporter">
+		<property name="nameToParserMap">
+			<map>
+				<entry>
+					<key>
+						<value>libsvm</value>
+					</key>
+					<ref bean="libSVMParser" />
+				</entry>
+				<entry>
+					<key>
+						<value>svmlight</value>
+					</key>
+					<ref bean="svmLightParser" />
+				</entry>
+				<entry>
+					<key>
+						<value>semil</value>
+					</key>
+					<ref bean="semiLEvaluationParser" />
+				</entry>
+				<entry>
+					<key>
+						<value>svmlin</value>
+					</key>
+					<ref bean="svmlinParser" />
+				</entry>
+			</map>
+		</property>
+	</bean>
+
+	<bean id="sparseDataExporter" class="org.apache.ctakes.ytex.kernel.SparseDataExporterImpl">
+		<property name="dataSource" ref="dataSource" />
+		<property name="txTemplateNew" ref="txTemplateNew" />
+		<property name="kernelUtil" ref="kernelUtil" />
+		<property name="nameToFormatterMap">
+			<map>
+				<entry>
+					<key>
+						<value>libsvm</value>
+					</key>
+					<ref bean="libSVMFormatterFactory" />
+				</entry>
+				<entry>
+					<key>
+						<value>sparsematrix</value>
+					</key>
+					<ref bean="sparseMatrixFormatterFactory" />
+				</entry>
+				<entry>
+					<key>
+						<value>svmlight</value>
+					</key>
+					<ref bean="svmLightFormatterFactory" />
+				</entry>
+				<entry>
+					<key>
+						<value>sgt</value>
+					</key>
+					<ref bean="sgtFormatterFactory" />
+				</entry>
+				<entry>
+					<key>
+						<value>svmlin</value>
+					</key>
+					<ref bean="svmLinFormatterFactory" />
+				</entry>
+				<entry>
+					<key>
+						<value>semil</value>
+					</key>
+					<ref bean="semiLFormatterFactory" />
+				</entry>
+				<entry>
+					<key>
+						<value>weka</value>
+					</key>
+					<ref bean="wekaFormatterFactory" />
+				</entry>
+			</map>
+		</property>
+	</bean>
+	<bean id="sparseDataFormatterFactory" abstract="true">
+		<property name="kernelUtil" ref="kernelUtil" />
+	</bean>
+	<bean id="svmLightFormatterFactory"
+		class="org.apache.ctakes.ytex.svmlight.SVMLightFormatterFactory"
+		parent="sparseDataFormatterFactory">
+	</bean>
+	<bean id="libSVMFormatterFactory" class="org.apache.ctakes.ytex.libsvm.LibSVMFormatterFactory"
+		parent="sparseDataFormatterFactory">
+	</bean>
+	<bean id="svmLinFormatterFactory" class="org.apache.ctakes.ytex.kernel.SVMLinFormatterFactory"
+		parent="sparseDataFormatterFactory">
+	</bean>
+	<bean id="sgtFormatterFactory" class="org.apache.ctakes.ytex.svmlight.SGTFormatterFactory"
+		parent="sparseDataFormatterFactory">
+	</bean>
+	<bean id="sparseMatrixFormatterFactory"
+		class="org.apache.ctakes.ytex.sparsematrix.SparseMatrixFormatterFactory"
+		parent="sparseDataFormatterFactory">
+		<property name="instanceDataExporter" ref="instanceDataExporter" />
+	</bean>
+	<bean id="semiLFormatterFactory" class="org.apache.ctakes.ytex.semil.SemiLFormatterFactory"
+		parent="sparseDataFormatterFactory">
+	</bean>
+	<bean id="wekaFormatterFactory" class="org.apache.ctakes.ytex.weka.WekaFormatterFactory"
+		parent="sparseDataFormatterFactory">
+	</bean>
+	<bean id="instanceDataExporter"
+		class="org.apache.ctakes.ytex.sparsematrix.InstanceDataExporterImpl">
+	</bean>
+	<bean id="infogainAttributeEval" class="weka.attributeSelection.InfoGainAttributeEval">
+	</bean>
+	<bean id="rankerSearch" class="weka.attributeSelection.Ranker">
+	</bean>
+	<bean id="infogainAttributeSelection" class="weka.attributeSelection.AttributeSelection">
+		<property name="evaluator" ref="infogainAttributeEval" />
+		<property name="search" ref="rankerSearch" />
+	</bean>
+
+	<bean id="wekaAttributeEvaluator" class="org.apache.ctakes.ytex.weka.WekaAttributeEvaluatorImpl">
+		<property name="attributeSelection" ref="infogainAttributeSelection" />
+		<property name="sparseDataExporter" ref="sparseDataExporter" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+		<property name="asEvaluation" ref="infogainAttributeEval" />
+		<property name="kernelUtil" ref="kernelUtil" />
+	</bean>
+	<bean id="infoContentEvaluator" class="org.apache.ctakes.ytex.kernel.InfoContentEvaluatorImpl">
+		<property name="conceptDao" ref="conceptDao" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+		<property name="dataSource" ref="dataSource" />
+	</bean>
+	<bean id="intrinsicInfoContentEvaluator"
+		class="org.apache.ctakes.ytex.kernel.IntrinsicInfoContentEvaluatorImpl">
+		<property name="conceptDao" ref="conceptDao" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+	</bean>
+	<bean id="imputedFeatureEvaluator"
+		class="org.apache.ctakes.ytex.kernel.ImputedFeatureEvaluatorImpl">
+		<property name="conceptDao" ref="conceptDao" />
+		<property name="dataSource" ref="dataSource" />
+		<property name="kernelUtil" ref="kernelUtil" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+		<property name="ytexProperties" ref="ytexProperties" />
+		<property name="infoContentEvaluator" ref="infoContentEvaluator" />
+	</bean>
+	<bean id="cytoscapeHelper" class="org.apache.ctakes.ytex.kernel.CytoscapeHelperImpl">
+		<property name="conceptDao" ref="conceptDao" />
+		<property name="classifierEvaluationDao" ref="classifierEvaluationDao" />
+		<property name="umlsDao" ref="umlsDao" />
+	</bean>
+	<bean id="abstractKernelCacheAdvice"
+		class="org.apache.ctakes.ytex.kernel.evaluator.MethodCachingInterceptor"
+		abstract="true">
+		<property name="cacheManager" ref="cacheManager" />
+		<property name="cacheKeyGenerator">
+			<bean
+				class="org.apache.ctakes.ytex.kernel.evaluator.SymmetricPairCacheKeyGenerator" />
+		</property>
+		<property name="methodName" value="evaluate" />
+	</bean>
+	<bean id="pageRankService"
+		class="org.apache.ctakes.ytex.kernel.pagerank.PageRankServiceImpl">
+	</bean>
+	<!-- <bean id="abstractKernelCacheAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor"> 
+		<property name="pointcut"> <bean class="org.springframework.aop.support.JdkRegexpMethodPointcut"> 
+		<property name="pattern"> <value>.*evaluate.*</value> </property> </bean> 
+		</property> </bean> -->
+</beans>
\ No newline at end of file

Added: ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_SNOMED.template.xml
URL: http://svn.apache.org/viewvc/ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_SNOMED.template.xml?rev=1551254&view=auto
==============================================================================
--- ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_SNOMED.template.xml (added)
+++ ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_SNOMED.template.xml Mon Dec 16 16:30:30 2013
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<lookupSpecification>
+	<!--  Defines what dictionaries will be used in terms of implementation specifics and metaField configuration. -->
+	<dictionaries>
+		<dictionary id="DICT_UMLS_MS" externalResourceKey="DbConnection"
+			caseSensitive="false">
+			<implementation>
+				<jdbcImpl tableName="@db.schema@.v_snomed_fword_lookup"/>
+			</implementation>
+			<lookupField fieldName="fword" />
+			<metaFields>
+				<metaField fieldName="cui" />
+				<metaField fieldName="tui" />
+				<metaField fieldName="tok_str" />
+			</metaFields>
+		</dictionary>	
+	
+	</dictionaries>
+	<!-- Binds together the components necessary to perform the complete lookup logic start to end. -->
+	<lookupBindings>
+	
+		<lookupBinding>
+			<dictionaryRef idRef="DICT_UMLS_MS"/>
+			<lookupInitializer className="org.apache.ctakes.dictionary.lookup.ae.FirstTokenPermLookupInitializerImpl">
+				<properties>
+					<property key="textMetaFields" value="tok_str"/>
+					<property key="maxPermutationLevel" value="7"/>
+					<!--	<property key="windowAnnotations" value="org.apache.ctakes.typesystem.type.textspan.Sentence"/> -->
+					<property key="windowAnnotations" value="org.apache.ctakes.typesystem.type.textspan.LookupWindowAnnotation"/>  
+					<property key="exclusionTags" value="VB,VBD,VBG,VBN,VBP,VBZ,CC,CD,DT,EX,IN,LS,MD,PDT,POS,PP,PP$,PRP,PRP$,RP,TO,WDT,WP,WPS,WRB"/>
+				</properties>
+			</lookupInitializer>
+			<lookupConsumer className="org.apache.ctakes.dictionary.lookup.ae.NamedEntityLookupConsumerImpl">
+				<properties>
+					<property key="codingScheme" value="UMLS" />
+					<property key="codeMetaField" value="cui" />
+					<property key="cuiMetaField" value="cui" />
+				</properties>
+			</lookupConsumer>
+		</lookupBinding>
+	</lookupBindings>
+</lookupSpecification>

Added: ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_stem_SNOMED.template.xml
URL: http://svn.apache.org/viewvc/ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_stem_SNOMED.template.xml?rev=1551254&view=auto
==============================================================================
--- ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_stem_SNOMED.template.xml (added)
+++ ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/dictionary/lookup/LookupDesc_stem_SNOMED.template.xml Mon Dec 16 16:30:30 2013
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<lookupSpecification>
+	<!--  Defines what dictionaries will be used in terms of implementation specifics and metaField configuration. -->
+	<dictionaries>
+		<dictionary id="DICT_UMLS_MS" externalResourceKey="DbConnection"
+			caseSensitive="false">
+			<implementation>
+				<jdbcImpl tableName="@db.schema@.v_snomed_fword_lookup"/>
+			</implementation>
+			<lookupField fieldName="fword" />
+			<metaFields>
+				<metaField fieldName="cui" />
+				<metaField fieldName="tui" />
+				<metaField fieldName="stem_str" />
+			</metaFields>
+		</dictionary>	
+	
+	</dictionaries>
+	<!-- Binds together the components necessary to perform the complete lookup logic start to end. -->
+	<lookupBindings>
+	
+		<lookupBinding>
+			<dictionaryRef idRef="DICT_UMLS_MS"/>
+			<lookupInitializer className="org.apache.ctakes.ytex.uima.lookup.ae.FirstTokenPermLookupInitializerImpl">
+				<properties>
+					<property key="textMetaFields" value="stem_str"/>
+					<property key="maxPermutationLevel" value="7"/>
+					<!--	<property key="windowAnnotations" value="org.apache.ctakes.typesystem.type.textspan.Sentence"/> -->
+					<property key="windowAnnotations" value="org.apache.ctakes.typesystem.type.textspan.LookupWindowAnnotation"/>  
+					<property key="exclusionTags" value="VB,VBD,VBG,VBN,VBP,VBZ,CC,CD,DT,EX,IN,LS,MD,PDT,POS,PP,PP$,PRP,PRP$,RP,TO,WDT,WP,WPS,WRB"/>
+					<property key="lookupTokenAdapter" value="ytex.uima.lookup.ae.StemmedLookupAnnotationToJCasAdapter" />
+				</properties>
+			</lookupInitializer>
+			<lookupConsumer className="org.apache.ctakes.dictionary.lookup.ae.NamedEntityLookupConsumerImpl">
+				<properties>
+					<property key="codingScheme" value="UMLS" />
+					<property key="codeMetaField" value="cui" />
+					<property key="cuiMetaField" value="cui" />
+				</properties>
+			</lookupConsumer>
+		</lookupBinding>
+	</lookupBindings>
+</lookupSpecification>

Added: ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/ehcache.xml
URL: http://svn.apache.org/viewvc/ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/ehcache.xml?rev=1551254&view=auto
==============================================================================
--- ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/ehcache.xml (added)
+++ ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/ehcache.xml Mon Dec 16 16:30:30 2013
@@ -0,0 +1,1065 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+CacheManager Configuration
+==========================
+An ehcache.xml corresponds to a single CacheManager.
+
+See instructions below or the ehcache schema (ehcache.xsd) on how to configure.
+
+System property tokens can be specified in this file which are replaced when the configuration
+is loaded. For example multicastGroupPort=${multicastGroupPort} can be replaced with the
+System property either from an environment variable or a system property specified with a
+command line switch such as -DmulticastGroupPort=4446. Another example, useful for Terracotta
+server based deployments is <terracottaConfig url="${serverAndPort}"/ and specify a command line
+switch of -Dserver36:9510
+
+The attributes of <ehcache> are:
+* name - an optional name for the CacheManager.  The name is optional and primarily used
+for documentation or to distinguish Terracotta clustered cache state.  With Terracotta
+clustered caches, a combination of CacheManager name and cache name uniquely identify a
+particular cache store in the Terracotta clustered memory.
+* updateCheck - an optional boolean flag specifying whether this CacheManager should check
+for new versions of Ehcache over the Internet.  If not specified, updateCheck="true".
+* dynamicConfig - an optional setting that can be used to disable dynamic configuration of caches
+associated with this CacheManager.  By default this is set to true - i.e. dynamic configuration
+is enabled.  Dynamically configurable caches can have their TTI, TTL and maximum disk and
+in-memory capacity changed at runtime through the cache's configuration object.
+* monitoring - an optional setting that determines whether the CacheManager should
+automatically register the SampledCacheMBean with the system MBean server.
+
+Currently, this monitoring is only useful when using Terracotta clustering and using the
+Terracotta Developer Console. With the "autodetect" value, the presence of Terracotta clustering
+will be detected and monitoring, via the Developer Console, will be enabled. Other allowed values
+are "on" and "off".  The default is "autodetect". This setting does not perform any function when
+used with JMX monitors.
+-->
+<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:noNamespaceSchemaLocation="ehcache.xsd"
+         name="org.apache.ctakes.ytex.kernel"
+         updateCheck="false" monitoring="autodetect"
+         dynamicConfig="true">
+
+    <!--
+    DiskStore configuration
+    =======================
+
+    The diskStore element is optional. To turn off disk store path creation, comment out the diskStore
+    element below.
+
+    Configure it if you have overflowToDisk or diskPersistent enabled for any cache.
+
+    If it is not configured, and a cache is created which requires a disk store, a warning will be
+     issued and java.io.tmpdir will automatically be used.
+
+    diskStore has only one attribute - "path". It is the path to the directory where
+    .data and .index files will be created.
+
+    If the path is one of the following Java System Property it is replaced by its value in the
+    running VM. For backward compatibility these should be specified without being enclosed in the ${token}
+    replacement syntax.
+
+    The following properties are translated:
+    * user.home - User's home directory
+    * user.dir - User's current working directory
+    * java.io.tmpdir - Default temp file path
+    * ehcache.disk.store.dir - A system property you would normally specify on the command line
+      e.g. java -Dehcache.disk.store.dir=/u01/myapp/diskdir ...
+
+    Subdirectories can be specified below the property e.g. java.io.tmpdir/one
+
+    -->
+    <diskStore path="java.io.tmpdir"/>
+    
+    <!-- 
+    TransactionManagerLookup configuration
+    ======================================
+    This class is used by ehcache to lookup the JTA TransactionManager use in the application
+    using an XA enabled ehcache. If no class is specified then DefaultTransactionManagerLookup
+    will find the TransactionManager in the following order
+
+     *GenericJNDI (i.e. jboss, where the property jndiName controls the name of the
+                    TransactionManager object to look up)
+     *Bitronix
+     *Atomikos
+    
+    You can provide you own lookup class that implements the
+    net.sf.ehcache.transaction.manager.TransactionManagerLookup interface. 
+
+    <transactionManagerLookup class="net.sf.ehcache.transaction.manager.DefaultTransactionManagerLookup"
+                              properties="jndiName=java:/TransactionManager" propertySeparator=";"/>
+    -->
+ 
+
+    <!--
+    CacheManagerEventListener
+    =========================
+    Specifies a CacheManagerEventListenerFactory which is notified when Caches are added
+    or removed from the CacheManager.
+
+    The attributes of CacheManagerEventListenerFactory are:
+    * class - a fully qualified factory class name
+    * properties - comma separated properties having meaning only to the factory.
+
+    Sets the fully qualified class name to be registered as the CacheManager event listener.
+
+    The events include:
+    * adding a Cache
+    * removing a Cache
+
+    Callbacks to listener methods are synchronous and unsynchronized. It is the responsibility
+    of the implementer to safely handle the potential performance and thread safety issues
+    depending on what their listener is doing.
+
+    If no class is specified, no listener is created. There is no default.
+    -->
+    <cacheManagerEventListenerFactory class="" properties=""/>
+
+
+    <!--
+    CacheManagerPeerProvider
+    ========================
+    (For distributed operation)
+
+    Specifies a CacheManagerPeerProviderFactory which will be used to create a
+    CacheManagerPeerProvider, which discovers other CacheManagers in the cluster.
+
+    One or more providers can be configured. The first one in the ehcache.xml is the default, which is used
+    for replication and bootstrapping.
+
+    The attributes of cacheManagerPeerProviderFactory are:
+    * class - a fully qualified factory class name
+    * properties - comma separated properties having meaning only to the factory.
+
+    Providers are available for RMI, JGroups and JMS as shown following.
+
+    RMICacheManagerPeerProvider
+    +++++++++++++++++++++++++++
+
+    Ehcache comes with a built-in RMI-based distribution system with two means of discovery of
+    CacheManager peers participating in the cluster:
+    * automatic, using a multicast group. This one automatically discovers peers and detects
+      changes such as peers entering and leaving the group
+    * manual, using manual rmiURL configuration. A hardcoded list of peers is provided at
+      configuration time.
+
+    Configuring Automatic Discovery:
+    Automatic discovery is configured as per the following example:
+    <cacheManagerPeerProviderFactory
+                        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                        properties="hostName=fully_qualified_hostname_or_ip,
+                                    peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
+                                    multicastGroupPort=4446, timeToLive=32"/>
+
+    Valid properties are:
+    * peerDiscovery (mandatory) - specify "automatic"
+    * multicastGroupAddress (mandatory) - specify a valid multicast group address
+    * multicastGroupPort (mandatory) - specify a dedicated port for the multicast heartbeat
+      traffic
+    * timeToLive - specify a value between 0 and 255 which determines how far the packets will
+      propagate.
+
+      By convention, the restrictions are:
+      0   - the same host
+      1   - the same subnet
+      32  - the same site
+      64  - the same region
+      128 - the same continent
+      255 - unrestricted
+
+     * hostName - the hostname or IP of the interface to be used for sending and receiving multicast
+       packets (relevant to multi-homed hosts only)
+
+    Configuring Manual Discovery:
+    Manual discovery requires a unique configuration per host. It is contains a list of rmiURLs for
+    the peers, other than itself. So, if we have server1, server2 and server3 the configuration will
+    be:
+
+    In server1's configuration:
+    <cacheManagerPeerProviderFactory class=
+                          "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                          properties="peerDiscovery=manual,
+                          rmiUrls=//server2:40000/sampleCache1|//server3:40000/sampleCache1
+                          | //server2:40000/sampleCache2|//server3:40000/sampleCache2"
+                          propertySeparator="," />
+
+    In server2's configuration:
+    <cacheManagerPeerProviderFactory class=
+                          "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                          properties="peerDiscovery=manual,
+                          rmiUrls=//server1:40000/sampleCache1|//server3:40000/sampleCache1
+                          | //server1:40000/sampleCache2|//server3:40000/sampleCache2"
+                          propertySeparator="," />
+
+    In server3's configuration:
+    <cacheManagerPeerProviderFactory class=
+                          "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                          properties="peerDiscovery=manual,
+                          rmiUrls=//server1:40000/sampleCache1|//server2:40000/sampleCache1
+                          | //server1:40000/sampleCache2|//server2:40000/sampleCache2"
+                          propertySeparator="," />
+
+
+    Valid properties are:
+    * peerDiscovery (mandatory) - specify "manual"
+    * rmiUrls (mandatory) - specify a pipe separated list of rmiUrls, in the form
+                            //hostname:port
+    * hostname (optional) - the hostname is the hostname of the remote CacheManager peer. The port is the listening
+      port of the RMICacheManagerPeerListener of the remote CacheManager peer.
+
+    JGroupsCacheManagerPeerProvider
+    +++++++++++++++++++++++++++++++
+    <cacheManagerPeerProviderFactory
+         class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
+         properties="channel=ehcache^connect=UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;
+         mcast_send_buf_size=150000;mcast_recv_buf_size=80000):
+         PING(timeout=2000;num_initial_members=6):
+         MERGE2(min_interval=5000;max_interval=10000):
+         FD_SOCK:VERIFY_SUSPECT(timeout=1500):
+         pbcast.NAKACK(gc_lag=10;retransmit_timeout=3000):
+         UNICAST(timeout=5000):
+         pbcast.STABLE(desired_avg_gossip=20000):
+         FRAG:
+         pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=false)"
+         propertySeparator="^"
+     />
+     JGroups configuration is done by providing a connect string using connect= as in the above example which uses
+     multicast, or since version 1.4, a file= to specify the location of a JGroups configuration file.
+
+     If neither a connect or file property is specified, the default JGroups JChannel will be used.
+
+     Multiple JGroups clusters may be run on the same network by specifying a different CacheManager name. The name
+     is used as the cluster name.
+
+     Since version 1.4 you can specify a channelName to avoid conflicts.
+
+
+    JMSCacheManagerPeerProviderFactory
+    ++++++++++++++++++++++++++++++++++
+    <cacheManagerPeerProviderFactory
+            class="net.sf.ehcache.distribution.jms.JMSCacheManagerPeerProviderFactory"
+            properties="..."
+            propertySeparator=","
+            />
+
+    The JMS PeerProviderFactory uses JNDI to maintain message queue independence. Refer to the manual for full configuration
+    examples using ActiveMQ and Open Message Queue.
+
+    Valid properties are:
+    * initialContextFactoryName (mandatory) - the name of the factory used to create the message queue initial context.
+    * providerURL (mandatory) - the JNDI configuration information for the service provider to use.
+    * topicConnectionFactoryBindingName (mandatory) - the JNDI binding name for the TopicConnectionFactory
+    * topicBindingName (mandatory) - the JNDI binding name for the topic name
+    * getQueueBindingName (mandatory only if using jmsCacheLoader) - the JNDI binding name for the queue name
+    * securityPrincipalName - the JNDI java.naming.security.principal
+    * securityCredentials - the JNDI java.naming.security.credentials
+    * urlPkgPrefixes - the JNDI java.naming.factory.url.pkgs
+    * userName - the user name to use when creating the TopicConnection to the Message Queue
+    * password - the password to use when creating the TopicConnection to the Message Queue
+    * acknowledgementMode - the JMS Acknowledgement mode for both publisher and subscriber. The available choices are
+                            AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE and SESSION_TRANSACTED. The default is AUTO_ACKNOWLEDGE.
+    <cacheManagerPeerProviderFactory
+            class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+            properties="peerDiscovery=automatic,
+                        multicastGroupAddress=230.0.0.1,
+                        multicastGroupPort=4446, timeToLive=1"
+            propertySeparator=","
+            />
+    -->
+
+
+    <!--
+    CacheManagerPeerListener
+    ========================
+    (Enable for distributed operation)
+
+    Specifies a CacheManagerPeerListenerFactory which will be used to create a
+    CacheManagerPeerListener, which listens for messages from cache replicators participating in the cluster.
+
+    The attributes of cacheManagerPeerListenerFactory are:
+    class - a fully qualified factory class name
+    properties - comma separated properties having meaning only to the factory.
+
+    Ehcache comes with a built-in RMI-based distribution system. The listener component is
+    RMICacheManagerPeerListener which is configured using
+    RMICacheManagerPeerListenerFactory. It is configured as per the following example:
+
+    <cacheManagerPeerListenerFactory
+        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
+        properties="hostName=fully_qualified_hostname_or_ip,
+                    port=40001,
+                    remoteObjectPort=40002,
+                    socketTimeoutMillis=120000"
+                    propertySeparator="," />
+
+    All properties are optional. They are:
+    * hostName - the hostName of the host the listener is running on. Specify
+      where the host is multihomed and you want to control the interface over which cluster
+      messages are received. Defaults to the host name of the default interface if not
+      specified.
+    * port - the port the RMI Registry listener listens on. This defaults to a free port if not specified.
+    * remoteObjectPort - the port number on which the remote objects bound in the registry receive calls.
+                         This defaults to a free port if not specified.
+    * socketTimeoutMillis - the number of ms client sockets will stay open when sending
+      messages to the listener. This should be long enough for the slowest message.
+      If not specified it defaults to 120000ms.
+
+    <cacheManagerPeerListenerFactory
+            class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>
+    -->
+
+    <!--
+    TerracottaConfig
+    ========================
+    (Enable for Terracotta clustered operation)
+
+    Note: You need to install and run one or more Terracotta servers to use Terracotta clustering.
+    See http://www.terracotta.org/web/display/orgsite/Download.
+
+    Specifies a TerracottaConfig which will be used to configure the Terracotta
+    runtime for this CacheManager.
+
+    Configuration can be specified in two main ways: by reference to a source of
+    configuration or by use of an embedded Terracotta configuration file.
+
+    To specify a reference to a source (or sources) of configuration, use the url
+    attribute.  The url attribute must contain a comma-separated list of:
+    * path to Terracotta configuration file (usually named tc-config.xml)
+    * URL to Terracotta configuration file
+    * <server host>:<port> of running Terracotta Server instance
+
+    Simplest example for pointing to a Terracotta server on this machine:
+    <terracottaConfig url="localhost:9510"/>
+    
+    This element has one attribute "rejoin" which can take values of either "true" or "false"
+    <terracottaConfig rejoin="true" url="localhost:9510" />
+    By default, this attribute is true.
+    If rejoin is true, all Terracotta Clustered caches have to be configured with nonstop.
+    Without rejoin, if the Terracotta Server is restarted the client cannot connect back to the
+    server. When enabled, this will enable the client to connect to the new cluster without the 
+    need to restart the node.
+
+    Example using a path to Terracotta configuration file:
+    <terracottaConfig url="/app/config/tc-config.xml"/>
+
+    Example using a URL to a Terracotta configuration file:
+    <terracottaConfig url="http://internal/ehcache/app/tc-config.xml"/>
+
+    Example using multiple Terracotta server instance URLs (for fault tolerance):
+    <terracottaConfig url="host1:9510,host2:9510,host3:9510"/>
+
+    To embed a Terracotta configuration file within the ehcache configuration, simply
+    place a normal Terracotta XML config within the <terracottaConfig> element.
+
+    Example:
+    <terracottaConfig>
+        <tc-config>
+            <servers>
+                <server host="server1" name="s1"/>
+                <server host="server2" name="s2"/>
+            </servers>
+            <clients>
+                <logs>app/logs-%i</logs>
+            </clients>
+        </tc-config>
+    </terracottaConfig>
+
+    For more information on the Terracotta configuration, see the Terracotta documentation.
+    -->
+
+    <!--
+    Cache configuration
+    ===================
+
+    The following attributes are required.
+
+    name:
+    Sets the name of the cache. This is used to identify the cache. It must be unique.
+
+    maxElementsInMemory:
+    Sets the maximum number of objects that will be created in memory.  0 = no limit.
+    In practice no limit means Integer.MAX_SIZE (2147483647) unless the cache is distributed
+    with a Terracotta server in which case it is limited by resources.
+
+    maxElementsOnDisk:
+    Sets the maximum number of objects that will be maintained in the DiskStore
+    The default value is zero, meaning unlimited.
+
+    eternal:
+    Sets whether elements are eternal. If eternal,  timeouts are ignored and the
+    element is never expired.
+
+    overflowToDisk:
+    Sets whether elements can overflow to disk when the memory store
+    has reached the maxInMemory limit.
+
+    The following attributes and elements are optional.
+
+    overflowToOffHeap:
+    (boolean) This feature is available only in enterprise versions of Ehcache.
+    When set to true, enables the cache to utilize off-heap memory
+    storage to improve performance. Off-heap memory is not subject to Java
+    GC. The default value is false.
+
+    maxMemoryOffHeap:
+    (string) This feature is available only in enterprise versions of Ehcache.
+    Sets the amount of off-heap memory available to the cache.
+    This attribute's values are given as <number>k|K|m|M|g|G|t|T for
+    kilobytes (k|K), megabytes (m|M), gigabytes (g|G), or terabytes
+    (t|T). For example, maxMemoryOffHeap="2g" allots 2 gigabytes to
+    off-heap memory.
+
+    This setting is in effect only if overflowToOffHeap is true.
+
+    Note that it is recommended to set maxElementsInMemory to at least 100 elements
+    when using an off-heap store, otherwise performance will be seriously degraded,
+    and a warning will be logged.
+
+    The minimum amount that can be allocated is 128MB. There is no maximum.
+
+    timeToIdleSeconds:
+    Sets the time to idle for an element before it expires.
+    i.e. The maximum amount of time between accesses before an element expires
+    Is only used if the element is not eternal.
+    Optional attribute. A value of 0 means that an Element can idle for infinity.
+    The default value is 0.
+
+    timeToLiveSeconds:
+    Sets the time to live for an element before it expires.
+    i.e. The maximum time between creation time and when an element expires.
+    Is only used if the element is not eternal.
+    Optional attribute. A value of 0 means that and Element can live for infinity.
+    The default value is 0.
+
+    diskPersistent:
+    Whether the disk store persists between restarts of the Virtual Machine.
+    The default value is false.
+
+    diskExpiryThreadIntervalSeconds:
+    The number of seconds between runs of the disk expiry thread. The default value
+    is 120 seconds.
+
+    diskSpoolBufferSizeMB:
+    This is the size to allocate the DiskStore for a spool buffer. Writes are made
+    to this area and then asynchronously written to disk. The default size is 30MB.
+    Each spool buffer is used only by its cache. If you get OutOfMemory errors consider
+    lowering this value. To improve DiskStore performance consider increasing it. Trace level
+    logging in the DiskStore will show if put back ups are occurring.
+
+    clearOnFlush:
+    whether the MemoryStore should be cleared when flush() is called on the cache.
+    By default, this is true i.e. the MemoryStore is cleared.
+
+    statistics:
+    Whether to collect statistics. Note that this should be turned on if you are using
+    the Ehcache Monitor. By default statistics is turned off to favour raw performance.
+    To enable set statistics="true"
+
+    memoryStoreEvictionPolicy:
+    Policy would be enforced upon reaching the maxElementsInMemory limit. Default
+    policy is Least Recently Used (specified as LRU). Other policies available -
+    First In First Out (specified as FIFO) and Less Frequently Used
+    (specified as LFU)
+
+    copyOnRead:
+    Whether an Element is copied when being read from a cache.
+    By default this is false.
+
+    copyOnWrite:
+    Whether an Element is copied when being added to the cache.
+    By default this is false.
+
+    Cache elements can also contain sub elements which take the same format of a factory class
+    and properties. Defined sub-elements are:
+
+    * cacheEventListenerFactory - Enables registration of listeners for cache events, such as
+      put, remove, update, and expire.
+
+    * bootstrapCacheLoaderFactory - Specifies a BootstrapCacheLoader, which is called by a
+      cache on initialisation to prepopulate itself.
+
+    * cacheExtensionFactory - Specifies a CacheExtension, a generic mechanism to tie a class
+      which holds a reference to a cache to the cache lifecycle.
+
+    * cacheExceptionHandlerFactory - Specifies a CacheExceptionHandler, which is called when
+      cache exceptions occur.
+
+    * cacheLoaderFactory - Specifies a CacheLoader, which can be used both asynchronously and
+      synchronously to load objects into a cache. More than one cacheLoaderFactory element
+      can be added, in which case the loaders form a chain which are executed in order. If a
+      loader returns null, the next in chain is called.
+
+    * copyStrategy - Specifies a fully qualified class which implements
+      net.sf.ehcache.store.compound.CopyStrategy. This strategy will be used for copyOnRead
+      and copyOnWrite in place of the default which is serialization.
+
+
+    Cache Event Listeners
+    +++++++++++++++++++++
+
+    All cacheEventListenerFactory elements can take an optional property listenFor that describes
+    which events will be delivered in a clustered environment.  The listenFor attribute has the
+    following allowed values:
+
+    * all - the default is to deliver all local and remote events
+    * local - deliver only events originating in the current node
+    * remote - deliver only events originating in other nodes
+
+    Example of setting up a logging listener for local cache events:
+
+    <cacheEventListenerFactory class="my.company.log.CacheLogger"
+        listenFor="local" />
+
+
+    RMI Cache Replication
+    +++++++++++++++++++++
+
+    Each cache that will be distributed needs to set a cache event listener which replicates
+    messages to the other CacheManager peers. For the built-in RMI implementation this is done
+    by adding a cacheEventListenerFactory element of type RMICacheReplicatorFactory to each
+    distributed cache's configuration as per the following example:
+
+    <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
+         properties="replicateAsynchronously=true,
+         replicatePuts=true,
+         replicatePutsViaCopy=false,
+         replicateUpdates=true,
+         replicateUpdatesViaCopy=true,
+         replicateRemovals=true
+         asynchronousReplicationIntervalMillis=<number of milliseconds"
+         propertySeparator="," />
+
+    The RMICacheReplicatorFactory recognises the following properties:
+
+    * replicatePuts=true|false - whether new elements placed in a cache are
+      replicated to others. Defaults to true.
+
+    * replicatePutsViaCopy=true|false - whether the new elements are
+      copied to other caches (true), or whether a remove message is sent. Defaults to true.
+
+    * replicateUpdates=true|false - whether new elements which override an
+      element already existing with the same key are replicated. Defaults to true.
+
+    * replicateRemovals=true - whether element removals are replicated. Defaults to true.
+
+    * replicateAsynchronously=true | false - whether replications are
+      asynchronous (true) or synchronous (false). Defaults to true.
+
+    * replicateUpdatesViaCopy=true | false - whether the new elements are
+      copied to other caches (true), or whether a remove message is sent. Defaults to true.
+
+    * asynchronousReplicationIntervalMillis=<number of milliseconds> - The asynchronous
+      replicator runs at a set interval of milliseconds. The default is 1000. The minimum
+      is 10. This property is only applicable if replicateAsynchronously=true
+
+
+    JGroups Replication
+    +++++++++++++++++++
+
+    For the Jgroups replication this is done with:
+    <cacheEventListenerFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+                            properties="replicateAsynchronously=true, replicatePuts=true,
+               replicateUpdates=true, replicateUpdatesViaCopy=false,
+               replicateRemovals=true,asynchronousReplicationIntervalMillis=1000"/>
+    This listener supports the same properties as the RMICacheReplicationFactory.
+
+
+    JMS Replication
+    +++++++++++++++
+
+    For JMS-based replication this is done with:
+    <cacheEventListenerFactory
+          class="net.sf.ehcache.distribution.jms.JMSCacheReplicatorFactory"
+          properties="replicateAsynchronously=true,
+                       replicatePuts=true,
+                       replicateUpdates=true,
+                       replicateUpdatesViaCopy=true,
+                       replicateRemovals=true,
+                       asynchronousReplicationIntervalMillis=1000"
+           propertySeparator=","/>
+
+    This listener supports the same properties as the RMICacheReplicationFactory.
+
+    Cluster Bootstrapping
+    +++++++++++++++++++++
+
+    Bootstrapping a cluster may use a different mechanism to replication. e.g you can mix
+    JMS replication with bootstrap via RMI - just make sure you have the cacheManagerPeerProviderFactory
+    and cacheManagerPeerListenerFactory configured.
+
+    There are two bootstrapping mechanisms: RMI and JGroups.
+
+    RMI Bootstrap
+
+    The RMIBootstrapCacheLoader bootstraps caches in clusters where RMICacheReplicators are
+    used. It is configured as per the following example:
+
+    <bootstrapCacheLoaderFactory
+        class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"
+        properties="bootstrapAsynchronously=true, maximumChunkSizeBytes=5000000"
+        propertySeparator="," />
+
+    The RMIBootstrapCacheLoaderFactory recognises the following optional properties:
+
+    * bootstrapAsynchronously=true|false - whether the bootstrap happens in the background
+      after the cache has started. If false, bootstrapping must complete before the cache is
+      made available. The default value is true.
+
+    * maximumChunkSizeBytes=<integer> - Caches can potentially be very large, larger than the
+      memory limits of the VM. This property allows the bootstraper to fetched elements in
+      chunks. The default chunk size is 5000000 (5MB).
+
+    JGroups Bootstrap
+
+    Here is an example of bootstrap configuration using JGroups boostrap:
+
+    <bootstrapCacheLoaderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+                                    properties="bootstrapAsynchronously=true"/>
+
+    The configuration properties are the same as for RMI above. Note that JGroups bootstrap only supports
+    asynchronous bootstrap mode.
+
+
+    Cache Exception Handling
+    ++++++++++++++++++++++++
+
+    By default, most cache operations will propagate a runtime CacheException on failure. An
+    interceptor, using a dynamic proxy, may be configured so that a CacheExceptionHandler can
+    be configured to intercept Exceptions. Errors are not intercepted.
+
+    It is configured as per the following example:
+
+      <cacheExceptionHandlerFactory class="com.example.ExampleExceptionHandlerFactory"
+                                      properties="logLevel=FINE"/>
+
+    Caches with ExceptionHandling configured are not of type Cache, but are of type Ehcache only,
+    and are not available using CacheManager.getCache(), but using CacheManager.getEhcache().
+
+
+    Cache Loader
+    ++++++++++++
+
+    A default CacheLoader may be set which loads objects into the cache through asynchronous and
+    synchronous methods on Cache. This is different to the bootstrap cache loader, which is used
+    only in distributed caching.
+
+    It is configured as per the following example:
+
+        <cacheLoaderFactory class="com.example.ExampleCacheLoaderFactory"
+                                      properties="type=int,startCounter=10"/>
+
+    Transactions
+    ++++++++++++
+
+    To enable an ehcache as transactions, set the transactionalMode
+
+    transactionalMode="xa" - high performance JTA/XA implementation
+    transactionalMode="xa_strict" - canonically correct JTA/XA implementation
+    transactionMode="local" - high performance local transactions involving caches only
+    transactionalMode="off" - the default, no transactions
+
+    If set, all cache operations will need to be done through transactions.
+
+    Cache Writer
+    ++++++++++++
+
+    A CacheWriter maybe be set to write to an underlying resource. Only one CacheWriter can be
+    been to a cache.
+
+    It is configured as per the following example for write-through:
+
+        <cacheWriter writeMode="write-through" notifyListenersOnException="true">
+            <cacheWriterFactory class="net.sf.ehcache.writer.TestCacheWriterFactory"
+                                properties="type=int,startCounter=10"/>
+        </cacheWriter>
+
+    And it is configured as per the following example for write-behind:
+
+        <cacheWriter writeMode="write-behind" minWriteDelay="1" maxWriteDelay="5"
+                     rateLimitPerSecond="5" writeCoalescing="true" writeBatching="true" writeBatchSize="1"
+                     retryAttempts="2" retryAttemptDelaySeconds="1">
+            <cacheWriterFactory class="net.sf.ehcache.writer.TestCacheWriterFactory"
+                                properties="type=int,startCounter=10"/>
+        </cacheWriter>
+
+    The cacheWriter element has the following attributes:
+    * writeMode: the write mode, write-through or write-behind
+
+    These attributes only apply to write-through mode:
+    * notifyListenersOnException: Sets whether to notify listeners when an exception occurs on a writer operation.
+
+    These attributes only apply to write-behind mode:
+    * minWriteDelay: Set the minimum number of seconds to wait before writing behind. If set to a value greater than 0,
+      it permits operations to build up in the queue. This is different from the maximum write delay in that by waiting
+      a minimum amount of time, work is always being built up. If the minimum write delay is set to zero and the
+      CacheWriter performs its work very quickly, the overhead of processing the write behind queue items becomes very
+      noticeable in a cluster since all the operations might be done for individual items instead of for a collection
+      of them.
+    * maxWriteDelay: Set the maximum number of seconds to wait before writing behind. If set to a value greater than 0,
+      it permits operations to build up in the queue to enable effective coalescing and batching optimisations.
+    * writeBatching: Sets whether to batch write operations. If set to true, writeAll and deleteAll will be called on
+      the CacheWriter rather than write and delete being called for each key. Resources such as databases can perform
+      more efficiently if updates are batched, thus reducing load.
+    * writeBatchSize: Sets the number of operations to include in each batch when writeBatching is enabled. If there are
+      less entries in the write-behind queue than the batch size, the queue length size is used.
+    * rateLimitPerSecond: Sets the maximum number of write operations to allow per second when writeBatching is enabled.
+    * writeCoalescing: Sets whether to use write coalescing. If set to true and multiple operations on the same key are
+      present in the write-behind queue, only the latest write is done, as the others are redundant.
+    * retryAttempts: Sets the number of times the operation is retried in the CacheWriter, this happens after the
+      original operation.
+    * retryAttemptDelaySeconds: Sets the number of seconds to wait before retrying an failed operation.
+
+    Cache Extension
+    +++++++++++++++
+
+    CacheExtensions are a general purpose mechanism to allow generic extensions to a Cache.
+    CacheExtensions are tied into the Cache lifecycle.
+
+    CacheExtensions are created using the CacheExtensionFactory which has a
+    <code>createCacheCacheExtension()</code> method which takes as a parameter a
+    Cache and properties. It can thus call back into any public method on Cache, including, of
+    course, the load methods.
+
+    Extensions are added as per the following example:
+
+         <cacheExtensionFactory class="com.example.FileWatchingCacheRefresherExtensionFactory"
+                             properties="refreshIntervalMillis=18000, loaderTimeout=3000,
+                                         flushPeriod=whatever, someOtherProperty=someValue ..."/>
+
+    Cache Decorator Factory
+    +++++++++++++++++++++++
+
+    Cache decorators can be configured directly in ehcache.xml. The decorators will be created and added to the CacheManager.
+    It accepts the name of a concrete class that extends net.sf.ehcache.constructs.CacheDecoratorFactory
+    The properties will be parsed according to the delimiter (default is comma ',') and passed to the concrete factory's
+    <code>createDecoratedEhcache(Ehcache cache, Properties properties)</code> method along with the reference to the owning cache.
+
+    It is configured as per the following example:
+
+        <cacheDecoratorFactory
+			class="net.sf.ehcache.constructs.nonstop.NonStopCacheDecoratorFactory"
+			properties="name=localReadsCacheDecorator, timeoutBehavior=localReads ..." />
+
+    Terracotta Clustering
+    +++++++++++++++++++++
+
+    Cache elements can also contain information about whether the cache can be clustered with Terracotta.
+    The <terracotta> sub-element has the following sub-elements:
+    
+    * Nonstop: Nonstop caches can be configured for Terracotta clustered caches. Sample:
+    	<cache name="terracottaClusteredCache">
+    		<terracotta>
+    			<nonstop enabled="true" immediateTimeout="true" timeoutMillis="15000">
+    				<timeoutBehavior type="exception" />
+    		</terracotta>
+    	</cache>
+    	All attributes and the sub-element "timeoutBehavior" are optional. Nonstop is enabled by default for 
+    	Terracotta Clustered Caches. Please refer to Nonstop documentation on how to use nonstop.
+    	
+    The <terracotta> sub-element has the following attributes:
+
+    * clustered=true|false - indicates whether this cache should be clustered with Terracotta. By
+      default, if the <terracotta> element is included, clustered=true.
+
+    * valueMode=serialization|identity - indicates whether this cache should be clustered with
+      serialized copies of the values or using Terracotta identity mode.  By default, values will
+      be cached in serialization mode which is similar to other replicated Ehcache modes.  The identity
+      mode is only available in certain Terracotta deployment scenarios and will maintain actual object
+      identity of the keys and values across the cluster.  In this case, all users of a value retrieved from
+      the cache are using the same clustered value and must provide appropriate locking for any changes
+      made to the value (or objects referred to by the value).
+      
+    * copyOnRead=true|false - indicates whether cache values are deserialized on every read or if the
+      materialized cache value can be re-used between get() calls. This setting is useful if a cache
+      is being shared by callers with disparate classloaders or to prevent local drift if keys/values
+      are mutated locally w/o putting back to the cache. NOTE: This setting is only relevant for caches
+      with valueMode=serialization
+
+    * coherent=strict|non-strict|off - Indicates whether this cache should have coherent reads and writes 
+      with guaranteed consistency across the cluster. By default, its value is "non-strict".
+      The old values "true" and "false" are deprecated and should not be used. Config using the old values
+      will be translated to the new values with "true" translating to "strict" and "false" translating to 
+      "off".   If this attribute is set to false (or "incoherent" mode), values from the cache are read without
+      locking, possibly yielding stale data. Writes to a cache in incoherent mode are batched and applied 
+      without acquiring cluster-wide locks, possibly creating inconsistent values across cluster. 
+      Incoherent mode is a performance optimization with weaker concurrency guarantees and should generally be used
+      for bulk-loading caches, for loading a read-only cache, or where the application that can tolerate reading 
+      stale data. This setting overrides coherentReads, which is deprecated.
+
+    * synchronousWrites=true|false - When set to true, clustered caches use
+      Terracotta SYNCHRONOUS WRITE locks. Asynchronous writes (synchronousWrites="false") maximize performance by 
+      allowing clients to proceed without waiting for a "transaction received" acknowledgement from the server. 
+      Synchronous writes (synchronousWrites="true")  maximize data safety by requiring that a client receive server 
+      acknowledgement of a transaction before that client can proceed. If coherence mode is disabled using 
+      configuration (coherent="false") or through the coherence API, only asynchronous writes can occur 
+      (synchronousWrites="true" is ignored). By default this value is false (i.e. clustered caches use normal
+       Terracotta WRITE locks).
+    
+    * storageStrategy=classic|DCV2 - Can be used to configure how the key/values of the cache are stored. The key/values
+      can be stored locally in the vm or stored in the Terracotta Server Array. "classic" value for the attribute stores 
+      the key/values in the local vm and using "DCV2" stores it in the Terracotta Server Array. This attribute is 
+      optional and default value is "classic"
+      
+    * concurrency - A non-negative integer that can be used to specify the number of segments that will be used by the map 
+      underneath the Terracotta Store. Its optional and has default value of 0, which means will use default values based
+      on the internal Map being used underneath the store. This value cannot be changed programmatically once cache is initialized.
+
+   The <terracotta> sub-element also has a nonstop sub-element to allow configuration of non stop or graceful degradation behaviour.
+   It has the following attributes:
+
+   enabled="true" - defaults to true.
+
+   timeoutMillis - An SLA setting, so that if the cache operation takes longer than the allowed ms, it will timeout.
+
+   immediateTimeout="true|false" - What to do on receipt of a ClusterOffline event indicating that communications with the active Terracotta
+    server are interrupted.
+
+   timeoutBehavior="noop|exception|localReads" - What to do when a timeout has occurred.
+
+
+    Simplest example to indicate clustering:
+        <terracotta/>
+
+    To indicate the cache should not be clustered (or remove the <terracotta> element altogether):
+        <terracotta clustered="false"/>
+
+    To indicate the cache should be clustered using identity mode:
+        <terracotta clustered="true" valueMode="identity"/>
+        
+    To indicate the cache should be clustered using incoherent mode for bulk load:
+        <terracotta clustered="true" coherent="false"/>
+    
+    To indicate the cache should be clustered using synchronous-write locking level:
+        <terracotta clustered="true" synchronousWrites="true"/>
+        
+    To indicate the key/values should be stored in the Terracotta Server Array:
+        <terracotta clustered="true" storageStrategy="DCV2"/>
+        
+    -->
+
+    <!--
+    Mandatory Default Cache configuration. These settings will be applied to caches
+    created programmatically using CacheManager.add(String cacheName).
+
+    The defaultCache has an implicit name "default" which is a reserved cache name.
+    -->
+    <defaultCache
+            maxElementsInMemory="10000"
+            eternal="false"
+            timeToIdleSeconds="120"
+            timeToLiveSeconds="120"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />
+
+    <cache name="normCache"
+            maxElementsInMemory="100000"
+            eternal="false"
+            timeToIdleSeconds="120"
+            timeToLiveSeconds="120"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />
+    <cache name="conceptSimCache"
+            maxElementsInMemory="100000"
+            eternal="false"
+            timeToIdleSeconds="120"
+            timeToLiveSeconds="120"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />
+    <cache name="linSimCache"
+            maxElementsInMemory="100000"
+            eternal="false"
+            timeToIdleSeconds="120"
+            timeToLiveSeconds="120"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />
+    <cache name="lchSimCache"
+            maxElementsInMemory="100000"
+            eternal="false"
+            timeToIdleSeconds="120"
+            timeToLiveSeconds="120"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />
+    <cache name="lcsCache"
+            maxElementsInMemory="100000"
+            eternal="false"
+            timeToIdleSeconds="120"
+            timeToLiveSeconds="120"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />    
+    <!--
+    Sample caches. Following are some example caches. Remove these before use.
+    -->
+
+    <!--
+    Sample cache named sampleCache1
+    This cache contains a maximum in memory of 10000 elements, and will expire
+    an element if it is idle for more than 5 minutes and lives for more than
+    10 minutes.
+
+    If there are more than 10000 elements it will overflow to the
+    disk cache, which in this configuration will go to wherever java.io.tmp is
+    defined on your system. On a standard Linux system this will be /tmp"
+    <cache name="sampleCache1"
+           maxElementsInMemory="10000"
+           maxElementsOnDisk="1000"
+           eternal="false"
+           overflowToDisk="true"
+           diskSpoolBufferSizeMB="20"
+           timeToIdleSeconds="300"
+           timeToLiveSeconds="600"
+           memoryStoreEvictionPolicy="LFU"
+           transactionalMode="off"
+            />
+    -->
+
+
+    <!--
+    Sample cache named sampleCache2
+    This cache has a maximum of 1000 elements in memory. There is no overflow to disk, so 1000
+    is also the maximum cache size. Note that when a cache is eternal, timeToLive and
+    timeToIdle are not used and do not need to be specified.
+    <cache name="sampleCache2"
+           maxElementsInMemory="1000"
+           eternal="true"
+           overflowToDisk="false"
+           memoryStoreEvictionPolicy="FIFO"
+            />
+    -->
+
+
+    <!--
+    Sample cache named sampleCache3. This cache overflows to disk. The disk store is
+    persistent between cache and VM restarts. The disk expiry thread interval is set to 10
+    minutes, overriding the default of 2 minutes.
+    <cache name="sampleCache3"
+           maxElementsInMemory="500"
+           eternal="false"
+           overflowToDisk="true"
+           timeToIdleSeconds="300"
+           timeToLiveSeconds="600"
+           diskPersistent="true"
+           diskExpiryThreadIntervalSeconds="1"
+           memoryStoreEvictionPolicy="LFU"
+            />
+    -->
+
+    <!--
+    Sample distributed cache named sampleReplicatedCache1.
+    This cache replicates using defaults.
+    It also bootstraps from the cluster, using default properties.
+    <cache name="sampleReplicatedCache1"
+           maxElementsInMemory="10"
+           eternal="false"
+           timeToIdleSeconds="100"
+           timeToLiveSeconds="100"
+           overflowToDisk="false">
+
+        <cacheEventListenerFactory
+                class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
+        <bootstrapCacheLoaderFactory
+                class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/>
+    </cache>
+    -->
+
+
+    <!--
+    Sample distributed cache named sampleReplicatedCache2.
+    This cache replicates using specific properties.
+    It only replicates updates and does so synchronously via copy
+    <cache name="sampleRepicatedCache2"
+           maxElementsInMemory="10"
+           eternal="false"
+           timeToIdleSeconds="100"
+           timeToLiveSeconds="100"
+           overflowToDisk="false">
+        <cacheEventListenerFactory
+                class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
+                properties="replicateAsynchronously=false, replicatePuts=false,
+                            replicatePutsViaCopy=false, replicateUpdates=true,
+                            replicateUpdatesViaCopy=true, replicateRemovals=false"/>
+    </cache>
+    -->
+
+    <!--
+    Sample distributed cache named sampleReplicatedCache3.
+    This cache replicates using defaults except that the asynchronous replication
+    interval is set to 200ms.
+    This one includes / and # which were illegal in ehcache 1.5.
+    <cache name="sampleReplicatedCache3"
+           maxElementsInMemory="10"
+           eternal="false"
+           timeToIdleSeconds="100"
+           timeToLiveSeconds="100"
+           overflowToDisk="true">
+        <cacheEventListenerFactory
+                class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
+                properties="asynchronousReplicationIntervalMillis=200"/>
+    </cache>
+    -->
+
+    <!--
+    Sample Terracotta clustered cache named sampleTerracottaCache.
+    This cache uses Terracotta to cluster the contents of the cache.
+    -->
+    <!--
+    <cache name="sampleTerracottaCache"
+           maxElementsInMemory="1000"
+           eternal="false"
+           timeToIdleSeconds="3600"
+           timeToLiveSeconds="1800"
+           overflowToDisk="false">
+        <terracotta/>
+    </cache>
+    -->
+
+    <!--
+      Sample xa enabled cache named xaCache
+    <cache name="xaCache"
+           maxElementsInMemory="500"
+           eternal="false"
+           timeToIdleSeconds="300"
+           timeToLiveSeconds="600"
+           overflowToDisk="false"
+           diskPersistent="false"
+           diskExpiryThreadIntervalSeconds="1"
+           transactionalMode="xa_strict">
+	</cache>
+    -->
+
+    <!--
+      Sample copy on both read and write cache named copyCache
+      using the default (explicitly configured here as an example) ReadWriteSerializationCopyStrategy
+      class could be any implementation of net.sf.ehcache.store.compound.CopyStrategy
+    <cache name="copyCache"
+           maxElementsInMemory="500"
+           eternal="false"
+           timeToIdleSeconds="300"
+           timeToLiveSeconds="600"
+           overflowToDisk="false"
+           diskPersistent="false"
+           diskExpiryThreadIntervalSeconds="1"
+           copyOnRead="true"
+           copyOnWrite="true">
+        <copyStrategy class="net.sf.ehcache.store.compound.ReadWriteSerializationCopyStrategy" />
+	</cache>
+    -->
+    <!--
+      Sample, for Enterprise Ehcache only, demonstrating a tiered cache with in-memory, off-heap and disk stores. In this example the in-memory (on-heap) store is limited to 10,000 items ... which for example for 1k items would use 10MB of memory, the off-heap store is limited to 4GB and the disk store is unlimited in size.
+    <cache name="tieredCache"
+           maxElementsInMemory="10000"
+           eternal="false"
+           timeToLiveSeconds="600"
+           overflowToOffHeap="true"
+           maxMemoryOffHeap="4g"
+           overflowToDisk="true"
+           diskPersistent="false"
+           diskExpiryThreadIntervalSeconds="1"
+     </cache>
+--> 
+</ehcache>

Added: ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/ClassifierEvaluation.hbm.xml
URL: http://svn.apache.org/viewvc/ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/ClassifierEvaluation.hbm.xml?rev=1551254&view=auto
==============================================================================
--- ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/ClassifierEvaluation.hbm.xml (added)
+++ ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/ClassifierEvaluation.hbm.xml Mon Dec 16 16:30:30 2013
@@ -0,0 +1,300 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+<hibernate-mapping package="org.apache.ctakes.ytex.kernel.model">
+	<class name="FeatureEvaluation" table="feature_eval">
+		<id name="featureEvaluationId" column="feature_eval_id">
+			<generator class="native">
+				<param name="sequence">feature_eval_sequence</param>
+			</generator>
+		</id>
+		<property name="corpusName" column="corpus_name" />
+		<property name="featureSetName" column="featureset_name" />
+		<property name="param1" column="param1" />
+		<property name="param2" column="param2" />
+		<property name="label" />
+		<property name="crossValidationFoldId" column="cv_fold_id" />
+		<property name="evaluationType" column="type" />
+	</class>
+	<class name="FeatureRank" table="feature_rank">
+		<id name="featureRankId" column="feature_rank_id">
+			<generator class="native">
+				<param name="sequence">feature_rank_sequence</param>
+			</generator>
+		</id>
+		<many-to-one name="featureEval" class="FeatureEvaluation"
+			column="feature_eval_id" />
+		<property name="featureName" column="feature_name" />
+		<property name="evaluation" column="evaluation" />
+		<property name="rank" column="rank" />
+	</class>
+	<class name="FeatureParentChild" table="feature_parchd">
+		<id name="featureParentChildId" column="feature_parchd_id">
+			<generator class="native">
+				<param name="sequence">feature_parchd_sequence</param>
+			</generator>
+		</id>
+		<many-to-one name="featureRankChild" class="FeatureRank"
+			column="chd_feature_rank_id" />
+		<many-to-one name="featureRankParent" class="FeatureRank"
+			column="par_feature_rank_id" />
+	</class>
+	<class name="CrossValidationFold" table="cv_fold">
+		<id name="crossValidationFoldId" column="cv_fold_id">
+			<generator class="native">
+				<param name="sequence">classifier_fold_sequence</param>
+			</generator>
+		</id>
+		<property name="corpusName" column="corpus_name" />
+		<property name="splitName" column="split_name" />
+		<property name="label" />
+		<property name="run" />
+		<property name="fold" />
+		<!-- property name="train" / -->
+		<set name="instanceIds" table="cv_fold_instance" cascade="all">
+			<key column="cv_fold_id" />
+			<composite-element class="CrossValidationFoldInstance">
+				<property name="instanceId" column="instance_id" type="long" />
+				<property name="train" />
+			</composite-element>
+		</set>
+	</class>
+	<class name="ClassifierEvaluation" table="classifier_eval">
+		<id name="classifierEvaluationId" column="classifier_eval_id">
+			<generator class="native">
+				<param name="sequence">classifier_eval_sequence</param>
+			</generator>
+		</id>
+		<property name="name" />
+		<property name="experiment" />
+		<property name="fold" />
+		<property name="run" />
+		<property name="algorithm" />
+		<property name="label" />
+		<property name="options" />
+		<property name="param1" />
+		<property name="param2" />
+		<property name="model" column="model" type="binary" />
+		<map name="classifierInstanceEvaluations" inverse="true"
+			table="classifier_instance_eval">
+			<key column="classifier_eval_id" />
+			<map-key column="instance_id" type="long" />
+			<one-to-many class="ClassifierInstanceEvaluation" />
+		</map>
+		<joined-subclass name="SVMClassifierEvaluation" table="classifier_eval_svm">
+			<key column="classifier_eval_id" />
+			<property name="cost" />
+			<property name="weight" />
+			<property name="degree" />
+			<property name="gamma" />
+			<property name="kernel" />
+			<property name="supportVectors" />
+			<property name="vcdim" />
+		</joined-subclass>
+		<joined-subclass name="SemiLClassifierEvaluation"
+			table="classifier_eval_semil">
+			<key column="classifier_eval_id" />
+			<property name="distance" column="distance" />
+			<property name="degree" column="degree" />
+			<property name="softLabel" column="soft_label" />
+			<property name="normalizedLaplacian" column="norm_laplace" />
+			<property name="mu" column="mu" />
+			<property name="lambda" column="lambda" />
+			<property name="gamma" column="gamma" />
+			<property name="percentLabeled" column="pct_labeled" />
+		</joined-subclass>
+	</class>
+	<class name="ClassifierEvaluationIRStat" table="classifier_eval_ir">
+		<id name="classifierEvaluationIRStatId" column="classifier_instance_eval_id">
+			<generator class="native">
+				<param name="sequence">classifier_eval_ir_sequence</param>
+			</generator>
+		</id>
+		<many-to-one name="classifierEvaluation" class="ClassifierEvaluation"
+			column="classifier_eval_id" not-null="true" />
+		<property name="type" column="ir_type"  />
+		<property name="irClass" column="ir_class" />
+		<property name="irClassId" column="ir_class_id" />
+		<property name="tp" />
+		<property name="fp" />
+		<property name="tn" />
+		<property name="fn" />
+		<property name="ppv" />
+		<property name="npv" />
+		<property name="sensitivity" column="sens" />
+		<property name="specificity" column="spec" />
+		<property name="f1" />
+	</class>
+	<class name="ClassifierInstanceEvaluation" table="classifier_instance_eval">
+		<id name="classifierInstanceEvaluationId" column="classifier_instance_eval_id">
+			<generator class="native">
+				<param name="sequence">classifier_instance_eval_sequence</param>
+			</generator>
+		</id>
+		<property name="instanceId" column="instance_id" type="long" />
+		<property name="predictedClassId" column="pred_class_id" />
+		<property name="targetClassId" column="target_class_id" />
+		<many-to-one name="classifierEvaluation" class="ClassifierEvaluation"
+			column="classifier_eval_id" not-null="true" />
+		<map name="classifierInstanceProbabilities" table="classifier_instance_eval_prob">
+			<key column="classifier_instance_eval_id" />
+			<map-key column="class_id" type="int" />
+			<element column="probability" type="double" />
+		</map>
+	</class>
+	<query name="getCrossValidationFoldByName"><![CDATA[
+		from CrossValidationFold
+		where corpusName = :corpusName
+		and splitName = :splitName  
+	]]></query>
+	<query name="getCrossValidationFold"><![CDATA[
+		from CrossValidationFold
+		where name = :name
+		and splitName = :splitName
+		and label = :label
+		and	run = :run
+		and fold = :fold
+	]]></query>
+	<query name="getFeatureEvaluationByNameAndType"><![CDATA[
+		from FeatureEvaluation
+		where corpusName = :corpusName
+		and featureSetName = :featureSetName
+		and param1 = :param1
+		and param2 = :param2
+		and evaluationType = :evaluationType
+	]]></query>
+	<query name="getFeatureEvaluationByNK"><![CDATA[
+		from FeatureEvaluation
+		where corpusName = :corpusName
+		and featureSetName = :featureSetName
+		and param1 = :param1
+		and param2 = :param2
+		and crossValidationFoldId = :crossValidationFoldId
+		and evaluationType = :evaluationType
+		and label = :label
+	]]></query>
+	<query name="getImputedFeaturesByPropagatedCutoff"><![CDATA[
+		select r
+		from FeatureRank r
+		where r.featureEval.corpusName = :corpusName
+		and r.featureEval.featureSetName = :featureSetName
+		and r.featureEval.param1 = :param1
+		and r.featureEval.param2 = :param2
+		and r.featureEval.crossValidationFoldId = :crossValidationFoldId
+		and r.featureEval.evaluationType = :evaluationType
+		and r.featureEval.label = :label
+		and r.evaluation >=  
+		(
+			select min(evaluation)
+			from FeatureRank rp
+			where rp.featureEval.corpusName = :corpusName
+			and rp.featureEval.featureSetName = :featureSetName
+			and rp.featureEval.param1 = :param1
+			and rp.featureEval.param2 = :param2
+			and rp.featureEval.crossValidationFoldId = :crossValidationFoldId
+			and rp.featureEval.evaluationType = :propEvaluationType
+			and rp.featureEval.label = :label
+			and rp.rank <= :propRankCutoff
+		)
+	]]></query>
+	<query name="getThresholdFeatures"><![CDATA[
+		from FeatureRank
+		where featureEval.corpusName = :corpusName
+		and featureEval.featureSetName = :featureSetName
+		and featureEval.param1 = :param1
+		and featureEval.param2 = :param2
+		and featureEval.crossValidationFoldId = :crossValidationFoldId
+		and featureEval.evaluationType = :evaluationType
+		and featureEval.label = :label
+		and evaluation >= :evaluation
+	]]></query>
+	<query name="getTopFeatures"><![CDATA[
+		from FeatureRank
+		where featureEval.corpusName = :corpusName
+		and featureEval.featureSetName = :featureSetName
+		and featureEval.param1 = :param1
+		and featureEval.param2 = :param2
+		and featureEval.crossValidationFoldId = :crossValidationFoldId
+		and featureEval.evaluationType = :evaluationType
+		and featureEval.label = :label
+		order by evaluation desc
+	]]></query>
+	<query name="getFeatureRankEvaluations"><![CDATA[
+		from FeatureRank
+		where featureEval.corpusName = :corpusName
+		and featureEval.featureSetName = :featureSetName
+		and featureEval.param1 = :param1
+		and featureEval.param2 = :param2
+		and featureEval.crossValidationFoldId = :crossValidationFoldId
+		and featureEval.evaluationType = :evaluationType
+		and featureEval.label = :label
+		and featureName in (:featureNames)
+	]]></query>	
+ 	<query name="deleteFeatureRank"><![CDATA[
+		delete from FeatureRank r
+		where featureEval.featureEvaluationId = :featureEvaluationId
+	]]></query>
+	<query name="deleteFeatureEval"><![CDATA[
+		delete from FeatureEvaluation
+		where featureEvaluationId = :featureEvaluationId
+	]]></query>
+	<query name="getCorpusCuiTuis"><![CDATA[
+		select s.cui, s.tui 
+		from FeatureRank r, MRSTY s
+		where r.featureEval.corpusName = :corpusName
+		and r.featureEval.featureSetName = :featureSetName
+		and r.featureEval.param1 = :param1
+		and r.featureEval.param2 = :param2
+		and r.featureEval.crossValidationFoldId = :crossValidationFoldId
+		and r.featureEval.evaluationType = :evaluationType
+		and r.featureEval.label = :label
+		and r.featureName = s.cui
+	]]></query>	
+	<query name="getCuiMinStr"><![CDATA[
+		select cui, min(str)
+		from MRCONSO
+		where cui in (:cuis)
+		group by cui
+	]]></query>
+	<query name="getCuiPreferredName"><![CDATA[
+		select cui, min(str)
+		from MRCONSO
+		where cui in (:cuis)
+		and (tty = 'PN' or tty = 'PT')
+		group by cui
+	]]></query>
+	<query name="getMaxFeatureEvaluation"><![CDATA[
+		select max(evaluation)
+		from FeatureRank
+		where featureEval.corpusName = :corpusName
+		and featureEval.featureSetName = :featureSetName
+		and featureEval.param1 = :param1
+		and featureEval.param2 = :param2
+		and featureEval.crossValidationFoldId = :crossValidationFoldId
+		and featureEval.evaluationType = :evaluationType
+		and featureEval.label = :label
+	]]></query>
+	<query name="getMaxFeatureRank"><![CDATA[
+		select max(rank)
+		from FeatureRank
+		where featureEval.corpusName = :corpusName
+		and featureEval.featureSetName = :featureSetName
+		and featureEval.param1 = :param1
+		and featureEval.param2 = :param2
+		and featureEval.crossValidationFoldId = :crossValidationFoldId
+		and featureEval.evaluationType = :evaluationType
+		and featureEval.label = :label
+	]]></query>	
+	<query name="getIntrinsicInfoContent"><![CDATA[
+		select new org.apache.ctakes.ytex.kernel.metric.ConceptInfo(featureName, rank, 0d, evaluation)
+		from FeatureRank
+		where featureEval.corpusName = :corpusName
+		and featureEval.featureSetName = :featureSetName
+		and featureEval.param1 = :param1
+		and featureEval.param2 = :param2
+		and featureEval.crossValidationFoldId = :crossValidationFoldId
+		and featureEval.evaluationType = :evaluationType
+		and featureEval.label = :label
+		order by evaluation desc
+	]]></query>
+	
+</hibernate-mapping>
\ No newline at end of file

Added: ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/KernelEvaluation.hbm.xml
URL: http://svn.apache.org/viewvc/ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/KernelEvaluation.hbm.xml?rev=1551254&view=auto
==============================================================================
--- ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/KernelEvaluation.hbm.xml (added)
+++ ctakes/branches/ytex/ctakes-ytex-res/src/main/resources/org/apache/ctakes/ytex/kernel/model/KernelEvaluation.hbm.xml Mon Dec 16 16:30:30 2013
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+<hibernate-mapping package="org.apache.ctakes.ytex.kernel.model">
+	<class name="KernelEvaluation" table="kernel_eval">
+		<id name="kernelEvaluationId" column="kernel_eval_id">
+			<generator class="native">
+				<param name="sequence">kernel_eval_id_sequence</param>
+			</generator>
+		</id>
+		<property name="corpusName" column="corpus_name"/>
+		<property name="experiment" />
+		<property name="label" />
+		<property name="foldId" column="cv_fold_id" />
+		<property name="param1" />
+		<property name="param2" />
+	</class>
+	<class name="KernelEvaluationInstance" table="kernel_eval_instance">
+		<!-- don't use the auto_increment key so hibernate can batch insert this -->
+		<composite-id>
+			<!-- 
+			<key-many-to-one name="kernelEvaluation" class="KernelEvaluation" column="kernel_eval_id"/>
+			 -->
+			<key-property name="kernelEvaluationId" column="kernel_eval_id" />
+			<key-property name="instanceId1" column="instance_id1" type="long"/>
+			<key-property name="instanceId2" column="instance_id2" type="long" />
+		</composite-id>
+		<property name="similarity" column="similarity" />
+	</class>
+	<query name="getKernelEvaluation"><![CDATA[
+		from KernelEvaluationInstance
+		where kernelEvaluationId = :kernelEvaluationId
+		and instanceId1 = :instanceId1
+		and  instanceId2 =  :instanceId2
+	]]></query>
+	<query name="deleteKernelEvaluation"><![CDATA[
+		delete from KernelEvaluationInstance
+		where kernelEvaluationId = :kernelEvaluationId
+		and instanceId1 = :instanceId1
+		and  instanceId2 =  :instanceId2
+	]]></query>
+	<query name="getAllKernelEvaluations"><![CDATA[
+		from KernelEvaluationInstance
+		where kernelEvaluationId = :kernelEvaluationId
+	]]></query>
+	<!-- 2 separate indices for instanceId1 & instanceId2 use union so that 
+		mysql can use both indices arggh! hibernate doesn't support union - run 2 
+		queries -->
+	<query name="getAllKernelEvaluationsForInstance1"><![CDATA[
+		from KernelEvaluationInstance
+		where kernelEvaluationId = :kernelEvaluationId
+		and instanceId1 = :instanceId 
+	]]></query>
+	<query name="getAllKernelEvaluationsForInstance2"><![CDATA[
+		from KernelEvaluationInstance
+		where kernelEvaluationId = :kernelEvaluationId
+		and instanceId2 = :instanceId 
+	]]></query>
+	<query name="getKernelEval"><![CDATA[
+		from KernelEvaluation
+		where corpusName = :corpusName
+		and experiment = :experiment
+		and label = :label
+		and foldId = :foldId
+		and param1 = :param1
+		and param2 = :param2
+	]]></query>
+	
+</hibernate-mapping>
\ No newline at end of file



Mime
View raw message