Skip to content

Commit

Permalink
[Refactor] Move code OperationalDataFilterDao to BaseDao
Browse files Browse the repository at this point in the history
  • Loading branch information
kostobog committed Jun 19, 2024
1 parent 66e1886 commit 1a3f323
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 17 deletions.
25 changes: 25 additions & 0 deletions src/main/java/cz/cvut/kbss/analysis/dao/BaseDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import cz.cvut.kbss.analysis.config.conf.PersistenceConf;
import cz.cvut.kbss.analysis.exception.PersistenceException;
import cz.cvut.kbss.analysis.model.AbstractEntity;
import cz.cvut.kbss.analysis.model.opdata.OperationalDataFilter;
import cz.cvut.kbss.analysis.model.util.EntityToOwlClassMapper;
import cz.cvut.kbss.analysis.service.IdentifierService;
import cz.cvut.kbss.jopa.model.EntityManager;
Expand Down Expand Up @@ -211,4 +212,28 @@ public boolean existsWithPredicate(String predicate, String value) {
.getSingleResult();
}

/**
* Associates new object with subjectURI via property
* @param subjectURI
* @param object should have non-null uri and context
*/
public void persistObject(URI subjectURI, URI property, AbstractEntity object){
Objects.requireNonNull(subjectURI);
Objects.requireNonNull(object);
Objects.requireNonNull(object.getUri());

em.createNativeQuery("""
INSERT {
GRAPH ?context{
?subject ?hasOperationalDataFilter ?object.
}
}WHERE {}
""")
.setParameter("context", object.getContext())
.setParameter("subject", subjectURI)
.setParameter("hasOperationalDataFilter", property)
.setParameter("object", object.getUri())
.executeUpdate();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -35,23 +35,7 @@ public OperationalDataFilter findByEntity(URI entity) {
* @param filter should have non-null uri and context
*/
public void persistHasFilter(URI entityURI, OperationalDataFilter filter){

Objects.requireNonNull(entityURI);
Objects.requireNonNull(filter);
Objects.requireNonNull(filter.getUri());

em.createNativeQuery("""
INSERT {
GRAPH ?context{
?entity ?hasOperationalDataFilter ?filter.
}
}WHERE {}
""")
.setParameter("context", filter.getContext())
.setParameter("entity", entityURI)
.setParameter("hasOperationalDataFilter", HAS_OPERATIONAL_DATA_FILTER_PROP)
.setParameter("filter", filter.getUri())
.executeUpdate();
persistObject(entityURI, HAS_OPERATIONAL_DATA_FILTER_PROP, filter);
}

@Override
Expand Down

0 comments on commit 1a3f323

Please sign in to comment.