Your IDE should have settings that allow custom warnings. Also check out findbugs -- http://en.wikipedia.org/wiki/FindBugs
There might be a configurable maven plugin. It is a process ... -----Original Message----- From: Masanz, James J. [mailto:masanz.ja...@mayo.edu] Sent: Tuesday, May 05, 2015 8:01 PM To: dev@ctakes.apache.org Subject: build tool suggestion Do you know offhand, would it be easy to have something run at build time that flags uses of FileReader? Related - do we have anything at build time that produces warnings that are looked at? When I check in a change, I just check whether the next build is successful or not. I don't look for warnings other than what I see when I try a compile of my own on my own system. Ideally I think it would be good to have the use of FileReader cause a meaningful warning. But if there's no relatively easy way to do that, might we consider having it cause a build failure? I think the benefits would outweigh the drawbacks. -- James ________________________________________ From: Chen, Pei [pei.c...@childrens.harvard.edu] Sent: Tuesday, May 05, 2015 5:55 PM To: dev@ctakes.apache.org Subject: RE: svn commit: r1677903 - in /ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2: concept/BsvConceptFactory.java dictionary/BsvRareWordDictionary.java util/JdbcConnectionFactory.java Can we use InputStreamReader instead of FileReader? That way the resource can also be read from within a jar (potentially from maven central, etc.) and doesn't have to be fixed to a physical file... i.e. Instead of new BufferedReader(new FileReader(path)) new BufferedReader(new InputStreamReader(FileLocator.getAsStream(path))) --Pei -----Original Message----- From: seanfi...@apache.org [mailto:seanfi...@apache.org] Sent: Tuesday, May 05, 2015 6:42 PM To: comm...@ctakes.apache.org Subject: svn commit: r1677903 - in /ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2: concept/BsvConceptFactory.java dictionary/BsvRareWordDictionary.java util/JdbcConnectionFactory.java Author: seanfinan Date: Tue May 5 22:41:26 2015 New Revision: 1677903 URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.apache.org_r1677903&d=BQICaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=huK2MFkj300qccT8OSuuoYhy_xEYujfPwiAxhPVz5WY&m=9sLhiql1kiKYdaC8Nx3dTASt89nXQA3uy4kwesnHIag&s=wuwFl1DxU-yGWdGewROupvowHfYFay_u5LYKJUJF2VA&e= Log: Use FileLocator to find BSV dictionaries Modified: ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/concept/BsvConceptFactory.java ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/dictionary/BsvRareWordDictionary.java ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/util/JdbcConnectionFactory.java Modified: ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/concept/BsvConceptFactory.java URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.apache.org_viewvc_ctakes_trunk_ctakes-2Ddictionary-2Dlookup-2Dfast_src_main_java_org_apache_ctakes_dictionary_lookup2_concept_BsvConceptFactory.java-3Frev-3D1677903-26r1-3D1677902-26r2-3D1677903-26view-3Ddiff&d=BQICaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=huK2MFkj300qccT8OSuuoYhy_xEYujfPwiAxhPVz5WY&m=9sLhiql1kiKYdaC8Nx3dTASt89nXQA3uy4kwesnHIag&s=N_IOanbEYnXUTZ4ZO3vIjOeYun186kZGjXPKWp-Wi7k&e= ============================================================================== --- ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/concept/BsvConceptFactory.java (original) +++ ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ +++ ctakes/dictionary/lookup2/concept/BsvConceptFactory.java Tue May 5 +++ 22:41:26 2015 @@ -1,5 +1,6 @@ package org.apache.ctakes.dictionary.lookup2.concept; +import org.apache.ctakes.core.resource.FileLocator; import org.apache.ctakes.dictionary.lookup2.util.CuiCodeUtil; import org.apache.ctakes.dictionary.lookup2.util.LookupUtil; import org.apache.ctakes.dictionary.lookup2.util.TuiCodeUtil; @@ -34,11 +35,12 @@ final public class BsvConceptFactory imp } public BsvConceptFactory( final String name, final String bsvFilePath ) { - this( name, new File( bsvFilePath ) ); - } - - public BsvConceptFactory( final String name, final File bsvFile ) { - final Collection<CuiTuiTerm> cuiTuiTerms = parseBsvFile( bsvFile ); +// this( name, new File( bsvFilePath ) ); +// } +// +// public BsvConceptFactory( final String name, final File bsvFile ) { +// final Collection<CuiTuiTerm> cuiTuiTerms = parseBsvFile( bsvFile ); + final Collection<CuiTuiTerm> cuiTuiTerms = parseBsvFile( +bsvFilePath ); final Map<Long, Concept> conceptMap = new HashMap<>( cuiTuiTerms.size() ); for ( CuiTuiTerm cuiTuiTerm : cuiTuiTerms ) { final CollectionMap<ConceptCode, String, ? extends Collection<String>> codes @@ -90,11 +92,21 @@ final public class BsvConceptFactory imp * CUI|TUI|Text|PreferredTerm * </p> * If the TUI column is omitted then the entityId for the dictionary is used as the TUI + * <p/> + * // * @param bsvFile file containing term rows and bsv columns * - * @param bsvFile file containing term rows and bsv columns + * @param bsvFilePath file containing term rows and bsv columns * @return collection of all valid terms read from the bsv file */ - static private Collection<CuiTuiTerm> parseBsvFile( final File bsvFile ) { +// static private Collection<CuiTuiTerm> parseBsvFile( final File bsvFile ) { + static private Collection<CuiTuiTerm> parseBsvFile( final String bsvFilePath ) { + File bsvFile = null; + try { + bsvFile = FileLocator.locateFile( bsvFilePath ); + } catch ( IOException ioE ) { + ioE.getMessage(); + return Collections.emptyList(); + } final Collection<CuiTuiTerm> cuiTuiTerms = new ArrayList<>(); try ( final BufferedReader reader = new BufferedReader( new FileReader( bsvFile ) ) ) { String line = reader.readLine(); Modified: ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/dictionary/BsvRareWordDictionary.java URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.apache.org_viewvc_ctakes_trunk_ctakes-2Ddictionary-2Dlookup-2Dfast_src_main_java_org_apache_ctakes_dictionary_lookup2_dictionary_BsvRareWordDictionary.java-3Frev-3D1677903-26r1-3D1677902-26r2-3D1677903-26view-3Ddiff&d=BQICaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=huK2MFkj300qccT8OSuuoYhy_xEYujfPwiAxhPVz5WY&m=9sLhiql1kiKYdaC8Nx3dTASt89nXQA3uy4kwesnHIag&s=2mhfaak7geaJl8hCTk1LX9lWoSX7h9cRaSwYmnf6w0k&e= ============================================================================== --- ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/dictionary/BsvRareWordDictionary.java (original) +++ ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ +++ ctakes/dictionary/lookup2/dictionary/BsvRareWordDictionary.java Tue +++ May 5 22:41:26 2015 @@ -18,6 +18,7 @@ */ package org.apache.ctakes.dictionary.lookup2.dictionary; +import org.apache.ctakes.core.resource.FileLocator; import org.apache.ctakes.dictionary.lookup2.term.RareWordTerm; import org.apache.ctakes.dictionary.lookup2.util.FastLookupToken; import org.apache.ctakes.dictionary.lookup2.util.LookupUtil; @@ -31,6 +32,7 @@ import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Properties; import static org.apache.ctakes.dictionary.lookup2.dictionary.RareWordTermMapCreator.CuiTerm; @@ -59,11 +61,12 @@ final public class BsvRareWordDictionary public BsvRareWordDictionary( final String name, final String bsvFilePath ) { - this( name, new File( bsvFilePath ) ); - } - - public BsvRareWordDictionary( final String name, final File bsvFile ) { - final Collection<CuiTerm> cuiTerms = parseBsvFile( bsvFile ); +// this( name, new File( bsvFilePath ) ); +// } +// +// public BsvRareWordDictionary( final String name, final File bsvFile ) { +// final Collection<CuiTerm> cuiTerms = parseBsvFile( bsvFile ); + final Collection<CuiTerm> cuiTerms = parseBsvFile( bsvFilePath ); final CollectionMap<String, RareWordTerm, ? extends Collection<RareWordTerm>> rareWordTermMap = RareWordTermMapCreator.createRareWordTermMap( cuiTerms ); _delegateDictionary = new MemRareWordDictionary( name, rareWordTermMap ); @@ -109,11 +112,21 @@ final public class BsvRareWordDictionary * CUI|TUI|Text|PreferredTerm * </p> * If the TUI column is omitted then the entityId for the dictionary is used as the TUI + * <p/> + * // * @param bsvFile file containing term rows and bsv columns * - * @param bsvFile file containing term rows and bsv columns + * @param bsvFilePath path to file containing term rows and bsv + columns * @return collection of all valid terms read from the bsv file */ - static private Collection<CuiTerm> parseBsvFile( final File bsvFile ) { +// static private Collection<CuiTerm> parseBsvFile( final File bsvFile ) { + static private Collection<CuiTerm> parseBsvFile( final String bsvFilePath ) { + File bsvFile = null; + try { + bsvFile = FileLocator.locateFile( bsvFilePath ); + } catch ( IOException ioE ) { + ioE.getMessage(); + return Collections.emptyList(); + } final Collection<CuiTerm> cuiTerms = new ArrayList<>(); try ( final BufferedReader reader = new BufferedReader( new FileReader( bsvFile ) ) ) { String line = reader.readLine(); Modified: ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/util/JdbcConnectionFactory.java URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.apache.org_viewvc_ctakes_trunk_ctakes-2Ddictionary-2Dlookup-2Dfast_src_main_java_org_apache_ctakes_dictionary_lookup2_util_JdbcConnectionFactory.java-3Frev-3D1677903-26r1-3D1677902-26r2-3D1677903-26view-3Ddiff&d=BQICaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=huK2MFkj300qccT8OSuuoYhy_xEYujfPwiAxhPVz5WY&m=9sLhiql1kiKYdaC8Nx3dTASt89nXQA3uy4kwesnHIag&s=Zojydr1XQ2pr1l6pOrj2iBFd-7iR3__MBP6GNOBDIlQ&e= ============================================================================== --- ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ctakes/dictionary/lookup2/util/JdbcConnectionFactory.java (original) +++ ctakes/trunk/ctakes-dictionary-lookup-fast/src/main/java/org/apache/ +++ ctakes/dictionary/lookup2/util/JdbcConnectionFactory.java Tue May 5 +++ 22:41:26 2015 @@ -21,8 +21,6 @@ import java.util.*; public enum JdbcConnectionFactory { INSTANCE; - static private final String CTAKES_HOME = "CTAKES_HOME"; - static final private Logger LOGGER = Logger.getLogger( "JdbcConnectionFactory" ); static final private Logger DOT_LOGGER = Logger.getLogger( "ProgressAppender" ); static final private Logger EOL_LOGGER = Logger.getLogger( "ProgressDone" );