private DiffOperation getDiffOperation(OWLOntologyChangeRecord changeRecord) { return changeRecord.getData().accept(changeOperationVisitor); } }
private static RevisionDetails.ChangeDetails toChangeDetails(@Nonnull OWLOntologyChangeRecord record) { return record.getData().accept(MAPPING_VISITOR); }
private static Optional<IRI> getAxiom(OWLOntologyChangeRecord rec) { OWLOntologyChangeData data = rec.getData(); if (data instanceof AxiomChangeData) { OWLAxiom axiom = ((AxiomChangeData) data).getAxiom(); return getSubject(axiom); } else { return Optional.empty(); } }
public OWLOntologyChangeData getRevertingChange(final OWLOntologyChangeRecord record) { return record.getData().accept(new OWLOntologyChangeDataVisitor<OWLOntologyChangeData, RuntimeException>() { @Override public OWLOntologyChangeData visit(AddAxiomData data) throws RuntimeException {
@Override public boolean isIncluded(final OWLOntologyChangeRecord object) { return object.getData().accept(new OWLOntologyChangeDataVisitor<Boolean, RuntimeException>() { @Nonnull @Override
private ImmutableSet<OWLEntity> getEntitiesInternal(Revision revision) { ImmutableSet.Builder<OWLEntity> result = ImmutableSet.builder(); Set<IRI> iris = new HashSet<>(); for (OWLOntologyChangeRecord change : revision) { if (change.getData() instanceof AxiomChangeData) { OWLAxiom ax = ((AxiomChangeData) change.getData()).getAxiom(); java.util.Optional<? extends OWLObject> subject = axiomSubjectProvider.getSubject(ax); if (subject.isPresent()) { if (subject.get() instanceof OWLEntity) { result.add((OWLEntity) subject.get()); } else if (subject.get() instanceof IRI) { iris.add((IRI) subject.get()); } } } } for (IRI iri : iris) { for(EntityType<?> entityType : EntityType.values()) { OWLEntity entity = dataFactory.getOWLEntity(entityType, iri); if(hasContainsEntityInSignature.containsEntityInSignature(entity)) { result.add(entity); } } } return result.build(); } }
private OWLOntologyChangeRecord normaliseChangeRecord(OWLOntologyChangeRecord changeRecord, OWLOntologyID singletonAnonymousId) { OWLOntologyID ontologyID = changeRecord.getOntologyID(); if (ontologyID.isAnonymous()) { return new OWLOntologyChangeRecord(singletonAnonymousId, changeRecord.getData()); } else { // As is return changeRecord; } }
@Nonnull private static ImmutableList<OWLOntologyChangeRecord> internChangeRecords(OntologyChangeRecordList list, final Interner<OWLAxiom> axiomInterner) { var changeRecords = list.getChangeRecords(); var internedChangeRecordsListBuilder = ImmutableList.<OWLOntologyChangeRecord>builder(); var changeDataInterner = new ChangeDataInterner(axiomInterner); for(var chanceRecord : changeRecords) { var ontologyId = chanceRecord.getOntologyID(); var changeData = chanceRecord.getData(); var internedChangeData = changeData.accept(changeDataInterner); if(internedChangeData == changeData) { internedChangeRecordsListBuilder.add(chanceRecord); } else { OWLOntologyChangeRecord rec = new OWLOntologyChangeRecord(ontologyId, internedChangeData); internedChangeRecordsListBuilder.add(rec); } } return internedChangeRecordsListBuilder.build(); }
public RevisionDetails extractRevisionDetails(Revision revision) { ImmutableList.Builder<RevisionDetails.ChangeDetails> builder = ImmutableList.builder(); ImmutableSet.Builder<IRI> subjectsBuilder = ImmutableSet.builder(); revision.getChanges().stream() .filter(chg -> chg.getData() instanceof AxiomChangeData) .peek(chg -> { axiomSubjectProvider.getSubject(((AxiomChangeData) chg.getData()).getAxiom()) .ifPresent(subject -> { if(subject instanceof IRI) { subjectsBuilder.add((IRI) subject); } else if(subject instanceof HasIRI) { subjectsBuilder.add(((HasIRI) subject).getIRI()); } }); }) .map(RevisionDetailsExtractor::toChangeDetails) .filter(Objects::nonNull) .forEach(builder::add); return new RevisionDetails(revision.getRevisionNumber().getValueAsInt(), revision.getTimestamp(), revision.getUserId(), revision.getHighLevelDescription(), subjectsBuilder.build(), builder.build()); }
for(var changeForOntology : changesForOntology) { var changeRecord = changeForOntology.getChangeRecord(); changeDataListForOntology.add(changeRecord.getData());
public DiffElement<S, SafeHtml> render(DiffElement<S, OWLOntologyChangeRecord> element) { OWLOntologyChangeRecord lineElement = element.getLineElement(); return new DiffElement<>( element.getDiffOperation(), element.getSourceDocument(), renderData(lineElement.getData()) ); }