Hi,

It is quite some time since I started to look into the DateAnnotatorTest. I
cannot reproduce the Jenkins [1] failure related to the CTAKES-415 bug [2].
However I do not understand why on Jenkins I get the following stack:

2017-12-06 21:41:29,490 INFO
org.apache.ctakes.ytex.uima.annotators.DateAnnotatorTest  - date to be
annotated: Wed Dec 06 21:41:29 UTC 2017
2017-12-06 21:41:29,559 INFO
org.apache.ctakes.ytex.uima.annotators.DateAnnotatorTest  - Using
org.apache.ctakes.ytex.uima.types.Date.type: 94
2017-12-06 21:41:29,560 INFO
org.apache.ctakes.ytex.uima.annotators.DateAnnotatorTest  -
*ytexDates.size: 0*
2017-12-06 21:41:29,570 INFO
org.apache.ctakes.ytex.uima.annotators.DateAnnotatorTest  - creating
JCas from: 
/home/jenkins/jenkins-slave/workspace/cTAKES-trunk-Java-1.8/ctakes-ytex-uima/target/classes/org/apache/ctakes/ytex/types/TypeSystem.xml
Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.377
sec <<< FAILURE!


while running it myself, I get:
09 Dec 2017 10:19:59  INFO DateAnnotatorTest - date to be annotated: Sat
Dec 09 10:19:58 EST 2017
09 Dec 2017 11:29:03  INFO DateAnnotatorTest - Using
org.apache.ctakes.ytex.uima.types.Date.type: 94
09 Dec 2017 11:29:03  INFO DateAnnotatorTest - [Date
   sofa: _InitialView
   begin: 0
   end: 28
   date: "2017-12-09T10:19:58-0500"
]
09 Dec 2017 11:29:03  INFO DateAnnotatorTest - [Date
   sofa: _InitialView
   begin: 0
   end: 28
   date: "2017-12-09T10:19:58-0500"
]
09 Dec 2017 11:29:03  INFO DateAnnotatorTest - *ytexDates.size: 2*
09 Dec 2017 11:29:03  INFO DateAnnotatorTest - date from annotation:
2017-12-09T10:19:58-0500

I have added few UTests in the same DateAnnotatorTest, and I was presuming
that the following construction is idempotent (doesn't depend on
environment or external resources) :
DateAnnotator dateAnnotator = new DateAnnotator();
dateAnnotator.dateType = Date.class.getName();
dateAnnotator.process(jCas);

Looking forward to your advice,
Alex

[1] - https://builds.apache.org/view/C/view/Apache%20cTAKES/
job/cTAKES-trunk-Java-1.8/66/consoleFull
[2] - https://issues.apache.org/jira/browse/CTAKES-415

On Tue, Dec 5, 2017 at 2:26 PM, Alexandru Zbarcea <zbarce...@gmail.com>
wrote:

