Repository: juddi
Updated Branches:
  refs/heads/master a56a64ffc -> c606f786f


JUDDI-933 all authenticated users are now populated into the database


Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/c606f786
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/c606f786
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/c606f786

Branch: refs/heads/master
Commit: c606f786f73979560410f10c0ae69a70d169f4e2
Parents: a56a64f
Author: Alex <[email protected]>
Authored: Sat Jul 25 17:03:50 2015 -0400
Committer: Alex <[email protected]>
Committed: Sat Jul 25 17:03:50 2015 -0400

----------------------------------------------------------------------
 .../v3/auth/CryptedXMLDocAuthenticator.java     | 46 ++++++++++++++++++++
 .../v3/auth/HTTPContainerAuthenticator.java     |  2 +-
 .../juddi/v3/auth/HTTPHeaderAuthenticator.java  |  2 +-
 .../v3/auth/LdapExpandedAuthenticator.java      |  2 +-
 .../juddi/v3/auth/LdapSimpleAuthenticator.java  |  2 +-
 .../juddi/v3/auth/MD5XMLDocAuthenticator.java   | 46 ++++++++++++++++++++
 .../juddi/v3/auth/XMLDocAuthenticator.java      | 44 ++++++++++++++++++-
 7 files changed, 139 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
index eab3420..b581773 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
@@ -25,15 +25,20 @@ import java.security.NoSuchAlgorithmException;
 import javax.crypto.BadPaddingException;
 import javax.crypto.IllegalBlockSizeException;
 import javax.crypto.NoSuchPaddingException;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
 import javax.xml.bind.JAXBException;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.config.AppConfig;
+import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
 import org.apache.juddi.v3.client.cryptor.Cryptor;
 import org.apache.juddi.cryptor.CryptorFactory;
+import org.apache.juddi.model.Publisher;
+import static org.apache.juddi.v3.auth.XMLDocAuthenticator.log;
 import org.apache.juddi.v3.error.AuthenticationException;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
@@ -150,6 +155,47 @@ public class CryptedXMLDocAuthenticator extends 
XMLDocAuthenticator {
                        throw new UnknownUserException(new ErrorMessage(
                                        "errors.auth.InvalidUserId", userID));
                }
+               int MaxBindingsPerService = -1;
+                int MaxServicesPerBusiness = -1;
+                int MaxTmodels = -1;
+                int MaxBusinesses = -1;
+                try {
+                        MaxBindingsPerService = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, 
-1);
+                        MaxServicesPerBusiness = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, 
-1);
+                        MaxTmodels = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, 
-1);
+                        MaxBusinesses = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER,
 -1);
