Author: kstam
Date: Mon Mar  4 19:43:26 2013
New Revision: 1452466

URL: http://svn.apache.org/r1452466
Log:
JUDDI-560

There's a number of issues uncovered using the latest findbugs.
A number of singular & for if-then-else logic when it clearly should have been 
&&
A large number of null pointer dereferences.
String comparisions using == "" 

applying patch by Alex O'Ree

Modified:
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDLLocatorImpl.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBindingByTModelKeyQuery.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByTModelKeyQuery.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCategoryQuery.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCombinedCategoryQuery.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindServiceByTModelKeyQuery.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/AuthenticatorFactory.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
 Mon Mar  4 19:43:26 2013
@@ -143,6 +143,7 @@ public class UDDIClerk implements Serial
                        subscriptions.add(subscription);
                        holder.value = subscriptions;
                        
getUDDINode().getTransport().getUDDISubscriptionService(node.getSubscriptionUrl()).saveSubscription(authToken,
 holder);
+                       if (log.isDebugEnabled()) log.debug("Registering 
subscription " +  subscription.getSubscriptionKey() + " completed.");
                } catch (Exception e) {
                        log.error("Unable to register subscription " +  
subscription.getSubscriptionKey()
                                        + " ." + e.getMessage(),e);
@@ -150,7 +151,6 @@ public class UDDIClerk implements Serial
                        log.error("Unable to register subscriptionl " +  
subscription.getSubscriptionKey()
                                        + " ." + t.getMessage(),t);
                }
-               log.debug("Registering subscription " +  
subscription.getSubscriptionKey() + " completed.");
                subscription = holder.value.get(0);
                return subscription;
        }
@@ -175,6 +175,7 @@ public class UDDIClerk implements Serial
                        saveTModel.setAuthInfo(authToken);
                        saveTModel.getTModel().add(tModel);
                        tModelDetail = 
getUDDINode().getTransport().getUDDIPublishService(node.getPublishUrl()).saveTModel(saveTModel);
+                       if (log.isDebugEnabled()) log.debug("Registering tModel 
" +  tModel.getTModelKey() + " completed.");
                } catch (Exception e) {
                        log.error("Unable to register tModel " +  
tModel.getTModelKey()
                                        + " ." + e.getMessage(),e);
@@ -182,7 +183,6 @@ public class UDDIClerk implements Serial
                        log.error("Unable to register tModel " +  
tModel.getTModelKey()
                                        + " ." + t.getMessage(),t);
                }
-               log.debug("Registering tModel " +  tModel.getTModelKey() + " 
completed.");
                return tModelDetail;
        }
        
@@ -208,6 +208,7 @@ public class UDDIClerk implements Serial
                        saveBinding.getBindingTemplate().add(binding);
                        BindingDetail bindingDetail = 
getUDDINode().getTransport().getUDDIPublishService(node.getPublishUrl()).saveBinding(saveBinding);
                        bindingTemplate = 
bindingDetail.getBindingTemplate().get(0);
+                       if (log.isDebugEnabled()) log.debug("Registering 
template binding " + binding.getBindingKey() + " completed.");
                } catch (Exception e) {
                        log.error("Unable to register template binding " + 
bindingTemplate.getBindingKey()
                                        + " ." + e.getMessage(),e);
@@ -215,7 +216,6 @@ public class UDDIClerk implements Serial
                        log.error("Unable to register template binding " + 
bindingTemplate.getBindingKey()
                                        + " ." + t.getMessage(),t);
                }
