[jbpm-commits] JBoss JBPM SVN: r4561 - in jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire: descriptor and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Apr 16 06:49:27 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-04-16 06:49:19 -0400 (Thu, 16 Apr 2009)
New Revision: 4561
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionFactoryBinding.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionFactoryDescriptor.java
Log:
added jndi lookup support for jboss idm session factory lookup in jboss
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionFactoryBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionFactoryBinding.java 2009-04-16 08:22:20 UTC (rev 4560)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionFactoryBinding.java 2009-04-16 10:49:19 UTC (rev 4561)
@@ -39,7 +39,10 @@
public Object parse(Element element, Parse parse, Parser parser) {
IdentitySessionFactoryDescriptor descriptor = new IdentitySessionFactoryDescriptor();
- if (element.hasAttribute("resource")) {
+ if (element.hasAttribute("jndi")) {
+ descriptor.setJndiName(element.getAttribute("jndi"));
+
+ } else if (element.hasAttribute("resource")) {
descriptor.setResource(element.getAttribute("resource"));
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionFactoryDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionFactoryDescriptor.java 2009-04-16 08:22:20 UTC (rev 4560)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionFactoryDescriptor.java 2009-04-16 10:49:19 UTC (rev 4561)
@@ -21,7 +21,12 @@
*/
package org.jbpm.pvm.internal.wire.descriptor;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.identity.idm.api.IdentitySessionFactory;
import org.jboss.identity.idm.impl.api.IdentitySessionFactoryImpl;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityConfigurationMetaData;
import org.jbpm.JbpmException;
import org.jbpm.pvm.internal.wire.WireContext;
import org.jbpm.pvm.internal.wire.WireDefinition;
@@ -35,8 +40,19 @@
private static final long serialVersionUID = 1L;
protected String resource = "jbpm.identity.cfg.xml";
+ protected String jndiName = null;
public Object construct(WireContext wireContext) {
+ if (jndiName!=null) {
+ try {
+ InitialContext initialContext = new InitialContext();
+ IdentitySessionFactory identitySessionFactory = (IdentitySessionFactory) initialContext.lookup(jndiName);
+ return identitySessionFactory;
+ } catch (Exception e) {
+ throw new JbpmException("couldn't get idm session factory from jndi address "+jndiName, e);
+ }
+ }
+
try {
return new IdentitySessionFactoryImpl(resource);
} catch (Exception e) {
@@ -44,11 +60,14 @@
}
}
+ public Class< ? > getType(WireDefinition wireDefinition) {
+ return IdentitySessionFactory.class;
+ }
+
public void setResource(String resource) {
this.resource = resource;
}
-
- public Class< ? > getType(WireDefinition wireDefinition) {
- return IdentitySessionFactoryImpl.class;
+ public void setJndiName(String jndiName) {
+ this.jndiName = jndiName;
}
}
More information about the jbpm-commits
mailing list