getodk/briefcase

Unable to export form pulled from directory if title has "illegal characters"

gt-novelt opened this issue · 1 comments

Software versions

Briefcase v1.17.4,
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Problem description

The export hangs forever when trying to export a form pulled from "Collect Directory" when form has "illegal characters".

Steps to reproduce the problem

Pull from a "Collect Directory" of a form that has illegal characters (for instance hyphens) as title and try to export it.

Expected behavior

Export succeed

Other information

I think this issue is caused by PR #803.

When pulling from directory, illegal characters of the form name are replace by '_'.

title = StringUtils.stripIllegalChars(formTitle);

But then when exporting, since JavaRosa is not used, those are not replaced. This leads to the form not being found on fetch:

FormMetadata formMetadata = formMetadataPort.fetch(key).orElseThrow(BriefcaseException::new);

image

#800 appears to be related.

I don't think it is a duplicate since I believe the fix of #800 is what is causing the problem.