private Dialog build()
{
String namespace = "org.jboss.security.domain";
// Mappings
DMRMapping securityDomainsCollection = new DMRMapping()
.setAddress("/{selected.profile}/subsystem=security/security-domain=*");
// maps to a specific security domain
DMRMapping singleSecurityDomain = new DMRMapping()
.setAddress("/{selected.profile}/subsystem=security/security-domain={selected.entity}");
Mapping tableMapping = new DMRMapping()
.addAttributes("entity.key");
Mapping attributesMapping = new DMRMapping()
.addAttributes("entity.key", "cache-type");
// Interaction units
InteractionUnit<StereoTypes> root = new Builder()
.start(new Container(namespace, "securityDomains", "Security Domains", Choice, EditorPanel))
.mappedBy(securityDomainsCollection)
// The front "page"
.start(new Container(namespace, "availableDomains", "Available Domains", Concurrency))
.start(new Container(namespace, "tools", "Tools", Toolstrip))
.mappedBy(singleSecurityDomain)
.add(new Trigger(
QName.valueOf(namespace + ":add"),
QName.valueOf("org.jboss.as:resource-operation#add"),
"Add"))
.mappedBy(securityDomainsCollection)
.add(new Trigger(
QName.valueOf(namespace + ":remove"),
QName.valueOf("org.jboss.as:resource-operation#remove"),
"Remove"))
.end()
.add(new Select(namespace, "list", "Master"))
.mappedBy(tableMapping)
.start(new Container(namespace, "details", "Details", Choice))
.mappedBy(singleSecurityDomain)
.add(new Container(namespace, "details#attributes", "Attributes", Form))
.mappedBy(attributesMapping)
.end()
.end()
// The actual pages
.start(new Container(namespace, "domainConfiguration", "Domain Configuration", Concurrency))
.add(new Select(namespace, "domainSelection", "Select Domain", PullDown))
.mappedBy(tableMapping)
.start(new Container(namespace, "securityModules", "Security Modules", Choice, Pages))
// Authentication
.start(new Container(namespace + ".authentication", "authentication", "Authentication"))
.start(new Container(namespace + ".authentication", "tools", "Tools", Toolstrip))
.add(new Trigger(
QName.valueOf(namespace + ".authentication:add"),
QName.valueOf("org.jboss.as:resource-operation#add"),
"Add"))
.add(new Trigger(
QName.valueOf(namespace + ".authentication:remove"),
QName.valueOf("org.jboss.as:resource-operation#remove"),
"Remove"))
.end()
.add(new Select(namespace + ".authentication", "loginModules", "Login Modules"))
.mappedBy(new DMRMapping()
.setAddress("/{selected.profile}/subsystem=security/security-domain={selected.entity}/authentication=classic/login-module=*")
.addAttributes("code", "flag"))
.start(new Container(namespace + ".authentication", "details", "Details", Choice))
.add(new Container(namespace + ".authentication", "details#basicAttributers", "Attributes", Form))
.mappedBy(new DMRMapping()
.setAddress("/{selected.profile}/subsystem=security/security-domain={selected.entity}/authentication=classic/login-module={selected.entity}")
.addAttributes("code", "flag", "module"))
.add(new Select(namespace + ".authentication", "moduleOptions", "Module Options"))
.end()
.end()
// Authorization
.start(new Container(namespace + ".authorization", "authorization", "Authorization"))
.start(new Container<StereoTypes>(namespace + ".authorization", "tools", "Tools", Toolstrip))
.add(new Trigger(
QName.valueOf(namespace + ".authorization:add"),
QName.valueOf("org.jboss.as:resource-operation#add"),
"Add"))
.add(new Trigger(
QName.valueOf(namespace + ".authorization:remove"),
QName.valueOf("org.jboss.as:resource-operation#remove"),
"Remove"))
.end()
.add(new Select(namespace + ".authorization", "policies", "Policies"))
.mappedBy(new DMRMapping()
.setAddress("/{selected.profile}/subsystem=security/security-domain={selected.entity}/authorization=classic/policy-module=*")
.addAttributes("code", "flag"))
.start(new Container(namespace + ".authorization", "details", "Details", Choice))
.add(new Container(namespace + ".authorization", "details#basicAttributers", "Attributes", Form))
.mappedBy(new DMRMapping()
.setAddress("/{selected.profile}/subsystem=security/security-domain={selected.entity}/authorization=classic/policy-module={selected.entity}")
.addAttributes("code", "flag", "module"))
.add(new Select(namespace + ".authorization", "moduleOptions", "Module Options"))
.end()
.end()