Author: kstam
Date: Wed Mar 30 15:58:04 2011
New Revision: 1086999
URL: http://svn.apache.org/viewvc?rev=1086999&view=rev
Log:
JUDDI-466, the Authenticator should check with the jUDDI database and set the
jUDDI Publisher properties like 'isAdmin'
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
Modified:
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java?rev=1086999&r1=1086998&r2=1086999&view=diff
==============================================================================
---
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
(original)
+++
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
Wed Mar 30 15:58:04 2011
@@ -21,6 +21,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Hashtable;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
@@ -32,7 +34,9 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.juddi.ClassUtil;
import org.apache.juddi.config.AppConfig;
+import org.apache.juddi.config.PersistenceManager;
import org.apache.juddi.config.Property;
+import org.apache.juddi.model.Publisher;
import org.apache.juddi.model.UddiEntityPublisher;
import org.apache.juddi.v3.error.AuthenticationException;
import org.apache.juddi.v3.error.ErrorMessage;
@@ -124,7 +128,23 @@ public class XMLDocAuthenticator impleme
}
public UddiEntityPublisher identify(String authInfo, String
authorizedName) throws AuthenticationException {
- return new UddiEntityPublisher(authorizedName);
+
+ EntityManager em = PersistenceManager.getEntityManager();
+ EntityTransaction tx = em.getTransaction();
+ try {
+ tx.begin();
+ Publisher publisher = em.find(Publisher.class,
authorizedName);
+ if (publisher == null)
+ throw new UnknownUserException(new
ErrorMessage("errors.auth.NoPublisher", authorizedName));
+
+ return publisher;
+ } finally {
+ if (tx.isActive()) {
+ tx.rollback();
+ }
+ em.close();
+ }
+
}
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]