Issues with the CLI command for validating "define.xml" in 2.1 vs 2.0.2 (+ v2.2.2)

December 11, 2015

Would anyone have any insight as to why the CLI command that works for 2.0.2 does not work for 2.1 when validating a "define.xml"?

With 2.0.2:

sassysdev > java -jar '/ace/aceapp/acelib/utility/opencdisc/v2.0.2/opencdisc-community/components/lib/validator-cli-2.0.2.jar' -type='define' -source='../../datatran/sdtmxpt/define.xml' -config='/ace/aceapp/acelib/utility/opencdisc/v2.0.2/opencdisc-community/components/config/Define.xml 1.0.xml' -config:define='../../datatran/sdtmxpt/define.xml' -report='opencdisc_validator_v2.0.2_sdtm_define.xlsx' -report:type='excel' -report:overwrite='yes'
 Beginning validation, please wait...
 The validation has completed.

With 2.1:

sassysdev > java -jar '/ace/aceapp/acelib/utility/opencdisc/v2.1/pinnacle21-community/components/lib/validator-cli-2.1.0.jar' -type='define' -source='../../datatran/sdtmxpt/define.xml' -config='/ace/aceapp/acelib/utility/opencdisc/v2.1/pinnacle21-community/components/config/Define.xml.xml' -config:define='../../datatran/sdtmxpt/define.xml' -report='opencdisc_validator_v2.1_sdtm_define.xlsx' -report:type='excel' -report:overwrite='yes'
 Beginning validation, please wait...
Exception in thread "main" java.lang.RuntimeException: input xml or schematron file does not exist or isn't accessible
 at org.opencdisc.validator.engine.HierarchicalValidator.validate(HierarchicalValidator.java:67)
 at org.opencdisc.validator.DefaultValidator.validate(DefaultValidator.java:247)
 at org.opencdisc.validator.DefaultValidator.validate(DefaultValidator.java:92)
 at org.opencdisc.validator.cli.CommandParser.parse(CommandParser.java:442)
 at org.opencdisc.validator.cli.Main.main(Main.java:28)

Hello Stephane,

Unfortunatley, for the 2.1 release, the command line interface for the define validator is non-functional. You will have to run your validations from the GUI until the CLI is fixed in an upcoming release. Is there any particular reason that you are using the CLI over the GUI?

Regards,

Gerard

Thanks for the follow-up Gerard.  That's a bummer.

There are a couple of reasons for using the CLI:

In an organization of our size it doesn't make sense to ask every programmer to install Community on their desktop.  We need to be able to insure that the latest version of Community is avaliable as well as maintaining previous released versions as often users cannot upgrade to the latest data standards half way thru a study.  Users also want to know that they are able to reproduce the same report over and over using the exact same set of specifications.  We cannot expect users to perform that level of software maintenance on their desktops.  Hence the need for a central repository.

Historically until Community was released, the previous versions of the Validator were "Linux" friendly and our internal processes for data validation have been built accordingly.  Users were/are actually able to run the GUI f the Validator on Linux.

Since it was no longer possible to run the GUI for Community, we developped a script to provide our users all the menus/selections avaliable with the Community 2.0.2 Validator tool.

It's not as pretty as the GUI, but it does the job and meets our goals of storing the reports on Linux along side the data/documentation and having a central repository for Community.

Let's hope this CLI issue gets addressed in the subsequent releases.

ps: We had extensive talks w/ Pinnacle about Enterprise but couldn't move forward w/ its implementation.

Hi,

In our case, we store in a config file the versions of the CT, MedDRA, SNOMED, etc. All these parameters are read, and the command is built from them, ensuring there cannot be an error due to a wrong selection in the GUI. The CLI is therefore essential for us in terms of quality. Any idea when this will be fixed?

Thanks,
-- Thierry

Hello,

Still the same problem with 2.1.1: the CLI has not been fixed?

-- Thierry

In reply to by thyresias

Dear Thierry,

There is some good news and some bad news.

First the good news: The source code of v.2.1 (not 2.1.1 yet) has been published on bitbucket: https://bitbucket.org/opencdisc/.
So you can analyze the source code to understand what the parameters are and so get the CLI functioning. That is how I always did it in the past. In the source code, look for any statements "public static void main(String[] args)" or similar. "args" means "arguments" and are the parameters to be passed.

The bad news is that you have to do it yourself without guarantee of success.

I had a quick look myself and it looks to me as everything you need is in the class "org.opencdisc.validator.cli.CommandParser"

Best regards,

Jozef

In reply to by XML4Pharma

Hello Jozef,

Thanks, that's what I used to do too (look into the source code), but since it was stated the CLI was broken, I did not investigate any further: did you manage to run it from the command line?

Best,
-- Thierry

In reply to by thyresias

Hi Thierry,

I haven't tried.
Unfortunately, the newer license does not allow me to redistribute the software anymore with my own SDTM-ETL mapping tool (it was part of it before the license changed). So I haven't any interest anymore in getting it running by using the CLI. In my own SDTM-ETL I just spawned a new OpenCDISC process and passed information to it using CLI. I am not allowed to do this anymore since v.2.0 of P21.

In reply to by XML4Pharma

Hi Jozef. I'm not sure that it is enough to fix org.opencdisc.validator.cli.CommandParser class. Starting with 2.1.0 validation of Define.xml was moved to define-generator package.

If you copy a schematron/ folder to config/ from version 2.0.2 you will get a different error, so as I understand the core package tries to use an old way of define.xml validation.

Dear Pinnacle 21 developers, may be you can give us a hint in which direction to look?

Hi Dmitri,

User scocca seems to have been able to get the CLI up and running (see https://www.pinnacle21.net/forum/cli-validator-212). Maybe you can contact him and ask.
You can also contact me separately concerning alternative ways of execution of FDA and PMDA validation rules.
 

Hi Jozef,

I believe Scocca had an issue with running P21 using Java 6 or earlier. In our case everything works fine, but the standalone validation of Define.xml using CLI. In 2.1.0 Pinnacle21 moved the validation of define.xml into a different class and CLI version still tries to use the old way, which does not work now.

I may be wrong and that is why Pinnacle 21 comment will be much appreciated.

 

As an FYI, I just installed 2.2.2 and ran the validator including the "define.xml" and I'm still getting the same message - this is really disappointing.

 

... Running OpendCDISC Community Validator on SAS Transport file(s) ...
 Beginning validation, please wait...
 The validation has completed.

... Running OpendCDISC Community Validator on 'define.xml' ...
 Beginning validation, please wait...
Exception in thread "main" java.lang.RuntimeException: input xml or schematron file does not exist or isn't accessible
 at org.opencdisc.validator.engine.HierarchicalValidator.validate(HierarchicalValidator.java:67)
 at org.opencdisc.validator.DefaultValidator.validate(DefaultValidator.java:247)
 at org.opencdisc.validator.DefaultValidator.validate(DefaultValidator.java:92)
 at org.opencdisc.validator.cli.CommandParser.parse(CommandParser.java:442)
 at org.opencdisc.validator.cli.Main.main(Main.java:28)

Lou Anne Kramer brought this to my attention.  I will respond after some digging. 

Hi there,

Any progress on this question? Not being able to run with the command line is really a pain...

Cheers
Thierry

Hi Thierry,

I believe Sergiy answered this question in a different discussion:

We introduced a new process for validation of define.xml file about a year ago. It works only in GUI. It is not and will not be supported by CLI.