[jbpm-commits] JBoss JBPM SVN: r4844 - in jbpm4/branches/idm: modules/pvm and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue May 19 06:08:29 EDT 2009
Author: jeff.yuchang
Date: 2009-05-19 06:08:29 -0400 (Tue, 19 May 2009)
New Revision: 4844
Modified:
jbpm4/branches/idm/modules/pvm/pom.xml
jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionResource.java
jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java
jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JbpmIdentityStore.java
jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java
jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionFactoryDescriptor.java
jbpm4/branches/idm/pom.xml
Log:
[JBPM-2172] update the jboss identity.
Modified: jbpm4/branches/idm/modules/pvm/pom.xml
===================================================================
--- jbpm4/branches/idm/modules/pvm/pom.xml 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/modules/pvm/pom.xml 2009-05-19 10:08:29 UTC (rev 4844)
@@ -85,8 +85,12 @@
<artifactId>slf4j-jdk14</artifactId>
</dependency>
<dependency>
- <groupId>org.jboss.identity</groupId>
- <artifactId>idm</artifactId>
+ <groupId>org.jboss.identity.idm</groupId>
+ <artifactId>idm-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.identity.idm</groupId>
+ <artifactId>idm-hibernate</artifactId>
<exclusions>
<exclusion>
<groupId>javax.persistence</groupId>
@@ -209,4 +213,4 @@
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
Modified: jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionResource.java
===================================================================
--- jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionResource.java 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionResource.java 2009-05-19 10:08:29 UTC (rev 4844)
@@ -23,7 +23,7 @@
import org.jboss.identity.idm.api.IdentitySession;
import org.jboss.identity.idm.api.Transaction;
-import org.jboss.identity.idm.exception.IdentityException;
+import org.jboss.identity.idm.common.exception.IdentityException;
import org.jbpm.api.JbpmException;
import org.jbpm.pvm.internal.tx.StandardResource;
Modified: jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java
===================================================================
--- jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java 2009-05-19 10:08:29 UTC (rev 4844)
@@ -23,21 +23,17 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.jboss.identity.idm.api.Attribute;
import org.jboss.identity.idm.api.AttributesManager;
-import org.jboss.identity.idm.api.GroupType;
-import org.jboss.identity.idm.api.Identity;
-import org.jboss.identity.idm.api.IdentitySearchControl;
+import org.jboss.identity.idm.api.IdentitySearchCriteria;
import org.jboss.identity.idm.api.IdentitySession;
import org.jboss.identity.idm.api.RoleType;
-import org.jboss.identity.idm.exception.IdentityException;
-import org.jboss.identity.idm.impl.api.NameFilterSearchControl;
+import org.jboss.identity.idm.common.exception.IdentityException;
import org.jboss.identity.idm.impl.api.SimpleAttribute;
-import org.jboss.identity.idm.impl.api.model.SimpleGroupType;
-import org.jboss.identity.idm.p3p.P3PConstants;
+import org.jboss.identity.idm.impl.api.model.SimpleUser;
+import org.jboss.identity.idm.common.p3p.P3PConstants;
import org.jbpm.api.JbpmException;
import org.jbpm.api.env.Environment;
import org.jbpm.api.identity.Group;
@@ -46,6 +42,7 @@
/**
* @author Tom Baeyens
+ * @author Jeff Yu
*/
public class JBossIdmIdentitySessionImpl implements org.jbpm.pvm.internal.identity.spi.IdentitySession {
@@ -61,37 +58,34 @@
public String createUser(String userName, String givenName, String familyName, String businessEmail) {
try {
- Identity identity = identitySession.getPersistenceManager().createIdentity(userName);
+
+ org.jboss.identity.idm.api.User idUser= identitySession.getPersistenceManager().createUser(userName);
- // TODO add the password
- // identitySession.getAttributesManager().updateCredential(identity, new PasswordCredential(password));
-
- Attribute[] attributes = new Attribute[] {
+ Attribute[] attributes = new Attribute[] {
new SimpleAttribute(P3PConstants.INFO_USER_NAME_GIVEN, givenName),
new SimpleAttribute(P3PConstants.INFO_USER_NAME_FAMILY, familyName),
new SimpleAttribute(P3PConstants.INFO_USER_BUSINESS_INFO_ONLINE_EMAIL, businessEmail)
};
- identitySession.getAttributesManager().addAttributes(identity, attributes);
+ identitySession.getAttributesManager().addAttributes(idUser, attributes);
+ return idUser.getId();
+
} catch (IdentityException e) {
throw new JbpmException("couldn't create user "+userName, e);
}
- throw new RuntimeException("Not yet implemented");
- // TODO: create and return user
}
public List<User> findUsers() {
try {
- Collection<Identity> identities = identitySession
- .getPersistenceManager()
- .findIdentity((IdentitySearchControl[])null);
-
+ Collection<org.jboss.identity.idm.api.User> idUsers =
+ identitySession.getPersistenceManager().findUser((IdentitySearchCriteria)null);
+
List<User> users = new ArrayList<User>();
- for (Identity identity : identities) {
- String name = identity.getName();
- String givenName = getAttributeString(identity, null, P3PConstants.INFO_USER_NAME_GIVEN);
- String familyName = getAttributeString(identity, P3PConstants.INFO_USER_NAME_FAMILY);
+ for (org.jboss.identity.idm.api.User idUser : idUsers) {
+ String name = idUser.getId();
+ String givenName = getAttributeString(idUser, P3PConstants.INFO_USER_NAME_GIVEN);
+ String familyName = getAttributeString(idUser, P3PConstants.INFO_USER_NAME_FAMILY);
UserImpl user = new UserImpl(name, givenName, familyName);
users.add(user);
@@ -105,43 +99,64 @@
}
public User findUserById(String userId) {
- throw new UnsupportedOperationException("please implement me");
+ try {
+ org.jboss.identity.idm.api.User idUser = identitySession.getPersistenceManager().findUser(userId);
+ if (idUser != null) {
+ String name = idUser.getId();
+ String givenName = getAttributeString(idUser, P3PConstants.INFO_USER_NAME_GIVEN);
+ String familyName = getAttributeString(idUser, P3PConstants.INFO_USER_NAME_FAMILY);
+
+ User user = new UserImpl(name, givenName, familyName);
+ return user;
+ }
+ return null;
+ } catch (IdentityException e) {
+ throw new JbpmException("couldn't get user from id of " + userId, e);
+ }
}
public List<User> findUsersById(String... userIds) {
- // TODO Auto-generated method stub
- return null;
+ List<User> users = new ArrayList<User>();
+ for (String userId : userIds){
+ User user = findUserById(userId);
+ if (user != null) {
+ users.add(user);
+ }
+ }
+
+ return users;
}
public List<User> findUsersByGroup(String groupId) {
- // TODO Auto-generated method stub
- return null;
+ try {
+ Collection<org.jboss.identity.idm.api.User> idusers =
+ identitySession.getRelationshipManager().findAssociatedUsers(groupId, false, null);
+ List<User> users = new ArrayList<User>();
+
+ for (org.jboss.identity.idm.api.User iduser : idusers) {
+ users.add(findUserById(iduser.getId()));
+ }
+
+ return users;
+ } catch (IdentityException e) {
+ throw new JbpmException("couldn't find users by groupid: " + groupId, e);
+ }
+
}
public void deleteUser(String userName) {
- try {
- org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
-
- if (identity==null) {
- return;
- }
-
- identitySession
- .getPersistenceManager()
- .removeIdentity(identity, true);
-
+ try {
+ identitySession.getPersistenceManager().removeUser(userName, true);
} catch (IdentityException e) {
- throw new JbpmException("couldn't delete group "+userName, e);
+ throw new JbpmException("couldn't delete user ["+userName + "]", e);
}
}
public String createGroup(String groupName, String groupType, String parentGroupId) {
- String groupId = null;
try {
- GroupType simpleGroupType = new SimpleGroupType(groupType);
- org.jboss.identity.idm.api.Group group = identitySession.getPersistenceManager().createGroup(groupName, simpleGroupType);
- groupId = group.getId();
+ org.jboss.identity.idm.api.Group group = identitySession.getPersistenceManager().createGroup(groupName, groupType);
+ String groupId = group.getId();
if (parentGroupId!=null) {
org.jboss.identity.idm.api.Group parentGroup = findIdmGroupById(parentGroupId);
@@ -150,66 +165,77 @@
}
identitySession.getRelationshipManager().associateGroups(parentGroup, group);
}
-
+ return groupId;
+
} catch (IdentityException e) {
throw new JbpmException("couldn't create group "+groupName, e);
}
- return groupId;
}
public Group findGroupById(String groupId) {
- throw new UnsupportedOperationException("please implement me");
+ try {
+ org.jboss.identity.idm.api.Group idGroup = identitySession.getPersistenceManager().
+ findGroupById(groupId);
+ GroupImpl group = new GroupImpl();
+ group.setId(idGroup.getId());
+ group.setType(idGroup.getGroupType());
+ group.setName(idGroup.getName());
+
+ //TODO add parent group if necessary.
+
+ return group;
+
+ } catch (IdentityException e) {
+ throw new JbpmException("couldn't find group by id [" + groupId + "]", e);
+ }
}
public List<Group> findGroupsByGroupType(String groupType) {
try {
- GroupType simpleGroupType = new SimpleGroupType(groupType);
- Collection<org.jboss.identity.idm.api.Group> idGroups = identitySession
- .getPersistenceManager()
- .findGroup(simpleGroupType);
+ Collection<org.jboss.identity.idm.api.Group> idGroups = identitySession.getPersistenceManager().
+ findGroup(groupType);
List<Group> groups = new ArrayList<Group>();
for (org.jboss.identity.idm.api.Group idGroup: idGroups) {
- String groupName = idGroup.getName();
-
- GroupImpl group = new GroupImpl(groupName);
- groups.add(group);
+ groups.add(findGroupById(idGroup.getId()));
}
return groups;
} catch (IdentityException e) {
- throw new JbpmException("couldn't get users from identity component", e);
+ throw new JbpmException("couldn't get groups from identity component, groupType [" + groupType + "]", e);
}
}
public List<Group> findGroupsByUser(String userId) {
- throw new UnsupportedOperationException("please implement me");
+
+ try {
+ Collection<org.jboss.identity.idm.api.Group> idGroups = identitySession.getRelationshipManager().
+ findAssociatedGroups(userId, null);
+
+ List<Group> groups = new ArrayList<Group>();
+ for (org.jboss.identity.idm.api.Group idGroup : idGroups) {
+ groups.add(findGroupById(idGroup.getId()));
+ }
+ return groups;
+ } catch (IdentityException e) {
+ throw new JbpmException("Couldn't get Groups by userId [" + userId + "]", e);
+
+ }
}
public List<Group> findGroupsByUserAndGroupType(String userName, String groupType) {
try {
- org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
- if (identity==null) {
- return Collections.emptyList();
- }
-
+ org.jboss.identity.idm.api.User idUser = new SimpleUser(userName);
+ Collection<org.jboss.identity.idm.api.Group> idGroups = identitySession.getRelationshipManager()
+ .findAssociatedGroups(idUser, groupType);
List<Group> groups = new ArrayList<Group>();
-
- GroupType identityGroupType = new SimpleGroupType(groupType);
- Collection<org.jboss.identity.idm.api.Group> identityGroups = identitySession
- .getRoleManager()
- .findGroupsWithRelatedRole(identity, identityGroupType, null);
- for (org.jboss.identity.idm.api.Group identityGroup: identityGroups) {
- String groupName = identityGroup.getName();
- GroupImpl group = new GroupImpl(groupName);
- groups.add(group);
+ for (org.jboss.identity.idm.api.Group idGroup : idGroups) {
+ groups.add(findGroupById(idGroup.getId()));
}
-
return groups;
-
} catch (Exception e) {
throw new JbpmException("couldn't get groups for user "+userName+" and groupType "+groupType, e);
}
@@ -223,9 +249,7 @@
return;
}
- identitySession
- .getPersistenceManager()
- .removeGroup(group, true);
+ identitySession.getPersistenceManager().removeGroup(group, true);
} catch (IdentityException e) {
throw new JbpmException("couldn't delete group "+groupId, e);
@@ -239,8 +263,8 @@
throw new JbpmException("group "+groupId+" doesn't exist");
}
- org.jboss.identity.idm.api.Identity identity = findIdentity(userId);
- if (identity==null) {
+ org.jboss.identity.idm.api.User idUser = identitySession.getPersistenceManager().findUser(userId);
+ if (idUser==null) {
throw new JbpmException("user "+userId+" doesn't exist");
}
@@ -251,10 +275,10 @@
roleType = identitySession.getRoleManager().createRoleType(role);
}
- identitySession.getRoleManager().createRole(roleType, identity, group);
+ identitySession.getRoleManager().createRole(roleType, idUser, group);
} else {
- identitySession.getRelationshipManager().associateIdentities(group, identity);
+ identitySession.getRelationshipManager().associateUser(group, idUser);
}
} catch (Exception e) {
@@ -263,40 +287,36 @@
}
public void deleteMembership(String userId, String groupId, String role) {
- throw new UnsupportedOperationException("please implement me");
+ try {
+ RoleType rtype = identitySession.getRoleManager().getRoleType(role);
+ identitySession.getRoleManager().removeRole(rtype.getName(), userId, groupId);
+ } catch (Exception e) {
+ throw new JbpmException("couldn't delete the membership [" + userId + "," + groupId + "," + role + "]", e);
+ }
+
}
-
- protected org.jboss.identity.idm.api.Identity findIdentity(String userName) throws IdentityException {
- Collection<org.jboss.identity.idm.api.Identity> identities = identitySession
- .getPersistenceManager()
- .findIdentity(new IdentitySearchControl[]{
- new NameFilterSearchControl(userName)
- } );
-
- if ( (identities==null) || (identities.size()==0) ) {
- return null;
- }
-
- return identities.iterator().next();
- }
protected org.jboss.identity.idm.api.Group findIdmGroupById(String groupId) {
- throw new UnsupportedOperationException("please implement me");
+ try {
+ return identitySession.getPersistenceManager().findGroupById(groupId);
+ } catch (IdentityException e) {
+ throw new JbpmException("couldn't find the group by groupId: " + groupId, e);
+ }
}
- protected String getAttributeString(Identity identity, String attributeName) throws IdentityException {
- return getAttributeString(identity, null, attributeName);
+ protected String getAttributeString(org.jboss.identity.idm.api.User idUser, String attributeName) throws IdentityException {
+ return getAttributeString(idUser, null, attributeName);
}
protected String getAttributeString(org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
return getAttributeString(null, idGroup, attributeName);
}
- protected String getAttributeString(Identity identity, org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
+ protected String getAttributeString(org.jboss.identity.idm.api.User idUser, org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
AttributesManager attributesManager = identitySession.getAttributesManager();
Attribute attribute = null;
- if (identity!=null) {
- attribute = attributesManager.getAttribute(identity, attributeName);
+ if (idUser !=null) {
+ attribute = attributesManager.getAttribute(idUser, attributeName);
} else {
attribute = attributesManager.getAttribute(idGroup, attributeName);
}
@@ -316,5 +336,4 @@
}
-
}
Modified: jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JbpmIdentityStore.java
===================================================================
--- jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JbpmIdentityStore.java 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JbpmIdentityStore.java 2009-05-19 10:08:29 UTC (rev 4844)
@@ -22,7 +22,7 @@
package org.jbpm.pvm.internal.identity.impl;
import org.hibernate.ejb.HibernateEntityManager;
-import org.jboss.identity.idm.exception.IdentityException;
+import org.jboss.identity.idm.common.exception.IdentityException;
import org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl;
import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
import org.jbpm.api.env.Environment;
Modified: jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java
===================================================================
--- jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java 2009-05-19 10:08:29 UTC (rev 4844)
@@ -22,6 +22,8 @@
package org.jbpm.pvm.internal.wire.descriptor;
import org.jboss.identity.idm.api.IdentitySessionFactory;
+import org.jboss.identity.idm.common.exception.IdentityException;
+import org.jbpm.api.JbpmException;
import org.jbpm.api.env.Environment;
import org.jbpm.pvm.internal.identity.impl.JBossIdmIdentitySessionImpl;
import org.jbpm.pvm.internal.wire.WireContext;
@@ -39,7 +41,11 @@
public Object construct(WireContext wireContext) {
IdentitySessionFactory identitySessionFactory = Environment.getFromCurrent(IdentitySessionFactory.class);
- return new JBossIdmIdentitySessionImpl(identitySessionFactory.createIdentitySession(realmName));
+ try {
+ return new JBossIdmIdentitySessionImpl(identitySessionFactory.createIdentitySession(realmName));
+ } catch (IdentityException e) {
+ throw new JbpmException("couldn't create the identity session for realm [" + realmName + "]");
+ }
}
public Class< ? > getType(WireDefinition wireDefinition) {
Modified: jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionFactoryDescriptor.java
===================================================================
--- jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionFactoryDescriptor.java 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionFactoryDescriptor.java 2009-05-19 10:08:29 UTC (rev 4844)
@@ -24,7 +24,7 @@
import javax.naming.InitialContext;
import org.jboss.identity.idm.api.IdentitySessionFactory;
-import org.jboss.identity.idm.impl.api.IdentitySessionFactoryImpl;
+import org.jboss.identity.idm.impl.configuration.IdentityConfigurationImpl;
import org.jbpm.api.JbpmException;
import org.jbpm.pvm.internal.wire.WireContext;
import org.jbpm.pvm.internal.wire.WireDefinition;
@@ -32,6 +32,7 @@
/**
* @author Tom Baeyens
+ * @author Jeff Yu
*/
public class JbossIdmIdentitySessionFactoryDescriptor extends AbstractDescriptor {
@@ -52,7 +53,7 @@
}
try {
- return new IdentitySessionFactoryImpl(resource);
+ return new IdentityConfigurationImpl().configure(resource).buildIdentitySessionFactory();
} catch (Exception e) {
throw new JbpmException("couldn't instanatiate identity session factory: "+e.getMessage(), e);
}
Modified: jbpm4/branches/idm/pom.xml
===================================================================
--- jbpm4/branches/idm/pom.xml 2009-05-19 09:58:15 UTC (rev 4843)
+++ jbpm4/branches/idm/pom.xml 2009-05-19 10:08:29 UTC (rev 4844)
@@ -53,7 +53,7 @@
<slf4j.version>1.5.2</slf4j.version>
<hsqldb.version>1.8.0.7</hsqldb.version>
<izpack.version>4.2.1</izpack.version>
- <jboss.identity.version>1.0.0.Alpha2</jboss.identity.version>
+ <jboss.identity.version>1.0.0.Alpha5</jboss.identity.version>
<jboss.j2ee.version>4.2.2.GA</jboss.j2ee.version>
<jbossesb.version>4.4.0.GA</jbossesb.version>
<jboss.client.version>5.0.1.GA</jboss.client.version>
@@ -218,11 +218,16 @@
<version>${slf4j.version}</version>
</dependency>
<dependency>
- <groupId>org.jboss.identity</groupId>
- <artifactId>idm</artifactId>
+ <groupId>org.jboss.identity.idm</groupId>
+ <artifactId>idm-core</artifactId>
<version>${jboss.identity.version}</version>
</dependency>
<dependency>
+ <groupId>org.jboss.identity.idm</groupId>
+ <artifactId>idm-hibernate</artifactId>
+ <version>${jboss.identity.version}</version>
+ </dependency>
+ <dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>${hsqldb.version}</version>
More information about the jbpm-commits
mailing list