-               log.debug("Registering template binding " + 
binding.getBindingKey() + " completed.");
                return bindingTemplate;
        }
        /**
@@ -241,6 +241,7 @@ public class UDDIClerk implements Serial
                        saveService.getBusinessService().add(service);
                        ServiceDetail serviceDetail = 
getUDDINode().getTransport().getUDDIPublishService(node.getPublishUrl()).saveService(saveService);
                        businessService = 
serviceDetail.getBusinessService().get(0);
+                       if (log.isDebugEnabled()) log.debug("Registering 
service " + service.getName().get(0).getValue() + " completed.");
                } catch (Exception e) {
                        log.error("Unable to register service " + 
service.getName().get(0).getValue()
                                        + " ." + e.getMessage(),e);
@@ -248,7 +249,6 @@ public class UDDIClerk implements Serial
                        log.error("Unable to register service " + 
service.getName().get(0).getValue()
                                        + " ." + t.getMessage(),t);
                }
-               log.debug("Registering service " + 
service.getName().get(0).getValue() + " completed.");
                return businessService;
        }
        public BusinessEntity register(BusinessEntity business) {
@@ -256,7 +256,7 @@ public class UDDIClerk implements Serial
        }
        /**
         * Register a service.
-        * 
+        * returns null if not successful 
         */
        public BusinessEntity register(BusinessEntity business, Node node) {
                
@@ -270,6 +270,7 @@ public class UDDIClerk implements Serial
                        saveBusiness.getBusinessEntity().add(business);
                        BusinessDetail businessDetail = 
getUDDINode().getTransport().getUDDIPublishService(node.getPublishUrl()).saveBusiness(saveBusiness);
                        businessEntity = 
businessDetail.getBusinessEntity().get(0);
+                       if (log.isDebugEnabled()) log.debug("Registering 
businessEntity " + businessEntity.getName().get(0).getValue() + " completed.");
                } catch (Exception e) {
                        log.error("Unable to register business " + 
business.getName().get(0).getValue()
                                        + " ." + e.getMessage(),e);
@@ -277,7 +278,6 @@ public class UDDIClerk implements Serial
                        log.error("Unable to register business " + 
business.getName().get(0).getValue()
                                        + " ." + t.getMessage(),t);
                }
-               log.debug("Registering businessEntity " + 
businessEntity.getName().get(0).getValue() + " completed.");
                return businessEntity;
        }
        

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
 Mon Mar  4 19:43:26 2013
