# HG changeset patch # User Robert Casties # Date 1545329614 -3600 # Node ID dedd218ad5659ff74dd9e1e7a37d4374b085cbc1 # Parent 5309d29b3061fe754dd2848d9431978ee35f19f5 new find-non-public-entities function for aliases with source or target relations. diff -r 5309d29b3061 -r dedd218ad565 src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java --- a/src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java Fri Dec 14 16:54:05 2018 +0100 +++ b/src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java Thu Dec 20 19:13:34 2018 +0100 @@ -79,6 +79,88 @@ logger.debug("Done findNonpublicDigitalizations."); } + /** + * Find non-public ALIASes with source relations to public entities. + */ + public void actionFindNonpublicAliasSrcs() { + logger.debug("Start findNonpublicAliasSrcs..."); + List relFilters = new ArrayList(); + /* + * find ALIAS -*-> * relations + */ + browseBean = new FullEntityRepositoryBean(); + browseBean.setObjectClass(ALIAS); + RelationFilter relFilter = new RelationFilter(); + relFilter.relObjectClass = "*"; + relFilter.tarObjectClass = "*"; + relFilters.add(relFilter); + try { + // search all aliases with target relations + browseBean.searchByRelations(relFilters); + // filter out non-public ALIASes of public entities + List entities = browseBean.getEntities(); + List nonpublicEntities = new ArrayList(); + for (Entity ent : entities) { + if (!ent.getIsPublic()) { + List rels = ent.getSourceRelations("*", "*"); + for (Relation rel : rels) { + Entity tar = getWrapper().getEntityById(rel.getTargetId()); + if (tar.getIsPublic()) { + nonpublicEntities.add(ent); + break; + } + } + } + } + browseBean.updateEntities(nonpublicEntities); + + } catch (Exception e) { + logger.error(e); + } + logger.debug("Done findNonpublicAliasSrcs."); + } + + /** + * Find non-public ALIASes with target relations to public entities. + */ + public void actionFindNonpublicAliasTars() { + logger.debug("Start findNonpublicAliasTars..."); + List relFilters = new ArrayList(); + /* + * find ALIAS <-*- * relations + */ + browseBean = new FullEntityRepositoryBean(); + browseBean.setObjectClass(ALIAS); + RelationFilter relFilter = new RelationFilter(); + relFilter.relObjectClass = "*"; + relFilter.srcObjectClass = "*"; + relFilters.add(relFilter); + try { + // search all aliases with target relations + browseBean.searchByRelations(relFilters); + // filter out non-public ALIASes of public entities + List entities = browseBean.getEntities(); + List nonpublicEntities = new ArrayList(); + for (Entity ent : entities) { + if (!ent.getIsPublic()) { + List rels = ent.getTargetRelations("*", "*"); + for (Relation rel : rels) { + Entity tar = getWrapper().getEntityById(rel.getSourceId()); + if (tar.getIsPublic()) { + nonpublicEntities.add(ent); + break; + } + } + } + } + browseBean.updateEntities(nonpublicEntities); + + } catch (Exception e) { + logger.error(e); + } + logger.debug("Done findNonpublicAliasTars."); + } + /** * Makes the selected Entities public. * Uses PrivacityUtils.changeEntityPrivacity(). diff -r 5309d29b3061 -r dedd218ad565 src/main/webapp/clean/components/nonpublicAliasSrc.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/clean/components/nonpublicAliasSrc.xhtml Thu Dec 20 19:13:34 2018 +0100 @@ -0,0 +1,161 @@ + + + + + + +

non-public Aliases sources of public entities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text + + + + + + + State + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff -r 5309d29b3061 -r dedd218ad565 src/main/webapp/clean/components/nonpublicAliasTar.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/clean/components/nonpublicAliasTar.xhtml Thu Dec 20 19:13:34 2018 +0100 @@ -0,0 +1,161 @@ + + + + + + +

non-public Aliases targets of public entities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text + + + + + + + State + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff -r 5309d29b3061 -r dedd218ad565 src/main/webapp/clean/nonpublicEntities.xhtml --- a/src/main/webapp/clean/nonpublicEntities.xhtml Fri Dec 14 16:54:05 2018 +0100 +++ b/src/main/webapp/clean/nonpublicEntities.xhtml Thu Dec 20 19:13:34 2018 +0100 @@ -24,6 +24,14 @@ itemChangeListener="#{Session.nonpublicEntities.listenerTabChange}" activeItem="#{Session.nonpublicEntities.selectedTab}"> + + + + + + + +