[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