# HG changeset patch # User Robert Casties # Date 1541772812 -3600 # Node ID b36a57a452a654cc2630fe4a955f32570f816427 # Parent 8aff920ec7c00ba0b9dcfacfd558cb5b0e549a7c new Clean UI to find non-public references and witnesses and make them public. diff -r 8aff920ec7c0 -r b36a57a452a6 src/main/java/de/mpiwg/itgroup/ismi/browse/FullEntityRepositoryBean.java --- a/src/main/java/de/mpiwg/itgroup/ismi/browse/FullEntityRepositoryBean.java Thu Nov 08 20:15:02 2018 +0100 +++ b/src/main/java/de/mpiwg/itgroup/ismi/browse/FullEntityRepositoryBean.java Fri Nov 09 15:13:32 2018 +0100 @@ -201,7 +201,7 @@ entity = getWrapper().getEntityContent(entity); } boolean condFailed = false; - for (RelationFilter filter :relationFilters) { + for (RelationFilter filter : relationFilters) { if (filter.tarObjectClass != null) { List rels = entity.getSourceRelations(filter.relObjectClass, filter.tarObjectClass); if (filter.relationMissing) { diff -r 8aff920ec7c0 -r b36a57a452a6 src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java --- a/src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java Thu Nov 08 20:15:02 2018 +0100 +++ b/src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java Fri Nov 09 15:13:32 2018 +0100 @@ -32,12 +32,15 @@ } public synchronized void reset(){ - logger.info("MissingRelationsBean.reset()"); + logger.info("NonpublicEntitiesBean.reset()"); browseBean = new FullEntityRepositoryBean(); - logger.info("MissingRelationsBean.reset() Done."); + logger.info("NonpublicEntitiesBean.reset() Done."); } + /** + * Find non-public DIGITALIZATIONs of public CODEXs. + */ public void actionFindNonpublicDigitalizations() { logger.debug("Start findNonpublicDigitalizations..."); List relFilters = new ArrayList(); @@ -77,12 +80,12 @@ } /** - * Makes the selected digitalizations public. - * Uses PrivacityUtils.setTextAndMorePrivacity(). + * Makes the selected Entities public. + * Uses PrivacityUtils.changeEntityPrivacity(). * @return */ - public String actionMakeDigitalizationsPublic() { - logger.info("MAKE DIGITALIZATIONS PUBLIC"); + public String actionMakeSelectedEntitiesPublic() { + logger.info("MAKE SELECTED ENTITIES PUBLIC"); List textMsg = new ArrayList(); try { List entities = browseBean.getEntities(); @@ -100,10 +103,92 @@ this.addGeneralMsg(msg); logger.debug(msg); } - addGeneralMsg(browseBean.getEntities().size() + " DIGITALIZATIONS were made public!"); + addGeneralMsg(browseBean.getEntities().size() + " Entities were made public!"); return null; } + /** + * Find non-public REFERENCEs of public Entities. + */ + public void actionFindNonpublicReferences() { + logger.debug("Start findNonpublicReferences..."); + List relFilters = new ArrayList(); + /* + * find REFERENCE is_reference_of * relations + */ + browseBean = new FullEntityRepositoryBean(); + browseBean.setObjectClass(REFERENCE); + RelationFilter relFilter = new RelationFilter(); + relFilter.relObjectClass = "is_reference_of"; + relFilter.tarObjectClass = "*"; + relFilters.add(relFilter); + try { + // search all References + browseBean.searchByRelations(relFilters); + // filter out non-public REFERENCEs of public Entities + List entities = browseBean.getEntities(); + List nonpublicEntities = new ArrayList(); + for (Entity ent : entities) { + if (!ent.getIsPublic()) { + List rels = ent.getSourceRelations("is_reference_of", "*"); + 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 findNonpublicReferences."); + } + + /** + * Find non-public WITNESSes of public TEXTs. + */ + public void actionFindNonpublicWitnesses() { + logger.debug("Start findNonpublicWitnesses..."); + List relFilters = new ArrayList(); + /* + * find WITNESS is_exemplar_of TEXT relation + */ + browseBean = new FullEntityRepositoryBean(); + browseBean.setObjectClass(WITNESS); + RelationFilter relFilter = new RelationFilter(); + relFilter.relObjectClass = "is_exemplar_of"; + relFilter.tarObjectClass = "TEXT"; + relFilters.add(relFilter); + try { + // search all Witnesses + browseBean.searchByRelations(relFilters); + // filter out non-public Witnesses of public CODEXs + List entities = browseBean.getEntities(); + List nonpublicEntities = new ArrayList(); + for (Entity ent : entities) { + if (!ent.getIsPublic()) { + List rels = ent.getSourceRelations("is_exemplar_of", TEXT); + 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 findNonpublicWitnesses."); + } + public EntityRepositoryBean getBrowseBean() { return browseBean; diff -r 8aff920ec7c0 -r b36a57a452a6 src/main/webapp/clean/components/nonpublicDigitalization.xhtml --- a/src/main/webapp/clean/components/nonpublicDigitalization.xhtml Thu Nov 08 20:15:02 2018 +0100 +++ b/src/main/webapp/clean/components/nonpublicDigitalization.xhtml Fri Nov 09 15:13:32 2018 +0100 @@ -20,12 +20,6 @@ - - - - + + + + + + + diff -r 8aff920ec7c0 -r b36a57a452a6 src/main/webapp/clean/components/nonpublicReference.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/clean/components/nonpublicReference.xhtml Fri Nov 09 15:13:32 2018 +0100 @@ -0,0 +1,162 @@ + + + + + + +

non-public References of public Entities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text + + + + + + + State + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff -r 8aff920ec7c0 -r b36a57a452a6 src/main/webapp/clean/components/nonpublicWitness.xhtml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/clean/components/nonpublicWitness.xhtml Fri Nov 09 15:13:32 2018 +0100 @@ -0,0 +1,154 @@ + + + + + + +

non-public Witnesses of public Texts

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text + + + + + + + State + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff -r 8aff920ec7c0 -r b36a57a452a6 src/main/webapp/clean/nonpublicEntities.xhtml --- a/src/main/webapp/clean/nonpublicEntities.xhtml Thu Nov 08 20:15:02 2018 +0100 +++ b/src/main/webapp/clean/nonpublicEntities.xhtml Fri Nov 09 15:13:32 2018 +0100 @@ -24,9 +24,18 @@ itemChangeListener="#{Session.nonpublicEntities.listenerTabChange}" activeItem="#{Session.nonpublicEntities.selectedTab}"> - + + + + + + + + + +