Hello Holger,
Thank you for your reply.
Yes.This is FS Bug as you mentioned.Because when Role is deleted in the Server manager for a specific project,All the existing role and ID should be deleted in the Projects all the 3 stores.But it is not.
So this is BUG.
But i have written a code to iterate an and delete it manually.Because deleting of individual ID-'xxxxx' is not at all possible.Have to get all the GROUPS and permission Matrix in some Set or map.Delete all the Groups and Users and compare it with available Groups and Users in Server Manager.then recreate it.
Also deleting and recreating will be a teduois job.(because released person approval required and relese date will get changed and complete permission matrix need to be maintained properly anb load will be high).
Written a script to identifiy non-existing Group and Users:(Manual delete)
After identifiy it and writing it to a temp file and send it to Net owners as email.
/**
* This method is used to find the nonexisting editing group in the stores
*
* @param storeType
* @param element
* @param project
*/
private void findUnknownGroupId(Type storeType, IDProvider element,
Project project) {
String creationDate = "";
String projectname = "";
String strType = "";
String nonexistingGroup = "";
try {
PermissionMap permission = ((DefaultStoreElement) element)
.getPermissionMap();
for (Group grp : projGroups) {
projectGroup.put(grp.getId(), grp.getName());
}
for (User usr : users) {
userGroup.put(usr.getId(), usr.getName());
}
Set<Long> permissionKey = permission.keySet();
for (Long id : permissionKey) {
if (!projectGroup.containsKey(id) && !userGroup.containsKey(id)) {
if (isItPrinted == false) {
creationDate = "Report creation date: " + new Date();
outputGroup.append(creationDate);
outputGroup.append("\n");
projectname = "**********Project Name: "
+ project.getName() + " ***********";
outputGroup.append(projectname);
outputGroup.append("\n");
strType = "**********Store Type: "
+ storeType.getName() + " ***********";
outputGroup.append(strType);
outputGroup.append("\n");
isItPrinted = true;
}
nonexistingGroup = "Foldername:"
+ ((IDProvider) element).getUid() + "***Uid:"
+ element.getLongID() + "***Role_ID:" + id;
outputGroup.append(nonexistingGroup);
outputGroup.append("\n");
}
}
} catch (Exception e) {
Logging.logError("findUnknownGroupId() Exception ", e, LOGGER);
} finally {
creationDate = "";
projectname = "";
strType = "";
nonexistingGroup = "";
}
}
Thank you.
Have a nice day.