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
{
Show replies by date