@@ -480,8 +480,8 @@ public class WSDL2UDDI {
        
        FindTModel findTModel = new FindTModel();
        CategoryBag categoryBag = new CategoryBag();
-       
-       if (namespace!=null && namespace!="") {
+    
+       if (namespace!=null && namespace.length()!=0) {
                KeyedReference namespaceReference = newKeyedReference(
                        "uddi:uddi.org:xml:namespace", namespace);
                categoryBag.getKeyedReference().add(namespaceReference);
@@ -516,7 +516,7 @@ public class WSDL2UDDI {
        findTModel.setName(name);
        
        CategoryBag categoryBag = new CategoryBag();
-       if (namespace!=null && namespace!="") {
+       if (namespace!=null && namespace.length()!=0) {
                KeyedReference namespaceReference = newKeyedReference(
                        "uddi:uddi.org:xml:namespace", namespace);
                categoryBag.getKeyedReference().add(namespaceReference);

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDLLocatorImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDLLocatorImpl.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDLLocatorImpl.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDLLocatorImpl.java
 Mon Mar  4 19:43:26 2013
@@ -84,7 +84,10 @@ public class WSDLLocatorImpl implements 
                } catch (Exception e) {
                        log.error(e.getMessage(),e);
                }
-               log.debug("importUrl: " + importUrl.toExternalForm());
+               if (importUrl != null)
+                       log.debug("importUrl: " + importUrl.toExternalForm());
+               else
+                       log.error("importUrl is null!");
                return importUrl;
        }
 

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBindingByTModelKeyQuery.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBindingByTModelKeyQuery.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBindingByTModelKeyQuery.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBindingByTModelKeyQuery.java
 Mon Mar  4 19:43:26 2013
@@ -122,7 +122,7 @@ public class FindBindingByTModelKeyQuery
         */
        public static void appendJoinTables(DynamicQuery qry, FindQualifiers 
fq, List<String> tmodelKeys) {
                
-               if (tmodelKeys != null & tmodelKeys.size() > 0) {
+               if (tmodelKeys != null && tmodelKeys.size() > 0) {
 
                        StringBuffer thetaJoins = new StringBuffer(200);
                        int tblCount = 0;

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByTModelKeyQuery.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByTModelKeyQuery.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByTModelKeyQuery.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindBusinessByTModelKeyQuery.java
 Mon Mar  4 19:43:26 2013
@@ -121,7 +121,7 @@ public class FindBusinessByTModelKeyQuer
        public static void appendJoinTables(DynamicQuery qry, FindQualifiers 
fq, List<String> tmodelKeys) {
                
 
-               if (tmodelKeys != null & tmodelKeys.size() > 0) {
+               if (tmodelKeys != null && tmodelKeys.size() > 0) {
                        
qry.comma().pad().append(BusinessServiceQuery.ENTITY_NAME + " " + 
BusinessServiceQuery.ENTITY_ALIAS).pad();
                        
qry.comma().pad().append(BindingTemplateQuery.ENTITY_NAME + " " + 
BindingTemplateQuery.ENTITY_ALIAS).pad();
                        

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCategoryQuery.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCategoryQuery.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCategoryQuery.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCategoryQuery.java
 Mon Mar  4 19:43:26 2013
@@ -243,7 +243,7 @@ public class FindEntityByCategoryQuery e
         */
        public void appendJoinTables(DynamicQuery qry, FindQualifiers fq, 
List<KeyedReference> keyedRefs) {
                
-               if (keyedRefs != null & keyedRefs.size() > 0) {
+               if (keyedRefs != null && keyedRefs.size() > 0) {
                        // Sorting the collection by tModel Key
                        Collections.sort(keyedRefs, new 
KeyedRefTModelComparator());
 

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCombinedCategoryQuery.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCombinedCategoryQuery.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCombinedCategoryQuery.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByCombinedCategoryQuery.java
 Mon Mar  4 19:43:26 2013
@@ -332,7 +332,7 @@ public class FindEntityByCombinedCategor
         */
        public void appendJoinTables(DynamicQuery qry, FindQualifiers fq, 
List<KeyedReference> keyedRefs) {
                
-               if (keyedRefs != null & keyedRefs.size() > 0) {
+               if (keyedRefs != null && keyedRefs.size() > 0) {
                        // Sorting the collection by tModel Key
                        Collections.sort(keyedRefs, new 
KeyedRefTModelComparator());
 

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindEntityByIdentifierQuery.java
 Mon Mar  4 19:43:26 2013
@@ -228,7 +228,7 @@ public class FindEntityByIdentifierQuery
         */
        public void appendJoinTables(DynamicQuery qry, FindQualifiers fq, 
List<KeyedReference> keyedRefs) {
                
-               if (keyedRefs != null & keyedRefs.size() > 0) {
+               if (keyedRefs != null && keyedRefs.size() > 0) {
                        // Sorting the collection by tModel Key
                        Collections.sort(keyedRefs, new 
KeyedRefTModelComparator());
 

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindServiceByTModelKeyQuery.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindServiceByTModelKeyQuery.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindServiceByTModelKeyQuery.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/FindServiceByTModelKeyQuery.java
 Mon Mar  4 19:43:26 2013
@@ -126,7 +126,7 @@ public class FindServiceByTModelKeyQuery
        public static void appendJoinTables(DynamicQuery qry, FindQualifiers 
fq, List<String> tmodelKeys) {
                
 
-               if (tmodelKeys != null & tmodelKeys.size() > 0) {
+               if (tmodelKeys != null && tmodelKeys.size() > 0) {
                        
qry.comma().pad().append(BindingTemplateQuery.ENTITY_NAME + " " + 
BindingTemplateQuery.ENTITY_ALIAS).pad();
                        
                        StringBuffer thetaJoins = new StringBuffer(200);

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/AuthenticatorFactory.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/AuthenticatorFactory.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/AuthenticatorFactory.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/AuthenticatorFactory.java
 Mon Mar  4 19:43:26 2013
@@ -82,8 +82,12 @@ public class AuthenticatorFactory {
                }
        
                try {
-                       // try to instantiate the Authenticator implementation
-                       auth = (Authenticator)authClass.newInstance();
+                       if (authClass!=null) {
+                               // try to instantiate the Authenticator 
implementation
+                               auth = (Authenticator)authClass.newInstance();
+                       } else {
+                               log.error("Could not load " + className + " 
authClass is null");
+                       }
                }
                catch(Exception e) {
                        log.error("Exception while attempting to instantiate 
the implementation of Authenticator: " + authClass.getName() + "\n" + 
e.getMessage());

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
 Mon Mar  4 19:43:26 2013
@@ -112,7 +112,7 @@ public class CryptedXMLDocAuthenticator 
                // a userID must be specified.
                if (userID == null) {
                        throw new UnknownUserException(new ErrorMessage(
-                                       "errors.auth.InvalidUserId", userID));
+                                       "errors.auth.InvalidUserId"));
                }
                // credential (password) must be specified.
                if (credential == null) {

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
 Mon Mar  4 19:43:26 2013
@@ -80,6 +80,7 @@ public class LdapSimpleAuthenticator imp
                authURL = 
AppConfig.getConfiguration().getString(Property.JUDDI_AUTHENTICATOR_URL, 
DEFAULT_URL);
        } catch (ConfigurationException ce) {
                logger.error("Configuration exception occurred retrieving: " + 
Property.JUDDI_AUTHENTICATOR_URL);
+               throw new NamingException(Property.JUDDI_AUTHENTICATOR_URL + " 
missing from config or config is not available.");
        }
        init(authURL);
     }

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=1452466&r1=1452465&r2=1452466&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
 Mon Mar  4 19:43:26 2013
@@ -109,7 +109,7 @@ public class XMLDocAuthenticator impleme
        {
                // a userID must be specified.
                if (userID == null)
-                       throw new UnknownUserException(new 
ErrorMessage("errors.auth.InvalidUserId", userID));
+                       throw new UnknownUserException(new 
ErrorMessage("errors.auth.InvalidUserId"));
 
                // credential (password) must be specified.
                if (credential == null)

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java?rev=1452466&r1=1452465&r2=1452466&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
 Mon Mar  4 19:43:26 2013
@@ -288,6 +288,7 @@ public class ValidatePublish extends Val
                        }
                } catch (ConfigurationException e) {
                        log.error(e.getMessage(), e);
+                       maxBusinesses =-1; //in case the configuration is not 
available
                }
                //if we have the maxBusinesses set for this publisher then we 
need to make sure we did not exceed it.
                if (maxBusinesses > 0) {
@@ -338,6 +339,7 @@ public class ValidatePublish extends Val
                        }
                } catch (ConfigurationException e) {
                        log.error(e.getMessage(), e);
+                       maxServices = -1; //incase the configuration isn't 
available
                }
                //if we have the maxServices set for a business then we need to 
make sure we did not exceed it.
                if (maxServices > 0) {
@@ -386,6 +388,7 @@ public class ValidatePublish extends Val
                        }
                } catch (ConfigurationException e) {
                        log.error(e.getMessage(), e);
+                       maxBindings = -1; //incase the config isn't available
                }
                //if we have the maxBindings set for a service then we need to 
make sure we did not exceed it.
                if (maxBindings > 0) {
@@ -434,6 +437,7 @@ public class ValidatePublish extends Val
                        }
                } catch (ConfigurationException e) {
                        log.error(e.getMessage(), e);
+                       maxTModels = -1; //incase the config isn't available
                }
                //if we have the TModels set for a publisher then we need to 
make sure we did not exceed it.
                if (maxTModels > 0) {



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

Reply via email to