Project

General

Profile

« Previous | Next » 

Revision 7088

handle case where EML access rule "permission" is not in our constrained list (EML 2.0.0 doc showed this with a "none" permission for public principal). we now omit this invalid access rule when interpreting it in system metadata -- effectively dropping that invalid access rule. "none" had been stored as a 0 in the DB xml_access table and would not have given or denied access for the document so I think it can safely be omitted for good. for example, see knb-lter-gce.101.2 with this rule:
<allow>
<principal>public</principal>
<permission>none</permission>
</allow>

View differences:

src/edu/ucsb/nceas/metacat/IdentifierManager.java
1313 1313
        	if (accessDAO.getPermType().equals(AccessControlInterface.ALLOW)) {
1314 1314
	        	AccessRule accessRule = new AccessRule();    	
1315 1315
	        	List <Permission> permissions = convertPermission(accessDAO.getPermission().intValue());
1316
	        	// cannot include if we have no permissions
1317
	        	if (permissions == null || permissions.isEmpty()) {
1318
	        		logMetacat.warn("skipping empty access rule permissions for " + guid);
1319
	        		continue;
1320
	        	}
1316 1321
	        	accessRule.setPermissionList(permissions);
1317 1322
	        	Subject subject = new Subject();
1318 1323
	        	subject.setValue(accessDAO.getPrincipalName());

Also available in: Unified diff