comparison src/main/java/de/mpiwg/itgroup/ismi/merge/NonpublicEntitiesBean.java @ 196:dedd218ad565

new find-non-public-entities function for aliases with source or target relations.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Thu, 20 Dec 2018 19:13:34 +0100
parents b36a57a452a6
children
comparison
equal deleted inserted replaced
195:5309d29b3061 196:dedd218ad565
75 75
76 } catch (Exception e) { 76 } catch (Exception e) {
77 logger.error(e); 77 logger.error(e);
78 } 78 }
79 logger.debug("Done findNonpublicDigitalizations."); 79 logger.debug("Done findNonpublicDigitalizations.");
80 }
81
82 /**
83 * Find non-public ALIASes with source relations to public entities.
84 */
85 public void actionFindNonpublicAliasSrcs() {
86 logger.debug("Start findNonpublicAliasSrcs...");
87 List<RelationFilter> relFilters = new ArrayList<RelationFilter>();
88 /*
89 * find ALIAS -*-> * relations
90 */
91 browseBean = new FullEntityRepositoryBean();
92 browseBean.setObjectClass(ALIAS);
93 RelationFilter relFilter = new RelationFilter();
94 relFilter.relObjectClass = "*";
95 relFilter.tarObjectClass = "*";
96 relFilters.add(relFilter);
97 try {
98 // search all aliases with target relations
99 browseBean.searchByRelations(relFilters);
100 // filter out non-public ALIASes of public entities
101 List<Entity> entities = browseBean.getEntities();
102 List<Entity> nonpublicEntities = new ArrayList<Entity>();
103 for (Entity ent : entities) {
104 if (!ent.getIsPublic()) {
105 List<Relation> rels = ent.getSourceRelations("*", "*");
106 for (Relation rel : rels) {
107 Entity tar = getWrapper().getEntityById(rel.getTargetId());
108 if (tar.getIsPublic()) {
109 nonpublicEntities.add(ent);
110 break;
111 }
112 }
113 }
114 }
115 browseBean.updateEntities(nonpublicEntities);
116
117 } catch (Exception e) {
118 logger.error(e);
119 }
120 logger.debug("Done findNonpublicAliasSrcs.");
121 }
122
123 /**
124 * Find non-public ALIASes with target relations to public entities.
125 */
126 public void actionFindNonpublicAliasTars() {
127 logger.debug("Start findNonpublicAliasTars...");
128 List<RelationFilter> relFilters = new ArrayList<RelationFilter>();
129 /*
130 * find ALIAS <-*- * relations
131 */
132 browseBean = new FullEntityRepositoryBean();
133 browseBean.setObjectClass(ALIAS);
134 RelationFilter relFilter = new RelationFilter();
135 relFilter.relObjectClass = "*";
136 relFilter.srcObjectClass = "*";
137 relFilters.add(relFilter);
138 try {
139 // search all aliases with target relations
140 browseBean.searchByRelations(relFilters);
141 // filter out non-public ALIASes of public entities
142 List<Entity> entities = browseBean.getEntities();
143 List<Entity> nonpublicEntities = new ArrayList<Entity>();
144 for (Entity ent : entities) {
145 if (!ent.getIsPublic()) {
146 List<Relation> rels = ent.getTargetRelations("*", "*");
147 for (Relation rel : rels) {
148 Entity tar = getWrapper().getEntityById(rel.getSourceId());
149 if (tar.getIsPublic()) {
150 nonpublicEntities.add(ent);
151 break;
152 }
153 }
154 }
155 }
156 browseBean.updateEntities(nonpublicEntities);
157
158 } catch (Exception e) {
159 logger.error(e);
160 }
161 logger.debug("Done findNonpublicAliasTars.");
80 } 162 }
81 163
82 /** 164 /**
83 * Makes the selected Entities public. 165 * Makes the selected Entities public.
84 * Uses PrivacityUtils.changeEntityPrivacity(). 166 * Uses PrivacityUtils.changeEntityPrivacity().