Skip to content

Commit

Permalink
Merge pull request #8 from jsproede/multiple_principals
Browse files Browse the repository at this point in the history
Bugfix for generating roles from multiple principals
  • Loading branch information
htreu committed Feb 25, 2016
2 parents 864cf23 + 9c97bca commit 5a51dcc
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 11 deletions.
Expand Up @@ -27,10 +27,14 @@ class OpenCmsResourceType {
String type
String description
String listname
String[] principal = ["ROLE.WORKPLACE_USER"]
def principal = "ROLE.WORKPLACE_USER"

OpenCmsResourceType(final OpenCmsModule module, final Project project) {
this.module = module
this.project = project
}

void principal(String...principals) {
this.principal = principals
}
}
Expand Up @@ -168,14 +168,11 @@ class CmsManifestTask extends DefaultTask {

static def void generatePrinciples(OpenCmsResourceType resourceType, MarkupBuilder xml) {
xml.accesscontrol() {
def principal = resourceType.principal
if (principal instanceof String[]){
for (int i = 0; i < principal.size(); i++) {
accessentry(principal: "${principal[i]}", permissions: "+r+v+w+c")
}
} else {
accessentry(principal: "${principal}", permissions: "+r+v+w+c")
if (!resourceType.principal.class.isArray()) {
resourceType.principal = [ resourceType.principal ]
}

resourceType.principal.each{ e -> accessentry(principal: "${e}", permissions: "+r+v+w+c")}
accessentry(principal: "ROLE.ADMINISTRATOR", permissions: "+r+v+w+c")
}
}
Expand Down
Expand Up @@ -119,10 +119,10 @@ public class CmsManifestTaskTest {
assertEquals(NEW_XML_WITH_MULTIPLE_PRINCIPALS, writer.toString());
}

private OpenCmsResourceType generateResourceTypeWithPrincipals(String[] principals) {
private OpenCmsResourceType generateResourceTypeWithPrincipals(def principal) {
OpenCmsResourceType resourceType = new OpenCmsResourceType(null, project)
if (null != principals) {
resourceType.principal = principals
if (null != principal) {
resourceType.principal = principal
}
return resourceType
}
Expand Down

0 comments on commit 5a51dcc

Please sign in to comment.