NIHVIVO-3523 Add the concept of a PermissionSetForPublic (and rename PermissionSetForNewUsers)

This commit is contained in:
j2blake 2011-12-22 15:33:18 +00:00
parent 779c48c683
commit e5894ee80a
8 changed files with 52 additions and 26 deletions

View file

@ -287,7 +287,7 @@ public class PermissionSetsLoader implements ServletContextListener {
checkForPermissionSetsWithoutLabels();
checkForReferencesToNonexistentPermissionSets();
checkForReferencesToNonexistentPermissions();
warnIfNoDefaultPermissionSetsForNewUsers();
warnIfNoPermissionSetsForNewUsers();
}
private void checkForPermissionSetsWithoutLabels() {
@ -327,14 +327,14 @@ public class PermissionSetsLoader implements ServletContextListener {
}
}
private void warnIfNoDefaultPermissionSetsForNewUsers() {
private void warnIfNoPermissionSetsForNewUsers() {
for (PermissionSet ps : uaDao.getAllPermissionSets()) {
if (ps.isDefaultForNewUsers()) {
if (ps.isForNewUsers()) {
return;
}
}
ss.warning(listener, "No PermissionSet has been declared to be a "
+ "Default PermissionSet for new users.");
+ "PermissionSet for new users.");
}
}

View file

@ -18,7 +18,8 @@ public class PermissionSet {
/** This may be empty, but it should never be null. */
private String label = "";
private boolean defaultForNewUsers;
private boolean forNewUsers;
private boolean forPublic;
/** This may be empty, but it should never be null. */
private Set<String> permissionUris = Collections.emptySet();
@ -39,13 +40,22 @@ public class PermissionSet {
this.label = (label == null) ? "" : label;
}
public boolean isDefaultForNewUsers() {
return defaultForNewUsers;
public boolean isForNewUsers() {
return forNewUsers;
}
public void setDefaultForNewUsers(Boolean defaultForNewUsers) {
this.defaultForNewUsers = (defaultForNewUsers == null) ? false
: defaultForNewUsers.booleanValue();
public void setForNewUsers(Boolean forNewUsers) {
this.forNewUsers = (forNewUsers == null) ? false
: forNewUsers.booleanValue();
}
public boolean isForPublic() {
return forPublic;
}
public void setForPublic(Boolean forPublic) {
this.forPublic = (forPublic == null) ? false
: forPublic.booleanValue();
}
public Set<String> getPermissionUris() {

View file

@ -169,7 +169,8 @@ public class VitroVocabulary {
public static final String PERMISSIONSET = VITRO_AUTH + "PermissionSet";
public static final String PERMISSIONSET_HAS_PERMISSION = VITRO_AUTH + "hasPermission";
public static final String DEFAULT_PERMISSION_SET_FOR_NEW_USERS = VITRO_AUTH + "DefaultPermissionSetForNewUsers";
public static final String PERMISSION_SET_FOR_NEW_USERS = VITRO_AUTH + "PermissionSetForNewUsers";
public static final String PERMISSION_SET_FOR_PUBLIC = VITRO_AUTH + "PermissionSetForPublic";
public static final String PERMISSION = VITRO_AUTH + "Permission";

View file

@ -142,7 +142,8 @@ public class JenaBaseDaoCon {
protected ObjectProperty USERACCOUNT_PROXY_EDITOR_FOR = _constModel.createObjectProperty(VitroVocabulary.USERACCOUNT_PROXY_EDITOR_FOR);
protected OntClass PERMISSIONSET = _constModel.createClass(VitroVocabulary.PERMISSIONSET);
protected OntClass DEFAULT_PERMISSION_SET_FOR_NEW_USERS = _constModel.createClass(VitroVocabulary.DEFAULT_PERMISSION_SET_FOR_NEW_USERS);
protected OntClass PERMISSION_SET_FOR_NEW_USERS = _constModel.createClass(VitroVocabulary.PERMISSION_SET_FOR_NEW_USERS);
protected OntClass PERMISSION_SET_FOR_PUBLIC = _constModel.createClass(VitroVocabulary.PERMISSION_SET_FOR_PUBLIC);
protected ObjectProperty PERMISSIONSET_HAS_PERMISSION = _constModel.createObjectProperty(VitroVocabulary.PERMISSIONSET_HAS_PERMISSION);
protected OntClass PERMISSION = _constModel.createClass(VitroVocabulary.PERMISSION);

View file

@ -12,7 +12,6 @@ import java.util.Random;
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntResource;
import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.Statement;
@ -410,8 +409,8 @@ public class UserAccountsDaoJena extends JenaBaseDao implements UserAccountsDao
PermissionSet ps = new PermissionSet();
ps.setUri(uri);
ps.setLabel(getPropertyStringValue(r, RDFS.label));
ps.setDefaultForNewUsers(isResourceOfType(r,
DEFAULT_PERMISSION_SET_FOR_NEW_USERS));
ps.setForNewUsers(isResourceOfType(r, PERMISSION_SET_FOR_NEW_USERS));
ps.setForPublic(isResourceOfType(r, PERMISSION_SET_FOR_PUBLIC));
ps.setPermissionUris(getPropertyResourceURIValues(r,
PERMISSIONSET_HAS_PERMISSION));
return ps;
@ -436,8 +435,10 @@ public class UserAccountsDaoJena extends JenaBaseDao implements UserAccountsDao
PermissionSet ps = new PermissionSet();
ps.setUri(r.getURI());
ps.setLabel(getPropertyStringValue(r, RDFS.label));
ps.setDefaultForNewUsers(isResourceOfType(r,
DEFAULT_PERMISSION_SET_FOR_NEW_USERS));
ps.setForNewUsers(isResourceOfType(r,
PERMISSION_SET_FOR_NEW_USERS));
ps.setForPublic(isResourceOfType(r,
PERMISSION_SET_FOR_PUBLIC));
ps.setPermissionUris(getPropertyResourceURIValues(r,
PERMISSIONSET_HAS_PERMISSION));
list.add(ps);