} catch ( IOException ex ) {
Logger.getLogger( ProjectMetadataImpl.class.getName() ).log( Level.INFO,
"Bad package.json in " + fo.getPath() + " - will try with permissive parser", ex );
}
try {
SimpleJSONParser p = new SimpleJSONParser( true ); //permissive mode - will parse as much as it can
if (!fo.isValid()) {
Logger.getLogger( ProjectMetadataImpl.class.getName() ).log( Level.WARNING, "Project root dir became invalid" );
return new LinkedHashMap<>();
}
in = fo.getInputStream();
try {
Map<String, Object> m = p.parse( fo );
ProjectMetadataImpl.this.hasErrors = err = p.hasErrors();
synchronized ( this ) {
map = Collections.synchronizedMap( m );
return map;
}
} finally {