private void validateContent() { clearErrorMessage(); if(getLexicalValue().isEmpty()) { return; } Optional<OWLDatatype> datatype = Optional.ofNullable(getSelectedDatatype()); datatype.ifPresent(d -> { if(!LiteralChecker.isLiteralIsInLexicalSpace(getEditedObject())) { annotationContent.setForeground(Color.RED); String message = String.format( "The entered value is not valid for the specified datatype (%s)", editorKit.getOWLModelManager().getRendering(d)); displayErrorMessage(message); } }); }
public static boolean isLiteralIsInLexicalSpace(OWLLiteral literal) { OWLDatatype d = literal.getDatatype(); if(d.isRDFPlainLiteral()) { return true; } if(d.isString()) { return true; } if(d.isBuiltIn()) { OWL2Datatype builtIn = d.getBuiltInDatatype(); if (builtIn.equals(OWL2Datatype.RDF_XML_LITERAL)) { return checkXMLLiteral(literal); } else { Pattern pattern = builtIn.getPattern(); return pattern.matcher(literal.getLiteral()).matches(); } } else { return true; } }
public static boolean isLiteralIsInLexicalSpace(OWLLiteral literal) { OWLDatatype d = literal.getDatatype(); if(d.isRDFPlainLiteral()) { return true; } if(d.isString()) { return true; } if(d.isBuiltIn()) { OWL2Datatype builtIn = d.getBuiltInDatatype(); if (builtIn.equals(OWL2Datatype.RDF_XML_LITERAL)) { return checkXMLLiteral(literal); } else { Pattern pattern = builtIn.getPattern(); return pattern.matcher(literal.getLiteral()).matches(); } } else { return true; } }
private void validateContent() { clearErrorMessage(); if(getLexicalValue().isEmpty()) { return; } Optional<OWLDatatype> datatype = Optional.ofNullable(getSelectedDatatype()); datatype.ifPresent(d -> { if(!LiteralChecker.isLiteralIsInLexicalSpace(getEditedObject())) { annotationContent.setForeground(Color.RED); String message = String.format( "The entered value is not valid for the specified datatype (%s)", editorKit.getOWLModelManager().getRendering(d)); displayErrorMessage(message); } }); }