You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2015/07/25 23:03:59 UTC

juddi git commit: JUDDI-933 all authenticated users are now populated into the database

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 <al...@apache.org>
Authored: Sat Jul 25 17:03:50 2015 -0400
Committer: Alex <al...@apache.org>
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: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org