Mercurial > hg > ismi-richfaces
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(). |