// Two forms : with and without arg.
// Maximises similarity with other tools.
String file ;
if ( ! super.contains(assemblerDescDecl) && getNumPositional() == 0 )
throw new CmdException("No assembler description given") ;
if ( super.contains(assemblerDescDecl) ) {
if ( getValues(assemblerDescDecl).size() != 1 )
throw new CmdException("Multiple assembler descriptions given via --desc") ;
if ( getPositional().size() != 0 )
throw new CmdException("Additional assembler descriptions given") ;
file = getValue(assemblerDescDecl) ;
} else {
if ( getNumPositional() != 1 )
throw new CmdException("Multiple assembler descriptions given as positional arguments") ;
file = getPositionalArg(0) ;
}
if (file == null)
throw new CmdException("No dataset specified") ;
// Assumes a single test dataset description in the assembler file.
Dataset ds = TextDatasetFactory.create(file) ;
if (ds == null)
throw new CmdException("No dataset description found") ;
// get index.
dataset = (DatasetGraphText)(ds.asDatasetGraph()) ;
textIndex = dataset.getTextIndex() ;
if (textIndex == null)
throw new CmdException("Dataset has no text index") ;
entityDefinition = textIndex.getDocDef() ;
}