ace.getPermissions().add(entry.getPermission()); ace.getPermissions().remove(entry.getPermission()); if ((directAce != null) && (!directAce.getPermissions().isEmpty())) List<String> permissions = translatePermissionsToCMIS(directAce.getPermissions(), onlyBasicPermissions); if(permissions != null && !permissions.isEmpty()) if ((indirectAce != null) && (!indirectAce.getPermissions().isEmpty())) List<String> permissions = translatePermissionsToCMIS(indirectAce.getPermissions(), onlyBasicPermissions); indirectAce.setPermissions(permissions); if ((directAce != null) && (!directAce.getPermissions().isEmpty())) indirectAce.getPermissions().removeAll(directAce.getPermissions()); if(!indirectAce.getPermissions().isEmpty())
ace.getPermissions().add(entry.getPermission()); ace.getPermissions().remove(entry.getPermission()); if ((directAce != null) && (!directAce.getPermissions().isEmpty())) List<String> permissions = translatePermissionsToCMIS(directAce.getPermissions(), onlyBasicPermissions); if(permissions != null && !permissions.isEmpty()) if ((indirectAce != null) && (!indirectAce.getPermissions().isEmpty())) List<String> permissions = translatePermissionsToCMIS(indirectAce.getPermissions(), onlyBasicPermissions); indirectAce.setPermissions(permissions); if ((directAce != null) && (!directAce.getPermissions().isEmpty())) indirectAce.getPermissions().removeAll(directAce.getPermissions()); if(!indirectAce.getPermissions().isEmpty())
@Override protected boolean read(XMLStreamReader parser, QName name, AccessControlEntryImpl target) throws XMLStreamException { if (isCmisNamespace(name)) { if (isTag(name, TAG_ACE_PRINCIPAL)) { target.setPrincipal(PRINCIPAL_PARSER.walk(parser)); return true; } if (isTag(name, TAG_ACE_PERMISSIONS)) { target.setPermissions(addToList(target.getPermissions(), readText(parser))); return true; } if (isTag(name, TAG_ACE_IS_DIRECT)) { target.setDirect(readBoolean(parser)); return true; } } return false; } };
@Override protected boolean read(XmlPullParser parser, QName name, AccessControlEntryImpl target) throws XmlPullParserException { if (isCmisNamespace(name)) { if (isTag(name, TAG_ACE_PRINCIPAL)) { target.setPrincipal(PRINCIPAL_PARSER.walk(parser)); return true; } if (isTag(name, TAG_ACE_PERMISSIONS)) { target.setPermissions(addToList(target.getPermissions(), readText(parser))); return true; } if (isTag(name, TAG_ACE_IS_DIRECT)) { target.setDirect(readBoolean(parser)); return true; } } return false; } };