+                } catch (Exception ex) {
+                        MaxBindingsPerService = -1;
+                        MaxServicesPerBusiness = -1;
+                        MaxTmodels = -1;
+                        MaxBusinesses = -1;
+                        log.error("config exception! " + userID, ex);
+                }
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        tx.begin();
+                        Publisher publisher = em.find(Publisher.class, userID);
+                        if (publisher == null) {
+                                log.warn("Publisher \"" + userID + "\" was not 
found in the database, adding the publisher in on the fly.");
+                                publisher = new Publisher();
+                                publisher.setAuthorizedName(userID);
+                                publisher.setIsAdmin("false");
+                                publisher.setIsEnabled("true");
+                                
publisher.setMaxBindingsPerService(MaxBindingsPerService);
+                                publisher.setMaxBusinesses(MaxBusinesses);
+                                
publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness);
+                                publisher.setMaxTmodels(MaxTmodels);
+                                publisher.setPublisherName("Unknown");
+                                em.persist(publisher);
+                                tx.commit();
+                        }
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
                return userID;
        }
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
index e003aa3..71b9454 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
@@ -89,7 +89,7 @@ public class HTTPContainerAuthenticator implements 
Authenticator {
                         tx.begin();
                         Publisher publisher = em.find(Publisher.class, user);
                         if (publisher == null) {
-                                log.warn("Publisher \"" + user + "\" was not 
found, adding the publisher in on the fly.");
+                                log.warn("Publisher \"" + user + "\" was not 
found in the database, adding the publisher in on the fly.");
                                 publisher = new Publisher();
                                 publisher.setAuthorizedName(user);
                                 publisher.setIsAdmin("false");

http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
index 99e79d9..7eeb221 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
@@ -94,7 +94,7 @@ public class HTTPHeaderAuthenticator implements Authenticator 
{
                         tx.begin();
                         Publisher publisher = em.find(Publisher.class, user);
                         if (publisher == null) {
-                                log.warn("Publisher \"" + user + "\" was not 
found, adding the publisher in on the fly.");
+                                log.warn("Publisher \"" + user + "\" was not 
found in the database, adding the publisher in on the fly.");
                                 publisher = new Publisher();
                                 publisher.setAuthorizedName(user);
                                 publisher.setIsAdmin("false");

http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
index eb9018d..a2c2caa 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
@@ -169,7 +169,7 @@ public class LdapExpandedAuthenticator implements 
Authenticator {
                 tx.begin();
                 Publisher publisher = em.find(Publisher.class, authorizedName);
                 if (publisher == null) {
-                    logger.warn("Publisher was not found, adding the publisher 
in on the fly.");
+                    logger.warn("Publisher was not found in the database, 
adding the publisher in on the fly.");
                     publisher = new Publisher();
                     publisher.setAuthorizedName(authorizedName);
                     publisher.setIsAdmin("false");

http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
index f8793bf..532441c 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
@@ -170,7 +170,7 @@ public class LdapSimpleAuthenticator implements 
Authenticator {
                 tx.begin();
                 Publisher publisher = em.find(Publisher.class, authorizedName);
                 if (publisher == null) {
-                    logger.warn("Publisher was not found, adding the publisher 
in on the fly.");
+                    logger.warn("Publisher was not found in the database, 
adding the publisher in on the fly.");
                     publisher = new Publisher();
                     publisher.setAuthorizedName(authorizedName);
                     publisher.setIsAdmin("false");

http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java
index 5e40a8c..0e65ae4 100644
--- 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java
+++ 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/MD5XMLDocAuthenticator.java
@@ -18,13 +18,17 @@
 package org.apache.juddi.v3.auth;
 
 import java.io.IOException;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
 import javax.xml.bind.JAXBException;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 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.v3.error.AuthenticationException;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
@@ -61,6 +65,7 @@ public class MD5XMLDocAuthenticator extends 
XMLDocAuthenticator {
        /**
         *
         */
+       @Override
        public String authenticate(String userID, String credential)
        throws AuthenticationException, FatalErrorException {
                preProcess(userID, credential);
@@ -116,6 +121,47 @@ public class MD5XMLDocAuthenticator extends 
XMLDocAuthenticator {
                        throw new UnknownUserException(new ErrorMessage(
                                        "errors.auth.InvalidUserId", userID));
                }
+               int MaxBindingsPerService = -1;
+                int MaxServicesPerBusiness = -1;
+                int MaxTmodels = -1;
+                int MaxBusinesses = -1;
+                try {
+                        MaxBindingsPerService = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, 
-1);
+                        MaxServicesPerBusiness = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, 
-1);
+                        MaxTmodels = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, 
-1);
+                        MaxBusinesses = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER,
 -1);
+                } catch (Exception ex) {
+                        MaxBindingsPerService = -1;
+                        MaxServicesPerBusiness = -1;
+                        MaxTmodels = -1;
+                        MaxBusinesses = -1;
+                        log.error("config exception! " + userID, ex);
+                }
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        tx.begin();
+                        Publisher publisher = em.find(Publisher.class, userID);
+                        if (publisher == null) {
+                                log.warn("Publisher \"" + userID + "\" was not 
found in the database, adding the publisher in on the fly.");
+                                publisher = new Publisher();
+                                publisher.setAuthorizedName(userID);
+                                publisher.setIsAdmin("false");
+                                publisher.setIsEnabled("true");
+                                
publisher.setMaxBindingsPerService(MaxBindingsPerService);
+                                publisher.setMaxBusinesses(MaxBusinesses);
+                                
publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness);
+                                publisher.setMaxTmodels(MaxTmodels);
+                                publisher.setPublisherName("Unknown");
+                                em.persist(publisher);
+                                tx.commit();
+                        }
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
                return userID;
        }
         

http://git-wip-us.apache.org/repos/asf/juddi/blob/c606f786/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java 
b/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
index 8b3ad5c..1e9787d 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
@@ -69,7 +69,7 @@ import org.apache.juddi.v3.error.UnknownUserException;
  */
 public class XMLDocAuthenticator implements Authenticator
 {
-       private static Log log = LogFactory.getLog(AuthenticatorFactory.class);
+       protected static Log log = 
LogFactory.getLog(AuthenticatorFactory.class);
        /** Container for the user credentials */
        Map<String,User> userTable;
        
@@ -152,9 +152,51 @@ public class XMLDocAuthenticator implements Authenticator
                else
                        throw new UnknownUserException(new 
ErrorMessage("errors.auth.InvalidUserId", userID));
 
+               int MaxBindingsPerService = -1;
+                int MaxServicesPerBusiness = -1;
+                int MaxTmodels = -1;
+                int MaxBusinesses = -1;
+                try {
+                        MaxBindingsPerService = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, 
-1);
+                        MaxServicesPerBusiness = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, 
-1);
+                        MaxTmodels = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, 
-1);
+                        MaxBusinesses = 
AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER,
 -1);
+                } catch (Exception ex) {
+                        MaxBindingsPerService = -1;
+                        MaxServicesPerBusiness = -1;
+                        MaxTmodels = -1;
+                        MaxBusinesses = -1;
+                        log.error("config exception! " + userID, ex);
+                }
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        tx.begin();
+                        Publisher publisher = em.find(Publisher.class, userID);
+                        if (publisher == null) {
+                                log.warn("Publisher \"" + userID + "\" was not 
found in the database, adding the publisher in on the fly.");
+                                publisher = new Publisher();
+                                publisher.setAuthorizedName(userID);
+                                publisher.setIsAdmin("false");
+                                publisher.setIsEnabled("true");
+                                
publisher.setMaxBindingsPerService(MaxBindingsPerService);
+                                publisher.setMaxBusinesses(MaxBusinesses);
+                                
publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness);
+                                publisher.setMaxTmodels(MaxTmodels);
+                                publisher.setPublisherName("Unknown");
+                                em.persist(publisher);
+                                tx.commit();
+                        }
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
                return userID;
        }
        
+       @Override
        public UddiEntityPublisher identify(String authInfo, String 
authorizedName, WebServiceContext ctx) throws AuthenticationException {
 
                EntityManager em = PersistenceManager.getEntityManager();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to