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]

Reply via email to