public static List<EntityType<?>> getExpectedEntityTypes(ParserException e) { String currentToken = e.getCurrentToken(); if (isManchesterSyntaxKeyword(currentToken)) { return Collections.emptyList(); } if(e.getCurrentToken().equals(ManchesterOWLSyntaxTokenizer.EOF)) { return Collections.emptyList(); } List<EntityType<?>> expectedEntityTypes = Lists.newArrayList(); if(e.isClassNameExpected()) { expectedEntityTypes.add(EntityType.CLASS); } if(e.isIndividualNameExpected()) { expectedEntityTypes.add(EntityType.NAMED_INDIVIDUAL); } if(e.isObjectPropertyNameExpected()) { expectedEntityTypes.add(EntityType.OBJECT_PROPERTY); } if(e.isDataPropertyNameExpected()) { expectedEntityTypes.add(EntityType.DATA_PROPERTY); } if(e.isAnnotationPropertyNameExpected()) { expectedEntityTypes.add(EntityType.ANNOTATION_PROPERTY); } if(e.isDatatypeNameExpected()) { expectedEntityTypes.add(EntityType.DATATYPE); } return expectedEntityTypes; }
public static ManchesterSyntaxFrameParseError getParseError(ParserException e) { List<EntityType<?>> expectedEntityTypes = getExpectedEntityTypes(e); String message = e.getMessage().replace(ManchesterOWLSyntaxTokenizer.EOF, "end of description"); return new ManchesterSyntaxFrameParseError(message, e.getColumnNumber(), e.getLineNumber(), e.getCurrentToken(), expectedEntityTypes); }
public static OWLExpressionParserException convertException(ParserException ex) { int endPos = ex.getStartPos() + ex.getCurrentToken().length(); if (ex.getCurrentToken().equals("<EOF>")){ endPos = ex.getStartPos(); // because start + length of <EOF> would push us past the end of the document } return new OWLExpressionParserException(ex.getMessage(), ex.getStartPos(), endPos, ex.isClassNameExpected(), ex.isObjectPropertyNameExpected(), ex.isDataPropertyNameExpected(), ex.isIndividualNameExpected(), ex.isDatatypeNameExpected(), ex.isAnnotationPropertyNameExpected(), ex.getExpectedKeywords()); }
public static OWLExpressionParserException convertException(ParserException ex) { int endPos = ex.getStartPos() + ex.getCurrentToken().length(); if (ex.getCurrentToken().equals("<EOF>")){ endPos = ex.getStartPos(); // because start + length of <EOF> would push us past the end of the document } return new OWLExpressionParserException(ex.getMessage(), ex.getStartPos(), endPos, ex.isClassNameExpected(), ex.isObjectPropertyNameExpected(), ex.isDataPropertyNameExpected(), ex.isIndividualNameExpected(), ex.isDatatypeNameExpected(), ex.isAnnotationPropertyNameExpected(), ex.getExpectedKeywords()); }