> Thank you James. Good catch. Will do that. I missed that when refactoring.
>
> Alex
>
> On Dec 5, 2017 1:09 PM, "James Masanz" <masanz.ja...@gmail.com> wrote:
>
>> Hi Alex,
>>
>> you might want to replace
>> LOGGER.warn("couldn't drop table test_concepts. Maybe it doesn't even
>> exists", e);
>>
>> with something that includes the table name variable, such as:
>> LOGGER.warn(String.format("Couldn't drop table %s.  Maybe it doesn't even
>> exist.", sqlTableName), e);
>>
>> On Tue, Dec 5, 2017 at 8:32 AM, Finan, Sean <
>> sean.fi...@childrens.harvard.edu> wrote:
>>
>> > Hi Alex,
>> >
>> > I like the approach.
>> >
>> > Sean
>> >
>> > -----Original Message-----
>> > From: al...@apache.org [mailto:al...@apache.org]
>> > Sent: Monday, December 04, 2017 10:58 PM
>> > To: comm...@ctakes.apache.org
>> > Subject: svn commit: r1817150 - /ctakes/trunk/ctakes-ytex/src/
>> > main/java/org/apache/ctakes/util/JdbcOperationsHelper.java [EXTERNAL]
>> >
>> > Author: alexz
>> > Date: Tue Dec  5 03:58:07 2017
>> > New Revision: 1817150
>> >
>> > URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.
>> > apache.org_viewvc-3Frev-3D1817150-26view-3Drev&d=
>> > DwICaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=
>> > fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=
>> > 4Lb1jjC4XsbSAZ2rf0gsNtrV8JdfUnPe_xnfHUycT-U&s=
>> > PmAB90gzu1GG6yrwY6BMbc01q0hLKYE88gq79vRlpj4&e=
>> > Log:
>> > CTAKES-415
>> >
>> > Added:
>> >     ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/
>> > util/JdbcOperationsHelper.java
>> >
>> > Added: ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/
>> > util/JdbcOperationsHelper.java
>> > URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.
>> > apache.org_viewvc_ctakes_trunk_ctakes-2Dytex_src_main_
>> > java_org_apache_ctakes_util_JdbcOperationsHelper.java-
>> > 3Frev-3D1817150-26view-3Dauto&d=DwICaQ&c=qS4goWBT7poplM69zy_
>> > 3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKG
>> d4f7d4gTao&m=
>> > 4Lb1jjC4XsbSAZ2rf0gsNtrV8JdfUnPe_xnfHUycT-U&s=DjWdjDem-SHqJc
>> prSWE0yRIzg_
>> > BHiR8JXqw55nGrIz0&e=
>> > ============================================================
>> > ==================
>> > --- ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/uti
>> l/JdbcOperationsHelper.java
>> > (added)
>> > +++ ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/uti
>> l/JdbcOp
>> > +++ erationsHelper.java Tue Dec  5 03:58:07 2017
>> > @@ -0,0 +1,49 @@
>> > +package org.apache.ctakes.util;
>> > +
>> > +import org.apache.log4j.Logger;
>> > +import org.springframework.dao.DataAccessException;
>> > +import org.springframework.jdbc.core.JdbcOperations;
>> > +
>> > +/**
>> > + * Refactors helper functions like dropTableIfExists or other DB
>> > +operations
>> > + *
>> > + * // TODO: consider renaming it with something more suitable  */
>> > +public abstract class JdbcOperationsHelper {
>> > +
>> > +       static private final Logger LOGGER =
>> > +Logger.getLogger(JdbcOperationsHelper.class);
>> > +
>> > +       /**
>> > +        * Helper function to drop a 'table' from a DB, using SQL syntax
>> > +        *
>> > +        * @param jdbc
>> > +        * @param dbEngineType
>> > +        * @param sqlTableName
>> > +        */
>> > +       protected final void dropTableIfExist(JdbcOperations jdbc,
>> final
>> > String dbEngineType, final String sqlTableName) {
>> > +               // TODO: consider refactor using JOOQ
>> > +               String sqlStatement = "";
>> > +               switch (dbEngineType.toLowerCase()) {
>> > +                       case "hsql":
>> > +                       case "mysql":
>> > +                               sqlStatement = String.format("DROP TABLE
>> > IF EXISTS %s", sqlTableName);
>> > +                               break;
>> > +                       case "mssql":
>> > +                               sqlStatement = String.format("IF
>> > EXISTS(SELECT * FROM sys.objects WHERE object_id = object_id('%s')) DROP
>> > TABLE %s", sqlTableName);
>> > +                               break;
>> > +                       case "orcl":
>> > +                               sqlStatement = String.format("DROP TABLE
>> > %s", sqlTableName);
>> > +                               break;
>> > +                       default:
>> > +                               LOGGER.warn(String.format("unsupported
>> DB
>> > engine type: %s", dbEngineType));
>> > +                               break;
>> > +               }
>> > +               if (!sqlStatement.isEmpty()) {
>> > +                       try {
>> > +                               jdbc.execute(sqlStatement);
>> > +                       } catch (DataAccessException e) {
>> > +                               LOGGER.warn("couldn't drop table
>> > test_concepts. Maybe it doesn't even exists", e);
>> > +                       }
>> > +               }
>> > +       }
>> > +}
>> >
>> >
>> >
>>
>

Reply via email to