[jboss-svn-commits] JBL Code SVN: r18900 - in labs/jbosslabs/labs-3.0-build: views/auth/src/main/java/org/jboss/labs/view/auth/action and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 12 16:58:14 EDT 2008
Author: szimano
Date: 2008-03-12 16:58:14 -0400 (Wed, 12 Mar 2008)
New Revision: 18900
Modified:
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/ServiceRole.java
labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/GlobalBinderAction.java
labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/ServiceManager.java
labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/UserManager.java
labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/include/choose_user_role.xhtml
labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/manage_global.xhtml
Log:
view panel in global roles mngmnt JBLAB-901
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/ServiceRole.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/ServiceRole.java 2008-03-12 19:56:55 UTC (rev 18899)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/ServiceRole.java 2008-03-12 20:58:14 UTC (rev 18900)
@@ -27,6 +27,7 @@
import java.util.Set;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
@@ -53,7 +54,7 @@
@ManyToOne
private Service service;
- @ManyToMany
+ @ManyToMany(fetch=FetchType.EAGER)
private Set<UserRole> globalRoles;
public String getId() {
Modified: labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/GlobalBinderAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/GlobalBinderAction.java 2008-03-12 19:56:55 UTC (rev 18899)
+++ labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/GlobalBinderAction.java 2008-03-12 20:58:14 UTC (rev 18900)
@@ -44,10 +44,10 @@
@Inject
private RoleBinderService binderService;
- @In(required=false)
+ @In(value="#{users.currentRole}", required=false)
private UserRole currentRole;
- @In(required = false)
+ @In(value="#{services.currentServiceRole}", required = false)
private ServiceRole currentServiceRole;
public boolean isOk() {
Modified: labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/ServiceManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/ServiceManager.java 2008-03-12 19:56:55 UTC (rev 18899)
+++ labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/ServiceManager.java 2008-03-12 20:58:14 UTC (rev 18900)
@@ -28,6 +28,7 @@
import org.jboss.labs.auth.RoleBinderService;
import org.jboss.labs.core.model.auth.Service;
import org.jboss.labs.core.model.auth.ServiceRole;
+import org.jboss.labs.core.model.auth.UserRole;
import org.jboss.labs.injection.seam.Guice;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Logger;
@@ -35,6 +36,8 @@
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.log.Log;
+import org.richfaces.model.TreeNode;
+import org.richfaces.model.TreeNodeImpl;
import com.google.inject.Inject;
@@ -48,14 +51,15 @@
public class ServiceManager {
@Inject
private RoleBinderService binderService;
-
+
private Service currentService;
- @Out(required = false)
private ServiceRole currentServiceRole;
private Set<Service> services;
+ private TreeNode globalRolesTree;
+
@Logger
private Log log;
@@ -67,7 +71,7 @@
if (!currentService.equals(this.currentService)) {
currentServiceRole = null;
}
-
+
this.currentService = currentService;
}
@@ -94,4 +98,58 @@
public void setCurrentServiceRole(ServiceRole currentServiceRole) {
this.currentServiceRole = currentServiceRole;
}
+
+ public TreeNode getGlobalRolesTree() {
+ if (globalRolesTree == null) {
+ int counter = 0;
+
+ globalRolesTree = new TreeNodeImpl();
+ globalRolesTree.setData("Services");
+
+ for (Service s : getAllServices()) {
+ TreeNode tmp = new TreeNodeImpl();
+ tmp.setData(s.getDescription());
+
+ globalRolesTree.addChild(counter++, tmp);
+
+ addServiceRoles(tmp, s, counter);
+ }
+ }
+
+ return globalRolesTree;
+ }
+
+ /**
+ * @param tmp
+ * @param s
+ * @param counter
+ */
+ private void addServiceRoles(TreeNode node, Service s, int counter) {
+ for (ServiceRole sr : s.getServiceRoles()) {
+ TreeNode tmp = new TreeNodeImpl();
+ tmp.setData(sr.getDescription());
+
+ node.addChild(counter++, tmp);
+
+ addGlobalRoles(tmp, sr, counter);
+ }
+ }
+
+ /**
+ * @param tmp
+ * @param sr
+ * @param counter
+ */
+ private void addGlobalRoles(TreeNode node, ServiceRole sr, int counter) {
+ for (UserRole gr : sr.getGlobalRoles()) {
+ TreeNode tmp = new TreeNodeImpl();
+ tmp.setData(gr.getId());
+
+ node.addChild(counter++, tmp);
+ }
+ }
+
+ public void setGlobalRolesTree(TreeNode globalRolesTree) {
+ this.globalRolesTree = globalRolesTree;
+ }
}
Modified: labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/UserManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/UserManager.java 2008-03-12 19:56:55 UTC (rev 18899)
+++ labs/jbosslabs/labs-3.0-build/views/auth/src/main/java/org/jboss/labs/view/auth/action/UserManager.java 2008-03-12 20:58:14 UTC (rev 18900)
@@ -54,7 +54,6 @@
private UserService userService;
@DataModelSelection
- @Out(required = false)
private UserRole currentRole;
@DataModel
@@ -68,8 +67,7 @@
allRoles = new Vector<UserRole>(userService.getAllUserRoles());
}
- public void listRole() {
- log.info("Bean: "+this+" role: "+currentRole);
+ public void setRole() {
}
public UserRole getCurrentRole() {
Modified: labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/include/choose_user_role.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/include/choose_user_role.xhtml 2008-03-12 19:56:55 UTC (rev 18899)
+++ labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/include/choose_user_role.xhtml 2008-03-12 20:58:14 UTC (rev 18900)
@@ -30,7 +30,7 @@
</h:column>
<h:column>
- <a4j:commandButton value="Choose" reRender="msgs,buttons" action="#{users.listRole}"/>
+ <a4j:commandButton value="Choose" reRender="msgs,buttons" action="#{users.setRole}" />
</h:column>
</rich:dataTable>
Modified: labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/manage_global.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/manage_global.xhtml 2008-03-12 19:56:55 UTC (rev 18899)
+++ labs/jbosslabs/labs-3.0-build/views/auth/src/main/webapp/manage_global.xhtml 2008-03-12 20:58:14 UTC (rev 18900)
@@ -6,20 +6,40 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
- xmlns:a4j="http://richfaces.org/a4j"
- template="/layout/template.xhtml">
+ xmlns:a4j="http://richfaces.org/a4j" template="/layout/template.xhtml">
<ui:define name="body">
- <a4j:form>
-
- <ui:include src="include/choose_service_role.xhtml" />
-
- <ui:include src="include/choose_user_role.xhtml" />
-
- <h:panelGroup id="buttons">
- <a4j:commandButton action="#{globalBinder.add}" value="Set" reRender="msgs" disabled="#{! globalBinder.ok}"/>
- </h:panelGroup>
- </a4j:form>
+ <rich:tabPanel switchType="ajax">
+ <rich:tab label="Add">
+ <a4j:form>
+
+ <ui:include src="include/choose_service_role.xhtml" />
+
+ <ui:include src="include/choose_user_role.xhtml" />
+
+ <h:panelGroup id="buttons">
+ <a4j:commandButton action="#{globalBinder.add}" value="Set"
+ reRender="msgs" disabled="#{! globalBinder.ok}" />
+ </h:panelGroup>
+
+ </a4j:form>
+ </rich:tab>
+ <rich:tab label="View/Edit">
+ <a4j:form>
+ <rich:tree switchType="ajax" value="#{services.globalRolesTree}"
+ var="item" id="globalRolesTree">
+ </rich:tree>
+ <rich:contextMenu event="oncontextmenu" attached="true"
+ submitMode="none">
+
+ <rich:menuItem value="Zoom In" id="zin"></rich:menuItem>
+
+ <rich:menuItem value="Zoom Out" id="zout"></rich:menuItem>
+
+ </rich:contextMenu>
+ </a4j:form>
+ </rich:tab>
+ </rich:tabPanel>
</ui:define>
</ui:composition>
More information about the jboss-svn-commits
mailing list