[gatein-commits] gatein SVN: r5176 - in exo/portal/branches/3.1.x/component/identity/src: test/java/org/exoplatform/services/organization and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 19 05:36:26 EST 2010


Author: hoang_to
Date: 2010-11-19 05:36:26 -0500 (Fri, 19 Nov 2010)
New Revision: 5176

Modified:
   exo/portal/branches/3.1.x/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java
   exo/portal/branches/3.1.x/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java
Log:
EXOGTN-136: A MembershipType is automatically created if missing while making a membership link

Modified: exo/portal/branches/3.1.x/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java
===================================================================
--- exo/portal/branches/3.1.x/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java	2010-11-19 09:21:20 UTC (rev 5175)
+++ exo/portal/branches/3.1.x/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java	2010-11-19 10:36:26 UTC (rev 5176)
@@ -102,6 +102,11 @@
             + " because membership type is null");
       }
 
+      if(orgService.getMembershipTypeHandler().findMembershipType(mt.getName()) == null)
+      {
+    	throw new InvalidNameException("MembershipType doesn't exist: " + mt.getName());  
+      }
+      
       String plGroupName = getPLIDMGroupName(g.getGroupName());
 
       String groupId =

Modified: exo/portal/branches/3.1.x/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java
===================================================================
--- exo/portal/branches/3.1.x/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java	2010-11-19 09:21:20 UTC (rev 5175)
+++ exo/portal/branches/3.1.x/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java	2010-11-19 10:36:26 UTC (rev 5176)
@@ -340,6 +340,7 @@
 
       mt = mtHandler_.createMembershipTypeInstance();
       mt.setName("membershipType3");
+      mtHandler_.createMembershipType(mt, true);
       membershipHandler_.linkMembership(userBenj, group2, mt, true);
 
       /*
@@ -496,7 +497,37 @@
       PageList users = userHandler_.findUsersByGroup("/users");
       assertTrue(users.getAvailable() > 0);
    }
-
+   
+   public void testLinkMembership() throws Exception
+   {
+	   String userName = "testLinkMembershipUser";
+	   String groupName = "testLinkMembershipGroup";
+	   String membershipType = "testLinkMembership";
+	   
+	   Group testGroup = groupHandler_.createGroupInstance();
+	   testGroup.setGroupName(groupName);
+	   groupHandler_.addChild(null, testGroup, true);
+	   
+	   User testUser = createUser(userName);
+	   
+	   MembershipType testMembership = mtHandler_.createMembershipTypeInstance();
+	   testMembership.setName(membershipType);
+	   
+	   try{
+		   membershipHandler_.linkMembership(testUser, testGroup, testMembership, true);
+		   //Fail the test if there is no exception in  the call to linkMembership
+		   fail();
+	   }catch(Exception ex)
+	   {
+		   
+	   }
+	   
+	   assertNull(mtHandler_.findMembershipType(membershipType));
+	   
+	   userHandler_.removeUser(userName, true);
+	   groupHandler_.removeGroup(testGroup, true);
+   }
+   
    private static class UserProfileListener extends UserProfileEventListener
    {
 



More information about the gatein-commits mailing list